chaimi-keep-mcp 3.5.0-beta.2 → 3.5.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/server.js CHANGED
@@ -1,2598 +1,2 @@
1
1
  #!/usr/bin/env node
2
- /**
3
- * 柴米AI记账 MCP Server (Node.js 版本)
4
- * 适配微信云函数 mcpHub
5
- * 支持 Claude Desktop、Cursor、WorkBuddy、OpenClaw
6
- */
7
-
8
- // 设置 stdout 编码为 UTF-8,确保中文字符正确输出
9
- process.stdout.setEncoding('utf8');
10
-
11
- // 加载 .env 文件
12
- try {
13
- require('dotenv').config();
14
- } catch (e) {
15
- // dotenv 未安装,忽略
16
- }
17
-
18
- const { Server } = require('@modelcontextprotocol/sdk/server/index.js');
19
- const { StdioServerTransport } = require('@modelcontextprotocol/sdk/server/stdio.js');
20
- const {
21
- CallToolRequestSchema,
22
- ListToolsRequestSchema,
23
- } = require('@modelcontextprotocol/sdk/types.js');
24
- const path = require('path');
25
- const os = require('os');
26
- const fs = require('fs');
27
- const crypto = require('crypto');
28
-
29
- // 读取版本文件获取版本号
30
- function getVersion() {
31
- try {
32
- const verFilePath = path.join(__dirname, 'VERSION');
33
- return fs.readFileSync(verFilePath, 'utf8').trim();
34
- } catch (e) {
35
- // 如果版本文件不存在,从 package.json 兜底
36
- const pkgJson = JSON.parse(fs.readFileSync(path.join(__dirname, 'package.json'), 'utf8'));
37
- return pkgJson.version;
38
- }
39
- }
40
- const MCP_VERSION = getVersion();
41
-
42
- // 导入 OAuth 模块
43
- const { OAuthManager, FileTokenStorage } = require('./oauth.js');
44
-
45
- // 导入配置管理工具
46
- const { configManager } = require('./utils/config.js');
47
-
48
- // 导入校验工具
49
- const { validateDate } = require('./utils/validators.js');
50
-
51
- // 导入密钥管理工具
52
- const { getOrCreateSecretKey } = require('./utils/keyManager.js');
53
-
54
- // 导入加密工具
55
- const { encrypt, decrypt } = require('./utils/encryption.js');
56
-
57
- // ==================== 请求频率限制 ====================
58
-
59
- // 限流配置
60
- const RATE_LIMITS = {
61
- // 记账工具:30 秒 3 次
62
- write: {
63
- tools: ['save_expense', 'save_receipt', 'save_income'],
64
- maxRequests: 3,
65
- windowMs: 30 * 1000, // 30 秒
66
- },
67
- // 查询工具:30 秒 2 次
68
- read: {
69
- tools: ['get_expenses', 'get_receipt_list', 'get_statistics', 'get_insights', 'export_data'],
70
- maxRequests: 2,
71
- windowMs: 30 * 1000, // 30 秒
72
- },
73
- // 配置工具:30 秒 3 次
74
- config: {
75
- tools: ['get_skill', 'get_parse_prompt', 'get_text_parse_prompt'],
76
- maxRequests: 3,
77
- windowMs: 30 * 1000, // 30 秒
78
- },
79
- // 反馈提交:30 秒 1 次
80
- feedback: {
81
- tools: ['submit_feedback'],
82
- maxRequests: 1,
83
- windowMs: 30 * 1000, // 30 秒
84
- },
85
- };
86
-
87
- // 限流记录:{ toolName: [timestamp1, timestamp2, ...] }
88
- const rateLimitRecords = {};
89
-
90
- // 检查是否超过频率限制
91
- function checkRateLimit(toolName) {
92
- // 查找工具所属的限流组
93
- let limitConfig = null;
94
- let limitType = null;
95
-
96
- for (const [type, config] of Object.entries(RATE_LIMITS)) {
97
- if (config.tools.includes(toolName)) {
98
- limitConfig = config;
99
- limitType = type;
100
- break;
101
- }
102
- }
103
-
104
- // 如果工具不在限流列表中,直接通过
105
- if (!limitConfig) {
106
- return { allowed: true };
107
- }
108
-
109
- const now = Date.now();
110
- const windowStart = now - limitConfig.windowMs;
111
-
112
- // 初始化记录
113
- if (!rateLimitRecords[toolName]) {
114
- rateLimitRecords[toolName] = [];
115
- }
116
-
117
- // 清理过期记录
118
- rateLimitRecords[toolName] = rateLimitRecords[toolName].filter(
119
- timestamp => timestamp > windowStart
120
- );
121
-
122
- // 检查是否超过限制
123
- if (rateLimitRecords[toolName].length >= limitConfig.maxRequests) {
124
- const oldestRequest = rateLimitRecords[toolName][0];
125
- const resetTime = oldestRequest + limitConfig.windowMs;
126
- const waitSeconds = Math.ceil((resetTime - now) / 1000);
127
-
128
- return {
129
- allowed: false,
130
- limitType,
131
- maxRequests: limitConfig.maxRequests,
132
- windowMs: limitConfig.windowMs,
133
- resetTime,
134
- waitSeconds,
135
- };
136
- }
137
-
138
- // 记录本次请求
139
- rateLimitRecords[toolName].push(now);
140
-
141
- return { allowed: true };
142
- }
143
-
144
- // 获取 API 密钥(从环境变量或自动生成)
145
- let CHAIMI_API_SECRET = process.env.CHAIMI_API_SECRET;
146
-
147
- // ==================== 多环境配置 ====================
148
-
149
- // 环境配置
150
- const ENV = process.env.NODE_ENV || 'production';
151
-
152
- // 加密的云函数 URL(开发和生产环境分开)
153
- const ENCRYPTED_URLS = {
154
- development: {
155
- hub: 'enc:v2:d397243fce051c611175302dea8a7a54:8f0bc1dc6966e9149e8d3ecae2467830:cf61c7a159154d15aa1502deec2519931090ff791be67e89fd4e3b20322b2bea8071be02d768ec10abdc50b2d3e76df6dc44a6d46d61c2743acdef428205cc0e3534c93d94857cc91985db5fd69745053df05a87',
156
- oauth: 'enc:v2:bff470f73af1723d6e320d39df72b342:eefb409dff5a4713931caa3886f9159c:18d0a711f31a5ba7e068e43d8bcce6b8fc56513d44ff3d90ab006063461b44025387e52cb2ce5ffe471a8a8f4b993879dcaa485dd1e845c647be134595467c4a00efc736d15abfcaa8d8cf460365fbf597e0',
157
- prompt: 'enc:v2:a058c504374087a36417280f0bc4288d:ed5fc65a697c1254e8aeb9faa7119ec8:b8831fd319c35bc01554546827ce31bd04d2039fb87f0b6a19b35850ec228b6988b2103b1cc45a7bd21b117b299c5095a44e1ee4a4c2adb04e24a401e1271aff912503e2abb9cec03764b774df53e60b0686d3'
158
- },
159
- production: {
160
- hub: 'enc:v2:500682dfbd51aff69852abe39430da35:3d57b5ac7f798c6770209159b6dfd9fb:7b9733f27208809b761090f7628f3799aac12c957cdd45b3d512eb4f1f1c18f626afd0b73b12982500122b11e373e0a2a71f14cb6c5966cf98af9ae4b9e79fb575d1e2f42ec403690d5c7dcc519e9eaec21865eb',
161
- oauth: 'enc:v2:30adcae20bc1452e8e8c7eff088e8b61:b8bedcc9985d1e10185f8ae5c845cc9c:1b2206380eddcfc4d00ed920f20f838bfc664e2350591666db5a5c2b044a88165e0e7f04c58e2d4f0764bb9872aeaf625a91f7a19ce6909264115e7ce70b35c0c081eb4170cac869d3f8b576b7b4dc41580e',
162
- prompt: 'enc:v2:beba836814161d59df3a2220ebc500ef:6023bde15c74be6bec641044a3f854de:4421b9f985a1914c06868c8577e57e26e3fd4fe4392c2c94862322fd30258eccae68fce6fd56e9a35427a724d3c22b735e9b5a822d05be098ae5e0662ea41c786e4acea12e4d80b598b543d346d7ccbdc32623'
163
- }
164
- };
165
-
166
- // 解密 URL 函数(支持 AES-256-GCM)
167
- function decryptUrl(encrypted, key) {
168
- if (!encrypted) return '';
169
-
170
- if (encrypted.startsWith('enc:v2:')) {
171
- return decrypt(encrypted.replace('enc:v2:', ''), key);
172
- }
173
-
174
- if (encrypted.startsWith('enc:v1:')) {
175
- const urlEncryptKey = key || 'chaimi-url-key-2024';
176
- const hex = encrypted.replace('enc:v1:', '');
177
- let result = '';
178
- for (let i = 0; i < hex.length; i += 2) {
179
- const byte = parseInt(hex.substr(i, 2), 16);
180
- result += String.fromCharCode(byte ^ urlEncryptKey.charCodeAt((i / 2) % urlEncryptKey.length));
181
- }
182
- return result;
183
- }
184
-
185
- return encrypted;
186
- }
187
-
188
- // ==================== URL 配置 ====================
189
-
190
- let MCP_HUB_URL;
191
- let MCP_PROMPT_URL;
192
- let MCP_OAUTH_URL;
193
- let tokenEncryptionKey;
194
-
195
- // 初始化配置
196
- async function initConfig() {
197
- // 获取 URL 加密密钥
198
- const urlEncryptKey = process.env.URL_ENCRYPT_KEY || 'd2e4168144a50c6d8d0c4692cd73331eb2bc1db0cd727afaf29ff9645d480e59';
199
-
200
- // 获取 Token 加密密钥
201
- tokenEncryptionKey = getOrCreateSecretKey();
202
-
203
- // 获取 API 密钥
204
- if (!CHAIMI_API_SECRET) {
205
- CHAIMI_API_SECRET = process.env.CHAIMI_API_SECRET || '040f513aa8f0688b4fa151865ee7515dac707f9649f48ec13c953a5e7dca0cad';
206
- }
207
-
208
- // 配置 URL
209
- const envUrls = ENCRYPTED_URLS[ENV] || ENCRYPTED_URLS.production;
210
- MCP_HUB_URL = process.env.MCP_HUB_URL || decryptUrl(envUrls.hub, urlEncryptKey);
211
- MCP_PROMPT_URL = process.env.MCP_PROMPT_URL || decryptUrl(envUrls.prompt, urlEncryptKey);
212
- MCP_OAUTH_URL = process.env.MCP_OAUTH_URL || decryptUrl(envUrls.oauth, urlEncryptKey);
213
-
214
- console.error(`✅ 已加载 ${ENV} 环境配置`);
215
- }
216
-
217
- // Token 缓存(加密存储)
218
- let cachedEncryptedToken = null;
219
- let tokenExpireTime = 0;
220
-
221
- // 获取解密的 Token
222
- function getCachedToken() {
223
- if (!cachedEncryptedToken || !tokenEncryptionKey) return null;
224
- try {
225
- return decrypt(cachedEncryptedToken, tokenEncryptionKey);
226
- } catch (e) {
227
- return null;
228
- }
229
- }
230
-
231
- // 设置加密的 Token
232
- function setCachedToken(token) {
233
- if (!token || !tokenEncryptionKey) {
234
- cachedEncryptedToken = null;
235
- return;
236
- }
237
- cachedEncryptedToken = encrypt(token, tokenEncryptionKey);
238
- }
239
-
240
- // OAuth 管理器实例
241
- let oauthManager = null;
242
-
243
- // 初始化 OAuth 管理器
244
- async function initOAuthManager() {
245
- // 使用新的配置路径 ~/.chaimi-keep/
246
- const tokenPath = configManager.getPath('oauth-token.json');
247
- const tokenStorage = new FileTokenStorage(tokenPath);
248
-
249
- oauthManager = new OAuthManager({
250
- mcpOAuthUrl: MCP_OAUTH_URL,
251
- tokenStorage: tokenStorage,
252
- // ⚠️ 重要:此回调在用户首次使用时显示验证码,切勿删除或清空!
253
- // 如果删除,用户将无法看到授权验证码,导致无法使用 MCP Server
254
- // 参见 FUNCTION_REGISTRY.md 中的 "验证码显示" 功能
255
- // 注意:使用 console.error,避免污染 stdout(MCP 协议通信使用 stdout)
256
- onQrCode: (qrData) => {
257
- // 输出授权信息到控制台(用户可见)
258
- console.error('\n' + '='.repeat(60));
259
- console.error(' 柴米AI记账 MCP Server - 首次使用需要授权');
260
- console.error('='.repeat(60));
261
- console.error('');
262
- console.error(` 验证码:${qrData.userCode}`);
263
- console.error('');
264
- console.error(' 请在"柴米AI记账"小程序中完成授权:');
265
- console.error('');
266
- console.error(' 1. 打开"柴米AI记账"小程序');
267
- console.error(' 2. 点击"我的" → "Agent 授权"');
268
- console.error(` 3. 输入验证码:${qrData.userCode}`);
269
- console.error('');
270
- console.error('='.repeat(60) + '\n');
271
- },
272
- // ⚠️ 重要:此回调在授权成功后通知用户,切勿删除!
273
- onTokenReady: (token) => {
274
- console.error('✅ 授权成功!Token 已保存。');
275
- }
276
- });
277
-
278
- // 预加载已保存的 Token,避免每次重启都要求重新授权
279
- try {
280
- const existingToken = await oauthManager.tokenStorage.load();
281
- if (existingToken && existingToken.accessToken && existingToken.expiresAt) {
282
- // 检查 Token 是否过期(预留5分钟缓冲)
283
- const expiresAt = new Date(existingToken.expiresAt).getTime();
284
- if (expiresAt > Date.now() + 5 * 60 * 1000) {
285
- // Token 有效,设置授权状态(加密存储)
286
- setCachedToken(existingToken.accessToken);
287
- tokenExpireTime = expiresAt;
288
- authState.isAuthorized = true;
289
- console.error('✅ 已从文件加载有效 Token,无需重新授权');
290
- } else {
291
- console.error('⏰ 保存的 Token 已过期,需要重新授权');
292
- }
293
- }
294
- } catch (err) {
295
- // 加载失败不影响后续流程,只是需要重新授权
296
- console.error('⚠️ 加载保存的 Token 失败:', err.message);
297
- }
298
-
299
- return oauthManager;
300
- }
301
-
302
- // 创建 MCP Server
303
- const server = new Server(
304
- {
305
- name: 'chaimi-keep-mcp',
306
- version: MCP_VERSION,
307
- },
308
- {
309
- capabilities: {
310
- tools: {},
311
- },
312
- }
313
- );
314
-
315
- // 工具列表
316
- server.setRequestHandler(ListToolsRequestSchema, async () => {
317
- return {
318
- tools: [
319
- {
320
- name: 'get_skill',
321
- description: '【记账前必须调用】获取柴米AI记账最新 Skill 定义。每次记账前必须先调用此工具,获取当前版本的完整 Skill 文档,然后严格按照 Skill 定义执行。如果不调用此工具直接记账,操作将被拒绝',
322
- inputSchema: {
323
- type: 'object',
324
- properties: {
325
- timestamp: { type: 'string', description: '当前时间戳,用于验证 freshness' },
326
- },
327
- },
328
- },
329
- {
330
- name: 'save_expense',
331
- description: '【文本记账-支出】用户提及支出/消费时用此工具。前置:必须先调用get_skill获取规范,再调用get_text_parse_prompt获取凭证和解析模板。用法:mcporter call 柴米AI记账.save_expense _flowmate="SOLINWANG..." name="午餐" amount=35 category="餐饮" rawInput="午餐35元"。注意:上传图片请用save_receipt',
332
- inputSchema: {
333
- type: 'object',
334
- properties: {
335
- name: { type: 'string', description: '商品名称(必填)' },
336
- amount: { type: 'number', description: '金额(必填)' },
337
- category: { type: 'string', description: '【必填】支出分类(43个标准分类之一,如:餐饮、食品、交通、蔬菜)' },
338
- unit: { type: 'string', description: '单位(可选)' },
339
- marketPrice: { type: 'string', description: '市场单价(可选)' },
340
- store: { type: 'string', description: '商家名称(可选)' },
341
- date: { type: 'number', description: '【必填】消费时间(毫秒级时间戳,13位数字。必须根据实际年月日时分秒计算,不允许复制示例数字)' },
342
- note: { type: 'string', description: '备注(可选)' },
343
- agentType: { type: 'string', description: '【必填】Agent类型,如:claude-desktop、cursor、openclaw、workbuddy、trae' },
344
- apiProvider: { type: 'string', description: '【必填】AI服务提供商,如:anthropic、openai、doubao、aliyun' },
345
- rawInput: { type: 'string', description: '【必填】用户的原始输入内容,用于记录用户原始请求' },
346
- _flowmate: { type: 'string', description: '【必填】流程凭证,从get_text_parse_prompt获取的myflowmate值' },
347
- },
348
- required: ['name', 'amount', 'category', 'agentType', 'apiProvider', 'rawInput', '_flowmate'],
349
- },
350
- },
351
- {
352
- name: 'save_receipt',
353
- description: '【图片记账-小票】用户上传小票/发票/收据图片时用此工具。前置:必须先调用get_skill获取规范,再调用get_parse_prompt获取凭证和解析模板。用法:mcporter call 柴米AI记账.save_receipt _flowmate="SOLINWANG..." store="超市" totalAmount=156.5 items="[...]"。注意:文字描述请用save_expense/save_income',
354
- inputSchema: {
355
- type: 'object',
356
- properties: {
357
- store: { type: 'string', description: '商家名称(必填)' },
358
- date: { type: 'number', description: '消费时间(毫秒级时间戳,13位数字。如提供 date_components 可不传此字段)' },
359
- date_components: {
360
- type: 'object',
361
- description: '【推荐】消费时间组件。包含:year、month、day、hour、minute、second。服务端会自动转换为时间戳'
362
- },
363
- totalAmount: { type: 'number', description: '(必填)总金额(所有商品amount之和)' },
364
- originalAmount: { type: 'number', description: '(必填)应付金额(优惠前)' },
365
- discountAmount: { type: 'number', description: '(必填)优惠金额' },
366
- actualAmount: { type: 'number', description: '(必填)实付金额(优惠后)' },
367
- storeCategory: { type: 'string', description: '【必填】店铺一级分类(购物/美食/生活服务/其他)' },
368
- storeSubCategory: { type: 'string', description: '【必填】店铺二级分类(超市/便利店/中餐厅/药店等)' },
369
- paymentMethod: { type: 'string', description: '支付方式,如:微信支付、支付宝' },
370
- receiptNo: { type: 'string', description: '小票编号' },
371
- items: {
372
- type: ['array', 'string'],
373
- description: '【必填】商品列表,支持数组或JSON字符串格式(某些Agent如Claude Code可能传递JSON字符串)。每个商品必须包含:name、amount、price、quantity。⚠️ 注意:amount=price×quantity。示例数组:[{"name":"苹果","amount":5.5,"price":5.5,"quantity":1}]',
374
- items: {
375
- type: 'object',
376
- properties: {
377
- name: { type: 'string', description: '【必填】商品名称' },
378
- originalName: { type: 'string', description: '原始商品名称(含规格)' },
379
- price: { type: 'number', description: '【必填】单价' },
380
- quantity: { type: 'number', description: '【必填】数量' },
381
- unit: { type: 'string', description: '【必填】计价单位(如:元/500g、元/个、元/盒、元/袋)' },
382
- amount: { type: 'number', description: '【必填】金额,必须等于 price × quantity' },
383
- weight: { type: 'string', description: '重量' },
384
- marketPrice: { type: 'string', description: '【必填】单价数值,根据unit计算,如unit=元/500g,则marketPrice=金额÷重量(g)×500' },
385
- // 【改造】商品分类字段
386
- productCategory: { type: 'string', description: '【必填】商品一级分类(如:蔬菜、肉类、水果、日化用品)' },
387
- productSubCategory: { type: 'string', description: '商品二级分类(如:叶菜类、根茎类、家居清洁)' },
388
- // 【改造】记账分类字段
389
- category: { type: 'string', description: '【必填】记账分类(43个标准分类之一,如:蔬菜、购物、餐饮)' },
390
- },
391
- required: ['name', 'amount', 'price', 'quantity', 'unit', 'marketPrice', 'productCategory', 'category'],
392
- },
393
- },
394
- agentType: { type: 'string', description: '【必填】Agent类型:claude-desktop、cursor、openclaw、workbuddy、trae' },
395
- apiProvider: { type: 'string', description: '【必填】AI服务提供商:anthropic、openai、doubao、aliyun' },
396
- rawInput: { type: 'string', description: '【必填】用户的原始输入内容' },
397
- _flowmate: { type: 'string', description: '【必填】流程凭证,从get_parse_prompt获取的myflowmate值' },
398
- },
399
- required: ['store', 'items', 'storeCategory', 'storeSubCategory', 'agentType', 'apiProvider', 'rawInput', '_flowmate'],
400
- },
401
- },
402
- {
403
- name: 'get_expenses',
404
- description: '查询消费记录(支持周/月周期)。支持按周/月或日期范围筛选,可查看分类、商家、来源等多维度数据。新功能:新增 period 参数,以及消费模式分析(高频商家、消费时间等)。返回格式:本工具只返回原始数据,不返回格式化消息。Agent必须使用get_skill获取SKILL.md中的"七、回复规范",再读取references/response-templates.md中的模板自行渲染回复。',
405
- inputSchema: {
406
- type: 'object',
407
- properties: {
408
- period: { type: 'string', description: '统计周期(推荐使用):this_week(本周)、last_week(上周)、this_month(本月)、last_month(上月),与startDate/endDate二选一', enum: ['this_week', 'last_week', 'this_month', 'last_month'] },
409
- limit: { type: 'number', description: '返回数量限制,默认10条,最大100', default: 10 },
410
- skip: { type: 'number', description: '跳过条数,用于分页', default: 0 },
411
- startDate: { type: 'string', description: '开始日期(ISO格式,如:2026-04-01)' },
412
- endDate: { type: 'string', description: '结束日期(ISO格式,如:2026-04-30)' },
413
- category: { type: 'string', description: '按分类筛选(如:餐饮、食品、交通)' },
414
- store: { type: 'string', description: '按商家名称筛选' },
415
- source: { type: 'string', description: '按来源筛选(如:mcp_txt_expense、mcp_receipt)' },
416
- keyword: { type: 'string', description: '按商品名称关键词搜索' },
417
- orderBy: { type: 'string', description: '排序方式:date_desc(默认)、date_asc、amount_desc、amount_asc', enum: ['date_desc', 'date_asc', 'amount_desc', 'amount_asc'], default: 'date_desc' },
418
- includeFlags: { type: 'boolean', description: '是否包含消费标记,默认true', default: true },
419
- },
420
- },
421
- },
422
- {
423
- name: 'get_receipt_list',
424
- description: '获取小票列表。支持按日期范围、商家、金额等多维度筛选。返回格式:本工具只返回原始数据,不返回格式化消息。Agent必须使用get_skill获取SKILL.md中的"七、回复规范",再读取references/response-templates.md中的模板自行渲染回复。',
425
- inputSchema: {
426
- type: 'object',
427
- properties: {
428
- limit: { type: 'number', description: '返回数量限制,默认5条,最大50', default: 5 },
429
- skip: { type: 'number', description: '跳过条数,用于分页', default: 0 },
430
- startDate: { type: 'string', description: '开始日期(ISO格式,如:2026-04-01)' },
431
- endDate: { type: 'string', description: '结束日期(ISO格式,如:2026-04-30)' },
432
- store: { type: 'string', description: '按商家名称筛选' },
433
- minAmount: { type: 'number', description: '最小金额筛选' },
434
- maxAmount: { type: 'number', description: '最大金额筛选' },
435
- orderBy: { type: 'string', description: '排序方式:date_desc(默认)、date_asc、amount_desc、amount_asc', enum: ['date_desc', 'date_asc', 'amount_desc', 'amount_asc'], default: 'date_desc' },
436
- },
437
- },
438
- },
439
- {
440
- name: 'get_statistics',
441
- description: '获取消费统计(支持周/月周期)。支持按周/月或日期范围统计,可查看分类占比、消费趋势等。新功能:新增 period 参数(this_week、last_week、this_month、last_month),以及 insights 洞察数据。返回格式:本工具只返回原始数据,不返回格式化消息。Agent必须使用get_skill获取SKILL.md中的"七、回复规范",再读取references/response-templates.md中的模板自行渲染回复。',
442
- inputSchema: {
443
- type: 'object',
444
- properties: {
445
- period: { type: 'string', description: '统计周期(推荐使用):this_week(本周)、last_week(上周)、this_month(本月)、last_month(上月),与yearMonth或startDate/endDate二选一', enum: ['this_week', 'last_week', 'this_month', 'last_month'] },
446
- yearMonth: { type: 'string', description: '年月(如:2026-03),与period或startDate/endDate二选一' },
447
- startDate: { type: 'string', description: '开始日期(ISO格式),与period或yearMonth二选一' },
448
- endDate: { type: 'string', description: '结束日期(ISO格式),与period或yearMonth二选一' },
449
- includeInsights: { type: 'boolean', description: '是否包含洞察数据,默认true', default: true },
450
- type: { type: 'string', description: '统计维度:item(商品明细)、receipt(小票汇总)、category(分类统计)、daily(每日趋势)、store(商家统计)', enum: ['item', 'receipt', 'category', 'daily', 'store'], default: 'category' },
451
- category: { type: 'string', description: '按特定分类筛选统计' },
452
- store: { type: 'string', description: '按特定商家筛选统计' },
453
- groupBy: { type: 'string', description: '分组方式:category(分类)、date(日期)、store(商家)', enum: ['category', 'date', 'store'] },
454
- },
455
- },
456
- },
457
- {
458
- name: 'get_insights',
459
- description: '【新功能】获取消费洞察线索(包含趋势、模式、健康、优化建议)。纯云端计算,零AI成本!返回洞察线索,供 Agent 结合用户大模型进行深度分析。返回格式:本工具只返回原始数据,不返回格式化消息。Agent必须使用get_skill获取SKILL.md中的"七、回复规范",再读取references/response-templates.md中的模板自行渲染回复。',
460
- inputSchema: {
461
- type: 'object',
462
- properties: {
463
- period: { type: 'string', description: '统计周期:this_week(本周)、last_week(上周)、this_month(本月)、last_month(上月)', enum: ['this_week', 'last_week', 'this_month', 'last_month'], default: 'this_week' },
464
- types: { type: ['string', 'array'], description: '洞察类型:trend(趋势)、pattern(模式)、health(健康)、optimization(优化),默认为全部', default: ['trend', 'pattern', 'health', 'optimization'] },
465
- },
466
- },
467
- },
468
- {
469
- name: 'export_data',
470
- description: '【新功能】导出完整的消费数据,供 Agent 深度分析(零AI成本!)。支持导出完整的消费记录和小票数据,然后在用户侧使用大模型进行深度分析。返回格式:本工具只返回原始数据,不返回格式化消息。Agent必须使用get_skill获取SKILL.md中的"七、回复规范",再读取references/response-templates.md中的模板自行渲染回复。',
471
- inputSchema: {
472
- type: 'object',
473
- properties: {
474
- period: { type: 'string', description: '周期:all(全部)、this_year(今年)、last_year(去年)、custom(自定义)', enum: ['all', 'this_year', 'last_year', 'custom'], default: 'this_year' },
475
- format: { type: 'string', description: '导出格式:json 或 csv', enum: ['json', 'csv'], default: 'json' },
476
- includeReceipts: { type: 'boolean', description: '是否包含小票记录,默认true', default: true },
477
- startDate: { type: 'string', description: '开始日期(period=custom时必填)' },
478
- endDate: { type: 'string', description: '结束日期(period=custom时必填)' },
479
- },
480
- },
481
- },
482
- {
483
- name: 'save_income',
484
- description: '【文本记账-收入】用户提及收入关键词(工资、红包、转账、退款等)时用此工具。前置:必须先调用get_skill获取规范,再调用get_text_parse_prompt获取凭证和解析模板。用法:mcporter call 柴米AI记账.save_income _flowmate="SOLINWANG..." name="红包" amount=100 category="红包" rawInput="收红包100元"',
485
- inputSchema: {
486
- type: 'object',
487
- properties: {
488
- name: { type: 'string', description: '收入来源(如:工资、奖金、红包)(必填)' },
489
- amount: { type: 'number', description: '收入金额(必填)' },
490
- category: { type: 'string', description: '【必填】收入分类(8个标准分类之一:工资、兼职、奖金、红包、退款、理财、转账、其他)' },
491
- store: { type: 'string', description: '付款方(如:公司名称)(可选)' },
492
- date: { type: 'number', description: '【必填】收入时间(毫秒级时间戳,13位数字。必须根据实际年月日时分秒计算,不允许复制示例数字)' },
493
- note: { type: 'string', description: '备注(可选)' },
494
- agentType: { type: 'string', description: '【必填】Agent类型,如:claude-desktop、cursor、openclaw、workbuddy、trae' },
495
- apiProvider: { type: 'string', description: '【必填】AI服务提供商,如:anthropic、openai、doubao、aliyun' },
496
- rawInput: { type: 'string', description: '【必填】用户的原始输入内容,用于记录用户原始请求' },
497
- _flowmate: { type: 'string', description: '【必填】流程凭证,从get_text_parse_prompt获取的myflowmate值' },
498
- },
499
- required: ['name', 'amount', 'category', 'agentType', 'apiProvider', 'rawInput', '_flowmate'],
500
- },
501
- },
502
- {
503
- name: 'get_text_parse_prompt',
504
- description: '【不调用100%失败】获取文字记账解析的Prompt模板和流程凭证。⚠️ 文字/语音记账必须先调用此工具获取凭证,AI解析时必须返回_flowmate字段,否则save_expense/save_income会报MISSING_TOKEN错误!',
505
- inputSchema: {
506
- type: 'object',
507
- properties: {
508
- agentType: { type: 'string', description: '【推荐自动填充】Agent类型,如:claude-desktop、cursor、openclaw、workbuddy、trae' },
509
- apiProvider: { type: 'string', description: '【推荐自动填充】AI服务提供商,如:anthropic、openai、doubao、aliyun' },
510
- },
511
- },
512
- },
513
- {
514
- name: 'get_parse_prompt',
515
- description: '【不调用100%失败】获取小票图片解析的Prompt模板和流程凭证。⚠️ 小票记账必须先调用此工具获取凭证,AI解析时必须返回_flowmate字段,否则save_receipt会报MISSING_TOKEN错误!',
516
- inputSchema: {
517
- type: 'object',
518
- properties: {
519
- type: { type: 'string', description: 'Prompt类型,如:parseReceipt', default: 'parseReceipt' },
520
- },
521
- },
522
- },
523
- {
524
- name: 'submit_feedback',
525
- description: '提交反馈、建议或问题报告。当用户遇到记账问题、有功能建议或发现异常时,可使用此工具提交反馈。反馈类型包括:bug(问题报告)、feature(功能建议)、improvement(优化建议)、other(其他)。提交成功后会返回反馈编号,可用于查询处理进度。注意:反馈内容不要超过150个字符,超过部分会被截断。返回格式:本工具只返回原始数据,不返回格式化消息。Agent必须使用get_skill获取SKILL.md中的"七、回复规范",再读取references/response-templates.md中的模板自行渲染回复。',
526
- inputSchema: {
527
- type: 'object',
528
- properties: {
529
- content: { type: 'string', description: '反馈内容,详细描述问题或建议(必填,最多150个字符)' },
530
- type: { type: 'string', description: '反馈类型:bug(问题报告)、feature(功能建议)、improvement(优化建议)、other(其他),默认other', enum: ['bug', 'feature', 'improvement', 'other'], default: 'other' },
531
- contact: { type: 'string', description: '联系方式(可选),如邮箱、微信等,方便后续沟通' },
532
- context: { type: 'string', description: '上下文信息(可选),如相关记账记录ID、错误截图描述等' },
533
- agentType: { type: 'string', description: '【推荐自动填充】Agent类型,如:claude-desktop、cursor、openclaw、workbuddy、trae' },
534
- apiProvider: { type: 'string', description: '【推荐自动填充】AI服务提供商,如:anthropic、openai、doubao、aliyun' },
535
- },
536
- required: ['content'],
537
- },
538
- },
539
- ],
540
- };
541
- });
542
-
543
- // 工具名称映射:MCP Tool -> mcpHub Tool
544
- const toolMapping = {
545
- 'save_expense': 'addExpense',
546
- 'save_receipt': 'addReceipt',
547
- 'save_income': 'addIncome',
548
- 'get_expenses': 'getExpenses',
549
- 'get_receipt_list': 'getExpenses',
550
- 'get_statistics': 'getStatistics',
551
- 'submit_feedback': 'addFeedback',
552
- 'get_insights': 'getInsights',
553
- 'export_data': 'exportData',
554
- };
555
-
556
- // 获取或刷新 Token(OAuth 2.0 Device Flow)
557
- const TOKEN_REFRESH_INTERVAL = 2 * 60 * 60 * 1000;
558
- let lastRefreshTime = 0;
559
-
560
- async function getToken() {
561
- // 【优化1】优先检查内存中的 token 是否有效
562
- const cachedToken = getCachedToken();
563
- if (cachedToken && tokenExpireTime > Date.now() + 5 * 60 * 1000) {
564
- if (Date.now() - lastRefreshTime < TOKEN_REFRESH_INTERVAL) {
565
- return cachedToken;
566
- }
567
- }
568
-
569
- // 【优化2】尝试从文件加载 token(优先级高于授权状态检查)
570
- try {
571
- const existingToken = await oauthManager.tokenStorage.load();
572
- if (existingToken && existingToken.accessToken && existingToken.expiresAt) {
573
- const expiresAt = new Date(existingToken.expiresAt).getTime();
574
- if (expiresAt > Date.now() + 5 * 60 * 1000) {
575
- // Token 有效,直接使用(加密存储)
576
- setCachedToken(existingToken.accessToken);
577
- tokenExpireTime = expiresAt;
578
- authState.isAuthorized = true;
579
- lastRefreshTime = Date.now();
580
- console.error('✅ 已从文件加载有效 Token,无需重新授权');
581
- return getCachedToken();
582
- } else {
583
- console.error('⏰ 保存的 Token 已过期,需要重新授权');
584
- }
585
- }
586
- } catch (err) {
587
- console.error('⚠️ 加载保存的 Token 失败:', err.message);
588
- }
589
-
590
- // 【优化3】Token 不存在或已过期,检查是否需要授权
591
- if (!authState.isAuthorized) {
592
- // 先检查是否有保存的授权状态(从文件加载)
593
- const savedAuthState = await oauthManager.loadAuthState();
594
- if (savedAuthState && savedAuthState.deviceCode) {
595
- // 检查验证码是否已过期
596
- if (oauthManager.isAuthStateExpired(savedAuthState)) {
597
- console.error('⏰ 保存的验证码已过期,清除并生成新的验证码');
598
- await oauthManager.clearAuthState();
599
- // 继续执行,生成新的验证码
600
- } else {
601
- // 验证码未过期,尝试直接获取token(用户可能已授权)
602
- try {
603
- const token = await oauthManager.pollForTokenOnce(savedAuthState.deviceCode);
604
- if (token) {
605
- // 授权成功(加密存储)
606
- setCachedToken(token.accessToken);
607
- tokenExpireTime = token.expiresAt;
608
- authState.isAuthorized = true;
609
- await oauthManager.tokenStorage.save(token);
610
- // 【新增】保存默认 Agent 名称和 deviceCode
611
- await oauthManager.tokenStorage.saveAgentName('柴米AI助手');
612
- await oauthManager.tokenStorage.saveDeviceCode(savedAuthState.deviceCode);
613
- await oauthManager.clearAuthState();
614
- console.error('✅ 授权成功!可以继续使用记账功能');
615
- // 返回特殊标记,让上层知道这是刚完成授权的情况
616
- throw new Error(`AUTH_JUST_COMPLETED:${getCachedToken()}`);
617
- }
618
- // 用户还未授权,返回同一个验证码
619
- authState.deviceCode = savedAuthState.deviceCode;
620
- authState.userCode = savedAuthState.userCode;
621
- throw new Error(`NEED_AUTH:${savedAuthState.userCode}`);
622
- } catch (err) {
623
- if (err.message.startsWith('NEED_AUTH:') || err.message.startsWith('AUTH_JUST_COMPLETED:')) {
624
- throw err;
625
- }
626
- // 其他错误,继续获取新的验证码
627
- console.error('⚠️ 检查授权状态失败:', err.message);
628
- }
629
- }
630
- }
631
-
632
- // 没有保存的授权状态或已过期,启动新的授权流程
633
- await startAuthFlow();
634
-
635
- // 返回验证码给Agent
636
- throw new Error(`NEED_AUTH:${authState.userCode || '等待生成验证码'}`);
637
- }
638
-
639
- // 【优化4】已授权,尝试刷新 token
640
- if (!oauthManager) {
641
- throw new Error('OAuth 管理器未初始化,请检查 MCP_OAUTH_URL 配置');
642
- }
643
-
644
- try {
645
- const oauthToken = await oauthManager.getValidToken();
646
- setCachedToken(oauthToken.accessToken);
647
- tokenExpireTime = oauthToken.expiresAt;
648
- lastRefreshTime = Date.now();
649
- await oauthManager.clearAuthState();
650
- return getCachedToken();
651
- } catch (err) {
652
- // Token 获取失败,可能需要重新授权
653
- authState.isAuthorized = false;
654
- authState.isWaiting = false;
655
- throw new Error(`NEED_AUTH:授权已过期,请重新授权`);
656
- }
657
- }
658
-
659
- // 调用 mcpPrompt 云函数(获取 Prompt 或校验数据)
660
- async function callMcpPrompt(tool, params, token) {
661
- const response = await fetch(MCP_PROMPT_URL, {
662
- method: 'POST',
663
- headers: {
664
- 'Content-Type': 'application/json',
665
- 'Authorization': `Bearer ${token}`,
666
- },
667
- body: JSON.stringify({
668
- tool: tool,
669
- params: params,
670
- }),
671
- });
672
-
673
- if (!response.ok) {
674
- const errorText = await response.text();
675
- throw new Error(`mcpPrompt 调用失败: ${errorText}`);
676
- }
677
-
678
- return await response.json();
679
- }
680
-
681
- // 生成请求签名(用于验证请求来自合法 MCP Server)
682
- function generateSignature(body, timestamp, secret) {
683
- const payload = JSON.stringify(body) + timestamp;
684
- return crypto
685
- .createHmac('sha256', secret)
686
- .update(payload)
687
- .digest('hex');
688
- }
689
-
690
- // MCP 调用日志记录函数
691
- async function logMcpCall(logData) {
692
- try {
693
- // 异步发送日志到云函数,不阻塞主流程
694
- const body = {
695
- tool: 'logMcpCall',
696
- params: logData,
697
- };
698
- const timestamp = Date.now().toString();
699
- const signature = generateSignature(body, timestamp, CHAIMI_API_SECRET);
700
-
701
- fetch(MCP_HUB_URL, {
702
- method: 'POST',
703
- headers: {
704
- 'Content-Type': 'application/json',
705
- 'Authorization': `Bearer ${await getToken()}`,
706
- 'X-Chaimi-Signature': signature,
707
- 'X-Chaimi-Timestamp': timestamp,
708
- },
709
- body: JSON.stringify(body),
710
- }).catch(err => {
711
- // 日志记录失败不影响主流程
712
- console.error('MCP 调用日志记录失败:', err.message);
713
- });
714
- } catch (e) {
715
- // 日志记录失败不影响主流程
716
- console.error('MCP 调用日志记录异常:', e.message);
717
- }
718
- }
719
-
720
- // 生成 traceId
721
- function generateTraceId() {
722
- return `trace_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
723
- }
724
-
725
- // 获取操作系统信息
726
- function getOSInfo() {
727
- return {
728
- osType: process.platform, // 'darwin', 'win32', 'linux'
729
- osVersion: os.release() // '23.6.0', '10.0.19045'
730
- };
731
- }
732
-
733
- // 调用 mcpHub 云函数(带日志和链路追踪)
734
- async function callMcpHubWithLogging(tool, params, token, traceId, startTime, osInfo, agentType, apiProvider) {
735
- // 记录即将调用云函数(已停用:MCP调用日志待迁移到独立云函数)
736
- // logMcpCall({
737
- // traceId,
738
- // stage: 'cloud_calling',
739
- // toolName: tool,
740
- // params: sanitizeLogParams(params),
741
- // agentType: agentType || '',
742
- // apiProvider: apiProvider || '',
743
- // mcpVersion: MCP_VERSION,
744
- // osType: osInfo?.osType,
745
- // osVersion: osInfo?.osVersion,
746
- // timestamp: new Date().toISOString(),
747
- // logSource: 'mcp'
748
- // });
749
-
750
- // 添加 agentType 和 apiProvider 到 params,确保传递到云函数
751
- const paramsWithMeta = {
752
- ...params,
753
- agentType: agentType || '',
754
- apiProvider: apiProvider || '',
755
- };
756
-
757
- try {
758
- const result = await callMcpHub(tool, paramsWithMeta, token, traceId, osInfo);
759
-
760
- // 记录云函数调用成功(已停用:MCP调用日志待迁移到独立云函数)
761
- // logMcpCall({
762
- // traceId,
763
- // stage: 'cloud_success',
764
- // toolName: tool,
765
- // duration: Date.now() - startTime,
766
- // agentType: agentType || '',
767
- // apiProvider: apiProvider || '',
768
- // mcpVersion: MCP_VERSION,
769
- // osType: osInfo?.osType,
770
- // osVersion: osInfo?.osVersion,
771
- // timestamp: new Date().toISOString(),
772
- // logSource: 'mcp'
773
- // });
774
-
775
- return result;
776
- } catch (cloudErr) {
777
- // 记录云函数调用失败(已停用:MCP调用日志待迁移到独立云函数)
778
- // logMcpCall({
779
- // traceId,
780
- // stage: 'cloud_failed',
781
- // toolName: tool,
782
- // error: cloudErr.message,
783
- // duration: Date.now() - startTime,
784
- // agentType: agentType || '',
785
- // apiProvider: apiProvider || '',
786
- // mcpVersion: MCP_VERSION,
787
- // osType: osInfo?.osType,
788
- // osVersion: osInfo?.osVersion,
789
- // timestamp: new Date().toISOString(),
790
- // logSource: 'mcp'
791
- // });
792
- throw cloudErr;
793
- }
794
- }
795
-
796
- // 调用 mcpHub 云函数
797
- async function callMcpHub(tool, params, token, traceId, osInfo) {
798
- const body = {
799
- tool: tool,
800
- params: {
801
- ...params,
802
- _traceId: traceId, // 传递 traceId 用于链路追踪
803
- osType: osInfo?.osType, // 传递操作系统类型
804
- osVersion: osInfo?.osVersion, // 传递操作系统版本
805
- },
806
- };
807
- const timestamp = Date.now().toString();
808
- const signature = generateSignature(body, timestamp, CHAIMI_API_SECRET);
809
-
810
- const response = await fetch(MCP_HUB_URL, {
811
- method: 'POST',
812
- headers: {
813
- 'Content-Type': 'application/json',
814
- 'Authorization': `Bearer ${token}`,
815
- 'X-Chaimi-Signature': signature,
816
- 'X-Chaimi-Timestamp': timestamp,
817
- },
818
- body: JSON.stringify(body),
819
- });
820
-
821
- if (!response.ok) {
822
- const errorText = await response.text();
823
- throw new Error(`mcpHub 调用失败: ${errorText}`);
824
- }
825
-
826
- return await response.json();
827
- }
828
-
829
- // Skill 读取记录文件路径
830
- const SKILL_READ_LOG_PATH = path.join(os.homedir(), '.chaimi-mcp', 'skill-read.log');
831
- const SKILL_VALID_DURATION = 5 * 60 * 1000; // 5分钟内有效
832
-
833
- /**
834
- * 获取上次读取 Skill 的时间
835
- */
836
- function getLastSkillReadTime() {
837
- try {
838
- if (fs.existsSync(SKILL_READ_LOG_PATH)) {
839
- const data = JSON.parse(fs.readFileSync(SKILL_READ_LOG_PATH, 'utf8'));
840
- return data.lastReadTime || 0;
841
- }
842
- } catch (error) {
843
- console.error('读取 Skill 记录失败:', error);
844
- }
845
- return 0;
846
- }
847
-
848
- /**
849
- * 记录 Skill 读取时间
850
- */
851
- function recordSkillRead() {
852
- try {
853
- const logDir = path.dirname(SKILL_READ_LOG_PATH);
854
- if (!fs.existsSync(logDir)) {
855
- fs.mkdirSync(logDir, { recursive: true });
856
- }
857
- fs.writeFileSync(SKILL_READ_LOG_PATH, JSON.stringify({
858
- lastReadTime: Date.now(),
859
- readAt: new Date().toISOString()
860
- }, null, 2));
861
- } catch (error) {
862
- console.error('记录 Skill 读取失败:', error);
863
- }
864
- }
865
-
866
- // 工具调用处理
867
- server.setRequestHandler(CallToolRequestSchema, async (request) => {
868
- const { name, arguments: args } = request.params;
869
- const startTime = Date.now();
870
- const traceId = generateTraceId();
871
- const osInfo = getOSInfo();
872
-
873
- // 提取元数据字段
874
- const agentType = args.agentType || process.env.AGENT_TYPE || process.env.MCP_AGENT_TYPE || '';
875
- const apiProvider = args.apiProvider || process.env.API_PROVIDER || process.env.MCP_API_PROVIDER || '';
876
-
877
- // 记录请求到达(已停用:MCP调用日志待迁移到独立云函数)
878
- // logMcpCall({
879
- // traceId,
880
- // stage: 'request_received',
881
- // toolName: name,
882
- // params: sanitizeLogParams(args),
883
- // agentType: args.agentType || process.env.AGENT_TYPE || process.env.MCP_AGENT_TYPE || '',
884
- // apiProvider: args.apiProvider || process.env.API_PROVIDER || process.env.MCP_API_PROVIDER || '',
885
- // mcpVersion: MCP_VERSION,
886
- // osType: osInfo.osType,
887
- // osVersion: osInfo.osVersion,
888
- // timestamp: new Date().toISOString(),
889
- // logSource: 'mcp'
890
- // });
891
-
892
- // 检查频率限制
893
- const rateLimitResult = checkRateLimit(name);
894
- if (!rateLimitResult.allowed) {
895
- const waitTime = rateLimitResult.waitSeconds < 60
896
- ? `${rateLimitResult.waitSeconds} 秒`
897
- : `${Math.ceil(rateLimitResult.waitSeconds / 60)} 分钟`;
898
-
899
- // 记录限流日志(已停用:MCP调用日志待迁移到独立云函数)
900
- // logMcpCall({
901
- // traceId,
902
- // stage: 'rate_limited',
903
- // toolName: name,
904
- // error: 'RATE_LIMIT_EXCEEDED',
905
- // duration: Date.now() - startTime,
906
- // agentType,
907
- // apiProvider,
908
- // mcpVersion: MCP_VERSION,
909
- // osType: osInfo.osType,
910
- // osVersion: osInfo.osVersion,
911
- // timestamp: new Date().toISOString(),
912
- // logSource: 'mcp'
913
- // });
914
-
915
- return {
916
- content: [
917
- {
918
- type: 'text',
919
- text: JSON.stringify({
920
- success: false,
921
- error: `请求过于频繁,30 秒内最多调用 ${rateLimitResult.maxRequests} 次,请 ${waitTime} 后再试`,
922
- code: 429
923
- })
924
- }
925
- ],
926
- isError: true,
927
- };
928
- }
929
-
930
- // 强制检查:记账工具必须先调用 get_skill
931
- if (name === 'save_expense' || name === 'save_receipt' || name === 'save_income') {
932
- const now = Date.now();
933
- const lastReadTime = getLastSkillReadTime();
934
- if (now - lastReadTime > SKILL_VALID_DURATION) {
935
- // 记录校验失败(已停用:MCP调用日志待迁移到独立云函数)
936
- // logMcpCall({
937
- // traceId,
938
- // stage: 'validation_failed',
939
- // toolName: name,
940
- // error: 'SKILL_NOT_READ',
941
- // duration: Date.now() - startTime,
942
- // agentType: args.agentType || process.env.AGENT_TYPE || process.env.MCP_AGENT_TYPE || '',
943
- // apiProvider: args.apiProvider || process.env.API_PROVIDER || process.env.MCP_API_PROVIDER || '',
944
- // mcpVersion: MCP_VERSION,
945
- // osType: osInfo.osType,
946
- // osVersion: osInfo.osVersion,
947
- // timestamp: new Date().toISOString(),
948
- // logSource: 'mcp'
949
- // });
950
- return {
951
- content: [
952
- {
953
- type: 'text',
954
- text: JSON.stringify({
955
- success: false,
956
- error: 'SKILL_NOT_READ',
957
- message: '❌ 记账失败:未读取最新 Skill 定义\n\n根据规范,每次记账前必须先调用 `get_skill` 工具获取最新 Skill 定义。\n\n请按以下步骤操作:\n1. 调用 `get_skill` 工具\n2. 仔细阅读返回的 Skill 文档\n3. 严格按照 Skill 定义执行记账操作\n\n⚠️ 此检查是为了确保你使用的是最新版本的规范,避免凭记忆操作导致错误。',
958
- code: 400
959
- }),
960
- },
961
- ],
962
- };
963
- }
964
- }
965
-
966
- const agentTypeFromEnv = process.env.AGENT_TYPE || process.env.MCP_AGENT_TYPE || '';
967
- const apiProviderFromEnv = process.env.API_PROVIDER || process.env.MCP_API_PROVIDER || '';
968
-
969
- if (!args.agentType && agentTypeFromEnv) {
970
- args.agentType = agentTypeFromEnv;
971
- }
972
- if (!args.apiProvider && apiProviderFromEnv) {
973
- args.apiProvider = apiProviderFromEnv;
974
- }
975
-
976
- try {
977
- const token = await getToken();
978
-
979
- let processedArgs = { ...args };
980
- if (processedArgs.items && typeof processedArgs.items === 'string') {
981
- try {
982
- processedArgs.items = JSON.parse(processedArgs.items);
983
- } catch (e) {
984
- }
985
- }
986
-
987
- // 【新增】参数类型自动转换(兼容 CLI 工具的字符串传参)
988
- function autoConvertTypes(toolName, args) {
989
- const numberFields = {
990
- 'save_expense': ['amount', 'date'],
991
- 'save_receipt': ['totalAmount', 'actualAmount', 'originalAmount', 'discountAmount', 'date'],
992
- 'save_income': ['amount', 'date'],
993
- };
994
-
995
- const fields = numberFields[toolName] || [];
996
- for (const field of fields) {
997
- if (field in args && typeof args[field] !== 'number') {
998
- const parsed = parseFloat(args[field]);
999
- if (!isNaN(parsed)) {
1000
- console.error(`[TypeConvert] ${field}: "${args[field]}" → ${parsed}`);
1001
- args[field] = parsed;
1002
- }
1003
- }
1004
- }
1005
-
1006
- // 转换 items 数组中的数字字段
1007
- if (args.items && Array.isArray(args.items)) {
1008
- args.items.forEach(item => {
1009
- ['amount', 'price', 'quantity'].forEach(field => {
1010
- if (field in item && typeof item[field] !== 'number') {
1011
- const parsed = parseFloat(item[field]);
1012
- if (!isNaN(parsed)) item[field] = parsed;
1013
- }
1014
- });
1015
- });
1016
- }
1017
- }
1018
-
1019
- autoConvertTypes(name, processedArgs);
1020
-
1021
- let result;
1022
-
1023
- switch (name) {
1024
- case 'get_skill': {
1025
- // 读取 SKILL.md 文件
1026
- const skillPath = path.join(__dirname, 'SKILL.md');
1027
- let skillContent;
1028
- try {
1029
- skillContent = fs.readFileSync(skillPath, 'utf8');
1030
- } catch (error) {
1031
- skillContent = '无法读取 Skill 文件,请检查安装是否完整';
1032
- }
1033
-
1034
- // 更新读取时间(持久化到文件)
1035
- recordSkillRead();
1036
-
1037
- result = {
1038
- success: true,
1039
- data: {
1040
- skill: skillContent,
1041
- version: MCP_VERSION,
1042
- readAt: new Date().toISOString(),
1043
- validFor: '5分钟'
1044
- },
1045
- message: `✅ Skill 定义已获取,有效期5分钟\n\n【重要】完整的 Skill 文档内容在 result.data.skill 字段中,请仔细阅读后严格按照 Skill 文档执行记账操作!`
1046
- };
1047
- userMessage = result.message;
1048
- break;
1049
- }
1050
-
1051
- case 'save_expense': {
1052
- // P0: 数据完整性检查 - 必填字段验证(date 有兜底,不强制检查)
1053
- const requiredFields = ['name', 'amount', 'category', 'rawInput'];
1054
- const missingFields = [];
1055
-
1056
- for (const field of requiredFields) {
1057
- if (processedArgs[field] === undefined || processedArgs[field] === null || processedArgs[field] === '') {
1058
- missingFields.push(field);
1059
- }
1060
- }
1061
-
1062
- if (missingFields.length > 0) {
1063
- result = {
1064
- success: false,
1065
- error: `必填字段缺失:${missingFields.join(', ')}`,
1066
- code: 400,
1067
- hint: '解决方法:1.查看 SKILL.md 中"六.5 如何查看工具参数" 2.运行 mcporter list 柴米AI记账 --schema 查看完整参数结构',
1068
- debug: {
1069
- missing: missingFields,
1070
- received: Object.keys(processedArgs),
1071
- docs: '调用 get_skill() 获取详细使用指南'
1072
- }
1073
- };
1074
- userMessage = `❌ 记账失败\n\n错误:缺少必填字段:${missingFields.join(', ')}\n\n💡 解决方案:\n1. 请检查是否从用户输入中提取了所有信息\n2. 确保传递以下字段:name(商品名)、amount(金额)、category(分类)、rawInput(原始输入)\n3. 参考 SKILL.md 中的"调用前检查清单"`;
1075
- break;
1076
- }
1077
-
1078
- // 数值校验
1079
- if (typeof processedArgs.amount !== 'number' || processedArgs.amount <= 0) {
1080
- result = {
1081
- success: false,
1082
- error: '金额必须是正数',
1083
- code: 400
1084
- };
1085
- userMessage = '❌ 记账失败:金额必须是正数';
1086
- break;
1087
- }
1088
-
1089
- // 【新增】处理 time_description(文本记账新时间格式)
1090
- let timeNote = null;
1091
- if (processedArgs.time_description) {
1092
- const parsedDate = parseTimeDescription(processedArgs.time_description, Date.now());
1093
- processedArgs.date = parsedDate;
1094
- // 正常解析时不显示 timeNote,只有兜底或异常时才显示
1095
- console.log(`[save_expense] 时间描述解析: ${processedArgs.time_description} → ${parsedDate} (${new Date(parsedDate).toLocaleString('zh-CN')})`);
1096
- }
1097
-
1098
- // P1: 日期合理性检查
1099
- if (processedArgs.date) {
1100
- const validation = validateDate(processedArgs.date, '消费日期');
1101
- if (!validation.valid) {
1102
- result = {
1103
- success: false,
1104
- error: validation.error,
1105
- code: 400
1106
- };
1107
- userMessage = validation.message;
1108
- break;
1109
- }
1110
-
1111
- // 【新增】校验时间是否在合理范围内(±1年)
1112
- const dateObj = new Date(processedArgs.date);
1113
- const now = new Date();
1114
- const oneYearAgo = new Date(now.getFullYear() - 1, 0, 1);
1115
- const oneYearLater = new Date(now.getFullYear() + 1, 11, 31);
1116
-
1117
- if (dateObj < oneYearAgo || dateObj > oneYearLater) {
1118
- console.warn(`[save_expense] 时间异常:${processedArgs.date} (${dateObj.toLocaleString('zh-CN')}),使用当前时间`);
1119
- processedArgs.date = Date.now();
1120
- timeNote = '⏰ 时间说明:检测到时间异常,已使用当前时间';
1121
- }
1122
- }
1123
-
1124
- // 添加 agentType 和 apiProvider 到 processedArgs,确保 convertParams 能获取到
1125
- processedArgs.agentType = agentType || '';
1126
- processedArgs.apiProvider = apiProvider || '';
1127
-
1128
- const mcpParams = convertParams('save_expense', processedArgs);
1129
- result = await callMcpHubWithLogging('addExpense', mcpParams, token, traceId, startTime, osInfo, agentType, apiProvider);
1130
-
1131
- if (result.success) {
1132
- const displayName = processedArgs.name || '未知商品';
1133
- const displayAmount = processedArgs.amount || 0;
1134
- const displayCategory = processedArgs.category || '其他';
1135
- const displayStore = processedArgs.store || '';
1136
-
1137
- // 友好结束语(根据分类)
1138
- const friendlyEndings = {
1139
- '餐饮': '用餐愉快!🍚 / 好好吃饭哦~',
1140
- '食品': '吃好喝好!🍎',
1141
- '交通': '出行顺利!🚗',
1142
- '购物': '买得开心!🛍️',
1143
- '收入': '入账顺利!💰',
1144
- '其他': '记账完成!继续保持~ ✨'
1145
- };
1146
- const friendlyEnding = friendlyEndings[displayCategory] || '记账完成!继续保持~ ✨';
1147
-
1148
- // 消费洞察(如果有)
1149
- let insightsText = '';
1150
- if (result.insights && result.insights.length > 0) {
1151
- insightsText = '\n\n消费洞察:' + result.insights.map(ins => ins.message || ins.title).join(';');
1152
- }
1153
-
1154
- // 新解锁成就(如果有)
1155
- let achievementsText = '';
1156
- if (result.newlyUnlocked && result.newlyUnlocked.length > 0) {
1157
- achievementsText = '\n\n🎉 成就解锁:' + result.newlyUnlocked.map(a => `${a.icon} ${a.title}(+${a.points}分)`).join(';');
1158
- }
1159
-
1160
- // 【新增】返回模板位置信息(Server只返回原始数据,Agent使用模板渲染)
1161
- result._templateLocation = 'references/response-templates.md';
1162
- result._templateHint = '请使用references/response-templates.md中的2.1标准成功模板渲染回复';
1163
- result._templateVariables = {
1164
- agentName: await getAgentName(),
1165
- 类型: '支出',
1166
- 商品名: displayName,
1167
- 商家: displayStore || null,
1168
- 金额: displayAmount,
1169
- 分类: result.data?.categoryName || displayCategory,
1170
- 日期: result.data?.date ? new Date(result.data.date).toLocaleString('zh-CN') : new Date().toLocaleString('zh-CN'),
1171
- 正能量祝福语: friendlyEnding,
1172
- insightsText,
1173
- achievementsText,
1174
- timeNote: timeNote || null
1175
- };
1176
- }
1177
- break;
1178
- }
1179
-
1180
- case 'save_receipt': {
1181
- // P0: 数据完整性检查 - 必填字段验证(date 有兜底,不强制检查)
1182
- const requiredFields = ['store', 'totalAmount', 'actualAmount', 'originalAmount', 'discountAmount', 'storeCategory', 'storeSubCategory'];
1183
- const missingFields = [];
1184
-
1185
- for (const field of requiredFields) {
1186
- if (processedArgs[field] === undefined || processedArgs[field] === null || processedArgs[field] === '') {
1187
- missingFields.push(field);
1188
- }
1189
- }
1190
-
1191
- if (missingFields.length > 0) {
1192
- result = {
1193
- success: false,
1194
- error: `必填字段缺失:${missingFields.join(', ')}`,
1195
- code: 400,
1196
- hint: '解决方法:1.查看 SKILL.md 中"六.5 如何查看工具参数" 2.运行 mcporter list 柴米AI记账 --schema 查看完整参数结构',
1197
- debug: {
1198
- missing: missingFields,
1199
- received: Object.keys(processedArgs),
1200
- docs: '调用 get_skill() 获取详细使用指南'
1201
- }
1202
- };
1203
- userMessage = `❌ 保存失败\n\n错误:缺少必填字段:${missingFields.join(', ')}\n\n💡 解决方案:\n1. 请检查是否从 get_parse_prompt 的解析结果中提取了所有信息\n2. 确保传递以下字段:store、totalAmount、actualAmount、originalAmount、discountAmount、storeCategory、storeSubCategory\n3. 参考 SKILL.md 中的小票字段核对清单`;
1204
- break;
1205
- }
1206
-
1207
- // 数值校验
1208
- const amountFields = ['totalAmount', 'actualAmount', 'originalAmount'];
1209
- for (const field of amountFields) {
1210
- if (typeof processedArgs[field] !== 'number' || processedArgs[field] <= 0) {
1211
- result = {
1212
- success: false,
1213
- error: `${field} 必须是正数`,
1214
- code: 400
1215
- };
1216
- userMessage = `❌ 保存失败:${field} 必须是正数`;
1217
- break;
1218
- }
1219
- }
1220
- if (result && !result.success) break;
1221
-
1222
- if (typeof processedArgs.discountAmount !== 'number' || processedArgs.discountAmount < 0) {
1223
- result = {
1224
- success: false,
1225
- error: 'discountAmount 必须是非负数',
1226
- code: 400
1227
- };
1228
- userMessage = '❌ 保存失败:优惠金额必须是非负数';
1229
- break;
1230
- }
1231
-
1232
- // 检查 items 是否存在且非空
1233
- if (!processedArgs.items || !Array.isArray(processedArgs.items) || processedArgs.items.length === 0) {
1234
- result = {
1235
- success: false,
1236
- error: 'items 不能为空,必须包含至少一个商品',
1237
- code: 400
1238
- };
1239
- userMessage = '❌ 保存失败:商品列表不能为空\n\n💡 请确保从 get_parse_prompt 的解析结果中正确提取了 items 数组';
1240
- break;
1241
- }
1242
-
1243
- // 检查 items 中每个商品的必填字段(包括分类字段)
1244
- const invalidItems = [];
1245
- processedArgs.items.forEach((item, index) => {
1246
- const itemMissingFields = [];
1247
- if (!item.hasOwnProperty('name') || item.name === '') itemMissingFields.push('name');
1248
- if (!item.hasOwnProperty('amount') || item.amount === undefined) itemMissingFields.push('amount');
1249
- if (!item.hasOwnProperty('price') || item.price === undefined) itemMissingFields.push('price');
1250
- if (!item.hasOwnProperty('quantity') || item.quantity === undefined) itemMissingFields.push('quantity');
1251
- // 【改造】检查新字段 productCategory 和 category
1252
- if (!item.hasOwnProperty('productCategory') || item.productCategory === '') {
1253
- itemMissingFields.push('productCategory');
1254
- }
1255
- if (!item.hasOwnProperty('category') || item.category === '') {
1256
- itemMissingFields.push('category');
1257
- }
1258
-
1259
- if (itemMissingFields.length > 0) {
1260
- invalidItems.push(`商品${index + 1}(${item.name || '未命名'})缺少字段: ${itemMissingFields.join(', ')}`);
1261
- }
1262
- });
1263
-
1264
- if (invalidItems.length > 0) {
1265
- result = {
1266
- success: false,
1267
- error: `商品数据不完整:${invalidItems.join('; ')}。每个商品必须包含:name, amount, price, quantity, productCategory, category`,
1268
- code: 400
1269
- };
1270
- userMessage = `❌ 保存失败\n\n错误:商品数据格式不完整\n\n${invalidItems.join('\n')}\n\n💡 解决方案:\n1. 请更新您的柴米AI记账 MCP Skill\n2. 确保每个商品包含完整的6个字段:name, amount, price, quantity, productCategory, category\n3. productCategory 是商品分类,category 是记账分类,都是必填项`;
1271
- break;
1272
- }
1273
-
1274
- // 【新增】转换 date_components 为 date
1275
- if (processedArgs.date_components && !processedArgs.date) {
1276
- const { year, month, day, hour, minute, second } = processedArgs.date_components;
1277
-
1278
- // 校验时间组件完整性
1279
- if (!year || !month || !day || hour === undefined || minute === undefined) {
1280
- result = {
1281
- success: false,
1282
- error: 'date_components 不完整',
1283
- code: 400,
1284
- hint: '必须包含:year、month、day、hour、minute'
1285
- };
1286
- userMessage = '❌ 保存失败:时间信息不完整\n\n请确保 date_components 包含完整的年月日时分秒';
1287
- break;
1288
- }
1289
-
1290
- // 转换为时间戳
1291
- processedArgs.date = new Date(year, month - 1, day, hour, minute, second || 0).getTime();
1292
- console.log(`[save_receipt] 时间组件转换: ${JSON.stringify(processedArgs.date_components)} → ${processedArgs.date}`);
1293
- }
1294
-
1295
- // P1: 日期合理性检查
1296
- if (processedArgs.date) {
1297
- const validation = validateDate(processedArgs.date, '小票日期');
1298
- if (!validation.valid) {
1299
- result = {
1300
- success: false,
1301
- error: validation.error,
1302
- code: 400
1303
- };
1304
- userMessage = validation.message + ',请检查小票日期是否正确';
1305
- break;
1306
- }
1307
- }
1308
-
1309
- // P2: 智能补全 - 如果有缺失字段且提供了 rawInput,尝试重新解析
1310
- const missingFieldsForFill = [];
1311
- const fillableFields = ['store', 'date', 'totalAmount', 'actualAmount', 'originalAmount', 'discountAmount', 'paymentMethod'];
1312
- for (const field of fillableFields) {
1313
- if (processedArgs[field] === undefined || processedArgs[field] === null || processedArgs[field] === '') {
1314
- missingFieldsForFill.push(field);
1315
- }
1316
- }
1317
-
1318
- if (missingFieldsForFill.length > 0 && processedArgs.rawInput) {
1319
- console.error(`⚠️ 字段缺失,尝试从 rawInput 重新解析:${missingFieldsForFill.join(', ')}`);
1320
-
1321
- const parseResult = await callMcpPrompt(
1322
- 'parseReceipt',
1323
- {
1324
- text: processedArgs.rawInput,
1325
- type: 'parseReceipt'
1326
- },
1327
- token
1328
- );
1329
-
1330
- if (parseResult.success && parseResult.data) {
1331
- // 只补全缺失的字段
1332
- for (const field of missingFieldsForFill) {
1333
- if (parseResult.data[field] !== undefined && parseResult.data[field] !== null && parseResult.data[field] !== '') {
1334
- processedArgs[field] = parseResult.data[field];
1335
- console.error(`✅ 补全字段:${field} = ${processedArgs[field]}`);
1336
- }
1337
- }
1338
-
1339
- // 如果 items 也缺失,尝试补全
1340
- if ((!processedArgs.items || processedArgs.items.length === 0) && parseResult.data.items) {
1341
- processedArgs.items = parseResult.data.items;
1342
- console.error(`✅ 补全字段:items(${processedArgs.items.length} 个商品)`);
1343
- }
1344
- } else {
1345
- console.error(`❌ 重新解析失败:${parseResult.error || '未知错误'}`);
1346
- }
1347
- }
1348
-
1349
- // P1: 金额一致性校验
1350
- const ERROR_MARGIN = 0.1; // 允许0.1元误差
1351
-
1352
- // 校验1:items 各项 amount 之和 ≈ totalAmount
1353
- const itemsSum = processedArgs.items.reduce((sum, item) => sum + (item.amount || 0), 0);
1354
- if (Math.abs(itemsSum - processedArgs.totalAmount) > ERROR_MARGIN) {
1355
- result = {
1356
- success: false,
1357
- error: `商品金额总和 (${itemsSum.toFixed(2)}) 与总金额 (${processedArgs.totalAmount}) 不一致`,
1358
- code: 400
1359
- };
1360
- userMessage = `❌ 保存失败:金额校验不通过\n\n商品金额总和:${itemsSum.toFixed(2)}元\n小票总金额:${processedArgs.totalAmount}元\n\n💡 请检查:\n1. 每个商品的 amount 是否正确(amount = price × quantity)\n2. 是否有遗漏的商品`;
1361
- break;
1362
- }
1363
-
1364
- // 校验2:originalAmount - discountAmount ≈ actualAmount
1365
- const calculatedActual = processedArgs.originalAmount - processedArgs.discountAmount;
1366
- if (Math.abs(calculatedActual - processedArgs.actualAmount) > ERROR_MARGIN) {
1367
- result = {
1368
- success: false,
1369
- error: `优惠计算不正确:原价(${processedArgs.originalAmount}) - 优惠(${processedArgs.discountAmount}) = ${calculatedActual.toFixed(2)},不等于实付金额(${processedArgs.actualAmount})`,
1370
- code: 400
1371
- };
1372
- userMessage = `❌ 保存失败:金额校验不通过\n\n原价:${processedArgs.originalAmount}元\n优惠:${processedArgs.discountAmount}元\n计算实付:${calculatedActual.toFixed(2)}元\n实际实付:${processedArgs.actualAmount}元\n\n💡 请检查优惠金额是否正确`;
1373
- break;
1374
- }
1375
-
1376
- // 1. 调用 parseReceipt 重新提取小票信息(覆盖 Agent 传的数据)
1377
- if (processedArgs.rawInput) {
1378
- const parseResult = await callMcpPrompt(
1379
- 'parseReceipt',
1380
- {
1381
- text: processedArgs.rawInput,
1382
- type: 'parseReceipt'
1383
- },
1384
- token
1385
- );
1386
-
1387
- if (parseResult.success && parseResult.data) {
1388
- // 用 parseReceipt 提取的信息覆盖 Agent 传的参数
1389
- processedArgs = {
1390
- ...processedArgs,
1391
- ...parseResult.data
1392
- };
1393
- }
1394
- }
1395
-
1396
- // 2. 调用 fillDefaults 补充默认值
1397
- const fillResult = await callMcpPrompt(
1398
- 'fillDefaults',
1399
- {
1400
- data: processedArgs,
1401
- type: 'parseReceipt'
1402
- },
1403
- token
1404
- );
1405
-
1406
- if (fillResult.success) {
1407
- processedArgs = {
1408
- ...fillResult.data,
1409
- ...processedArgs
1410
- };
1411
- }
1412
-
1413
- // 添加 agentType 和 apiProvider 到 processedArgs,确保 convertParams 能获取到
1414
- processedArgs.agentType = agentType || '';
1415
- processedArgs.apiProvider = apiProvider || '';
1416
-
1417
- const mcpParams = convertParams('save_receipt', processedArgs);
1418
- result = await callMcpHubWithLogging('addReceipt', mcpParams, token, traceId, startTime, osInfo, agentType, apiProvider);
1419
-
1420
- if (result.success) {
1421
- const totalAmount = processedArgs.totalAmount || processedArgs.items?.reduce((sum, item) => sum + (item.amount || 0), 0) || 0;
1422
- const storeName = processedArgs.store || '';
1423
- const category = processedArgs.items?.[0]?.category || '购物';
1424
- const itemCount = processedArgs.items?.length || 0;
1425
-
1426
- // 友好结束语(根据分类)
1427
- const friendlyEndings = {
1428
- '餐饮': '用餐愉快!🍚',
1429
- '食品': '吃好喝好!🍎',
1430
- '购物': '买得开心!🛍️',
1431
- '其他': '记账完成!继续保持~ ✨'
1432
- };
1433
- const friendlyEnding = friendlyEndings[category] || '买得开心!🛍️';
1434
-
1435
- // 消费洞察(如果有)
1436
- let insightsText = '';
1437
- if (result.insights && result.insights.length > 0) {
1438
- insightsText = '\n\n消费洞察:' + result.insights.map(ins => ins.message || ins.title).join(';');
1439
- }
1440
-
1441
- // 新解锁成就(如果有)
1442
- let achievementsText = '';
1443
- if (result.newlyUnlocked && result.newlyUnlocked.length > 0) {
1444
- achievementsText = '\n\n🎉 成就解锁:' + result.newlyUnlocked.map(a => `${a.icon} ${a.title}(+${a.points}分)`).join(';');
1445
- }
1446
-
1447
- // 【新增】返回模板位置信息(Server只返回原始数据,Agent使用模板渲染)
1448
- result._templateLocation = 'references/response-templates.md';
1449
- result._templateHint = '请使用references/response-templates.md中的2.3小票记账模板渲染回复';
1450
- result._templateVariables = {
1451
- agentName: await getAgentName(),
1452
- store: storeName,
1453
- totalAmount: totalAmount,
1454
- category: result.data?.storeCategory || category,
1455
- itemCount: itemCount,
1456
- date: result.data?.date ? new Date(result.data.date).toLocaleDateString('zh-CN') : new Date().toLocaleDateString('zh-CN'),
1457
- 正能量祝福语: friendlyEnding,
1458
- insightsText,
1459
- achievementsText,
1460
- items: processedArgs.items
1461
- };
1462
- }
1463
- break;
1464
- }
1465
-
1466
- case 'get_expenses':
1467
- case 'get_receipt_list': {
1468
- const toolName = toolMapping[name];
1469
- const mcpParams = convertParams(name, processedArgs);
1470
- result = await callMcpHubWithLogging(toolName, mcpParams, token, traceId, startTime, osInfo, agentType, apiProvider);
1471
-
1472
- if (result.success) {
1473
- const total = result.data?.total || 0;
1474
- const items = result.data?.items || [];
1475
- const patterns = result.data?.patterns || {};
1476
-
1477
- // 【新增】返回模板位置信息(Server只返回原始数据,Agent使用模板渲染)
1478
- result._templateLocation = 'references/response-templates.md';
1479
- result._templateHint = '请使用references/response-templates.md中的2.5查询结果模板渲染回复';
1480
- result._templateVariables = {
1481
- total: total,
1482
- items: items,
1483
- patterns: patterns
1484
- };
1485
- }
1486
- break;
1487
- }
1488
-
1489
- case 'get_statistics': {
1490
- const toolName = toolMapping[name];
1491
- const mcpParams = convertParams(name, processedArgs);
1492
- result = await callMcpHubWithLogging(toolName, mcpParams, token, traceId, startTime, osInfo, agentType, apiProvider);
1493
-
1494
- if (result.success) {
1495
- const data = result.data || {};
1496
-
1497
- // 【新增】返回模板位置信息(Server只返回原始数据,Agent使用模板渲染)
1498
- result._templateLocation = 'references/response-templates.md';
1499
- result._templateHint = '请使用references/response-templates.md中的2.6统计结果模板渲染回复';
1500
- result._templateVariables = {
1501
- period: data.periodDisplay || data.period || '未知',
1502
- totalAmount: data.totalAmount || 0,
1503
- totalCount: data.totalCount || 0,
1504
- compare: data.compare,
1505
- budget: data.budget,
1506
- categories: data.categories,
1507
- insights: data.insights
1508
- };
1509
- }
1510
- break;
1511
- }
1512
-
1513
- case 'get_insights': {
1514
- const toolName = toolMapping[name];
1515
- const mcpParams = convertParams(name, processedArgs);
1516
- result = await callMcpHubWithLogging(toolName, mcpParams, token, traceId, startTime, osInfo, agentType, apiProvider);
1517
-
1518
- if (result.success) {
1519
- const data = result.data || {};
1520
- const insights = data.insights || [];
1521
-
1522
- // 构建友好的洞察摘要
1523
- let summary = `🔍 消费洞察获取成功\n\n`;
1524
- summary += `📅 周期:${data.periodDisplay || data.period || '未知'}\n`;
1525
- summary += `💡 共找到 ${insights.length} 条洞察线索\n`;
1526
-
1527
- if (insights.length > 0) {
1528
- // 按优先级分组
1529
- const highPriority = insights.filter(i => i.priority === 'high');
1530
- const mediumPriority = insights.filter(i => i.priority === 'medium');
1531
- const lowPriority = insights.filter(i => i.priority === 'low');
1532
-
1533
- if (highPriority.length > 0) {
1534
- summary += `\n🔴 高优先级(${highPriority.length}条):\n`;
1535
- highPriority.forEach(insight => {
1536
- summary += ` ${insight.emoji || '•'} ${insight.title}:${insight.message}\n`;
1537
- });
1538
- }
1539
-
1540
- if (mediumPriority.length > 0) {
1541
- summary += `\n🟡 中优先级(${mediumPriority.length}条):\n`;
1542
- mediumPriority.slice(0, 2).forEach(insight => {
1543
- summary += ` ${insight.emoji || '•'} ${insight.title}:${insight.message}\n`;
1544
- });
1545
- }
1546
-
1547
- if (lowPriority.length > 0) {
1548
- summary += `\n🟢 低优先级(${lowPriority.length}条)\n`;
1549
- }
1550
- }
1551
-
1552
- // 【新增】返回模板位置信息(Server只返回原始数据,Agent使用模板渲染)
1553
- result._templateLocation = 'references/response-templates.md';
1554
- result._templateHint = '请使用references/response-templates.md中的2.6智能洞察模板渲染回复';
1555
- result._templateVariables = {
1556
- insights: insights
1557
- };
1558
- }
1559
- break;
1560
- }
1561
-
1562
- case 'export_data': {
1563
- const toolName = toolMapping[name];
1564
- const mcpParams = convertParams(name, processedArgs);
1565
- result = await callMcpHubWithLogging(toolName, mcpParams, token, traceId, startTime, osInfo, agentType, apiProvider);
1566
-
1567
- if (result.success) {
1568
- const summary = result.data?.summary || {};
1569
- const totalRecords = summary.totalRecords || 0;
1570
- const totalAmount = summary.totalAmount || 0;
1571
- const periodDisplay = result.data?.periodDisplay || '';
1572
-
1573
- // 【新增】返回模板位置信息(Server只返回原始数据,Agent使用模板渲染)
1574
- result._templateLocation = 'references/response-templates.md';
1575
- result._templateHint = '请使用references/response-templates.md中的模板渲染回复';
1576
- result._templateVariables = {
1577
- period: periodDisplay,
1578
- totalRecords: totalRecords,
1579
- totalAmount: totalAmount
1580
- };
1581
- }
1582
- break;
1583
- }
1584
-
1585
- case 'save_income': {
1586
- // P0: 数据完整性检查 - 必填字段验证(date 改为 time_description,不强制检查)
1587
- const requiredFields = ['name', 'amount', 'category', 'rawInput'];
1588
- const missingFields = [];
1589
-
1590
- for (const field of requiredFields) {
1591
- if (processedArgs[field] === undefined || processedArgs[field] === null || processedArgs[field] === '') {
1592
- missingFields.push(field);
1593
- }
1594
- }
1595
-
1596
- if (missingFields.length > 0) {
1597
- result = {
1598
- success: false,
1599
- error: `必填字段缺失:${missingFields.join(', ')}`,
1600
- code: 400,
1601
- hint: '解决方法:1.查看 SKILL.md 中"六.5 如何查看工具参数" 2.运行 mcporter list 柴米AI记账 --schema 查看完整参数结构',
1602
- debug: {
1603
- missing: missingFields,
1604
- received: Object.keys(processedArgs),
1605
- docs: '调用 get_skill() 获取详细使用指南'
1606
- }
1607
- };
1608
- userMessage = `❌ 收入记录失败\n\n错误:缺少必填字段:${missingFields.join(', ')}\n\n💡 解决方案:\n1. 请检查是否从用户输入中提取了所有信息\n2. 确保传递以下字段:name(收入来源)、amount(金额)、category(分类)、rawInput(原始输入)\n3. 参考 SKILL.md 中的"调用前检查清单"`;
1609
- break;
1610
- }
1611
-
1612
- // 数值校验
1613
- if (typeof processedArgs.amount !== 'number' || processedArgs.amount <= 0) {
1614
- result = {
1615
- success: false,
1616
- error: '金额必须是正数',
1617
- code: 400
1618
- };
1619
- userMessage = '❌ 收入记录失败:金额必须是正数';
1620
- break;
1621
- }
1622
-
1623
- // 【新增】处理 time_description(收入记账新时间格式)
1624
- let timeNote = null;
1625
- if (processedArgs.time_description) {
1626
- const parsedDate = parseTimeDescription(processedArgs.time_description, Date.now());
1627
- processedArgs.date = parsedDate;
1628
- // 正常解析时不显示 timeNote,只有兜底或异常时才显示
1629
- console.log(`[save_income] 时间描述解析: ${processedArgs.time_description} → ${parsedDate} (${new Date(parsedDate).toLocaleString('zh-CN')})`);
1630
- }
1631
- // 【新增】兜底:如果既没传 time_description 也没传 date,使用当前时间
1632
- else if (!processedArgs.date) {
1633
- processedArgs.date = Date.now();
1634
- timeNote = '⏰ 时间说明:未指定时间,使用当前时间';
1635
- console.log(`[save_income] 未传时间参数,使用当前时间: ${processedArgs.date}`);
1636
- }
1637
-
1638
- // P1: 日期合理性检查
1639
- if (processedArgs.date) {
1640
- const validation = validateDate(processedArgs.date, '收入日期');
1641
- if (!validation.valid) {
1642
- result = {
1643
- success: false,
1644
- error: validation.error,
1645
- code: 400
1646
- };
1647
- userMessage = validation.message;
1648
- break;
1649
- }
1650
-
1651
- // 【新增】校验时间是否在合理范围内(±1年)
1652
- const dateObj = new Date(processedArgs.date);
1653
- const now = new Date();
1654
- const oneYearAgo = new Date(now.getFullYear() - 1, 0, 1);
1655
- const oneYearLater = new Date(now.getFullYear() + 1, 11, 31);
1656
-
1657
- if (dateObj < oneYearAgo || dateObj > oneYearLater) {
1658
- console.warn(`[save_income] 时间异常:${processedArgs.date} (${dateObj.toLocaleString('zh-CN')}),使用当前时间`);
1659
- processedArgs.date = Date.now();
1660
- timeNote = '⏰ 时间说明:检测到时间异常,已使用当前时间';
1661
- }
1662
- }
1663
-
1664
- // 添加 agentType 和 apiProvider 到 processedArgs,确保 convertParams 能获取到
1665
- processedArgs.agentType = agentType || '';
1666
- processedArgs.apiProvider = apiProvider || '';
1667
-
1668
- const mcpParams = convertParams('save_income', processedArgs);
1669
- result = await callMcpHubWithLogging('addIncome', mcpParams, token, traceId, startTime, osInfo, agentType, apiProvider);
1670
-
1671
- if (result.success) {
1672
- const displayName = processedArgs.name || '未知收入';
1673
- const displayAmount = processedArgs.amount || 0;
1674
- const displayCategory = processedArgs.category || '其他';
1675
- const displayStore = processedArgs.store || '';
1676
-
1677
- // 【新增】返回模板位置信息(Server只返回原始数据,Agent使用模板渲染)
1678
- result._templateLocation = 'references/response-templates.md';
1679
- result._templateHint = '请使用references/response-templates.md中的2.1标准成功模板渲染回复';
1680
- result._templateVariables = {
1681
- agentName: await getAgentName(),
1682
- 类型: '收入',
1683
- 商品名: displayName,
1684
- 商家: displayStore || null,
1685
- 金额: displayAmount,
1686
- 分类: result.data?.categoryName || displayCategory,
1687
- 日期: result.data?.date ? new Date(result.data.date).toLocaleString('zh-CN') : new Date().toLocaleString('zh-CN'),
1688
- 正能量祝福语: '入账顺利!💰',
1689
- timeNote: timeNote || null
1690
- };
1691
- }
1692
- break;
1693
- }
1694
-
1695
- case 'get_parse_prompt': {
1696
- const promptType = args.type || 'parseReceipt';
1697
- const promptResult = await callMcpPrompt('getPrompt', { type: promptType }, token);
1698
-
1699
- if (promptResult.success) {
1700
- result = {
1701
- success: true,
1702
- data: {
1703
- type: promptType,
1704
- version: promptResult.data.version,
1705
- systemPrompt: promptResult.data.systemPrompt,
1706
- userPromptTemplate: promptResult.data.userPromptTemplate,
1707
- examples: promptResult.data.examples,
1708
- myflowmate: promptResult.data.myflowmate,
1709
- instructions: '请将 systemPrompt 作为 system message,把小票图片作为 user message,调用你的大模型进行解析。解析完成后,调用 save_receipt 工具保存结果。⚠️ 注意:AI解析结果必须包含 _flowmate 字段!'
1710
- }
1711
- };
1712
- // 【新增】返回模板位置信息(Server只返回原始数据,Agent使用模板渲染)
1713
- result._templateLocation = 'references/response-templates.md';
1714
- result._templateHint = '请使用references/response-templates.md中的2.1标准成功模板渲染回复';
1715
- result._templateVariables = {
1716
- version: promptResult.data.version,
1717
- examples: promptResult.data.examples
1718
- };
1719
- } else {
1720
- result = { success: false, error: promptResult.error };
1721
- }
1722
- break;
1723
- }
1724
-
1725
- case 'get_text_parse_prompt': {
1726
- // 调用 mcpPrompt 云函数获取文字记账解析 Prompt
1727
- const promptResult = await callMcpPrompt('getTextParsePrompt', {}, token);
1728
-
1729
- if (promptResult.success) {
1730
- result = {
1731
- success: true,
1732
- data: {
1733
- prompt: promptResult.data.prompt,
1734
- currentDate: promptResult.data.currentDate,
1735
- currentTime: promptResult.data.currentTime,
1736
- myflowmate: promptResult.data.myflowmate,
1737
- instructions: promptResult.data.instructions
1738
- }
1739
- };
1740
- // 【新增】返回模板位置信息(Server只返回原始数据,Agent使用模板渲染)
1741
- result._templateLocation = 'references/response-templates.md';
1742
- result._templateHint = '请使用references/response-templates.md中的2.1标准成功模板渲染回复';
1743
- result._templateVariables = {
1744
- currentDate: promptResult.data.currentDate,
1745
- currentTime: promptResult.data.currentTime
1746
- };
1747
- } else {
1748
- result = { success: false, error: promptResult.error };
1749
- }
1750
- break;
1751
- }
1752
-
1753
- case 'submit_feedback': {
1754
- const feedbackData = {
1755
- content: processedArgs.content,
1756
- feedType: processedArgs.type || 'other',
1757
- contact: processedArgs.contact || '',
1758
- context: processedArgs.context || '',
1759
- agentType: processedArgs.agentType || '',
1760
- apiProvider: processedArgs.apiProvider || '',
1761
- mcpVersion: MCP_VERSION,
1762
- userAgent: request.headers?.['user-agent'] || ''
1763
- };
1764
-
1765
- result = await callMcpHubWithLogging('addFeedback', feedbackData, token, traceId, startTime, osInfo, agentType, apiProvider);
1766
-
1767
- if (result.success) {
1768
- const typeText = {
1769
- bug: '问题报告',
1770
- feature: '功能建议',
1771
- improvement: '优化建议',
1772
- other: '其他反馈'
1773
- }[feedbackData.feedType] || '其他反馈';
1774
-
1775
- // 【新增】返回模板位置信息(Server只返回原始数据,Agent使用模板渲染)
1776
- result._templateLocation = 'references/response-templates.md';
1777
- result._templateHint = '请使用references/response-templates.md中的模板渲染回复';
1778
- result._templateVariables = {
1779
- feedbackId: result.data.feedbackId,
1780
- type: typeText,
1781
- time: new Date().toLocaleString('zh-CN')
1782
- };
1783
- } else {
1784
- result._templateLocation = 'references/response-templates.md';
1785
- result._templateHint = '请使用references/response-templates.md中的模板渲染回复';
1786
- result._templateVariables = {
1787
- error: result.error || '未知错误'
1788
- };
1789
- }
1790
- break;
1791
- }
1792
-
1793
- default:
1794
- throw new Error(`未知工具: ${name}`);
1795
- }
1796
-
1797
- // 【新增】在结果中添加 agentName,让 Agent 可以使用
1798
- const agentName = await getAgentName();
1799
- if (result && typeof result === 'object') {
1800
- result.agentName = agentName;
1801
- }
1802
-
1803
- // 【修改】Server 只返回原始数据,不再构建格式化消息
1804
- // Agent 必须使用 references/response-templates.md 中的模板自行渲染回复
1805
- const responseData = {
1806
- success: result.success,
1807
- data: result.data,
1808
- error: result.error,
1809
- _templateLocation: result._templateLocation,
1810
- _templateHint: result._templateHint,
1811
- _templateVariables: result._templateVariables,
1812
- agentName: agentName
1813
- };
1814
-
1815
- return {
1816
- content: [
1817
- {
1818
- type: 'text',
1819
- text: `⚠️ 【注意】Server 只返回原始数据,不返回格式化消息。\n请使用 _templateLocation 指定的模板自行渲染回复。\n\n---\n📦 柴米AI记账 MCP v${MCP_VERSION}\n\n## 完整数据\n\`\`\`json\n${safeStringify(responseData)}\n\`\`\``,
1820
- },
1821
- ],
1822
- };
1823
- } catch (error) {
1824
- // 记录异常错误(已停用:MCP调用日志待迁移到独立云函数)
1825
- // logMcpCall({
1826
- // traceId,
1827
- // stage: 'mcp_error',
1828
- // toolName: name,
1829
- // error: error.message,
1830
- // duration: Date.now() - startTime,
1831
- // agentType: agentType || '',
1832
- // apiProvider: apiProvider || '',
1833
- // mcpVersion: MCP_VERSION,
1834
- // osType: osInfo.osType,
1835
- // osVersion: osInfo.osVersion,
1836
- // timestamp: new Date().toISOString(),
1837
- // logSource: 'mcp'
1838
- // });
1839
-
1840
- // 处理授权错误
1841
- if (error.message.startsWith('NEED_AUTH:')) {
1842
- const userCode = error.message.replace('NEED_AUTH:', '');
1843
-
1844
- if (userCode && userCode !== '等待生成验证码') {
1845
- return {
1846
- content: [
1847
- {
1848
- type: 'text',
1849
- text: `🔐 首次使用需要授权
1850
-
1851
- ━━━━━━━━━━━━━━
1852
- 📱 验证码:**${userCode}**
1853
- ━━━━━━━━━━━━━━
1854
-
1855
- 请在"柴米AI记账"小程序中完成授权:
1856
-
1857
- 1️⃣ 打开微信小程序"柴米AI记账"
1858
-
1859
- 2️⃣ 点击"我的" → "Agent 授权"
1860
-
1861
- 3️⃣ 输入验证码:**${userCode}**
1862
-
1863
- 4️⃣ 点击确认授权
1864
-
1865
- ⚠️ 重要提示:
1866
- • 授权完成后,MCP Server 会自动退出(正常现象)
1867
- • 请重新发送您的记账指令,我才能为您完成记账
1868
- • 首次授权后,后续记账将无需再次授权
1869
-
1870
- ⏳ 验证码有效期:30分钟`,
1871
- },
1872
- ],
1873
- };
1874
- } else {
1875
- return {
1876
- content: [
1877
- {
1878
- type: 'text',
1879
- text: `⏳ 正在准备授权,请稍等几秒后重试...`,
1880
- },
1881
- ],
1882
- };
1883
- }
1884
- }
1885
-
1886
- // 处理刚完成授权的情况
1887
- if (error.message.startsWith('AUTH_JUST_COMPLETED:')) {
1888
- // 授权成功,继续读取 Skill 文档并返回
1889
- const skillPath = path.join(__dirname, 'SKILL.md');
1890
- let skillContent;
1891
- try {
1892
- skillContent = fs.readFileSync(skillPath, 'utf8');
1893
- } catch (readError) {
1894
- skillContent = '无法读取 Skill 文件,请检查安装是否完整';
1895
- }
1896
-
1897
- // 更新读取时间(持久化到文件)
1898
- recordSkillRead();
1899
-
1900
- return {
1901
- content: [
1902
- {
1903
- type: 'text',
1904
- text: `✅ 授权成功!
1905
-
1906
- ━━━━━━━━━━━━━━
1907
- 🎉 恭喜!您已完成授权
1908
- ━━━━━━━━━━━━━━
1909
-
1910
- 现在可以正常使用记账功能了!
1911
-
1912
- ${'='.repeat(60)}
1913
- 📋 Skill 定义文档(请仔细阅读并严格按照以下规范执行):
1914
- ${'='.repeat(60)}
1915
-
1916
- ${skillContent}
1917
-
1918
- ${'='.repeat(60)}
1919
-
1920
- ⚠️ 重要提示:
1921
- • 授权完成后已自动获取 Skill 定义
1922
- • 请严格按照上述 Skill 文档执行记账操作
1923
- • 首次授权后,后续记账将无需再次授权`,
1924
- },
1925
- ],
1926
- };
1927
- }
1928
-
1929
- // 区分开发/生产环境,避免泄露内部错误信息
1930
- const errorMessage = process.env.NODE_ENV === 'development'
1931
- ? `Error: ${error.message}`
1932
- : '操作失败,请稍后重试或联系客服';
1933
-
1934
- // 记录完整错误到日志(用于调试)
1935
- console.error('Tool execution error:', {
1936
- tool: request.params.name,
1937
- error: error.message,
1938
- stack: error.stack,
1939
- timestamp: new Date().toISOString()
1940
- });
1941
-
1942
- return {
1943
- content: [
1944
- {
1945
- type: 'text',
1946
- text: errorMessage,
1947
- },
1948
- ],
1949
- isError: true,
1950
- };
1951
- }
1952
- });
1953
-
1954
- // 安全的 JSON 序列化函数,防止循环引用和超大数据导致内存溢出
1955
- function safeStringify(obj, maxLength = 100000) {
1956
- try {
1957
- const str = JSON.stringify(obj, null, 2);
1958
- if (str.length > maxLength) {
1959
- return JSON.stringify({
1960
- ...obj,
1961
- data: '[数据过大,已省略]',
1962
- _note: `完整数据大小:${str.length} 字符`
1963
- }, null, 2);
1964
- }
1965
- return str;
1966
- } catch (error) {
1967
- return JSON.stringify({ error: '数据序列化失败' });
1968
- }
1969
- }
1970
-
1971
- function sanitizeString(str, maxLength = 200) {
1972
- if (!str || typeof str !== 'string') return '';
1973
-
1974
- // 硬性限制:输入不能超过 maxLength 的 10 倍,防止超大字符串导致内存溢出
1975
- if (str.length > maxLength * 10) {
1976
- throw new Error(`输入过长,最大允许 ${maxLength} 字符`);
1977
- }
1978
-
1979
- return str.replace(/<[^>]*>/g, '').substring(0, maxLength);
1980
- }
1981
-
1982
- function validateAmount(amount) {
1983
- const num = parseFloat(amount);
1984
- return isNaN(num) || num < 0 ? 0 : num;
1985
- }
1986
-
1987
- function validateQuantity(quantity) {
1988
- const num = parseFloat(quantity);
1989
- return isNaN(num) || num <= 0 ? 1 : num;
1990
- }
1991
-
1992
- /**
1993
- * 格式化日期为 ISO 8601 格式(带时区)
1994
- * 注意:此函数只负责格式标准化,不负责语义解析
1995
- * 语义解析(如"午餐"→12:00)应由 Agent 完成
1996
- */
1997
- function formatDateWithTimezone(dateInput) {
1998
- // 如果未提供日期,返回当前时间戳
1999
- if (!dateInput) {
2000
- return Date.now();
2001
- }
2002
-
2003
- try {
2004
- let timestamp;
2005
-
2006
- // 如果是数字(时间戳)
2007
- if (typeof dateInput === 'number') {
2008
- timestamp = dateInput;
2009
- }
2010
- // 如果是字符串形式的数字(时间戳)
2011
- else if (/^\d+$/.test(dateInput)) {
2012
- timestamp = parseInt(dateInput, 10);
2013
- }
2014
-
2015
- // 如果是数字时间戳,直接返回
2016
- if (timestamp) {
2017
- return timestamp;
2018
- }
2019
-
2020
- // 如果已经是 UTC 格式(以 Z 结尾),转换为时间戳
2021
- if (dateInput.endsWith('Z')) {
2022
- return new Date(dateInput).getTime();
2023
- }
2024
-
2025
- // 如果是带时区的格式(如 +08:00),转换为时间戳
2026
- if (dateInput.match(/[+-]\d{2}:\d{2}$/)) {
2027
- return new Date(dateInput).getTime();
2028
- }
2029
-
2030
- // 如果是简单的 ISO 格式(如 2026-04-14T12:00:00),视为北京时间,转换为时间戳
2031
- if (dateInput.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/)) {
2032
- return new Date(dateInput + '+08:00').getTime();
2033
- }
2034
-
2035
- // 如果是纯日期格式(如 2026-04-14),默认使用中午12:00(北京时间),转换为时间戳
2036
- if (dateInput.match(/^\d{4}-\d{2}-\d{2}$/)) {
2037
- return new Date(`${dateInput}T12:00:00+08:00`).getTime();
2038
- }
2039
-
2040
- // 其他情况,尝试解析为时间戳
2041
- const parsedTimestamp = new Date(dateInput).getTime();
2042
- if (isNaN(parsedTimestamp)) {
2043
- return Date.now(); // 解析失败,返回当前时间戳
2044
- }
2045
-
2046
- return parsedTimestamp;
2047
- } catch (error) {
2048
- console.error('日期格式化错误:', error);
2049
- return Date.now();
2050
- }
2051
- }
2052
-
2053
- /**
2054
- * 解析时间描述为时间戳
2055
- * @param {string} timeDesc - 时间描述(如 'yesterday', 'today')
2056
- * @param {number} currentTimestamp - 当前时间戳
2057
- * @returns {number} 时间戳
2058
- */
2059
- function parseTimeDescription(timeDesc, currentTimestamp) {
2060
- const now = new Date(currentTimestamp);
2061
- const year = now.getFullYear();
2062
- const month = now.getMonth();
2063
- const day = now.getDate();
2064
-
2065
- switch(timeDesc) {
2066
- case 'just_now':
2067
- case 'today':
2068
- return currentTimestamp;
2069
-
2070
- case 'yesterday':
2071
- return new Date(year, month, day - 1, 12, 0, 0).getTime();
2072
-
2073
- case 'yesterday_evening':
2074
- return new Date(year, month, day - 1, 19, 0, 0).getTime();
2075
-
2076
- case 'this_morning':
2077
- return new Date(year, month, day, 8, 0, 0).getTime();
2078
-
2079
- case 'this_noon':
2080
- return new Date(year, month, day, 12, 0, 0).getTime();
2081
-
2082
- case 'this_afternoon':
2083
- return new Date(year, month, day, 14, 0, 0).getTime();
2084
-
2085
- case 'this_evening':
2086
- return new Date(year, month, day, 19, 0, 0).getTime();
2087
-
2088
- default:
2089
- // 尝试解析具体日期格式:2026-03-15 或 2026-03-15T15:00
2090
- if (/^\d{4}-\d{2}-\d{2}$/.test(timeDesc)) {
2091
- const [y, m, d] = timeDesc.split('-').map(Number);
2092
- return new Date(y, m - 1, d, 12, 0, 0).getTime();
2093
- }
2094
-
2095
- if (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/.test(timeDesc)) {
2096
- return new Date(timeDesc).getTime();
2097
- }
2098
-
2099
- // 兜底:返回当前时间
2100
- return currentTimestamp;
2101
- }
2102
- }
2103
-
2104
- /**
2105
- * 获取时间说明文本
2106
- * @param {string} timeDesc - 时间描述
2107
- * @returns {string} 时间说明
2108
- */
2109
- function getTimeNote(timeDesc) {
2110
- const descMap = {
2111
- 'just_now': '刚刚',
2112
- 'today': '今天',
2113
- 'yesterday': '昨天',
2114
- 'yesterday_evening': '昨晚',
2115
- 'this_morning': '今早',
2116
- 'this_noon': '今天中午',
2117
- 'this_afternoon': '今天下午',
2118
- 'this_evening': '今晚'
2119
- };
2120
-
2121
- if (descMap[timeDesc]) {
2122
- return `⏰ 时间说明:系统使用"${descMap[timeDesc]}"作为默认时间`;
2123
- }
2124
-
2125
- if (timeDesc && timeDesc.match(/^\d{4}-\d{2}-\d{2}$/)) {
2126
- return `⏰ 时间说明:记录日期为 ${timeDesc}`;
2127
- }
2128
-
2129
- if (timeDesc && timeDesc.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/)) {
2130
- return `⏰ 时间说明:记录精确时间为 ${timeDesc}`;
2131
- }
2132
-
2133
- return '';
2134
- }
2135
-
2136
- function extractWeightInGrams(weightStr) {
2137
- if (!weightStr || typeof weightStr !== 'string') return 0;
2138
-
2139
- const match = weightStr.match(/(\d+\.?\d*)\s*(g|kg|斤|克|千克)/i);
2140
- if (!match) return 0;
2141
-
2142
- const value = parseFloat(match[1]);
2143
- const unit = match[2].toLowerCase();
2144
-
2145
- switch (unit) {
2146
- case 'g':
2147
- case '克':
2148
- return value;
2149
- case 'kg':
2150
- case '千克':
2151
- return value * 1000;
2152
- case '斤':
2153
- return value * 500;
2154
- default:
2155
- return value;
2156
- }
2157
- }
2158
-
2159
- function calculateMarketPrice(amount, weightStr) {
2160
- const amountNum = parseFloat(amount);
2161
- const weightInGrams = extractWeightInGrams(weightStr);
2162
-
2163
- if (isNaN(amountNum) || amountNum <= 0 || weightInGrams <= 0) {
2164
- return '';
2165
- }
2166
-
2167
- const pricePer500g = (amountNum / weightInGrams) * 500;
2168
- return `${pricePer500g.toFixed(2)}元/500g`;
2169
- }
2170
-
2171
- function convertParams(toolName, args) {
2172
- switch (toolName) {
2173
- case 'save_expense': {
2174
- if (!args.name || typeof args.name !== 'string' || args.name.trim() === '') {
2175
- throw new Error('缺少必填参数:name(商品名称)');
2176
- }
2177
- if (args.amount === undefined || args.amount === null) {
2178
- throw new Error('缺少必填参数:amount(金额)');
2179
- }
2180
-
2181
- const name = sanitizeString(args.name, 100);
2182
- const amount = validateAmount(args.amount);
2183
-
2184
- return {
2185
- name: name,
2186
- originalName: name,
2187
- amount: amount,
2188
- price: amount,
2189
- quantity: 1,
2190
- productCategory: sanitizeString(args.productCategory, 50) || '其他',
2191
- productSubCategory: sanitizeString(args.productSubCategory, 50) || '',
2192
- category: sanitizeString(args.category, 50) || '其他',
2193
- unit: sanitizeString(args.unit, 20) || '',
2194
- weight: '',
2195
- marketPrice: sanitizeString(args.marketPrice, 50) || '',
2196
- store: sanitizeString(args.store, 100) || '',
2197
- date: formatDateWithTimezone(args.date),
2198
- transactionType: 'expense',
2199
- note: sanitizeString(args.note, 500) || '',
2200
- rawInput: sanitizeString(args.rawInput, 1000) || '',
2201
- agentType: sanitizeString(args.agentType, 50) || '',
2202
- apiProvider: sanitizeString(args.apiProvider, 50) || '',
2203
- mcpVersion: MCP_VERSION,
2204
- source: 'mcp_txt_expense',
2205
- _flowmate: args._flowmate,
2206
- };
2207
- }
2208
-
2209
- case 'save_receipt': {
2210
- let items = args.items;
2211
- if (typeof items === 'string') {
2212
- try {
2213
- items = JSON.parse(items);
2214
- } catch (e) {
2215
- throw new Error('items 参数格式错误:必须是数组或 JSON 数组字符串');
2216
- }
2217
- }
2218
- if (!Array.isArray(items)) {
2219
- throw new Error('items 参数必须是数组');
2220
- }
2221
-
2222
- return {
2223
- items: items.map((item, index) => {
2224
- const weight = sanitizeString(item.weight, 50);
2225
- const amount = validateAmount(item.amount);
2226
- const marketPrice = sanitizeString(item.marketPrice, 50) || calculateMarketPrice(amount, weight);
2227
-
2228
- return {
2229
- itemIndex: index,
2230
- name: sanitizeString(item.name, 100),
2231
- originalName: sanitizeString(item.originalName, 200) || sanitizeString(item.name, 100),
2232
- amount: amount,
2233
- productCategory: sanitizeString(item.productCategory, 50) || '其他',
2234
- productSubCategory: sanitizeString(item.productSubCategory, 50) || '',
2235
- category: sanitizeString(item.category, 50) || '其他',
2236
- transactionType: sanitizeString(item.transactionType, 50) || 'expense',
2237
- price: validateAmount(item.price),
2238
- quantity: item.quantity ? String(item.quantity).substring(0, 20) : '1',
2239
- unit: sanitizeString(item.unit, 20),
2240
- weight: weight,
2241
- marketPrice: marketPrice,
2242
- note: sanitizeString(item.note, 500),
2243
- };
2244
- }),
2245
- store: sanitizeString(args.store, 100),
2246
- receiptNo: sanitizeString(args.receiptNo, 50),
2247
- totalAmount: validateAmount(args.totalAmount),
2248
- originalAmount: validateAmount(args.originalAmount),
2249
- discountAmount: validateAmount(args.discountAmount),
2250
- actualAmount: validateAmount(args.actualAmount),
2251
- paymentMethod: sanitizeString(args.paymentMethod, 50),
2252
- memberCardNo: sanitizeString(args.memberCardNo, 50),
2253
- currentPoints: parseInt(args.currentPoints) || 0,
2254
- totalPoints: parseInt(args.totalPoints) || 0,
2255
- date: formatDateWithTimezone(args.date),
2256
- rawInput: sanitizeString(args.rawInput, 2000),
2257
- agentType: sanitizeString(args.agentType, 50) || '',
2258
- apiProvider: sanitizeString(args.apiProvider, 50) || '',
2259
- mcpVersion: MCP_VERSION,
2260
- source: 'mcp_receipt',
2261
- storeCategory: sanitizeString(args.storeCategory, 50) || '其他',
2262
- storeSubCategory: sanitizeString(args.storeSubCategory, 50) || '其他',
2263
- _flowmate: args._flowmate,
2264
- };
2265
- }
2266
-
2267
- case 'get_expenses': {
2268
- // 【新增】支持 period 参数
2269
- const periodDates = args.period ? parsePeriod(args.period) : {};
2270
- return {
2271
- startDate: periodDates.startDate || args.startDate,
2272
- endDate: periodDates.endDate || args.endDate,
2273
- limit: Math.min(parseInt(args.limit) || 10, 100),
2274
- source: args.source,
2275
- category: args.category,
2276
- store: args.store,
2277
- };
2278
- }
2279
-
2280
- case 'get_statistics': {
2281
- // 【新增】支持 period 参数
2282
- const periodDates = args.period ? parsePeriod(args.period) : {};
2283
- return {
2284
- startDate: periodDates.startDate || (args.yearMonth ? `${args.yearMonth}-01` : undefined),
2285
- endDate: periodDates.endDate || (args.yearMonth ? getMonthEndDate(args.yearMonth) : undefined),
2286
- type: args.type,
2287
- includeInsights: args.includeInsights,
2288
- };
2289
- }
2290
-
2291
- case 'save_income':
2292
- return {
2293
- name: sanitizeString(args.name, 100),
2294
- amount: validateAmount(args.amount),
2295
- category: sanitizeString(args.category, 50) || '其他',
2296
- store: sanitizeString(args.store, 100),
2297
- date: formatDateWithTimezone(args.date),
2298
- note: sanitizeString(args.note, 500),
2299
- transactionType: 'income',
2300
- rawInput: sanitizeString(args.rawInput, 1000),
2301
- agentType: sanitizeString(args.agentType, 50) || '',
2302
- apiProvider: sanitizeString(args.apiProvider, 50) || '',
2303
- mcpVersion: MCP_VERSION,
2304
- source: 'mcp_txt_income',
2305
- _flowmate: args._flowmate,
2306
- };
2307
-
2308
- default:
2309
- return args;
2310
- }
2311
- }
2312
-
2313
- function getMonthEndDate(yearMonth) {
2314
- const [year, month] = yearMonth.split('-').map(Number);
2315
- const lastDay = new Date(year, month, 0).getDate();
2316
- return `${yearMonth}-${lastDay}`;
2317
- }
2318
-
2319
- // 【新增】解析 period 参数为日期范围
2320
- function parsePeriod(period) {
2321
- const now = new Date();
2322
- const year = now.getFullYear();
2323
- const month = now.getMonth();
2324
- const day = now.getDate();
2325
- const weekDay = now.getDay(); // 0=周日, 1=周一...
2326
-
2327
- let startDate, endDate;
2328
-
2329
- switch (period) {
2330
- case 'this_week': {
2331
- // 本周一到今天
2332
- const mondayOffset = weekDay === 0 ? 6 : weekDay - 1;
2333
- const monday = new Date(year, month, day - mondayOffset);
2334
- startDate = formatDateISO(monday);
2335
- endDate = formatDateISO(now);
2336
- break;
2337
- }
2338
- case 'last_week': {
2339
- // 上周一到上周日
2340
- const thisMondayOffset = weekDay === 0 ? 6 : weekDay - 1;
2341
- const lastMonday = new Date(year, month, day - thisMondayOffset - 7);
2342
- const lastSunday = new Date(year, month, day - thisMondayOffset - 1);
2343
- startDate = formatDateISO(lastMonday);
2344
- endDate = formatDateISO(lastSunday);
2345
- break;
2346
- }
2347
- case 'this_month': {
2348
- // 本月1号到今天
2349
- const firstDay = new Date(year, month, 1);
2350
- startDate = formatDateISO(firstDay);
2351
- endDate = formatDateISO(now);
2352
- break;
2353
- }
2354
- case 'last_month': {
2355
- // 上月1号到上月最后一天
2356
- const firstDayLastMonth = new Date(year, month - 1, 1);
2357
- const lastDayLastMonth = new Date(year, month, 0);
2358
- startDate = formatDateISO(firstDayLastMonth);
2359
- endDate = formatDateISO(lastDayLastMonth);
2360
- break;
2361
- }
2362
- default:
2363
- return { startDate: undefined, endDate: undefined };
2364
- }
2365
-
2366
- return { startDate, endDate };
2367
- }
2368
-
2369
- // 格式化日期为 YYYY-MM-DD
2370
- function formatDateISO(date) {
2371
- const y = date.getFullYear();
2372
- const m = String(date.getMonth() + 1).padStart(2, '0');
2373
- const d = String(date.getDate()).padStart(2, '0');
2374
- return `${y}-${m}-${d}`;
2375
- }
2376
-
2377
- // 授权状态管理
2378
- let authState = {
2379
- isAuthorized: false,
2380
- isWaiting: false,
2381
- userCode: null,
2382
- deviceCode: null,
2383
- error: null
2384
- };
2385
-
2386
- // 【新增】获取 Agent 名称(仅用于记账回复,不修改授权流程)
2387
- async function getAgentName() {
2388
- try {
2389
- if (oauthManager && oauthManager.tokenStorage) {
2390
- const localName = await oauthManager.tokenStorage.loadAgentName();
2391
-
2392
- // 如果是默认名称,尝试从云端获取
2393
- if (localName === '柴米AI助手') {
2394
- // 获取保存的 deviceCode
2395
- const deviceCode = await oauthManager.tokenStorage.loadDeviceCode();
2396
- if (deviceCode) {
2397
- // 从云端获取
2398
- const cloudName = await fetchAgentNameFromCloud(deviceCode);
2399
- if (cloudName && cloudName !== '柴米AI助手') {
2400
- await oauthManager.tokenStorage.saveAgentName(cloudName);
2401
- return cloudName;
2402
- }
2403
- }
2404
- }
2405
-
2406
- return localName;
2407
- }
2408
- } catch (err) {
2409
- // 忽略错误
2410
- }
2411
- return '柴米AI助手';
2412
- }
2413
-
2414
- // 【新增】从云端获取 Agent 名称
2415
- async function fetchAgentNameFromCloud(deviceCode) {
2416
- try {
2417
- const response = await fetch(MCP_OAUTH_URL, {
2418
- method: 'POST',
2419
- headers: { 'Content-Type': 'application/json' },
2420
- body: JSON.stringify({
2421
- tool: 'getDeviceInfo',
2422
- params: { deviceCode }
2423
- })
2424
- });
2425
- const result = await response.json();
2426
- if (result.success && result.data.agentName) {
2427
- return result.data.agentName;
2428
- }
2429
- } catch (err) {
2430
- // 忽略错误
2431
- }
2432
- return null;
2433
- }
2434
-
2435
- async function main() {
2436
- await initConfig();
2437
- await initOAuthManager();
2438
-
2439
- const transport = new StdioServerTransport();
2440
- await server.connect(transport);
2441
- }
2442
-
2443
- // 启动授权流程(获取验证码,启动后台轮询)
2444
- async function startAuthFlow() {
2445
- try {
2446
- // 先检查是否有保存的授权状态
2447
- const savedAuthState = await oauthManager.loadAuthState();
2448
- if (savedAuthState && savedAuthState.userCode) {
2449
- // 检查验证码是否过期
2450
- if (oauthManager.isAuthStateExpired(savedAuthState)) {
2451
- console.error('⏰ 验证码已过期,生成新的验证码');
2452
- await oauthManager.clearAuthState();
2453
- } else {
2454
- // 有保存的验证码,直接使用
2455
- authState.deviceCode = savedAuthState.deviceCode;
2456
- authState.userCode = savedAuthState.userCode;
2457
- authState.isWaiting = true;
2458
- console.error(`🔑 使用已保存的验证码:${savedAuthState.userCode}`);
2459
- // 启动后台轮询
2460
- pollForAuthInBackground(savedAuthState.deviceCode, 5000);
2461
- return;
2462
- }
2463
- }
2464
-
2465
- // 获取新的设备码
2466
- const deviceCodeRes = await oauthManager.requestDeviceCode(false);
2467
- authState.deviceCode = deviceCodeRes.deviceCode;
2468
- authState.userCode = deviceCodeRes.userCode;
2469
- authState.isWaiting = true;
2470
-
2471
- // 保存授权状态(30分钟有效)
2472
- await oauthManager.saveAuthState({
2473
- deviceCode: deviceCodeRes.deviceCode,
2474
- userCode: deviceCodeRes.userCode,
2475
- expiresAt: Date.now() + deviceCodeRes.expiresIn * 1000
2476
- });
2477
-
2478
- console.error(`🔑 验证码:${deviceCodeRes.userCode}`);
2479
- console.error('⏳ 请在小程序中完成授权,然后再次调用');
2480
-
2481
- // 启动后台轮询(3分钟)
2482
- pollForAuthInBackground(deviceCodeRes.deviceCode, 5000);
2483
-
2484
- } catch (err) {
2485
- authState.error = err.message;
2486
- authState.isWaiting = false;
2487
- console.error('❌ 启动授权失败:', err.message);
2488
- }
2489
- }
2490
-
2491
- // 后台轮询授权状态(3分钟)
2492
- async function pollForAuthInBackground(deviceCode, interval) {
2493
- const maxAttempts = 36; // 3分钟(36次 × 5秒)
2494
- let attempts = 0;
2495
-
2496
- console.error('⏳ 等待用户授权中...(3分钟内有效)');
2497
-
2498
- while (attempts < maxAttempts && authState.isWaiting) {
2499
- attempts++;
2500
- await delay(interval);
2501
-
2502
- try {
2503
- // 调用云函数检查授权状态
2504
- const token = await oauthManager.pollForTokenOnce(deviceCode);
2505
-
2506
- if (token) {
2507
- // 授权成功(加密存储)
2508
- setCachedToken(token.accessToken);
2509
- tokenExpireTime = token.expiresAt;
2510
- authState.isAuthorized = true;
2511
- authState.isWaiting = false;
2512
-
2513
- // 保存token到文件
2514
- await oauthManager.tokenStorage.save(token);
2515
-
2516
- // 【新增】保存默认 Agent 名称和 deviceCode(首次记账时会获取真实名称)
2517
- await oauthManager.tokenStorage.saveAgentName('柴米AI助手');
2518
- await oauthManager.tokenStorage.saveDeviceCode(authState.deviceCode);
2519
-
2520
- // 清除授权状态
2521
- await oauthManager.clearAuthState();
2522
-
2523
- console.error('✅ 授权成功!可以继续使用记账功能');
2524
-
2525
- // 【修复】不退出进程,让 Agent 可以在同一会话中继续执行记账操作
2526
- // 这样 Agent 调用 get_skill 授权后,可以立即调用 save_expense 记账
2527
- // process.exit(0); // 注释掉,避免授权成功后进程退出
2528
- return; // 直接返回,停止轮询
2529
- }
2530
- } catch (err) {
2531
- if (err.message.includes('expired') || err.message.includes('invalid')) {
2532
- authState.error = err.message;
2533
- authState.isWaiting = false;
2534
- console.error('❌ 授权失败:', err.message);
2535
- process.exit(1);
2536
- }
2537
- // 继续轮询
2538
- }
2539
- }
2540
-
2541
- // 3分钟超时
2542
- authState.isWaiting = false;
2543
- console.error('⏰ 授权超时(3分钟),请重新调用获取新验证码');
2544
- // 【修复】不退出进程,让用户可以重新尝试
2545
- // process.exit(0);
2546
- }
2547
-
2548
- // 延迟函数
2549
- function delay(ms) {
2550
- return new Promise(resolve => setTimeout(resolve, ms));
2551
- }
2552
-
2553
- /**
2554
- * 脱敏处理日志参数
2555
- * 移除敏感信息,限制长度
2556
- */
2557
- function sanitizeLogParams(params) {
2558
- if (!params || typeof params !== 'object') {
2559
- return {};
2560
- }
2561
-
2562
- const sanitized = {};
2563
- const allowedFields = [
2564
- 'name', 'amount', 'category', 'store', 'date', 'period',
2565
- 'format', 'types', 'limit', 'skip', 'content', 'feedType',
2566
- 'yearMonth', 'startDate', 'endDate', 'includeReceipts'
2567
- ];
2568
-
2569
- for (const key of allowedFields) {
2570
- if (params[key] !== undefined) {
2571
- // 字符串字段长度限制
2572
- if (typeof params[key] === 'string' && params[key].length > 200) {
2573
- sanitized[key] = params[key].substring(0, 200) + '...';
2574
- } else {
2575
- sanitized[key] = params[key];
2576
- }
2577
- }
2578
- }
2579
-
2580
- // 特殊处理 items 数组(小票商品列表)
2581
- if (params.items && Array.isArray(params.items)) {
2582
- sanitized.itemsCount = params.items.length;
2583
- sanitized.items = params.items.slice(0, 3).map(item => ({
2584
- name: item.name,
2585
- amount: item.amount,
2586
- category: item.category
2587
- }));
2588
- }
2589
-
2590
- return sanitized;
2591
- }
2592
-
2593
- // 注意:使用 console.error,避免污染 stdout(MCP 协议通信使用 stdout)
2594
- main().catch((err) => {
2595
- console.error('❌ MCP Server 启动失败:', err.message);
2596
- console.error('堆栈:', err.stack);
2597
- process.exit(1);
2598
- });
2
+ const _0x2dbe2=_0x4c1e;(function(_0x4ffcff,_0x265f4e){const _0x12277a=_0x4c1e,_0x553048=_0x4ffcff();while(!![]){try{const _0x42ddbe=-parseInt(_0x12277a(0x47d))/0x1+-parseInt(_0x12277a(0x657))/0x2+parseInt(_0x12277a(0x5fc))/0x3+parseInt(_0x12277a(0x136))/0x4*(-parseInt(_0x12277a(0x25c))/0x5)+-parseInt(_0x12277a(0x48c))/0x6+-parseInt(_0x12277a(0x2eb))/0x7*(-parseInt(_0x12277a(0xa3))/0x8)+-parseInt(_0x12277a(0x537))/0x9*(-parseInt(_0x12277a(0x4e1))/0xa);if(_0x42ddbe===_0x265f4e)break;else _0x553048['push'](_0x553048['shift']());}catch(_0x1676c0){_0x553048['push'](_0x553048['shift']());}}}(_0x2503,0xd96ce),process[_0x2dbe2(0x79e)+'t'][_0x2dbe2(0x4d9)+_0x2dbe2(0x8e9)+'g'](_0x2dbe2(0x218)));try{require('doten'+'v')[_0x2dbe2(0x4af)+'g']();}catch(_0x8ac49c){}const {Server}=require(_0x2dbe2(0x802)+'lcont'+'extpr'+_0x2dbe2(0x44f)+'l/sdk'+'/serv'+_0x2dbe2(0x807)+_0x2dbe2(0x768)+'s'),{StdioServerTransport}=require(_0x2dbe2(0x802)+_0x2dbe2(0x472)+_0x2dbe2(0x8c5)+_0x2dbe2(0x44f)+'l/sdk'+_0x2dbe2(0x563)+_0x2dbe2(0x879)+'dio.j'+'s'),{CallToolRequestSchema,ListToolsRequestSchema}=require('@mode'+_0x2dbe2(0x472)+'extpr'+_0x2dbe2(0x44f)+_0x2dbe2(0x65b)+_0x2dbe2(0x82a)+_0x2dbe2(0x901)),path=require(_0x2dbe2(0xfa)),os=require('os'),fs=require('fs'),crypto=require(_0x2dbe2(0xa3b)+'o'),{exec}=require(_0x2dbe2(0x107)+_0x2dbe2(0x26a)+_0x2dbe2(0xa44)),util=require(_0x2dbe2(0x91e)),execPromise=util['promi'+_0x2dbe2(0x76d)](exec);function getVersion(){const _0x5bd21d=_0x2dbe2,_0x1c8463={};_0x1c8463[_0x5bd21d(0x764)]=_0x5bd21d(0x962)+'ON',_0x1c8463[_0x5bd21d(0x20b)]=_0x5bd21d(0x218),_0x1c8463['DFMOe']=_0x5bd21d(0x9b1)+'ge.js'+'on';const _0x179335=_0x1c8463;try{const _0x337b1d=path['join'](__dirname,_0x179335[_0x5bd21d(0x764)]);return fs[_0x5bd21d(0x3db)+_0x5bd21d(0x81f)+'nc'](_0x337b1d,_0x179335['CdTrE'])[_0x5bd21d(0x36c)]();}catch(_0x211795){const _0x4ba80c=JSON['parse'](fs[_0x5bd21d(0x3db)+_0x5bd21d(0x81f)+'nc'](path[_0x5bd21d(0x449)](__dirname,_0x179335['DFMOe']),_0x179335[_0x5bd21d(0x20b)]));return _0x4ba80c[_0x5bd21d(0x5c1)+'on'];}}const MCP_VERSION=getVersion(),{OAuthManager,FileTokenStorage}=require('./oau'+_0x2dbe2(0x18f)),{configManager}=require('./uti'+_0x2dbe2(0x6b7)+_0x2dbe2(0x1ec)+'js'),{validateDate}=require(_0x2dbe2(0x963)+_0x2dbe2(0x165)+_0x2dbe2(0x4c5)+_0x2dbe2(0x1a2)+'s'),{getOrCreateSecretKey}=require(_0x2dbe2(0x963)+_0x2dbe2(0x322)+_0x2dbe2(0x851)+'ger.j'+'s'),{encrypt,decrypt}=require(_0x2dbe2(0x963)+'ls/en'+_0x2dbe2(0xa3b)+_0x2dbe2(0x7db)+'s'),_0x46b235={};_0x46b235['tools']=[_0x2dbe2(0xf1)+_0x2dbe2(0x5c6)+'se',_0x2dbe2(0xf1)+'recei'+'pt',_0x2dbe2(0xf1)+'incom'+'e'],_0x46b235[_0x2dbe2(0x43b)+_0x2dbe2(0x315)+'s']=0x3,_0x46b235[_0x2dbe2(0x4d8)+'wMs']=0x1e*0x3e8;const _0x93a284={};_0x93a284[_0x2dbe2(0x474)]=[_0x2dbe2(0x143)+_0x2dbe2(0x10d)+'es','get_r'+'eceip'+_0x2dbe2(0x5f1)+'t','get_s'+_0x2dbe2(0x713)+'tics',_0x2dbe2(0x2ad)+_0x2dbe2(0x893)+'ts','expor'+_0x2dbe2(0x33c)+'a'],_0x93a284['maxRe'+'quest'+'s']=0x2,_0x93a284['windo'+_0x2dbe2(0x9d6)]=0x1e*0x3e8;const _0x12cca6={};_0x12cca6[_0x2dbe2(0x474)]=['get_s'+_0x2dbe2(0x8d2),'get_p'+'arse_'+_0x2dbe2(0x836)+'t',_0x2dbe2(0xde)+'ext_p'+_0x2dbe2(0x69b)+_0x2dbe2(0x836)+'t'],_0x12cca6[_0x2dbe2(0x43b)+'quest'+'s']=0x3,_0x12cca6[_0x2dbe2(0x4d8)+_0x2dbe2(0x9d6)]=0x1e*0x3e8;function _0x4c1e(_0xbd957a,_0x5e29e3){_0xbd957a=_0xbd957a-0x90;const _0x250311=_0x2503();let _0x4c1e91=_0x250311[_0xbd957a];if(_0x4c1e['QnGSAP']===undefined){var _0x5532de=function(_0x148122){const _0x171209='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36817b='',_0x4b978d='';for(let _0x3495cc=0x0,_0x18a42f,_0x4b7531,_0x5e01b0=0x0;_0x4b7531=_0x148122['charAt'](_0x5e01b0++);~_0x4b7531&&(_0x18a42f=_0x3495cc%0x4?_0x18a42f*0x40+_0x4b7531:_0x4b7531,_0x3495cc++%0x4)?_0x36817b+=String['fromCharCode'](0xff&_0x18a42f>>(-0x2*_0x3495cc&0x6)):0x0){_0x4b7531=_0x171209['indexOf'](_0x4b7531);}for(let _0x13bb00=0x0,_0x1e5cdf=_0x36817b['length'];_0x13bb00<_0x1e5cdf;_0x13bb00++){_0x4b978d+='%'+('00'+_0x36817b['charCodeAt'](_0x13bb00)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b978d);};_0x4c1e['uXZtXH']=_0x5532de,_0x4c1e['byedis']={},_0x4c1e['QnGSAP']=!![];}const _0x50bc92=_0x250311[0x0],_0x3b6401=_0xbd957a+_0x50bc92,_0x433a3b=_0x4c1e['byedis'][_0x3b6401];return!_0x433a3b?(_0x4c1e91=_0x4c1e['uXZtXH'](_0x4c1e91),_0x4c1e['byedis'][_0x3b6401]=_0x4c1e91):_0x4c1e91=_0x433a3b,_0x4c1e91;}const _0x47bec0={};_0x47bec0[_0x2dbe2(0x474)]=[_0x2dbe2(0x130)+_0x2dbe2(0x19b)+_0x2dbe2(0x2bc)],_0x47bec0[_0x2dbe2(0x43b)+_0x2dbe2(0x315)+'s']=0x1,_0x47bec0[_0x2dbe2(0x4d8)+'wMs']=0x1e*0x3e8;const _0x1245df={};_0x1245df['write']=_0x46b235,_0x1245df[_0x2dbe2(0x5d3)]=_0x93a284,_0x1245df['confi'+'g']=_0x12cca6,_0x1245df[_0x2dbe2(0x1b2)+_0x2dbe2(0x498)]=_0x47bec0;const RATE_LIMITS=_0x1245df,rateLimitRecords={};function checkRateLimit(_0x201f33){const _0x276629=_0x2dbe2,_0x381afa={};_0x381afa[_0x276629(0x93c)]='今天中午',_0x381afa[_0x276629(0x349)]=_0x276629(0x3dd),_0x381afa[_0x276629(0x76b)]='nUsEC',_0x381afa['jvZac']=function(_0x20462e,_0x5eb94e){return _0x20462e-_0x5eb94e;},_0x381afa[_0x276629(0x3c1)]=function(_0x31a6ec,_0x3ccb34){return _0x31a6ec>=_0x3ccb34;},_0x381afa['HFPjG']=function(_0x45da3e,_0x2591f7){return _0x45da3e/_0x2591f7;};const _0x1d7bd0=_0x381afa;let _0xd54965=null,_0x23dc14=null;for(const [_0x5a1c05,_0x409064]of Object[_0x276629(0x1dc)+'es'](RATE_LIMITS)){if(_0x1d7bd0[_0x276629(0x76b)]!==_0x1d7bd0[_0x276629(0x76b)]){const _0x413a6c={};_0x413a6c[_0x276629(0x15e)+_0x276629(0x104)]='刚刚',_0x413a6c['today']='今天',_0x413a6c['yeste'+_0x276629(0xf9)]='昨天',_0x413a6c['yeste'+_0x276629(0x75b)+_0x276629(0x1a1)+'ng']='昨晚',_0x413a6c[_0x276629(0x8af)+'morni'+'ng']='今早',_0x413a6c[_0x276629(0x8af)+_0x276629(0x1df)]=_0x1d7bd0[_0x276629(0x93c)],_0x413a6c[_0x276629(0x8af)+_0x276629(0x7d2)+_0x276629(0x1df)]=_0x1d7bd0[_0x276629(0x349)],_0x413a6c[_0x276629(0x8af)+'eveni'+'ng']='今晚';const _0x346063=_0x413a6c;if(_0x346063[_0x3858e1])return'⏰\x20时间说'+_0x276629(0x5a5)+'用\x22'+_0x346063[_0x4b15c6]+(_0x276629(0x478)+'时间');if(_0x3fbb73&&_0x497bf8[_0x276629(0x9d0)](/^\d{4}-\d{2}-\d{2}$/))return _0x276629(0x7df)+_0x276629(0x89e)+_0x276629(0x6f6)+_0x3eb577;if(_0x145012&&_0x579955[_0x276629(0x9d0)](/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/))return _0x276629(0x7df)+_0x276629(0x41d)+_0x276629(0x1da)+_0x20e0a1;return'';}else{if(_0x409064[_0x276629(0x474)][_0x276629(0x7c9)+'des'](_0x201f33)){_0xd54965=_0x409064,_0x23dc14=_0x5a1c05;break;}}}if(!_0xd54965){const _0x2e5082={};return _0x2e5082[_0x276629(0x7f8)+'ed']=!![],_0x2e5082;}const _0x1c8943=Date[_0x276629(0x104)](),_0x593199=_0x1d7bd0['jvZac'](_0x1c8943,_0xd54965['windo'+_0x276629(0x9d6)]);!rateLimitRecords[_0x201f33]&&(rateLimitRecords[_0x201f33]=[]);rateLimitRecords[_0x201f33]=rateLimitRecords[_0x201f33]['filte'+'r'](_0x34880d=>_0x34880d>_0x593199);if(_0x1d7bd0[_0x276629(0x3c1)](rateLimitRecords[_0x201f33][_0x276629(0x26e)+'h'],_0xd54965[_0x276629(0x43b)+_0x276629(0x315)+'s'])){const _0xd5edee=rateLimitRecords[_0x201f33][0x0],_0x2e627d=_0xd5edee+_0xd54965[_0x276629(0x4d8)+_0x276629(0x9d6)],_0x33308f=Math[_0x276629(0x97b)](_0x1d7bd0[_0x276629(0x54f)](_0x1d7bd0[_0x276629(0x573)](_0x2e627d,_0x1c8943),0x3e8)),_0x163e0b={};return _0x163e0b[_0x276629(0x7f8)+'ed']=![],_0x163e0b[_0x276629(0x20d)+_0x276629(0x949)]=_0x23dc14,_0x163e0b[_0x276629(0x43b)+_0x276629(0x315)+'s']=_0xd54965[_0x276629(0x43b)+_0x276629(0x315)+'s'],_0x163e0b['windo'+_0x276629(0x9d6)]=_0xd54965['windo'+_0x276629(0x9d6)],_0x163e0b[_0x276629(0x4c9)+_0x276629(0x3e2)]=_0x2e627d,_0x163e0b['waitS'+_0x276629(0x350)+'s']=_0x33308f,_0x163e0b;}rateLimitRecords[_0x201f33][_0x276629(0x9ef)](_0x1c8943);const _0x23a899={};return _0x23a899['allow'+'ed']=!![],_0x23a899;}const VERSION_FILE_PATH=path[_0x2dbe2(0x449)](os[_0x2dbe2(0x8fa)+'ir'](),_0x2dbe2(0x501)+_0x2dbe2(0x763)+'ep',_0x2dbe2(0x889)+_0x2dbe2(0x5c1)+_0x2dbe2(0x33f)+'t');let versionUpgradeHint=null;function checkVersionUpgrade(){const _0x29f80a=_0x2dbe2,_0x127bf2={};_0x127bf2[_0x29f80a(0x861)]=function(_0x4ea7eb,_0x4e0417){return _0x4ea7eb===_0x4e0417;},_0x127bf2[_0x29f80a(0x661)]='LPMBz',_0x127bf2[_0x29f80a(0x5b2)]=_0x29f80a(0x566),_0x127bf2['FcFhR']=function(_0x32fe32,_0x3c47c7){return _0x32fe32===_0x3c47c7;},_0x127bf2[_0x29f80a(0x569)]=_0x29f80a(0x188),_0x127bf2[_0x29f80a(0x5b5)]='utf8',_0x127bf2[_0x29f80a(0x526)]=function(_0x162e78,_0x406ae5){return _0x162e78!==_0x406ae5;},_0x127bf2[_0x29f80a(0x7ad)]='[版本检测'+_0x29f80a(0x910)+'败:';const _0x48b43f=_0x127bf2;try{if(_0x48b43f[_0x29f80a(0x861)](_0x48b43f[_0x29f80a(0x661)],_0x48b43f['rsfOe']))return _0x285f0b;else{const _0x190f74=VERSION_FILE_PATH;let _0x2cf11f=null;if(fs[_0x29f80a(0x6b5)+'sSync'](_0x190f74)){if(_0x48b43f[_0x29f80a(0x9bf)](_0x48b43f[_0x29f80a(0x569)],_0x48b43f[_0x29f80a(0x569)]))_0x2cf11f=fs['readF'+'ileSy'+'nc'](_0x190f74,_0x48b43f[_0x29f80a(0x5b5)])[_0x29f80a(0x36c)]();else{const _0x1c2252={};_0x1c2252[_0x29f80a(0x7a0)]='text',_0x1c2252['text']='⏳\x20正在准'+_0x29f80a(0x514)+_0x29f80a(0x874)+_0x29f80a(0x767);const _0x32475e={};return _0x32475e[_0x29f80a(0x9cc)+'nt']=[_0x1c2252],_0x32475e;}}_0x2cf11f&&_0x48b43f[_0x29f80a(0x526)](_0x2cf11f,MCP_VERSION)&&(versionUpgradeHint=_0x29f80a(0x847)+'新版本已安'+_0x29f80a(0x36e)+_0x2cf11f+_0x29f80a(0x952)+MCP_VERSION+('),如遇问'+_0x29f80a(0x815)+_0x29f80a(0xa36)+_0x29f80a(0x735)+'er\x20st'+_0x29f80a(0x517)+'\x20mcpo'+'rter\x20'+_0x29f80a(0xa05)),console[_0x29f80a(0x503)](_0x29f80a(0x198)+'级提示]\x20'+versionUpgradeHint+'\x0a'));const _0x44766d=path[_0x29f80a(0x7c8)+'me'](_0x190f74);if(!fs['exist'+_0x29f80a(0x776)](_0x44766d)){const _0x14053f={};_0x14053f[_0x29f80a(0x42a)+_0x29f80a(0x195)]=!![],fs[_0x29f80a(0x400)+_0x29f80a(0x16b)](_0x44766d,_0x14053f);}fs['write'+'FileS'+_0x29f80a(0x6cf)](_0x190f74,MCP_VERSION,_0x48b43f[_0x29f80a(0x5b5)]);}}catch(_0x1c4a94){console[_0x29f80a(0x617)](_0x48b43f[_0x29f80a(0x7ad)],_0x1c4a94['messa'+'ge']);}}function getAndClearUpgradeHint(){const _0x16f5d6=versionUpgradeHint;return versionUpgradeHint=null,_0x16f5d6;}checkVersionUpgrade();let CHAIMI_API_SECRET=process.env.CHAIMI_API_SECRET;const ENV=process.env.NODE_ENV||'produ'+_0x2dbe2(0xa45),_0x3acb32={};_0x3acb32[_0x2dbe2(0x9fb)]='enc:v'+_0x2dbe2(0x64b)+_0x2dbe2(0x1c1)+_0x2dbe2(0x930)+'c6111'+_0x2dbe2(0x171)+_0x2dbe2(0x57b)+_0x2dbe2(0x5c5)+_0x2dbe2(0x9d9)+'1dc69'+_0x2dbe2(0x4c6)+'49e8d'+_0x2dbe2(0x424)+_0x2dbe2(0x843)+_0x2dbe2(0x70b)+'61c7a'+_0x2dbe2(0x759)+_0x2dbe2(0x46a)+_0x2dbe2(0x5b6)+_0x2dbe2(0x4bf)+_0x2dbe2(0x7c3)+_0x2dbe2(0x7a1)+_0x2dbe2(0x2ba)+_0x2dbe2(0x862)+_0x2dbe2(0x118)+_0x2dbe2(0x475)+'22b2b'+_0x2dbe2(0x48d)+'1be02'+_0x2dbe2(0x5c3)+_0x2dbe2(0x70e)+_0x2dbe2(0x90c)+'2d3e7'+'6df6d'+_0x2dbe2(0xa02)+'d46d6'+_0x2dbe2(0x869)+_0x2dbe2(0x46f)+'f4282'+_0x2dbe2(0x881)+_0x2dbe2(0xa13)+_0x2dbe2(0x983)+'4857c'+_0x2dbe2(0x5bd)+_0x2dbe2(0x73f)+_0x2dbe2(0x948)+_0x2dbe2(0x38f)+_0x2dbe2(0x75f)+'7',_0x3acb32['oauth']=_0x2dbe2(0x865)+_0x2dbe2(0xbc)+_0x2dbe2(0x758)+_0x2dbe2(0x597)+'23d6e'+_0x2dbe2(0x48f)+_0x2dbe2(0x83d)+'b342:'+_0x2dbe2(0x723)+_0x2dbe2(0x53a)+_0x2dbe2(0x128)+_0x2dbe2(0x89d)+_0x2dbe2(0x54a)+'6f915'+_0x2dbe2(0x253)+_0x2dbe2(0x9fd)+_0x2dbe2(0xa48)+_0x2dbe2(0x7be)+_0x2dbe2(0x9d7)+_0x2dbe2(0x27d)+'ce6b8'+_0x2dbe2(0x112)+_0x2dbe2(0x13f)+_0x2dbe2(0x206)+_0x2dbe2(0x3ec)+_0x2dbe2(0x381)+_0x2dbe2(0x9c2)+_0x2dbe2(0x649)+'7e52c'+_0x2dbe2(0x23c)+'ffe47'+_0x2dbe2(0x241)+_0x2dbe2(0x823)+_0x2dbe2(0x401)+_0x2dbe2(0x345)+_0x2dbe2(0x826)+_0x2dbe2(0x7c5)+_0x2dbe2(0x86d)+_0x2dbe2(0x82c)+_0x2dbe2(0x73c)+'a00ef'+_0x2dbe2(0x500)+_0x2dbe2(0x9b)+_0x2dbe2(0x8a6)+_0x2dbe2(0x61f)+_0x2dbe2(0x40c)+'bf597'+'e0',_0x3acb32[_0x2dbe2(0x836)+'t']='enc:v'+_0x2dbe2(0x82b)+'8c504'+_0x2dbe2(0x2dc)+_0x2dbe2(0x4fa)+_0x2dbe2(0x1d5)+_0x2dbe2(0x79f)+_0x2dbe2(0x2b9)+'ed5fc'+_0x2dbe2(0x290)+_0x2dbe2(0x6bd)+'4e8ae'+_0x2dbe2(0x725)+_0x2dbe2(0x6e0)+_0x2dbe2(0x410)+'831fd'+_0x2dbe2(0x239)+_0x2dbe2(0x966)+_0x2dbe2(0x25f)+_0x2dbe2(0x945)+_0x2dbe2(0x86a)+_0x2dbe2(0x399)+_0x2dbe2(0x3de)+_0x2dbe2(0x65d)+_0x2dbe2(0x9da)+_0x2dbe2(0x318)+_0x2dbe2(0x504)+_0x2dbe2(0x814)+'2103b'+'1cc45'+_0x2dbe2(0x296)+_0x2dbe2(0x1f1)+_0x2dbe2(0x548)+_0x2dbe2(0x749)+_0x2dbe2(0x97)+_0x2dbe2(0xbe)+_0x2dbe2(0x4a9)+_0x2dbe2(0x4c8)+'401e1'+_0x2dbe2(0x5d1)+_0x2dbe2(0x940)+_0x2dbe2(0x3a7)+_0x2dbe2(0x267)+_0x2dbe2(0x491)+_0x2dbe2(0x998)+_0x2dbe2(0x71c)+_0x2dbe2(0x599)+_0x2dbe2(0x7cd);const _0xa8c5d0={};_0xa8c5d0[_0x2dbe2(0x9fb)]=_0x2dbe2(0x865)+_0x2dbe2(0x957)+_0x2dbe2(0x8a0)+'bd51a'+_0x2dbe2(0x691)+_0x2dbe2(0x754)+_0x2dbe2(0x835)+_0x2dbe2(0x62f)+'3d57b'+'5ac7f'+'798c6'+'77020'+_0x2dbe2(0x89b)+_0x2dbe2(0x605)+_0x2dbe2(0x913)+_0x2dbe2(0x382)+_0x2dbe2(0x260)+_0x2dbe2(0x883)+'61090'+_0x2dbe2(0x24d)+'f3799'+'aac12'+_0x2dbe2(0x926)+_0x2dbe2(0x182)+'3d512'+'eb4f1'+_0x2dbe2(0x5b3)+_0x2dbe2(0x3bb)+_0x2dbe2(0x2d2)+_0x2dbe2(0x278)+_0x2dbe2(0x8fd)+'122b1'+_0x2dbe2(0x9b2)+_0x2dbe2(0x604)+'71f14'+_0x2dbe2(0x681)+_0x2dbe2(0x2cd)+_0x2dbe2(0x26c)+_0x2dbe2(0x1a0)+_0x2dbe2(0xbf)+_0x2dbe2(0x14d)+_0x2dbe2(0x105)+'ec403'+'690d5'+_0x2dbe2(0x7b0)+_0x2dbe2(0x321)+_0x2dbe2(0x519)+'1865e'+'b',_0xa8c5d0[_0x2dbe2(0x7c1)]=_0x2dbe2(0x865)+_0x2dbe2(0xa25)+_0x2dbe2(0xb3)+'0bc14'+_0x2dbe2(0x255)+_0x2dbe2(0xa3c)+_0x2dbe2(0x3f9)+'8b61:'+_0x2dbe2(0x97a)+_0x2dbe2(0xe6)+_0x2dbe2(0x9f1)+_0x2dbe2(0x454)+_0x2dbe2(0x4fd)+_0x2dbe2(0x124)+'9c:1b'+_0x2dbe2(0x9d8)+_0x2dbe2(0x4f7)+_0x2dbe2(0x380)+_0x2dbe2(0x5d5)+_0x2dbe2(0x6b9)+_0x2dbe2(0x183)+_0x2dbe2(0x674)+_0x2dbe2(0x43f)+_0x2dbe2(0x9b9)+_0x2dbe2(0x5b0)+_0x2dbe2(0x656)+_0x2dbe2(0xee)+_0x2dbe2(0x3ce)+_0x2dbe2(0x955)+_0x2dbe2(0x683)+_0x2dbe2(0x701)+_0x2dbe2(0x7c6)+'872ae'+_0x2dbe2(0x829)+_0x2dbe2(0x812)+_0x2dbe2(0x562)+_0x2dbe2(0x2f8)+_0x2dbe2(0x6fc)+_0x2dbe2(0x8bb)+_0x2dbe2(0x390)+_0x2dbe2(0x216)+_0x2dbe2(0x7e3)+_0x2dbe2(0x751)+_0x2dbe2(0x197)+_0x2dbe2(0x1ff)+_0x2dbe2(0xf6)+'c4158'+'0e',_0xa8c5d0[_0x2dbe2(0x836)+'t']='enc:v'+_0x2dbe2(0x793)+_0x2dbe2(0x919)+'14161'+'d59df'+_0x2dbe2(0x602)+_0x2dbe2(0x2e0)+_0x2dbe2(0x99e)+'6023b'+_0x2dbe2(0x59e)+_0x2dbe2(0x224)+'bec64'+_0x2dbe2(0x11c)+_0x2dbe2(0x663)+_0x2dbe2(0x2c5)+_0x2dbe2(0x9a)+'985a1'+'914c0'+_0x2dbe2(0x418)+_0x2dbe2(0x7d8)+_0x2dbe2(0x2b0)+'e3fd4'+'fe439'+_0x2dbe2(0x15b)+_0x2dbe2(0x61b)+_0x2dbe2(0x740)+_0x2dbe2(0x19f)+'ccae6'+_0x2dbe2(0x28d)+'fd56e'+_0x2dbe2(0x3d2)+'27a72'+_0x2dbe2(0x78c)+'2b735'+_0x2dbe2(0x665)+_0x2dbe2(0x791)+_0x2dbe2(0x871)+_0x2dbe2(0x2a4)+_0x2dbe2(0xa26)+_0x2dbe2(0x8f3)+'86e4a'+_0x2dbe2(0x9f9)+_0x2dbe2(0x13b)+_0x2dbe2(0xb8)+_0x2dbe2(0x5ab)+'46d7c'+_0x2dbe2(0x5eb)+_0x2dbe2(0x1ca);const _0x52fe85={};_0x52fe85[_0x2dbe2(0x9e3)+_0x2dbe2(0x489)+'t']=_0x3acb32,_0x52fe85[_0x2dbe2(0x545)+_0x2dbe2(0xa45)]=_0xa8c5d0;const ENCRYPTED_URLS=_0x52fe85;function decryptUrl(_0x4a1847,_0x2d65a6){const _0x4e707e=_0x2dbe2,_0x8a645d={'lOKCJ':_0x4e707e(0x865)+'2:','hEPsD':function(_0x322415,_0x471416,_0x1fb42f){return _0x322415(_0x471416,_0x1fb42f);},'LQJAg':_0x4e707e(0x865)+'1:','CbzxQ':_0x4e707e(0x933),'UzVmU':function(_0x4cb509,_0x4e6f0b){return _0x4cb509||_0x4e6f0b;},'PYSuG':'chaim'+_0x4e707e(0x529)+_0x4e707e(0x55f)+'2024','lRwKY':function(_0x2c61bb,_0x11dc2a){return _0x2c61bb<_0x11dc2a;},'ySDcJ':function(_0x329f00,_0x4f0525){return _0x329f00/_0x4f0525;}};if(!_0x4a1847)return'';if(_0x4a1847[_0x4e707e(0xa05)+'sWith'](_0x8a645d[_0x4e707e(0x50e)]))return _0x8a645d[_0x4e707e(0x9b4)](decrypt,_0x4a1847[_0x4e707e(0x624)+'ce'](_0x8a645d['lOKCJ'],''),_0x2d65a6);if(_0x4a1847[_0x4e707e(0xa05)+_0x4e707e(0x7a3)](_0x8a645d[_0x4e707e(0x554)])){if('PWnEO'===_0x8a645d[_0x4e707e(0x50d)]){const _0x225527=_0x8a645d['UzVmU'](_0x2d65a6,_0x8a645d[_0x4e707e(0x82d)]),_0x1cec47=_0x4a1847['repla'+'ce'](_0x8a645d[_0x4e707e(0x554)],'');let _0x510807='';for(let _0x55c495=0x0;_0x8a645d[_0x4e707e(0x92d)](_0x55c495,_0x1cec47[_0x4e707e(0x26e)+'h']);_0x55c495+=0x2){const _0x43a04d=parseInt(_0x1cec47['subst'+'r'](_0x55c495,0x2),0x10);_0x510807+=String[_0x4e707e(0x367)+_0x4e707e(0x319)+'de'](_0x43a04d^_0x225527[_0x4e707e(0x4d7)+_0x4e707e(0x738)](_0x8a645d['ySDcJ'](_0x55c495,0x2)%_0x225527['lengt'+'h']));}return _0x510807;}else{const [_0x58c485,_0x53af54]=_0x5e281e[_0x4e707e(0x3b6)]('-')['map'](_0x405310),_0x3a58cf=new _0x3f018e(_0x58c485,_0x53af54,0x0)[_0x4e707e(0x7ca)+'te']();return _0x21776b+'-'+_0x3a58cf;}}return _0x4a1847;}let MCP_HUB_URL,MCP_PROMPT_URL,MCP_OAUTH_URL,tokenEncryptionKey;async function initConfig(){const _0x2a1e09=_0x2dbe2,_0xcc2026={'xMIgf':_0x2a1e09(0x3c6)+'68144'+'a50c6'+'d8d0c'+_0x2a1e09(0x230)+_0x2a1e09(0x339)+_0x2a1e09(0xdb)+_0x2a1e09(0x129)+_0x2a1e09(0x8b7)+_0x2a1e09(0x920)+_0x2a1e09(0x4b8)+'45d48'+_0x2a1e09(0x98f),'EmAfU':function(_0x189c16){return _0x189c16();},'VJVIX':function(_0x3d30e0,_0x41efce){return _0x3d30e0!==_0x41efce;},'ROrJa':_0x2a1e09(0x6b1),'KJvpY':_0x2a1e09(0x5ae)+_0x2a1e09(0x2c2)+'f0688'+_0x2a1e09(0xa04)+_0x2a1e09(0x497)+_0x2a1e09(0x5b8)+_0x2a1e09(0xa38)+_0x2a1e09(0x4fc)+'49f48'+_0x2a1e09(0x3fc)+_0x2a1e09(0x1d9)+_0x2a1e09(0x3da)+_0x2a1e09(0x8d9),'AOtir':function(_0x525f05,_0x3eb136,_0x170b89){return _0x525f05(_0x3eb136,_0x170b89);}},_0xb21a48=process.env.URL_ENCRYPT_KEY||_0xcc2026[_0x2a1e09(0x9a9)];tokenEncryptionKey=_0xcc2026[_0x2a1e09(0x7b3)](getOrCreateSecretKey);if(!CHAIMI_API_SECRET){if(_0xcc2026['VJVIX'](_0xcc2026[_0x2a1e09(0x530)],_0x2a1e09(0x6af)))CHAIMI_API_SECRET=process.env.CHAIMI_API_SECRET||_0xcc2026['KJvpY'];else{const _0x4a6982=_0x19b146[_0x2a1e09(0x7c8)+'me'](_0x3dcfaa);if(!_0x507247['exist'+'sSync'](_0x4a6982)){const _0xa22a5d={};_0xa22a5d[_0x2a1e09(0x42a)+'sive']=!![],_0x4ae2fa[_0x2a1e09(0x400)+'Sync'](_0x4a6982,_0xa22a5d);}_0x3260a8[_0x2a1e09(0x849)+_0x2a1e09(0x3d7)+'ync'](_0x2496fb,_0x1ec8e7['strin'+_0x2a1e09(0x222)]({'lastReadTime':_0x58d4b3['now'](),'readAt':new _0x249709()[_0x2a1e09(0x21d)+_0x2a1e09(0x9e9)+'g']()},null,0x2));}}const _0x528e52=ENCRYPTED_URLS[ENV]||ENCRYPTED_URLS[_0x2a1e09(0x545)+'ction'];MCP_HUB_URL=process.env.MCP_HUB_URL||decryptUrl(_0x528e52[_0x2a1e09(0x9fb)],_0xb21a48),MCP_PROMPT_URL=process.env.MCP_PROMPT_URL||decryptUrl(_0x528e52['promp'+'t'],_0xb21a48),MCP_OAUTH_URL=process.env.MCP_OAUTH_URL||_0xcc2026[_0x2a1e09(0x790)](decryptUrl,_0x528e52['oauth'],_0xb21a48),console[_0x2a1e09(0x617)]('✅\x20已加载'+'\x20'+ENV+'\x20环境配置');}let cachedEncryptedToken=null,tokenExpireTime=0x0;function getCachedToken(){const _0x37260e=_0x2dbe2,_0x30ef1a={};_0x30ef1a['PAIwb']=function(_0x222198,_0x545b5f){return _0x222198||_0x545b5f;},_0x30ef1a['TnUmz']=_0x37260e(0x8cb);const _0x1990fc=_0x30ef1a;if(_0x1990fc[_0x37260e(0xa2f)](!cachedEncryptedToken,!tokenEncryptionKey))return null;try{return decrypt(cachedEncryptedToken,tokenEncryptionKey);}catch(_0x8895a5){return _0x1990fc[_0x37260e(0x4e9)]!==_0x1990fc[_0x37260e(0x4e9)]?{'osType':_0x5d45b2[_0x37260e(0x5cf)+_0x37260e(0xa3f)],'osVersion':_0x18c02b['relea'+'se']()}:null;}}function setCachedToken(_0x15fe44){const _0x156a98=_0x2dbe2,_0x3b660e={'ujoNX':function(_0x3ad474,_0xd407c4){return _0x3ad474||_0xd407c4;},'RXbHq':function(_0x2db340,_0x1eb3e1){return _0x2db340!==_0x1eb3e1;},'WBjzk':'pqYsM','NbOZC':function(_0x15de5b,_0x3549c0,_0x461acb){return _0x15de5b(_0x3549c0,_0x461acb);}};if(_0x3b660e['ujoNX'](!_0x15fe44,!tokenEncryptionKey)){if(_0x3b660e[_0x156a98(0x34b)](_0x3b660e['WBjzk'],_0x3b660e[_0x156a98(0xe8)]))_0x347e9d+='\x20\x20'+(_0x1018b8[_0x156a98(0x3d9)]||'•')+'\x20'+_0x2d6d0c[_0x156a98(0x71a)]+':'+_0x592944[_0x156a98(0x715)+'ge']+'\x0a';else{cachedEncryptedToken=null;return;}}cachedEncryptedToken=_0x3b660e[_0x156a98(0x6a8)](encrypt,_0x15fe44,tokenEncryptionKey);}function clearCachedToken(){cachedEncryptedToken=null;}let oauthManager=null;async function initOAuthManager(){const _0x5aebf7=_0x2dbe2,_0x37cdbe={};_0x37cdbe['YHAZB']='1|8|9'+_0x5aebf7(0x5b9)+_0x5aebf7(0x761)+'2|2|1'+'0|3|6'+_0x5aebf7(0x35b),_0x37cdbe[_0x5aebf7(0x2b5)]=function(_0x4c706c,_0xcd0e7){return _0x4c706c+_0xcd0e7;},_0x37cdbe[_0x5aebf7(0x4eb)]=_0x5aebf7(0x8a9)+'I记账\x20M'+_0x5aebf7(0x19c)+_0x5aebf7(0x375)+'-\x20首次使'+'用需要授权',_0x37cdbe[_0x5aebf7(0x12c)]=_0x5aebf7(0x7ae)+_0x5aebf7(0x431)+_0x5aebf7(0x1a3)+_0x5aebf7(0x64e)+_0x5aebf7(0xc1),_0x37cdbe[_0x5aebf7(0x766)]=function(_0x48c5b6,_0x12c4cc){return _0x48c5b6+_0x12c4cc;},_0x37cdbe[_0x5aebf7(0x116)]=_0x5aebf7(0x714)+_0x5aebf7(0x7a9)+_0x5aebf7(0x6ba)+'存。',_0x37cdbe['QPSpE']=_0x5aebf7(0x7c1)+'-toke'+_0x5aebf7(0x110)+'n',_0x37cdbe[_0x5aebf7(0xa0a)]=function(_0x35d15b,_0x550e78){return _0x35d15b===_0x550e78;},_0x37cdbe[_0x5aebf7(0x730)]=_0x5aebf7(0x1d4),_0x37cdbe[_0x5aebf7(0x576)]=_0x5aebf7(0x27b),_0x37cdbe[_0x5aebf7(0x4b7)]=function(_0x25364b,_0x327d6b){return _0x25364b>_0x327d6b;},_0x37cdbe['gDTNV']=function(_0x1cca1c,_0x222e59){return _0x1cca1c+_0x222e59;},_0x37cdbe['MsbWK']=function(_0x17f906,_0x2c6bf3){return _0x17f906*_0x2c6bf3;},_0x37cdbe['YDnev']=function(_0x2fb388,_0x211421){return _0x2fb388===_0x211421;},_0x37cdbe[_0x5aebf7(0x348)]='mKPpE',_0x37cdbe[_0x5aebf7(0x577)]=_0x5aebf7(0xa37),_0x37cdbe[_0x5aebf7(0x252)]=_0x5aebf7(0x5ce)+_0x5aebf7(0x51b)+_0x5aebf7(0x6db)+_0x5aebf7(0x67d)+'授权',_0x37cdbe[_0x5aebf7(0x123)]=function(_0x225e45,_0x421f9b){return _0x225e45!==_0x421f9b;},_0x37cdbe[_0x5aebf7(0x4bc)]=_0x5aebf7(0x79a),_0x37cdbe[_0x5aebf7(0x5db)]='uSagm',_0x37cdbe['tlwAg']=_0x5aebf7(0x79d)+'保存的\x20T'+_0x5aebf7(0x61c)+_0x5aebf7(0x3d3);const _0x599df8=_0x37cdbe,_0xdae6e=configManager['getPa'+'th'](_0x599df8['QPSpE']),_0x15662a=new FileTokenStorage(_0xdae6e);oauthManager=new OAuthManager({'mcpOAuthUrl':MCP_OAUTH_URL,'tokenStorage':_0x15662a,'onQrCode':_0x136b55=>{const _0x5979e6=_0x5aebf7,_0x108f32=_0x599df8['YHAZB']['split']('|');let _0x3ac5c1=0x0;while(!![]){switch(_0x108f32[_0x3ac5c1++]){case'0':console[_0x5979e6(0x617)]('');continue;case'1':console[_0x5979e6(0x617)](_0x599df8[_0x5979e6(0x2b5)]('\x0a','='[_0x5979e6(0x10c)+'t'](0x3c)));continue;case'2':console['error']('\x20\x201.\x20'+_0x5979e6(0x121)+_0x5979e6(0x80e)+'小程序');continue;case'3':console['error'](_0x5979e6(0x5ff)+'输入验证码'+':'+_0x136b55[_0x5979e6(0x302)+_0x5979e6(0x464)]);continue;case'4':console[_0x5979e6(0x617)]('');continue;case'5':console[_0x5979e6(0x617)](_0x5979e6(0x863)+':'+_0x136b55[_0x5979e6(0x302)+'ode']);continue;case'6':console[_0x5979e6(0x617)]('');continue;case'7':console[_0x5979e6(0x617)](_0x5979e6(0x4cb)+_0x5979e6(0x967)+'账\x22小程序'+_0x5979e6(0x3c5)+':');continue;case'8':console[_0x5979e6(0x617)](_0x599df8[_0x5979e6(0x4eb)]);continue;case'9':console['error']('='[_0x5979e6(0x10c)+'t'](0x3c));continue;case'10':console[_0x5979e6(0x617)](_0x599df8[_0x5979e6(0x12c)]);continue;case'11':console[_0x5979e6(0x617)](_0x599df8['YLhCb']('='[_0x5979e6(0x10c)+'t'](0x3c),'\x0a'));continue;case'12':console[_0x5979e6(0x617)]('');continue;}break;}},'onTokenReady':_0x12d0a8=>{const _0x4706b2=_0x5aebf7;console[_0x4706b2(0x617)](_0x599df8[_0x4706b2(0x116)]);}});try{if(_0x599df8[_0x5aebf7(0xa0a)]('PwmtI',_0x599df8[_0x5aebf7(0x730)])){const _0x2a1fdb=await oauthManager[_0x5aebf7(0x2df)+_0x5aebf7(0x4f0)+'ge']['load']();if(_0x2a1fdb&&_0x2a1fdb[_0x5aebf7(0x63d)+_0x5aebf7(0x187)+'n']&&_0x2a1fdb[_0x5aebf7(0x6bf)+'esAt']){if(_0x599df8[_0x5aebf7(0x576)]===_0x599df8['GHkAT']){const _0x3f0175=new Date(_0x2a1fdb[_0x5aebf7(0x6bf)+_0x5aebf7(0x6f0)])[_0x5aebf7(0xa0e)+'me']();if(_0x599df8['jFUiE'](_0x3f0175,_0x599df8[_0x5aebf7(0x3ea)](Date[_0x5aebf7(0x104)](),_0x599df8[_0x5aebf7(0x83b)](0x5,0x3c)*0x3e8)))setCachedToken(_0x2a1fdb[_0x5aebf7(0x63d)+_0x5aebf7(0x187)+'n']),tokenExpireTime=_0x3f0175,authState['isAut'+_0x5aebf7(0x181)+'ed']=!![],console[_0x5aebf7(0x617)]('✅\x20已从文'+'件加载有效'+_0x5aebf7(0x51b)+_0x5aebf7(0x970)+_0x5aebf7(0x4a2));else{if(_0x599df8[_0x5aebf7(0xa23)](_0x599df8[_0x5aebf7(0x348)],_0x599df8[_0x5aebf7(0x577)])){const _0x44f98c={..._0x1a4935['data'],..._0x132484};_0x2b265c=_0x44f98c;}else console[_0x5aebf7(0x617)](_0x599df8[_0x5aebf7(0x252)]);}}else return _0x436db2;}}else return _0x5aebf7(0x7df)+_0x5aebf7(0x5a5)+'用\x22'+_0xd0956f[_0x14e271]+(_0x5aebf7(0x478)+'时间');}catch(_0x2a15af){if(_0x599df8[_0x5aebf7(0x123)](_0x599df8[_0x5aebf7(0x4bc)],_0x599df8['PaLQz']))console[_0x5aebf7(0x617)](_0x599df8[_0x5aebf7(0x2a3)],_0x2a15af[_0x5aebf7(0x715)+'ge']);else throw _0x5f360b;}return oauthManager;}const _0x13f8ac={};_0x13f8ac['name']='chaim'+_0x2dbe2(0x99f)+_0x2dbe2(0x8f9),_0x13f8ac[_0x2dbe2(0x5c1)+'on']=MCP_VERSION;const _0x1bc78b={};_0x1bc78b[_0x2dbe2(0x474)]={};function _0x2503(){const _0x20b795=['ioAwH+wTLY/OR60','mJO1mda','C3rezxy','zMLSDgu','5Bcp56Il5BQp','u1PxvNu','vuPZBLm','ywXbBw8','5y+V5P+L55Yl5yIg57g7','y0PHru0','vKXbELO','vvfWs3C','vKvsu0K','lI91DgK','mI4G5lUu57Ug','5lUK77Ym5OIr5OMn6io9','nwjJmde','5P+057gZquNORRa','BNtLV4xPOBVKVB8','vfvOwum','teLov0e','z2vUDa','CfbtsM0','77YADgHPCW','77YA5lIk5lYG5zU+54Mh','5A6m5Pw05PwW5O2U5AsN','BU+8JoAxOoMCGoMhJq','5Aw95zcd6AwT5zoMFG','t3nLBgi','tfDuDxy','ms4G5Q+p5lIQ','DgvZDa','CNrPzxm','qLL1qvC','iIbZDg8','zxrFCge','yJHIzwq','y2vPBa','te9TAeK','zxmUBwq','wxjiCMG','zNzIDeO','zwfKvgK','wu1uzNK','wNb1BM0','yZKZzdK','uhjVBxa','5PYa5AsN6yEr6AkD562B','57Ut5P2F5PEL5PYF77Yi','B24k','uxLsBuq','sEIUSoI0PI5Z','y2uGW5CG','AxrO','zK9YEMy','iowTL+ESPG','6k+75y+wifnR','mgu1oq','y3n2','wg9yrNq','imoxihf1','te5MAhm','iowUMUs5IEoaGUAVJW','AhrZ','s0nwsMm','rwfSwfC','ngi3nZq','vLvtq2m','u0r1qM8','yxFJGif3BW','6i635y+wu0Tj','Cgf0Dgu','mdbLzJO','As1Rzwu','t0P5uuC','6yEm5PEG5Rov55sF5OIq','z2vUDe4','qxP1s0i','ignHDgu','zxHPDa','tc5Tzos4Rq','CMjXEva','6k6W5B+g5Pon5l2C5A+8','Ee1jz2y','DvfPC1i','5lIQ5Qch5yEg5yIg57g7','s3zJwuW','BgvkBNC','yvHVtgq','zwX1wLq','5lIT55Qe5QIH5P2/5RIY','CgfJA2e','mwuZnZm','s0TJD2y','AevqC0q','uf9pqvu','C2H4vuq','qNPoy1q','x2zSB3C','ntKXnJy','B3j0zxi','6k6W6lsM5yQF6io95lQg','6k6W6lsM5A6m5OIq77Yb','5PYQ5zg95zcn','nsbJyxq','rMngAfi','zuvwvLG','yxjYyxK','nJfIndq','6AQm6k+b56cb5PYj5Pwi','4OcIiowWJ+EOI+w6JW','AhDgBNi','yMnhr2e','zxb6t1C','6l6t5ywL6AQm6k+b56cb','zNPTy2m','z1bUy0e','5y6F5AEl6k+35Rgc','y29UDgu','yxzLx3i','vxn2sKm','z2v0rgu','Bwf0y2G','iUAFToEXS0fj','DLPdAeq','5lMjcGRMOlNMJA4','5y+w5AsX6lsLoG','qu53zg0','D01Z','mdy4ztq','mJiWnJm','ogyWyMm','yte5yJm','5BcX6kEJ6zsb77YA','qLzyr1G','yNvN','uxnQwei','zxiG5y+Q6l+u','cJmUiha','nEwiHUMsNW','6yEr6AkD77Yi5B+f5AgR','zgv2zwW','6lsL77YA5PE26zE05l+H','uMXHuu4','55sO6zYa6kAb5O6i5P2d','562j77Ym5PA55l6/5zco','Aw5WDxq','u3rYAw4','iUwnIoMKKdm1','zw5HAEoaGq','zwnLAxa','6BUy6k6KkEoaGwq','nxWXFdC','ChvZAa','z3rIDfe','nwqXzte','BMfSqw0','z1f6B1C','y0jAwMi','6zo65lQm57QN5yIg57g7','5PwW5O2U77Ym5lIn6l+u','zxvMAfG','zMvHDhu','y2vHmti','DhrRu2K','AhvI','uhvxAfe','zdbHnZe','5yQF6io977YA5PAW5AkE','4OcIioAoIoADG+wUJa','6lsF6lsJ6l6t5ywL6AQm','BNb1Dca','yZq0yty','Axb0kowWJW','yJrMyte','C3rHCNq','ywDLBNq','57UN57UT5l+D5OYbFG','5PE26zE057Ue5lU26l2S','BMfStMe','tfPAywK','6ls55PE26zE0562j77Yj','s2DPqKq','5yIzC2f2zq','z2v0vgK','ioMhJEIMGEApKoEKUG','BuPyAxC','5PE26zE05BYc5BI477YA','5OIq55Qe77Yb77Yi5y+Q','ztm1mZq','qw1VDw4','swnUueS','sLfMsvu','sgfUzgW','5OkO55Qe6k6W6lsM5OYh','ywnRswq','6z2I55Qe6AQm6k+b56cb','zgvZyYG','w3nHDMu','AgriD1m','Dw5044cbCW','zxiGC3q','q1aG56UV5OMn','5P6q5AsX6lsL77YA','5zco57UT6k6W6lsM5Bcg','wurUzxy','z3nJDMO','mJOZmge','mdy2mMu','DwrLiem','ntdKUkRLRzFNRky','EYjUyw0','6lcd55sO5AsX6lsLoG','l+ACIowrQoACN++8Iq','ms7MN6xNNiSG','DgLJCW','6AoFl+EuN+A0U+ACJq','uefjD2i','zxzPy2u','lJuSiNe','sKj3ueu','5zob5zcn56EW','44cr6i635y+w5Bcp56wO','r2f5r0i','cIaGig0','z3nHuhm','nwrHyZC','ugLiA28','44cbB3bLBG','y3j5Chq','ogm3zwy','iUs4G+oaGEwBNUwKJq','5PwW77YAyw1V','B3jT','BNb1Dd0','5ywL5PE26zE077Yi5Q+R','uvfSwwe','ms4G6k+35PU0','zxnZ','y3rPB24','44cc57QV5lQr56UV6k6H','BwfYA2u','mwyZmwe','mdOWmcS','DKXet1i','6l+WifnRAq','ignHBgW','ksdKUi7MGlVPH5e','uxPQwvu','5l2/55sO55Qe5PIV5PYa','44cbzg91yG','yxvUDvC','77YmquNOP6pMNPa','Cgf5Bwu','ndrLmwu','s0vo6zsz6k+V','CNreyxq','mJfIowy','mtvHyMy','rvPsr1K','5lIT55QemI42','44cq5B+f5AgR44cr5RAi','5OIq5O6i5P2d77YAcG','wK5bBu8','q3bXs2C','DfPiz3q','ogvNzw9YDq','A2v5D28','55sO6Asq5Osj5B+R77Yb','5OIwignZDG','vgTsEMK','6lsL77YA5PYQ6k+75y+w','AfLgy1a','B3vUDf8','ALrNBwe','vK5TEhu','BNrOkoACRa','5lMjcUkaOIdOR7C','BMzV','44cq5B+f5AgR44cr5PwW','5A+F5PwW5O2U77Ym6BUy','tw9iuKW','zgnHzti','qMnlDhe','ExPrAKq','zgvszwm','DLbIyw0','yJu5ogi','zsdLRzFMRRxVVie','6AQm6k+b56cb5BEY6l+h','77Yj77Ym6k+36yEn5PAW','mJPIzMy','ios8MUIhQUwkQoMaGa','ztrHngm','ztC5zMi','thn2B3m','ioAoIoADGYi','swPQt3y','tuLtu0K','5lIQ5A2x5Q6177YABG','BxLMBg8','Aff4BLy','Dejszxm','zs9LBMq','EwvHCG','B3vIyw8','C2LVBG','6k+35l2/55sOCMu','5PAW54Mi5PYS5BEY5A6j','B3bLBMm','44cc5PsV5OYb5OYj5zgO','zuLK','77YA57Y65Bcr5B+f5AgR','cGRIMQdVUi8G6yEn','5lUu57Ug6zIf6k+75zco','DMDwAeW','BwTOqNC','CMvK','sLnZueC','ig1LC3m','vdeYoJa','DxrOu3q','mwvImMi','BNqSiha','z1D3BhO','z2v0x3q','mJaYnI0','Bg9Hzee','EuXUD20','6yEr6AkD5PIV5zcM5Q2J','kEoaGw90Aa','EMGTq04','Bgf0zuW','y2m5otG','77Yi5B+f5AgR77Yj5Oc7','v0jQEMS','4P2mioAoIoADG+wKSq','44cq5B+f5AgR44cr6k6W','5PYa5AsN5ywb6k64ia','s2ziu3e','Cvvlsha','ndrHodG','6yEr44cb57QI5yYf44cb','C3Dny0q','C2f2zv8','yxbPuhi','D05sENG','ChroBW','u0Lmy1G','yJDIngq','6jsS6i+C77Yj','DwjnAgm','CMrHEq','Cgf0Aa','B3rOzxi','qvvusf8','6lgH77YjcUkaOIa','rNb5Efa','z2zbBei','5lIk5zgOkEoaGxq','ExvU','DgfSqw0','zw1WBge','BM93','ztjMndi','zwfY44cbBq','y2HPBgq','5y+n6AAi5yAf5A6577Ym','rKHJB0i','BfDnv3C','Bu9rvwm','CMvWzwe','EhbLBNm','CMu9iUI2Hq','zoAiLNn0yq','BI5QC28','BNrqB2K','zMm1nJu','5OYb5PwW57Ue5OIwsG','AwnLpEMhKq','5y+n6AAi57g75z6l77YA','rwHMAhe','u3r0y3q','owzKngu','5l2CcUkaOIdPPPy','ChjPy2u','whDYBuy','mta0nge','DgrOBKK','5Aww6yEr44cb57QI5yYf','Bw1psK0','77Ym5yAn6k+75y+wCG','5OMt5BYaiUAFToEXSW','Ahnorve','Ag9At0u','odq1y2m','q1b1vei','57g777Yi5AAc77YA5y+2','x3jLy2u','nwe0nZe','yZfKyJa','vfPgse8','wvn4D2q','Cfnct0W','DgHLCG','A2D2B0e','5O2IoIa','C3vIBwK','77YA6Asq6AwU44cb6AoF','CMvKDwm','AM5Sseu','CMTIDwq','4PQG77IpiowkOoI9VEs/Nq','ota5ntzYrvfIrw0','D21HDgu','tKviuhO','t3byufa','yvbjqNG','ztrKoda','Au9SCgu','wwvxDva','B2qG5y+c5PwW','mtnKndq','5ywL5yIg57g777Yioa','5Ps25ywL5P2L5RQq77Yi','sKrvDwG','z2v0x2u','5O2U5zU+54Mh5PE255sO','C2jgr2O','6lcd55sOigDL','Dgvrthi','vwHowwe','uNbwBNK','Aw52ywW','B3vcC1O','Dg9VBa','ntC1zde','zgvMyxu','t0fOv3G','tKCUlI4','Dg9gAxG','Dw5044cbza','BgXzzwe','5OI36ygh5yIW6k6W6lsM','zMLSBeq','DxLrwui','6lsMiUwWJ+EOI+w6JW','77Ym6k+35Qoa5P+L5Bcp','44cq5B+f5AgR44crqq','ExHvAgS','mMmYyZK','swzRAxy','uLblvvm','ANvZDf8','Aw5N','iowiHUMsNW','5ywL77YjcJmU','BwLUqw0','y29Kzq','5zkmicG','BhmVDMe','6zIf6k+76l+u5zUE55Qe','cGRWN46jioAiKa','wK13Cxe','5zUE5Asn6kEe6iYdiG','tKDFve8','u3LUyW','DxnLCKe','zgvjBNm','AooaGwXHCW','AgHUAKe','6ls55Qch6k6W77Ym6BUy','nZuZmdi','D0TTz0C','5zwg5A6244cb6yEr6AkD','Fdz8nhW','6l6t5ywL6l+h6zw/77Ym','6k6W6lsM77Ym5Pon5l2C','5B2v5AsX6lsLcGO','ioEUOEEqHUwzQoACQG','Dwn0Aw8','5PwW5A2x44cc5AAc5O+q','sMDWr2S','Aw5JB20','5OgV5lIn5A6m5Pw0cG','q2Trz28','EwvHCUoaGq','veHFvvi','Ag9YAxO','zgq0nwi','zJGZogi','DuHRB1G','5PE26zE0oIa','zwLWDhm','C1rVA2u','BLfkvNu','77YbcGO','shHjCwO','sNzoCKO','uMvJB3i','BKXlzKy','44cq6k6W6lsM5yMn5B+f','DgGUANm','v1f1DKm','qMvHCMu','x05pvf8','surjsLm','iIbUyw0','C2L2zq','Cerru0y','nJLKm2y','cLVNIyJMNkZLJyC','wNjyA0y','cJiUioEHRG','Df9Mzwu','q1aGu2u','mdaL5AsX6lsL','BI9QC28','mdi1ogu','ywu0yJK','zxzLBMK','B3jZlMO','iIdIHPiGiG','5yI277Ym6BUy6k6Knq','6AkD5B+f6Ag75PIV6z2E','qNrZv1m','rvrfrdO','5P+t5zUE5Asn','5A6m5Pw05PwW5O2UcG','Axb0Aw8','DMLJzuK','mtaW','CxvHBNq','zxnRDg8','y3bFCMu','6k6W6lsM5yMn5B+f6Ag7','AwnVBG','zMvLzgi','5B2v5AsX6lsL77YA6yEr','zxj2zxi','5B2t5yMn5PE26zE0','BxbSyxq','vvHyEKC','BNruAw0','qKHkvKi','5Asn5yI256s65l6l5PwW','5OI35O+q5y+k5Ps25ywL','iowpGUAvSoAGVow8JW','z2nlC2K','6zEU6Aky44cb5PYj5yQF','DxzdEMm','6k+35Bcgihn5','nZi0m2y','ALPfsNq','sgTjz0O','5B+f5AgR5A2x5Q6177YA','Ag91CUoaGq','5lYA6kkR5OIQ5PAT44cc','A3vkqNu','lM1K','EgztsKO','mJyYmW','zxjdyxm','vLvvqw4','Avb6B1O','CfDAsLm','y2f0y2G','ioAyR+wqPUACIEMbLW','uxPxq0i','vxzAyuK','C3bVBNm','uhDTDeK','mtCYoda','CMLNAw4','BNbSuhu','5BYa5AEl5PEL5PYF77Yi','otuZytu','56gU5PE26zE05lI6ia','y+oaGw9Wzq','zw50CMK','veLWww8','5l6BigrHDa','BM9VBG','CM92zw0','B09Vq2O','q2rnvwO','sKjpvMO','zurmvNy','Bg93','5y+w5lQg5OMa5PYj5l+H','tu9OsfK','t3vKEeq','CMuO5zwg5A62','Cg9SBey','y1PqEwC','BMzPzY4','BcJLHAJPG6GP','Dgfvz0O','A2v0uhi','svj3EeW','mwiXmtC','77Ym5lIn562j5lQo5A6E','vMfgCxe','Dg9tDhi','5yAZ5PA55Qgi77YAcG','vKzWA0u','AgvTysa','5lIT55QeiUs4G+oaGq','5lIT55QemI41','5RAi6ls55PwW5O2U77Ym','C2TPBgW','ywTnALC','Dw50qw0','vw5sD2S','ogi1nZy','Df9Wyxi','Bwj5weC','CgDdr2i','ifnRAwW','lEAuR+whUUoaKEEuQa','zwzHDwW','zMyZzdK','BNrbBw8','BNreyxq','5lYy5yYw5BU66k6U77Yj','BgWG5A6A5lMj','q2ruCKu','C3rYAw4','BgLTAxq','u2X6BfO','EhrFzxG','yM9VBgu','lEwWJ+ELQooaKEEuQa','Dw5044cbBW','veX4zNm','5yQF77YbcGRILie','5B2v5AsX6lsLoG','mgmWode','B3jPzxm','DxrMoa','56Es5yAf5PYa5AsA6lcd','seXOvum','B3dJGifJDq','rgf0zEs6Ja','Dg9ju08','zerPC3a','iUE6OUwmHsiG','77Ym55sO5lQo6AQm6k+b','5zwg5zob5zcn56EW77Yi','z2LMEq','BLbYB3a','nZrIzty','5lYG6ycssLnp','sMr2zKe','Exr0B3y','ywDL77Ym5OQk','5y+kigLUCW','77Ym5yAn6lcd55sOzW','6zsz6k+VoG','zxrFDgu','Ahfrr2u','zYJPL67POPJMIQu','5B+f5AgR77Yj','ndy5mMm','A3jfwwS','77Yi5B+f5AgR77Yj5lYy','ihnHDMu','AMDMu08','BuvkCMq','ycdLT6xLHBCk','mxW5Fdy','ww1RB0u','mZe5yZm','562B6ycj57UF6k6H','5RAi6ls55PE26zE077Yi','yJjJztu','5QIH5z6l6l+B6kgm6kEJ','B250AooaGq','5ywdcUwWJ+ELQoAaUW','44cq5B+f5AgR44cr55sO','mwe4ytG','DgvYigW','5ywi6lcd55sO5Q2K5BEL','DfbYAwm','57UF6k6Hkq','ioAwH+s7TU+8JoIVTW','57QN5O+q56s6xsa','5OMN6kgm6k6W6lsM5Pon','B2jQzwm','zgv2Awm','tunqihy','5P2H77YjcG','zJC2mJG','D1jfCwq','DgfTCa','ioAwH+AHO+wgHEwUUq','lcjWCMK','ANbUtuG','owm6mtG','lI5DiUoaGG','ntjLogu','D2fYBG','rKf4Ewe','BcdMN7tNSBnb','ANnVBG','BwnWvMu','iGOkm++4J+kdOYa','mZG1zMTlre9o','5yw36i635y+w5yET6k+b','zMvLzfq','ntu0ntq','mJCYmdG','Bgf344cbDW','44cbBgfZDa','Bgf0zuG','Bvv3q3G','5PAW54Mi5PYS55Qe6kEe','CNzdu2O','yMi5y2u','lcbJyxq','y3jLyxq','x3bYB2m','ywn0Dwe','otHHzJK','BxPgr1C','BgvUz3q','yw/JGifHBa','4P2miowqR+wkQoAoIa','5Ps257QI5yYfmta','mtu2lJu','C2fNzE+8Ja','cGRILihILihILie','sEACJEwkOEApKos+MW','Ee1ZyNC','DxbKyxq','m2iXmJK','A3DiC2y','5Qoa5P+L5A6j6kof5PIV','ENHhsfy','zw5KC1C','m2q4yMm','4PYfioIHPEwfQowTLW','44cb5yw86igm44cb5Aww','ywrKrxG','teDttha','5P2/5RIY5P+t5zUE5Asn','BNvTyMu','pslPPjdPPA4I','44cq5PAh5PYS6k6W6lsM','BMfP44cbza','EsWGy2e','6l+u5zUE5Qc85BYp77YA','D09tuKW','5y+wu0Tjta','5A2x5Q6177YAC3q','5yET6k+b77YmquK','ogzJzty','yLbLB3e','yIdOSipNLkJLPle','nJvHnJK','yufXCKC','zwPLqwi','ALH2zgO','5PE277Yim+wiHUMsNW','CMj0ru4','ytDIzdi','5B+f6Ag75yYf5zcR77YA','ANDXAvO','6ykU566X44cb5B6U5l+H','CMvSzwe','mgFJGihLHymV','u3P5vfu','DgLUzW','moADOE+8JoACGowKPW','rvDsyvy','wMDeC2W','ufHQBha','5yIg5P6q77Yi6zU2qq','DgX3qwC','ogfLnwu','igfTB3u','CM9KDwm','mY4G5y+c6icd','5ywdcUIUOEEUL+wUNG','B1fZtKW','B21WDca','v1jKrNu','55sO5PEL5B+x6k6W5B2v','z2v0x2K','r1PhzgS','wxrwwuu','ntDLmJy','cGRWN5kHioINOW','sffMB1m','5z6l77YAy2XH','5B+f5AgR5A2x5Q6157Y6','B2Pwu0C','ru11y3a','B250Aa','uKvbra','mJG4zdO','zJC5mwi','zM15s0G','zgjHy2S','ywT3u0O','AMDzqLa','DowMGKnSyq','5l6l5PwW57Ue77YAwW','zhDwBfi','mtnHytG','u1bqqMm','zK1Ts2y','zgu6ndq','yLbvzee','y0LHD0i','kIOkcJtVUi/IG6m','lZuWmgC','vNrbweK','4O+WioAoIoADG+I2Hq','zxnWB24','oty2y2y','5y+w5yET6k+b5zkm6kEJ','twXkvfC','zgPlyLq','6k6W6lsMiGOk','zMqWyJC','uwzYv2W','BwLUDxq','CNnVCUoaGq','6AQm5lIn6ycA6l+hcG','tunqifm','BNrO','ksdKUi3KUidOH7q','sNDXDgS','u09o5A2x56YM','mZC0mdG','6io977YA5PAW5AkEia','BKTewey','Dg9Rzw4','mgvIyZu','5PYF77Ym5RIf6zMK5BM2','rwrhA04','AuPfy0e','B1vAq04','BNqG5O6i5P2d','zgf0yq','u0TjteW','DwrLlwq','B2XMB1u','ywDxr0G','ndGWmdC4ovDxtK1zrW','6Ag75ywi6lcd55sO5Q2K','CgvYAw8','Bgf5','r2LovKC','DuvAEfa','5PE25B+f6Ag76l+u5zUE','oIaI','57g7kEoaGwrH','Eg5RBKe','DgJVViNVViZKU6u','4PQG77IpicdMO4dMN6u','Dg9mB3C','nJKWoti','x3rLBxa','77Ym5lIn6l+u5zUE5Qc8','57UF6k6H5zgO5PYF77Yi','zvjRwwG','u0LlD2q','8j+uKsdPQOZOR4hNOie','56Es57QN5PE26zE05OIZ','kIOk4Psb4Psb','y29TCge','DxnLCKm','r2HArfy','zv9PBMm','5A2x5Q615lIT77Ym6k+3','8j+uJsdMTOJOTlNMTj4','5B+f6Ag75l2/55sOzW','55sO5lQo5yIg6Ag1','seHMre8','m3WWFdi','y2f0Aw8','5zob44cb5lQK6ycA44cb','AuLYquK','6k+35Rgc6l+h5lQo6Akr','Du9dshy','44cb5zwg5A6244cb5P2L','44cq5B+f5AgR44cr5Ps2','BNrZ','5Q2K5BEL5yw36i635y+w','y2XLyxi','CxvLC3q','5PYQ55+L6zsz6k+V','DhKIoJe','ntG1mgu','AgfYq28','5ywdcGRWN5kHia','6k6H77Yi5PsV5OYb5zgO','5l+D5A2y55Qeifq','D0fmv0m','BNnLxsa','yM1bqLq','5OYj54M55A6A5yIg57g7','nte5ztK','BhmVA2u','BevNB3i','y3rdyxq','ios4JEIdVEs4UUEPUG','B21L5lYA5OQL','6ycj44cc6l+u5zUE5Qc8','77Ym5BEY55Yb55wLxq','cGRWN5kHioIVTW','ue1fC1a','B3j5kowiHG','CKTWsfG','DwrUu3G','DenHDgu','5Qoa5P+L5RIf5y2viG','BgzWy1e','5zgkkEoaGwzL','C0viq1i','CZ0IwY4','DLzKyMi','5zUE5y6F5AEl5PwW5O2U','5AAc77YA5BEL6lwe44cb','zxHHBxa','5OI35O+q5y+k5PsV5yE6','zdCZmZm','t2j0Bwq','CMvXDwu','Df9Kyxq','DgHYB3a','Aw51Dgu','B24UDhG','B2rL5y+V6io9','zwPHBxe','44cq5B+f5AgR44cr5y2v','77YmmtpKVy3MLBa','zuHTywm','y2fHndG','CMvXDwK','vLffrwO','y0L2tKS','whvWzwi','vK1MtKe','uLHIshe','mdG6mda','5lYG5Q2K5A2x5Q6177Yj','t2rwsMW','B250Aos6Ja','zwnVBMq','reDeDLC','5PEG6zYa5yAn5QYH5O6i','r1fHqLi','5yw35y+c5PwWiIa','5y+V6ycj77Yj77Ym5AAc','5BEY5l2/55sO5B2t5yMn','y3rtDwi','A1nnyNO','lI4UiIa','cVcFN6iG5l2o5lYy','FdeX','44cru2vYDG','zNL0Bue','5zwg5zob5PIo57Ugkq','5PE26zE05O+p6l+W6kEJ','CgDpwhe','BgvZ','z3v0t00','BwfWCeS','rNLmzvO','5P6qoIa','5P2d5Rwb56Il','zNjVBum','B250AoAiLG','572U77YA5B+f6Ag75ywi','r0Dws04','twDiBKe','DhjPBq','5P+L5RIf5y2viG','6koficG','quNORRdOTkyG','55sO5Rov77YABwm','CNnPB24','6kEJ5yAZ5PA55Rov77YA','u2TPBgW','C29Y44cbBW','CNzLCIa','t0DXzfq','BMtJGilMNi3LIQe','zv9Yzwm','q2PbBvK','q3nhAMG','5lI6ihvZzq','5lUy5QY+5PA577Yi5AAc','rhLuExG','r1n0yNC','D2vPz2G','y2zJngq','nJa2mZq','otCZm2y','tMXjr1C','zxiO5yw25lUw','Cg9PBNq','6kgO44cc5PsV5OYb5OYj','5P6CiIWIyq','5PEG5Rov6k+75y+wia','uw9qzwi','rgf0zs8','44cq5B+f5AgR44cr6k6H','z1LvwKW','77YA5y+n6AAi5yAf5A65','77Ym6yo95PIV5B+f5AgR','nta1m2q','mgiZnwm','6yEr6AkD77Yi5OMa5PYj','ifnlsuW','ihjHD0K','AwnZ','6iEZ5Bcr5lIa5lIQ5zwg','5yQHl+wfTUs7LU+8Iq','AhD2Cha','5PYS5zgOkEoaGwW','mdrKmJa','77Ym5yIzBwfY','rvvhuem','uxzLEg8','EvnQzuy','6zkF5yAf5PYj5Pwi77Yj','Ce5YvLG','5y2G5Q+u44cb5RAi6ls5','BMfTzq','5OIw6igu57o75A6I5PYn','5y6F5AEl5zwg5zob5zcn','5yw25lUw5y+n6AAi','44cc6l+u5zUE5Qc85BYp','wKnAqvK','mdnLmMe','BgHfCM4','AwpJGifVCa','BML0pEwfGW','6io955Yl5yIW77YjcG','yxj0','DcbFzMW','ywjZ','5P6C44cb5PEL5yYw55sO','cVcFK6yG5P+057gZ','5zgO5PYF77YAywW','zw5Jzxm','44cq5PAW5yQF6io944cr','EEoaGUkAOo+4JYdMS6G','CKnHCMq','C3bSAxq','zxnjBG','zYNdLZuW','tKHTrhO','55sO5OYh5y2x','zJyYnMe','CNNJGifZDa','5P6q5QIH5P2/44cc55sO','5Bcp56wO6k6W6lsM5QIH','yxbWBgK','C1r6rMW','CvrXAxC','zunVzgu','yxzLx2u','5OIq5PAW55Qe6AQm6k+b','5lIT5A6m5OIq5O6i5P2d','zdjLnde','6iYd5zU0562B6ycj77Ym','B25Zzs0','5y+w5lQgigL0','Fdr8ohW','AgjVzMy','vwf3yum','6i635y+wifnR','mty1zta','5ywi57QN77Yi','Do+8IowoN+wNI+I+KW','Axb0iow3Pq','oweZntq','5AsX6lsLoG','ywrKsw4','lMXVzW','8j+tHsdLKAJMNj/VVjO','rMLSzvm','w+AvSoAnRUI/H+wKPW','zw1VAMK','ztDKy2e','CMvHzey','6lEZ6l+h5P2H5PwW77Ym','5lUk5AsP5lIl5y2i','mZLMyJG','5y675BM0kEoaGwm','DLH0vKy','D3PXB0W','vgLTzq','Cvrwuhe','44cc5y+n6AAi57g75z6l','4O+WioMQJoIVGEEGGq','DwrKEEoaGq','5B+f6Ag75ywi6lcd55sO','z2v0vgu','5A2x44cc5B+f6Ag75Qc5','z0rutLy','z2v0tw8','mgfImda','Buzgvei','BwKTBwm','thnWB0y','zgfPBhK','ELbsthm','s0rPBvq','Bhb3yw8','5lI65OkO5A6m5OIq6k6W','zhbMuNC','5P6C5lIT5Q2J56gU5O+q','whbZvue','DNDAwNq','zJa4ogu','mNWZFda','yKzoA04','zwmXm2m','tMLjzNm','6lsL77YA5lYy5OoG6yEr','C2XPy2u','BwTKAxi','mZG3owq','5QYH5O6i5P2d5zco77Ym','5lQo6k6W5B2v55sO5OI3','q2Hdtuy','zNfnCvu','x3nRAwW','q291BNq','tu1XExi','AhbJyMm','5OgV44ccqwDL','zhHJEfu','mdm2nwy','veXKEg8','zuDOCKy','r2LhEhO','yZG6yJG','yxjPywi','EwvZDgu','AwDODhm','uNv1y00','DhjHzq','swvuzhu','iowpGUAvSow/HEMHUW','nJG2ogm','CgvUC2u','77Yi5AAc77YABwm','5zgOkEoaGxrO','vePHCu4','5PIo77YA6k6W5B2v57k+','cMbGya','5PE26zE05BYc5BI477Ym','5lU35y2v5l2n77Yi5AAc','zgfvufG','5B6U5l+H5Bcp56Il5BQp','CMLJzCox','m2vJywu','ioATPoAJGoAFPEAyRW','5O2I5lI65PE26zE05OIZ','CooaGwn1CG','5PYa5PAWifnR','CwXAs3G','CMvJDxi','tKvfrf8','B3zPzgu','5OI355Qe5y6F5AEl6l6t','5BEY6i635y+w77Ym5PYj','iIbHBw8','ANnVBIa','54k55yE7iUAiKEEAHa','A05nvKy','5yw35O+q5lQK5y+n6AAi','5yIg57g777Yj44cbCG','DxnLCI0','BM90zq','yw1L77Yi5Ps2','qwP1tee','77Yi6lAf5BIcl+s+VW','DhjHBNm','Bwf4uMu','5OYj54wNifnR','y2H0A2W','6BUy6k6K5lI65ywO6yoO','ztiZnta','veT3AwC','Dg9W44cbyW','ioADOEA0NUwVN+E6VW','5Pon5l2C5AsX6lsL77Ym','l+ACIoAiLUAxPEACNW','6lsMcUkaOIdPPPy','CLHkug4','5RAi6ls55PEL5PYF','AxrLBq','AM9PBG','5P6q44cc6l+u5zUE5Qc8','Dg9Yzum','u2vSDMG','BM5HC0u','5lIQ44cb5ywdl+EBKG','B3rVy28','B3DTyxq','77Ym5AAc77YAmJa','D3Pky0W','AwXS6i635y+w','mde4nwy','6i+C57g744cb5Qc56iYo','DxjZB3i','AgLZx20','C2pJGifHBq','77YA5ywS5y+45zcn56EW','DM5HB3e','AxnbCNi','vM9QsMW','vgHNtwu','tLfUAhG','y29Tzsa','A3vLA20','zw50kos8Ma','yxDjBNa','5Q+R56Es57QN5PE26zE0','B2rL','Dw5PDa','CNrDia','5OIZ77YmmtpKVy0','5Q2J56gU77YA5y6F5lU3','Axz3Efa','ngqXnwe','CgfYyw0','z3jVDxa','yNvKz2u','q09nueW','m2fJzgu','Df9Kzxm','mJyTmdq','BgnVBNq','sLvtvf8','Dg9VBhm','m2iYmdm','x3LLyxi','wxvVBu4','iUs9Nos4UUM7MoIUPa','rgf0zq','zos4REEAHoAOOEADVW','Dw50pxa','5PYF77YAmZdLIiy','ndm5ota1uKzXs2Pz','5lIl6kEe6iYd5OMN6kgm','AwXSioIUSa','A1Pty1y','B3vUDa','5A+F6i635y+w5OIq5yQF','Fdv8mti','6l+u5zUE5y6F5AEl5PwW','5lYG5PE26zE05y+c5PwW','Df9ZA2K','5PIo77YA5Qoa5Rwl5yIW','D1jSEgS','B3bTzw4','u3LIrg0','rhHvuvy','mta0odi1mJHbDMXhzfq','zwe4mdC','A0vLD2O','mZiWzdm','Axb0','yZaZnZy','4O+ZioIVT+wCQowWJW','5zcRif9MBa','BNrOkos4IG','44cq5B+f5AgR44cr5Rwb','z2vUDoEXUW','nte4nJu','ywnR','5P+L6k+I57Ut5P6C5QIH','ChjPB3i','BNnL44cbBq','C0XYsuG','77Ym5AAc77YAyw4','5Qc85OYj54wNifm','BvbYB20','5PIV5zcM5yYf5zcR5RAi','vfbfDuK','5PAW5O6i5P2d','y2vPChq','8j+BJE+4JW','5PwW77YABMfT','EefJEgW','s3fksge','v1rpr0W','mMfKyJa','B3j577Yi5yIg','Bwf0zt0','EgPUz0m','FdeWFde','AwXSiowUMG','y29UzMK','57g744cb5A625Bgf5RIf','77YAkIO','Aw5ZDhi','5BEY6l+h5PYF77Ym55sF','C1jTvwm','5lIL5Qc85OYj54wN5lIk','Dgf0zq','AKzvAuu','owzMoty','5ywL6lsM6Ag65yIP77Yb','whjsCg8','uwfNvhe','BLzAqKu','5Bcp56wO5PEL5PYF','6k+b56cb77YAkIO','zgvLyZi','77Ym6lAf6l+h6yoO5yIg','qvvusdO','kEoaGxn0BW','Fdf8mNW','vxPKA1q','BgLKyxq','nJzLote','5lMj44cccGROR7C','nguYnge','CMvZzxq','77YiDgHPCW','icdOR7FLNkGI','6AkD5B+f6Ag75PIV5Q2J','C2uTDgu','Bw9UDgG','svvtshK','A0XXuwS','q1nMuMS','5A+85yE65Qc85BYp77YA','5Qoa5Rwl5yIW5lIA5yQH','5zwg77Ym5AAc77YAyq','BenYB08','y29TCg8','y2HHCKm','D2LUzg8','C2v0rw4','Dw505lMl5zkm','zgf0zv8','55sO5AsN5QIH5z6l6l+B','yxrHlNm','yw50Axq','BefTB3u','5zUE5Qc85BYp5yYw5RAi','mJuYnJiWAxDJq2nt','t0rIqu8','cVcFK4SGu2S','wwDbtgC','AxnbDxq','AxnJB3u','562j5B6f55sF5OIq6AQm','5PYS5BEL5yw35y+Q6l+u','vg5vBxO','5PYikEoaGwXH','AKP4ug0','DhmG5y+V5lIn','5BIc5zY65y2v5lU377Yi','Dw50ptm','6yca5QY+44cb55cg6lsI','u3rVCMe','zNrOr0q','ueLHsLK','EvjmDve','C2vFChi','sunTv0i','55Qe5QIH5P2/6iEQ6kgm','odbLzgq','y29UBMu','5A2y55QeifrV','n2eZnJq','562j77Yj5PE255sO5Q2K','mdDMoty','ogfLnwm','6lsM5yIg57g777Yina','CMfL','yZCZnMq','lMnOywK','CMvMzxi','Bg9N','yZiYogi','AgLUDa','6AkDicG','D29YA2i','5lIT55Qe5QIH5P2/6iEQ','w+EjIoACRoAJGoA1IW','y3DzChi','6k+35zYOiUAFToEXSW','Bg9Hzeq','q2j6Efe','Be9lq0O','5OI35O6i5P2d5lITlG','vg9VBca','6lAl5yQ/562j44cc5PAW','5Qch5yEg5OIq5yQF5QIH','5Q2K5BEL5yw355U05O6L','5Ash5O6i5P2d77Ym6k+3','Fdr8mhW','v1Llr3m','B3aGjIy','B3vUDd0','zwfLyZi','qwPLtgW','ifrVA2u','koACRowrQcNJGie','v0rXsgC','uwHiC0C','yw1L','whnMCNq','Aw50','D2vLAYG','tgfLswu','uM5NrNq','5PYQ55+L5zwg5zob','qMnWwMK','5OoG5zco77Yj','lM1Kios4Rq','As11CMW','AwXSioIVUW','svvcBKS','5O+p6l+W6k+355sOCW','mY4G5lIL5Qc8','6lsLcGRPLjNOR68','CerUueu','uK9YsMe','yK1frwS','swPbsKG','zxrFC2S','z2v0rNu','6kEJ5P6q5QIH5P2/44cc','zM9Yrwe','mte0m2HUwxvTAq','zv9JB20','5y2v5l2n77Yi5y+V6ycj','mdLKzMy','AvP0r0e','C2f2zuq','uMTKy0W','zKXOwwm','C2XWtg8','5zwg5A625zcn56EW77Yi','BgfKseC','BwnWx3q','5lUL5y+k5RAi6ls55QIH','EMTZBLm','ChjVzhu','5lUu57Ug6zIf6k+75BM2','6k6W6lsM6kEJ5P6q55Qe','yJi5owm','5PYQ55+L5BEL5yw3oG','yweZodG','5yMn5PE26zE0','ruHbueK','yNrRufO','6Akr5zwg5A6244cb5RAi','sezqAKC','vMz5DLK','BwHPt00','zhzztuW','kE+8JowMGUMbH+MxRG','tffkqwC','y2vZl3i','6kgO5lIn6io95lI656M6','B3jRyNu','DfHHEha','ELH3ru4','zwDVCNK','zsi6iUIlUq','cUkuGEkuGEkuGEkuGq','u2zhzva','6k6W6lsMlNnH','lwTLEs0','qM1zrha','5O6i5P2d54Q25Ocb5AsX','yte5y2u','l3nLCNy','zxHLy3u','5B+f5AgR77Ym5PYa5AsA','s1fbA3m','uwnTy0q','4P2mioAuTUwfPEIUSa','suDUALK','6lsL77YA6yEr6AkD5QcH','v1rJtKu','BwvDioACQG','BePntuS','56Il5yET6k+b77Ym5lUo','5Qc85BYp5yYw5RAi5OgV','5BM05PYi77Yi5AAc77YA','ioAbREwwNo+8GEAcQa','EuLgEMS','ANzAywm','DMPbzNG','5lQg5OMa5PYj5l+H5OgV','r0HRqvq','rM1HAxq','5lIT55QemI4Z','B21WDa','zgLNzxm','zgvHoge','kE+8JoM7MoIUPg8','rLjSt2O','55QeiUIWG+EuQowjJq','6ls55PE26zE057Ue5lU2','DhHnEva','6io95BU66k6U5OIw5y+r','BwvDioAxTG','wuD0Evm','ygbGANm','zxj0Eq','y2XHD+oaGq','6kAb5O+q56s677YAcG','DgLnBvK','thfZweS','CNHMvhO','BgzZEgS','q1D6yNa','verMtey','5O+q5lQK5OIq5yQF5zco','AxnxywK','5lUy44cb5PsV5lUy5A6D','5y+Q6l+u5zUE5y6F5AEl','5OYj5P2L5RQq562B6ycj','5P2H77Ym5PYa5AsNnq','A2HKwuK','cGOJiYa','z2PWzwS','m2fMmtC','C2TPCa','nJbImdy','6l+B5BQM44cc5RoO5Osp','5P2d5A6m5OIq5zco77Ym','5OIq5zco5BEY6iEQ5yQO','5yYw5BU66k6UkEoaGq','zguXnwm','vLfWC0W','AxrLBxm','rMnpyuu','rvvjB1C','ywrKuMu','zgvgBge','5PIo77YA57o757UF5l2/','sLrlu0q','vgXLsKi','yMzyANi','AwnLlca','B21L','ntqZzdm','AgfZt3C','teWUBwq','mdqWzJu','A3bot0i','nMrInwe','Ag9K','CNnMt2u','zJfJmtG','EwvHCK0','u1fKy3O','yte1mdi','BhrOkowbPq','zwu3nte','Fdb8nxW','Cg1wrwi','nxWWFdm','quDoAMW','yZKXotG','ksa9ia','6k+356In5zco6yEn6k+v','t0jjzKy','DMvYC2K','ltaX','zdC2ogu','ios9Nos4UIbZ','n2e1ndO','zxHWzw4','iow3PEwfT+IoT+wpLG','5PIo77YA5PYQ5OYh5A6A','5BEL5yw344cc5yMn572U','iJO1lJu','6k+b56cb77YbcGO','zgfKzhi','zE+8IowvHUwtGEwqJq','4O+Wios/NEwTMoEAHa','CgXHDgy','5O2UDw5PDa','mJCXywy','44cq5O6O6i2q44cr5RAi','CMvHza','iIdIHPiG','mdbLzdK','5PYj5zYOiefN','zgvZy3i','DhLWzxm','Dwn0q2e','q29UDMu','ugfmuxO','6k6KDhj1zq','Cwjuq0G','DufZwvy','77Yiyw1VDq','yNvNkoMxRG','kE+8Jos9V+EuQow9KW','5O2U5A6E6zMf5BM05PYi','y3vYCMu','77YA5B+f6Ag75ywi6lcd','svnp5Qc85BYp','ms4G6k+35Qoa','Dg9T5PE25B+f','BgLKvg8','zgLZy28','C291CMm','y2jKyZm','BNqGpsa','yuzdy1a','rxHzvfy','BMnLCY8','DwviAMi','Df9SAxm','5AAc5l2v5P+L55Yl5BEL','yw1VDw4','44cq5O6O6i2q6iEQ5yQO','qwnmDgy','5y+V5l2/55sO5Q2K5BEL','zhNJGif0CG','6yEr6AkD5B+f6Ag75PIV','8j+uKsdKVB/NLkJLT7i','uvrLwfO','s1LoAw0','mZC0mZqZm3vJDMrksa','562j5AsA57U05BQM562B','EwzSB3C','icaZlIa','DoEXU+wEI++8JowMGG','z2f0BNe','m2eYmJi','C2v0uMu','ztbHmMe','nMrMzdK','ltmW77Yj','z29YEqO','sLPoChm','ue9tva','5lIL5Qc85OYj54wN5lUL','AhDVqNe','54MP44cb6Asq6AwU77Yj','56wO6k6W5B2v77Ym6BUy','57g757UF6k6HkEoaGq','zwzLCMu','vujUrNe','6ls55PE26zE077Yi5Q+R','yxrL','5AgR5ywf44crqwC','5A6m5Pw0ifnR','77Yi5y+V6ycj77Yj77Ym','BKDMqwW','zxjYB3i','zwLWDa','5O6i5P2d77Ym54s25zco','rxHTCg4','ndG2mJm','B2TLBIa','5O2U77Ym5lIn6l+u5zUE','566x77Ym6zU2quK','ognMndy','EeLuBM8','5lUk5AsP5lIT5y2i','6kEJ5P6q5PE25B+f6Ag7','kos8MowmLUw7UUIURG','CMvWBge','CMvJzwK','AwXPDgK','BMrrBNu','5y6fl+InR+w6L+ETIq','ze9rrMO','6k+355sOC2f2','44cb6ikj57g744cb5Rc0','77YA5zwg5zob5PwW5O2U','rxjYB3i','5A2x5Q6177YA','zgeZntO','Efbmqxa','B3nwzxi','Ee9XBge','koI2I+wkVYNJGie','6i635y+w5RAi6ls557UF','m+s4QUAGH+whHUwiHG','5P+L6k+I5RAi6ls56k6W','yw92AgS','wLHJAxO','DKXwqK4','6i635y+w5Bcp56wO5yIx','ANbPyuq','77YACgfYCW','ywnJzxm','svHeuLm','CgPKBuC','r0Dmvuy','DhrLDgy','5Ash5RoO77Yi5y+V6ycj','yw1Llca','zvvVu1K','CNnLx3a','CM5Z','77YA5ywdlZuW','5Bcg6kkR5OUs57UD','mdi1mZG','m3W2Fdi','mJPKmZK','t0f1DgG','rxDIAvu','qwDLBNq','sfPOuvy','4P2mioIUSoI0PUwKSq','Axr5lca','5PwW57Ut5P6e','C3rHy2S','5zwg5zob55Qeige','BMv3BhK','nwmYyJa','nJi2odG0CujuBMfd','B2nHDgK','v0PYwvK','5Bcp56wO5zU+54Mh5l2C','Bc9ZzgS','y2HHAw0','n2yWyJy','yNbqrxe','EhrFAw4','DoAOOEADV+wsJoA1Gq','A3zQs0C','x25VDgu','m2y4ntq','4PQG77IpiooaKoAZQoAeJW','ztLInwe','rLLvuLC','yxrLx2e','rfjhvuy','DwfUDgK','wvLmzMK','ywHzz1q','6k6W5B2vsutJGie','5PIV5PwW57Ue','A3rKtKu','6lsLoIa','tw5Xtfi','EuLqwMq','6zsz6k+V77YA5B+f6Ag7','6Aky5OQL5zgkkEoaGq','zMm2nJq','vw5SB2m','su9utKi','44cr6i635y+w5PAh5A2x','5Rov77YABwnW','wg9gyNO','rgflCha','tMvou0K','5l+D5lYG6ycs5lUL5lIl','77Ym6zYa6kAb6yEn5PAW','yxr1CMu','DMfSAwq','5OI36l6t5ywL5lIT5O+q','y2i2yZu','zxmVCMu','yZu4zti','wurcugi','Dhj5Axi','AxPHDgK','swLIq2G','5BEY5A6m5OIq5O6i5P2d','5Q615Qc45A+55RIf5y2v','5lIl5A2x5Q6177YABG','Bwf4qw0','B3jKzxi','ELDHtxi','Bw9YBMK','EKfXB1G','vLfwrxa','zMy2otG','D0XcEfu','zw5pBMm','44cq5B+f5AgR44cr5zwg','q0HHB0W','v0L3Ahm','zgDhvMm','5zcd5Aw95zAD5Aw977Yb','id0G','Dow/HEMHU+s9V+EuQa','yxjZzv8','qxv0Afm','iowqJUwgJEIVLq','8j+uKcdPPPBMRkhKVB8','senPruC','n3WX','sLnptIa','BxvbvLu','AwvJwei','zcdLJ4lMLBdVViW','56wO5PEL5PYF5PIV5zcM','Ce5iuhG','lI7VViGZ5yIg','tMjpwKm','y29UDge','5PsV5lUy5PA55BYp77Ym','5ywdiUoaGUAZQoAeJW','BMfTzEoaGq','tUwTL+ESPUs4SU+8Iq','5zwg5zob6yEr6AkD5Oc7','t2vMB3i','5AsX77Ym5BcD6k+v5lUo','A05Juum','wMPhsMm','5lMj5PAh5QgJ77Yi6k+3','Bxb0','zxHPC3q','AenYA0m','BhmVy28','zfndEKu','mJbMmJa','zw4G5BEY5l+D','AwTqvLu','CMLVzoAiLG','n2mXmJu','uwfPze0','zxHWAxi','Aw5Mt24','zwHKC2C','57UT5l2/55sO6k6W6lsM','Dw9XEwG','5P+L5PIV5zcM5lUoia','z3ruweC','Aw1WCM8','v1PzBvm','ioEcUEwhU+EHRUIUPa','ygDLDf8','teDPvhC','EvjsEue','6AkD77Ym5B+f6Ag7562j','t1nQuMS','5ywdlZuWma','Ew5J','wvfnBfG','CY5Tzos4Rq','vfzVyue','uKnIzMS','zvnTtKe','q1fuDxm','DezMqLy','55QeiUs4G+oaGEwBNG','5yI277Ym6BUy6k6Kmq','DhnPB1a','BgXct2u','BIdLT7lOV4FMNj8','y2f0zwC','tunqioIWGW','q1LgCeq','5lMW5B6x5BYa5B+d77Yb','nZeXowu','546W5BYc5BI45PE277Ym','5PIV5PwW57Ue5OIwia','44cq5lIn6lcd55sOmq','CMuO5yQF6io9','vgvTCgW','sK1kr1y','C2TsCeC','mU+4J+kdOYdNGRNLH7SI','56gU5l+D5lYG6ycs5lUL','BwqG5lIT55Qe','BgWG5PAh5QgJ','5ywi6lcd55sOiga','77Yi5AAc77YA6jsS6i+C','y0v4wg4','ugzHrKm','zxnbDa','ltaX77Yj','5Q2K5BEL5yw344cc5yMn','5zU+54Mh6kEJ5P6q55Qe','4O+ZioETIEw+HEEuQa','BNnLlxq','5PYF5lI6ia','BwnWB3i','77Ym5AAc77YAy2W','A2vK','44cbC2vJBW','BerUD1K','nJqXmtu','CM1mz2C','x3DLzwS','5PE26zE077Ym5l2/55sO','CMfUzg8','zdrMmdC','BgWOksa','CM4O5QIH5BYp','B29HyKi','DhjLBMq','CxvirMS','5OYj5zwg5A625zcn56EW','z29YEsa','yxrPC3q','CIbJywW','mZa6y2y','zd1JDxm','vhbowvy','yZeWywi','DMvFAw4','u3vIq2e','Bujov2u','se1Pv0O','Dgf0Axm','4PYfioAoIoADG+AiKa','BwvZC2e','zt0Iu08','tLfUCNG','z0DXCgW','CKnWEwi','DgL0Bgu','B3vY44cbBq','zgy1m2u','5BQ3kEoaGw9W','AKfxzhC','z0LyC1K','BfLcqMS','zt0I5y2i6Asq','y2fWywi','zwvMyJq','vNPwqvG','yJLMywe','DgvtDhi','A2LSBca','DhLVsLy','5PYQ55+L5Ps25ywL','57UF6k6H57Ut5P6C5QIH','A2vUiowKSq','ChjVCgu','kZa4oJa','v0zozLu','ENzlvw8','r1z0uui','DgvNB3i','q2Xtsgi','seDoEMK','5z6l77Ym5AAc77YAyW','y3bVCNq','uLHADgO','Dg9KyxK','B2rLqxq','44cc5PsV5OYb5A+85yE6','6kEe6iYd77Ym5Q+p5QYH','ExbL','ndy3yZq','5PYn5yQH5O+q5l6B5zwg','77Yi5B+f5AgR77Yj5BQu','nwrInwy','mJjMzdm','tKHzrNy','6zE05O+p6l+W6kEJ5P6q','Bwf0zq','5P2d5AsX6lsLoG','44cbywn0Dq','z2v0x3a','Aw5ZAwC','5yAn6lcd55sOz2u','nta5nwe','6Ag76lcd55sO44cr6i63','igzYzxm','DcWGChi','zLvnDfC','w1r5Cgu','zw1YsK4','Bg9Ntwm','mgnHyZG','4P2mioMhJEAwSoINOW','s1fABfu','ntjHyMu','AKvVsNa','Bw91BNq','yxrLCY4','ndCWzJC','mtu5mtu','cUwvHUwtGEMhKEMINq','CMrHEv8','5O6O6i2q5l2/55sO77Yj','A2LSBaO','rw9oCLy','zJa1ytG','idqWmE+8Ja','nhW3Fde','suLRDwG','BwKTA2u','Curdz0W','rMnivwi','wuXOq2i','6yEn6k+vlI4U','zgv4lMO','5PIV5zcM5yYf5zcR5Bcp','s0Lmtc4','t3fLwMK','6Aky5OIw5BU66k6U77Yi','C2LMEq','qMXbrhK','zsbFzMW','ywH0s3e','CMLJzsW','l3jLC3a','5B2t5yMn5PE26zE05OIZ','5yQF77Yb5y+V5lUL57UN','AxnFBw8','C1n5BMm','A2LSBoIoTW','seHxDNy','ywn0Aw8','lIdLJ4lOGimG','zvHOCLu','zMvYzw4','5yIP5BQxl+s4REMKKa','zLviC28','77YAcUkaOIdMJOG','B3juB2S','6l+u5zUE5PwW6yEp6zMq','5zcR5A6m5Pw055QenG','ENrbshO','5BYp77YA5PYS5BEL5yw3','5lU35PwW5yc877Ym5Qc5','DgLTzv8','svfwCM0','5PwW57Ue5A2x56YM5lIY','cGOTls0','5BYp44cb5ygL5BQ344cb','rK96s0m','ngqZyZi','5Qoa5P+Lie1d','ugr1wxC','B3j5','qu90Axi','odiYzda','ihbYB2q','mJPIzwi','Bgf1zgu','AfjouKK','sgzwvfa','5lQo5P+L6k+I5Ase55cg','D2fPDfm','CMvZCg8','BNbVuhm','zw50l00','yvHvwuG','4PQG77IpicdLIQdOVB0','C3rKB3u','zJbIyZq','DhLWzq','mta5mgy','77Yj77Yi5B+f5AgR77Yj','C1DPDgG','5yYf5OUS77YAyNu','yxn0x3C','5yAn6k+75y+wCMu','lxjLywq','zgvZ','5yQF77Ybvg9R','ksaTios8Ma','4Psb4PsbcGRIMQdVUi8','Bwf0zEwaVa','uLnizMe','icaYlIa','Cw9ivuy','yZDKy2m','5P2dcGRIJ7mG','uNjKqMC','rw1bzLu','wwrSvxy','mowfGYi','cJhVUi/IG6mG5OMt5BYa','yw5LCxi','5BYc5BI4oG','4P2mios/NEwTMowKSq','yw1L77Yi5zwg','D2vLAW','5lMj5OMN6kgm6k6W6lsM','ywrKrMu','nwjHn2u','5PAW5OkO55Qe5P+057gZ','cGRJGjdPH43OPOe','B2f1DgG','55sOz2v0xW','nte5otm','zw5057g75z6l','odq1yZy','nJrIyJK','BMvUDhm','zgLYBMe','Aw5JBhu','z2v0rge','EK9szgW','wKTur24','odzKmW','Afv2uMS','5Bcp56wO57Yw5y+3','44cr5A6m5Pw055Qeia','CM9TChq','ywz0zxi','suv4u00','AKzos1y','BwLU','l+wpKEELQc/MLly','5BU66k6U5OIw6zEU6Aky','odu3n2u','rejez0C','Cfbxv3K','Aw9UlMO','mdpVViNVViZKUi4','44cc5Q+p5lIQ5zwg5zob','5OIr55QeiIdIHPi','4O+WioAxTUMxToIVTa','Bg9Hza','6zsz6k+V5OIQ5zU+5O+p','y29NtNe','zwi0mtC','C2f2zue','ios4QUwvHUwtGE+8Iq','BwnWuhi','Dgrov00','5Asn6kEe6iYdiU+8Ja','6k6H566x77Ym5AAcDq','z2v0sw4','u2nOzw0','s0Hkv3m','5ywL5yAf5A6577Ym55sO','CMf3sw4','u0nnCK4','CxD6rMC','cGRMTOJOTlNMTj4','5OYj5lUL5lIl5Q2L6AQK','BvLRwLy','C3vIC3q','5lIT55Qe5Bcp56wO5A2x','zM1cyNO','5lIk5PYikE+8Jos4JG','ywXSB3C','5lIT55QemI4X','x3rYywm','s094sxC','zxHWB3i','yxn0x20','Bwf0zEwTLW','DxnLCLa','44cbCMvJzq','DMrptMS','qg1Vzgu','DuniqMG','tefQshy','sgrpBfe','z2v0x3m','zxiVAw4','DuHNAfm','4PYfifnRAq','ugXXDMW','77Ymy2f0zq','CenHBgW','56wO5Rgh5Oc7kEoaGq','quNORRdOTkyI','44cbDgHPCW','5y+w5P+057gZquK','5zYOihjLCW','ytKXzJC','DgxKUOZPGiNKUia','nJK4ogi','6Aky6k+35OMN6kgm77YA','DgLVBIa','z2T5vfe','5P+L5PIV5zcM5lUo55sO','DgvTCgW','44ccqwDLBG','BoIoT+wpLUINHoImGW','5PIV6k6W6lsM5yIg57g7','Axr544cc56s6','DgvZlM0','AwXLu3K','q2DJugK','B3jPz2K','6l+B6kgm5REX5BQM5yIg','zJrIotK','Ag5LC3m','77Yj77YAcG','nwrKmwu','CgXHDgu','77Yj77Yi5y+V6ycj77Yj','ywy2mJu','l3r5Cgu','mJPHmdu','mZq1otu','ufLtDuC','sfbbEu0','D0PlAgG','Dgv4Da','AxL1BG','u056vei','BNrOCM8','5PEL5PE25yIg56Es6k6H','mZK0mZa','ChjVBxa','C3rVCMu','Afn0yxq','uerArfe','yvL2CeK','txnIv0S','77Yi6lsT54MPl+E+JG','owrMnZi','Df9HC2m','y29Tzq','v2XID3q','EwvHCIG','5BYp5yIg5P6q77Yi6AUy','mJq2nZG','EwDZqvG','6k+36yEn5PAW5y+r6ycb','BNrnzxq','8j+sOsdMO4dMTyVLIla','5ywL5P2L5RQq77Yj44cb','D3jPDgu','r3zkCuu','AeDKuge','5yE677Yi5Q2J5BI4546W','mtuW5lIQ5A2x','thz2Euu','DfvUDMe','6k+75y+wCMvM','Eu1HBMe','yKnHDgu','z2uUANm','mNWWFdu','6l2S6lsM44cb6yca5QY+','5BIciIb0BW','6iE06zsz6k+V44cc','qM5JveG','zMfnuhi','lI4U','D0LUChu','lwrLC2S','AgjRy2W','ywXLu3q','A2X6CNi','B250AcG','t0PTAK0','zty3ztG','icdPQOZOR4hNOie','ywXS','zw5JoNy','tK95yMi','tcdPHy3NVA4','5l+D5A2y55Qe6AQm6k+b','mwmYnZq','ztmXyMq','5P2H77Yj77YAcG','6yEn5PAW6kEJ5P6q77YA','ndDIzte','Dg90ywW','5RoO5Osp77YA5PAh5A2x','cVcFN6eG5lIT5lYy','nwjLmdK','whfXtKW','rK1LB0q','56In562j5yEG56Es5zco','5OYj54M55A6A5zwg5A62','iLnpteK','5zcM5A6m5Pw0','Cvv3sw0','zxiVC3q','BwvTyMu','4P2mie1dua','EufRAhe','6k6W6lsM5Pon5l2C77Yb','AvztugS','zuv4CgK','tMfTzq','mdvJyZa','sejPELG','oda5yJC','CgvUy2W','CM9hy0C','Dg9mB2m','BgfZDf8','ig1JCg8','BgfZDc0','5PwW5O2U5BQp5yIx5yYw','zs9Zyxy','qwTNBhK','8j+sOsdLHBhMIB7LIla','6kEM5y+r6yEn5PAW5O6i','Df9TB24','5AAc5P6C5lIn6lcd55sO','6k6W5B2vifnR','6z+Z6k6W6lsM5B+f6Ag7','BNnPz2G','BKfkvMu','6i635y+w6k+M57Ug5l2/','sxLcD2q','Cg9Uzw4','t091BKm','q2f0zwC','DcdNMOtOP6pMNPa','ote1owi','zxH0x3a','mZKZmwm','5PIo77YA6k6W5B2v5PEL','77Ym5l2/55sO5B2t5yMn','nJGYzgy','txDcC04','C3zjDKK','56Il5yET6k+b44cc4PQG77Ip','De9Juhm','x2v4Cgu','y2fHogq','y2xJGifXDq','57Yw5y+377Ym5y+V55sO','icdMN7tNSBnb','q29Kzq','DxfNuMO','rhj5y0C','CgfKu3q','Agv4','DgHPC18','ChbNqvm','zw51Bq','uvLeru8','Fdf8nhW','5PwW5O2U44cc5PAW5yQF','DooaGxbYAq','q01Uwxu','y2q3mJC','qvvmEwu','sEAiKoACRo+8GE+8Iq','rwfNDLq','ztDJztC','5O+q5lQK5y+n6AAi44cb','5A6A5lMj5OMN6kgm44cc','C3LZDgu','ywXZEvK','77Yj77Ym5lIoCgu','5P+057gZquNLIQK','6kEe6iYdiU+8JowgJq','zwrIywm','AhjVCgK','zxH0Chi','rwv0sgy','BuDVDKi','5ywdcUwUNUMzHEwUNG','z2v0x3i','Chv0','u096vu4','57Mb77YmmZaG','6lcd55sOz2v0','C3vJy2u','iowpGUIaGYbt','77Yi5AAc77YA6Asq6AwU','yLPmr2e','A2LSBa','zNzezuS','icjbz2u','Axr5','6lcd55sO6i635y+w5PAW','y2uIoJu','iowmHEwqQ+wUJoAvTa','mgnHza','D0Lzs28','zgvZyW','y3zetuy','z2v0rxG','6AQm6k+b56cb77Ym5y+Q','5Ps25ywL5PEL5PYF','BwfW','57g777Yj44cbCMe','AfzPCvi','AwXSioAwHW','zM9YBwe','yxrLz28','y3vZDg8','57Y65Bcr5B+f5AgR5y+c','44cq5B+f5AgR44cr5PsV','y29KAw4','A2vU','iUwfRs41ia','cGRNJRdLNkJLJ68','57g75lMl5lIa77Ym5AAc','su5RwMm','zgf0zq','6kgm5RIY5P+t5zUE5Asn','kos8MowmLINVViW','77Yi6yEr6AkD77Yj44cb','ytqXyZC','5ywZ6zsU6k+n77Yi5BEL','BuLSEhK','5PYS5PYikEoaGwW','EfvesuW','B3j5tMe','Cc1Ty3a','Ag9Tzwq','DgLTzxm','y21RyMu','odi1mda','B21WDoIoTW','kEE8UUwWKEwTL+AUTq','5Pwi5PYFnEwiHUMsNW','CY5QCW','6iEQ6kgm5RIY5P+t5zUE','DhjHy2u','zw5Krge','zw1LBNq','zg91yMe','ioASOE+8JoIVTYa','Dxfdu2y','ze92y08','5B2t5yMn54Mi5PYS55Qe','EvDssuC','zgm1mgi','ioAyR+wqPUATO+EHRG','zwzmCvu','5l6BiefNzq','xsdMO4dMTyVLPle','Cg9YDgu','qvbcDeu','zMi6n2i','5AgR5ywf44crquK','qxDurwC','kEoaGwHLyq','A3nezKy','A2v5CW','ytGZnJG','B+oaGwfSAq','AhbwwvK','BfDuvuy','5OoG5yMn77Yj','DxrPBa','C2f2zq','ywzHzJi','6iYd77Ym6yg/5ywn5yET','AeDNA04','5BU66k6UkEoaGwK','Axn0ioAFTa','z3DpyvO','yZK1n2m','5O6i5P2dcGRIMQdVUi8','5zob5lIa57QN5yIg57g7','44cb6AoF5zob44cb5lQK','B3nuExa','vfDlrwy','4Psb4Psb4Psb4Psb4Psb','Bfj3s1K','sgreyuK','6lcd55sO5l2G55Qe5AsN','y2uWnte','CMLUzW','DvLfu3m','ufDUru8','vLvrA3a','ihf1yw4','5ywdcUs8MoAdOo+8MG','qvbbwxO','Bu9HwKO','y1rJs2e','DgLTAxO','sxfJyKi','rxvxuLu','CgfYC2u','r3Pkv1C','B3b0Aw0','zJKXmJu','Bgf0zvy','5zob5yIx6kgO77Ym5PsV','uMvJzwK','q3vitgG','nJGYn2m','ioMhJEIMGEIVToAyJG','5PEL5PYF6iYd5zU044cb','zdy5nZq','vhLWzq','D3LTrwy','shfky1m','DoIoT+wpLUEAHg0','uvPPyxG','44cq5B+f5AgR44cr5BQx','57UF6k6H5zgO5PYF77YA','CurHvxy','rhv4qxO','iokgKIa','5Q6177YAAxrL','57Ut5P6C5lIT5O+q5y+w','ztDMmdq'];_0x2503=function(){return _0x20b795;};return _0x2503();}const _0x47c06a={};_0x47c06a[_0x2dbe2(0x722)+_0x2dbe2(0x626)+'es']=_0x1bc78b;const server=new Server(_0x13f8ac,_0x47c06a);server['setRe'+'quest'+_0x2dbe2(0xa17)+'er'](ListToolsRequestSchema,async()=>{const _0x1b0175=_0x2dbe2,_0x448061={};_0x448061[_0x1b0175(0x1fe)]='get_s'+_0x1b0175(0x8d2),_0x448061[_0x1b0175(0x3e3)]=_0x1b0175(0x18e)+_0x1b0175(0x74a)+_0x1b0175(0x810)+'记账最新\x20'+'Skill'+_0x1b0175(0x994)+'次记账前必'+_0x1b0175(0x2ec)+'工具,获取'+_0x1b0175(0x90a)+_0x1b0175(0x614)+_0x1b0175(0x8e3)+'档,然后严'+_0x1b0175(0x49e)+_0x1b0175(0x727)+_0x1b0175(0x8bd)+_0x1b0175(0x890)+_0x1b0175(0x513)+_0x1b0175(0x176)+_0x1b0175(0x648),_0x448061[_0x1b0175(0x3ed)]=_0x1b0175(0x249)+'t',_0x448061['gVsFA']=_0x1b0175(0x773)+_0x1b0175(0x220)+_0x1b0175(0x74b)+_0x1b0175(0x824),_0x448061[_0x1b0175(0x4f1)]=_0x1b0175(0xf1)+'expen'+'se',_0x448061['gGqpl']=_0x1b0175(0x20c)+'g',_0x448061['hQxnV']=_0x1b0175(0x283)+'r',_0x448061['IjjOv']=_0x1b0175(0x9e2)+')',_0x448061[_0x1b0175(0x22d)]=_0x1b0175(0x4ed)+'可选)',_0x448061[_0x1b0175(0xa1)]=_0x1b0175(0x540)+'可选)',_0x448061['WZYmS']=_0x1b0175(0x159)+_0x1b0175(0x275)+_0x1b0175(0x4d4)+_0x1b0175(0x833)+'pic、o'+'penai'+_0x1b0175(0x93)+_0x1b0175(0x26f)+_0x1b0175(0x831),_0x448061[_0x1b0175(0x7fb)]=_0x1b0175(0x7ee)+_0x1b0175(0x8ca),_0x448061[_0x1b0175(0x264)]=_0x1b0175(0x9b8)+_0x1b0175(0x743),_0x448061[_0x1b0175(0x2af)]=_0x1b0175(0xf1)+'recei'+'pt',_0x448061[_0x1b0175(0x1bd)]='【图片记账'+_0x1b0175(0x211)+'户上传小票'+_0x1b0175(0x7d6)+_0x1b0175(0x144)+_0x1b0175(0x6f2)+_0x1b0175(0x369)+_0x1b0175(0x8cd)+_0x1b0175(0x406)+_0x1b0175(0x81b)+_0x1b0175(0x22a)+_0x1b0175(0x979)+'rse_p'+'rompt'+'获取凭证和'+'解析模板。'+'用法:mc'+'porte'+_0x1b0175(0x70a)+_0x1b0175(0x258)+_0x1b0175(0x989)+_0x1b0175(0x9cd)+'eceip'+_0x1b0175(0x3ad)+_0x1b0175(0x450)+_0x1b0175(0x716)+_0x1b0175(0x96a)+_0x1b0175(0x150)+_0x1b0175(0x978)+_0x1b0175(0x10e)+_0x1b0175(0x856)+_0x1b0175(0x102)+_0x1b0175(0x518)+_0x1b0175(0x272)+'\x20item'+_0x1b0175(0x333)+_0x1b0175(0x254)+_0x1b0175(0x86f)+_0x1b0175(0x52c)+'ave_e'+_0x1b0175(0x10d)+_0x1b0175(0x88b)+_0x1b0175(0x304)+_0x1b0175(0x5aa),_0x448061[_0x1b0175(0xa1d)]=_0x1b0175(0x540)+_0x1b0175(0x22f),_0x448061['FpyxP']=_0x1b0175(0x5d2)+_0x1b0175(0x57f)+'。包含:y'+_0x1b0175(0x106)+_0x1b0175(0x23e)+'day、h'+_0x1b0175(0x71b)+_0x1b0175(0x33e)+_0x1b0175(0x6fa)+_0x1b0175(0x377)+'端会自动转'+_0x1b0175(0x426),_0x448061['uAhcK']=_0x1b0175(0x73e)+'付金额(优'+_0x1b0175(0x91d),_0x448061[_0x1b0175(0x90e)]=_0x1b0175(0x232)+'惠金额',_0x448061[_0x1b0175(0x762)]='(必填)实'+'付金额(优'+_0x1b0175(0x527),_0x448061[_0x1b0175(0x54c)]=_0x1b0175(0x94e)+'铺一级分类'+_0x1b0175(0x83c)+_0x1b0175(0xa2e)+_0x1b0175(0x396),_0x448061[_0x1b0175(0x32c)]='【必填】店'+_0x1b0175(0x9f5)+_0x1b0175(0x439)+_0x1b0175(0x77d)+_0x1b0175(0x628)+')',_0x448061[_0x1b0175(0x2b6)]=_0x1b0175(0x6aa)+'如:微信支'+_0x1b0175(0x590),_0x448061[_0x1b0175(0x82f)]=_0x1b0175(0x9c1),_0x448061[_0x1b0175(0x912)]=_0x1b0175(0x3a3)+'称(含规格'+')',_0x448061[_0x1b0175(0x1e7)]=_0x1b0175(0x342)+'价',_0x448061['XkbYG']=_0x1b0175(0xb0)+'量',_0x448061[_0x1b0175(0x29c)]=_0x1b0175(0x38b)+_0x1b0175(0x420)+_0x1b0175(0x647)+_0x1b0175(0x29b)+_0x1b0175(0x44e)+'、元/袋)',_0x448061[_0x1b0175(0x53b)]='【必填】金'+_0x1b0175(0x6cc)+'于\x20pri'+_0x1b0175(0x98a)+_0x1b0175(0x1ad)+'ity',_0x448061[_0x1b0175(0x637)]=_0x1b0175(0x694)+_0x1b0175(0x928)+_0x1b0175(0x6ed)+_0x1b0175(0x62b)+_0x1b0175(0x3af)+'品)',_0x448061[_0x1b0175(0x6b8)]='商品二级分'+_0x1b0175(0x126)+_0x1b0175(0x455)+_0x1b0175(0x4b0)+'洁)',_0x448061['tOcPs']=_0x1b0175(0xea)+_0x1b0175(0x4fe)+'3个标准分'+_0x1b0175(0x8ed)+':蔬菜、购'+_0x1b0175(0x60c),_0x448061[_0x1b0175(0xff)]=_0x1b0175(0x3a1),_0x448061[_0x1b0175(0x925)]=_0x1b0175(0x5f3)+'t',_0x448061[_0x1b0175(0x34e)]=_0x1b0175(0x11a),_0x448061[_0x1b0175(0x1ce)]='unit',_0x448061[_0x1b0175(0x937)]=_0x1b0175(0xa47)+_0x1b0175(0x244)+'e',_0x448061[_0x1b0175(0x8f5)]=_0x1b0175(0x545)+_0x1b0175(0x324)+_0x1b0175(0x55a),_0x448061[_0x1b0175(0x2ea)]=_0x1b0175(0x6dc)+_0x1b0175(0x78f),_0x448061['VMfNA']=_0x1b0175(0x159)+_0x1b0175(0x496)+_0x1b0175(0x2b3)+_0x1b0175(0x2e8)+_0x1b0175(0x1ae)+_0x1b0175(0x427)+_0x1b0175(0x374)+_0x1b0175(0x884)+_0x1b0175(0x99b)+_0x1b0175(0x134)+_0x1b0175(0x5f7)+'ae',_0x448061[_0x1b0175(0x96c)]=_0x1b0175(0x240)+_0x1b0175(0x42d)+'入内容',_0x448061[_0x1b0175(0x77b)]=_0x1b0175(0x495)+_0x1b0175(0x56e)+_0x1b0175(0x746)+_0x1b0175(0x69b)+_0x1b0175(0x836)+_0x1b0175(0x94c)+'yflow'+_0x1b0175(0x7ac),_0x448061[_0x1b0175(0x71f)]=_0x1b0175(0x837),_0x448061[_0x1b0175(0x552)]='items',_0x448061[_0x1b0175(0xa42)]=_0x1b0175(0x837)+_0x1b0175(0x899)+_0x1b0175(0x78f),_0x448061['EwbiU']=_0x1b0175(0x837)+'SubCa'+'tegor'+'y',_0x448061[_0x1b0175(0x32a)]='agent'+'Type',_0x448061[_0x1b0175(0x944)]=_0x1b0175(0xf2)+_0x1b0175(0x42c)+'r',_0x448061[_0x1b0175(0x332)]=_0x1b0175(0x143)+_0x1b0175(0x10d)+'es',_0x448061[_0x1b0175(0x6d5)]=_0x1b0175(0x636)+'录(支持周'+_0x1b0175(0xa2b)+_0x1b0175(0xcf)+_0x1b0175(0x444)+_0x1b0175(0x3c7)+_0x1b0175(0x95e)+_0x1b0175(0x310)+'源等多维度'+_0x1b0175(0x8b4)+_0x1b0175(0x2dd)+_0x1b0175(0x2ed)+_0x1b0175(0x6a4)+_0x1b0175(0x543)+_0x1b0175(0x842)+_0x1b0175(0x54e)+_0x1b0175(0xa0b)+_0x1b0175(0x3a5)+':本工具只'+_0x1b0175(0x484)+_0x1b0175(0x61d)+_0x1b0175(0x56f)+'。Agen'+'t必须使用'+'get_s'+'kill获'+'取SKIL'+_0x1b0175(0x9a6)+_0x1b0175(0x6d7)+_0x1b0175(0x7e8)+_0x1b0175(0x7a6)+_0x1b0175(0x77c)+'ces/r'+_0x1b0175(0x2cc)+'se-te'+_0x1b0175(0x1b6)+_0x1b0175(0x97d)+_0x1b0175(0x508)+_0x1b0175(0x8f0)+'。',_0x448061[_0x1b0175(0x982)]=_0x1b0175(0x2fb)+'推荐使用)'+_0x1b0175(0x96d)+_0x1b0175(0x6fe)+'(本周)、'+'last_'+'week('+_0x1b0175(0x100)+_0x1b0175(0x457)+_0x1b0175(0x860)+_0x1b0175(0x8f6)+_0x1b0175(0x7fd)+_0x1b0175(0x860)+'上月),与'+_0x1b0175(0xa05)+_0x1b0175(0x38a)+_0x1b0175(0x904)+_0x1b0175(0x813),_0x448061[_0x1b0175(0x139)]=_0x1b0175(0x887)+_0x1b0175(0x7bb),_0x448061[_0x1b0175(0x7f6)]=_0x1b0175(0x8af)+_0x1b0175(0x4ce),_0x448061['KKcwf']=_0x1b0175(0x887)+'month',_0x448061[_0x1b0175(0x39f)]=_0x1b0175(0x3dc)+_0x1b0175(0x308),_0x448061['HHWvv']=_0x1b0175(0x1d8)+_0x1b0175(0x5e5)+',如:20'+_0x1b0175(0x471)+_0x1b0175(0x6f1),_0x448061[_0x1b0175(0x9e5)]='按分类筛选'+_0x1b0175(0x8d0)+_0x1b0175(0x929)+'通)',_0x448061['oQsNL']=_0x1b0175(0x707)+'筛选',_0x448061[_0x1b0175(0xa4a)]=_0x1b0175(0x592)+_0x1b0175(0x41a)+'p_txt'+_0x1b0175(0x8a5)+_0x1b0175(0x49b)+_0x1b0175(0x1af)+_0x1b0175(0x4a3)+')',_0x448061[_0x1b0175(0x99a)]='排序方式:'+_0x1b0175(0x4db)+_0x1b0175(0xa1b)+_0x1b0175(0x9ed)+_0x1b0175(0x667)+_0x1b0175(0x458)+_0x1b0175(0xaa)+'desc、'+_0x1b0175(0x5f3)+_0x1b0175(0x83e),_0x448061[_0x1b0175(0x54d)]=_0x1b0175(0x4db)+_0x1b0175(0x8db),_0x448061[_0x1b0175(0x2ef)]=_0x1b0175(0x4db)+'asc',_0x448061[_0x1b0175(0x951)]=_0x1b0175(0x5f3)+_0x1b0175(0x470)+'c',_0x448061['SfGeP']='amoun'+'t_asc',_0x448061[_0x1b0175(0x608)]=_0x1b0175(0x210)+'an',_0x448061['ClUxQ']='get_r'+'eceip'+_0x1b0175(0x5f1)+'t',_0x448061[_0x1b0175(0x2ab)]=_0x1b0175(0x63a)+_0x1b0175(0x386)+_0x1b0175(0x947)+_0x1b0175(0x173)+_0x1b0175(0x5fd)+_0x1b0175(0x327)+_0x1b0175(0x784)+_0x1b0175(0x591)+'数据,不返'+_0x1b0175(0x4e0)+_0x1b0175(0x40a)+_0x1b0175(0x968)+_0x1b0175(0x7c2)+_0x1b0175(0x1fb)+_0x1b0175(0x99c)+_0x1b0175(0x5ad)+_0x1b0175(0x1f8)+'回复规范\x22'+_0x1b0175(0x120)+_0x1b0175(0x60f)+_0x1b0175(0x5ef)+'respo'+_0x1b0175(0x6f5)+_0x1b0175(0x103)+_0x1b0175(0x81e)+_0x1b0175(0x47a)+_0x1b0175(0x902)+'复。',_0x448061[_0x1b0175(0x2bd)]=_0x1b0175(0x781)+_0x1b0175(0x1a4)+_0x1b0175(0x593)+'0',_0x448061[_0x1b0175(0x997)]=_0x1b0175(0x986)+_0x1b0175(0x5e5)+',如:20'+'26-04'+_0x1b0175(0x606),_0x448061['YrHrh']='最小金额筛'+'选',_0x448061[_0x1b0175(0x697)]=_0x1b0175(0x985)+'选',_0x448061[_0x1b0175(0xa35)]='get_s'+_0x1b0175(0x713)+'tics',_0x448061[_0x1b0175(0x531)]=_0x1b0175(0x8af)+_0x1b0175(0x7bb),_0x448061[_0x1b0175(0x9f3)]=_0x1b0175(0x570)+_0x1b0175(0xdf)+_0x1b0175(0x7dc)+_0x1b0175(0x2ed)+_0x1b0175(0x10f)+_0x1b0175(0x99)+_0x1b0175(0xc8)+_0x1b0175(0x21c)+'选一',_0x448061[_0x1b0175(0x839)]=_0x1b0175(0x1d8)+_0x1b0175(0x5e5)+_0x1b0175(0x8c0)+_0x1b0175(0x6bc)+'yearM'+'onth二'+'选一',_0x448061[_0x1b0175(0x8f7)]='是否包含洞'+_0x1b0175(0xb1)+_0x1b0175(0x5dc),_0x448061[_0x1b0175(0x630)]='统计维度:'+'item('+_0x1b0175(0x35e)+_0x1b0175(0x800)+_0x1b0175(0xa03)+_0x1b0175(0x80d)+_0x1b0175(0x6dc)+'ory(分'+_0x1b0175(0x60e)+'daily'+'(每日趋势'+_0x1b0175(0x4c2)+_0x1b0175(0x1e9)+_0x1b0175(0x245),_0x448061[_0x1b0175(0x3e0)]=_0x1b0175(0x448),_0x448061[_0x1b0175(0x45a)]=_0x1b0175(0x625)+'pt',_0x448061[_0x1b0175(0x17b)]=_0x1b0175(0x3f0),_0x448061[_0x1b0175(0xa2)]=_0x1b0175(0x320)+_0x1b0175(0x23a),_0x448061[_0x1b0175(0xd7)]=_0x1b0175(0x875)+_0x1b0175(0x23a),_0x448061[_0x1b0175(0x36b)]=_0x1b0175(0x8ef),_0x448061[_0x1b0175(0x341)]='get_i'+_0x1b0175(0x893)+'ts',_0x448061['txMyP']=_0x1b0175(0x94f)+_0x1b0175(0x8af)+_0x1b0175(0x522)+_0x1b0175(0x398)+_0x1b0175(0x7a5)+'eek(上'+_0x1b0175(0x41b)+_0x1b0175(0x775)+_0x1b0175(0xad)+_0x1b0175(0x4ea)+'st_mo'+_0x1b0175(0x494)+'月)',_0x448061[_0x1b0175(0x279)]=_0x1b0175(0x705),_0x448061['PcuTD']='patte'+'rn',_0x448061[_0x1b0175(0x2e2)]='healt'+'h',_0x448061['KfECU']=_0x1b0175(0x93f)+_0x1b0175(0x686)+'on',_0x448061['VNmxu']=_0x1b0175(0x3b3)+'导出完整的'+_0x1b0175(0x1fa)+_0x1b0175(0x90f)+'nt\x20深度'+_0x1b0175(0x2a2)+_0x1b0175(0x8b9)+_0x1b0175(0x739)+'完整的消费'+'记录和小票'+'数据,然后'+'在用户侧使'+_0x1b0175(0x4dc)+'行深度分析'+_0x1b0175(0x3a5)+':本工具只'+_0x1b0175(0x484)+'据,不返回'+_0x1b0175(0x56f)+_0x1b0175(0x81a)+_0x1b0175(0x69a)+'get_s'+_0x1b0175(0x777)+_0x1b0175(0x28a)+_0x1b0175(0x9a6)+_0x1b0175(0x6d7)+_0x1b0175(0x7e8)+_0x1b0175(0x7a6)+_0x1b0175(0x77c)+_0x1b0175(0x555)+_0x1b0175(0x2cc)+_0x1b0175(0x4cd)+_0x1b0175(0x1b6)+'es.md'+_0x1b0175(0x508)+_0x1b0175(0x8f0)+'。',_0x448061[_0x1b0175(0x460)]=_0x1b0175(0x3b1)+_0x1b0175(0x1ed)+_0x1b0175(0x80f)+_0x1b0175(0x476)+'(今年)、'+_0x1b0175(0x887)+_0x1b0175(0x841)+_0x1b0175(0x3df)+'ustom'+'(自定义)',_0x448061[_0x1b0175(0x1a6)]=_0x1b0175(0x864),_0x448061[_0x1b0175(0x720)]=_0x1b0175(0x887)+_0x1b0175(0xc9),_0x448061[_0x1b0175(0x40e)]=_0x1b0175(0x8e6)+'m',_0x448061[_0x1b0175(0x383)]=_0x1b0175(0x8af)+'year',_0x448061[_0x1b0175(0x142)]=_0x1b0175(0x4d2)+_0x1b0175(0x430)+_0x1b0175(0xa6),_0x448061['uQisR']=_0x1b0175(0x259),_0x448061['rSRWi']=_0x1b0175(0x990),_0x448061[_0x1b0175(0x31d)]=_0x1b0175(0x1d8)+'perio'+_0x1b0175(0x70c)+_0x1b0175(0x5e7)+'填)',_0x448061['FYURW']=_0x1b0175(0x986)+_0x1b0175(0x2ed)+_0x1b0175(0x70c)+'tom时必'+'填)',_0x448061[_0x1b0175(0x94d)]=_0x1b0175(0x285)+'-收入】用'+_0x1b0175(0x1bb)+_0x1b0175(0x8f4)+'资、红包、'+_0x1b0175(0x855)+_0x1b0175(0x4fb)+_0x1b0175(0x5c9)+_0x1b0175(0x5e4)+_0x1b0175(0x7c2)+_0x1b0175(0x1fb)+'获取规范,'+_0x1b0175(0x748)+'t_tex'+_0x1b0175(0x200)+_0x1b0175(0x4f4)+_0x1b0175(0x8fe)+_0x1b0175(0x2ce)+_0x1b0175(0x3bd)+_0x1b0175(0x678)+_0x1b0175(0x9ba)+_0x1b0175(0xa4c)+'\x20柴米AI'+_0x1b0175(0x55e)+_0x1b0175(0x70f)+_0x1b0175(0x45f)+'_flow'+_0x1b0175(0x4ab)+_0x1b0175(0x876)+'NWANG'+_0x1b0175(0x359)+'name='+_0x1b0175(0x21f)+_0x1b0175(0x5f3)+'t=100'+_0x1b0175(0x9a4)+'gory='+_0x1b0175(0x21f)+_0x1b0175(0x7ee)+'put=\x22'+_0x1b0175(0x271)+_0x1b0175(0x7b5),_0x448061[_0x1b0175(0x6d4)]='收入金额('+_0x1b0175(0x22f),_0x448061[_0x1b0175(0x9c)]=_0x1b0175(0x311)+_0x1b0175(0x140)+_0x1b0175(0x9ab)+'之一:工资'+_0x1b0175(0x27f)+_0x1b0175(0xef)+_0x1b0175(0x4ef)+'、转账、其'+'他)',_0x448061[_0x1b0175(0x6a3)]=_0x1b0175(0x37c)+_0x1b0175(0x459)+_0x1b0175(0x828),_0x448061[_0x1b0175(0x452)]=_0x1b0175(0x311)+_0x1b0175(0xa41)+'秒级时间戳'+',13位数'+_0x1b0175(0x3e9)+_0x1b0175(0x5e2)+_0x1b0175(0x834)+'算,不允许'+'复制示例数'+'字)',_0x448061[_0x1b0175(0x9a3)]=_0x1b0175(0x159)+_0x1b0175(0x496)+_0x1b0175(0x734)+_0x1b0175(0x794)+_0x1b0175(0x85c)+'top、c'+_0x1b0175(0x456)+_0x1b0175(0xa3a)+_0x1b0175(0x586)+_0x1b0175(0x507)+_0x1b0175(0x3e6)+_0x1b0175(0x415),_0x448061[_0x1b0175(0x2c6)]=_0x1b0175(0x240)+_0x1b0175(0x42d)+_0x1b0175(0x7ed)+_0x1b0175(0x403)+_0x1b0175(0x9cb),_0x448061[_0x1b0175(0x601)]='【必填】流'+_0x1b0175(0x56e)+_0x1b0175(0xde)+'ext_p'+_0x1b0175(0x69b)+_0x1b0175(0x836)+_0x1b0175(0x94c)+_0x1b0175(0x5fe)+_0x1b0175(0x7ac),_0x448061['gYUZL']='【不调用1'+_0x1b0175(0x19d)+_0x1b0175(0x677)+_0x1b0175(0x547)+_0x1b0175(0x984)+'t模板和流'+_0x1b0175(0x8a3)+_0x1b0175(0x956)+_0x1b0175(0x892)+_0x1b0175(0x243)+_0x1b0175(0x25d)+_0x1b0175(0x95)+_0x1b0175(0x2f1)+_0x1b0175(0x9b8)+_0x1b0175(0x7fe)+'段,否则s'+_0x1b0175(0x3c3)+'xpens'+'e/sav'+'e_inc'+_0x1b0175(0x326)+_0x1b0175(0xc3)+_0x1b0175(0x16a)+'KEN错误'+'!',_0x448061[_0x1b0175(0x52f)]=_0x1b0175(0x5f4)+_0x1b0175(0x613)+_0x1b0175(0x7c4)+_0x1b0175(0x6f8)+'aude-'+'deskt'+_0x1b0175(0x21b)+_0x1b0175(0x2d5)+_0x1b0175(0xce)+_0x1b0175(0x261)+_0x1b0175(0x557)+'ddy、t'+_0x1b0175(0x4ff),_0x448061['PiHko']='Promp'+_0x1b0175(0x600)+_0x1b0175(0x63c)+'eRece'+_0x1b0175(0x490),_0x448061[_0x1b0175(0x149)]=_0x1b0175(0x115)+_0x1b0175(0x5e0)+_0x1b0175(0x673)+_0x1b0175(0x9f8)+_0x1b0175(0x6e4)+_0x1b0175(0x923)+'mprov'+_0x1b0175(0x905)+_0x1b0175(0x623)+_0x1b0175(0xe3)+_0x1b0175(0x384)+_0x1b0175(0x57c)+_0x1b0175(0x12d),_0x448061[_0x1b0175(0x1e8)]=_0x1b0175(0xfb),_0x448061['vdONk']='联系方式('+_0x1b0175(0x355)+_0x1b0175(0x299)+_0x1b0175(0x9e7)+'续沟通',_0x448061['NHmDz']='上下文信息'+_0x1b0175(0x615)+'如相关记账'+_0x1b0175(0x66c)+_0x1b0175(0x7e1)+'述等',_0x448061['jTgma']=_0x1b0175(0x5f4)+_0x1b0175(0x914)+'服务提供商'+_0x1b0175(0x49d)+_0x1b0175(0x33d)+_0x1b0175(0x3a9)+_0x1b0175(0x9eb)+_0x1b0175(0x906)+_0x1b0175(0x91a)+_0x1b0175(0x101),_0x448061[_0x1b0175(0xa7)]='conte'+'nt';const _0x390ed8=_0x448061,_0x5b2d7d={};_0x5b2d7d[_0x1b0175(0x3a1)]=_0x390ed8[_0x1b0175(0x1fe)],_0x5b2d7d['descr'+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x3e3)],_0x5b2d7d[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a']={},_0x5b2d7d[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x3ed)],_0x5b2d7d[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)]={},_0x5b2d7d[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8fb)+_0x1b0175(0x24f)]={},_0x5b2d7d[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8fb)+_0x1b0175(0x24f)]['type']=_0x1b0175(0x20c)+'g',_0x5b2d7d[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8fb)+_0x1b0175(0x24f)][_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8['gVsFA'];const _0x27a0b7={};_0x27a0b7[_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x27a0b7[_0x1b0175(0x5d7)+'iptio'+'n']=_0x1b0175(0x539)+')';const _0x2d8296={};_0x2d8296[_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x2d8296['descr'+_0x1b0175(0x1aa)+'n']='备注(可选'+')';const _0x3bf655={};_0x3bf655[_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x3bf655[_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x240)+_0x1b0175(0x42d)+_0x1b0175(0x7ed)+_0x1b0175(0x403)+_0x1b0175(0x9cb);const _0x3cd4a2={};_0x3cd4a2[_0x1b0175(0x3a1)]=_0x390ed8[_0x1b0175(0x4f1)],_0x3cd4a2['descr'+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x285)+_0x1b0175(0x204)+_0x1b0175(0x338)+'/消费时用'+_0x1b0175(0x6f2)+'置:必须先'+'调用get'+_0x1b0175(0x406)+_0x1b0175(0x81b)+_0x1b0175(0x22a)+_0x1b0175(0x22c)+'xt_pa'+_0x1b0175(0x645)+_0x1b0175(0x7d1)+'获取凭证和'+_0x1b0175(0x535)+_0x1b0175(0x370)+_0x1b0175(0x911)+_0x1b0175(0x70a)+'l\x20柴米A'+_0x1b0175(0x989)+_0x1b0175(0x3c3)+_0x1b0175(0x10d)+_0x1b0175(0x76f)+_0x1b0175(0x450)+_0x1b0175(0x716)+'LINWA'+_0x1b0175(0x150)+_0x1b0175(0x194)+_0x1b0175(0x721)+_0x1b0175(0x42f)+_0x1b0175(0x4ee)+_0x1b0175(0x9be)+_0x1b0175(0x55a)+_0x1b0175(0x284)+_0x1b0175(0x393)+_0x1b0175(0xa40)+_0x1b0175(0x9ea)+_0x1b0175(0x6ab)+_0x1b0175(0x96e)+_0x1b0175(0x62a)+_0x1b0175(0x378)+_0x1b0175(0x618),_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a']={},_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x3ed)],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)]={},_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a']['requi'+_0x1b0175(0xd6)]=['name',_0x1b0175(0x5f3)+'t',_0x1b0175(0x6dc)+'ory',_0x1b0175(0xa06)+_0x1b0175(0x949),_0x1b0175(0xf2)+_0x1b0175(0x42c)+'r',_0x390ed8[_0x1b0175(0x7fb)],_0x390ed8[_0x1b0175(0x264)]],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x3a1)]={},_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5f3)+'t']={},_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)]={},_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)]['unit']=_0x27a0b7,_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa47)+_0x1b0175(0x244)+'e']={},_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)]={},_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8ef)]={},_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)]['note']=_0x2d8296,_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa06)+_0x1b0175(0x949)]={},_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xf2)+_0x1b0175(0x42c)+'r']={},_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7ee)+_0x1b0175(0x8ca)]=_0x3bf655,_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x9b8)+_0x1b0175(0x743)]={},_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x3a1)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x3a1)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x221)+_0x1b0175(0x22f),_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5f3)+'t'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0xc6)],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5f3)+'t'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0xc2)],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)][_0x1b0175(0x7a0)]=_0x390ed8['gGqpl'],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x8e8)+'出分类(4'+_0x1b0175(0x635)+_0x1b0175(0x8ed)+_0x1b0175(0x131)+_0x1b0175(0x30c)+_0x1b0175(0xf7),_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa47)+_0x1b0175(0x244)+'e'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa47)+_0x1b0175(0x244)+'e'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8['hqQGe'],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)][_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8[_0x1b0175(0xa1)],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8ef)]['type']=_0x390ed8[_0x1b0175(0xc6)],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8ef)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x9e)+_0x1b0175(0x611)+_0x1b0175(0x2ff)+_0x1b0175(0x343)+_0x1b0175(0x3e9)+_0x1b0175(0x5e2)+_0x1b0175(0x834)+'算,不允许'+_0x1b0175(0x1ba)+'字)',_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa06)+_0x1b0175(0x949)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa06)+_0x1b0175(0x949)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x159)+'gent类'+_0x1b0175(0x734)+_0x1b0175(0x794)+_0x1b0175(0x85c)+_0x1b0175(0x441)+_0x1b0175(0x456)+_0x1b0175(0xa3a)+_0x1b0175(0x586)+_0x1b0175(0x507)+_0x1b0175(0x3e6)+'trae',_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xf2)+_0x1b0175(0x42c)+'r']['type']=_0x390ed8[_0x1b0175(0x718)],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xf2)+_0x1b0175(0x42c)+'r'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x6c7)],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x9b8)+_0x1b0175(0x743)]['type']=_0x390ed8[_0x1b0175(0x718)],_0x3cd4a2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x9b8)+_0x1b0175(0x743)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x495)+_0x1b0175(0x56e)+'get_t'+'ext_p'+'arse_'+'promp'+_0x1b0175(0x94c)+_0x1b0175(0x5fe)+_0x1b0175(0x7ac);const _0x1e6fa9={};_0x1e6fa9['name']=_0x390ed8[_0x1b0175(0x2af)],_0x1e6fa9[_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8['gcKsi'],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a']={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x7a0)]=_0x390ed8['mFFTB'],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x346)+_0x1b0175(0xd6)]=[_0x390ed8['gIXsY'],_0x390ed8['dvYML'],_0x390ed8[_0x1b0175(0xa42)],_0x390ed8[_0x1b0175(0x64d)],_0x390ed8[_0x1b0175(0x32a)],_0x390ed8[_0x1b0175(0x944)],_0x1b0175(0x7ee)+_0x1b0175(0x8ca),_0x390ed8['mUwCx']],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8ef)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x4db)+_0x1b0175(0x4d6)+_0x1b0175(0x7c7)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x86e)+_0x1b0175(0xa14)+'t']={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x821)+_0x1b0175(0x9f2)+_0x1b0175(0x481)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5e9)+_0x1b0175(0x1fd)+_0x1b0175(0x481)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x26b)+_0x1b0175(0x4df)+'nt']={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)+_0x1b0175(0x899)+_0x1b0175(0x78f)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)+_0x1b0175(0x710)+_0x1b0175(0x731)+'y']={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x96)+_0x1b0175(0x846)+_0x1b0175(0x5b1)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x625)+_0x1b0175(0xf4)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa06)+_0x1b0175(0x949)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xf2)+_0x1b0175(0x42c)+'r']={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7ee)+_0x1b0175(0x8ca)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x9b8)+_0x1b0175(0x743)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)]['type']=_0x390ed8[_0x1b0175(0x718)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)]['descr'+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0xa1d)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8ef)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0xc6)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8ef)]['descr'+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x23b)+_0x1b0175(0x463)+_0x1b0175(0x467)+_0x1b0175(0x17a)+_0x1b0175(0x1de)+_0x1b0175(0x538)+_0x1b0175(0x897)+_0x1b0175(0x4ec)+_0x1b0175(0x34d),_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x4db)+_0x1b0175(0x4d6)+_0x1b0175(0x7c7)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x3ed)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x4db)+_0x1b0175(0x4d6)+_0x1b0175(0x7c7)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0xfe)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x86e)+_0x1b0175(0xa14)+'t'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0xc6)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x86e)+_0x1b0175(0xa14)+'t'][_0x1b0175(0x5d7)+'iptio'+'n']=_0x1b0175(0xe7)+_0x1b0175(0x391)+'商品amo'+_0x1b0175(0x4da)+')',_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x821)+_0x1b0175(0x9f2)+_0x1b0175(0x481)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0xc6)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x821)+_0x1b0175(0x9f2)+_0x1b0175(0x481)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8['uAhcK'],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5e9)+_0x1b0175(0x1fd)+_0x1b0175(0x481)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0xc6)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5e9)+_0x1b0175(0x1fd)+_0x1b0175(0x481)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x90e)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x26b)+_0x1b0175(0x4df)+'nt'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0xc6)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x26b)+_0x1b0175(0x4df)+'nt']['descr'+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x762)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)+_0x1b0175(0x899)+_0x1b0175(0x78f)][_0x1b0175(0x7a0)]='strin'+'g',_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)+_0x1b0175(0x899)+_0x1b0175(0x78f)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8['EHAPI'],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)+_0x1b0175(0x710)+_0x1b0175(0x731)+'y'][_0x1b0175(0x7a0)]=_0x390ed8['gGqpl'],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)+_0x1b0175(0x710)+_0x1b0175(0x731)+'y'][_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8[_0x1b0175(0x32c)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x96)+_0x1b0175(0x846)+_0x1b0175(0x5b1)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x96)+_0x1b0175(0x846)+_0x1b0175(0x5b1)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x2b6)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x625)+_0x1b0175(0xf4)]['type']=_0x390ed8['gGqpl'],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x625)+_0x1b0175(0xf4)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x7cf),_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x7a0)]=[_0x390ed8['wJKhh'],_0x1b0175(0x20c)+'g'],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']='【必填】商'+_0x1b0175(0x942)+_0x1b0175(0x113)+_0x1b0175(0x2db)+'串格式(某'+'些Agen'+_0x1b0175(0x2bf)+_0x1b0175(0xa27)+_0x1b0175(0x340)+_0x1b0175(0x225)+_0x1b0175(0x6ad)+_0x1b0175(0x7dd)+_0x1b0175(0x297)+_0x1b0175(0x6ac)+_0x1b0175(0x5f3)+_0x1b0175(0x8b5)+_0x1b0175(0x8a7)+_0x1b0175(0x4de)+_0x1b0175(0x3b4)+'意:amo'+_0x1b0175(0x47b)+_0x1b0175(0x423)+_0x1b0175(0x1ad)+_0x1b0175(0x81d)+_0x1b0175(0x2c0)+_0x1b0175(0xa29)+_0x1b0175(0x55b)+_0x1b0175(0x387)+_0x1b0175(0x756)+_0x1b0175(0x5ca)+_0x1b0175(0x251)+_0x1b0175(0x8d7)+_0x1b0175(0xa31)+_0x1b0175(0x669)+_0x1b0175(0x317)+'}]',_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x3ed)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x346)+_0x1b0175(0xd6)]=[_0x390ed8[_0x1b0175(0xff)],_0x390ed8['gwOaZ'],_0x390ed8['OdVJl'],_0x1b0175(0x1ad)+_0x1b0175(0x8d5),_0x390ed8['pWZJS'],_0x390ed8[_0x1b0175(0x937)],_0x390ed8[_0x1b0175(0x8f5)],_0x390ed8['agWGH']],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x3a1)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x821)+_0x1b0175(0xa09)+'me']={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x11a)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x1ad)+_0x1b0175(0x8d5)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x465)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5f3)+'t']={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x37f)+'t']={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa47)+_0x1b0175(0x244)+'e']={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x545)+_0x1b0175(0x324)+_0x1b0175(0x55a)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x545)+_0x1b0175(0x357)+_0x1b0175(0x899)+_0x1b0175(0x78f)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)]={},_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x3a1)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x3a1)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']='【必填】商'+_0x1b0175(0xa33),_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x821)+_0x1b0175(0xa09)+'me'][_0x1b0175(0x7a0)]=_0x390ed8['gGqpl'],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x821)+_0x1b0175(0xa09)+'me'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x912)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x11a)]['type']=_0x390ed8[_0x1b0175(0xc6)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x11a)][_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8['MOhHY'],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x1ad)+_0x1b0175(0x8d5)]['type']=_0x390ed8['hQxnV'],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x1ad)+_0x1b0175(0x8d5)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8['XkbYG'],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x465)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x465)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8['SzyTU'],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5f3)+'t'][_0x1b0175(0x7a0)]=_0x1b0175(0x283)+'r',_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5f3)+'t'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x53b)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x37f)+'t']['type']=_0x390ed8[_0x1b0175(0x718)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x37f)+'t']['descr'+'iptio'+'n']='重量',_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa47)+_0x1b0175(0x244)+'e'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa47)+_0x1b0175(0x244)+'e'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']='【必填】单'+_0x1b0175(0x785)+_0x1b0175(0x5d0)+_0x1b0175(0x7e9)+_0x1b0175(0x3aa)+_0x1b0175(0x2c9)+_0x1b0175(0x39a)+_0x1b0175(0x1ef)+_0x1b0175(0x114)+'额÷重量('+_0x1b0175(0x3b8)+'0',_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x545)+_0x1b0175(0x324)+_0x1b0175(0x55a)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x545)+_0x1b0175(0x324)+_0x1b0175(0x55a)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x637)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x545)+_0x1b0175(0x357)+_0x1b0175(0x899)+_0x1b0175(0x78f)]['type']=_0x390ed8[_0x1b0175(0x718)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x545)+_0x1b0175(0x357)+_0x1b0175(0x899)+_0x1b0175(0x78f)]['descr'+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x6b8)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5a0)][_0x1b0175(0x5a0)][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x8a4)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa06)+_0x1b0175(0x949)]['type']=_0x1b0175(0x20c)+'g',_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa06)+_0x1b0175(0x949)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x34a)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xf2)+_0x1b0175(0x42c)+'r']['type']=_0x390ed8['gGqpl'],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xf2)+_0x1b0175(0x42c)+'r'][_0x1b0175(0x5d7)+'iptio'+'n']=_0x1b0175(0x159)+'I服务提供'+'商:ant'+_0x1b0175(0x8c4)+_0x1b0175(0x1db)+_0x1b0175(0x286)+_0x1b0175(0xca)+'、aliy'+'un',_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7ee)+_0x1b0175(0x8ca)][_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7ee)+_0x1b0175(0x8ca)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x96c)],_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x9b8)+_0x1b0175(0x743)][_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x1e6fa9[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x9b8)+_0x1b0175(0x743)][_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8['eXhrU'];const _0x18d0f4={};_0x18d0f4[_0x1b0175(0x3a1)]=_0x390ed8[_0x1b0175(0x332)],_0x18d0f4[_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8[_0x1b0175(0x6d5)],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a']={},_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a']['type']='objec'+'t',_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)]={},_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d']={},_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x20d)]={},_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x598)]={},_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa05)+_0x1b0175(0x479)]={},_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x904)+'te']={},_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)]={},_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)]={},_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5ea)+'e']={},_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa4)+'rd']={},_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x68c)+'By']={},_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7c9)+_0x1b0175(0x5a4)+'gs']={},_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d'][_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d']['descr'+'iptio'+'n']=_0x390ed8[_0x1b0175(0x982)],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d'][_0x1b0175(0x8b1)]=[_0x1b0175(0x8af)+_0x1b0175(0x7bb),_0x390ed8[_0x1b0175(0x139)],_0x390ed8[_0x1b0175(0x7f6)],_0x390ed8[_0x1b0175(0x9b3)]],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x20d)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0xc6)],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x20d)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x781)+_0x1b0175(0x6d8)+_0x1b0175(0x29e)+_0x1b0175(0x1ac),_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x20d)]['defau'+'lt']=0xa,_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x598)]['type']=_0x390ed8[_0x1b0175(0xc6)],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x598)][_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8[_0x1b0175(0x39f)],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x598)][_0x1b0175(0x14e)+'lt']=0x0,_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa05)+_0x1b0175(0x479)]['type']='strin'+'g',_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa05)+_0x1b0175(0x479)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x778)],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x904)+'te']['type']=_0x390ed8[_0x1b0175(0x718)],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x904)+'te'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']='结束日期('+_0x1b0175(0x5e5)+_0x1b0175(0x451)+'26-04'+_0x1b0175(0x606),_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)][_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x9e5)],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)][_0x1b0175(0x7a0)]='strin'+'g',_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x2a9)],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5ea)+'e'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5ea)+'e'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0xa4a)],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa4)+'rd']['type']=_0x390ed8['gGqpl'],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa4)+'rd']['descr'+'iptio'+'n']='按商品名称'+'关键词搜索',_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x68c)+'By'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x68c)+'By'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8['SDuBo'],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x68c)+'By'][_0x1b0175(0x8b1)]=[_0x390ed8[_0x1b0175(0x54d)],_0x390ed8[_0x1b0175(0x2ef)],_0x390ed8[_0x1b0175(0x951)],_0x390ed8[_0x1b0175(0x55d)]],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x68c)+'By'][_0x1b0175(0x14e)+'lt']=_0x390ed8['btkPZ'],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7c9)+_0x1b0175(0x5a4)+'gs'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x608)],_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7c9)+_0x1b0175(0x5a4)+'gs'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x4a0)+_0x1b0175(0x170)+_0x1b0175(0x5dc),_0x18d0f4[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7c9)+_0x1b0175(0x5a4)+'gs'][_0x1b0175(0x14e)+'lt']=!![];const _0x30bd55={};_0x30bd55[_0x1b0175(0x3a1)]=_0x390ed8['ClUxQ'],_0x30bd55[_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x2ab)],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a']={},_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x3ed)],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)]={},_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x20d)]={},_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x598)]={},_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa05)+_0x1b0175(0x479)]={},_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x904)+'te']={},_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)]={},_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x162)+_0x1b0175(0x481)]={},_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x68b)+_0x1b0175(0x481)]={},_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x68c)+'By']={},_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x20d)]['type']=_0x390ed8[_0x1b0175(0xc6)],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x20d)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8['akwSJ'],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x20d)][_0x1b0175(0x14e)+'lt']=0x5,_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x598)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0xc6)],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x598)]['descr'+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x39f)],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x598)]['defau'+'lt']=0x0,_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa05)+_0x1b0175(0x479)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa05)+_0x1b0175(0x479)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x778)],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x904)+'te'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x904)+'te']['descr'+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x997)],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)]['type']=_0x390ed8[_0x1b0175(0x718)],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)][_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8[_0x1b0175(0x2a9)],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x162)+_0x1b0175(0x481)]['type']=_0x390ed8['hQxnV'],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x162)+_0x1b0175(0x481)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x97e)],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x68b)+_0x1b0175(0x481)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0xc6)],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x68b)+_0x1b0175(0x481)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8['dgGVc'],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x68c)+'By'][_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x68c)+'By']['descr'+'iptio'+'n']=_0x390ed8['SDuBo'],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x68c)+'By']['enum']=[_0x1b0175(0x4db)+_0x1b0175(0x8db),'date_'+'asc',_0x390ed8[_0x1b0175(0x951)],_0x390ed8[_0x1b0175(0x55d)]],_0x30bd55[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x68c)+'By'][_0x1b0175(0x14e)+'lt']=_0x390ed8[_0x1b0175(0x54d)];const _0x289288={};_0x289288[_0x1b0175(0x3a1)]=_0x390ed8[_0x1b0175(0xa35)],_0x289288[_0x1b0175(0x5d7)+'iptio'+'n']=_0x1b0175(0x634)+_0x1b0175(0x31b)+_0x1b0175(0xa2b)+'。支持按周'+_0x1b0175(0x444)+'范围统计,'+_0x1b0175(0x95e)+_0x1b0175(0x3a0)+_0x1b0175(0x511)+_0x1b0175(0x9fe)+'\x20peri'+_0x1b0175(0x13e)+_0x1b0175(0x4ca)+_0x1b0175(0x6fe)+_0x1b0175(0x262)+'_week'+_0x1b0175(0x80f)+'_mont'+_0x1b0175(0x16e)+_0x1b0175(0x88f)+_0x1b0175(0x2f5)+_0x1b0175(0x229)+_0x1b0175(0x413)+'\x20洞察数据'+'。返回格式'+':本工具只'+'返回原始数'+_0x1b0175(0x61d)+_0x1b0175(0x56f)+_0x1b0175(0x81a)+_0x1b0175(0x69a)+'get_s'+_0x1b0175(0x777)+_0x1b0175(0x28a)+_0x1b0175(0x9a6)+_0x1b0175(0x6d7)+_0x1b0175(0x7e8)+_0x1b0175(0x7a6)+_0x1b0175(0x77c)+_0x1b0175(0x555)+_0x1b0175(0x2cc)+_0x1b0175(0x4cd)+_0x1b0175(0x1b6)+'es.md'+'中的模板自'+_0x1b0175(0x8f0)+'。',_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a']={},_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a']['type']=_0x390ed8[_0x1b0175(0x3ed)],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)]={},_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d']={},_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5b4)+'onth']={},_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa05)+_0x1b0175(0x479)]={},_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x904)+'te']={},_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7c9)+_0x1b0175(0x16d)+_0x1b0175(0x413)]={},_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7a0)]={},_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)]={},_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)]={},_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x46c)+'By']={},_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']='统计周期('+_0x1b0175(0x75c)+_0x1b0175(0x96d)+_0x1b0175(0x6fe)+_0x1b0175(0x51c)+'last_'+_0x1b0175(0x522)+_0x1b0175(0x100)+_0x1b0175(0x457)+'onth('+_0x1b0175(0x8f6)+_0x1b0175(0x7fd)+_0x1b0175(0x860)+_0x1b0175(0x7f7)+_0x1b0175(0x5b4)+_0x1b0175(0x368)+'start'+'Date/'+_0x1b0175(0x904)+_0x1b0175(0x813),_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d'][_0x1b0175(0x8b1)]=[_0x390ed8[_0x1b0175(0x531)],_0x390ed8[_0x1b0175(0x139)],_0x1b0175(0x8af)+'month',_0x390ed8[_0x1b0175(0x9b3)]],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5b4)+'onth'][_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5b4)+'onth'][_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8[_0x1b0175(0x9f3)],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa05)+_0x1b0175(0x479)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa05)+_0x1b0175(0x479)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x839)],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x904)+'te'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x904)+'te'][_0x1b0175(0x5d7)+'iptio'+'n']=_0x1b0175(0x986)+_0x1b0175(0x5e5)+_0x1b0175(0x8c0)+_0x1b0175(0x6bc)+_0x1b0175(0x5b4)+_0x1b0175(0x34f)+'选一',_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7c9)+_0x1b0175(0x16d)+_0x1b0175(0x413)][_0x1b0175(0x7a0)]=_0x1b0175(0x210)+'an',_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7c9)+_0x1b0175(0x16d)+_0x1b0175(0x413)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x8f7)],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7c9)+_0x1b0175(0x16d)+_0x1b0175(0x413)]['defau'+'lt']=!![],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7a0)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7a0)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x630)],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7a0)][_0x1b0175(0x8b1)]=[_0x390ed8['vXtVF'],_0x390ed8[_0x1b0175(0x45a)],_0x390ed8['agWGH'],_0x390ed8[_0x1b0175(0x17b)],_0x390ed8[_0x1b0175(0x71f)]],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7a0)][_0x1b0175(0x14e)+'lt']=_0x1b0175(0x6dc)+_0x1b0175(0x78f),_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)]['descr'+_0x1b0175(0x1aa)+'n']=_0x390ed8['tZHgt'],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0xd7)],_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x46c)+'By'][_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x46c)+'By'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']='分组方式:'+_0x1b0175(0x6dc)+_0x1b0175(0x32b)+_0x1b0175(0x2f3)+'te(日期'+')、sto'+_0x1b0175(0x1e9)+')',_0x289288[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x46c)+'By']['enum']=[_0x390ed8[_0x1b0175(0x2ea)],_0x390ed8[_0x1b0175(0x36b)],'store'];const _0x427d26={};_0x427d26['name']=_0x390ed8[_0x1b0175(0x341)],_0x427d26['descr'+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x3b3)+'获取消费洞'+'察线索(包'+'含趋势、模'+_0x1b0175(0x78a)+_0x1b0175(0x209)+_0x1b0175(0xa46)+_0x1b0175(0x61e)+'成本!返回'+'洞察线索,'+_0x1b0175(0x90f)+'nt\x20结合'+'用户大模型'+_0x1b0175(0x822)+_0x1b0175(0x44a)+_0x1b0175(0x784)+'只返回原始'+_0x1b0175(0x9f6)+_0x1b0175(0x4e0)+'息。Age'+_0x1b0175(0x968)+'用get_'+_0x1b0175(0x1fb)+_0x1b0175(0x99c)+'LL.md'+_0x1b0175(0x1f8)+_0x1b0175(0x169)+_0x1b0175(0x120)+_0x1b0175(0x60f)+'nces/'+_0x1b0175(0x799)+_0x1b0175(0x6f5)+_0x1b0175(0x103)+'tes.m'+_0x1b0175(0x47a)+_0x1b0175(0x902)+'复。',_0x427d26[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a']={},_0x427d26[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a']['type']=_0x390ed8['mFFTB'],_0x427d26[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)]={},_0x427d26[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d']={},_0x427d26[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5d8)]={},_0x427d26[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d'][_0x1b0175(0x7a0)]='strin'+'g',_0x427d26[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d'][_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8[_0x1b0175(0x580)],_0x427d26[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d']['enum']=[_0x390ed8[_0x1b0175(0x531)],_0x390ed8[_0x1b0175(0x139)],_0x1b0175(0x8af)+_0x1b0175(0x4ce),_0x390ed8[_0x1b0175(0x9b3)]],_0x427d26[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d'][_0x1b0175(0x14e)+'lt']=_0x390ed8[_0x1b0175(0x531)],_0x427d26[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5d8)]['type']=[_0x390ed8[_0x1b0175(0x718)],_0x390ed8['wJKhh']],_0x427d26[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5d8)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']='洞察类型:'+_0x1b0175(0x705)+_0x1b0175(0x633)+_0x1b0175(0x99d)+_0x1b0175(0x703)+_0x1b0175(0x916)+_0x1b0175(0x5b7)+_0x1b0175(0x71d)+_0x1b0175(0x93a)+'ation'+_0x1b0175(0x8f1)+_0x1b0175(0x43e),_0x427d26[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5d8)]['defau'+'lt']=[_0x390ed8['kwHsf'],_0x390ed8['PcuTD'],_0x390ed8[_0x1b0175(0x2e2)],_0x390ed8['KfECU']];const _0xbdb1ac={};_0xbdb1ac[_0x1b0175(0x3a1)]='expor'+_0x1b0175(0x33c)+'a',_0xbdb1ac[_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0xac)],_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a']={},_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x7a0)]=_0x390ed8['mFFTB'],_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)]={},_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d']={},_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8e4)+'t']={},_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7c9)+_0x1b0175(0xb6)+_0x1b0175(0x186)]={},_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa05)+_0x1b0175(0x479)]={},_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x904)+'te']={},_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d']['descr'+'iptio'+'n']=_0x390ed8[_0x1b0175(0x460)],_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d'][_0x1b0175(0x8b1)]=[_0x390ed8[_0x1b0175(0x1a6)],_0x1b0175(0x8af)+_0x1b0175(0xc9),_0x390ed8[_0x1b0175(0x720)],_0x390ed8['eGhrF']],_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x2ed)+'d'][_0x1b0175(0x14e)+'lt']=_0x390ed8[_0x1b0175(0x383)],_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8e4)+'t']['type']=_0x390ed8[_0x1b0175(0x718)],_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8e4)+'t'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x142)],_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8e4)+'t'][_0x1b0175(0x8b1)]=[_0x390ed8[_0x1b0175(0x9aa)],_0x390ed8['rSRWi']],_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8e4)+'t'][_0x1b0175(0x14e)+'lt']=_0x1b0175(0x259),_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7c9)+_0x1b0175(0xb6)+_0x1b0175(0x186)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x608)],_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7c9)+_0x1b0175(0xb6)+_0x1b0175(0x186)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x769)+_0x1b0175(0x60d)+_0x1b0175(0x5dc),_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7c9)+_0x1b0175(0xb6)+_0x1b0175(0x186)][_0x1b0175(0x14e)+'lt']=!![],_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa05)+_0x1b0175(0x479)][_0x1b0175(0x7a0)]='strin'+'g',_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa05)+_0x1b0175(0x479)]['descr'+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x31d)],_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x904)+'te'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0xbdb1ac[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x904)+'te'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x666)];const _0x12e746={};_0x12e746['type']=_0x1b0175(0x20c)+'g',_0x12e746['descr'+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x141)+_0x1b0175(0x336)+_0x1b0175(0x11e)+_0x1b0175(0x7a2);const _0x3f03d2={};_0x3f03d2[_0x1b0175(0x3a1)]=_0x1b0175(0xf1)+'incom'+'e',_0x3f03d2[_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8[_0x1b0175(0x94d)],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a']={},_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x3ed)],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)]={},_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x346)+_0x1b0175(0xd6)]=[_0x390ed8[_0x1b0175(0xff)],_0x390ed8[_0x1b0175(0x925)],_0x390ed8['agWGH'],_0x1b0175(0xa06)+_0x1b0175(0x949),_0x390ed8['CuHLh'],_0x390ed8['KOxIw'],_0x1b0175(0x9b8)+'mate'],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x3a1)]=_0x12e746,_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5f3)+'t']={},_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)]={},_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)]={},_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8ef)]={},_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x436)]={},_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa06)+_0x1b0175(0x949)]={},_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xf2)+_0x1b0175(0x42c)+'r']={},_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7ee)+_0x1b0175(0x8ca)]={},_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x9b8)+_0x1b0175(0x743)]={},_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5f3)+'t'][_0x1b0175(0x7a0)]=_0x390ed8['hQxnV'],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x5f3)+'t'][_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8[_0x1b0175(0x6d4)],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x6dc)+_0x1b0175(0x78f)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x9c)],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x837)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x6a3)],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8ef)][_0x1b0175(0x7a0)]=_0x1b0175(0x283)+'r',_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x8ef)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x452)],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x436)][_0x1b0175(0x7a0)]=_0x390ed8['gGqpl'],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x436)]['descr'+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x642)+')',_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa06)+_0x1b0175(0x949)][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa06)+_0x1b0175(0x949)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8['AzuKB'],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xf2)+_0x1b0175(0x42c)+'r'][_0x1b0175(0x7a0)]=_0x390ed8['gGqpl'],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xf2)+_0x1b0175(0x42c)+'r'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x6c7)],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7ee)+_0x1b0175(0x8ca)]['type']=_0x390ed8['gGqpl'],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x7ee)+_0x1b0175(0x8ca)][_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8[_0x1b0175(0x2c6)],_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x9b8)+_0x1b0175(0x743)][_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x3f03d2[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0x9b8)+_0x1b0175(0x743)][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x601)];const _0x25cd61={};_0x25cd61[_0x1b0175(0x3a1)]=_0x1b0175(0xde)+'ext_p'+'arse_'+_0x1b0175(0x836)+'t',_0x25cd61[_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x38c)],_0x25cd61[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a']={},_0x25cd61[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x3ed)],_0x25cd61[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)]={},_0x25cd61[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa06)+_0x1b0175(0x949)]={},_0x25cd61[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xf2)+_0x1b0175(0x42c)+'r']={},_0x25cd61[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa06)+_0x1b0175(0x949)][_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x25cd61[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xa06)+_0x1b0175(0x949)][_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8[_0x1b0175(0x52f)],_0x25cd61[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xf2)+_0x1b0175(0x42c)+'r']['type']=_0x390ed8[_0x1b0175(0x718)],_0x25cd61[_0x1b0175(0x9e8)+_0x1b0175(0x7eb)+'a'][_0x1b0175(0x72c)+_0x1b0175(0x976)][_0x1b0175(0xf2)+_0x1b0175(0x42c)+'r'][_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']='【推荐自动'+_0x1b0175(0x914)+_0x1b0175(0x73d)+_0x1b0175(0x49d)+_0x1b0175(0x33d)+_0x1b0175(0x3a9)+'enai、'+'douba'+_0x1b0175(0x91a)+_0x1b0175(0x101);const _0x30bcdb={};_0x30bcdb[_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x30bcdb[_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0xa39)],_0x30bcdb[_0x1b0175(0x14e)+'lt']=_0x1b0175(0x93d)+_0x1b0175(0x943)+'pt';const _0x28efe1={};_0x28efe1['type']=_0x30bcdb;const _0x582e0d={};_0x582e0d['type']='objec'+'t',_0x582e0d[_0x1b0175(0x72c)+_0x1b0175(0x976)]=_0x28efe1;const _0x2a7a04={};_0x2a7a04[_0x1b0175(0x3a1)]='get_p'+_0x1b0175(0x69b)+'promp'+'t',_0x2a7a04['descr'+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x6e3)+'00%失败'+_0x1b0175(0xa34)+_0x1b0175(0x6f3)+_0x1b0175(0x984)+_0x1b0175(0x660)+'程凭证。⚠️'+'\x20小票记账'+_0x1b0175(0x3e7)+_0x1b0175(0x313)+_0x1b0175(0x28c)+_0x1b0175(0x622)+'返回_fl'+_0x1b0175(0x450)+'e字段,否'+_0x1b0175(0xa0d)+_0x1b0175(0x127)+'ipt会报'+_0x1b0175(0xc3)+_0x1b0175(0x16a)+_0x1b0175(0x98)+'!',_0x2a7a04[_0x1b0175(0x9e8)+'Schem'+'a']=_0x582e0d;const _0x55147c={};_0x55147c[_0x1b0175(0x7a0)]=_0x390ed8['gGqpl'],_0x55147c['descr'+'iptio'+'n']=_0x1b0175(0x108)+'详细描述问'+_0x1b0175(0x76c)+_0x1b0175(0x565)+_0x1b0175(0x84d)+'符)';const _0xda8bc9={};_0xda8bc9[_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0xda8bc9['descr'+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x149)],_0xda8bc9[_0x1b0175(0x8b1)]=[_0x1b0175(0x9dd),_0x1b0175(0x9f8)+'re',_0x1b0175(0x6c6)+'vemen'+'t','other'],_0xda8bc9[_0x1b0175(0x14e)+'lt']=_0x390ed8[_0x1b0175(0x1e8)];const _0x129dce={};_0x129dce[_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x129dce[_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x801)];const _0x349adc={};_0x349adc[_0x1b0175(0x7a0)]=_0x390ed8[_0x1b0175(0x718)],_0x349adc[_0x1b0175(0x5d7)+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x3b9)];const _0x54b2e6={};_0x54b2e6[_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x54b2e6['descr'+_0x1b0175(0x1aa)+'n']=_0x390ed8[_0x1b0175(0x52f)];const _0x40024d={};_0x40024d[_0x1b0175(0x7a0)]=_0x1b0175(0x20c)+'g',_0x40024d[_0x1b0175(0x5d7)+'iptio'+'n']=_0x390ed8[_0x1b0175(0xab)];const _0x12956b={};_0x12956b[_0x1b0175(0x9cc)+'nt']=_0x55147c,_0x12956b[_0x1b0175(0x7a0)]=_0xda8bc9,_0x12956b[_0x1b0175(0x6a9)+'ct']=_0x129dce,_0x12956b['conte'+'xt']=_0x349adc,_0x12956b[_0x1b0175(0xa06)+_0x1b0175(0x949)]=_0x54b2e6,_0x12956b['apiPr'+_0x1b0175(0x42c)+'r']=_0x40024d;const _0x1a2c60={};_0x1a2c60[_0x1b0175(0x7a0)]='objec'+'t',_0x1a2c60['prope'+_0x1b0175(0x976)]=_0x12956b,_0x1a2c60[_0x1b0175(0x346)+'red']=[_0x390ed8[_0x1b0175(0xa7)]];const _0x33f223={};_0x33f223[_0x1b0175(0x3a1)]='submi'+_0x1b0175(0x19b)+_0x1b0175(0x2bc),_0x33f223['descr'+_0x1b0175(0x1aa)+'n']=_0x1b0175(0x8bc)+_0x1b0175(0x7d7)+'报告。当用'+_0x1b0175(0x154)+_0x1b0175(0x1be)+_0x1b0175(0x581)+_0x1b0175(0x6e1)+_0x1b0175(0x5f6)+_0x1b0175(0x433)+_0x1b0175(0x3e4)+_0x1b0175(0x7a4)+_0x1b0175(0x22e)+_0x1b0175(0x331)+_0x1b0175(0x67e)+'(功能建议'+')、imp'+_0x1b0175(0x1e0)+_0x1b0175(0x461)+_0x1b0175(0x59d)+'other'+'(其他)。'+_0x1b0175(0x58e)+'会返回反馈'+_0x1b0175(0x8a8)+_0x1b0175(0x797)+_0x1b0175(0x59a)+_0x1b0175(0x38d)+'不要超过1'+_0x1b0175(0xa28)+_0x1b0175(0x4c0)+_0x1b0175(0x1c6)+_0x1b0175(0x288)+_0x1b0175(0x4e8)+_0x1b0175(0x335)+_0x1b0175(0x2fa)+'式化消息。'+_0x1b0175(0x64e)+_0x1b0175(0x307)+_0x1b0175(0x533)+_0x1b0175(0x453)+_0x1b0175(0x2e7)+'.md中的'+_0x1b0175(0xa3d)+_0x1b0175(0x8c2)+_0x1b0175(0x850)+'erenc'+_0x1b0175(0x682)+_0x1b0175(0x1d3)+'e-tem'+_0x1b0175(0x827)+_0x1b0175(0x6d1)+_0x1b0175(0x4f6)+'渲染回复。',_0x33f223[_0x1b0175(0x9e8)+'Schem'+'a']=_0x1a2c60;const _0x1807cd={};return _0x1807cd[_0x1b0175(0x474)]=[_0x5b2d7d,_0x3cd4a2,_0x1e6fa9,_0x18d0f4,_0x30bd55,_0x289288,_0x427d26,_0xbdb1ac,_0x3f03d2,_0x25cd61,_0x2a7a04,_0x33f223],_0x1807cd;});const _0x309ae3={};_0x309ae3[_0x2dbe2(0xf1)+_0x2dbe2(0x5c6)+'se']='addEx'+_0x2dbe2(0x419),_0x309ae3[_0x2dbe2(0xf1)+_0x2dbe2(0x625)+'pt']=_0x2dbe2(0x5a3)+_0x2dbe2(0x4a3),_0x309ae3['save_'+'incom'+'e']=_0x2dbe2(0x3d4)+_0x2dbe2(0x83f),_0x309ae3['get_e'+_0x2dbe2(0x10d)+'es']=_0x2dbe2(0x8dd)+'pense'+'s',_0x309ae3[_0x2dbe2(0x8c9)+_0x2dbe2(0x9ec)+_0x2dbe2(0x5f1)+'t']=_0x2dbe2(0x8dd)+_0x2dbe2(0x419)+'s',_0x309ae3[_0x2dbe2(0x806)+_0x2dbe2(0x713)+_0x2dbe2(0xa2d)]='getSt'+_0x2dbe2(0x709)+_0x2dbe2(0x394),_0x309ae3['submi'+_0x2dbe2(0x19b)+_0x2dbe2(0x2bc)]=_0x2dbe2(0x7bd)+_0x2dbe2(0x8c3)+'k',_0x309ae3['get_i'+_0x2dbe2(0x893)+'ts']=_0x2dbe2(0x7ea)+'sight'+'s',_0x309ae3[_0x2dbe2(0x7fc)+_0x2dbe2(0x33c)+'a']=_0x2dbe2(0x7fc)+'tData';const toolMapping=_0x309ae3,TOKEN_REFRESH_INTERVAL=0x2*0x3c*0x3c*0x3e8;let lastRefreshTime=0x0;async function getToken(){const _0x2017c3=_0x2dbe2,_0x21ce3f={'pPWWy':_0x2017c3(0xe4),'QuKgc':_0x2017c3(0x7df)+'明:检测到'+_0x2017c3(0x41f)+_0x2017c3(0x356)+'时间','ovpGf':_0x2017c3(0x5a0)+_0x2017c3(0x417)+_0x2017c3(0x66d),'rwEsy':_0x2017c3(0x388)+_0x2017c3(0x373)+_0x2017c3(0x246)+_0x2017c3(0x27a)+_0x2017c3(0x877),'nKDXF':function(_0x5ceca5,_0x45e627){return _0x5ceca5(_0x45e627);},'IyBwd':function(_0x4a7f17,_0x23d34d){return _0x4a7f17(_0x23d34d);},'ExYTV':function(_0x41cf07){return _0x41cf07();},'QcmcD':function(_0x316bfd,_0x5772cb){return _0x316bfd>_0x5772cb;},'eufhX':function(_0x5adaf6,_0x285bb5){return _0x5adaf6*_0x285bb5;},'gtRkE':function(_0xb0bcb5,_0x58fcc0){return _0xb0bcb5<_0x58fcc0;},'JQfIU':function(_0xfc4668,_0x42f019){return _0xfc4668-_0x42f019;},'tUnva':function(_0x453dc5,_0x17f57b){return _0x453dc5===_0x17f57b;},'IDIJS':_0x2017c3(0x291),'FRlOj':_0x2017c3(0x4c4),'muAVU':function(_0x5b5457,_0x534692){return _0x5b5457===_0x534692;},'ztAHz':_0x2017c3(0x8bf),'mbyXG':_0x2017c3(0x109),'oUZCN':function(_0x52388d,_0x3910ee){return _0x52388d+_0x3910ee;},'RPKUS':function(_0x46c8bb,_0x2d2bd9){return _0x46c8bb*_0x2d2bd9;},'DnEDJ':'GBChy','KcQpu':_0x2017c3(0x98c),'NQnhx':'5|2|3'+_0x2017c3(0x515)+'1','bpPEq':'✅\x20已从文'+'件加载有效'+'\x20Toke'+_0x2017c3(0x970)+_0x2017c3(0x4a2),'hViqR':function(_0x34eaeb,_0x5db5a3){return _0x34eaeb(_0x5db5a3);},'ogyWr':_0x2017c3(0x5ce)+_0x2017c3(0x51b)+_0x2017c3(0x6db)+',需要重新'+'授权','VzVAX':_0x2017c3(0x61a),'Sttct':function(_0x2513e4,_0x3322a3){return _0x2513e4!==_0x3322a3;},'CkQgo':_0x2017c3(0x295),'yRLuQ':_0x2017c3(0x5ce)+_0x2017c3(0xba)+_0x2017c3(0x2e1)+'生成新的验'+'证码','hYFcP':_0x2017c3(0x30a)+_0x2017c3(0x174)+_0x2017c3(0x9ee)+'|8','ahtKq':function(_0x34f437,_0x5c11aa){return _0x34f437(_0x5c11aa);},'rgXHT':_0x2017c3(0x8c1)+'手','BzAAo':_0x2017c3(0x714)+_0x2017c3(0x774)+'续使用记账'+'功能','tdhnI':_0x2017c3(0xfc)+_0x2017c3(0x473)+'COMPL'+_0x2017c3(0x1a7),'Rrquo':_0x2017c3(0x2fd),'VFpkE':_0x2017c3(0x4e7)+'证码','wsYDj':_0x2017c3(0x64c)+_0x2017c3(0x178)+'初始化,请'+_0x2017c3(0x78d)+_0x2017c3(0x9b5)+_0x2017c3(0x180)+_0x2017c3(0x867),'tyfNd':function(_0x5bd0e8,_0x285f9e){return _0x5bd0e8(_0x285f9e);},'JWxpJ':function(_0x560638){return _0x560638();}},_0x3c1471=_0x21ce3f[_0x2017c3(0x5ee)](getCachedToken);if(_0x3c1471&&_0x21ce3f['QcmcD'](tokenExpireTime,Date[_0x2017c3(0x104)]()+_0x21ce3f[_0x2017c3(0x9f7)](_0x21ce3f[_0x2017c3(0x9f7)](0x5,0x3c),0x3e8))){if(_0x21ce3f['gtRkE'](_0x21ce3f[_0x2017c3(0xa16)](Date[_0x2017c3(0x104)](),lastRefreshTime),TOKEN_REFRESH_INTERVAL)){if(_0x21ce3f[_0x2017c3(0x84f)](_0x2017c3(0x898),_0x21ce3f[_0x2017c3(0x193)]))_0x108c95[_0x2017c3(0x256)]('[save'+_0x2017c3(0x8a5)+_0x2017c3(0x31e)+_0x2017c3(0xa11)+_0x54852d[_0x2017c3(0x8ef)]+'\x20('+_0x586b60[_0x2017c3(0x886)+'aleSt'+_0x2017c3(0x931)](_0x21ce3f[_0x2017c3(0x7da)])+('),使用当'+_0x2017c3(0x54b))),_0x6d59ff[_0x2017c3(0x8ef)]=_0x424d69[_0x2017c3(0x104)](),_0x358204=_0x21ce3f['QuKgc'];else return _0x3c1471;}}try{if(_0x21ce3f[_0x2017c3(0x57d)]===_0x21ce3f[_0x2017c3(0x57d)]){const _0x5aa14e=await oauthManager[_0x2017c3(0x2df)+_0x2017c3(0x4f0)+'ge'][_0x2017c3(0x7e0)]();if(_0x5aa14e&&_0x5aa14e[_0x2017c3(0x63d)+_0x2017c3(0x187)+'n']&&_0x5aa14e[_0x2017c3(0x6bf)+_0x2017c3(0x6f0)]){if(_0x21ce3f[_0x2017c3(0x6a2)](_0x21ce3f[_0x2017c3(0x783)],_0x21ce3f[_0x2017c3(0x201)]))return new _0x214983(_0x16bfa6)[_0x2017c3(0xa0e)+'me']();else{const _0xdf35c=new Date(_0x5aa14e[_0x2017c3(0x6bf)+'esAt'])[_0x2017c3(0xa0e)+'me']();if(_0x21ce3f[_0x2017c3(0x567)](_0xdf35c,_0x21ce3f[_0x2017c3(0x2e4)](Date[_0x2017c3(0x104)](),_0x21ce3f['eufhX'](_0x21ce3f[_0x2017c3(0x15d)](0x5,0x3c),0x3e8)))){if(_0x21ce3f[_0x2017c3(0x6a2)](_0x21ce3f['DnEDJ'],_0x21ce3f['KcQpu']))throw new _0x3ba694(_0x21ce3f['ovpGf']);else{const _0x399988=_0x21ce3f[_0x2017c3(0x45e)][_0x2017c3(0x3b6)]('|');let _0x4ff54d=0x0;while(!![]){switch(_0x399988[_0x4ff54d++]){case'0':console[_0x2017c3(0x617)](_0x21ce3f[_0x2017c3(0x65e)]);continue;case'1':return _0x21ce3f[_0x2017c3(0x5ee)](getCachedToken);case'2':tokenExpireTime=_0xdf35c;continue;case'3':authState[_0x2017c3(0x4e5)+_0x2017c3(0x181)+'ed']=!![];continue;case'4':lastRefreshTime=Date[_0x2017c3(0x104)]();continue;case'5':_0x21ce3f[_0x2017c3(0x8e2)](setCachedToken,_0x5aa14e[_0x2017c3(0x63d)+_0x2017c3(0x187)+'n']);continue;}break;}}}else console[_0x2017c3(0x617)](_0x21ce3f['ogyWr']);}}}else _0x4829cd=_0x21ce3f['rwEsy'];}catch(_0x97a0be){_0x21ce3f[_0x2017c3(0x6a2)](_0x2017c3(0x61a),_0x21ce3f[_0x2017c3(0x724)])?console['error'](_0x2017c3(0x135)+_0x2017c3(0x4f9)+_0x2017c3(0x72b)+'败:',_0x97a0be[_0x2017c3(0x715)+'ge']):_0x1659fc[_0x2017c3(0x5a0)]=_0x4eeb4b[_0x2017c3(0x93d)](_0x4f5bb1[_0x2017c3(0x5a0)]);}if(!authState[_0x2017c3(0x4e5)+'horiz'+'ed']){if(_0x21ce3f[_0x2017c3(0x117)](_0x2017c3(0x295),_0x21ce3f[_0x2017c3(0x17e)])){const _0x421280=_0x378c9f['perio'+'d']?_0x21ce3f[_0x2017c3(0x2de)](_0xa04146,_0x2023b3['perio'+'d']):{};return{'startDate':_0x421280[_0x2017c3(0xa05)+_0x2017c3(0x479)]||_0x5ca925[_0x2017c3(0xa05)+_0x2017c3(0x479)],'endDate':_0x421280[_0x2017c3(0x904)+'te']||_0x329084[_0x2017c3(0x904)+'te'],'limit':_0x933b5b[_0x2017c3(0x7d5)](_0x21ce3f[_0x2017c3(0x896)](_0x230e81,_0x557e87[_0x2017c3(0x20d)])||0xa,0x64),'source':_0x428023[_0x2017c3(0x5ea)+'e'],'category':_0x5aa861['categ'+_0x2017c3(0x78f)],'store':_0x4b5af8['store']};}else{const _0x59c693=await oauthManager[_0x2017c3(0xe0)+_0x2017c3(0xda)+_0x2017c3(0x612)]();if(_0x59c693&&_0x59c693[_0x2017c3(0x24a)+'eCode']){if(oauthManager['isAut'+_0x2017c3(0x838)+_0x2017c3(0x87f)+_0x2017c3(0xd6)](_0x59c693))console[_0x2017c3(0x617)](_0x21ce3f[_0x2017c3(0x4f3)]),await oauthManager[_0x2017c3(0x314)+_0x2017c3(0x69c)+_0x2017c3(0x4b6)]();else try{const _0x1a51c4=await oauthManager[_0x2017c3(0x1ea)+_0x2017c3(0x780)+_0x2017c3(0x693)+'e'](_0x59c693['devic'+_0x2017c3(0x3c2)]);if(_0x1a51c4){const _0xfc8f84=_0x21ce3f[_0x2017c3(0xa9)][_0x2017c3(0x3b6)]('|');let _0xeba126=0x0;while(!![]){switch(_0xfc8f84[_0xeba126++]){case'0':tokenExpireTime=_0x1a51c4['expir'+_0x2017c3(0x6f0)];continue;case'1':await oauthManager['clear'+_0x2017c3(0x69c)+_0x2017c3(0x4b6)]();continue;case'2':authState['isAut'+_0x2017c3(0x181)+'ed']=!![];continue;case'3':_0x21ce3f[_0x2017c3(0x770)](setCachedToken,_0x1a51c4[_0x2017c3(0x63d)+_0x2017c3(0x187)+'n']);continue;case'4':await oauthManager[_0x2017c3(0x2df)+'Stora'+'ge'][_0x2017c3(0x7e4)+'gentN'+_0x2017c3(0x51f)](_0x21ce3f['rgXHT']);continue;case'5':await oauthManager[_0x2017c3(0x2df)+'Stora'+'ge'][_0x2017c3(0x53c)+_0x2017c3(0xa30)+'Code'](_0x59c693['devic'+_0x2017c3(0x3c2)]);continue;case'6':await oauthManager[_0x2017c3(0x2df)+_0x2017c3(0x4f0)+'ge']['save'](_0x1a51c4);continue;case'7':console[_0x2017c3(0x617)](_0x21ce3f['BzAAo']);continue;case'8':throw new Error('AUTH_'+_0x2017c3(0x473)+_0x2017c3(0x46e)+_0x2017c3(0x1a7)+_0x21ce3f['ExYTV'](getCachedToken));continue;}break;}}authState['devic'+_0x2017c3(0x3c2)]=_0x59c693[_0x2017c3(0x24a)+'eCode'],authState['userC'+_0x2017c3(0x464)]=_0x59c693[_0x2017c3(0x302)+_0x2017c3(0x464)];throw new Error('NEED_'+_0x2017c3(0x4c1)+_0x59c693[_0x2017c3(0x302)+_0x2017c3(0x464)]);}catch(_0x521916){if(_0x521916['messa'+'ge'][_0x2017c3(0xa05)+'sWith'](_0x2017c3(0x42b)+_0x2017c3(0x4c1))||_0x521916[_0x2017c3(0x715)+'ge']['start'+_0x2017c3(0x7a3)](_0x21ce3f[_0x2017c3(0x11d)])){if(_0x21ce3f['Sttct'](_0x2017c3(0x2fd),_0x21ce3f['Rrquo']))return new _0x3ec71e(_0x18bf91)[_0x2017c3(0xa0e)+'me']();else throw _0x521916;}console[_0x2017c3(0x617)]('⚠️\x20\x20检查'+_0x2017c3(0x561)+'败:',_0x521916[_0x2017c3(0x715)+'ge']);}}await _0x21ce3f[_0x2017c3(0x5ee)](startAuthFlow);throw new Error(_0x2017c3(0x42b)+'AUTH:'+(authState[_0x2017c3(0x302)+'ode']||_0x21ce3f[_0x2017c3(0x1f6)]));}}if(!oauthManager)throw new Error(_0x21ce3f['wsYDj']);try{const _0x9ea9da=await oauthManager['getVa'+_0x2017c3(0x5e8)+_0x2017c3(0x8ea)]();return _0x21ce3f['tyfNd'](setCachedToken,_0x9ea9da['acces'+_0x2017c3(0x187)+'n']),tokenExpireTime=_0x9ea9da[_0x2017c3(0x6bf)+'esAt'],lastRefreshTime=Date[_0x2017c3(0x104)](),await oauthManager['clear'+_0x2017c3(0x69c)+_0x2017c3(0x4b6)](),_0x21ce3f['JWxpJ'](getCachedToken);}catch(_0x36def6){authState['isAut'+_0x2017c3(0x181)+'ed']=![],authState[_0x2017c3(0x58f)+_0x2017c3(0x29d)]=![],await _0x21ce3f[_0x2017c3(0x5ee)](startAuthFlow);throw new Error(_0x2017c3(0x42b)+'AUTH:'+(authState[_0x2017c3(0x302)+_0x2017c3(0x464)]||_0x2017c3(0x4e7)+'证码'));}}async function callMcpPrompt(_0x7186b8,_0x44ca21,_0x5c4ecc){const _0xf27dc1=_0x2dbe2,_0x82919a={'uAsYV':_0xf27dc1(0x5ce)+_0xf27dc1(0x51b)+_0xf27dc1(0x6db)+_0xf27dc1(0x67d)+'授权','UsvJC':function(_0x5ed860,_0x5ff9d4,_0x1914b9){return _0x5ed860(_0x5ff9d4,_0x1914b9);},'IeTdu':_0xf27dc1(0x3bf)+'catio'+_0xf27dc1(0x19e)+'n','ZNAmO':function(_0x56fa75,_0x1f0d95){return _0x56fa75!==_0x1f0d95;},'YlpPt':_0xf27dc1(0x2f4),'tUCKE':_0xf27dc1(0x6cb)},_0x3b1bd5={};_0x3b1bd5[_0xf27dc1(0x14c)]=_0x7186b8,_0x3b1bd5[_0xf27dc1(0x46b)+'s']=_0x44ca21;const _0x3fd87b=await _0x82919a[_0xf27dc1(0x9ce)](fetch,MCP_PROMPT_URL,{'method':'POST','headers':{'Content-Type':_0x82919a[_0xf27dc1(0x416)],'Authorization':_0xf27dc1(0x191)+'r\x20'+_0x5c4ecc},'body':JSON[_0xf27dc1(0x20c)+_0xf27dc1(0x222)](_0x3b1bd5)});if(!_0x3fd87b['ok']){if(_0x82919a[_0xf27dc1(0xa0)](_0x82919a['YlpPt'],_0x82919a['tUCKE'])){const _0x3433dd=await _0x3fd87b[_0xf27dc1(0x830)]();throw new Error(_0xf27dc1(0x7e6)+_0xf27dc1(0x2aa)+_0xf27dc1(0xa2a)+'\x20'+_0x3433dd);}else _0x3b9181[_0xf27dc1(0x617)](sTqsiO[_0xf27dc1(0x5de)]);}return await _0x3fd87b['json']();}function generateSignature(_0x1546ce,_0x3d490a,_0x42c858){const _0x52d75a=_0x2dbe2,_0x492794={};_0x492794[_0x52d75a(0x12b)]=function(_0x503195,_0x5cda25){return _0x503195+_0x5cda25;},_0x492794[_0x52d75a(0x26d)]=_0x52d75a(0x8ae);const _0x4d70e8=_0x492794,_0x3af257=_0x4d70e8[_0x52d75a(0x12b)](JSON[_0x52d75a(0x20c)+_0x52d75a(0x222)](_0x1546ce),_0x3d490a);return crypto[_0x52d75a(0x269)+_0x52d75a(0x344)]('sha25'+'6',_0x42c858)[_0x52d75a(0x277)+'e'](_0x3af257)[_0x52d75a(0x57a)+'t'](_0x4d70e8['mzFGW']);}async function logMcpCall(_0x55a374){const _0x46e9de=_0x2dbe2,_0x41e27f={'lpwao':_0x46e9de(0x3d8)+',已省略]','FMrHR':function(_0xeffdd,_0x1e3fbc){return _0xeffdd-_0x1e3fbc;},'NeNSI':_0x46e9de(0x309),'ppgAS':_0x46e9de(0x6dd)+_0x46e9de(0x2ac)+'失败:','rbqyP':_0x46e9de(0x668),'zksnS':_0x46e9de(0x750)+_0x46e9de(0x80c),'NtJim':function(_0x598d1c,_0x6d4edf,_0x4c654c,_0x4c4524){return _0x598d1c(_0x6d4edf,_0x4c654c,_0x4c4524);},'cBZZb':_0x46e9de(0x609),'JTHXA':_0x46e9de(0x3bf)+_0x46e9de(0x30b)+_0x46e9de(0x19e)+'n','LOGDy':function(_0x8ba5e7){return _0x8ba5e7();},'BcZmx':function(_0x77bd3,_0x53d88f){return _0x77bd3!==_0x53d88f;},'Lsvos':'QFZrP','aXUYH':_0x46e9de(0x6dd)+_0x46e9de(0x2ac)+'异常:'};try{if(_0x46e9de(0x668)!==_0x41e27f[_0x46e9de(0x9a7)]){const _0x3cd9b3=_0x281b95[_0x46e9de(0x20c)+_0x46e9de(0x222)](_0x112820,null,0x2);if(_0x3cd9b3['lengt'+'h']>_0x123500){const _0x28d821={..._0x558b9d};return _0x28d821[_0x46e9de(0x2e6)]=_0x41e27f[_0x46e9de(0x3f3)],_0x28d821[_0x46e9de(0x662)]=_0x46e9de(0x96f)+'小:'+_0x3cd9b3['lengt'+'h']+_0x46e9de(0x98d),_0x4eb37a['strin'+'gify'](_0x28d821,null,0x2);}return _0x3cd9b3;}else{const _0x2b6dfa={};_0x2b6dfa[_0x46e9de(0x14c)]=_0x41e27f[_0x46e9de(0x544)],_0x2b6dfa[_0x46e9de(0x46b)+'s']=_0x55a374;const _0x45a1e6=_0x2b6dfa,_0x33bbfc=Date[_0x46e9de(0x104)]()[_0x46e9de(0x1f4)+_0x46e9de(0x15f)](),_0x41a8a0=_0x41e27f['NtJim'](generateSignature,_0x45a1e6,_0x33bbfc,CHAIMI_API_SECRET);fetch(MCP_HUB_URL,{'method':_0x41e27f[_0x46e9de(0x9f4)],'headers':{'Content-Type':_0x41e27f['JTHXA'],'Authorization':'Beare'+'r\x20'+await _0x41e27f['LOGDy'](getToken),'X-Chaimi-Signature':_0x41a8a0,'X-Chaimi-Timestamp':_0x33bbfc},'body':JSON[_0x46e9de(0x20c)+_0x46e9de(0x222)](_0x45a1e6)})[_0x46e9de(0x1cf)](_0x4eaabf=>{const _0x3d5540=_0x46e9de,_0x690f59={'rxfTz':function(_0x20c0fe,_0x1d83aa){return _0x41e27f['FMrHR'](_0x20c0fe,_0x1d83aa);}};if(_0x3d5540(0x309)!==_0x41e27f[_0x3d5540(0x67b)]){const [_0x4d54a5,_0x2b4b99,_0x29429e]=_0x51d911['split']('-')[_0x3d5540(0x8e0)](_0x79d723);return new _0x3c8c06(_0x4d54a5,_0x690f59[_0x3d5540(0x58a)](_0x2b4b99,0x1),_0x29429e,0xc,0x0,0x0)['getTi'+'me']();}else console['error'](_0x41e27f[_0x3d5540(0x8b0)],_0x4eaabf[_0x3d5540(0x715)+'ge']);});}}catch(_0x8f318c){if(_0x41e27f['BcZmx'](_0x46e9de(0x753),_0x41e27f[_0x46e9de(0xc0)]))console[_0x46e9de(0x617)](_0x41e27f[_0x46e9de(0x79c)],_0x8f318c[_0x46e9de(0x715)+'ge']);else throw _0x191ae4;}}function generateTraceId(){const _0x5d90e4=_0x2dbe2;return _0x5d90e4(0x903)+'_'+Date[_0x5d90e4(0x104)]()+'_'+Math['rando'+'m']()['toStr'+_0x5d90e4(0x15f)](0x24)[_0x5d90e4(0x7f4)+'r'](0x2,0x9);}function getOSInfo(){const _0x13b638=_0x2dbe2;return{'osType':process[_0x13b638(0x5cf)+_0x13b638(0xa3f)],'osVersion':os[_0x13b638(0x29a)+'se']()};}async function callMcpHubWithLogging(_0x43c0bc,_0x2fbeb4,_0x2f50bc,_0x4409b1,_0x4f4f33,_0x595af8,_0x5ab166,_0x52d6c9){const _0x1b9c2e=_0x2dbe2,_0x29e9f4={'HqJcS':function(_0x35fdea,_0x35ae7a){return _0x35fdea(_0x35ae7a);},'ttkSi':'doten'+'v','WTcNE':function(_0x4a8e72,_0x5d4e4e){return _0x4a8e72||_0x5d4e4e;},'CGBLb':function(_0x132ad0,_0x36b4ef,_0x473fa9,_0xab6df4,_0x4706fb,_0x3c52ec){return _0x132ad0(_0x36b4ef,_0x473fa9,_0xab6df4,_0x4706fb,_0x3c52ec);},'YmkoE':function(_0x57e1de,_0x280a79){return _0x57e1de===_0x280a79;},'QzjYU':_0x1b9c2e(0x4d3)+_0x1b9c2e(0x760)+_0x1b9c2e(0x88e)+_0x1b9c2e(0x366),'EoNrV':function(_0x1a4eb2){return _0x1a4eb2();},'VQSZT':function(_0x87d2dd){return _0x87d2dd();},'akMjW':'等待生成验'+'证码','HBizX':function(_0x2fc85b,_0x1497a4){return _0x2fc85b!==_0x1497a4;},'TDfLF':_0x1b9c2e(0xa10)},_0x40e72d={..._0x2fbeb4,'agentType':_0x5ab166||'','apiProvider':_0x29e9f4[_0x1b9c2e(0x56b)](_0x52d6c9,'')};try{const _0x508b24=await _0x29e9f4['CGBLb'](callMcpHub,_0x43c0bc,_0x40e72d,_0x2f50bc,_0x4409b1,_0x595af8);if(!_0x508b24[_0x1b9c2e(0x8ce)+'ss']&&_0x29e9f4[_0x1b9c2e(0x238)](_0x508b24['code'],0x191)){console[_0x1b9c2e(0x617)](_0x29e9f4[_0x1b9c2e(0x91)]),_0x29e9f4[_0x1b9c2e(0x75e)](clearCachedToken),await oauthManager[_0x1b9c2e(0x314)+_0x1b9c2e(0x69c)+_0x1b9c2e(0x4b6)](),await _0x29e9f4['VQSZT'](startAuthFlow);throw new Error(_0x1b9c2e(0x42b)+_0x1b9c2e(0x4c1)+(authState[_0x1b9c2e(0x302)+_0x1b9c2e(0x464)]||_0x29e9f4[_0x1b9c2e(0x1fc)]));}return _0x508b24;}catch(_0x790f33){if(_0x29e9f4[_0x1b9c2e(0x882)](_0x29e9f4[_0x1b9c2e(0x58d)],_0x29e9f4[_0x1b9c2e(0x58d)]))iGTypH[_0x1b9c2e(0x94b)](_0x4b978d,iGTypH[_0x1b9c2e(0x9fa)])[_0x1b9c2e(0x4af)+'g']();else throw _0x790f33;}}async function callMcpHub(_0x4c8a88,_0x1053f3,_0x2dcf7e,_0xc800ab,_0x217fe6){const _0x26f0e4=_0x2dbe2,_0x21c6b8={'eUoSY':function(_0x3e01c4,_0x807e3b,_0x215f81,_0x179b06){return _0x3e01c4(_0x807e3b,_0x215f81,_0x179b06);},'infOn':function(_0x5d76e8,_0x8a9162,_0x4d7616){return _0x5d76e8(_0x8a9162,_0x4d7616);},'ITnlK':_0x26f0e4(0x609),'cJaEM':_0x26f0e4(0x3bf)+'catio'+_0x26f0e4(0x19e)+'n'},_0x3d5d16={..._0x1053f3};_0x3d5d16[_0x26f0e4(0x7fa)+_0x26f0e4(0xd0)]=_0xc800ab,_0x3d5d16['osTyp'+'e']=_0x217fe6?.[_0x26f0e4(0x92a)+'e'],_0x3d5d16[_0x26f0e4(0x631)+'sion']=_0x217fe6?.[_0x26f0e4(0x631)+_0x26f0e4(0xcb)];const _0x4df3ba={};_0x4df3ba[_0x26f0e4(0x14c)]=_0x4c8a88,_0x4df3ba[_0x26f0e4(0x46b)+'s']=_0x3d5d16;const _0xeb0b09=_0x4df3ba,_0x446f06=Date['now']()[_0x26f0e4(0x1f4)+'ing'](),_0x1f878e=_0x21c6b8[_0x26f0e4(0x644)](generateSignature,_0xeb0b09,_0x446f06,CHAIMI_API_SECRET),_0x6e4e90=await _0x21c6b8[_0x26f0e4(0x6c0)](fetch,MCP_HUB_URL,{'method':_0x21c6b8['ITnlK'],'headers':{'Content-Type':_0x21c6b8[_0x26f0e4(0x95f)],'Authorization':_0x26f0e4(0x191)+'r\x20'+_0x2dcf7e,'X-Chaimi-Signature':_0x1f878e,'X-Chaimi-Timestamp':_0x446f06},'body':JSON[_0x26f0e4(0x20c)+'gify'](_0xeb0b09)});if(!_0x6e4e90['ok']){const _0x401c32=await _0x6e4e90[_0x26f0e4(0x830)]();throw new Error('mcpHu'+_0x26f0e4(0x28f)+_0x26f0e4(0x66f)+_0x401c32);}return await _0x6e4e90['json']();}const SKILL_READ_LOG_PATH=path[_0x2dbe2(0x449)](os['homed'+'ir'](),_0x2dbe2(0x501)+_0x2dbe2(0x3ee)+'p',_0x2dbe2(0x1fb)+_0x2dbe2(0x7a7)+_0x2dbe2(0x3d5)),SKILL_VALID_DURATION=0x5*0x3c*0x3e8;function getLastSkillReadTime(){const _0x19f491=_0x2dbe2,_0x4fda13={};_0x4fda13[_0x19f491(0x18b)]=_0x19f491(0x5ce)+_0x19f491(0x51b)+_0x19f491(0x6db)+',需要重新'+'授权',_0x4fda13[_0x19f491(0x9d2)]=function(_0x37c4f9,_0x508abb){return _0x37c4f9===_0x508abb;},_0x4fda13['cmkbe']=_0x19f491(0x8d3),_0x4fda13[_0x19f491(0x6a6)]=_0x19f491(0x969),_0x4fda13[_0x19f491(0x684)]=_0x19f491(0x98e)+_0x19f491(0x47f)+_0x19f491(0x215);const _0x20e239=_0x4fda13;try{if(_0x20e239['vZChD'](_0x20e239[_0x19f491(0x8fc)],_0x20e239['pNHPx']))_0x25edec[_0x19f491(0x617)](TAwFDo[_0x19f491(0x18b)]);else{if(fs[_0x19f491(0x6b5)+'sSync'](SKILL_READ_LOG_PATH)){const _0x266d89=JSON[_0x19f491(0x93d)](fs['readF'+_0x19f491(0x81f)+'nc'](SKILL_READ_LOG_PATH,_0x19f491(0x218)));return _0x266d89['lastR'+_0x19f491(0x980)+'me']||0x0;}}}catch(_0x1bda9d){console['error'](_0x20e239[_0x19f491(0x684)],_0x1bda9d);}return 0x0;}function recordSkillRead(){const _0x3488c8=_0x2dbe2,_0x4051f3={};_0x4051f3[_0x3488c8(0x589)]=_0x3488c8(0x891)+_0x3488c8(0x52a)+_0x3488c8(0x9d4);const _0x4c50bb=_0x4051f3;try{const _0x1bc08e=path[_0x3488c8(0x7c8)+'me'](SKILL_READ_LOG_PATH);if(!fs[_0x3488c8(0x6b5)+_0x3488c8(0x776)](_0x1bc08e)){const _0x3df6c1={};_0x3df6c1[_0x3488c8(0x42a)+_0x3488c8(0x195)]=!![],fs[_0x3488c8(0x400)+_0x3488c8(0x16b)](_0x1bc08e,_0x3df6c1);}fs[_0x3488c8(0x849)+_0x3488c8(0x3d7)+_0x3488c8(0x6cf)](SKILL_READ_LOG_PATH,JSON[_0x3488c8(0x20c)+_0x3488c8(0x222)]({'lastReadTime':Date[_0x3488c8(0x104)](),'readAt':new Date()['toISO'+_0x3488c8(0x9e9)+'g']()},null,0x2));}catch(_0x12c202){console[_0x3488c8(0x617)](_0x4c50bb[_0x3488c8(0x589)],_0x12c202);}}server[_0x2dbe2(0x603)+_0x2dbe2(0x315)+_0x2dbe2(0xa17)+'er'](CallToolRequestSchema,async _0x3c2936=>{const _0x251974=_0x2dbe2,_0x204ba2={'pmVEb':_0x251974(0x509)+']\x20检测失'+'败:','EUIoW':_0x251974(0x5f3)+'t','ndQnu':_0x251974(0x11a),'kpNOB':'quant'+_0x251974(0x8d5),'kLqQk':_0x251974(0x218),'IRwxL':function(_0x210fe2,_0x38c5f7){return _0x210fe2(_0x38c5f7);},'KgiBD':_0x251974(0x86e)+_0x251974(0xa14)+'t','ZjGJc':'actua'+_0x251974(0x4df)+'nt','LAjHv':_0x251974(0x821)+_0x251974(0x9f2)+_0x251974(0x481),'NHYFv':_0x251974(0x5e9)+'untAm'+_0x251974(0x481),'AjeLl':_0x251974(0x8ef),'GGVKN':function(_0x463952,_0x60ff21){return _0x463952===_0x60ff21;},'dCWMr':_0x251974(0xf8),'nplPu':_0x251974(0x2be),'KfHSq':function(_0x3f8792,_0x38335b){return _0x3f8792 in _0x38335b;},'Xsfrt':_0x251974(0x283)+'r','gutOM':function(_0xb3ec62,_0x59ce36){return _0xb3ec62(_0x59ce36);},'jXvdj':_0x251974(0x973),'cTcKa':function(_0x2d35ca,_0x1cd1f6){return _0x2d35ca!==_0x1cd1f6;},'CHaoL':function(_0x511b29,_0x28b1f5){return _0x511b29===_0x28b1f5;},'Plqvl':_0x251974(0x6dc)+_0x251974(0x78f),'qoHUF':_0x251974(0x42b)+_0x251974(0x4c1),'hhnjA':_0x251974(0xfc)+_0x251974(0x473)+_0x251974(0x46e)+_0x251974(0x1a7),'tnSii':_0x251974(0x2f6)+'授权状态失'+'败:','yttov':function(_0xf77b2f,_0x292cb1){return _0xf77b2f+_0x292cb1;},'skRpG':_0x251974(0x7f1)+'察:','uIKZq':_0x251974(0x3fa)+_0x251974(0x4ad)+_0x251974(0x237)+_0x251974(0x483)+_0x251974(0x3ca)+_0x251974(0x6a0),'HZhQV':_0x251974(0x8a9)+'I记账\x20M'+_0x251974(0x19c)+_0x251974(0x375)+'-\x20首次使'+_0x251974(0x9e6),'uHkoX':_0x251974(0x7ae)+'点击\x22我的'+'\x22\x20→\x20\x22'+_0x251974(0x64e)+'\x20授权\x22','tiMmY':_0x251974(0x4cb)+'柴米AI记'+_0x251974(0x157)+_0x251974(0x3c5)+':','gtbtQ':'\x20\x201.\x20'+'打开\x22柴米'+_0x251974(0x80e)+_0x251974(0x95a),'eEVVX':_0x251974(0x20c)+'g','gPncA':_0x251974(0x388)+'Skill'+_0x251974(0x246)+'检查安装是'+_0x251974(0x877),'HCiEG':_0x251974(0x3a1),'OBIfF':function(_0x319049,_0x207e47){return _0x319049===_0x207e47;},'krEYk':function(_0x2ebc8d,_0x2f900f){return _0x2ebc8d===_0x2f900f;},'dXwrq':'produ'+'ctCat'+'egory','RrdBg':function(_0x4fa5dd,_0xdcdda6){return _0x4fa5dd>_0xdcdda6;},'uYESs':'SPPBc','uHghS':_0x251974(0x9bd),'HQfoS':_0x251974(0x135)+_0x251974(0x4f9)+_0x251974(0x72b)+'败:','wzqoL':function(_0x4de444,_0x153bb8){return _0x4de444+_0x153bb8;},'ZCZAY':'...','LGiTw':function(_0x3c0cd6,_0x4d69ca){return _0x3c0cd6(_0x4d69ca);},'IjAJH':_0x251974(0x167)+_0x251974(0x9db),'TPEuI':function(_0x512dd3,_0x258ff0,_0x36860c){return _0x512dd3(_0x258ff0,_0x36860c);},'QagTq':_0x251974(0x865)+'2:','LaeIe':_0x251974(0x3d8)+_0x251974(0x328),'wymEf':_0x251974(0x14a)+'id','BncTH':'❌\x20授权失'+'败:','AjuLA':function(_0x288e66,_0xc99ff5){return _0x288e66===_0xc99ff5;},'ODbAO':_0x251974(0x993),'WYKGs':_0x251974(0x276),'TWKEf':_0x251974(0x79d)+_0x251974(0x31c)+_0x251974(0x61c)+'失败:','eRkYh':function(_0x154164,_0x32496c){return _0x154164(_0x32496c);},'AMLgR':function(_0x531809,_0xfd0ed3){return _0x531809<=_0xfd0ed3;},'ZdiwF':function(_0x599942,_0x57958b){return _0x599942*_0x57958b;},'udnSx':_0x251974(0x865)+'1:','aneqr':function(_0x2c6971,_0x225adf){return _0x2c6971<_0x225adf;},'FMeoD':function(_0x580e1a,_0x27e682){return _0x580e1a^_0x27e682;},'aLCRe':function(_0x19f4fb,_0x203adb){return _0x19f4fb%_0x203adb;},'FcHUb':function(_0xe67e56,_0x51cbfb){return _0xe67e56/_0x51cbfb;},'iOlpe':function(_0xa07f42,_0x44b85e){return _0xa07f42+_0x44b85e;},'ahYgT':function(_0x10a6e0,_0x14c1fb){return _0x10a6e0-_0x14c1fb;},'VUSCc':_0x251974(0x502)+_0x251974(0x3b2)+_0x251974(0x772)+_0x251974(0x3c8)+_0x251974(0x819)+_0x251974(0x757)+'md','uqCSf':_0x251974(0x316),'ANwdm':function(_0x1ebdd4,_0x437f51){return _0x1ebdd4+_0x437f51;},'KqJHa':function(_0x3d3f01,_0x30ba83){return _0x3d3f01>_0x30ba83;},'HGNzi':'数据序列化'+'失败','CMnYu':function(_0x177fd0){return _0x177fd0();},'MMqyr':function(_0xaddcb4){return _0xaddcb4();},'FcOaE':function(_0x2d6a9a,_0x4600a9){return _0x2d6a9a(_0x4600a9);},'QzWCB':function(_0x40136d,_0x46eb02){return _0x40136d<_0x46eb02;},'khdYI':_0x251974(0x830),'nhjID':function(_0x3d59f9,_0x5e8415){return _0x3d59f9===_0x5e8415;},'epzOW':'save_'+_0x251974(0x5c6)+'se','SybDm':_0x251974(0xf1)+_0x251974(0x625)+'pt','kEewj':function(_0x4eab19,_0x2b1265){return _0x4eab19===_0x2b1265;},'UXXzG':_0x251974(0x2e7)+_0x251974(0x192)+_0x251974(0x2b8),'daUPX':_0x251974(0x650)+_0x251974(0xa8)+_0x251974(0x428)+'ill\x20定'+_0x251974(0x9d3)+_0x251974(0x73a)+_0x251974(0x1b0)+_0x251974(0x6ec)+_0x251974(0x806)+'kill`'+_0x251974(0x5c7)+'最新\x20Sk'+_0x251974(0x4ae)+_0x251974(0x4c7)+_0x251974(0x7f2)+'操作:\x0a1'+'.\x20调用\x20'+_0x251974(0x6c9)+'skill'+_0x251974(0x236)+_0x251974(0x964)+_0x251974(0x166)+_0x251974(0x203)+'l\x20文档\x0a'+_0x251974(0x52d)+_0x251974(0x43c)+_0x251974(0x4ae)+_0x251974(0x7bc)+'操作\x0a\x0a⚠️'+_0x251974(0x425)+'为了确保你'+_0x251974(0x92)+_0x251974(0x265)+_0x251974(0x921)+_0x251974(0x9a8)+_0x251974(0x857),'yWRIG':_0x251974(0xb4),'Odgwl':function(_0x206de3){return _0x206de3();},'xfSJJ':function(_0x34199b,_0x209b89){return _0x34199b!==_0x209b89;},'WJrYY':'XlHUi','tJAzp':function(_0x52b265,_0x156b08,_0x35ae70){return _0x52b265(_0x156b08,_0x35ae70);},'Selvh':_0x251974(0x806)+_0x251974(0x8d2),'FyLeZ':'LFSSj','lhErn':_0x251974(0x9b7),'OSjRk':function(_0x79551c){return _0x79551c();},'YuomN':_0x251974(0x7ee)+_0x251974(0x8ca),'ygsAX':function(_0x31230b,_0x2d6875){return _0x31230b!==_0x2d6875;},'FhQmX':'HxIqj','VfyvY':function(_0x4521e2,_0x55be1f){return _0x4521e2===_0x55be1f;},'VQVEp':function(_0x56633a,_0x55b9ee){return _0x56633a===_0x55b9ee;},'ouBsZ':_0x251974(0x372)+_0x251974(0xa2c)+'SKILL'+'.md\x20中'+_0x251974(0x8eb)+_0x251974(0x5f2)+_0x251974(0x354)+'2.运行\x20'+_0x251974(0x6f7)+_0x251974(0x242)+_0x251974(0x924)+'米AI记账'+'\x20--sc'+_0x251974(0x1f7)+'查看完整参'+_0x251974(0x652),'hbkcl':function(_0x2d1152,_0x207f04){return _0x2d1152<=_0x207f04;},'sTzFl':_0x251974(0x5f8)+'正数','jZEJt':_0x251974(0x650)+'败:金额必'+'须是正数','UFIuQ':'RNiud','LBTDJ':_0x251974(0x447),'UQpKw':function(_0x298737,_0x7cab4d){return _0x298737-_0x7cab4d;},'rCpyb':function(_0x3fd586,_0x391fae){return _0x3fd586<_0x391fae;},'cZPyg':_0x251974(0xe4),'HdOlQ':function(_0x1dd12c,_0x2cd6d7){return _0x1dd12c||_0x2cd6d7;},'QhHsG':function(_0x37aaab,_0x1715a3,_0x3afe85,_0x1cde4e,_0x3300c0,_0x294a25,_0xc0d4c1,_0x491a31,_0x7d62b9){return _0x37aaab(_0x1715a3,_0x3afe85,_0x1cde4e,_0x3300c0,_0x294a25,_0xc0d4c1,_0x491a31,_0x7d62b9);},'iPzoZ':_0x251974(0x280)+_0x251974(0x419),'kUVSK':_0x251974(0x525),'JdvfA':'用餐愉快!'+'🍚\x20/\x20好'+_0x251974(0x971),'PIaJY':'出行顺利!'+'🚗','Oselb':_0x251974(0x6df)+_0x251974(0x4a4),'qDaUv':'记账完成!'+_0x251974(0xa07)+'\x20✨','zORdl':'ItQuG','hGdPa':function(_0x201972,_0xb8ec00){return _0x201972!==_0xb8ec00;},'DzGhz':_0x251974(0x7f0),'ehdsg':function(_0x451120,_0xaac5c0){return _0x451120+_0xaac5c0;},'YYLfi':_0x251974(0xcc)+_0x251974(0x77c)+_0x251974(0x555)+_0x251974(0x2cc)+_0x251974(0x4cd)+_0x251974(0x1b6)+_0x251974(0x97d)+_0x251974(0x7f9)+_0x251974(0x512)+_0x251974(0x282),'INkZc':function(_0x115e44){return _0x115e44();},'BANfi':_0x251974(0x133),'bFNkN':_0x251974(0x78e),'GhZDV':_0x251974(0x837),'ktdNE':_0x251974(0x837)+'Categ'+_0x251974(0x78f),'Sjatc':_0x251974(0x837)+_0x251974(0x710)+_0x251974(0x731)+'y','GzJWW':function(_0x100f0a,_0xfe623f){return _0x100f0a!==_0xfe623f;},'yAkhq':_0x251974(0x6e6),'zWaMr':'ZewCY','EzQtH':function(_0x3ec860,_0x56223e){return _0x3ec860===_0x56223e;},'iIrAI':function(_0x57531f,_0x5c1bb1){return _0x57531f===_0x5c1bb1;},'roGcG':_0x251974(0x146)+_0x251974(0x486)+_0x251974(0x702)+_0x251974(0x895)+_0x251974(0x3ba),'sczVJ':function(_0x541b2d,_0x33d6d8){return _0x541b2d===_0x33d6d8;},'bPeoq':'ljVsq','xOqla':function(_0x3b9c78,_0x20841f){return _0x3b9c78<_0x20841f;},'ueHjb':function(_0x3a24f8,_0x5bc04e){return _0x3a24f8!==_0x5bc04e;},'jByDY':_0x251974(0x5ed),'xxrbR':'disco'+_0x251974(0x1fd)+'ount\x20'+'必须是非负'+'数','EQWbu':_0x251974(0x7b9)+_0x251974(0x3fe)+_0x251974(0x1a5)+'负数','UawaC':'items'+_0x251974(0x325)+',必须包含'+_0x251974(0x395)+'品','NYRaP':_0x251974(0x7b9)+'败:商品列'+_0x251974(0x556)+_0x251974(0x329)+'确保从\x20g'+_0x251974(0x979)+_0x251974(0x645)+'rompt'+'\x20的解析结'+_0x251974(0x3f6)+_0x251974(0x3c9)+'ems\x20数'+'组','Wlbwt':function(_0x4dbefc,_0x10c584){return _0x4dbefc>_0x10c584;},'vjAfx':function(_0x19d5a2,_0x44bcca){return _0x19d5a2||_0x44bcca;},'DGDvW':function(_0x51f573,_0x3e4725){return _0x51f573===_0x3e4725;},'TVoaA':function(_0x1a38b6,_0x721748){return _0x1a38b6===_0x721748;},'CjAmY':_0x251974(0x4ba),'llBOe':_0x251974(0x4db)+_0x251974(0x4d6)+'nents'+'\x20不完整','uvCzc':'必须包含:'+_0x251974(0x17f)+_0x251974(0x4ce)+'、day、'+_0x251974(0x1c5)+_0x251974(0x2d4)+'e','gHPbI':_0x251974(0x7b9)+_0x251974(0x9e4)+_0x251974(0x17d)+'\x0a请确保\x20'+'date_'+_0x251974(0x4d6)+'nents'+_0x251974(0x8d8)+'的年月日时'+'分秒','iVSPk':function(_0x3256d0,_0x124773){return _0x3256d0||_0x124773;},'CSfRk':_0x251974(0x4bd),'faMPr':function(_0x5dd2a4,_0x4d1974){return _0x5dd2a4!==_0x4d1974;},'UJsnS':_0x251974(0x40b),'zNhrf':_0x251974(0x158)+_0x251974(0x6a5)+'正确','CYFpD':'payme'+_0x251974(0x846)+_0x251974(0x5b1),'XoXFt':function(_0x327def,_0x14ab7a){return _0x327def!==_0x14ab7a;},'AcLtf':_0x251974(0x95b),'hwFnr':function(_0x51482a,_0x140993){return _0x51482a===_0x140993;},'rvCSj':function(_0xee8f0d,_0x3dfd38){return _0xee8f0d===_0x3dfd38;},'wKmgG':function(_0x7f34b3,_0x7abe64,_0x118957,_0x296778){return _0x7f34b3(_0x7abe64,_0x118957,_0x296778);},'tXaxp':'parse'+'Recei'+'pt','lfpcQ':_0x251974(0x44d),'daddr':function(_0x5aaeef,_0x3007cc){return _0x5aaeef!==_0x3007cc;},'QoPeb':function(_0x516381,_0x5cd10c){return _0x516381!==_0x5cd10c;},'tglni':_0x251974(0x83a),'uOCHv':_0x251974(0x717),'bVERA':function(_0x251b98,_0x35434a){return _0x251b98>_0x35434a;},'SxVZi':function(_0x11d9e4,_0x4ed2ab){return _0x11d9e4-_0x4ed2ab;},'klzrr':'SJbiK','UuMWm':_0x251974(0x155)+_0x251974(0x205)+'ts','fmyKH':function(_0x3ca765,_0x40d522){return _0x3ca765||_0x40d522;},'sLrIH':'addRe'+_0x251974(0x4a3),'JoJVO':_0x251974(0xa5)+'🍚','BYuAW':function(_0x315bf8,_0x1597a4){return _0x315bf8!==_0x1597a4;},'slpLo':_0x251974(0x560),'kZScV':function(_0x177d85,_0x9f93f4){return _0x177d85+_0x9f93f4;},'kSMbz':function(_0x282fc5,_0x1385f7){return _0x282fc5===_0x1385f7;},'hpVYY':_0x251974(0xf3),'fvbtJ':function(_0x3e978e,_0xac2e45){return _0x3e978e+_0xac2e45;},'oaGOi':'请使用re'+'feren'+_0x251974(0x555)+'espon'+'se-te'+'mplat'+_0x251974(0x97d)+_0x251974(0x578)+_0x251974(0x3be)+_0x251974(0x282),'hwvpp':_0x251974(0x143)+_0x251974(0x10d)+'es','QYDEO':_0x251974(0x8c9)+'eceip'+_0x251974(0x5f1)+'t','IExSM':function(_0x231738,_0x1937dd){return _0x231738===_0x1937dd;},'WDqHg':'SYzEH','IcnPK':function(_0x141e73,_0x3374d3,_0x4e39cf){return _0x141e73(_0x3374d3,_0x4e39cf);},'xjngC':function(_0x39b757,_0x4a189d,_0x45efd8,_0x5e874f,_0x53608f,_0x2f9426,_0x365598,_0x5cf1e2,_0x3d2b92){return _0x39b757(_0x4a189d,_0x45efd8,_0x5e874f,_0x53608f,_0x2f9426,_0x365598,_0x5cf1e2,_0x3d2b92);},'QaidM':_0x251974(0x74d),'IPWcH':'XDChs','dwVlR':function(_0x55331e,_0xf94f1c,_0x8f39f6){return _0x55331e(_0xf94f1c,_0x8f39f6);},'zOVcR':_0x251974(0x5fa),'iesLn':'请使用re'+_0x251974(0x77c)+_0x251974(0x555)+'espon'+'se-te'+'mplat'+_0x251974(0x97d)+_0x251974(0x9d)+_0x251974(0x72a)+_0x251974(0x282),'MoHRL':'get_i'+_0x251974(0x893)+'ts','zXwEN':function(_0x4821f0,_0x3bd90b,_0x40140d){return _0x4821f0(_0x3bd90b,_0x40140d);},'KvcYL':function(_0x290e36,_0x2d0326,_0x457548,_0x2602ea,_0x1d0fcf,_0x175f93,_0x2fc340,_0x533041,_0x38c201){return _0x290e36(_0x2d0326,_0x457548,_0x2602ea,_0x1d0fcf,_0x175f93,_0x2fc340,_0x533041,_0x38c201);},'RORVz':'dpfRw','xOWzR':function(_0x361d52,_0x29e257){return _0x361d52>_0x29e257;},'PfaFC':_0x251974(0xcc)+'feren'+_0x251974(0x555)+_0x251974(0x2cc)+_0x251974(0x4cd)+_0x251974(0x1b6)+_0x251974(0x97d)+'中的2.6'+'智能洞察模'+_0x251974(0x282),'mhiOM':_0x251974(0x7fc)+'t_dat'+'a','WgxLR':_0x251974(0x259),'xITno':_0x251974(0x990),'BVXGX':function(_0x1fb70b,_0xadc8e4,_0x527aa2,_0x24d917,_0x86d1a2,_0x1887cf,_0x41e42e,_0x34b2f4,_0x5eb93c){return _0x1fb70b(_0xadc8e4,_0x527aa2,_0x24d917,_0x86d1a2,_0x1887cf,_0x41e42e,_0x34b2f4,_0x5eb93c);},'wLBxU':_0x251974(0xcc)+'feren'+_0x251974(0x555)+'espon'+_0x251974(0x4cd)+_0x251974(0x1b6)+_0x251974(0x97d)+_0x251974(0x9b0)+_0x251974(0x1a8),'GiGxz':function(_0xab2f34,_0x3e7bef){return _0xab2f34!==_0x3e7bef;},'WwsNm':_0x251974(0x93b),'shxUD':'JLMCT','CWzbp':function(_0x31e3f3,_0x13fb07){return _0x31e3f3===_0x13fb07;},'PuWhQ':_0x251974(0x6d6),'cwYpr':function(_0x3d46aa,_0x56872d){return _0x3d46aa!==_0x56872d;},'VNSSy':function(_0x34f54d,_0x2a152e){return _0x34f54d<=_0x2a152e;},'lfsxk':function(_0x53c9a2,_0x211619){return _0x53c9a2!==_0x211619;},'lDnwY':_0x251974(0x5a6),'uCHBh':_0x251974(0x7df)+_0x251974(0x5c8)+_0x251974(0x6ff)+_0x251974(0x1b5),'HfVTP':function(_0x24fca1,_0x30360a,_0x11f806){return _0x24fca1(_0x30360a,_0x11f806);},'EfDVc':function(_0x2450f1,_0x21bc77){return _0x2450f1<_0x21bc77;},'hKwIX':function(_0x6eb500,_0x28e157){return _0x6eb500>_0x28e157;},'lJMMK':_0x251974(0x7df)+_0x251974(0x487)+_0x251974(0x41f)+_0x251974(0x356)+'时间','ckkQY':_0x251974(0xf1)+'incom'+'e','tPUgV':_0x251974(0x3d4)+_0x251974(0x83f),'xkANr':function(_0x26fe60,_0x4426b0){return _0x26fe60||_0x4426b0;},'SgwBJ':function(_0x178416,_0x46dff2){return _0x178416||_0x46dff2;},'DyTyx':_0x251974(0x746)+'arse_'+'promp'+'t','zAqoX':function(_0x3a20e4,_0xb7425,_0x58e068,_0x3d3f05){return _0x3a20e4(_0xb7425,_0x58e068,_0x3d3f05);},'UhNYa':'getPr'+_0x251974(0x579),'PXTIB':_0x251974(0x1c0)+'stemP'+'rompt'+_0x251974(0x5c4)+'ystem'+_0x251974(0xd8)+_0x251974(0x228)+_0x251974(0x65a)+_0x251974(0x37b)+'r\x20mes'+_0x251974(0x273)+_0x251974(0x92f)+_0x251974(0x23d)+'析。解析完'+'成后,调用'+_0x251974(0x233)+_0x251974(0x127)+_0x251974(0x3d1)+'具保存结果'+'。⚠️\x20注意'+':AI解析'+'结果必须包'+_0x251974(0x493)+_0x251974(0x450)+_0x251974(0xb9),'GGLUF':function(_0x30f075,_0x1fae3f){return _0x30f075===_0x1fae3f;},'nGfAl':'ZujRF','pjdmG':_0x251974(0xde)+_0x251974(0x89c)+'arse_'+'promp'+'t','CjIIX':_0x251974(0x3e8)+'xtPar'+'sePro'+_0x251974(0x6b4),'ejeAb':function(_0x2eabd7,_0x5d9468){return _0x2eabd7!==_0x5d9468;},'CsGjh':_0x251974(0x11b),'mOQUc':_0x251974(0x130)+'t_fee'+_0x251974(0x2bc),'NOybb':'other','wHHAk':_0x251974(0x435)+'agent','IcLDb':_0x251974(0x7bd)+_0x251974(0x8c3)+'k','hpcbc':_0x251974(0x787),'YGlag':'问题报告','EUGPC':_0x251974(0x3a4),'KCHhk':function(_0x1ac871){return _0x1ac871();},'tyoJV':_0x251974(0x249)+'t','DxUQV':_0x251974(0x234),'mEJrd':function(_0x594a3a,_0x349fb6){return _0x594a3a===_0x349fb6;},'lWTUF':'mOaZJ','pgCGb':function(_0x51aaf6,_0x558a13){return _0x51aaf6===_0x558a13;},'IUSHy':_0x251974(0x31f),'svIvI':_0x251974(0x909),'gscvj':_0x251974(0x4e7)+'证码','cExXn':_0x251974(0x20e),'WZFbB':_0x251974(0x2e7)+_0x251974(0x1c8),'UyWnG':_0x251974(0x9e3)+_0x251974(0x489)+'t','yLnwm':_0x251974(0x443)+_0x251974(0x5bf)+_0x251974(0x3a2),'hboff':_0x251974(0x510)+_0x251974(0x564)+_0x251974(0x816)+_0x251974(0x617)+':'},{name:_0x31466c,arguments:_0x304152}=_0x3c2936[_0x251974(0x46b)+'s'],_0x72c67=Date[_0x251974(0x104)](),_0x5d5ff0=_0x204ba2[_0x251974(0x8b6)](generateTraceId),_0x49291f=_0x204ba2[_0x251974(0x408)](getOSInfo),_0x38eb5c=_0x304152[_0x251974(0xa06)+_0x251974(0x949)]||process.env.AGENT_TYPE||process.env.MCP_AGENT_TYPE||'',_0x5859c2=_0x304152['apiPr'+_0x251974(0x42c)+'r']||process.env.API_PROVIDER||process.env.MCP_API_PROVIDER||'',_0x50e8d7=_0x204ba2[_0x251974(0x5a1)](checkRateLimit,_0x31466c);if(!_0x50e8d7[_0x251974(0x7f8)+'ed']){const _0x172887=_0x204ba2[_0x251974(0x1d1)](_0x50e8d7['waitS'+_0x251974(0x350)+'s'],0x3c)?_0x50e8d7[_0x251974(0x798)+_0x251974(0x350)+'s']+'\x20秒':Math['ceil'](_0x50e8d7['waitS'+_0x251974(0x350)+'s']/0x3c)+_0x251974(0x160),_0x2c14f8={};return _0x2c14f8[_0x251974(0x8ce)+'ss']=![],_0x2c14f8['error']=_0x251974(0x30e)+_0x251974(0x8cc)+'秒内最多调'+'用\x20'+_0x50e8d7[_0x251974(0x43b)+_0x251974(0x315)+'s']+_0x251974(0x907)+_0x172887+_0x251974(0x69d),_0x2c14f8[_0x251974(0x163)]=0x1ad,{'content':[{'type':_0x204ba2[_0x251974(0x594)],'text':JSON['strin'+_0x251974(0x222)](_0x2c14f8)}],'isError':!![]};}if(_0x204ba2['nhjID'](_0x31466c,_0x204ba2[_0x251974(0x9c7)])||_0x204ba2[_0x251974(0x231)](_0x31466c,_0x204ba2[_0x251974(0x48a)])||_0x31466c===_0x251974(0xf1)+_0x251974(0x17c)+'e'){if(_0x204ba2[_0x251974(0x48e)]('cfFZT',_0x251974(0x67a)))return'trace'+'_'+_0x461732[_0x251974(0x104)]()+'_'+_0x3ee7c1[_0x251974(0x700)+'m']()[_0x251974(0x1f4)+'ing'](0x24)['subst'+'r'](0x2,0x9);else{const _0x23248a=Date[_0x251974(0x104)](),_0x5826bd=getLastSkillReadTime();if(_0x204ba2['RrdBg'](_0x204ba2[_0x251974(0x66b)](_0x23248a,_0x5826bd),SKILL_VALID_DURATION))return{'content':[{'type':_0x204ba2['khdYI'],'text':JSON[_0x251974(0x20c)+_0x251974(0x222)]({'success':![],'error':_0x204ba2[_0x251974(0x1b7)],'message':_0x204ba2[_0x251974(0x421)],'code':0x190})}]};}}const _0x1929be=process.env.AGENT_TYPE||process.env.MCP_AGENT_TYPE||'',_0x30512c=process.env.API_PROVIDER||process.env.MCP_API_PROVIDER||'';!_0x304152[_0x251974(0xa06)+_0x251974(0x949)]&&_0x1929be&&(_0x304152['agent'+'Type']=_0x1929be);!_0x304152['apiPr'+_0x251974(0x42c)+'r']&&_0x30512c&&(_0x304152[_0x251974(0xf2)+_0x251974(0x42c)+'r']=_0x30512c);try{if(_0x204ba2['yWRIG']===_0x204ba2[_0x251974(0x90b)]){const _0x2f4a9f=await _0x204ba2['Odgwl'](getToken),_0x43fee6={..._0x304152};let _0x4698c1=_0x43fee6;if(_0x4698c1[_0x251974(0x5a0)]&&typeof _0x4698c1[_0x251974(0x5a0)]===_0x251974(0x20c)+'g')try{_0x204ba2[_0x251974(0x1c9)]('XlHUi',_0x204ba2[_0x251974(0x659)])?_0x5b65ec[_0x251974(0x617)](KmppVl[_0x251974(0x5ba)],_0x1e5686['messa'+'ge']):_0x4698c1[_0x251974(0x5a0)]=JSON[_0x251974(0x93d)](_0x4698c1[_0x251974(0x5a0)]);}catch(_0x658927){}function _0x35aad7(_0xb7a055,_0x3b8566){const _0x40061f=_0x251974,_0x3a1e42={'VaFqq':_0x204ba2[_0x40061f(0x4d0)],'pDQSF':function(_0x32f243,_0x1fc471){return _0x32f243!==_0x1fc471;},'VUQkp':_0x40061f(0x283)+'r','eluZT':function(_0x323b45,_0x27523d){const _0x2b9c4d=_0x40061f;return _0x204ba2[_0x2b9c4d(0x1f0)](_0x323b45,_0x27523d);}},_0x8fe6e7={};_0x8fe6e7[_0x40061f(0xf1)+_0x40061f(0x5c6)+'se']=[_0x204ba2[_0x40061f(0x5a2)],_0x40061f(0x8ef)],_0x8fe6e7['save_'+_0x40061f(0x625)+'pt']=[_0x204ba2['KgiBD'],_0x204ba2[_0x40061f(0x6b2)],_0x204ba2[_0x40061f(0x804)],_0x204ba2[_0x40061f(0x741)],_0x204ba2[_0x40061f(0x51a)]],_0x8fe6e7[_0x40061f(0xf1)+'incom'+'e']=[_0x204ba2[_0x40061f(0x5a2)],_0x204ba2[_0x40061f(0x51a)]];const _0x574de0=_0x8fe6e7,_0x5046df=_0x574de0[_0xb7a055]||[];for(const _0xd94c4b of _0x5046df){if(_0x204ba2[_0x40061f(0x36a)](_0x204ba2['dCWMr'],_0x204ba2[_0x40061f(0x1d7)])){const _0x344404=_0x45cec5['data']||{};_0x1f6778[_0x40061f(0x2f9)+_0x40061f(0xe5)+_0x40061f(0x658)+'on']='refer'+_0x40061f(0x3b2)+_0x40061f(0x772)+'onse-'+'templ'+_0x40061f(0x757)+'md',_0x39488d[_0x40061f(0x2f9)+_0x40061f(0x263)+'int']=_0x40061f(0xcc)+_0x40061f(0x77c)+_0x40061f(0x555)+_0x40061f(0x2cc)+_0x40061f(0x4cd)+_0x40061f(0x1b6)+'es.md'+_0x40061f(0x9d)+_0x40061f(0x72a)+_0x40061f(0x282);const _0x1ad93f={};_0x1ad93f['perio'+'d']=_0x344404['perio'+_0x40061f(0x21e)+_0x40061f(0x2ee)]||_0x344404[_0x40061f(0x2ed)+'d']||'未知',_0x1ad93f[_0x40061f(0x86e)+_0x40061f(0xa14)+'t']=_0x344404['total'+'Amoun'+'t']||0x0,_0x1ad93f[_0x40061f(0x86e)+'Count']=_0x344404[_0x40061f(0x86e)+_0x40061f(0x407)]||0x0,_0x1ad93f[_0x40061f(0x301)+'re']=_0x344404[_0x40061f(0x301)+'re'],_0x1ad93f['budge'+'t']=_0x344404[_0x40061f(0x46d)+'t'],_0x1ad93f['categ'+_0x40061f(0x217)]=_0x344404[_0x40061f(0x6dc)+_0x40061f(0x217)],_0x1ad93f[_0x40061f(0x747)+'hts']=_0x344404['insig'+_0x40061f(0x995)],_0x105eec['_temp'+_0x40061f(0x941)+'ariab'+_0x40061f(0x361)]=_0x1ad93f;}else{if(_0x204ba2['KfHSq'](_0xd94c4b,_0x3b8566)&&typeof _0x3b8566[_0xd94c4b]!==_0x204ba2[_0x40061f(0x520)]){const _0x1ef2df=_0x204ba2[_0x40061f(0x362)](parseFloat,_0x3b8566[_0xd94c4b]);!isNaN(_0x1ef2df)&&(_0x204ba2['GGVKN'](_0x40061f(0x973),_0x204ba2[_0x40061f(0x293)])?(console[_0x40061f(0x617)]('[Type'+'Conve'+_0x40061f(0x466)+_0xd94c4b+_0x40061f(0x2f2)+_0x3b8566[_0xd94c4b]+'\x22\x20→\x20'+_0x1ef2df),_0x3b8566[_0xd94c4b]=_0x1ef2df):_0x2491a6=_0x35d95a[_0x40061f(0x3db)+_0x40061f(0x81f)+'nc'](_0x35611e,_0x3a1e42[_0x40061f(0x1f3)]));}}}_0x3b8566[_0x40061f(0x5a0)]&&Array[_0x40061f(0x45b)+'ay'](_0x3b8566[_0x40061f(0x5a0)])&&_0x3b8566[_0x40061f(0x5a0)][_0x40061f(0x536)+'ch'](_0x2689b1=>{const _0x5805af=_0x40061f;[_0x204ba2[_0x5805af(0x5a2)],_0x204ba2[_0x5805af(0x627)],_0x204ba2[_0x5805af(0x5af)]]['forEa'+'ch'](_0x22491b=>{const _0x36bbaa=_0x5805af;if(_0x22491b in _0x2689b1&&_0x3a1e42[_0x36bbaa(0x196)](typeof _0x2689b1[_0x22491b],_0x3a1e42[_0x36bbaa(0x934)])){const _0x42dd2e=_0x3a1e42[_0x36bbaa(0x9af)](parseFloat,_0x2689b1[_0x22491b]);if(!_0x3a1e42[_0x36bbaa(0x9af)](isNaN,_0x42dd2e))_0x2689b1[_0x22491b]=_0x42dd2e;}});});}_0x204ba2['tJAzp'](_0x35aad7,_0x31466c,_0x4698c1);let _0x184c32;switch(_0x31466c){case _0x204ba2[_0x251974(0x44c)]:{const _0x4031b4=path['join'](__dirname,_0x251974(0x2e7)+'.md');let _0x2981cc;try{_0x204ba2['xfSJJ'](_0x204ba2[_0x251974(0x364)],_0x204ba2[_0x251974(0x3a8)])?_0x2981cc=fs[_0x251974(0x3db)+_0x251974(0x81f)+'nc'](_0x4031b4,_0x204ba2[_0x251974(0x4d0)]):_0x30c5f2=_0x5dac08[_0x251974(0x93d)](_0x4244a7);}catch(_0x160ce9){_0x2981cc=_0x204ba2[_0x251974(0x9ca)];}_0x204ba2[_0x251974(0x6cd)](recordSkillRead),_0x184c32={'success':!![],'data':{'skill':_0x2981cc,'version':MCP_VERSION,'readAt':new Date()[_0x251974(0x21d)+'Strin'+'g'](),'validFor':_0x251974(0x9e1)},'message':_0x251974(0x809)+_0x251974(0x20a)+_0x251974(0x42e)+_0x251974(0x900)+_0x251974(0x7c0)+_0x251974(0x7d0)+'Skill'+_0x251974(0x250)+_0x251974(0x811)+'ult.d'+_0x251974(0x4dd)+'kill\x20'+_0x251974(0x305)+_0x251974(0xd3)+'严格按照\x20'+'Skill'+'\x20文档执行'+_0x251974(0x87d)},userMessage=_0x184c32[_0x251974(0x715)+'ge'];const _0x414baa=_0x204ba2['MMqyr'](getAndClearUpgradeHint);_0x414baa&&(userMessage=_0x204ba2[_0x251974(0x227)](_0x204ba2[_0x251974(0x3e1)](_0x414baa,'\x0a\x0a'),userMessage));break;}case'save_'+'expen'+'se':{const _0x393aa8=[_0x204ba2[_0x251974(0x69f)],_0x204ba2[_0x251974(0x5a2)],_0x251974(0x6dc)+_0x251974(0x78f),_0x204ba2['YuomN']],_0x96996e=[];for(const _0x4c4881 of _0x393aa8){if(_0x204ba2[_0x251974(0x844)](_0x204ba2['FhQmX'],_0x251974(0x18a))){for(const _0x33b8cb of _0x33ae0d){_0x204ba2[_0x251974(0x939)](_0x9dc827[_0x251974(0x2e6)][_0x33b8cb],_0x1e5fe4)&&_0x204ba2['cTcKa'](_0x53b387[_0x251974(0x2e6)][_0x33b8cb],null)&&_0x11906e[_0x251974(0x2e6)][_0x33b8cb]!==''&&(_0x37a887[_0x33b8cb]=_0x3d14a9[_0x251974(0x2e6)][_0x33b8cb],_0x2c3cd4[_0x251974(0x617)](_0x251974(0x27e)+'段:'+_0x33b8cb+'\x20=\x20'+_0x2d1f1d[_0x33b8cb]));}(!_0x55718a[_0x251974(0x5a0)]||_0x204ba2[_0x251974(0x695)](_0x22186e[_0x251974(0x5a0)][_0x251974(0x26e)+'h'],0x0))&&_0x52e10f['data'][_0x251974(0x5a0)]&&(_0x2b25ce[_0x251974(0x5a0)]=_0x249b5f[_0x251974(0x2e6)]['items'],_0x18b1f2[_0x251974(0x617)](_0x251974(0x27e)+'段:ite'+'ms('+_0x5c7d77[_0x251974(0x5a0)][_0x251974(0x26e)+'h']+_0x251974(0x7e5)));}else(_0x204ba2[_0x251974(0x550)](_0x4698c1[_0x4c4881],undefined)||_0x4698c1[_0x4c4881]===null||_0x204ba2[_0x251974(0x690)](_0x4698c1[_0x4c4881],''))&&_0x96996e['push'](_0x4c4881);}if(_0x204ba2[_0x251974(0x4a7)](_0x96996e[_0x251974(0x26e)+'h'],0x0)){_0x184c32={'success':![],'error':'必填字段缺'+'失:'+_0x96996e[_0x251974(0x449)](',\x20'),'code':0x190,'hint':_0x204ba2['ouBsZ'],'debug':{'missing':_0x96996e,'received':Object[_0x251974(0x918)](_0x4698c1),'docs':_0x251974(0x146)+'t_ski'+_0x251974(0x702)+_0x251974(0x895)+_0x251974(0x3ba)}},userMessage=_0x251974(0x650)+'败\x0a\x0a错误'+_0x251974(0xd1)+_0x251974(0x62e)+_0x96996e[_0x251974(0x449)](',\x20')+(_0x251974(0x2b1)+'决方案:\x0a'+'1.\x20请检'+'查是否从用'+_0x251974(0x680)+_0x251974(0x1e6)+'息\x0a2.\x20'+_0x251974(0x6e9)+_0x251974(0x68a)+_0x251974(0x7ba)+'品名)、a'+_0x251974(0x756)+_0x251974(0x8f2)+'categ'+_0x251974(0x4aa)+_0x251974(0x8e1)+_0x251974(0x85b)+_0x251974(0x3d0)+_0x251974(0x161)+_0x251974(0x8cf)+_0x251974(0x76a)+_0x251974(0x6ea)+'\x22调用前检'+_0x251974(0x36d));break;}if(typeof _0x4698c1[_0x251974(0x5f3)+'t']!=='numbe'+'r'||_0x204ba2[_0x251974(0x85d)](_0x4698c1[_0x251974(0x5f3)+'t'],0x0)){if(_0x251974(0x671)!==_0x251974(0x915)){const _0x2f1089={};_0x2f1089[_0x251974(0x8ce)+'ss']=![],_0x2f1089[_0x251974(0x617)]=_0x204ba2[_0x251974(0x3c0)],_0x2f1089[_0x251974(0x163)]=0x190,_0x184c32=_0x2f1089,userMessage=_0x204ba2[_0x251974(0x1c2)];break;}else _0x44844b[_0x251974(0x9ef)](_0x204ba2[_0x251974(0x80a)]);}let _0x38d397=null;if(_0x4698c1['time_'+_0x251974(0x5d7)+_0x251974(0x1aa)+'n']){const _0x2be345=parseTimeDescription(_0x4698c1['time_'+'descr'+_0x251974(0x1aa)+'n'],Date[_0x251974(0x104)]());_0x4698c1[_0x251974(0x8ef)]=_0x2be345,console[_0x251974(0x503)](_0x251974(0xa1c)+_0x251974(0x8a5)+'nse]\x20'+_0x251974(0x35f)+_0x251974(0x365)+_0x4698c1[_0x251974(0x786)+_0x251974(0x5d7)+_0x251974(0x1aa)+'n']+_0x251974(0x952)+_0x2be345+'\x20('+new Date(_0x2be345)['toLoc'+_0x251974(0x85e)+_0x251974(0x931)](_0x251974(0xe4))+')');}if(_0x4698c1[_0x251974(0x8ef)]){if(_0x204ba2[_0x251974(0x550)](_0x251974(0x1c7),_0x204ba2['UFIuQ']))return _0x251974(0x7df)+'明:记录精'+'确时间为\x20'+_0x419cda;else{const _0x46cf2b=_0x204ba2[_0x251974(0x4a1)](validateDate,_0x4698c1[_0x251974(0x8ef)],_0x204ba2['LBTDJ']);if(!_0x46cf2b[_0x251974(0x67f)]){const _0x3b248a={};_0x3b248a['succe'+'ss']=![],_0x3b248a[_0x251974(0x617)]=_0x46cf2b[_0x251974(0x617)],_0x3b248a[_0x251974(0x163)]=0x190,_0x184c32=_0x3b248a,userMessage=_0x46cf2b['messa'+'ge'];break;}const _0x1ef18d=new Date(_0x4698c1['date']),_0xb245ee=new Date(),_0x20699d=new Date(_0x204ba2[_0x251974(0x961)](_0xb245ee['getFu'+'llYea'+'r'](),0x1),0x0,0x1),_0x8b9534=new Date(_0x204ba2[_0x251974(0x9d5)](_0xb245ee['getFu'+_0x251974(0x153)+'r'](),0x1),0xb,0x1f);(_0x204ba2[_0x251974(0x719)](_0x1ef18d,_0x20699d)||_0x204ba2[_0x251974(0x7b2)](_0x1ef18d,_0x8b9534))&&(console[_0x251974(0x256)]('[save'+_0x251974(0x8a5)+'nse]\x20'+'时间异常:'+_0x4698c1[_0x251974(0x8ef)]+'\x20('+_0x1ef18d[_0x251974(0x886)+_0x251974(0x85e)+_0x251974(0x931)](_0x204ba2[_0x251974(0x1eb)])+(_0x251974(0x5e1)+_0x251974(0x54b))),_0x4698c1['date']=Date[_0x251974(0x104)](),_0x38d397='⏰\x20时间说'+'明:检测到'+_0x251974(0x41f)+_0x251974(0x356)+'时间');}}_0x4698c1['agent'+_0x251974(0x949)]=_0x38eb5c||'',_0x4698c1[_0x251974(0xf2)+_0x251974(0x42c)+'r']=_0x204ba2[_0x251974(0x805)](_0x5859c2,'');const _0xa2e409=_0x204ba2[_0x251974(0x4a1)](convertParams,_0x204ba2['epzOW'],_0x4698c1);_0x184c32=await _0x204ba2[_0x251974(0x51e)](callMcpHubWithLogging,_0x204ba2[_0x251974(0x1cd)],_0xa2e409,_0x2f4a9f,_0x5d5ff0,_0x72c67,_0x49291f,_0x38eb5c,_0x5859c2);if(_0x184c32[_0x251974(0x8ce)+'ss']){const _0x5869d8=_0x4698c1[_0x251974(0x3a1)]||_0x204ba2['kUVSK'],_0x529b0c=_0x4698c1[_0x251974(0x5f3)+'t']||0x0,_0x8a4f8c=_0x4698c1[_0x251974(0x6dc)+'ory']||'其他',_0x1ede1a=_0x4698c1['store']||'',_0x292cc2={};_0x292cc2['餐饮']=_0x204ba2[_0x251974(0x226)],_0x292cc2['食品']=_0x251974(0x698)+'🍎',_0x292cc2['交通']=_0x204ba2[_0x251974(0x4f2)],_0x292cc2['购物']=_0x204ba2[_0x251974(0x972)],_0x292cc2['收入']=_0x251974(0x4b9)+'💰',_0x292cc2['其他']=_0x204ba2[_0x251974(0x950)];const _0x193d5b=_0x292cc2,_0x174b27=_0x193d5b[_0x8a4f8c]||_0x204ba2[_0x251974(0x950)];let _0x2b13b8='';if(_0x184c32[_0x251974(0x747)+_0x251974(0x995)]&&_0x184c32[_0x251974(0x747)+'hts'][_0x251974(0x26e)+'h']>0x0){if(_0x204ba2[_0x251974(0x7cb)]===_0x204ba2[_0x251974(0x7cb)])_0x2b13b8=_0x204ba2[_0x251974(0x9d5)](_0x251974(0x7f1)+'察:',_0x184c32[_0x251974(0x747)+'hts'][_0x251974(0x8e0)](_0x5120e4=>_0x5120e4[_0x251974(0x715)+'ge']||_0x5120e4[_0x251974(0x71a)])['join'](';'));else{if(_0x71a0d1[_0x251974(0x715)+'ge'][_0x251974(0xa05)+_0x251974(0x7a3)](KmppVl[_0x251974(0x7af)])||_0x5d2399[_0x251974(0x715)+'ge'][_0x251974(0xa05)+_0x251974(0x7a3)](KmppVl[_0x251974(0x16f)]))throw _0xacbb6f;_0x3f63e1[_0x251974(0x617)](KmppVl['tnSii'],_0x6128be[_0x251974(0x715)+'ge']);}}let _0x553c40='';_0x184c32['newly'+_0x251974(0x675)+_0x251974(0x6f9)]&&_0x184c32[_0x251974(0x655)+_0x251974(0x675)+_0x251974(0x6f9)][_0x251974(0x26e)+'h']>0x0&&(_0x204ba2['hGdPa'](_0x204ba2['DzGhz'],_0x251974(0x289))?_0x553c40=_0x204ba2[_0x251974(0x6c1)](_0x204ba2[_0x251974(0x532)],_0x184c32[_0x251974(0x655)+_0x251974(0x675)+_0x251974(0x6f9)][_0x251974(0x8e0)](_0x3b564b=>_0x3b564b[_0x251974(0x1b1)]+'\x20'+_0x3b564b[_0x251974(0x71a)]+'(+'+_0x3b564b['point'+'s']+'分)')[_0x251974(0x449)](';')):_0x450c95=_0x204ba2[_0x251974(0x227)](_0x204ba2[_0x251974(0x6e7)],_0x255ac8[_0x251974(0x747)+_0x251974(0x995)][_0x251974(0x8e0)](_0x128f11=>_0x128f11['messa'+'ge']||_0x128f11[_0x251974(0x71a)])[_0x251974(0x449)](';'))),_0x184c32[_0x251974(0x2f9)+_0x251974(0xe5)+_0x251974(0x658)+'on']=_0x204ba2[_0x251974(0x999)],_0x184c32[_0x251974(0x2f9)+_0x251974(0x263)+'int']=_0x204ba2['YYLfi'],_0x184c32['_temp'+_0x251974(0x941)+_0x251974(0x411)+'les']={'agentName':await _0x204ba2[_0x251974(0x8ee)](getAgentName),'类型':'支出','商品名':_0x5869d8,'商家':_0x204ba2[_0x251974(0x805)](_0x1ede1a,null),'金额':_0x529b0c,'分类':_0x184c32[_0x251974(0x2e6)]?.[_0x251974(0x6dc)+_0x251974(0x8f8)+'me']||_0x8a4f8c,'日期':_0x184c32[_0x251974(0x2e6)]?.['date']?new Date(_0x184c32[_0x251974(0x2e6)][_0x251974(0x8ef)])[_0x251974(0x886)+'aleSt'+_0x251974(0x931)](_0x204ba2[_0x251974(0x1eb)]):new Date()['toLoc'+_0x251974(0x85e)+'ring'](_0x204ba2[_0x251974(0x1eb)]),'正能量祝福语':_0x174b27,'insightsText':_0x2b13b8,'achievementsText':_0x553c40,'timeNote':_0x38d397||null};}break;}case _0x204ba2[_0x251974(0x48a)]:{if(_0x204ba2['hGdPa'](_0x204ba2['BANfi'],_0x204ba2[_0x251974(0x3fb)])){const _0x4d7845=[_0x204ba2[_0x251974(0x303)],_0x204ba2[_0x251974(0xa0c)],_0x204ba2[_0x251974(0x6b2)],_0x204ba2[_0x251974(0x804)],_0x204ba2['NHYFv'],_0x204ba2[_0x251974(0x66e)],_0x204ba2['Sjatc']],_0x3232a0=[];for(const _0x57c149 of _0x4d7845){_0x204ba2[_0x251974(0x93e)](_0x204ba2[_0x251974(0x87c)],_0x204ba2[_0x251974(0x68d)])?(_0x4698c1[_0x57c149]===undefined||_0x204ba2['EzQtH'](_0x4698c1[_0x57c149],null)||_0x204ba2[_0x251974(0x30d)](_0x4698c1[_0x57c149],''))&&_0x3232a0['push'](_0x57c149):_0x3683d2['push'](_0x213f33);}if(_0x204ba2[_0x251974(0x4a7)](_0x3232a0[_0x251974(0x26e)+'h'],0x0)){if(_0x204ba2[_0x251974(0x438)](_0x251974(0x18d),_0x251974(0x138))){const _0x2155f2=_0x204ba2['uIKZq'][_0x251974(0x3b6)]('|');let _0x191ca7=0x0;while(!![]){switch(_0x2155f2[_0x191ca7++]){case'0':_0x3c5792['error']('='[_0x251974(0x10c)+'t'](0x3c));continue;case'1':_0x455594['error'](KmppVl[_0x251974(0x227)]('='['repea'+'t'](0x3c),'\x0a'));continue;case'2':_0x304047[_0x251974(0x617)]('\x0a'+'='[_0x251974(0x10c)+'t'](0x3c));continue;case'3':_0x4901e5[_0x251974(0x617)](KmppVl[_0x251974(0x64f)]);continue;case'4':_0x11a4db[_0x251974(0x617)](KmppVl[_0x251974(0x184)]);continue;case'5':_0x53f5e0[_0x251974(0x617)]('');continue;case'6':_0x269348[_0x251974(0x617)](KmppVl[_0x251974(0x588)]);continue;case'7':_0x7eb3dd[_0x251974(0x617)]('');continue;case'8':_0x4767e3['error'](_0x251974(0x5ff)+_0x251974(0x9c8)+':'+_0x4c32d8[_0x251974(0x302)+_0x251974(0x464)]);continue;case'9':_0x261d83[_0x251974(0x617)]('');continue;case'10':_0x921c4['error']('');continue;case'11':_0x827a18['error'](_0x251974(0x863)+':'+_0x59f5ac['userC'+_0x251974(0x464)]);continue;case'12':_0x3b4eda[_0x251974(0x617)](KmppVl[_0x251974(0x9f0)]);continue;}break;}}else{_0x184c32={'success':![],'error':'必填字段缺'+'失:'+_0x3232a0[_0x251974(0x449)](',\x20'),'code':0x190,'hint':_0x204ba2[_0x251974(0x14b)],'debug':{'missing':_0x3232a0,'received':Object[_0x251974(0x918)](_0x4698c1),'docs':_0x204ba2['roGcG']}},userMessage=_0x251974(0x7b9)+'败\x0a\x0a错误'+_0x251974(0xd1)+_0x251974(0x62e)+_0x3232a0[_0x251974(0x449)](',\x20')+(_0x251974(0x2b1)+_0x251974(0x1f5)+_0x251974(0x5e6)+_0x251974(0x6c4)+_0x251974(0x746)+_0x251974(0x69b)+_0x251974(0x836)+_0x251974(0x89a)+_0x251974(0x954)+_0x251974(0x575)+_0x251974(0x19a)+_0x251974(0x67c)+_0x251974(0x28b)+'ore、t'+'otalA'+_0x251974(0x756)+_0x251974(0x745)+_0x251974(0x95d)+_0x251974(0x212)+_0x251974(0x1d6)+_0x251974(0x95d)+_0x251974(0x152)+_0x251974(0x4e6)+_0x251974(0x207)+_0x251974(0xa1e)+_0x251974(0x44b)+_0x251974(0x8e5)+_0x251974(0x3bc)+'oreSu'+_0x251974(0x852)+_0x251974(0x607)+_0x251974(0x2a7)+_0x251974(0x392)+'L.md\x20'+_0x251974(0x7f5)+_0x251974(0x689));break;}}const _0xb43a3d=[_0x204ba2[_0x251974(0xa0c)],_0x204ba2[_0x251974(0x6b2)],_0x204ba2[_0x251974(0x804)]];for(const _0x5b982d of _0xb43a3d){if(_0x204ba2[_0x251974(0x844)](typeof _0x4698c1[_0x5b982d],_0x251974(0x283)+'r')||_0x204ba2['AMLgR'](_0x4698c1[_0x5b982d],0x0)){if(_0x204ba2['sczVJ']('ljVsq',_0x204ba2[_0x251974(0x28e)])){const _0x408fab={};_0x408fab[_0x251974(0x8ce)+'ss']=![],_0x408fab[_0x251974(0x617)]=_0x5b982d+('\x20必须是正'+'数'),_0x408fab[_0x251974(0x163)]=0x190,_0x184c32=_0x408fab,userMessage='❌\x20保存失'+'败:'+_0x5b982d+('\x20必须是正'+'数');break;}else{const _0x3a7a40={};_0x3a7a40[_0x251974(0x7a0)]=_0x251974(0x830),_0x3a7a40[_0x251974(0x830)]=_0x251974(0x69e)+_0x251974(0x9e6)+_0x251974(0x274)+_0x251974(0x92c)+_0x251974(0x92c)+'━\x0a📱\x20验'+_0x251974(0x4be)+_0x51e681+(_0x251974(0x300)+_0x251974(0x92c)+_0x251974(0x92c)+_0x251974(0x7ab)+_0x251974(0x946)+':\x0a•\x20上'+_0x251974(0xa1a)+'是我为您生'+_0x251974(0xa12)+_0x251974(0x5d6)+_0x251974(0x79b)+_0x251974(0xa20)+'能看到)\x0a'+'•\x20小程序'+_0x251974(0x9a1)+_0x251974(0x8de)+_0x251974(0xa00)+_0x251974(0x5cb)+_0x251974(0x50b)+_0x251974(0x80e)+'小程序中完'+_0x251974(0x9f)+_0x251974(0x7b6)+_0x251974(0x422)+_0x251974(0x9d1)+'记账\x22\x0a\x0a'+'2️⃣\x20点击\x22'+'我的\x22\x20→'+'\x20\x22Age'+_0x251974(0x2e5)+_0x251974(0x25b)+_0x251974(0x9c8)+_0x251974(0x4b1))+_0x4da8df+(_0x251974(0x2c8)+_0x251974(0x6c8)+_0x251974(0x927)+'\x20重要提示'+_0x251974(0x77f)+_0x251974(0x59b)+_0x251974(0x2d7)+'erver'+_0x251974(0xbd)+_0x251974(0x84c)+_0x251974(0xfd)+_0x251974(0x845)+_0x251974(0xa18)+'令,我才能'+_0x251974(0x3f4)+_0x251974(0x445)+_0x251974(0x402)+_0x251974(0xa22)+_0x251974(0x352)+_0x251974(0x7b1)+_0x251974(0x9c3)+_0x251974(0x47c)+'钟');const _0x22d084={};return _0x22d084['conte'+'nt']=[_0x3a7a40],_0x22d084;}}}if(_0x184c32&&!_0x184c32['succe'+'ss'])break;if(_0x204ba2[_0x251974(0x93e)](typeof _0x4698c1[_0x251974(0x5e9)+_0x251974(0x1fd)+_0x251974(0x481)],_0x204ba2[_0x251974(0x520)])||_0x204ba2[_0x251974(0x632)](_0x4698c1[_0x251974(0x5e9)+'untAm'+_0x251974(0x481)],0x0)){if(_0x204ba2['ueHjb'](_0x251974(0x5ed),_0x204ba2['jByDY'])){if(!_0x3e181a||typeof _0x39c872!==_0x204ba2[_0x251974(0x9c0)])return'';if(_0x52c6a4['lengt'+'h']>_0x197c9e*0xa)throw new _0x2c7323(_0x251974(0x175)+_0x251974(0xeb)+_0x3b3b56+_0x251974(0x98d));return _0x15cc9f[_0x251974(0x624)+'ce'](/<[^>]*>/g,'')[_0x251974(0x7f4)+'ring'](0x0,_0x4ba22f);}else{const _0x44c349={};_0x44c349[_0x251974(0x8ce)+'ss']=![],_0x44c349[_0x251974(0x617)]=_0x204ba2['xxrbR'],_0x44c349[_0x251974(0x163)]=0x190,_0x184c32=_0x44c349,userMessage=_0x204ba2['EQWbu'];break;}}if(!_0x4698c1[_0x251974(0x5a0)]||!Array[_0x251974(0x45b)+'ay'](_0x4698c1['items'])||_0x204ba2[_0x251974(0x30d)](_0x4698c1[_0x251974(0x5a0)][_0x251974(0x26e)+'h'],0x0)){const _0x40673f={};_0x40673f[_0x251974(0x8ce)+'ss']=![],_0x40673f[_0x251974(0x617)]=_0x204ba2[_0x251974(0x3cc)],_0x40673f[_0x251974(0x163)]=0x190,_0x184c32=_0x40673f,userMessage=_0x204ba2['NYRaP'];break;}const _0x881a02=[];_0x4698c1[_0x251974(0x5a0)][_0x251974(0x536)+'ch']((_0x3eb214,_0x4e9798)=>{const _0x202cd0=_0x251974,_0x3e918d={};_0x3e918d[_0x202cd0(0x2c7)]=_0x202cd0(0x218),_0x3e918d[_0x202cd0(0x213)]=_0x204ba2[_0x202cd0(0x9ca)];const _0x2c9459=_0x3e918d;if(_0x204ba2[_0x202cd0(0x939)](_0x202cd0(0x639),_0x202cd0(0x639)))_0x3cf7a6=_0x540592[_0x202cd0(0x3db)+_0x202cd0(0x81f)+'nc'](_0x3f0d20,KmppVl[_0x202cd0(0x4d0)])[_0x202cd0(0x36c)]();else{const _0x2d0351=[];if(!_0x3eb214[_0x202cd0(0x5ac)+'nProp'+'erty'](_0x204ba2[_0x202cd0(0x69f)])||_0x204ba2[_0x202cd0(0x5c0)](_0x3eb214[_0x202cd0(0x3a1)],''))_0x2d0351[_0x202cd0(0x9ef)](_0x204ba2['HCiEG']);if(!_0x3eb214[_0x202cd0(0x5ac)+_0x202cd0(0x223)+'erty'](_0x204ba2[_0x202cd0(0x5a2)])||_0x3eb214[_0x202cd0(0x5f3)+'t']===undefined)_0x2d0351[_0x202cd0(0x9ef)]('amoun'+'t');if(!_0x3eb214['hasOw'+'nProp'+_0x202cd0(0x585)](_0x204ba2['ndQnu'])||_0x204ba2[_0x202cd0(0x36a)](_0x3eb214[_0x202cd0(0x11a)],undefined))_0x2d0351[_0x202cd0(0x9ef)](_0x204ba2[_0x202cd0(0x627)]);if(!_0x3eb214[_0x202cd0(0x5ac)+_0x202cd0(0x223)+'erty'](_0x204ba2[_0x202cd0(0x5af)])||_0x3eb214[_0x202cd0(0x1ad)+'ity']===undefined)_0x2d0351[_0x202cd0(0x9ef)](_0x204ba2[_0x202cd0(0x5af)]);(!_0x3eb214[_0x202cd0(0x5ac)+_0x202cd0(0x223)+_0x202cd0(0x585)]('produ'+_0x202cd0(0x324)+_0x202cd0(0x55a))||_0x204ba2[_0x202cd0(0x231)](_0x3eb214[_0x202cd0(0x545)+_0x202cd0(0x324)+'egory'],''))&&_0x2d0351[_0x202cd0(0x9ef)](_0x204ba2['dXwrq']);(!_0x3eb214['hasOw'+_0x202cd0(0x223)+_0x202cd0(0x585)](_0x204ba2['Plqvl'])||_0x3eb214['categ'+'ory']==='')&&_0x2d0351['push'](_0x204ba2['Plqvl']);if(_0x204ba2[_0x202cd0(0x7b2)](_0x2d0351['lengt'+'h'],0x0)){if(_0x204ba2[_0x202cd0(0x939)](_0x204ba2[_0x202cd0(0x932)],_0x202cd0(0x2c3))){const _0x5d58dc=_0xbaa509[_0x202cd0(0x449)](_0x378631,_0x202cd0(0x2e7)+'.md');let _0x37a14c;try{_0x37a14c=_0x5e6630[_0x202cd0(0x3db)+_0x202cd0(0x81f)+'nc'](_0x5d58dc,_0x2c9459[_0x202cd0(0x2c7)]);}catch(_0x4b910e){_0x37a14c=_0x2c9459[_0x202cd0(0x213)];}return _0x1126c1(),{'content':[{'type':'text','text':'✅\x20授权成'+'功!\x0a\x0a━'+_0x202cd0(0x92c)+'━━━━━'+'━━━\x0a🎉'+_0x202cd0(0x571)+_0x202cd0(0x688)+_0x202cd0(0x55c)+_0x202cd0(0x92c)+'━━━━━'+'\x0a\x0a现在可'+'以正常使用'+_0x202cd0(0x9bb)+_0x202cd0(0x189)+'='[_0x202cd0(0x10c)+'t'](0x3c)+(_0x202cd0(0x4e3)+_0x202cd0(0x4ae)+'义文档(请'+_0x202cd0(0x546)+_0x202cd0(0x60a)+_0x202cd0(0x47e)+'):\x0a')+'='[_0x202cd0(0x10c)+'t'](0x3c)+'\x0a\x0a'+_0x37a14c+'\x0a\x0a'+'='[_0x202cd0(0x10c)+'t'](0x3c)+('\x0a\x0a⚠️\x20重'+_0x202cd0(0x587)+_0x202cd0(0x9ff)+_0x202cd0(0x59c)+_0x202cd0(0x3cd)+_0x202cd0(0x4ae)+_0x202cd0(0xae)+_0x202cd0(0x4b5)+_0x202cd0(0xa4b)+'ll\x20文档'+_0x202cd0(0x248)+_0x202cd0(0x119)+_0x202cd0(0x402)+_0x202cd0(0xa22)+_0x202cd0(0x352)+'权')}]};}else _0x881a02[_0x202cd0(0x9ef)]('商品'+_0x204ba2[_0x202cd0(0x227)](_0x4e9798,0x1)+'('+(_0x3eb214[_0x202cd0(0x3a1)]||_0x204ba2['uHghS'])+(_0x202cd0(0x8ff)+':\x20')+_0x2d0351['join'](',\x20'));}}});if(_0x204ba2[_0x251974(0x840)](_0x881a02[_0x251974(0x26e)+'h'],0x0)){_0x184c32={'success':![],'error':'商品数据不'+'完整:'+_0x881a02[_0x251974(0x449)](';\x20')+('。每个商品'+'必须包含:'+'name,'+_0x251974(0x2a5)+_0x251974(0xdc)+_0x251974(0x771)+_0x251974(0x935)+'tity,'+_0x251974(0x792)+_0x251974(0x5d9)+_0x251974(0x731)+_0x251974(0x287)+_0x251974(0x731)+'y'),'code':0x190},userMessage=_0x251974(0x7b9)+_0x251974(0x52e)+_0x251974(0x62c)+'格式不完整'+'\x0a\x0a'+_0x881a02[_0x251974(0x449)]('\x0a')+(_0x251974(0x2b1)+_0x251974(0x1f5)+_0x251974(0xa43)+_0x251974(0x7bf)+_0x251974(0x36f)+'MCP\x20S'+_0x251974(0x75d)+'2.\x20确保'+'每个商品包'+_0x251974(0x782)+_0x251974(0xc4)+_0x251974(0x643)+_0x251974(0x5f3)+_0x251974(0x74c)+_0x251974(0x5a9)+'quant'+_0x251974(0x651)+_0x251974(0x545)+_0x251974(0x324)+'egory'+_0x251974(0x268)+_0x251974(0x55a)+_0x251974(0x9e0)+_0x251974(0x2a6)+_0x251974(0x32e)+_0x251974(0x708)+'是商品分类'+_0x251974(0x80b)+_0x251974(0x708)+_0x251974(0x81c)+_0x251974(0x38e)+'项');break;}if(_0x4698c1[_0x251974(0x4db)+'compo'+_0x251974(0x7c7)]&&!_0x4698c1[_0x251974(0x8ef)]){const {year:_0x2b3b28,month:_0x5b6239,day:_0x985deb,hour:_0x2bdb64,minute:_0x174da3,second:_0x1eb8e4}=_0x4698c1[_0x251974(0x4db)+'compo'+_0x251974(0x7c7)];if(_0x204ba2[_0x251974(0x574)](!_0x2b3b28,!_0x5b6239)||!_0x985deb||_0x204ba2[_0x251974(0x351)](_0x2bdb64,undefined)||_0x174da3===undefined){if(_0x204ba2[_0x251974(0x6d2)](_0x204ba2[_0x251974(0x379)],_0x204ba2['CjAmY'])){const _0x318bf7={};_0x318bf7['succe'+'ss']=![],_0x318bf7[_0x251974(0x617)]=_0x204ba2[_0x251974(0x6da)],_0x318bf7[_0x251974(0x163)]=0x190,_0x318bf7[_0x251974(0x505)]=_0x204ba2[_0x251974(0x1bf)],_0x184c32=_0x318bf7,userMessage=_0x204ba2['gHPbI'];break;}else _0x5d2744=_0xd079b9[_0x251974(0x3db)+_0x251974(0x81f)+'nc'](_0x11b28c,_0x204ba2['kLqQk']);}_0x4698c1[_0x251974(0x8ef)]=new Date(_0x2b3b28,_0x204ba2[_0x251974(0x961)](_0x5b6239,0x1),_0x985deb,_0x2bdb64,_0x174da3,_0x204ba2[_0x251974(0x87e)](_0x1eb8e4,0x0))[_0x251974(0xa0e)+'me'](),console[_0x251974(0x503)](_0x251974(0xa1c)+_0x251974(0x127)+'ipt]\x20'+_0x251974(0xa08)+_0x251974(0x12f)+JSON[_0x251974(0x20c)+_0x251974(0x222)](_0x4698c1['date_'+'compo'+_0x251974(0x7c7)])+'\x20→\x20'+_0x4698c1[_0x251974(0x8ef)]);}if(_0x4698c1['date']){const _0x1bd3e5=_0x204ba2[_0x251974(0x4a1)](validateDate,_0x4698c1[_0x251974(0x8ef)],_0x204ba2[_0x251974(0x4d1)]);if(!_0x1bd3e5[_0x251974(0x67f)]){if(_0x204ba2[_0x251974(0x859)](_0x204ba2['UJsnS'],_0x204ba2[_0x251974(0x95c)]))_0x3ffc22[_0x251974(0x617)](KmppVl[_0x251974(0x2b2)],_0x369545[_0x251974(0x715)+'ge']);else{const _0x2fd80d={};_0x2fd80d[_0x251974(0x8ce)+'ss']=![],_0x2fd80d[_0x251974(0x617)]=_0x1bd3e5['error'],_0x2fd80d[_0x251974(0x163)]=0x190,_0x184c32=_0x2fd80d,userMessage=_0x204ba2[_0x251974(0x227)](_0x1bd3e5['messa'+'ge'],_0x204ba2['zNhrf']);break;}}}const _0x36178a=[],_0x13b100=[_0x204ba2[_0x251974(0x303)],_0x204ba2[_0x251974(0x51a)],_0x251974(0x86e)+_0x251974(0xa14)+'t',_0x204ba2[_0x251974(0x6b2)],'origi'+_0x251974(0x9f2)+'ount',_0x251974(0x5e9)+_0x251974(0x1fd)+_0x251974(0x481),_0x204ba2[_0x251974(0x6de)]];for(const _0x348386 of _0x13b100){if(_0x204ba2[_0x251974(0x991)](_0x251974(0x12a),_0x204ba2[_0x251974(0x5f5)]))(_0x204ba2[_0x251974(0x9c5)](_0x4698c1[_0x348386],undefined)||_0x4698c1[_0x348386]===null||_0x204ba2[_0x251974(0x266)](_0x4698c1[_0x348386],''))&&_0x36178a[_0x251974(0x9ef)](_0x348386);else{const _0x2e1961={};_0x2e1961[_0x251974(0x8ce)+'ss']=![],_0x2e1961[_0x251974(0x617)]=_0x10bf48[_0x251974(0x617)],_0x2c18df=_0x2e1961;}}if(_0x204ba2[_0x251974(0x7b2)](_0x36178a[_0x251974(0x26e)+'h'],0x0)&&_0x4698c1['rawIn'+_0x251974(0x8ca)]){console['error']('⚠️\x20字段缺'+_0x251974(0x6b0)+_0x251974(0x393)+_0x251974(0xa01)+_0x251974(0x86c)+_0x36178a[_0x251974(0x449)](',\x20'));const _0x31c58c=await _0x204ba2[_0x251974(0x172)](callMcpPrompt,_0x204ba2['tXaxp'],{'text':_0x4698c1[_0x251974(0x7ee)+_0x251974(0x8ca)],'type':_0x204ba2[_0x251974(0x558)]},_0x2f4a9f);if(_0x31c58c['succe'+'ss']&&_0x31c58c[_0x251974(0x2e6)]){for(const _0x1c7e7f of _0x36178a){if(_0x204ba2['lfpcQ']===_0x204ba2[_0x251974(0x330)])_0x204ba2[_0x251974(0x5cc)](_0x31c58c['data'][_0x1c7e7f],undefined)&&_0x204ba2[_0x251974(0x389)](_0x31c58c[_0x251974(0x2e6)][_0x1c7e7f],null)&&_0x31c58c[_0x251974(0x2e6)][_0x1c7e7f]!==''&&(_0x4698c1[_0x1c7e7f]=_0x31c58c[_0x251974(0x2e6)][_0x1c7e7f],console[_0x251974(0x617)](_0x251974(0x27e)+'段:'+_0x1c7e7f+_0x251974(0x699)+_0x4698c1[_0x1c7e7f]));else return _0x264cec['now']();}(!_0x4698c1[_0x251974(0x5a0)]||_0x4698c1['items'][_0x251974(0x26e)+'h']===0x0)&&_0x31c58c[_0x251974(0x2e6)][_0x251974(0x5a0)]&&(_0x204ba2[_0x251974(0x48e)](_0x204ba2['tglni'],_0x204ba2[_0x251974(0x30f)])?typeof _0x335e18[_0x2becdb]===_0x204ba2[_0x251974(0x9c0)]&&_0x204ba2[_0x251974(0x7b2)](_0x51a0df[_0x1e697f][_0x251974(0x26e)+'h'],0xc8)?_0x5a83fd[_0x5e3d17]=_0x204ba2[_0x251974(0x3e1)](_0x2bbef4[_0x41170a]['subst'+_0x251974(0x931)](0x0,0xc8),_0x204ba2[_0x251974(0x3a6)]):_0x3756a1[_0xd19028]=_0x407a3a[_0x3ad457]:(_0x4698c1['items']=_0x31c58c[_0x251974(0x2e6)][_0x251974(0x5a0)],console[_0x251974(0x617)](_0x251974(0x27e)+_0x251974(0x953)+'ms('+_0x4698c1['items']['lengt'+'h']+_0x251974(0x7e5))));}else console[_0x251974(0x617)](_0x251974(0x752)+'析失败:'+(_0x31c58c['error']||_0x204ba2[_0x251974(0x908)]));}const _0x318cbe=0.1,_0x450124=_0x4698c1['items'][_0x251974(0x132)+'e']((_0x33c8c0,_0x2a11a3)=>_0x33c8c0+(_0x2a11a3[_0x251974(0x5f3)+'t']||0x0),0x0);if(_0x204ba2['bVERA'](Math[_0x251974(0x3ae)](_0x204ba2['UQpKw'](_0x450124,_0x4698c1[_0x251974(0x86e)+_0x251974(0xa14)+'t'])),_0x318cbe)){_0x184c32={'success':![],'error':_0x251974(0x6ae)+_0x251974(0x164)+_0x450124[_0x251974(0x151)+'ed'](0x2)+(_0x251974(0x90)+_0x251974(0x506))+_0x4698c1[_0x251974(0x86e)+_0x251974(0xa14)+'t']+_0x251974(0x2d9),'code':0x190},userMessage=_0x251974(0x7b9)+_0x251974(0x56a)+'验不通过\x0a'+_0x251974(0x75a)+'总和:'+_0x450124[_0x251974(0x151)+'ed'](0x2)+(_0x251974(0x23f)+'金额:')+_0x4698c1['total'+_0x251974(0xa14)+'t']+('元\x0a\x0a💡\x20'+'请检查:\x0a'+_0x251974(0x974)+_0x251974(0x654)+'mount'+_0x251974(0x90d)+_0x251974(0x5df)+_0x251974(0x5ec)+'price'+_0x251974(0x992)+_0x251974(0x4de)+'y)\x0a2.'+_0x251974(0x1d0)+'漏的商品');break;}const _0x37229e=_0x204ba2['SxVZi'](_0x4698c1[_0x251974(0x821)+_0x251974(0x9f2)+_0x251974(0x481)],_0x4698c1['disco'+'untAm'+_0x251974(0x481)]);if(_0x204ba2[_0x251974(0x4a7)](Math[_0x251974(0x3ae)](_0x37229e-_0x4698c1[_0x251974(0x26b)+_0x251974(0x4df)+'nt']),_0x318cbe)){_0x184c32={'success':![],'error':'优惠计算不'+_0x251974(0x468)+'('+_0x4698c1[_0x251974(0x821)+_0x251974(0x9f2)+_0x251974(0x481)]+(_0x251974(0x7aa)+'惠(')+_0x4698c1[_0x251974(0x5e9)+_0x251974(0x1fd)+_0x251974(0x481)]+_0x251974(0x5be)+_0x37229e[_0x251974(0x151)+'ed'](0x2)+(_0x251974(0x1f2)+'付金额(')+_0x4698c1[_0x251974(0x26b)+_0x251974(0x4df)+'nt']+')','code':0x190},userMessage=_0x251974(0x7b9)+_0x251974(0x56a)+_0x251974(0x2d6)+'\x0a原价:'+_0x4698c1[_0x251974(0x821)+_0x251974(0x9f2)+_0x251974(0x481)]+_0x251974(0x936)+_0x4698c1[_0x251974(0x5e9)+_0x251974(0x1fd)+_0x251974(0x481)]+(_0x251974(0x2a8)+'付:')+_0x37229e[_0x251974(0x151)+'ed'](0x2)+(_0x251974(0x8c8)+'付:')+_0x4698c1['actua'+_0x251974(0x4df)+'nt']+(_0x251974(0x31a)+'请检查优惠'+_0x251974(0xe2)+'确');break;}if(_0x4698c1[_0x251974(0x7ee)+_0x251974(0x8ca)]){if(_0x204ba2[_0x251974(0x85f)]===_0x204ba2[_0x251974(0x85f)]){const _0x325d6c=await callMcpPrompt(_0x204ba2[_0x251974(0x558)],{'text':_0x4698c1[_0x251974(0x7ee)+'put'],'type':_0x204ba2[_0x251974(0x558)]},_0x2f4a9f);_0x325d6c[_0x251974(0x8ce)+'ss']&&_0x325d6c[_0x251974(0x2e6)]&&(_0x4698c1={..._0x4698c1,..._0x325d6c[_0x251974(0x2e6)]});}else return new _0x1a79cd(_0x1db49c)[_0x251974(0xa0e)+'me']();}const _0x66b2bc=await _0x204ba2[_0x251974(0x172)](callMcpPrompt,_0x204ba2['UuMWm'],{'data':_0x4698c1,'type':_0x204ba2[_0x251974(0x558)]},_0x2f4a9f);_0x66b2bc[_0x251974(0x8ce)+'ss']&&(_0x4698c1={..._0x66b2bc['data'],..._0x4698c1});_0x4698c1[_0x251974(0xa06)+_0x251974(0x949)]=_0x204ba2[_0x251974(0x2bb)](_0x38eb5c,''),_0x4698c1[_0x251974(0xf2)+_0x251974(0x42c)+'r']=_0x204ba2['iVSPk'](_0x5859c2,'');const _0x568137=convertParams(_0x204ba2[_0x251974(0x48a)],_0x4698c1);_0x184c32=await callMcpHubWithLogging(_0x204ba2[_0x251974(0x49c)],_0x568137,_0x2f4a9f,_0x5d5ff0,_0x72c67,_0x49291f,_0x38eb5c,_0x5859c2);if(_0x184c32[_0x251974(0x8ce)+'ss']){const _0x19cb59=_0x4698c1[_0x251974(0x86e)+'Amoun'+'t']||_0x4698c1[_0x251974(0x5a0)]?.[_0x251974(0x132)+'e']((_0x7be334,_0x49447f)=>_0x7be334+(_0x49447f[_0x251974(0x5f3)+'t']||0x0),0x0)||0x0,_0x4d11fb=_0x4698c1[_0x251974(0x837)]||'',_0x323753=_0x4698c1[_0x251974(0x5a0)]?.[0x0]?.[_0x251974(0x6dc)+_0x251974(0x78f)]||'购物',_0x23a86c=_0x4698c1[_0x251974(0x5a0)]?.[_0x251974(0x26e)+'h']||0x0,_0x50ebf2={};_0x50ebf2['餐饮']=_0x204ba2['JoJVO'],_0x50ebf2['食品']=_0x251974(0x698)+'🍎',_0x50ebf2['购物']=_0x204ba2[_0x251974(0x972)],_0x50ebf2['其他']=_0x251974(0x9bc)+'继续保持~'+'\x20✨';const _0x1a4203=_0x50ebf2,_0x5e639b=_0x1a4203[_0x323753]||_0x204ba2[_0x251974(0x972)];let _0x5278f2='';_0x184c32[_0x251974(0x747)+_0x251974(0x995)]&&_0x184c32[_0x251974(0x747)+'hts'][_0x251974(0x26e)+'h']>0x0&&(_0x204ba2[_0x251974(0x977)](_0x204ba2[_0x251974(0x53f)],_0x204ba2[_0x251974(0x53f)])?(_0x286bc8[_0x251974(0x617)]=_0x97b6db[_0x251974(0x715)+'ge'],_0x9a60a7[_0x251974(0x58f)+_0x251974(0x29d)]=![],_0x4546bc[_0x251974(0x617)](_0x251974(0x270)+_0x251974(0x744),_0x51e667['messa'+'ge'])):_0x5278f2=_0x204ba2[_0x251974(0x480)](_0x204ba2[_0x251974(0x6e7)],_0x184c32[_0x251974(0x747)+_0x251974(0x995)]['map'](_0x12cd3b=>_0x12cd3b['messa'+'ge']||_0x12cd3b['title'])['join'](';')));let _0x76dcc9='';if(_0x184c32[_0x251974(0x655)+_0x251974(0x675)+'ked']&&_0x204ba2[_0x251974(0x7b2)](_0x184c32[_0x251974(0x655)+_0x251974(0x675)+_0x251974(0x6f9)][_0x251974(0x26e)+'h'],0x0)){if(_0x204ba2[_0x251974(0x358)](_0x204ba2[_0x251974(0x91b)],_0x204ba2[_0x251974(0x91b)]))_0x76dcc9=_0x204ba2[_0x251974(0x97f)](_0x204ba2[_0x251974(0x532)],_0x184c32['newly'+_0x251974(0x675)+_0x251974(0x6f9)][_0x251974(0x8e0)](_0x2e95c4=>_0x2e95c4[_0x251974(0x1b1)]+'\x20'+_0x2e95c4[_0x251974(0x71a)]+'(+'+_0x2e95c4[_0x251974(0x385)+'s']+'分)')[_0x251974(0x449)](';'));else{const _0x1dee42=_0x432bcb[_0x251974(0x534)+_0x251974(0x153)+'r'](),_0x1f8c13=_0x204ba2['LGiTw'](_0x2f598b,_0x2dd0e7[_0x251974(0x3eb)+_0x251974(0x2d8)]()+0x1)[_0x251974(0x8ad)+_0x251974(0x3ac)](0x2,'0'),_0x41ef4b=_0x204ba2[_0x251974(0x362)](_0x696652,_0x50f55b['getDa'+'te']())[_0x251974(0x8ad)+'art'](0x2,'0');return _0x1dee42+'-'+_0x1f8c13+'-'+_0x41ef4b;}}_0x184c32[_0x251974(0x2f9)+_0x251974(0xe5)+_0x251974(0x658)+'on']=_0x204ba2[_0x251974(0x999)],_0x184c32[_0x251974(0x2f9)+_0x251974(0x263)+'int']=_0x204ba2['oaGOi'],_0x184c32[_0x251974(0x2f9)+_0x251974(0x941)+'ariab'+_0x251974(0x361)]={'agentName':await _0x204ba2['OSjRk'](getAgentName),'store':_0x4d11fb,'totalAmount':_0x19cb59,'category':_0x184c32['data']?.[_0x251974(0x837)+'Categ'+'ory']||_0x323753,'itemCount':_0x23a86c,'date':_0x184c32[_0x251974(0x2e6)]?.[_0x251974(0x8ef)]?new Date(_0x184c32[_0x251974(0x2e6)][_0x251974(0x8ef)])['toLoc'+'aleDa'+_0x251974(0x726)+_0x251974(0x15f)](_0x204ba2[_0x251974(0x1eb)]):new Date()['toLoc'+'aleDa'+_0x251974(0x726)+_0x251974(0x15f)](_0x204ba2['cZPyg']),'正能量祝福语':_0x5e639b,'insightsText':_0x5278f2,'achievementsText':_0x76dcc9,'items':_0x4698c1[_0x251974(0x5a0)]};}break;}else _0x59f299=_0x204ba2[_0x251974(0x3e1)](_0x204ba2[_0x251974(0x532)],_0x479059[_0x251974(0x655)+'Unloc'+_0x251974(0x6f9)]['map'](_0x534138=>_0x534138['icon']+'\x20'+_0x534138['title']+'(+'+_0x534138['point'+'s']+'分)')['join'](';'));}case _0x204ba2[_0x251974(0x397)]:case _0x204ba2[_0x251974(0x8b2)]:{if(_0x204ba2[_0x251974(0x7d3)](_0x251974(0x72f),_0x204ba2[_0x251974(0x51d)]))return KmppVl[_0x251974(0x4a1)](_0x806d12,_0x57bf9d[_0x251974(0x624)+'ce'](KmppVl[_0x251974(0x4bb)],''),_0x1dea6b);else{const _0x63279f=toolMapping[_0x31466c],_0x28d42c=_0x204ba2[_0x251974(0xa15)](convertParams,_0x31466c,_0x4698c1);_0x184c32=await _0x204ba2[_0x251974(0x4ac)](callMcpHubWithLogging,_0x63279f,_0x28d42c,_0x2f4a9f,_0x5d5ff0,_0x72c67,_0x49291f,_0x38eb5c,_0x5859c2);if(_0x184c32['succe'+'ss']){if(_0x204ba2[_0x251974(0x844)](_0x204ba2[_0x251974(0x6be)],_0x204ba2['IPWcH'])){const _0x348ad8=_0x184c32[_0x251974(0x2e6)]?.[_0x251974(0x86e)]||0x0,_0x59202d=_0x184c32['data']?.[_0x251974(0x5a0)]||[],_0x15ba70=_0x184c32[_0x251974(0x2e6)]?.[_0x251974(0x99d)+_0x251974(0x646)]||{};_0x184c32[_0x251974(0x2f9)+_0x251974(0xe5)+_0x251974(0x658)+'on']=_0x251974(0x502)+'ences'+'/resp'+_0x251974(0x3c8)+_0x251974(0x819)+'ates.'+'md',_0x184c32[_0x251974(0x2f9)+_0x251974(0x263)+'int']=_0x251974(0xcc)+'feren'+_0x251974(0x555)+_0x251974(0x2cc)+_0x251974(0x4cd)+_0x251974(0x1b6)+_0x251974(0x97d)+_0x251974(0x1f9)+_0x251974(0x499)+'板渲染回复';const _0x41dec0={};_0x41dec0[_0x251974(0x86e)]=_0x348ad8,_0x41dec0[_0x251974(0x5a0)]=_0x59202d,_0x41dec0[_0x251974(0x99d)+_0x251974(0x646)]=_0x15ba70,_0x184c32[_0x251974(0x2f9)+_0x251974(0x941)+_0x251974(0x411)+_0x251974(0x361)]=_0x41dec0;}else{const _0x1359f2={..._0x2795a9};return _0x1359f2[_0x251974(0x2e6)]=_0x204ba2[_0x251974(0x523)],_0x1359f2[_0x251974(0x662)]=_0x251974(0x96f)+'小:'+_0x31fbf5[_0x251974(0x26e)+'h']+'\x20字符',_0x4cdbcd[_0x251974(0x20c)+'gify'](_0x1359f2,null,0x2);}}break;}}case _0x251974(0x806)+'tatis'+'tics':{const _0x556bdc=toolMapping[_0x31466c],_0x13a7ac=_0x204ba2[_0x251974(0x2c1)](convertParams,_0x31466c,_0x4698c1);_0x184c32=await callMcpHubWithLogging(_0x556bdc,_0x13a7ac,_0x2f4a9f,_0x5d5ff0,_0x72c67,_0x49291f,_0x38eb5c,_0x5859c2);if(_0x184c32[_0x251974(0x8ce)+'ss']){if(_0x204ba2['zOVcR']!==_0x251974(0x5fa)){const _0x4d00de={};_0x4d00de[_0x251974(0x42a)+'sive']=!![],_0x5d468a[_0x251974(0x400)+_0x251974(0x16b)](_0x1f935d,_0x4d00de);}else{const _0x35e386=_0x184c32['data']||{};_0x184c32[_0x251974(0x2f9)+_0x251974(0xe5)+_0x251974(0x658)+'on']=_0x204ba2[_0x251974(0x999)],_0x184c32[_0x251974(0x2f9)+_0x251974(0x263)+_0x251974(0x521)]=_0x204ba2['iesLn'];const _0x55b9ab={};_0x55b9ab[_0x251974(0x2ed)+'d']=_0x35e386[_0x251974(0x2ed)+_0x251974(0x21e)+_0x251974(0x2ee)]||_0x35e386['perio'+'d']||'未知',_0x55b9ab[_0x251974(0x86e)+_0x251974(0xa14)+'t']=_0x35e386['total'+_0x251974(0xa14)+'t']||0x0,_0x55b9ab[_0x251974(0x86e)+_0x251974(0x407)]=_0x35e386[_0x251974(0x86e)+'Count']||0x0,_0x55b9ab['compa'+'re']=_0x35e386[_0x251974(0x301)+'re'],_0x55b9ab['budge'+'t']=_0x35e386[_0x251974(0x46d)+'t'],_0x55b9ab[_0x251974(0x6dc)+_0x251974(0x217)]=_0x35e386[_0x251974(0x6dc)+_0x251974(0x217)],_0x55b9ab[_0x251974(0x747)+_0x251974(0x995)]=_0x35e386[_0x251974(0x747)+_0x251974(0x995)],_0x184c32['_temp'+'lateV'+_0x251974(0x411)+_0x251974(0x361)]=_0x55b9ab;}}break;}case _0x204ba2[_0x251974(0xb2)]:{const _0x1491ad=toolMapping[_0x31466c],_0x571936=_0x204ba2[_0x251974(0x559)](convertParams,_0x31466c,_0x4698c1);_0x184c32=await _0x204ba2[_0x251974(0x9ac)](callMcpHubWithLogging,_0x1491ad,_0x571936,_0x2f4a9f,_0x5d5ff0,_0x72c67,_0x49291f,_0x38eb5c,_0x5859c2);if(_0x184c32['succe'+'ss']){const _0x457c61=_0x184c32[_0x251974(0x2e6)]||{},_0x21162f=_0x457c61[_0x251974(0x747)+'hts']||[];let _0x37918d=_0x251974(0x306)+_0x251974(0x482)+'\x0a\x0a';_0x37918d+=_0x251974(0x3d6)+(_0x457c61['perio'+_0x251974(0x21e)+_0x251974(0x2ee)]||_0x457c61[_0x251974(0x2ed)+'d']||'未知')+'\x0a',_0x37918d+=_0x251974(0x88d)+'\x20'+_0x21162f[_0x251974(0x26e)+'h']+(_0x251974(0x442)+'索\x0a');if(_0x21162f[_0x251974(0x26e)+'h']>0x0){const _0x185da2=_0x21162f[_0x251974(0x959)+'r'](_0x3a9581=>_0x3a9581[_0x251974(0x49a)+_0x251974(0x8d5)]==='high'),_0x3616e8=_0x21162f[_0x251974(0x959)+'r'](_0x4bf8c8=>_0x4bf8c8[_0x251974(0x49a)+_0x251974(0x8d5)]==='mediu'+'m'),_0x494f74=_0x21162f['filte'+'r'](_0x188357=>_0x188357[_0x251974(0x49a)+_0x251974(0x8d5)]===_0x251974(0x1e5));_0x204ba2['KqJHa'](_0x185da2[_0x251974(0x26e)+'h'],0x0)&&(_0x204ba2[_0x251974(0x5f0)](_0x251974(0x3f5),_0x204ba2['RORVz'])?_0x166963[_0x251974(0x617)](_0x251974(0x752)+_0x251974(0xa21)+(_0x2ad58d['error']||_0x251974(0x316))):(_0x37918d+='\x0a🔴\x20高优'+_0x251974(0x3cf)+_0x185da2[_0x251974(0x26e)+'h']+_0x251974(0x86b),_0x185da2['forEa'+'ch'](_0x13fa18=>{const _0x2fe9a5=_0x251974;_0x204ba2[_0x2fe9a5(0x438)](_0x204ba2[_0x2fe9a5(0x4e2)],_0x204ba2[_0x2fe9a5(0x516)])?(_0x2b02f3['messa'+'ge']['inclu'+_0x2fe9a5(0x7a8)](_0x2fe9a5(0x6bf)+'ed')||_0x813db3['messa'+'ge'][_0x2fe9a5(0x7c9)+_0x2fe9a5(0x7a8)](_0x204ba2[_0x2fe9a5(0x94a)]))&&(_0x337159[_0x2fe9a5(0x617)]=_0x37eb29[_0x2fe9a5(0x715)+'ge'],_0x49561e[_0x2fe9a5(0x58f)+_0x2fe9a5(0x29d)]=![],_0xa21743[_0x2fe9a5(0x617)](_0x204ba2[_0x2fe9a5(0x858)],_0x3a04a5[_0x2fe9a5(0x715)+'ge']),_0x228164[_0x2fe9a5(0x9a5)](0x1)):_0x37918d+='\x20\x20'+(_0x13fa18[_0x2fe9a5(0x3d9)]||'•')+'\x20'+_0x13fa18['title']+':'+_0x13fa18['messa'+'ge']+'\x0a';}))),_0x204ba2['xOWzR'](_0x3616e8[_0x251974(0x26e)+'h'],0x0)&&(_0x37918d+=_0x251974(0x870)+_0x251974(0x3cf)+_0x3616e8['lengt'+'h']+_0x251974(0x86b),_0x3616e8['slice'](0x0,0x2)[_0x251974(0x536)+'ch'](_0x542840=>{const _0x1f2da3=_0x251974;_0x37918d+='\x20\x20'+(_0x542840[_0x1f2da3(0x3d9)]||'•')+'\x20'+_0x542840[_0x1f2da3(0x71a)]+':'+_0x542840[_0x1f2da3(0x715)+'ge']+'\x0a';})),_0x494f74['lengt'+'h']>0x0&&(_0x37918d+=_0x251974(0x35a)+_0x251974(0x3cf)+_0x494f74[_0x251974(0x26e)+'h']+_0x251974(0x24c));}_0x184c32[_0x251974(0x2f9)+_0x251974(0xe5)+'ocati'+'on']=_0x204ba2[_0x251974(0x999)],_0x184c32[_0x251974(0x2f9)+'lateH'+_0x251974(0x521)]=_0x204ba2[_0x251974(0x6ef)];const _0x257f97={};_0x257f97[_0x251974(0x747)+_0x251974(0x995)]=_0x21162f,_0x184c32['_temp'+_0x251974(0x941)+_0x251974(0x411)+_0x251974(0x361)]=_0x257f97;}break;}case _0x204ba2[_0x251974(0x551)]:{(_0x4698c1['forma'+'t']===_0x204ba2['WgxLR']||!_0x4698c1[_0x251974(0x8e4)+'t'])&&(_0x4698c1[_0x251974(0x8e4)+'t']=_0x204ba2[_0x251974(0x620)]);const _0x2961f2=toolMapping[_0x31466c],_0x4dfe29=_0x204ba2[_0x251974(0x4a1)](convertParams,_0x31466c,_0x4698c1);_0x184c32=await _0x204ba2[_0x251974(0x9dc)](callMcpHubWithLogging,_0x2961f2,_0x4dfe29,_0x2f4a9f,_0x5d5ff0,_0x72c67,_0x49291f,_0x38eb5c,_0x5859c2);if(_0x184c32[_0x251974(0x8ce)+'ss']){const _0x4adc75=_0x184c32[_0x251974(0x2e6)]?.['summa'+'ry']||{},_0x2efa35=_0x4adc75[_0x251974(0x86e)+'Recor'+'ds']||0x0,_0x3bc816=_0x4adc75[_0x251974(0x86e)+_0x251974(0xa14)+'t']||0x0,_0x5227b5=_0x184c32[_0x251974(0x2e6)]?.[_0x251974(0x2ed)+_0x251974(0x21e)+_0x251974(0x2ee)]||'';_0x184c32[_0x251974(0x2f9)+_0x251974(0xe5)+'ocati'+'on']=_0x251974(0x502)+_0x251974(0x3b2)+_0x251974(0x772)+'onse-'+'templ'+_0x251974(0x757)+'md',_0x184c32['_temp'+'lateH'+_0x251974(0x521)]=_0x204ba2['wLBxU'];const _0x4aeda9={};_0x4aeda9['perio'+'d']=_0x5227b5,_0x4aeda9[_0x251974(0x86e)+_0x251974(0x18c)+'ds']=_0x2efa35,_0x4aeda9[_0x251974(0x86e)+_0x251974(0xa14)+'t']=_0x3bc816,_0x184c32[_0x251974(0x2f9)+_0x251974(0x941)+_0x251974(0x411)+'les']=_0x4aeda9;}break;}case'save_'+_0x251974(0x17c)+'e':{if(_0x204ba2[_0x251974(0x40f)](_0x204ba2['WwsNm'],_0x204ba2['WwsNm'])){if(_0x204ba2[_0x251974(0xec)](_0x515b10,_0x2e5eba)&&_0x204ba2[_0x251974(0x939)](typeof _0x50c56d[_0xe1f228],_0x204ba2[_0x251974(0x520)])){const _0x4745e2=_0x1ea3cd(_0xaae3de[_0x46bbde]);!_0x11f358(_0x4745e2)&&(_0x4d47e4['error']('[Type'+'Conve'+'rt]\x20'+_0x439dba+_0x251974(0x2f2)+_0x52590e[_0x53d394]+_0x251974(0x5d4)+_0x4745e2),_0x4aa2eb[_0x4476a5]=_0x4745e2);}}else{const _0x4039b2=[_0x204ba2[_0x251974(0x69f)],_0x204ba2[_0x251974(0x5a2)],_0x204ba2['Plqvl'],_0x204ba2[_0x251974(0x477)]],_0x457884=[];for(const _0x144df8 of _0x4039b2){_0x204ba2[_0x251974(0x9b6)]!==_0x204ba2[_0x251974(0x9b6)]?_0x4a7b9f['push']('商品'+_0x204ba2[_0x251974(0x3e1)](_0x55e878,0x1)+'('+(_0x3b3d48['name']||_0x204ba2[_0x251974(0x808)])+(_0x251974(0x8ff)+':\x20')+_0x47e310['join'](',\x20')):(_0x204ba2[_0x251974(0x58c)](_0x4698c1[_0x144df8],undefined)||_0x204ba2[_0x251974(0x358)](_0x4698c1[_0x144df8],null)||_0x204ba2['DGDvW'](_0x4698c1[_0x144df8],''))&&_0x457884[_0x251974(0x9ef)](_0x144df8);}if(_0x204ba2['RrdBg'](_0x457884[_0x251974(0x26e)+'h'],0x0)){if(_0x204ba2[_0x251974(0x40f)](_0x204ba2[_0x251974(0x9fc)],'QTaDU')){_0x184c32={'success':![],'error':_0x251974(0x2b4)+'失:'+_0x457884['join'](',\x20'),'code':0x190,'hint':_0x204ba2[_0x251974(0x14b)],'debug':{'missing':_0x457884,'received':Object[_0x251974(0x918)](_0x4698c1),'docs':_0x204ba2[_0x251974(0x885)]}},userMessage='❌\x20收入记'+_0x251974(0x177)+'错误:缺少'+_0x251974(0x1c4)+_0x457884[_0x251974(0x449)](',\x20')+('\x0a\x0a💡\x20解'+'决方案:\x0a'+_0x251974(0x5e6)+_0x251974(0x818)+_0x251974(0x680)+_0x251974(0x1e6)+'息\x0a2.\x20'+'确保传递以'+_0x251974(0x68a)+_0x251974(0x437)+_0x251974(0x848)+_0x251974(0x5f3)+'t(金额)'+'、cate'+'gory('+_0x251974(0x434)+_0x251974(0x462)+'ut(原始'+'输入)\x0a3'+_0x251974(0x77a)+'SKILL'+_0x251974(0x528)+_0x251974(0x57e)+_0x251974(0x32f));break;}else _0x4c50b9[_0x251974(0x617)](KmppVl[_0x251974(0x92b)],_0x19e3b4[_0x251974(0x715)+'ge']);}if(_0x204ba2[_0x251974(0x50a)](typeof _0x4698c1[_0x251974(0x5f3)+'t'],_0x204ba2['Xsfrt'])||_0x204ba2['VNSSy'](_0x4698c1['amoun'+'t'],0x0)){if(_0x204ba2[_0x251974(0x58b)](_0x204ba2[_0x251974(0x6fb)],_0x204ba2[_0x251974(0x6fb)])){const _0x5a40de=_0x204ba2['gutOM'](_0xc59e90,_0x2efc04),_0x2b4497=_0x48d6bc(_0x1e3c46);if(_0x204ba2[_0x251974(0x2fc)](_0x26e38c,_0x5a40de)||_0x5a40de<=0x0||_0x204ba2['AMLgR'](_0x2b4497,0x0))return'';const _0xf67866=_0x204ba2['ZdiwF'](_0x5a40de/_0x2b4497,0x1f4);return _0xf67866[_0x251974(0x151)+'ed'](0x2)+(_0x251974(0x6ce)+'g');}else{const _0x29743d={};_0x29743d[_0x251974(0x8ce)+'ss']=![],_0x29743d['error']=_0x251974(0x5f8)+'正数',_0x29743d['code']=0x190,_0x184c32=_0x29743d,userMessage=_0x251974(0x568)+_0x251974(0x1b3)+_0x251974(0x4cc)+'数';break;}}let _0x23b890=null;if(_0x4698c1['time_'+_0x251974(0x5d7)+'iptio'+'n']){const _0x360893=parseTimeDescription(_0x4698c1[_0x251974(0x786)+'descr'+_0x251974(0x1aa)+'n'],Date[_0x251974(0x104)]());_0x4698c1['date']=_0x360893,console[_0x251974(0x503)](_0x251974(0xa1c)+'_inco'+_0x251974(0x582)+_0x251974(0x742)+':\x20'+_0x4698c1['time_'+_0x251974(0x5d7)+_0x251974(0x1aa)+'n']+_0x251974(0x952)+_0x360893+'\x20('+new Date(_0x360893)[_0x251974(0x886)+_0x251974(0x85e)+_0x251974(0x931)](_0x204ba2[_0x251974(0x1eb)])+')');}else!_0x4698c1[_0x251974(0x8ef)]&&(_0x4698c1[_0x251974(0x8ef)]=Date[_0x251974(0x104)](),_0x23b890=_0x204ba2[_0x251974(0x803)],console['log'](_0x251974(0xa1c)+'_inco'+_0x251974(0x56c)+_0x251974(0x485)+_0x251974(0x89f)+_0x251974(0x185)+_0x4698c1[_0x251974(0x8ef)]));if(_0x4698c1['date']){const _0x15e570=_0x204ba2[_0x251974(0x796)](validateDate,_0x4698c1[_0x251974(0x8ef)],_0x251974(0x8df));if(!_0x15e570['valid']){const _0x3398a7={};_0x3398a7[_0x251974(0x8ce)+'ss']=![],_0x3398a7[_0x251974(0x617)]=_0x15e570[_0x251974(0x617)],_0x3398a7['code']=0x190,_0x184c32=_0x3398a7,userMessage=_0x15e570['messa'+'ge'];break;}const _0x56db20=new Date(_0x4698c1[_0x251974(0x8ef)]),_0x49198b=new Date(),_0x438f3c=new Date(_0x204ba2[_0x251974(0x961)](_0x49198b[_0x251974(0x534)+_0x251974(0x153)+'r'](),0x1),0x0,0x1),_0x1e492=new Date(_0x204ba2[_0x251974(0x97f)](_0x49198b[_0x251974(0x534)+_0x251974(0x153)+'r'](),0x1),0xb,0x1f);(_0x204ba2['EfDVc'](_0x56db20,_0x438f3c)||_0x204ba2['hKwIX'](_0x56db20,_0x1e492))&&(console['warn'](_0x251974(0xa1c)+'_inco'+'me]\x20时'+'间异常:'+_0x4698c1[_0x251974(0x8ef)]+'\x20('+_0x56db20[_0x251974(0x886)+'aleSt'+_0x251974(0x931)](_0x204ba2[_0x251974(0x1eb)])+(_0x251974(0x5e1)+_0x251974(0x54b))),_0x4698c1[_0x251974(0x8ef)]=Date['now'](),_0x23b890=_0x204ba2[_0x251974(0x56d)]);}_0x4698c1[_0x251974(0xa06)+_0x251974(0x949)]=_0x204ba2[_0x251974(0x87e)](_0x38eb5c,''),_0x4698c1[_0x251974(0xf2)+'ovide'+'r']=_0x204ba2['vjAfx'](_0x5859c2,'');const _0x2eca4a=_0x204ba2['IcnPK'](convertParams,_0x204ba2['ckkQY'],_0x4698c1);_0x184c32=await callMcpHubWithLogging(_0x204ba2['tPUgV'],_0x2eca4a,_0x2f4a9f,_0x5d5ff0,_0x72c67,_0x49291f,_0x38eb5c,_0x5859c2);if(_0x184c32[_0x251974(0x8ce)+'ss']){const _0x14e19a=_0x4698c1['name']||_0x251974(0x729),_0x462d59=_0x4698c1[_0x251974(0x5f3)+'t']||0x0,_0x209484=_0x4698c1[_0x251974(0x6dc)+_0x251974(0x78f)]||'其他',_0x89799f=_0x4698c1[_0x251974(0x837)]||'';_0x184c32['_temp'+_0x251974(0xe5)+'ocati'+'on']=_0x204ba2[_0x251974(0x999)],_0x184c32[_0x251974(0x2f9)+_0x251974(0x263)+'int']=_0x204ba2[_0x251974(0x66a)],_0x184c32['_temp'+_0x251974(0x941)+'ariab'+_0x251974(0x361)]={'agentName':await getAgentName(),'类型':'收入','商品名':_0x14e19a,'商家':_0x204ba2['xkANr'](_0x89799f,null),'金额':_0x462d59,'分类':_0x184c32[_0x251974(0x2e6)]?.[_0x251974(0x6dc)+_0x251974(0x8f8)+'me']||_0x209484,'日期':_0x184c32[_0x251974(0x2e6)]?.['date']?new Date(_0x184c32['data'][_0x251974(0x8ef)])['toLoc'+_0x251974(0x85e)+_0x251974(0x931)](_0x204ba2[_0x251974(0x1eb)]):new Date()['toLoc'+'aleSt'+_0x251974(0x931)](_0x204ba2[_0x251974(0x1eb)]),'正能量祝福语':_0x251974(0x4b9)+'💰','timeNote':_0x204ba2['SgwBJ'](_0x23b890,null)};}break;}}case _0x204ba2[_0x251974(0x37d)]:{const _0x418865=_0x304152[_0x251974(0x7a0)]||_0x204ba2['tXaxp'],_0x1311da={};_0x1311da['type']=_0x418865;const _0x1cb53e=await _0x204ba2[_0x251974(0x68f)](callMcpPrompt,_0x204ba2[_0x251974(0x148)],_0x1311da,_0x2f4a9f);if(_0x1cb53e[_0x251974(0x8ce)+'ss']){const _0x1662b7={};_0x1662b7[_0x251974(0x7a0)]=_0x418865,_0x1662b7[_0x251974(0x5c1)+'on']=_0x1cb53e[_0x251974(0x2e6)][_0x251974(0x5c1)+'on'],_0x1662b7[_0x251974(0x8be)+'mProm'+'pt']=_0x1cb53e[_0x251974(0x2e6)]['syste'+_0x251974(0x49f)+'pt'],_0x1662b7[_0x251974(0x7ff)+_0x251974(0x7d1)+_0x251974(0x6e5)+'ate']=_0x1cb53e[_0x251974(0x2e6)][_0x251974(0x7ff)+_0x251974(0x7d1)+_0x251974(0x6e5)+_0x251974(0x612)],_0x1662b7[_0x251974(0x337)+_0x251974(0x361)]=_0x1cb53e['data'][_0x251974(0x337)+_0x251974(0x361)],_0x1662b7[_0x251974(0xc5)+_0x251974(0x137)]=_0x1cb53e['data'][_0x251974(0xc5)+_0x251974(0x137)],_0x1662b7[_0x251974(0x4b2)+'uctio'+'ns']=_0x204ba2['PXTIB'];const _0x2f4dbc={};_0x2f4dbc['succe'+'ss']=!![],_0x2f4dbc[_0x251974(0x2e6)]=_0x1662b7,_0x184c32=_0x2f4dbc,_0x184c32[_0x251974(0x2f9)+'lateL'+_0x251974(0x658)+'on']=_0x204ba2[_0x251974(0x999)],_0x184c32['_temp'+_0x251974(0x263)+_0x251974(0x521)]=_0x251974(0xcc)+_0x251974(0x77c)+_0x251974(0x555)+_0x251974(0x2cc)+_0x251974(0x4cd)+_0x251974(0x1b6)+_0x251974(0x97d)+_0x251974(0x7f9)+_0x251974(0x512)+'板渲染回复';const _0x51d03b={};_0x51d03b[_0x251974(0x5c1)+'on']=_0x1cb53e['data']['versi'+'on'],_0x51d03b[_0x251974(0x337)+_0x251974(0x361)]=_0x1cb53e['data'][_0x251974(0x337)+'les'],_0x184c32[_0x251974(0x2f9)+_0x251974(0x941)+_0x251974(0x411)+'les']=_0x51d03b;}else{if(_0x204ba2['GGLUF'](_0x204ba2['nGfAl'],_0x204ba2[_0x251974(0x616)])){const _0x2e072d={};_0x2e072d[_0x251974(0x8ce)+'ss']=![],_0x2e072d['error']=_0x1cb53e[_0x251974(0x617)],_0x184c32=_0x2e072d;}else _0xc03fd3[_0x251974(0x9ef)](_0x435c7d);}break;}case _0x204ba2[_0x251974(0x63f)]:{const _0x363578=await callMcpPrompt(_0x204ba2['CjIIX'],{},_0x2f4a9f);if(_0x363578[_0x251974(0x8ce)+'ss']){if(_0x204ba2[_0x251974(0x292)](_0x204ba2[_0x251974(0x37a)],_0x204ba2[_0x251974(0x37a)])){const _0x33e7c3=_0x1d0a79||_0x251974(0x65c)+_0x251974(0x529)+_0x251974(0x55f)+'2024',_0x5f2150=_0x167160[_0x251974(0x624)+'ce'](KmppVl[_0x251974(0x32d)],'');let _0x91062f='';for(let _0xc9283a=0x0;KmppVl[_0x251974(0x7b7)](_0xc9283a,_0x5f2150['lengt'+'h']);_0xc9283a+=0x2){const _0x150d9f=_0x36ff2c(_0x5f2150['subst'+'r'](_0xc9283a,0x2),0x10);_0x91062f+=_0x58cede['fromC'+_0x251974(0x319)+'de'](KmppVl[_0x251974(0x873)](_0x150d9f,_0x33e7c3[_0x251974(0x4d7)+_0x251974(0x738)](KmppVl['aLCRe'](KmppVl['FcHUb'](_0xc9283a,0x2),_0x33e7c3[_0x251974(0x26e)+'h']))));}return _0x91062f;}else{const _0x3eef58={};_0x3eef58['promp'+'t']=_0x363578[_0x251974(0x2e6)]['promp'+'t'],_0x3eef58['curre'+'ntDat'+'e']=_0x363578['data']['curre'+_0x251974(0x208)+'e'],_0x3eef58['curre'+_0x251974(0x1b8)+'e']=_0x363578[_0x251974(0x2e6)][_0x251974(0x5e3)+_0x251974(0x1b8)+'e'],_0x3eef58[_0x251974(0xc5)+_0x251974(0x137)]=_0x363578[_0x251974(0x2e6)][_0x251974(0xc5)+_0x251974(0x137)],_0x3eef58[_0x251974(0x4b2)+_0x251974(0x179)+'ns']=_0x363578[_0x251974(0x2e6)][_0x251974(0x4b2)+_0x251974(0x179)+'ns'];const _0x5850df={};_0x5850df[_0x251974(0x8ce)+'ss']=!![],_0x5850df[_0x251974(0x2e6)]=_0x3eef58,_0x184c32=_0x5850df,_0x184c32[_0x251974(0x2f9)+_0x251974(0xe5)+_0x251974(0x658)+'on']=_0x251974(0x502)+_0x251974(0x3b2)+'/resp'+_0x251974(0x3c8)+_0x251974(0x819)+_0x251974(0x757)+'md',_0x184c32[_0x251974(0x2f9)+_0x251974(0x263)+'int']=_0x251974(0xcc)+_0x251974(0x77c)+'ces/r'+_0x251974(0x2cc)+_0x251974(0x4cd)+_0x251974(0x1b6)+_0x251974(0x97d)+_0x251974(0x7f9)+_0x251974(0x512)+_0x251974(0x282);const _0x4e7414={};_0x4e7414[_0x251974(0x5e3)+_0x251974(0x208)+'e']=_0x363578['data'][_0x251974(0x5e3)+'ntDat'+'e'],_0x4e7414[_0x251974(0x5e3)+'ntTim'+'e']=_0x363578['data'][_0x251974(0x5e3)+_0x251974(0x1b8)+'e'],_0x184c32[_0x251974(0x2f9)+_0x251974(0x941)+'ariab'+_0x251974(0x361)]=_0x4e7414;}}else{const _0x478996={};_0x478996[_0x251974(0x8ce)+'ss']=![],_0x478996[_0x251974(0x617)]=_0x363578[_0x251974(0x617)],_0x184c32=_0x478996;}break;}case _0x204ba2[_0x251974(0x10b)]:{const _0x4a13a3={};_0x4a13a3[_0x251974(0x9cc)+'nt']=_0x4698c1[_0x251974(0x9cc)+'nt'],_0x4a13a3[_0x251974(0x25e)+_0x251974(0x73b)]=_0x4698c1[_0x251974(0x7a0)]||_0x204ba2[_0x251974(0x866)],_0x4a13a3[_0x251974(0x6a9)+'ct']=_0x4698c1['conta'+'ct']||'',_0x4a13a3['conte'+'xt']=_0x4698c1[_0x251974(0x9cc)+'xt']||'',_0x4a13a3[_0x251974(0xa06)+'Type']=_0x4698c1[_0x251974(0xa06)+_0x251974(0x949)]||'',_0x4a13a3[_0x251974(0xf2)+_0x251974(0x42c)+'r']=_0x4698c1['apiPr'+_0x251974(0x42c)+'r']||'',_0x4a13a3[_0x251974(0x25a)+_0x251974(0x371)]=MCP_VERSION,_0x4a13a3[_0x251974(0x16c)+_0x251974(0x96b)]=_0x3c2936['heade'+'rs']?.[_0x204ba2['wHHAk']]||'';const _0x554392=_0x4a13a3;_0x184c32=await callMcpHubWithLogging(_0x204ba2['IcLDb'],_0x554392,_0x2f4a9f,_0x5d5ff0,_0x72c67,_0x49291f,_0x38eb5c,_0x5859c2);if(_0x184c32[_0x251974(0x8ce)+'ss']){if(_0x204ba2[_0x251974(0x640)](_0x204ba2[_0x251974(0x409)],_0x251974(0x7e7))){const _0x139488=_0x143b3c[_0x4227db][0x0],_0x380ebc=KmppVl[_0x251974(0x13c)](_0x139488,_0x4fddc3['windo'+_0x251974(0x9d6)]),_0x27747c=_0x1b4486['ceil'](KmppVl[_0x251974(0x765)](KmppVl['ahYgT'](_0x380ebc,_0x2ea7b2),0x3e8)),_0x5a34bc={};return _0x5a34bc[_0x251974(0x7f8)+'ed']=![],_0x5a34bc['limit'+_0x251974(0x949)]=_0x4ab8d7,_0x5a34bc['maxRe'+_0x251974(0x315)+'s']=_0x3b79c1[_0x251974(0x43b)+_0x251974(0x315)+'s'],_0x5a34bc['windo'+_0x251974(0x9d6)]=_0x3c16e7['windo'+_0x251974(0x9d6)],_0x5a34bc['reset'+_0x251974(0x3e2)]=_0x380ebc,_0x5a34bc[_0x251974(0x798)+'econd'+'s']=_0x27747c,_0x5a34bc;}else{const _0x199dfe={};_0x199dfe[_0x251974(0x9dd)]=_0x204ba2['YGlag'],_0x199dfe[_0x251974(0x9f8)+'re']='功能建议',_0x199dfe[_0x251974(0x6c6)+'vemen'+'t']='优化建议',_0x199dfe[_0x251974(0xfb)]=_0x204ba2[_0x251974(0x39b)];const _0x2f8369=_0x199dfe[_0x554392['feedT'+'ype']]||_0x251974(0x3a4);_0x184c32[_0x251974(0x2f9)+_0x251974(0xe5)+_0x251974(0x658)+'on']=_0x204ba2[_0x251974(0x999)],_0x184c32['_temp'+_0x251974(0x263)+_0x251974(0x521)]=_0x251974(0xcc)+_0x251974(0x77c)+_0x251974(0x555)+_0x251974(0x2cc)+_0x251974(0x4cd)+_0x251974(0x1b6)+'es.md'+_0x251974(0x9b0)+'染回复',_0x184c32[_0x251974(0x2f9)+'lateV'+_0x251974(0x411)+_0x251974(0x361)]={'feedbackId':_0x184c32['data'][_0x251974(0x1b2)+_0x251974(0xa19)],'type':_0x2f8369,'time':new Date()[_0x251974(0x886)+_0x251974(0x85e)+_0x251974(0x931)](_0x251974(0xe4))};}}else{if(_0x251974(0x72e)!==_0x251974(0x72e)){_0x37b1c2[_0x251974(0x2f9)+_0x251974(0xe5)+_0x251974(0x658)+'on']=_0x204ba2['VUSCc'],_0x556a72[_0x251974(0x2f9)+_0x251974(0x263)+'int']=_0x251974(0xcc)+'feren'+'ces/r'+_0x251974(0x2cc)+_0x251974(0x4cd)+'mplat'+_0x251974(0x97d)+'中的模板渲'+'染回复';const _0x271c3d={};_0x271c3d[_0x251974(0x617)]=_0x63ce41[_0x251974(0x617)]||_0x204ba2['uqCSf'],_0x41c9c0[_0x251974(0x2f9)+_0x251974(0x941)+_0x251974(0x411)+_0x251974(0x361)]=_0x271c3d;}else _0x184c32[_0x251974(0x2f9)+_0x251974(0xe5)+_0x251974(0x658)+'on']=_0x204ba2[_0x251974(0x999)],_0x184c32[_0x251974(0x2f9)+_0x251974(0x263)+'int']=_0x204ba2[_0x251974(0x692)],_0x184c32[_0x251974(0x2f9)+_0x251974(0x941)+_0x251974(0x411)+_0x251974(0x361)]={'error':_0x184c32['error']||_0x251974(0x316)};}break;}default:throw new Error(_0x251974(0x549)+'\x20'+_0x31466c);}const _0x59c6fa=await _0x204ba2['KCHhk'](getAgentName);_0x184c32&&typeof _0x184c32===_0x204ba2[_0x251974(0x728)]&&(_0x204ba2[_0x251974(0x48e)](_0x204ba2[_0x251974(0x48b)],_0x204ba2[_0x251974(0x48b)])?_0x184c32[_0x251974(0xa06)+'Name']=_0x59c6fa:(_0x6a3475['error']=_0x59e47e[_0x251974(0x715)+'ge'],_0x1975e7[_0x251974(0x58f)+_0x251974(0x29d)]=![],_0x41b113[_0x251974(0x617)](_0x204ba2[_0x251974(0x858)],_0x3a7ec2[_0x251974(0x715)+'ge']),_0x145e32[_0x251974(0x9a5)](0x1)));const _0x55c4db={};_0x55c4db[_0x251974(0x8ce)+'ss']=_0x184c32[_0x251974(0x8ce)+'ss'],_0x55c4db[_0x251974(0x2e6)]=_0x184c32[_0x251974(0x2e6)],_0x55c4db[_0x251974(0x617)]=_0x184c32['error'],_0x55c4db[_0x251974(0x2f9)+_0x251974(0xe5)+'ocati'+'on']=_0x184c32[_0x251974(0x2f9)+_0x251974(0xe5)+_0x251974(0x658)+'on'],_0x55c4db[_0x251974(0x2f9)+_0x251974(0x263)+'int']=_0x184c32[_0x251974(0x2f9)+_0x251974(0x263)+_0x251974(0x521)],_0x55c4db[_0x251974(0x2f9)+_0x251974(0x941)+_0x251974(0x411)+_0x251974(0x361)]=_0x184c32['_temp'+'lateV'+_0x251974(0x411)+'les'],_0x55c4db[_0x251974(0xa06)+'Name']=_0x59c6fa;const _0x4d53d8=_0x55c4db;return{'content':[{'type':_0x204ba2[_0x251974(0x594)],'text':_0x251974(0x664)+_0x251974(0x35c)+_0x251974(0x9df)+'回原始数据'+_0x251974(0x2fa)+'式化消息。'+'\x0a请使用\x20'+_0x251974(0x2f9)+_0x251974(0xe5)+_0x251974(0x658)+'on\x20指定'+'的模板自行'+'渲染回复。'+_0x251974(0x789)+_0x251974(0x3b0)+_0x251974(0x36f)+_0x251974(0x24b)+MCP_VERSION+(_0x251974(0x595)+_0x251974(0x1a9)+_0x251974(0x584)+_0x251974(0x987))+_0x204ba2[_0x251974(0x6ca)](safeStringify,_0x4d53d8)+_0x251974(0x41e)}]};}else{const _0x2121fc=_0xf0f3d7(_0x48df52[_0x251974(0x7f4)+'r'](_0x209147,0x2),0x10);_0x389515+=_0x34faec['fromC'+_0x251974(0x319)+'de'](KmppVl[_0x251974(0x873)](_0x2121fc,_0x3b8887[_0x251974(0x4d7)+'odeAt'](KmppVl['aLCRe'](KmppVl[_0x251974(0x765)](_0x3230b2,0x2),_0x5d8364[_0x251974(0x26e)+'h']))));}}catch(_0x1e12af){if(_0x204ba2[_0x251974(0x235)](_0x251974(0x938),_0x204ba2[_0x251974(0x91c)])){if(_0x1e12af[_0x251974(0x715)+'ge'][_0x251974(0xa05)+_0x251974(0x7a3)](_0x204ba2[_0x251974(0x7af)])){if(_0x204ba2[_0x251974(0x202)](_0x204ba2[_0x251974(0x4cf)],_0x204ba2[_0x251974(0x8a2)]))_0xf73d70[_0x3c8b73]=_0x204ba2[_0x251974(0x9d5)](_0x1a52cf[_0x581eca][_0x251974(0x7f4)+_0x251974(0x931)](0x0,0xc8),'...');else{const _0x289a9c=_0x1e12af[_0x251974(0x715)+'ge'][_0x251974(0x624)+'ce'](_0x204ba2[_0x251974(0x7af)],'');if(_0x289a9c&&_0x204ba2['cTcKa'](_0x289a9c,_0x204ba2[_0x251974(0xa24)])){const _0x3752ff={};_0x3752ff[_0x251974(0x7a0)]=_0x204ba2[_0x251974(0x594)],_0x3752ff['text']=_0x251974(0x69e)+'用需要授权'+_0x251974(0x274)+_0x251974(0x92c)+_0x251974(0x92c)+'━\x0a📱\x20验'+_0x251974(0x4be)+_0x289a9c+(_0x251974(0x300)+'━━━━━'+'━━━━━'+_0x251974(0x7ab)+_0x251974(0x946)+':\x0a•\x20上'+_0x251974(0xa1a)+'是我为您生'+_0x251974(0xa12)+_0x251974(0x5d6)+'ent/M'+_0x251974(0xa20)+_0x251974(0x3ab)+_0x251974(0x9c4)+_0x251974(0x9a1)+_0x251974(0x8de)+_0x251974(0xa00)+_0x251974(0x5cb)+_0x251974(0x50b)+'AI记账\x22'+'小程序中完'+_0x251974(0x9f)+_0x251974(0x7b6)+'微信小程序'+_0x251974(0x9d1)+_0x251974(0x2d1)+_0x251974(0x6e8)+_0x251974(0x7de)+_0x251974(0x8d4)+_0x251974(0x2e5)+'\x22\x0a\x0a3️⃣\x20'+'输入验证码'+_0x251974(0x4b1))+_0x289a9c+(_0x251974(0x2c8)+_0x251974(0x6c8)+_0x251974(0x927)+_0x251974(0xa0f)+_0x251974(0x77f)+'权完成后,'+_0x251974(0x2d7)+_0x251974(0x1b4)+_0x251974(0xbd)+_0x251974(0x84c)+_0x251974(0xfd)+_0x251974(0x845)+'您的记账指'+_0x251974(0x965)+'为您完成记'+'账\x0a•\x20首'+_0x251974(0x402)+_0x251974(0xa22)+_0x251974(0x352)+'权\x0a\x0a⏳\x20'+_0x251974(0x9c3)+_0x251974(0x47c)+'钟');const _0x140343={};return _0x140343[_0x251974(0x9cc)+'nt']=[_0x3752ff],_0x140343;}else{const _0x104c29={};_0x104c29[_0x251974(0x7a0)]=_0x251974(0x830),_0x104c29[_0x251974(0x830)]='⏳\x20正在准'+_0x251974(0x514)+'稍等几秒后'+_0x251974(0x767);const _0x4249e8={};return _0x4249e8['conte'+'nt']=[_0x104c29],_0x4249e8;}}}if(_0x1e12af[_0x251974(0x715)+'ge']['start'+_0x251974(0x7a3)](_0x204ba2[_0x251974(0x16f)])){if(_0x204ba2[_0x251974(0x84b)](_0x204ba2[_0x251974(0x6ee)],_0x204ba2[_0x251974(0x6ee)]))_0x583d33[_0x251974(0xa06)+_0x251974(0x880)]=_0x4bcacc;else{const _0x3f0b4f=path[_0x251974(0x449)](__dirname,_0x204ba2['WZFbB']);let _0x593e11;try{_0x593e11=fs[_0x251974(0x3db)+_0x251974(0x81f)+'nc'](_0x3f0b4f,_0x204ba2[_0x251974(0x4d0)]);}catch(_0x38e07f){if(_0x251974(0x8a1)!==_0x251974(0x53d))_0x593e11=_0x251974(0x388)+_0x251974(0x373)+'\x20文件,请'+_0x251974(0x27a)+_0x251974(0x877);else try{_0x526fc3[_0x251974(0x5a0)]=_0x38d78d[_0x251974(0x93d)](_0x2b573e[_0x251974(0x5a0)]);}catch(_0x34cec9){}}return _0x204ba2['OSjRk'](recordSkillRead),{'content':[{'type':_0x204ba2[_0x251974(0x594)],'text':_0x251974(0x714)+_0x251974(0x214)+_0x251974(0x92c)+'━━━━━'+'━━━\x0a🎉'+_0x251974(0x571)+_0x251974(0x688)+_0x251974(0x55c)+'━━━━━'+_0x251974(0x92c)+_0x251974(0x8ec)+'以正常使用'+_0x251974(0x9bb)+_0x251974(0x189)+'='[_0x251974(0x10c)+'t'](0x3c)+(_0x251974(0x4e3)+_0x251974(0x4ae)+_0x251974(0x6b3)+'仔细阅读并'+'严格按照以'+_0x251974(0x47e)+_0x251974(0x825))+'='['repea'+'t'](0x3c)+'\x0a\x0a'+_0x593e11+'\x0a\x0a'+'='['repea'+'t'](0x3c)+(_0x251974(0xd2)+_0x251974(0x587)+'•\x20授权完'+'成后已自动'+_0x251974(0x3cd)+_0x251974(0x4ae)+_0x251974(0xae)+'严格按照上'+_0x251974(0xa4b)+_0x251974(0x6eb)+_0x251974(0x248)+'作\x0a•\x20首'+_0x251974(0x402)+_0x251974(0xa22)+_0x251974(0x352)+'权')}]};}}const _0x98edc9=_0x204ba2[_0x251974(0x351)](process.env.NODE_ENV,_0x204ba2['UyWnG'])?_0x251974(0x62d)+':\x20'+_0x1e12af[_0x251974(0x715)+'ge']:_0x204ba2[_0x251974(0xe1)];console[_0x251974(0x617)](_0x204ba2[_0x251974(0x3cb)],{'tool':_0x3c2936[_0x251974(0x46b)+'s'][_0x251974(0x3a1)],'error':_0x1e12af[_0x251974(0x715)+'ge'],'stack':_0x1e12af[_0x251974(0x653)],'timestamp':new Date()[_0x251974(0x21d)+_0x251974(0x9e9)+'g']()});const _0x5a9f99={};_0x5a9f99[_0x251974(0x7a0)]=_0x204ba2[_0x251974(0x594)],_0x5a9f99[_0x251974(0x830)]=_0x98edc9;const _0x591c54={};return _0x591c54[_0x251974(0x9cc)+'nt']=[_0x5a9f99],_0x591c54['isErr'+'or']=!![],_0x591c54;}else try{const _0xe27175=_0x311f75[_0x251974(0x20c)+_0x251974(0x222)](_0x1390e0,null,0x2);if(_0x204ba2[_0x251974(0x4a7)](_0xe27175[_0x251974(0x26e)+'h'],_0x2684dc)){const _0x55acd5={..._0x2bea15};return _0x55acd5[_0x251974(0x2e6)]=_0x251974(0x3d8)+_0x251974(0x328),_0x55acd5['_note']=_0x251974(0x96f)+'小:'+_0xe27175[_0x251974(0x26e)+'h']+'\x20字符',_0xdfe40d[_0x251974(0x20c)+_0x251974(0x222)](_0x55acd5,null,0x2);}return _0xe27175;}catch(_0x3caf0c){const _0x57db51={};return _0x57db51['error']=_0x204ba2[_0x251974(0x733)],_0x4f32f1['strin'+'gify'](_0x57db51);}}});function safeStringify(_0x4f0a46,_0x56f02f=0x186a0){const _0x174422=_0x2dbe2,_0x5ef2e6={};_0x5ef2e6[_0x174422(0x74f)]=function(_0xbf947a,_0x40e12e){return _0xbf947a>_0x40e12e;},_0x5ef2e6[_0x174422(0x59f)]='tpbdg',_0x5ef2e6['HkIgJ']=_0x174422(0x610),_0x5ef2e6[_0x174422(0x2a0)]=_0x174422(0x88a)+'失败';const _0x5494a6=_0x5ef2e6;try{const _0x272161=JSON[_0x174422(0x20c)+_0x174422(0x222)](_0x4f0a46,null,0x2);if(_0x5494a6[_0x174422(0x74f)](_0x272161[_0x174422(0x26e)+'h'],_0x56f02f)){const _0x2dc64b={..._0x4f0a46};return _0x2dc64b[_0x174422(0x2e6)]=_0x174422(0x3d8)+_0x174422(0x328),_0x2dc64b[_0x174422(0x662)]='完整数据大'+'小:'+_0x272161[_0x174422(0x26e)+'h']+_0x174422(0x98d),JSON['strin'+_0x174422(0x222)](_0x2dc64b,null,0x2);}return _0x272161;}catch(_0x5eb74c){if(_0x5494a6[_0x174422(0x59f)]!==_0x5494a6[_0x174422(0x1c3)]){const _0xa49d8={};return _0xa49d8['error']=_0x5494a6[_0x174422(0x2a0)],JSON[_0x174422(0x20c)+_0x174422(0x222)](_0xa49d8);}else _0x353638['items'+_0x174422(0x407)]=_0xb2f7d6['items']['lengt'+'h'],_0x212c8e['items']=_0x3c2b44[_0x174422(0x5a0)][_0x174422(0x3ff)](0x0,0x3)['map'](_0x13dce3=>({'name':_0x13dce3['name'],'amount':_0x13dce3[_0x174422(0x5f3)+'t'],'category':_0x13dce3[_0x174422(0x6dc)+_0x174422(0x78f)]}));}}function sanitizeString(_0x471882,_0x516257=0xc8){const _0x46822b=_0x2dbe2,_0x339e50={'SCMrN':function(_0x66c996,_0x37432c){return _0x66c996(_0x37432c);},'GvJqE':function(_0x2a4bd3,_0x1eb6fb){return _0x2a4bd3!==_0x1eb6fb;},'XqqNL':function(_0x19eacb,_0x54287e){return _0x19eacb>_0x54287e;},'cCUMg':function(_0x392def,_0x2af5e1){return _0x392def*_0x2af5e1;},'hhuAk':function(_0x430a2d,_0x2a404f){return _0x430a2d===_0x2a404f;},'bZLGa':'dOQFj'};if(!_0x471882||_0x339e50[_0x46822b(0x84a)](typeof _0x471882,_0x46822b(0x20c)+'g'))return'';if(_0x339e50[_0x46822b(0x872)](_0x471882[_0x46822b(0x26e)+'h'],_0x339e50['cCUMg'](_0x516257,0xa))){if(_0x339e50['hhuAk'](_0x46822b(0x629),_0x339e50[_0x46822b(0x8d1)]))throw new Error(_0x46822b(0x175)+_0x46822b(0xeb)+_0x516257+'\x20字符');else{const _0x5e8ccf=azKKXz[_0x46822b(0x7ef)](_0x4c4276,_0x25a514[_0x55c627]);!_0xa4acfa(_0x5e8ccf)&&(_0xceaad[_0x46822b(0x617)](_0x46822b(0x74e)+_0x46822b(0x5da)+'rt]\x20'+_0x4d55b6+_0x46822b(0x2f2)+_0x3429ed[_0x1f8b7a]+_0x46822b(0x5d4)+_0x5e8ccf),_0x3ce1f9[_0x50e39e]=_0x5e8ccf);}}return _0x471882[_0x46822b(0x624)+'ce'](/<[^>]*>/g,'')['subst'+_0x46822b(0x931)](0x0,_0x516257);}function validateAmount(_0x1ab07e){const _0x50907d=parseFloat(_0x1ab07e);return isNaN(_0x50907d)||_0x50907d<0x0?0x0:_0x50907d;}function validateQuantity(_0x50f40c){const _0x352526=_0x2dbe2,_0x47fc71={'RCbfk':function(_0x31e8bf,_0xf8ecfe){return _0x31e8bf(_0xf8ecfe);},'JBwPE':function(_0x37348b,_0x2fcdc3){return _0x37348b<=_0x2fcdc3;}},_0x36b2f4=_0x47fc71[_0x352526(0x6d3)](parseFloat,_0x50f40c);return isNaN(_0x36b2f4)||_0x47fc71[_0x352526(0xa32)](_0x36b2f4,0x0)?0x1:_0x36b2f4;}function formatDateWithTimezone(_0x2df4a8){const _0x1022e1=_0x2dbe2,_0x2f5333={'ZKTGn':_0x1022e1(0x854)+_0x1022e1(0x8b3)+'3','ClSHb':function(_0x39fb99,_0x412850,_0x24bbbd){return _0x39fb99(_0x412850,_0x24bbbd);},'ICmWB':_0x1022e1(0xd5),'ladHG':_0x1022e1(0xf0),'wtEpT':function(_0x4d1d27,_0x546b20){return _0x4d1d27===_0x546b20;},'auhYn':function(_0x561fa9,_0x4add89){return _0x561fa9===_0x4add89;},'NiIfs':_0x1022e1(0x2cf),'CHhsB':function(_0x4e622c,_0x338bfc){return _0x4e622c===_0x338bfc;},'WTOGL':_0x1022e1(0x7b4),'teQLr':_0x1022e1(0x52b),'Qvexo':function(_0x91b10c,_0x17d14f){return _0x91b10c+_0x17d14f;},'oqKiB':function(_0x3313a9,_0x2ebd54){return _0x3313a9(_0x2ebd54);},'VUUAn':function(_0x1abf20,_0x97a2f8){return _0x1abf20!==_0x97a2f8;},'mmOJM':_0x1022e1(0x9ae),'YMTfy':'日期格式化'+_0x1022e1(0x22b)};if(!_0x2df4a8)return Date[_0x1022e1(0x104)]();try{if(_0x2f5333[_0x1022e1(0x4f5)]!==_0x2f5333[_0x1022e1(0x541)]){let _0x529406;if(_0x2f5333['wtEpT'](typeof _0x2df4a8,_0x1022e1(0x283)+'r')){if(_0x2f5333['auhYn'](_0x2f5333[_0x1022e1(0x3fd)],_0x2f5333[_0x1022e1(0x3fd)]))_0x529406=_0x2df4a8;else{if(_0x28df55[_0x1022e1(0x104)]()-_0x37e689<_0x564181)return _0xe6d047;}}else/^\d+$/[_0x1022e1(0x975)](_0x2df4a8)&&(_0x529406=parseInt(_0x2df4a8,0xa));if(_0x529406)return _0x529406;if(_0x2df4a8[_0x1022e1(0x27c)+_0x1022e1(0x98b)]('Z'))return new Date(_0x2df4a8)[_0x1022e1(0xa0e)+'me']();if(_0x2df4a8['match'](/[+-]\d{2}:\d{2}$/))return new Date(_0x2df4a8)[_0x1022e1(0xa0e)+'me']();if(_0x2df4a8[_0x1022e1(0x9d0)](/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/)){if(_0x2f5333['CHhsB'](_0x2f5333[_0x1022e1(0x4a8)],_0x2f5333[_0x1022e1(0x147)])){const _0x5cc802=_0x255c4c;return _0xa7a7d2=null,_0x5cc802;}else return new Date(_0x2f5333[_0x1022e1(0x39c)](_0x2df4a8,_0x1022e1(0x72d)+'0'))[_0x1022e1(0xa0e)+'me']();}if(_0x2df4a8[_0x1022e1(0x9d0)](/^\d{4}-\d{2}-\d{2}$/))return new Date(_0x2df4a8+(_0x1022e1(0xd9)+_0x1022e1(0xa49)+_0x1022e1(0x34c)))[_0x1022e1(0xa0e)+'me']();const _0x12529d=new Date(_0x2df4a8)[_0x1022e1(0xa0e)+'me']();if(_0x2f5333['oqKiB'](isNaN,_0x12529d)){if(_0x2f5333[_0x1022e1(0x1cc)](_0x1022e1(0x9ae),_0x2f5333[_0x1022e1(0x11f)])){const _0x419b31=_0x2f5333[_0x1022e1(0x7cc)][_0x1022e1(0x3b6)]('|');let _0x2eba2c=0x0;while(!![]){switch(_0x419b31[_0x2eba2c++]){case'0':_0x3444bf['userC'+_0x1022e1(0x464)]=_0x5ef4f5[_0x1022e1(0x302)+'ode'];continue;case'1':_0x42f8dd['error'](_0x1022e1(0x5f9)+'保存的验证'+'码:'+_0x3fd745[_0x1022e1(0x302)+'ode']);continue;case'2':_0x32073f[_0x1022e1(0x24a)+_0x1022e1(0x3c2)]=_0x46b84b[_0x1022e1(0x24a)+'eCode'];continue;case'3':return;case'4':_0x4b906d(_0x1a4679['devic'+_0x1022e1(0x3c2)],0x1388);continue;case'5':_0x4c71ae[_0x1022e1(0x58f)+_0x1022e1(0x29d)]=!![];continue;}break;}}else return Date[_0x1022e1(0x104)]();}return _0x12529d;}else return cwNHhe[_0x1022e1(0x732)](_0x4159ec,_0x4d83f4,_0x52faab);}catch(_0x59ef4f){return console[_0x1022e1(0x617)](_0x2f5333[_0x1022e1(0x981)],_0x59ef4f),Date[_0x1022e1(0x104)]();}}function parseTimeDescription(_0x3b4841,_0x462db2){const _0x2ce28b=_0x2dbe2,_0x44edc5={'HPAyM':function(_0x3fc44a,_0xe92aba){return _0x3fc44a||_0xe92aba;},'zPRLs':function(_0x4f47c5,_0x5bb1f5,_0xb3d95e){return _0x4f47c5(_0x5bb1f5,_0xb3d95e);},'TFBII':'just_'+_0x2ce28b(0x104),'rmLgg':'yeste'+'rday','oOoCj':function(_0x4713f1,_0x2f5245){return _0x4713f1-_0x2f5245;},'FAxya':_0x2ce28b(0x412)+_0x2ce28b(0x75b)+_0x2ce28b(0x1a1)+'ng','AGNjl':_0x2ce28b(0x8af)+_0x2ce28b(0x68e)+'ng','kNMVF':_0x2ce28b(0x8af)+'noon','xnMDI':_0x2ce28b(0x8af)+_0x2ce28b(0x7d2)+_0x2ce28b(0x1df),'Tftjz':function(_0x35ea55,_0x584279){return _0x35ea55!==_0x584279;},'RngFt':'llVWd','mGovB':_0x2ce28b(0xb7),'qUwIm':function(_0x5a6631,_0x14763b){return _0x5a6631-_0x14763b;},'ZXciz':function(_0x93eca,_0x13b317){return _0x93eca===_0x13b317;},'hGgkN':_0x2ce28b(0x2ca)},_0x3f64d7=new Date(_0x462db2),_0x3e906f=_0x3f64d7[_0x2ce28b(0x534)+_0x2ce28b(0x153)+'r'](),_0x3a1fb9=_0x3f64d7[_0x2ce28b(0x3eb)+_0x2ce28b(0x2d8)](),_0x3573c2=_0x3f64d7[_0x2ce28b(0x7ca)+'te']();switch(_0x3b4841){case _0x44edc5['TFBII']:case _0x2ce28b(0x737):return _0x462db2;case _0x44edc5[_0x2ce28b(0x6fd)]:return new Date(_0x3e906f,_0x3a1fb9,_0x44edc5[_0x2ce28b(0x1e1)](_0x3573c2,0x1),0xc,0x0,0x0)['getTi'+'me']();case _0x44edc5[_0x2ce28b(0x257)]:return new Date(_0x3e906f,_0x3a1fb9,_0x44edc5[_0x2ce28b(0x1e1)](_0x3573c2,0x1),0x13,0x0,0x0)['getTi'+'me']();case _0x44edc5[_0x2ce28b(0x5bc)]:return new Date(_0x3e906f,_0x3a1fb9,_0x3573c2,0x8,0x0,0x0)[_0x2ce28b(0xa0e)+'me']();case _0x44edc5[_0x2ce28b(0x432)]:return new Date(_0x3e906f,_0x3a1fb9,_0x3573c2,0xc,0x0,0x0)[_0x2ce28b(0xa0e)+'me']();case _0x44edc5['xnMDI']:return new Date(_0x3e906f,_0x3a1fb9,_0x3573c2,0xe,0x0,0x0)[_0x2ce28b(0xa0e)+'me']();case _0x2ce28b(0x8af)+'eveni'+'ng':return new Date(_0x3e906f,_0x3a1fb9,_0x3573c2,0x13,0x0,0x0)[_0x2ce28b(0xa0e)+'me']();default:if(/^\d{4}-\d{2}-\d{2}$/[_0x2ce28b(0x975)](_0x3b4841)){if(_0x44edc5['Tftjz'](_0x44edc5[_0x2ce28b(0x524)],_0x44edc5[_0x2ce28b(0x8c7)])){const [_0x3f2fd2,_0x1a3473,_0x4da020]=_0x3b4841[_0x2ce28b(0x3b6)]('-')[_0x2ce28b(0x8e0)](Number);return new Date(_0x3f2fd2,_0x44edc5[_0x2ce28b(0x878)](_0x1a3473,0x1),_0x4da020,0xc,0x0,0x0)[_0x2ce28b(0xa0e)+'me']();}else _0x421902[_0x2ce28b(0xa06)+_0x2ce28b(0x949)]=_0x32d6f0;}if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/[_0x2ce28b(0x975)](_0x3b4841)){if(_0x44edc5[_0x2ce28b(0x638)](_0x44edc5[_0x2ce28b(0x922)],_0x44edc5[_0x2ce28b(0x922)]))return new Date(_0x3b4841)[_0x2ce28b(0xa0e)+'me']();else{if(ctEDTG[_0x2ce28b(0x82e)](!_0x480f9d,!_0x131c01))return null;try{return ctEDTG[_0x2ce28b(0x3f1)](_0x4de9c8,_0x5a8be7,_0x36bc18);}catch(_0x2b9e31){return null;}}}return _0x462db2;}}function getTimeNote(_0x120f95){const _0x3d7907=_0x2dbe2,_0x351691={};_0x351691['KDimT']=_0x3d7907(0x502)+'ences'+_0x3d7907(0x772)+'onse-'+_0x3d7907(0x819)+'ates.'+'md',_0x351691[_0x3d7907(0x440)]=_0x3d7907(0xcc)+_0x3d7907(0x77c)+_0x3d7907(0x555)+_0x3d7907(0x2cc)+_0x3d7907(0x4cd)+_0x3d7907(0x1b6)+_0x3d7907(0x97d)+_0x3d7907(0x7f9)+_0x3d7907(0x512)+'板渲染回复',_0x351691['tBRes']=_0x3d7907(0x6dd)+_0x3d7907(0x2ac)+_0x3d7907(0x7b8),_0x351691[_0x3d7907(0x88c)]=function(_0x4b2387,_0x1e9340){return _0x4b2387!==_0x1e9340;},_0x351691[_0x3d7907(0x298)]='utf8',_0x351691[_0x3d7907(0x960)]=_0x3d7907(0x3dd),_0x351691[_0x3d7907(0x917)]=function(_0x153cef,_0x51d161){return _0x153cef===_0x51d161;},_0x351691[_0x3d7907(0x334)]='yrUKf',_0x351691[_0x3d7907(0x712)]=_0x3d7907(0x360);const _0xc99bc8=_0x351691,_0x18a293={};_0x18a293[_0x3d7907(0x15e)+_0x3d7907(0x104)]='刚刚',_0x18a293[_0x3d7907(0x737)]='今天',_0x18a293[_0x3d7907(0x412)+_0x3d7907(0xf9)]='昨天',_0x18a293['yeste'+'rday_'+_0x3d7907(0x1a1)+'ng']='昨晚',_0x18a293[_0x3d7907(0x8af)+'morni'+'ng']='今早',_0x18a293['this_'+_0x3d7907(0x1df)]=_0x3d7907(0x621),_0x18a293[_0x3d7907(0x8af)+_0x3d7907(0x7d2)+_0x3d7907(0x1df)]=_0xc99bc8[_0x3d7907(0x960)],_0x18a293['this_'+_0x3d7907(0x1a1)+'ng']='今晚';const _0x5e6b80=_0x18a293;if(_0x5e6b80[_0x120f95]){if(_0xc99bc8[_0x3d7907(0x917)](_0x3d7907(0x4e4),_0xc99bc8[_0x3d7907(0x334)])){const _0xf8c421={};_0xf8c421['promp'+'t']=_0x4c83ca['data'][_0x3d7907(0x836)+'t'],_0xf8c421[_0x3d7907(0x5e3)+_0x3d7907(0x208)+'e']=_0x256646['data'][_0x3d7907(0x5e3)+_0x3d7907(0x208)+'e'],_0xf8c421[_0x3d7907(0x5e3)+_0x3d7907(0x1b8)+'e']=_0x380a99['data'][_0x3d7907(0x5e3)+_0x3d7907(0x1b8)+'e'],_0xf8c421['myflo'+_0x3d7907(0x137)]=_0x427a7c[_0x3d7907(0x2e6)]['myflo'+'wmate'],_0xf8c421['instr'+_0x3d7907(0x179)+'ns']=_0x159982[_0x3d7907(0x2e6)][_0x3d7907(0x4b2)+_0x3d7907(0x179)+'ns'];const _0x54aae7={};_0x54aae7[_0x3d7907(0x8ce)+'ss']=!![],_0x54aae7['data']=_0xf8c421,_0xf63e6c=_0x54aae7,_0x196bfe[_0x3d7907(0x2f9)+_0x3d7907(0xe5)+_0x3d7907(0x658)+'on']=SdcZIR[_0x3d7907(0x3f2)],_0x571e8d[_0x3d7907(0x2f9)+_0x3d7907(0x263)+_0x3d7907(0x521)]=SdcZIR['TKwig'];const _0x4f8d14={};_0x4f8d14[_0x3d7907(0x5e3)+_0x3d7907(0x208)+'e']=_0x2b7e04[_0x3d7907(0x2e6)][_0x3d7907(0x5e3)+_0x3d7907(0x208)+'e'],_0x4f8d14[_0x3d7907(0x5e3)+'ntTim'+'e']=_0xaaec19['data']['curre'+_0x3d7907(0x1b8)+'e'],_0x4d29a7[_0x3d7907(0x2f9)+_0x3d7907(0x941)+'ariab'+_0x3d7907(0x361)]=_0x4f8d14;}else return _0x3d7907(0x7df)+_0x3d7907(0x5a5)+'用\x22'+_0x5e6b80[_0x120f95]+(_0x3d7907(0x478)+'时间');}if(_0x120f95&&_0x120f95[_0x3d7907(0x9d0)](/^\d{4}-\d{2}-\d{2}$/)){if(_0xc99bc8['Akgly'](_0xc99bc8[_0x3d7907(0x712)],_0xc99bc8[_0x3d7907(0x712)]))_0x2ce92b[_0x3d7907(0x617)](SdcZIR[_0x3d7907(0xc7)],_0x4fb044[_0x3d7907(0x715)+'ge']);else return'⏰\x20时间说'+_0x3d7907(0x89e)+'期为\x20'+_0x120f95;}if(_0x120f95&&_0x120f95['match'](/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/)){if(_0xc99bc8[_0x3d7907(0x88c)](_0x3d7907(0x6c3),'VpnvV'))return _0x3d7907(0x7df)+_0x3d7907(0x41d)+_0x3d7907(0x1da)+_0x120f95;else{const _0xcfa586=_0x285663;let _0x1cf178=null;_0x5c06c5[_0x3d7907(0x6b5)+_0x3d7907(0x776)](_0xcfa586)&&(_0x1cf178=_0x2f576b[_0x3d7907(0x3db)+_0x3d7907(0x81f)+'nc'](_0xcfa586,_0x3d7907(0x218))['trim']());_0x1cf178&&SdcZIR[_0x3d7907(0x88c)](_0x1cf178,_0x1df467)&&(_0x1a24f3=_0x3d7907(0x847)+_0x3d7907(0xcd)+_0x3d7907(0x36e)+_0x1cf178+_0x3d7907(0x952)+_0x11dae9+(_0x3d7907(0x553)+_0x3d7907(0x815)+'\x0a\x20\x20\x20m'+'cport'+_0x3d7907(0xa1f)+_0x3d7907(0x517)+_0x3d7907(0x888)+'rter\x20'+'start'),_0x3111d2[_0x3d7907(0x503)](_0x3d7907(0x198)+_0x3d7907(0x247)+_0x34f492+'\x0a'));const _0x344810=_0xe4fa8c[_0x3d7907(0x7c8)+'me'](_0xcfa586);if(!_0x51c765['exist'+'sSync'](_0x344810)){const _0x1a13e1={};_0x1a13e1[_0x3d7907(0x42a)+'sive']=!![],_0x11321b[_0x3d7907(0x400)+_0x3d7907(0x16b)](_0x344810,_0x1a13e1);}_0x388c0d[_0x3d7907(0x849)+_0x3d7907(0x3d7)+_0x3d7907(0x6cf)](_0xcfa586,_0x3b3947,SdcZIR[_0x3d7907(0x298)]);}}return'';}function extractWeightInGrams(_0x46a1b7){const _0x4667ac=_0x2dbe2,_0x571f74={'ikPVU':function(_0x68ae91,_0x1d73be){return _0x68ae91!==_0x1d73be;},'MnqLR':function(_0x5afc45,_0x1b0e61){return _0x5afc45(_0x1b0e61);},'ChCMF':function(_0x437f9a,_0x3dab77){return _0x437f9a*_0x3dab77;},'VQEEj':function(_0x1395fd,_0x40e661){return _0x1395fd*_0x40e661;}};if(!_0x46a1b7||_0x571f74[_0x4667ac(0x6bb)](typeof _0x46a1b7,_0x4667ac(0x20c)+'g'))return 0x0;const _0x21f487=_0x46a1b7['match'](/(\d+\.?\d*)\s*(g|kg|斤|克|千克)/i);if(!_0x21f487)return 0x0;const _0xa48d41=_0x571f74[_0x4667ac(0x670)](parseFloat,_0x21f487[0x1]),_0x3bff0b=_0x21f487[0x2][_0x4667ac(0x2f7)+_0x4667ac(0x1cb)+'e']();switch(_0x3bff0b){case'g':case'克':return _0xa48d41;case'kg':case'千克':return _0x571f74[_0x4667ac(0x404)](_0xa48d41,0x3e8);case'斤':return _0x571f74[_0x4667ac(0x347)](_0xa48d41,0x1f4);default:return _0xa48d41;}}function calculateMarketPrice(_0x574bbd,_0x1d5e99){const _0x2fbe5c=_0x2dbe2,_0x31954a={'TLdxo':function(_0x47159d,_0x37ea70){return _0x47159d===_0x37ea70;},'VAelQ':_0x2fbe5c(0x3a1),'sRmUc':_0x2fbe5c(0x5f3)+'t','SNzTB':_0x2fbe5c(0x11a),'gtTXG':function(_0xb25a54,_0x1519c5){return _0xb25a54===_0x1519c5;},'Obtmd':function(_0x57b6bc,_0x1148e1){return _0x57b6bc===_0x1148e1;},'GStbw':_0x2fbe5c(0x545)+'ctCat'+_0x2fbe5c(0x55a),'yIFzk':'categ'+_0x2fbe5c(0x78f),'TJaqN':function(_0x23037d,_0x51b64b){return _0x23037d>_0x51b64b;},'fytmA':function(_0x3c355a,_0x5196b1){return _0x3c355a+_0x5196b1;},'BHJVB':function(_0x376a8d,_0x128905){return _0x376a8d(_0x128905);},'tEHPN':function(_0x377f00,_0x31bb14){return _0x377f00(_0x31bb14);},'ooabB':function(_0x5a9a90,_0x2d552e){return _0x5a9a90<=_0x2d552e;},'VoyIB':_0x2fbe5c(0x353),'LOmhI':_0x2fbe5c(0x711),'xAcxl':function(_0xfcbc75,_0x6679e){return _0xfcbc75*_0x6679e;}},_0x188b40=parseFloat(_0x574bbd),_0x381f06=_0x31954a[_0x2fbe5c(0x1b9)](extractWeightInGrams,_0x1d5e99);if(_0x31954a['tEHPN'](isNaN,_0x188b40)||_0x31954a[_0x2fbe5c(0x704)](_0x188b40,0x0)||_0x31954a[_0x2fbe5c(0x704)](_0x381f06,0x0)){if(_0x31954a[_0x2fbe5c(0x33a)](_0x31954a['VoyIB'],_0x31954a[_0x2fbe5c(0x97c)])){const _0x35c7f1=[];if(!_0x1ef88c[_0x2fbe5c(0x5ac)+_0x2fbe5c(0x223)+'erty'](_0x2fbe5c(0x3a1))||NzMirZ[_0x2fbe5c(0x40d)](_0xaeded4[_0x2fbe5c(0x3a1)],''))_0x35c7f1[_0x2fbe5c(0x9ef)](NzMirZ['VAelQ']);if(!_0x420ec3['hasOw'+_0x2fbe5c(0x223)+_0x2fbe5c(0x585)]('amoun'+'t')||NzMirZ[_0x2fbe5c(0x40d)](_0x503ede[_0x2fbe5c(0x5f3)+'t'],_0x5c8af5))_0x35c7f1['push'](NzMirZ[_0x2fbe5c(0x4b4)]);if(!_0x291d43[_0x2fbe5c(0x5ac)+'nProp'+'erty'](NzMirZ[_0x2fbe5c(0x832)])||NzMirZ[_0x2fbe5c(0x6c5)](_0x29dea3['price'],_0x348a8f))_0x35c7f1[_0x2fbe5c(0x9ef)](_0x2fbe5c(0x11a));if(!_0x1e0ae3[_0x2fbe5c(0x5ac)+_0x2fbe5c(0x223)+'erty'](_0x2fbe5c(0x1ad)+_0x2fbe5c(0x8d5))||NzMirZ[_0x2fbe5c(0x33a)](_0x2aa324[_0x2fbe5c(0x1ad)+_0x2fbe5c(0x8d5)],_0x4b38e6))_0x35c7f1[_0x2fbe5c(0x9ef)](_0x2fbe5c(0x1ad)+'ity');(!_0x42eea1['hasOw'+'nProp'+_0x2fbe5c(0x585)](NzMirZ[_0x2fbe5c(0x37e)])||NzMirZ['gtTXG'](_0xd47888[_0x2fbe5c(0x545)+_0x2fbe5c(0x324)+'egory'],''))&&_0x35c7f1[_0x2fbe5c(0x9ef)](NzMirZ[_0x2fbe5c(0x37e)]),(!_0x4294d2[_0x2fbe5c(0x5ac)+_0x2fbe5c(0x223)+_0x2fbe5c(0x585)](NzMirZ[_0x2fbe5c(0x572)])||_0x57d383[_0x2fbe5c(0x6dc)+_0x2fbe5c(0x78f)]==='')&&_0x35c7f1[_0x2fbe5c(0x9ef)](NzMirZ['yIFzk']),NzMirZ[_0x2fbe5c(0x41c)](_0x35c7f1[_0x2fbe5c(0x26e)+'h'],0x0)&&_0x3c4cad[_0x2fbe5c(0x9ef)]('商品'+NzMirZ[_0x2fbe5c(0x35d)](_0x1fe30c,0x1)+'('+(_0x56060e['name']||_0x2fbe5c(0x9bd))+(')缺少字段'+':\x20')+_0x35c7f1['join'](',\x20'));}else return'';}const _0x2ddfd7=_0x31954a[_0x2fbe5c(0x4a6)](_0x188b40/_0x381f06,0x1f4);return _0x2ddfd7[_0x2fbe5c(0x151)+'ed'](0x2)+(_0x2fbe5c(0x6ce)+'g');}function convertParams(_0x40e82d,_0x30e0b2){const _0x18d690=_0x2dbe2,_0x54d940={'olfoU':'packa'+_0x18d690(0x853)+'on','ZrXkF':_0x18d690(0x218),'ivwxP':_0x18d690(0x962)+'ON','gkyTQ':function(_0x23991a,_0x47fb7c,_0x1955d1){return _0x23991a(_0x47fb7c,_0x1955d1);},'WQuvC':_0x18d690(0xe4),'QyRmD':function(_0x180f9e,_0x1023b7){return _0x180f9e===_0x1023b7;},'cogNq':'yJuLW','wRlxk':_0x18d690(0x1ee),'BlADy':function(_0x51d18f,_0x5ce2db,_0x811f17){return _0x51d18f(_0x5ce2db,_0x811f17);},'fLhYc':function(_0x54b112,_0x4d7e23){return _0x54b112(_0x4d7e23);},'mYkZV':function(_0x20544f,_0x38a907,_0x1bf0b2){return _0x20544f(_0x38a907,_0x1bf0b2);},'hsNEQ':function(_0x2e223c,_0x54ca82,_0x20c38e){return _0x2e223c(_0x54ca82,_0x20c38e);},'KVNYB':function(_0x29b9a1,_0x11192e,_0xa8b802){return _0x29b9a1(_0x11192e,_0xa8b802);},'qUKHp':function(_0x1c547a,_0x260e22){return _0x1c547a(_0x260e22);},'MrbdA':function(_0xbeb537,_0x558ee9,_0x40aa41){return _0xbeb537(_0x558ee9,_0x40aa41);},'kgvoA':function(_0x5593b7,_0x19bac9,_0x25ea5e){return _0x5593b7(_0x19bac9,_0x25ea5e);},'nkHCw':function(_0x2f22f8,_0x38b14b){return _0x2f22f8<_0x38b14b;},'QSQXV':function(_0x2d03e6,_0x53cfc5){return _0x2d03e6/_0x53cfc5;},'hRNRI':_0x18d690(0x830),'OAhWx':'save_'+_0x18d690(0x5c6)+'se','fUHso':_0x18d690(0x3ef),'gWwlz':function(_0x541df0,_0x5c2b50){return _0x541df0!==_0x5c2b50;},'fPKba':_0x18d690(0x8e7)+_0x18d690(0x4a5)+_0x18d690(0x5cd)+'称)','uyQYB':_0x18d690(0x8e7)+_0x18d690(0xa3e)+'unt(金'+'额)','sbFGj':function(_0x476dad,_0x4f1bbd){return _0x476dad(_0x4f1bbd);},'QfrWl':function(_0x3321ac,_0x174ced,_0xe6b9d){return _0x3321ac(_0x174ced,_0xe6b9d);},'iWfbC':_0x18d690(0x5c6)+'se','FSjCn':'save_'+_0x18d690(0x625)+'pt','FOzKC':function(_0x307fc1,_0x4f83cc){return _0x307fc1!==_0x4f83cc;},'djKbT':_0x18d690(0x2f0),'QykgU':_0x18d690(0x679),'zzXfY':_0x18d690(0x5a0)+_0x18d690(0x417)+_0x18d690(0x66d),'EagvT':function(_0x9f605b,_0x224987){return _0x9f605b(_0x224987);},'eDLVv':function(_0x2bb75f,_0x3884ad){return _0x2bb75f(_0x3884ad);},'fqMqU':function(_0x12d320,_0x51e4dd,_0x1ce625){return _0x12d320(_0x51e4dd,_0x1ce625);},'jAWdw':function(_0x3825e2,_0x13c3be,_0x585546){return _0x3825e2(_0x13c3be,_0x585546);},'Pgbmk':function(_0x7f8160,_0x1933d1,_0x3bc60a){return _0x7f8160(_0x1933d1,_0x3bc60a);},'PXjlp':_0x18d690(0x143)+_0x18d690(0x10d)+'es','lCroO':function(_0x8a978a,_0x1c694a){return _0x8a978a(_0x1c694a);},'tsioP':_0x18d690(0x806)+_0x18d690(0x713)+'tics','IOTNB':_0x18d690(0x39d),'SILcX':function(_0x1bc747,_0x270ff9){return _0x1bc747(_0x270ff9);},'hwoBq':'save_'+_0x18d690(0x17c)+'e','UvZaI':function(_0x3d39b8,_0x4ed83a,_0x2364e2){return _0x3d39b8(_0x4ed83a,_0x2364e2);},'Yffsz':function(_0xc8f30,_0x3a6496,_0x3db0eb){return _0xc8f30(_0x3a6496,_0x3db0eb);},'QxqUL':_0x18d690(0x17c)+'e','Ifkiv':function(_0x417c6b,_0x1bd12a,_0x1935b9){return _0x417c6b(_0x1bd12a,_0x1935b9);},'yzQjD':function(_0x3fbf16,_0x30b3ae,_0x162a43){return _0x3fbf16(_0x30b3ae,_0x162a43);},'iJEcA':_0x18d690(0x542)+_0x18d690(0x65f)+'come'};switch(_0x40e82d){case _0x54d940[_0x18d690(0x14f)]:{if(_0x54d940[_0x18d690(0x77e)]===_0x18d690(0x3f8)){const _0x352010=_0x28448e[_0x18d690(0x93d)](_0x532c3c[_0x18d690(0x3db)+_0x18d690(0x81f)+'nc'](_0x1970c0[_0x18d690(0x449)](_0x318b83,YGiezF[_0x18d690(0x2e9)]),YGiezF['ZrXkF']));return _0x352010['versi'+'on'];}else{if(!_0x30e0b2[_0x18d690(0x3a1)]||_0x54d940['gWwlz'](typeof _0x30e0b2[_0x18d690(0x3a1)],'strin'+'g')||_0x30e0b2[_0x18d690(0x3a1)][_0x18d690(0x36c)]()==='')throw new Error(_0x54d940['fPKba']);if(_0x54d940[_0x18d690(0x988)](_0x30e0b2['amoun'+'t'],undefined)||_0x30e0b2[_0x18d690(0x5f3)+'t']===null)throw new Error(_0x54d940[_0x18d690(0x156)]);const _0x41f7dd=_0x54d940[_0x18d690(0x817)](sanitizeString,_0x30e0b2[_0x18d690(0x3a1)],0x64),_0x31cc79=_0x54d940[_0x18d690(0x145)](validateAmount,_0x30e0b2['amoun'+'t']);return{'name':_0x41f7dd,'originalName':_0x41f7dd,'amount':_0x31cc79,'price':_0x31cc79,'quantity':0x1,'productCategory':sanitizeString(_0x30e0b2[_0x18d690(0x545)+_0x18d690(0x324)+_0x18d690(0x55a)],0x32)||'其他','productSubCategory':_0x54d940[_0x18d690(0x2d3)](sanitizeString,_0x30e0b2[_0x18d690(0x545)+_0x18d690(0x357)+_0x18d690(0x899)+_0x18d690(0x78f)],0x32)||'','category':_0x54d940[_0x18d690(0x122)](sanitizeString,_0x30e0b2[_0x18d690(0x6dc)+'ory'],0x32)||'其他','unit':_0x54d940[_0x18d690(0x76e)](sanitizeString,_0x30e0b2[_0x18d690(0x465)],0x14)||'','weight':'','marketPrice':sanitizeString(_0x30e0b2[_0x18d690(0xa47)+_0x18d690(0x244)+'e'],0x32)||'','store':sanitizeString(_0x30e0b2[_0x18d690(0x837)],0x64)||'','date':_0x54d940[_0x18d690(0x145)](formatDateWithTimezone,_0x30e0b2[_0x18d690(0x8ef)]),'transactionType':_0x54d940['iWfbC'],'note':_0x54d940['KVNYB'](sanitizeString,_0x30e0b2[_0x18d690(0x436)],0x1f4)||'','rawInput':sanitizeString(_0x30e0b2['rawIn'+_0x18d690(0x8ca)],0x3e8)||'','agentType':_0x54d940[_0x18d690(0x7f3)](sanitizeString,_0x30e0b2[_0x18d690(0xa06)+_0x18d690(0x949)],0x32)||'','apiProvider':_0x54d940[_0x18d690(0x122)](sanitizeString,_0x30e0b2[_0x18d690(0xf2)+_0x18d690(0x42c)+'r'],0x32)||'','mcpVersion':MCP_VERSION,'source':_0x18d690(0x542)+_0x18d690(0x20f)+_0x18d690(0x419),'_flowmate':_0x30e0b2['_flow'+_0x18d690(0x743)]};}}case _0x54d940['FSjCn']:{if(_0x54d940[_0x18d690(0x78b)]('JPKNY',_0x54d940[_0x18d690(0x2d0)])){let _0x37074d=_0x30e0b2['items'];if(_0x54d940[_0x18d690(0x988)](typeof _0x37074d,'strin'+'g'))try{_0x37074d=JSON[_0x18d690(0x93d)](_0x37074d);}catch(_0x25e978){throw new Error(_0x18d690(0x5a0)+_0x18d690(0x1bc)+_0x18d690(0x672)+'是数组或\x20'+_0x18d690(0x6a1)+_0x18d690(0x788));}if(!Array[_0x18d690(0x45b)+'ay'](_0x37074d)){if(_0x54d940[_0x18d690(0xdd)](_0x54d940['QykgU'],_0x54d940['QykgU'])){const _0x42af40=_0x2eeec6[_0x18d690(0x449)](_0x311791,YGiezF[_0x18d690(0x469)]);return _0xf44a3a[_0x18d690(0x3db)+'ileSy'+'nc'](_0x42af40,YGiezF[_0x18d690(0x199)])[_0x18d690(0x36c)]();}else throw new Error(_0x54d940['zzXfY']);}return{'items':_0x37074d[_0x18d690(0x8e0)]((_0xd4edca,_0x4c3a6e)=>{const _0x473757=_0x18d690;if(_0x54d940[_0x473757(0x988)](_0x54d940[_0x473757(0x7e2)],_0x54d940[_0x473757(0x488)])){const _0x1147cf=YGiezF[_0x473757(0x817)](_0x4fbe05,_0x3715ca[_0x473757(0x786)+'descr'+_0x473757(0x1aa)+'n'],_0x1c6110['now']());_0x511d9b[_0x473757(0x8ef)]=_0x1147cf,_0x43ccbc[_0x473757(0x503)](_0x473757(0xa1c)+'_inco'+_0x473757(0x582)+_0x473757(0x742)+':\x20'+_0x44720f[_0x473757(0x786)+_0x473757(0x5d7)+'iptio'+'n']+_0x473757(0x952)+_0x1147cf+'\x20('+new _0x370aae(_0x1147cf)[_0x473757(0x886)+_0x473757(0x85e)+'ring'](YGiezF[_0x473757(0x190)])+')');}else{const _0x34d565=_0x54d940['BlADy'](sanitizeString,_0xd4edca[_0x473757(0x37f)+'t'],0x32),_0x2805e5=_0x54d940[_0x473757(0x53e)](validateAmount,_0xd4edca[_0x473757(0x5f3)+'t']),_0x2ae30a=sanitizeString(_0xd4edca['marke'+_0x473757(0x244)+'e'],0x32)||_0x54d940['BlADy'](calculateMarketPrice,_0x2805e5,_0x34d565);return{'itemIndex':_0x4c3a6e,'name':_0x54d940[_0x473757(0x76e)](sanitizeString,_0xd4edca[_0x473757(0x3a1)],0x64),'originalName':sanitizeString(_0xd4edca[_0x473757(0x821)+_0x473757(0xa09)+'me'],0xc8)||_0x54d940[_0x473757(0x7f3)](sanitizeString,_0xd4edca[_0x473757(0x3a1)],0x64),'amount':_0x2805e5,'productCategory':_0x54d940[_0x473757(0x122)](sanitizeString,_0xd4edca[_0x473757(0x545)+_0x473757(0x324)+'egory'],0x32)||'其他','productSubCategory':_0x54d940['BlADy'](sanitizeString,_0xd4edca[_0x473757(0x545)+_0x473757(0x357)+_0x473757(0x899)+_0x473757(0x78f)],0x32)||'','category':sanitizeString(_0xd4edca[_0x473757(0x6dc)+_0x473757(0x78f)],0x32)||'其他','transactionType':_0x54d940['KVNYB'](sanitizeString,_0xd4edca[_0x473757(0x43a)+_0x473757(0x779)+'nType'],0x32)||_0x473757(0x5c6)+'se','price':_0x54d940[_0x473757(0xed)](validateAmount,_0xd4edca[_0x473757(0x11a)]),'quantity':_0xd4edca[_0x473757(0x1ad)+_0x473757(0x8d5)]?String(_0xd4edca[_0x473757(0x1ad)+_0x473757(0x8d5)])[_0x473757(0x7f4)+_0x473757(0x931)](0x0,0x14):'1','unit':_0x54d940['MrbdA'](sanitizeString,_0xd4edca[_0x473757(0x465)],0x14),'weight':_0x34d565,'marketPrice':_0x2ae30a,'note':_0x54d940[_0x473757(0x12e)](sanitizeString,_0xd4edca['note'],0x1f4)};}}),'store':_0x54d940[_0x18d690(0x12e)](sanitizeString,_0x30e0b2[_0x18d690(0x837)],0x64),'receiptNo':sanitizeString(_0x30e0b2[_0x18d690(0x625)+'ptNo'],0x32),'totalAmount':_0x54d940[_0x18d690(0x8ba)](validateAmount,_0x30e0b2[_0x18d690(0x86e)+_0x18d690(0xa14)+'t']),'originalAmount':validateAmount(_0x30e0b2[_0x18d690(0x821)+_0x18d690(0x9f2)+_0x18d690(0x481)]),'discountAmount':_0x54d940[_0x18d690(0x53e)](validateAmount,_0x30e0b2[_0x18d690(0x5e9)+'untAm'+_0x18d690(0x481)]),'actualAmount':_0x54d940[_0x18d690(0x1e4)](validateAmount,_0x30e0b2[_0x18d690(0x26b)+_0x18d690(0x4df)+'nt']),'paymentMethod':_0x54d940[_0x18d690(0x12e)](sanitizeString,_0x30e0b2[_0x18d690(0x96)+_0x18d690(0x846)+_0x18d690(0x5b1)],0x32),'memberCardNo':_0x54d940[_0x18d690(0x405)](sanitizeString,_0x30e0b2[_0x18d690(0x87a)+_0x18d690(0x3b5)+'No'],0x32),'currentPoints':_0x54d940[_0x18d690(0x8ba)](parseInt,_0x30e0b2[_0x18d690(0x5e3)+_0x18d690(0x111)+_0x18d690(0x312)])||0x0,'totalPoints':_0x54d940['eDLVv'](parseInt,_0x30e0b2[_0x18d690(0x86e)+'Point'+'s'])||0x0,'date':_0x54d940['qUKHp'](formatDateWithTimezone,_0x30e0b2[_0x18d690(0x8ef)]),'rawInput':_0x54d940[_0x18d690(0x71e)](sanitizeString,_0x30e0b2[_0x18d690(0x7ee)+_0x18d690(0x8ca)],0x7d0),'agentType':_0x54d940[_0x18d690(0x122)](sanitizeString,_0x30e0b2['agent'+_0x18d690(0x949)],0x32)||'','apiProvider':sanitizeString(_0x30e0b2[_0x18d690(0xf2)+'ovide'+'r'],0x32)||'','mcpVersion':MCP_VERSION,'source':'mcp_r'+_0x18d690(0x9ec)+'t','storeCategory':_0x54d940['Pgbmk'](sanitizeString,_0x30e0b2[_0x18d690(0x837)+_0x18d690(0x899)+'ory'],0x32)||'其他','storeSubCategory':sanitizeString(_0x30e0b2[_0x18d690(0x837)+'SubCa'+_0x18d690(0x731)+'y'],0x32)||'其他','_flowmate':_0x30e0b2[_0x18d690(0x9b8)+_0x18d690(0x743)]};}else{const _0x4d765c=YGiezF['nkHCw'](_0x185fab[_0x18d690(0x798)+_0x18d690(0x350)+'s'],0x3c)?_0x5bbc5a[_0x18d690(0x798)+_0x18d690(0x350)+'s']+'\x20秒':_0x21843b['ceil'](YGiezF['QSQXV'](_0x28c16f[_0x18d690(0x798)+_0x18d690(0x350)+'s'],0x3c))+'\x20分钟',_0x515510={};return _0x515510[_0x18d690(0x8ce)+'ss']=![],_0x515510[_0x18d690(0x617)]=_0x18d690(0x30e)+_0x18d690(0x8cc)+_0x18d690(0x219)+'用\x20'+_0xa5c89c[_0x18d690(0x43b)+_0x18d690(0x315)+'s']+_0x18d690(0x907)+_0x4d765c+_0x18d690(0x69d),_0x515510[_0x18d690(0x163)]=0x1ad,{'content':[{'type':YGiezF[_0x18d690(0x795)],'text':_0x12373e[_0x18d690(0x20c)+_0x18d690(0x222)](_0x515510)}],'isError':!![]};}}case _0x54d940[_0x18d690(0x2a1)]:{const _0x22e835=_0x30e0b2[_0x18d690(0x2ed)+'d']?_0x54d940['sbFGj'](parsePeriod,_0x30e0b2['perio'+'d']):{};return{'startDate':_0x22e835['start'+_0x18d690(0x479)]||_0x30e0b2[_0x18d690(0xa05)+_0x18d690(0x479)],'endDate':_0x22e835[_0x18d690(0x904)+'te']||_0x30e0b2[_0x18d690(0x904)+'te'],'limit':Math[_0x18d690(0x7d5)](_0x54d940[_0x18d690(0x4d5)](parseInt,_0x30e0b2[_0x18d690(0x20d)])||0xa,0x64),'source':_0x30e0b2['sourc'+'e'],'category':_0x30e0b2[_0x18d690(0x6dc)+_0x18d690(0x78f)],'store':_0x30e0b2[_0x18d690(0x837)]};}case _0x54d940[_0x18d690(0x6d9)]:{if(_0x54d940['QyRmD'](_0x18d690(0x39d),_0x54d940[_0x18d690(0x676)])){const _0x22fe1b=_0x30e0b2[_0x18d690(0x2ed)+'d']?_0x54d940[_0x18d690(0x145)](parsePeriod,_0x30e0b2[_0x18d690(0x2ed)+'d']):{};return{'startDate':_0x22fe1b['start'+_0x18d690(0x479)]||(_0x30e0b2[_0x18d690(0x5b4)+_0x18d690(0x2b7)]?_0x30e0b2[_0x18d690(0x5b4)+_0x18d690(0x2b7)]+_0x18d690(0x5c2):undefined),'endDate':_0x22fe1b[_0x18d690(0x904)+'te']||(_0x30e0b2[_0x18d690(0x5b4)+_0x18d690(0x2b7)]?_0x54d940[_0x18d690(0xf5)](getMonthEndDate,_0x30e0b2['yearM'+_0x18d690(0x2b7)]):undefined),'type':_0x30e0b2[_0x18d690(0x7a0)],'includeInsights':_0x30e0b2['inclu'+_0x18d690(0x16d)+_0x18d690(0x413)]};}else throw new _0x2ea4d9(_0x18d690(0x175)+'最大允许\x20'+_0x396996+_0x18d690(0x98d));}case _0x54d940[_0x18d690(0x60b)]:return{'name':_0x54d940['BlADy'](sanitizeString,_0x30e0b2[_0x18d690(0x3a1)],0x64),'amount':validateAmount(_0x30e0b2[_0x18d690(0x5f3)+'t']),'category':_0x54d940['UvZaI'](sanitizeString,_0x30e0b2[_0x18d690(0x6dc)+'ory'],0x32)||'其他','store':_0x54d940['Yffsz'](sanitizeString,_0x30e0b2['store'],0x64),'date':_0x54d940['sbFGj'](formatDateWithTimezone,_0x30e0b2['date']),'note':_0x54d940[_0x18d690(0x1d2)](sanitizeString,_0x30e0b2[_0x18d690(0x436)],0x1f4),'transactionType':_0x54d940['QxqUL'],'rawInput':_0x54d940['UvZaI'](sanitizeString,_0x30e0b2[_0x18d690(0x7ee)+'put'],0x3e8),'agentType':_0x54d940[_0x18d690(0x15c)](sanitizeString,_0x30e0b2[_0x18d690(0xa06)+_0x18d690(0x949)],0x32)||'','apiProvider':_0x54d940[_0x18d690(0xb5)](sanitizeString,_0x30e0b2[_0x18d690(0xf2)+'ovide'+'r'],0x32)||'','mcpVersion':MCP_VERSION,'source':_0x54d940[_0x18d690(0x2e3)],'_flowmate':_0x30e0b2[_0x18d690(0x9b8)+'mate']};default:return _0x30e0b2;}}function getMonthEndDate(_0x291831){const _0x408096=_0x2dbe2,[_0x33ca26,_0x3f5daa]=_0x291831[_0x408096(0x3b6)]('-')[_0x408096(0x8e0)](Number),_0x48bf3f=new Date(_0x33ca26,_0x3f5daa,0x0)[_0x408096(0x7ca)+'te']();return _0x291831+'-'+_0x48bf3f;}function parsePeriod(_0x431ae5){const _0x379e65=_0x2dbe2,_0x4c7ade={'cahBn':function(_0x393215,_0x2c3278){return _0x393215===_0x2c3278;},'LGSLp':function(_0x24e069,_0x4670f3){return _0x24e069-_0x4670f3;},'Jwqtk':function(_0x551e99,_0x21d2b0){return _0x551e99(_0x21d2b0);},'fMmKf':'last_'+_0x379e65(0x7bb),'HLhUC':function(_0x6789cb,_0x13e5f8){return _0x6789cb-_0x13e5f8;},'ttetf':function(_0x5726ec,_0x5096d4){return _0x5726ec-_0x5096d4;},'TpNYV':function(_0x13dbde,_0x2ea803){return _0x13dbde(_0x2ea803);},'XpsUA':'this_'+_0x379e65(0x4ce),'yxUhk':function(_0x462e86,_0x3b18a2){return _0x462e86!==_0x3b18a2;},'qbTCH':'oAdfZ','nWuyM':_0x379e65(0x1dd),'KYNim':function(_0x3341b3,_0x2a6fd1){return _0x3341b3(_0x2a6fd1);},'TleJB':_0x379e65(0x887)+'month'},_0x4e663b=new Date(),_0x2cfebf=_0x4e663b[_0x379e65(0x534)+_0x379e65(0x153)+'r'](),_0x378108=_0x4e663b['getMo'+'nth'](),_0x5c6b27=_0x4e663b[_0x379e65(0x7ca)+'te'](),_0x14b8df=_0x4e663b[_0x379e65(0x7ca)+'y']();let _0x980a40,_0x4df790;switch(_0x431ae5){case _0x379e65(0x8af)+_0x379e65(0x7bb):{const _0x549f03=_0x4c7ade['cahBn'](_0x14b8df,0x0)?0x6:_0x4c7ade[_0x379e65(0x281)](_0x14b8df,0x1),_0x4eedd1=new Date(_0x2cfebf,_0x378108,_0x4c7ade[_0x379e65(0x281)](_0x5c6b27,_0x549f03));_0x980a40=_0x4c7ade['Jwqtk'](formatDateISO,_0x4eedd1),_0x4df790=_0x4c7ade[_0x379e65(0x2da)](formatDateISO,_0x4e663b);break;}case _0x4c7ade[_0x379e65(0x2c4)]:{const _0x8d50d3=_0x14b8df===0x0?0x6:_0x14b8df-0x1,_0x3b962d=new Date(_0x2cfebf,_0x378108,_0x4c7ade[_0x379e65(0x21a)](_0x5c6b27,_0x8d50d3)-0x7),_0x1c6264=new Date(_0x2cfebf,_0x378108,_0x4c7ade[_0x379e65(0x641)](_0x5c6b27-_0x8d50d3,0x1));_0x980a40=_0x4c7ade[_0x379e65(0x70d)](formatDateISO,_0x3b962d),_0x4df790=formatDateISO(_0x1c6264);break;}case _0x4c7ade[_0x379e65(0x3f7)]:{if(_0x4c7ade[_0x379e65(0x15a)](_0x4c7ade[_0x379e65(0x5dd)],_0x4c7ade['nWuyM'])){const _0x4cd0d8=new Date(_0x2cfebf,_0x378108,0x1);_0x980a40=_0x4c7ade[_0x379e65(0x5fb)](formatDateISO,_0x4cd0d8),_0x4df790=formatDateISO(_0x4e663b);break;}else _0x21dcd0['error'](_0x379e65(0x891)+_0x379e65(0x52a)+_0x379e65(0x9d4),_0x3b9387);}case _0x4c7ade[_0x379e65(0x5a7)]:{const _0x168f4c=new Date(_0x2cfebf,_0x4c7ade[_0x379e65(0x641)](_0x378108,0x1),0x1),_0x5548e8=new Date(_0x2cfebf,_0x378108,0x0);_0x980a40=formatDateISO(_0x168f4c),_0x4df790=_0x4c7ade[_0x379e65(0x2da)](formatDateISO,_0x5548e8);break;}default:const _0x3632a8={};_0x3632a8[_0x379e65(0xa05)+_0x379e65(0x479)]=undefined,_0x3632a8['endDa'+'te']=undefined;return _0x3632a8;}const _0x2931e6={};return _0x2931e6['start'+_0x379e65(0x479)]=_0x980a40,_0x2931e6[_0x379e65(0x904)+'te']=_0x4df790,_0x2931e6;}function formatDateISO(_0x3b2f52){const _0x36121d=_0x2dbe2,_0x3c9d22={'hCrkC':function(_0x425ea7,_0x25c8fd){return _0x425ea7(_0x25c8fd);},'zAqAP':function(_0x374868,_0x58ed2a){return _0x374868+_0x58ed2a;}},_0x2f30af=_0x3b2f52[_0x36121d(0x534)+'llYea'+'r'](),_0x374965=_0x3c9d22[_0x36121d(0x6b6)](String,_0x3c9d22['zAqAP'](_0x3b2f52[_0x36121d(0x3eb)+'nth'](),0x1))['padSt'+_0x36121d(0x3ac)](0x2,'0'),_0xb5b7db=_0x3c9d22[_0x36121d(0x6b6)](String,_0x3b2f52[_0x36121d(0x7ca)+'te']())[_0x36121d(0x8ad)+_0x36121d(0x3ac)](0x2,'0');return _0x2f30af+'-'+_0x374965+'-'+_0xb5b7db;}const _0x10a45b={};_0x10a45b[_0x2dbe2(0x4e5)+'horiz'+'ed']=![],_0x10a45b[_0x2dbe2(0x58f)+_0x2dbe2(0x29d)]=![],_0x10a45b[_0x2dbe2(0x302)+'ode']=null,_0x10a45b[_0x2dbe2(0x24a)+_0x2dbe2(0x3c2)]=null,_0x10a45b[_0x2dbe2(0x617)]=null;let authState=_0x10a45b;async function getAgentName(){const _0xee6a1d=_0x2dbe2,_0x506a1a={'bcGGa':function(_0x5a099b,_0x5c76b8){return _0x5a099b(_0x5c76b8);},'vgVhL':function(_0x59beb1,_0x75879){return _0x59beb1!==_0x75879;},'QsjXB':_0xee6a1d(0x8c1)+'手'};try{if(oauthManager&&oauthManager['token'+'Stora'+'ge']){const _0x6472e1=await oauthManager[_0xee6a1d(0x2df)+_0xee6a1d(0x4f0)+'ge'][_0xee6a1d(0xe0)+_0xee6a1d(0x9a2)+'ame'](),_0x287c71=await oauthManager[_0xee6a1d(0x2df)+'Stora'+'ge'][_0xee6a1d(0x50c)+'evice'+_0xee6a1d(0x8aa)]();if(_0x287c71){const _0x578ab4=await _0x506a1a[_0xee6a1d(0x9c6)](fetchAgentNameFromCloud,_0x287c71);if(_0x578ab4&&_0x506a1a[_0xee6a1d(0xd4)](_0x578ab4,_0x6472e1))return await oauthManager[_0xee6a1d(0x2df)+'Stora'+'ge']['saveA'+_0xee6a1d(0x9a2)+'ame'](_0x578ab4),_0x578ab4;}return _0x6472e1;}}catch(_0x518f59){}return _0x506a1a[_0xee6a1d(0x9de)];}async function fetchAgentNameFromCloud(_0x141f23){const _0x216208=_0x2dbe2,_0x3ee9fb={'wIYKo':function(_0x3d7351,_0x3c786c,_0x5db968){return _0x3d7351(_0x3c786c,_0x5db968);},'KHJWs':_0x216208(0x609),'KCVJc':_0x216208(0x3bf)+_0x216208(0x30b)+_0x216208(0x19e)+'n','AeIPM':_0x216208(0x9cf)+_0x216208(0x1ab)+_0x216208(0xaf)};try{const _0x35b3ae={};_0x35b3ae[_0x216208(0x24a)+'eCode']=_0x141f23;const _0xeb8b80=await _0x3ee9fb[_0x216208(0x8da)](fetch,MCP_OAUTH_URL,{'method':_0x3ee9fb[_0x216208(0x7ec)],'headers':{'Content-Type':_0x3ee9fb[_0x216208(0x996)]},'body':JSON[_0x216208(0x20c)+_0x216208(0x222)]({'tool':_0x3ee9fb['AeIPM'],'params':_0x35b3ae})}),_0x59122b=await _0xeb8b80[_0x216208(0x259)]();if(_0x59122b['succe'+'ss']&&_0x59122b['data']['agent'+'Name'])return _0x59122b[_0x216208(0x2e6)][_0x216208(0xa06)+_0x216208(0x880)];}catch(_0x2098ba){}return null;}async function main(){const _0x45a8ee=_0x2dbe2,_0x26b56d={'RuucM':function(_0x4d5cce){return _0x4d5cce();}};await initConfig(),await _0x26b56d[_0x45a8ee(0x414)](initOAuthManager);const _0x1bf73e=new StdioServerTransport();await server[_0x45a8ee(0x4f8)+'ct'](_0x1bf73e);}async function startAuthFlow(){const _0x361678=_0x2dbe2,_0x585575={'IXDRS':function(_0x545877,_0x4546c7){return _0x545877!==_0x4546c7;},'OJyQG':_0x361678(0x20c)+'g','IibCh':function(_0x29202,_0x2d6d5c){return _0x29202>_0x2d6d5c;},'WIwhs':function(_0x20fb4f,_0x310a18){return _0x20fb4f+_0x310a18;},'hUvRk':_0x361678(0x3e5)+_0x361678(0x4b3)+_0x361678(0x3c4)+'码','wREqd':'ieWsk','yurQb':_0x361678(0x5bb)+_0x361678(0x4c3)+'4','lWMWw':function(_0x1c73a7,_0x4de064,_0x4f23bc){return _0x1c73a7(_0x4de064,_0x4f23bc);},'leJnw':_0x361678(0x492)+'程序中完成'+_0x361678(0x619)+'再次调用','jEoJp':_0x361678(0x270)+_0x361678(0x744)};try{const _0x5c53cf=await oauthManager[_0x361678(0xe0)+_0x361678(0xda)+_0x361678(0x612)]();if(_0x5c53cf&&_0x5c53cf['userC'+_0x361678(0x464)]){if(oauthManager[_0x361678(0x4e5)+'hStat'+_0x361678(0x87f)+_0x361678(0xd6)](_0x5c53cf))console[_0x361678(0x617)](_0x585575[_0x361678(0x7ce)]),await oauthManager[_0x361678(0x314)+_0x361678(0x69c)+_0x361678(0x4b6)]();else{if(_0x585575[_0x361678(0x63e)](_0x585575['wREqd'],_0x585575[_0x361678(0x24e)]))_0x585575[_0x361678(0x63e)](_0x444876[_0x2fb753],_0x295206)&&(typeof _0x43f71e[_0x48ea2f]===_0x585575[_0x361678(0x9a0)]&&_0x585575[_0x361678(0x687)](_0x1c7d15[_0x30a238][_0x361678(0x26e)+'h'],0xc8)?_0x274742[_0x57f168]=_0x585575[_0x361678(0x696)](_0x199a89[_0x2cf7eb][_0x361678(0x7f4)+_0x361678(0x931)](0x0,0xc8),'...'):_0x3774f8[_0x428794]=_0xa94bc2[_0x52cc11]);else{const _0x309041=_0x585575['yurQb']['split']('|');let _0x49512e=0x0;while(!![]){switch(_0x309041[_0x49512e++]){case'0':authState[_0x361678(0x302)+_0x361678(0x464)]=_0x5c53cf[_0x361678(0x302)+'ode'];continue;case'1':console[_0x361678(0x617)](_0x361678(0x5f9)+_0x361678(0x868)+'码:'+_0x5c53cf[_0x361678(0x302)+_0x361678(0x464)]);continue;case'2':_0x585575[_0x361678(0x10a)](pollForAuthInBackground,_0x5c53cf[_0x361678(0x24a)+_0x361678(0x3c2)],0x1388);continue;case'3':authState[_0x361678(0x58f)+_0x361678(0x29d)]=!![];continue;case'4':return;case'5':authState[_0x361678(0x24a)+_0x361678(0x3c2)]=_0x5c53cf[_0x361678(0x24a)+_0x361678(0x3c2)];continue;}break;}}}}const _0xffb59c=await oauthManager[_0x361678(0x33b)+_0x361678(0x958)+'iceCo'+'de'](![]);authState[_0x361678(0x24a)+'eCode']=_0xffb59c[_0x361678(0x24a)+_0x361678(0x3c2)],authState['userC'+'ode']=_0xffb59c[_0x361678(0x302)+'ode'],authState[_0x361678(0x58f)+'ting']=!![],await oauthManager[_0x361678(0x7e4)+_0x361678(0xda)+'ate']({'deviceCode':_0xffb59c['devic'+_0x361678(0x3c2)],'userCode':_0xffb59c[_0x361678(0x302)+'ode'],'expiresAt':_0x585575['WIwhs'](Date[_0x361678(0x104)](),_0xffb59c[_0x361678(0x6bf)+_0x361678(0x3b7)]*0x3e8)}),console['error'](_0x361678(0x2fe)+':'+_0xffb59c[_0x361678(0x302)+_0x361678(0x464)]),console[_0x361678(0x617)](_0x585575[_0x361678(0x9ad)]),_0x585575[_0x361678(0x10a)](pollForAuthInBackground,_0xffb59c[_0x361678(0x24a)+_0x361678(0x3c2)],0x1388);}catch(_0x51d07c){authState[_0x361678(0x617)]=_0x51d07c['messa'+'ge'],authState[_0x361678(0x58f)+_0x361678(0x29d)]=![],console[_0x361678(0x617)](_0x585575[_0x361678(0x755)],_0x51d07c[_0x361678(0x715)+'ge']);}}async function pollForAuthInBackground(_0x1f7167,_0x54bc77){const _0x314a09=_0x2dbe2,_0xcb37af={'YGtyS':_0x314a09(0x5a0)+_0x314a09(0x1bc)+'错误:必须'+_0x314a09(0x6e2)+'JSON\x20'+_0x314a09(0x788),'ojSiv':_0x314a09(0x6f4)+_0x314a09(0x50f)+_0x314a09(0x6a7)+_0x314a09(0x39e),'DBDgG':function(_0x371ac0,_0x96759f){return _0x371ac0<_0x96759f;},'LvvyE':function(_0x18284e,_0x5c5f57){return _0x18284e!==_0x5c5f57;},'mhxZz':_0x314a09(0x363),'EetHf':'IzJJj','oaWzj':function(_0x16c05f,_0x12f9e2){return _0x16c05f(_0x12f9e2);},'EWRaV':'4|8|7'+'|9|5|'+_0x314a09(0x64a)+'|1|0','CPuTB':_0x314a09(0x714)+_0x314a09(0x774)+_0x314a09(0x6c2)+'功能','RxdpM':_0x314a09(0x8c1)+'手','YeWuP':function(_0x278b64,_0xca4b6){return _0x278b64(_0xca4b6);},'JBOVj':'qlZKx','JHxLY':_0x314a09(0x6bf)+'ed','RXZtj':_0x314a09(0x14a)+'id','nAJVe':_0x314a09(0x2cb)+_0x314a09(0x294)+_0x314a09(0xbb)+_0x314a09(0x8d6)+'验证码'},_0x609142=0x24;let _0x5d479f=0x0;console[_0x314a09(0x617)](_0xcb37af['ojSiv']);while(_0xcb37af[_0x314a09(0x7d9)](_0x5d479f,_0x609142)&&authState[_0x314a09(0x58f)+_0x314a09(0x29d)]){if(_0xcb37af[_0x314a09(0x84e)](_0xcb37af['mhxZz'],_0xcb37af[_0x314a09(0x8c6)])){_0x5d479f++,await _0xcb37af['oaWzj'](delay,_0x54bc77);try{const _0x2cfecb=await oauthManager['pollF'+_0x314a09(0x780)+'enOnc'+'e'](_0x1f7167);if(_0x2cfecb){const _0x5391c4=_0xcb37af[_0x314a09(0x29f)][_0x314a09(0x3b6)]('|');let _0xbbc3f1=0x0;while(!![]){switch(_0x5391c4[_0xbbc3f1++]){case'0':return;case'1':console[_0x314a09(0x617)](_0xcb37af[_0x314a09(0x125)]);continue;case'2':await oauthManager['clear'+_0x314a09(0x69c)+'tate']();continue;case'3':await oauthManager[_0x314a09(0x2df)+'Stora'+'ge'][_0x314a09(0x7e4)+_0x314a09(0x9a2)+'ame'](_0xcb37af['RxdpM']);continue;case'4':_0xcb37af[_0x314a09(0x13d)](setCachedToken,_0x2cfecb[_0x314a09(0x63d)+'sToke'+'n']);continue;case'5':await oauthManager[_0x314a09(0x2df)+_0x314a09(0x4f0)+'ge'][_0x314a09(0x91f)](_0x2cfecb);continue;case'6':await oauthManager[_0x314a09(0x2df)+'Stora'+'ge'][_0x314a09(0x53c)+_0x314a09(0xa30)+_0x314a09(0x8aa)](authState[_0x314a09(0x24a)+_0x314a09(0x3c2)]);continue;case'7':authState['isAut'+'horiz'+'ed']=!![];continue;case'8':tokenExpireTime=_0x2cfecb[_0x314a09(0x6bf)+_0x314a09(0x6f0)];continue;case'9':authState[_0x314a09(0x58f)+_0x314a09(0x29d)]=![];continue;}break;}}}catch(_0x4fe980){if(_0x314a09(0x429)!==_0xcb37af[_0x314a09(0x1e3)])return{};else(_0x4fe980[_0x314a09(0x715)+'ge'][_0x314a09(0x7c9)+'des'](_0xcb37af['JHxLY'])||_0x4fe980['messa'+'ge'][_0x314a09(0x7c9)+_0x314a09(0x7a8)](_0xcb37af[_0x314a09(0x736)]))&&(authState[_0x314a09(0x617)]=_0x4fe980[_0x314a09(0x715)+'ge'],authState[_0x314a09(0x58f)+'ting']=![],console[_0x314a09(0x617)](_0x314a09(0xe9)+'败:',_0x4fe980[_0x314a09(0x715)+'ge']),process['exit'](0x1));}}else throw new _0x5d5de1(SQtAEf[_0x314a09(0x583)]);}authState['isWai'+_0x314a09(0x29d)]=![],console[_0x314a09(0x617)](_0xcb37af[_0x314a09(0x894)]);}function delay(_0x244134){return new Promise(_0x394631=>setTimeout(_0x394631,_0x244134));}function sanitizeLogParams(_0x2402d){const _0x3b1a52=_0x2dbe2,_0x2eb248={'XPOgh':function(_0x1e379a,_0x296bd9){return _0x1e379a(_0x296bd9);},'bfXjr':function(_0x4ea078,_0x2965ef){return _0x4ea078<=_0x2965ef;},'ThgMe':function(_0x5159b0,_0x3c71fa){return _0x5159b0!==_0x3c71fa;},'vGcrT':_0x3b1a52(0x249)+'t','OGqdT':_0x3b1a52(0x3a1),'PFpJa':'amoun'+'t','jpiaD':_0x3b1a52(0x837),'aPIBx':_0x3b1a52(0x8ef),'chtkl':'perio'+'d','aEdhT':_0x3b1a52(0x8e4)+'t','iAyoX':'types','gjpek':'skip','tryir':_0x3b1a52(0x9cc)+'nt','quHFk':_0x3b1a52(0x25e)+_0x3b1a52(0x73b),'CdMUj':'yearM'+_0x3b1a52(0x2b7),'seQEp':_0x3b1a52(0xa05)+_0x3b1a52(0x479),'aunuW':_0x3b1a52(0x7c9)+_0x3b1a52(0xb6)+_0x3b1a52(0x186),'cvDMF':function(_0x451420,_0x4b6e84){return _0x451420===_0x4b6e84;},'jFNKV':_0x3b1a52(0x20c)+'g','fzmcc':function(_0x3fdadd,_0x52b130){return _0x3fdadd!==_0x52b130;},'DrycG':_0x3b1a52(0x8b8),'uqgRj':_0x3b1a52(0x2ae),'CgcPi':function(_0x4b11eb,_0x195c04){return _0x4b11eb+_0x195c04;},'HdDaI':function(_0x1c74fe,_0x443b0a){return _0x1c74fe===_0x443b0a;},'YQMlX':_0x3b1a52(0x168),'lEgor':_0x3b1a52(0x446)};if(!_0x2402d||_0x2eb248[_0x3b1a52(0x45d)](typeof _0x2402d,_0x2eb248['vGcrT']))return{};const _0x3e3a84={},_0x2087ab=[_0x2eb248[_0x3b1a52(0x376)],_0x2eb248['PFpJa'],_0x3b1a52(0x6dc)+_0x3b1a52(0x78f),_0x2eb248[_0x3b1a52(0x63b)],_0x2eb248[_0x3b1a52(0x13a)],_0x2eb248[_0x3b1a52(0x43d)],_0x2eb248['aEdhT'],_0x2eb248['iAyoX'],_0x3b1a52(0x20d),_0x2eb248[_0x3b1a52(0x596)],_0x2eb248[_0x3b1a52(0x685)],_0x2eb248[_0x3b1a52(0x706)],_0x2eb248[_0x3b1a52(0x1e2)],_0x2eb248['seQEp'],'endDa'+'te',_0x2eb248[_0x3b1a52(0x94)]];for(const _0x54ee0e of _0x2087ab){if(_0x2402d[_0x54ee0e]!==undefined){if(_0x2eb248[_0x3b1a52(0x8dc)](typeof _0x2402d[_0x54ee0e],_0x2eb248[_0x3b1a52(0x7d4)])&&_0x2402d[_0x54ee0e][_0x3b1a52(0x26e)+'h']>0xc8){if(_0x2eb248[_0x3b1a52(0x9c9)](_0x2eb248[_0x3b1a52(0x8ac)],_0x2eb248[_0x3b1a52(0x8ab)]))_0x3e3a84[_0x54ee0e]=_0x2eb248[_0x3b1a52(0x820)](_0x2402d[_0x54ee0e][_0x3b1a52(0x7f4)+_0x3b1a52(0x931)](0x0,0xc8),_0x3b1a52(0x85a));else{const _0x395c0c=_0x1285f9(_0x4e5c75);return uGRGqq['XPOgh'](_0x4fdbd2,_0x395c0c)||uGRGqq[_0x3b1a52(0x5a8)](_0x395c0c,0x0)?0x1:_0x395c0c;}}else _0x2eb248[_0x3b1a52(0x92e)](_0x2eb248[_0x3b1a52(0x6d0)],_0x2eb248[_0x3b1a52(0x323)])?(_0x129521[_0x5036f7]=_0x3c3f5d[_0x3b1a52(0x2e6)][_0x7e9bbb],_0x4479b4['error']('✅\x20补全字'+'段:'+_0x2b47e8+_0x3b1a52(0x699)+_0x275bd9[_0x15377a])):_0x3e3a84[_0x54ee0e]=_0x2402d[_0x54ee0e];}}return _0x2402d['items']&&Array[_0x3b1a52(0x45b)+'ay'](_0x2402d[_0x3b1a52(0x5a0)])&&(_0x3e3a84[_0x3b1a52(0x5a0)+_0x3b1a52(0x407)]=_0x2402d[_0x3b1a52(0x5a0)]['lengt'+'h'],_0x3e3a84[_0x3b1a52(0x5a0)]=_0x2402d[_0x3b1a52(0x5a0)][_0x3b1a52(0x3ff)](0x0,0x3)['map'](_0x22e26f=>({'name':_0x22e26f[_0x3b1a52(0x3a1)],'amount':_0x22e26f[_0x3b1a52(0x5f3)+'t'],'category':_0x22e26f[_0x3b1a52(0x6dc)+'ory']}))),_0x3e3a84;}main()[_0x2dbe2(0x1cf)](_0x531201=>{const _0x4cfb2a=_0x2dbe2,_0x5b4a87={};_0x5b4a87['VojJl']='堆栈:';const _0x25f90c=_0x5b4a87;console[_0x4cfb2a(0x617)](_0x4cfb2a(0x87b)+'\x20Serv'+'er\x20启动'+_0x4cfb2a(0x3d3),_0x531201[_0x4cfb2a(0x715)+'ge']),console[_0x4cfb2a(0x617)](_0x25f90c[_0x4cfb2a(0x45c)],_0x531201['stack']),process['exit'](0x1);});