├── .gitignore ├── deobfuscation.js ├── dist ├── context.js └── source.js ├── example ├── apply.js ├── evaluateExpression.js ├── evaluateFunction.js ├── fail │ ├── jsjiami.com.js │ └── jsjiami.com.v7.1.js ├── flattenCallChain.js ├── inlineFunction.js ├── mergeObject.js ├── removeDoubleBlock.js ├── removeEmptyStatement.js ├── removeUnusedIf.js ├── removeUnusedVar.js ├── simpleCall.js ├── simpleClassMethod.js ├── splitCommaToMultiline.js ├── v5 │ ├── jsjiami.com.v5.1.js │ └── jsjiami.com.v5.js ├── v6 │ └── jsjiami.com.v6.js ├── v7 │ ├── aihaiyan.js │ ├── jsjiami.com.v7.js │ └── sfsy.js └── whileSwitch.js ├── package.json ├── src └── utils.js └── test └── test.js /.gitignore: -------------------------------------------------------------------------------- 1 | test/output.js 2 | ./package-lock.json 3 | -------------------------------------------------------------------------------- /deobfuscation.js: -------------------------------------------------------------------------------- 1 | // 预处理 2 | const fs = require('fs'); 3 | const astUtils = require('./src/utils') 4 | const sourceCode = fs.readFileSync("./dist/source.js").toString(); 5 | astUtils.prehandler(sourceCode); 6 | 7 | // AST语法树解析 https://astexplorer.net/ 8 | 9 | // 逆向进阶,利用 AST 技术还原 JavaScript 混淆代码 https://mp.weixin.qq.com/s/fIbPuNMs5FRADJE5MOZXgA 10 | // 来自高纬度的对抗:AST解密JS代码实战(下) https://www.jianshu.com/p/c705aec39418 11 | // babel官方文档 https://babeljs.io/docs/en/babel-types 12 | // 深入浅出 Babel 上篇:架构和原理 + 实战 https://juejin.cn/post/6844903956905197576 13 | const parser = require("@babel/parser"); 14 | const generate = require("@babel/generator").default 15 | const traverse = require("@babel/traverse").default 16 | const types = require("@babel/types"); 17 | const {decrypt} = require('./dist/context') 18 | 19 | const code = fs.readFileSync("./dist/source.js").toString(); 20 | const ast = parser.parse(code, { 21 | allowReturnOutsideFunction: true 22 | }); 23 | fs.writeFileSync(`./target8.js`, generate(ast, {jsescOption: {"minimal": true}}).code); 24 | 25 | // 降低加密函数层级 26 | traverse(ast, { 27 | VariableDeclarator(path) { 28 | try { 29 | if(types.isIdentifier(path.node.init) && path.node.init.name === decrypt.name ) { 30 | for (const referencePath of path.scope.getBinding(path.node.id.name).referencePaths) { 31 | referencePath.replaceWith(types.identifier(decrypt.name)); 32 | } 33 | } 34 | } catch (e) { 35 | debugger 36 | } 37 | } 38 | }) 39 | const stack = []; 40 | const dfs = function (path) { 41 | const functionName = path.node.id.name; 42 | if (stack.length > 0 && stack[stack.length - 1] !== functionName) { 43 | return; 44 | } 45 | // 只有一个return语句的 46 | if (path.node.body.body.length === 1) { 47 | const returnStatement = path.node.body.body[0]; 48 | if (types.isReturnStatement(returnStatement) && types.isCallExpression(returnStatement.argument)) { 49 | // return的代码块调用者 50 | const callExpressionCallee = returnStatement.argument.callee.name; 51 | // 外层混淆函数的入参 52 | const params = path.node.params.map(p => p.name); 53 | stack.push(callExpressionCallee); 54 | 55 | // 如果return代码里的callee是加密函数, 说明可以将所有调用这个functionName的函数替换成最底层的加密函数了 56 | if (returnStatement.argument.callee.name !== decrypt.name) { 57 | traverse(ast, {FunctionDeclaration: dfs}); 58 | } 59 | traverse(ast, { 60 | CallExpression: function (callPath) { 61 | if (callPath.node.callee.name !== functionName) { 62 | return; 63 | } 64 | // 加密函数的实际入参 65 | const callArguments = callPath.node.arguments; 66 | const args = [] 67 | // 遍历return代码块的加密函数入参,用外部调用函数替换 68 | for (let i = 0; i < returnStatement.argument.arguments.length; i++) { 69 | const arg = returnStatement.argument.arguments[i]; 70 | 71 | const getArg = function (n) { 72 | if (types.isIdentifier(n)) { 73 | return callArguments[params.indexOf(n.name)]; 74 | } else if (types.isBinaryExpression(n)) { 75 | return types.binaryExpression(n.operator, getArg(n.left), getArg(n.right)); 76 | } else { 77 | return n; 78 | } 79 | } 80 | args.push(getArg(arg)); 81 | } 82 | callPath.replaceWith(types.callExpression(returnStatement.argument.callee, args)); 83 | } 84 | }); 85 | 86 | stack.pop(); 87 | path.remove() 88 | } 89 | } 90 | } 91 | traverse(ast, { 92 | FunctionDeclaration: dfs 93 | }); 94 | fs.writeFileSync(`./target0.js`, generate(ast, {jsescOption: {"minimal": true}}).code); 95 | console.log("降低加密函数层级,处理完毕") 96 | 97 | // 全局加密函数 98 | traverse(ast, { 99 | CallExpression(path) { 100 | for (const decryptKey in decrypt) { 101 | if (path.node.callee?.name === decryptKey) { 102 | const args = path.node.arguments; 103 | if (args.length === 1) { 104 | const arg0 = args[0].value; 105 | const decryptedValue = decrypt[decryptKey](arg0); 106 | path.replaceWith(types.stringLiteral(unescape(decryptedValue))); 107 | } else if (args.length === 2) { 108 | const arg0 = isNaN(parseInt(args[0].value)) ? args[0].value : parseInt(args[0].value); 109 | const arg1 = args[1].value; 110 | const decryptedValue = decrypt[decryptKey](arg0, arg1); 111 | path.replaceWith(types.stringLiteral(unescape(decryptedValue))); 112 | } 113 | } 114 | } 115 | }, 116 | MemberExpression(path) { 117 | for (const decryptKey in decrypt) { 118 | if (path.node.object.name === decryptKey) { 119 | const value = path.node.property.value; 120 | if (value || value === 0) { 121 | const decryptedValue = decrypt[decryptKey](value); 122 | path.replaceWith(types.stringLiteral(unescape(decryptedValue))); 123 | } 124 | } 125 | } 126 | } 127 | }) 128 | fs.writeFileSync(`./target1.js`, generate(ast, {jsescOption: {"minimal": true}}).code); 129 | console.log("全局加密函数,处理完毕") 130 | 131 | // 去除死代码 132 | if (true) { 133 | astUtils.traverse(ast, { 134 | ExpressionStatement: function (path) { 135 | var node = path.node; 136 | if (!types.isCallExpression(node.expression) || !types.isFunctionExpression(node.expression.callee)) 137 | return 138 | if (!node.expression.callee.body || !types.isBlockStatement(node.expression.callee.body)) 139 | return 140 | if (node.expression.arguments && node.expression.arguments.length > 0) 141 | return; 142 | path.replaceWith(node.expression.callee.body); 143 | } 144 | }) 145 | astUtils.simple1(ast); 146 | astUtils.simple2(ast); 147 | fs.writeFileSync(`./target2.js`, generate(ast, {jsescOption: {"minimal": true}}).code); 148 | 149 | // 去除while代码 150 | astUtils.whileSwitch(ast); 151 | fs.writeFileSync(`./target3.js`, generate(ast, {jsescOption: {"minimal": true}}).code); 152 | console.log("去除while代码,处理完毕") 153 | } 154 | 155 | // 调用方式由a['b']改为a.b 156 | if (true) { 157 | astUtils.simple1(ast); 158 | astUtils.simple2(ast); 159 | 160 | fs.writeFileSync(`./target4.js`, generate(ast, {jsescOption: {"minimal": true}}).code); 161 | console.log("调用方式由a['b']改为a.b,处理完毕") 162 | } 163 | console.log('解密完毕'); 164 | -------------------------------------------------------------------------------- /dist/context.js: -------------------------------------------------------------------------------- 1 | var OO0$=__Oxe8a8c[0],OO0$_=[__Oxe8a8c[1]],O00O=[OO0$,__Oxe8a8c[2],__Oxe8a8c[3],__Oxe8a8c[4],__Oxe8a8c[5],__Oxe8a8c[6],__Oxe8a8c[7],__Oxe8a8c[8],__Oxe8a8c[9],__Oxe8a8c[10],__Oxe8a8c[11],__Oxe8a8c[12],__Oxe8a8c[13],__Oxe8a8c[14],__Oxe8a8c[15],__Oxe8a8c[16],__Oxe8a8c[17],__Oxe8a8c[18],__Oxe8a8c[19],__Oxe8a8c[20],__Oxe8a8c[21],__Oxe8a8c[22],__Oxe8a8c[23],__Oxe8a8c[24],__Oxe8a8c[25],__Oxe8a8c[26],__Oxe8a8c[27],__Oxe8a8c[28],__Oxe8a8c[29],__Oxe8a8c[30],__Oxe8a8c[31],__Oxe8a8c[32],__Oxe8a8c[33],__Oxe8a8c[34],__Oxe8a8c[35],__Oxe8a8c[36],__Oxe8a8c[37],__Oxe8a8c[38],__Oxe8a8c[39],__Oxe8a8c[40],__Oxe8a8c[41],__Oxe8a8c[42],__Oxe8a8c[43],__Oxe8a8c[44],__Oxe8a8c[45],__Oxe8a8c[46],__Oxe8a8c[47],__Oxe8a8c[48]];if(function(_0x5c09x4,_0x5c09x5,_0x5c09x6){function _0x5c09x7(_0x5c09x8,_0x5c09x9,_0x5c09xa,_0x5c09xb,_0x5c09xc,_0x5c09xd){_0x5c09x9=_0x5c09x9>>8,_0x5c09xc=__Oxe8a8c[49];var _0x5c09xe=__Oxe8a8c[50],_0x5c09xf=__Oxe8a8c[51],_0x5c09xd=__Oxe8a8c[52];if(_0x5c09x9<_0x5c09x8){while(--_0x5c09x8){_0x5c09xb=_0x5c09x4[_0x5c09xe]();if(_0x5c09x9===_0x5c09x8&&_0x5c09xd===__Oxe8a8c[52]&&_0x5c09xd[__Oxe8a8c[53]]===1){_0x5c09x9=_0x5c09xb,_0x5c09xa=_0x5c09x4[_0x5c09xc+__Oxe8a8c[54]]()}else{if(_0x5c09x9&&_0x5c09xa[__Oxe8a8c[56]](/[IbQkNQNKDeSfJFwry=]/g,__Oxe8a8c[55])===_0x5c09x9){_0x5c09x4[_0x5c09xf](_0x5c09xb)}}};_0x5c09x4[_0x5c09xf](_0x5c09x4[_0x5c09xe]())};return 1038639}return _0x5c09x7(++_0x5c09x5,_0x5c09x6)>>_0x5c09x5^_0x5c09x6}(O00O,237,60672),O00O){OO0$_=O00O[__Oxe8a8c[53]]^237}function O0QQ(_0x5c09x11,_0x5c09x12){_0x5c09x11=~~__Oxe8a8c[59][__Oxe8a8c[58]](_0x5c09x11[__Oxe8a8c[57]](1));var _0x5c09x13=O00O[_0x5c09x11];if(O0QQ[__Oxe8a8c[60]]===undefined){(function(){var _0x5c09x14=typeof window!==__Oxe8a8c[61]?window:typeof process===__Oxe8a8c[62]&&typeof require===__Oxe8a8c[63]&&typeof global===__Oxe8a8c[62]?global:this;var _0x5c09x15=__Oxe8a8c[64];_0x5c09x14[__Oxe8a8c[65]]||(_0x5c09x14[__Oxe8a8c[65]]=function(_0x5c09x16){var _0x5c09x17=String(_0x5c09x16)[__Oxe8a8c[56]](/=+$/,__Oxe8a8c[55]);for(var _0x5c09x18=0,_0x5c09x19,_0x5c09x1a,_0x5c09x1b=0,_0x5c09x1c=__Oxe8a8c[55];_0x5c09x1a=_0x5c09x17[__Oxe8a8c[66]](_0x5c09x1b++);~_0x5c09x1a&&(_0x5c09x19=_0x5c09x18%4?_0x5c09x19*64+_0x5c09x1a:_0x5c09x1a,_0x5c09x18++%4)?_0x5c09x1c+=String[__Oxe8a8c[67]](255&_0x5c09x19>>(-2*_0x5c09x18&6)):0){_0x5c09x1a=_0x5c09x15[__Oxe8a8c[68]](_0x5c09x1a)};return _0x5c09x1c})})();function _0x5c09x1d(_0x5c09x1e,_0x5c09x12){var _0x5c09x1f=[],_0x5c09x20=0,_0x5c09x21,_0x5c09x22=__Oxe8a8c[55],_0x5c09x23=__Oxe8a8c[55];_0x5c09x1e=atob(_0x5c09x1e);for(var _0x5c09x24=0,_0x5c09x25=_0x5c09x1e[__Oxe8a8c[53]];_0x5c09x24<_0x5c09x25;_0x5c09x24++){_0x5c09x23+=__Oxe8a8c[69]+(__Oxe8a8c[70]+_0x5c09x1e[__Oxe8a8c[72]](_0x5c09x24)[__Oxe8a8c[71]](16))[__Oxe8a8c[57]](-2)};_0x5c09x1e=decodeURIComponent(_0x5c09x23);for(var _0x5c09x26=0;_0x5c09x26<256;_0x5c09x26++){_0x5c09x1f[_0x5c09x26]=_0x5c09x26};for(_0x5c09x26=0;_0x5c09x26<256;_0x5c09x26++){_0x5c09x20=(_0x5c09x20+_0x5c09x1f[_0x5c09x26]+_0x5c09x12[__Oxe8a8c[72]](_0x5c09x26%_0x5c09x12[__Oxe8a8c[53]]))%256;_0x5c09x21=_0x5c09x1f[_0x5c09x26];_0x5c09x1f[_0x5c09x26]=_0x5c09x1f[_0x5c09x20];_0x5c09x1f[_0x5c09x20]=_0x5c09x21};_0x5c09x26=0;_0x5c09x20=0;for(var _0x5c09x27=0;_0x5c09x27<_0x5c09x1e[__Oxe8a8c[53]];_0x5c09x27++){_0x5c09x26=(_0x5c09x26+1)%256;_0x5c09x20=(_0x5c09x20+_0x5c09x1f[_0x5c09x26])%256;_0x5c09x21=_0x5c09x1f[_0x5c09x26];_0x5c09x1f[_0x5c09x26]=_0x5c09x1f[_0x5c09x20];_0x5c09x1f[_0x5c09x20]=_0x5c09x21;_0x5c09x22+=String[__Oxe8a8c[67]](_0x5c09x1e[__Oxe8a8c[72]](_0x5c09x27)^_0x5c09x1f[(_0x5c09x1f[_0x5c09x26]+_0x5c09x1f[_0x5c09x20])%256])};return _0x5c09x22}O0QQ[__Oxe8a8c[73]]=_0x5c09x1d;O0QQ[__Oxe8a8c[74]]={};O0QQ[__Oxe8a8c[60]]=!![]};var _0x5c09x28=O0QQ[__Oxe8a8c[74]][_0x5c09x11];if(_0x5c09x28===undefined){if(O0QQ[__Oxe8a8c[75]]===undefined){O0QQ[__Oxe8a8c[75]]=!![]};_0x5c09x13=O0QQ[__Oxe8a8c[73]](_0x5c09x13,_0x5c09x12);O0QQ[__Oxe8a8c[74]][_0x5c09x11]=_0x5c09x13}else{_0x5c09x13=_0x5c09x28};return _0x5c09x13}const name="O0QQ";const _decrypt=O0QQ;Object.defineProperty(arg=>_decrypt[arg],"name",{value:name});switch(_decrypt.constructor.name){case"Array":exports.decrypt=Object.defineProperty(arg=>_decrypt[arg],"name",{value:name});break;case"Function":exports.decrypt=_decrypt;break;default:throw"不支持的全局加密函数"} -------------------------------------------------------------------------------- /dist/source.js: -------------------------------------------------------------------------------- 1 | var __encode="jsjiami.com",_a={},_0xb483=["_decode","http://www.sojson.com/javascriptobfuscator.html"];(function(_0xd642x1){_0xd642x1[_0xb483[0]]=_0xb483[1]})(_a);var __Oxe8a8c=["jsjiami.com.v6","\u202EO\uFF2F0$","AsKAw7Qz","wpXDu8KI","wr3Ct8OY","w5HDjUpK","PMO6w4rDgw==","fcO7wpzCvQ==","w4XCssOdLMOkwpPDhQ==","csOfwqor","wqJoGsOj","w6zCik53","IcKEw5LDvQ==","wotFwoM=","RW4Tw5Y=","JAcVw5I=","XEllw4cUw59/","YFVP","TsKww75J","w5bDs8K6ZQ==","UCxNw7k=","PMK2F3w=","w7rCnHF6","WcOvw64F","wpZeDsK0","bcOWIcOY","DsOLwooe","wqhAwoXCqw==","EMOVwop/","wohtw4nCsg==","w7nCocK0woQ=","wqlZwoHCo8O0fEQ=","w6jCnGk=","KsK0wrA=","MMKew4zDtg==","w4/DjTVK","wqVowqs=","w73CosKBVQ==","GcKLPRnCuEvDvg==","JsK+wo5y","wqjCsmvCrsKxUsOZ","LDLCnw==","KMOyw6TDgg==","PMKoF2I=","F8KcKg==","PTbChw==","F8OWw4E=","OcKlwqg=","IbQjsjiakmNiQN.coKDeSm.fJv6Fwry==","po","shift","push","\u202E","length","p","","replace","slice","concat","0x","O0O0O","undefined","object","function","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","atob","charAt","fromCharCode","indexOf","%","00","toString","charCodeAt","Q0QQ0","O0OQQ","Q0Q00","DS","ds","\u202E0","pS^a","QOQO","Q0Q0","\u202B1","tf@]","\u202B2","OOnf","\u202E3","R498","\u202E4","Nnb%","QO0Q","\u202E5","%Sn%","\u202B6","Sgf0","\u202B7","%giq","\u202E8","\u202B9","mSEK","\u202Bb","lcyk","\u202Ec","TTTn","\u202Ea","tILV","data","\u202Ed","6pDI","\u202Bf","V4vm","\u202Be","\u202B10","Dh)8","\u202B11","Y0p2","get","\u202B12","F9Nm","\u202B13","\u202E14","lGu*","\u202B16","\u202B15","z3NC","now","expires","QOOQ","O0QO","QOQ0","\u202E17","\u202E18","34[0","\u202B19","r0#*","\u202E1a","\u202E1b","sx8T","\u202E1c","\u202B1d","z3sL","\u202E1f","4Ig@","\u202E1e","F8Hj","\u202B20","z1zK","\u202E21","50fN","\u202B22","\u202E23","\u202E24","\u202B25","Q0OO","\u202E26","\u202E28","$GhB","\u202B27","\u202E29","Dpn)","\u202E2a","\u202E2b","QUbp","OOQQ","\u202E2c","XZ98","\u202B2d","AR%w","log","\u5220\u9664","\u7248\u672C\u53F7\uFF0Cjs\u4F1A\u5B9A","\u671F\u5F39\u7A97\uFF0C","\u8FD8\u8BF7\u652F\u6301\u6211\u4EEC\u7684\u5DE5\u4F5C","jsjia","mi.com"];;const DS=require(__Oxe8a8c[77])[__Oxe8a8c[76]];function Cache(_0x5c09x2b=0,_0x5c09x2c=null){var _0x5c09x2d={"OOQQ":function(_0x5c09x2e){return _0x5c09x2e()},"QOOQ":function(_0x5c09x2f,_0x5c09x30){return _0x5c09x2f<_0x5c09x30},"OQQQ":function(_0x5c09x31,_0x5c09x32){return _0x5c09x31(_0x5c09x32)},"QQQ0":O0QQ(__Oxe8a8c[78],__Oxe8a8c[79]),"Q0OO":function(_0x5c09x33,_0x5c09x34){return _0x5c09x33==_0x5c09x34},"QOQ0":function(_0x5c09x35,_0x5c09x36){return _0x5c09x35===_0x5c09x36},"O0QO":__Oxe8a8c[80],"OQQ0":__Oxe8a8c[81],"Q00Q":O0QQ(__Oxe8a8c[82],__Oxe8a8c[83]),"OQ00":function(_0x5c09x37,_0x5c09x38){return _0x5c09x37+_0x5c09x38},"O0OQ":function(_0x5c09x39,_0x5c09x3a){return _0x5c09x39!==_0x5c09x3a},"QOOO":function(_0x5c09x3b,_0x5c09x3c){return _0x5c09x3b||_0x5c09x3c},"OO0O":O0QQ(__Oxe8a8c[84],__Oxe8a8c[85]),"OOQO":O0QQ(__Oxe8a8c[86],__Oxe8a8c[87])};let _0x5c09x3d=this;_0x5c09x3d[O0QQ(__Oxe8a8c[88],__Oxe8a8c[89])]=function(){if(__Oxe8a8c[90]!==O0QQ(__Oxe8a8c[91],__Oxe8a8c[92])){_0x5c09x3d[O0QQ(__Oxe8a8c[93],__Oxe8a8c[94])]=new DS(_0x5c09x2c)}else{return new Date()[O0QQ(__Oxe8a8c[95],__Oxe8a8c[96])]()}};_0x5c09x3d[O0QQ(__Oxe8a8c[97],__Oxe8a8c[92])]=_0x5c09x2d[O0QQ(__Oxe8a8c[98],__Oxe8a8c[99])](_0x5c09x2b,0);if(_0x5c09x2c){if(_0x5c09x2d[O0QQ(__Oxe8a8c[104],__Oxe8a8c[105])](_0x5c09x2d[O0QQ(__Oxe8a8c[100],__Oxe8a8c[101])],_0x5c09x2d[O0QQ(__Oxe8a8c[102],__Oxe8a8c[103])])){_0x5c09x3d[__Oxe8a8c[106]]=new DS(_0x5c09x2c)}else{_0x5c09x3d[O0QQ(__Oxe8a8c[107],__Oxe8a8c[108])]=new DS}}else{_0x5c09x3d[__Oxe8a8c[106]]=new DS};let _0x5c09x3e=function(){if(_0x5c09x2c){_0x5c09x3d[O0QQ(__Oxe8a8c[111],__Oxe8a8c[79])][O0QQ(__Oxe8a8c[109],__Oxe8a8c[110])](_0x5c09x2c)};return _0x5c09x3d};let _0x5c09x3f=function(_0x5c09x40){delete _0x5c09x3d[O0QQ(__Oxe8a8c[112],__Oxe8a8c[113])][_0x5c09x40];_0x5c09x2d[O0QQ(__Oxe8a8c[114],__Oxe8a8c[115])](_0x5c09x3e);return _0x5c09x3d};_0x5c09x3d[__Oxe8a8c[116]]=function(_0x5c09x41,_0x5c09x42){let _0x5c09x43=null;let _0x5c09x44=_0x5c09x3d[O0QQ(__Oxe8a8c[117],__Oxe8a8c[118])][_0x5c09x41];if(_0x5c09x44){if(_0x5c09x2d[O0QQ(__Oxe8a8c[119],__Oxe8a8c[115])]===O0QQ(__Oxe8a8c[120],__Oxe8a8c[121])){if(_0x5c09x2d[O0QQ(__Oxe8a8c[123],__Oxe8a8c[124])](_0x5c09x44[O0QQ(__Oxe8a8c[122],__Oxe8a8c[118])],0)||_0x5c09x2d[__Oxe8a8c[127]](_0x5c09x3d[__Oxe8a8c[125]](),_0x5c09x44[__Oxe8a8c[126]])){if(_0x5c09x2d[__Oxe8a8c[129]](_0x5c09x2d[__Oxe8a8c[128]],_0x5c09x2d[__Oxe8a8c[128]])){_0x5c09x43=_0x5c09x44[O0QQ(__Oxe8a8c[130],__Oxe8a8c[108])]}else{let _0x5c09x45=_0x5c09x3d[O0QQ(__Oxe8a8c[131],__Oxe8a8c[132])](_0x5c09x41);_0x5c09x3f(_0x5c09x41);if(_0x5c09x42){_0x5c09x42(_0x5c09x45)};return _0x5c09x45}}else{if(_0x5c09x2d[O0QQ(__Oxe8a8c[133],__Oxe8a8c[134])]===_0x5c09x2d[O0QQ(__Oxe8a8c[135],__Oxe8a8c[108])]){_0x5c09x43=_0x5c09x44[O0QQ(__Oxe8a8c[136],__Oxe8a8c[137])]}else{_0x5c09x43=null;_0x5c09x3f(_0x5c09x41)}}}else{let _0x5c09x46=null;let _0x5c09x47=_0x5c09x3d[O0QQ(__Oxe8a8c[138],__Oxe8a8c[105])][_0x5c09x41];if(_0x5c09x47){if(_0x5c09x47[O0QQ(__Oxe8a8c[139],__Oxe8a8c[140])]==0||_0x5c09x2d[O0QQ(__Oxe8a8c[143],__Oxe8a8c[144])](_0x5c09x3d[__Oxe8a8c[125]](),_0x5c09x47[O0QQ(__Oxe8a8c[141],__Oxe8a8c[142])])){_0x5c09x46=_0x5c09x47[O0QQ(__Oxe8a8c[145],__Oxe8a8c[146])]}else{_0x5c09x46=null;_0x5c09x2d[O0QQ(__Oxe8a8c[147],__Oxe8a8c[148])](_0x5c09x3f,_0x5c09x41)}};if(_0x5c09x42){_0x5c09x2d[O0QQ(__Oxe8a8c[149],__Oxe8a8c[103])](_0x5c09x42,_0x5c09x46)};return _0x5c09x46}};if(_0x5c09x42){_0x5c09x42(_0x5c09x43)};return _0x5c09x43};_0x5c09x3d[O0QQ(__Oxe8a8c[150],__Oxe8a8c[103])]=function(_0x5c09x48,_0x5c09x49){let _0x5c09x4a=_0x5c09x3d[O0QQ(__Oxe8a8c[151],__Oxe8a8c[146])](_0x5c09x48);_0x5c09x3f(_0x5c09x48);if(_0x5c09x49){_0x5c09x49(_0x5c09x4a)};return _0x5c09x4a};_0x5c09x3d[O0QQ(__Oxe8a8c[152],__Oxe8a8c[148])]=function(_0x5c09x4b,_0x5c09x4c=null,_0x5c09x2b=0,_0x5c09x4d){if(_0x5c09x2d[__Oxe8a8c[153]](_0x5c09x2b,0)){_0x5c09x2b=_0x5c09x3d[O0QQ(__Oxe8a8c[154],__Oxe8a8c[132])]};let _0x5c09x4e=_0x5c09x2b==0?0:_0x5c09x2d[O0QQ(__Oxe8a8c[157],__Oxe8a8c[132])](_0x5c09x3d[O0QQ(__Oxe8a8c[155],__Oxe8a8c[156])](),_0x5c09x2b);var _0x5c09x4f=_0x5c09x3d[O0QQ(__Oxe8a8c[158],__Oxe8a8c[159])](_0x5c09x4b);if(_0x5c09x2d[O0QQ(__Oxe8a8c[160],__Oxe8a8c[108])](_0x5c09x4c,null)){_0x5c09x3d[O0QQ(__Oxe8a8c[161],__Oxe8a8c[162])][_0x5c09x4b]={"expires":_0x5c09x4e,"val":_0x5c09x4c};_0x5c09x2d[__Oxe8a8c[163]](_0x5c09x3e)};if(_0x5c09x4d){_0x5c09x2d[O0QQ(__Oxe8a8c[164],__Oxe8a8c[165])](_0x5c09x4d,_0x5c09x4f)};return _0x5c09x4f}}module[O0QQ(__Oxe8a8c[166],__Oxe8a8c[167])]=Cache;;;OO0$=__Oxe8a8c[0];;;(function(_0x5c09x50,_0x5c09x51,_0x5c09x52,_0x5c09x53,_0x5c09x54,_0x5c09x55){_0x5c09x55=__Oxe8a8c[61];_0x5c09x53=function(_0x5c09x56){if(typeof alert!==_0x5c09x55){alert(_0x5c09x56)};if(typeof console!==_0x5c09x55){console[__Oxe8a8c[168]](_0x5c09x56)}};_0x5c09x52=function(_0x5c09x57,_0x5c09x50){return _0x5c09x57+_0x5c09x50};_0x5c09x54=_0x5c09x52(__Oxe8a8c[169],_0x5c09x52(_0x5c09x52(__Oxe8a8c[170],__Oxe8a8c[171]),__Oxe8a8c[172]));try{_0x5c09x50=__encode;if(!(typeof _0x5c09x50!==_0x5c09x55&&_0x5c09x50===_0x5c09x52(__Oxe8a8c[173],__Oxe8a8c[174]))){_0x5c09x53(_0x5c09x54)}}catch(e){_0x5c09x53(_0x5c09x54)}})({}); -------------------------------------------------------------------------------- /example/apply.js: -------------------------------------------------------------------------------- 1 | function N(aa) { 2 | return O.apply(this, arguments); 3 | } 4 | 5 | N("/aosbase/_auth_dt"); 6 | -------------------------------------------------------------------------------- /example/evaluateExpression.js: -------------------------------------------------------------------------------- 1 | // var a = 0xff; 2 | var a = 0xff; 3 | 4 | // 0xff; 5 | 0xff; 6 | 7 | // var b = (-(-(-2))); 8 | var b = (-(-(-2))); 9 | 10 | // var c = 1 + 2 + 3; 11 | var c = 1 + 2 + 3; 12 | 13 | // var d = "hello" + "world"; 14 | var d = "hello" + "world"; 15 | 16 | // var e = '\x43\x63\x4f\x76\x77\x72\x63\x3d'; 17 | var e = '\x43\x63\x4f\x76\x77\x72\x63\x3d'; 18 | 19 | // function main() { 20 | // return 1 + 2 + 3; 21 | // } 22 | function main() { 23 | return 1 + 2 + 3; 24 | } 25 | 26 | // (function (num) { console.log(num)})(1 + 2, 3 + 4); 27 | (function (num) { console.log(num)})(1 + 2, 3 + 4); 28 | 29 | // 1 + 2 ? console.log("true") : console.log("false"); 30 | 1 + 2 ? console.log("true") : console.log("false"); 31 | -------------------------------------------------------------------------------- /example/evaluateFunction.js: -------------------------------------------------------------------------------- 1 | var obj = { 2 | "i": 0, 3 | j: 1, 4 | "k": 2, 5 | "string1": "hello", 6 | "string2": "world", 7 | "eq": function eq(arg1, arg2) { 8 | return arg1 === arg2; 9 | }, 10 | "neq": function neq(arg1, arg2) { 11 | return arg1 !== arg2; 12 | }, 13 | "add": function add(arg1, arg2) { 14 | return arg1 + arg2; 15 | }, 16 | "lt": function lt(arg1, arg2) { 17 | return arg1 < arg2; 18 | }, 19 | "call0": function call0(fun) { 20 | return fun(); 21 | }, 22 | "call1": function call1(fun, arg1) { 23 | return fun(arg1); 24 | }, 25 | "call2": function call2(fun, arg1, arg2) { 26 | return fun(arg1, arg2); 27 | } 28 | }; 29 | 30 | function now() { 31 | return new Date(); 32 | } 33 | 34 | obj.i++; 35 | obj.j = obj.j + 1; 36 | obj.k = 3; 37 | obj.k; 38 | obj.string1 + obj.string2; 39 | test = some[obj.string1]; 40 | obj.eq(1, '1'); 41 | obj.eq(obj.string1, obj.string2); 42 | obj.neq(1, '1'); 43 | obj.add(1, '1'); 44 | obj.add($$$0[0], 1) 45 | obj.lt(1, '1'); 46 | obj.call0(now); 47 | obj.call1(now, 1); 48 | obj.call2(now, 1, 2); 49 | -------------------------------------------------------------------------------- /example/fail/jsjiami.com.js: -------------------------------------------------------------------------------- 1 | var __encode ='jsjiami.com',_a={}, _0xb483=["\x5F\x64\x65\x63\x6F\x64\x65","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x73\x6F\x6A\x73\x6F\x6E\x2E\x63\x6F\x6D\x2F\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x6F\x62\x66\x75\x73\x63\x61\x74\x6F\x72\x2E\x68\x74\x6D\x6C"];(function(_0xd642x1){_0xd642x1[_0xb483[0]]= _0xb483[1]})(_a);var __Oxe8a8c=["\x6A\x73\x6A\x69\x61\x6D\x69\x2E\x63\x6F\x6D\x2E\x76\x36","\u202E\x4F\uFF2F\x30\x24","\x41\x73\x4B\x41\x77\x37\x51\x7A","\x77\x70\x58\x44\x75\x38\x4B\x49","\x77\x72\x33\x43\x74\x38\x4F\x59","\x77\x35\x48\x44\x6A\x55\x70\x4B","\x50\x4D\x4F\x36\x77\x34\x72\x44\x67\x77\x3D\x3D","\x66\x63\x4F\x37\x77\x70\x7A\x43\x76\x51\x3D\x3D","\x77\x34\x58\x43\x73\x73\x4F\x64\x4C\x4D\x4F\x6B\x77\x70\x50\x44\x68\x51\x3D\x3D","\x63\x73\x4F\x66\x77\x71\x6F\x72","\x77\x71\x4A\x6F\x47\x73\x4F\x6A","\x77\x36\x7A\x43\x69\x6B\x35\x33","\x49\x63\x4B\x45\x77\x35\x4C\x44\x76\x51\x3D\x3D","\x77\x6F\x74\x46\x77\x6F\x4D\x3D","\x52\x57\x34\x54\x77\x35\x59\x3D","\x4A\x41\x63\x56\x77\x35\x49\x3D","\x58\x45\x6C\x6C\x77\x34\x63\x55\x77\x35\x39\x2F","\x59\x46\x56\x50","\x54\x73\x4B\x77\x77\x37\x35\x4A","\x77\x35\x62\x44\x73\x38\x4B\x36\x5A\x51\x3D\x3D","\x55\x43\x78\x4E\x77\x37\x6B\x3D","\x50\x4D\x4B\x32\x46\x33\x77\x3D","\x77\x37\x72\x43\x6E\x48\x46\x36","\x57\x63\x4F\x76\x77\x36\x34\x46","\x77\x70\x5A\x65\x44\x73\x4B\x30","\x62\x63\x4F\x57\x49\x63\x4F\x59","\x44\x73\x4F\x4C\x77\x6F\x6F\x65","\x77\x71\x68\x41\x77\x6F\x58\x43\x71\x77\x3D\x3D","\x45\x4D\x4F\x56\x77\x6F\x70\x2F","\x77\x6F\x68\x74\x77\x34\x6E\x43\x73\x67\x3D\x3D","\x77\x37\x6E\x43\x6F\x63\x4B\x30\x77\x6F\x51\x3D","\x77\x71\x6C\x5A\x77\x6F\x48\x43\x6F\x38\x4F\x30\x66\x45\x51\x3D","\x77\x36\x6A\x43\x6E\x47\x6B\x3D","\x4B\x73\x4B\x30\x77\x72\x41\x3D","\x4D\x4D\x4B\x65\x77\x34\x7A\x44\x74\x67\x3D\x3D","\x77\x34\x2F\x44\x6A\x54\x56\x4B","\x77\x71\x56\x6F\x77\x71\x73\x3D","\x77\x37\x33\x43\x6F\x73\x4B\x42\x56\x51\x3D\x3D","\x47\x63\x4B\x4C\x50\x52\x6E\x43\x75\x45\x76\x44\x76\x67\x3D\x3D","\x4A\x73\x4B\x2B\x77\x6F\x35\x79","\x77\x71\x6A\x43\x73\x6D\x76\x43\x72\x73\x4B\x78\x55\x73\x4F\x5A","\x4C\x44\x4C\x43\x6E\x77\x3D\x3D","\x4B\x4D\x4F\x79\x77\x36\x54\x44\x67\x67\x3D\x3D","\x50\x4D\x4B\x6F\x46\x32\x49\x3D","\x46\x38\x4B\x63\x4B\x67\x3D\x3D","\x50\x54\x62\x43\x68\x77\x3D\x3D","\x46\x38\x4F\x57\x77\x34\x45\x3D","\x4F\x63\x4B\x6C\x77\x71\x67\x3D","\x49\x62\x51\x6A\x73\x6A\x69\x61\x6B\x6D\x4E\x69\x51\x4E\x2E\x63\x6F\x4B\x44\x65\x53\x6D\x2E\x66\x4A\x76\x36\x46\x77\x72\x79\x3D\x3D","\x70\x6F","\x73\x68\x69\x66\x74","\x70\x75\x73\x68","\u202E","\x6C\x65\x6E\x67\x74\x68","\x70","","\x72\x65\x70\x6C\x61\x63\x65","\x73\x6C\x69\x63\x65","\x63\x6F\x6E\x63\x61\x74","\x30\x78","\x4F\x30\x4F\x30\x4F","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x6F\x62\x6A\x65\x63\x74","\x66\x75\x6E\x63\x74\x69\x6F\x6E","\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2B\x2F\x3D","\x61\x74\x6F\x62","\x63\x68\x61\x72\x41\x74","\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65","\x69\x6E\x64\x65\x78\x4F\x66","\x25","\x30\x30","\x74\x6F\x53\x74\x72\x69\x6E\x67","\x63\x68\x61\x72\x43\x6F\x64\x65\x41\x74","\x51\x30\x51\x51\x30","\x4F\x30\x4F\x51\x51","\x51\x30\x51\x30\x30","\x44\x53","\x64\x73","\u202E\x30","\x70\x53\x5E\x61","\x51\x4F\x51\x4F","\x51\x30\x51\x30","\u202B\x31","\x74\x66\x40\x5D","\u202B\x32","\x4F\x4F\x6E\x66","\u202E\x33","\x52\x34\x39\x38","\u202E\x34","\x4E\x6E\x62\x25","\x51\x4F\x30\x51","\u202E\x35","\x25\x53\x6E\x25","\u202B\x36","\x53\x67\x66\x30","\u202B\x37","\x25\x67\x69\x71","\u202E\x38","\u202B\x39","\x6D\x53\x45\x4B","\u202B\x62","\x6C\x63\x79\x6B","\u202E\x63","\x54\x54\x54\x6E","\u202E\x61","\x74\x49\x4C\x56","\x64\x61\x74\x61","\u202E\x64","\x36\x70\x44\x49","\u202B\x66","\x56\x34\x76\x6D","\u202B\x65","\u202B\x31\x30","\x44\x68\x29\x38","\u202B\x31\x31","\x59\x30\x70\x32","\x67\x65\x74","\u202B\x31\x32","\x46\x39\x4E\x6D","\u202B\x31\x33","\u202E\x31\x34","\x6C\x47\x75\x2A","\u202B\x31\x36","\u202B\x31\x35","\x7A\x33\x4E\x43","\x6E\x6F\x77","\x65\x78\x70\x69\x72\x65\x73","\x51\x4F\x4F\x51","\x4F\x30\x51\x4F","\x51\x4F\x51\x30","\u202E\x31\x37","\u202E\x31\x38","\x33\x34\x5B\x30","\u202B\x31\x39","\x72\x30\x23\x2A","\u202E\x31\x61","\u202E\x31\x62","\x73\x78\x38\x54","\u202E\x31\x63","\u202B\x31\x64","\x7A\x33\x73\x4C","\u202E\x31\x66","\x34\x49\x67\x40","\u202E\x31\x65","\x46\x38\x48\x6A","\u202B\x32\x30","\x7A\x31\x7A\x4B","\u202E\x32\x31","\x35\x30\x66\x4E","\u202B\x32\x32","\u202E\x32\x33","\u202E\x32\x34","\u202B\x32\x35","\x51\x30\x4F\x4F","\u202E\x32\x36","\u202E\x32\x38","\x24\x47\x68\x42","\u202B\x32\x37","\u202E\x32\x39","\x44\x70\x6E\x29","\u202E\x32\x61","\u202E\x32\x62","\x51\x55\x62\x70","\x4F\x4F\x51\x51","\u202E\x32\x63","\x58\x5A\x39\x38","\u202B\x32\x64","\x41\x52\x25\x77","\x6C\x6F\x67","\u5220\u9664","\u7248\u672C\u53F7\uFF0C\x6A\x73\u4F1A\u5B9A","\u671F\u5F39\u7A97\uFF0C","\u8FD8\u8BF7\u652F\u6301\u6211\u4EEC\u7684\u5DE5\u4F5C","\x6A\x73\x6A\x69\x61","\x6D\x69\x2E\x63\x6F\x6D"];var OO0$=__Oxe8a8c[0x0],OO0$_=[__Oxe8a8c[0x1]],O00O=[OO0$,__Oxe8a8c[0x2],__Oxe8a8c[0x3],__Oxe8a8c[0x4],__Oxe8a8c[0x5],__Oxe8a8c[0x6],__Oxe8a8c[0x7],__Oxe8a8c[0x8],__Oxe8a8c[0x9],__Oxe8a8c[0xa],__Oxe8a8c[0xb],__Oxe8a8c[0xc],__Oxe8a8c[0xd],__Oxe8a8c[0xe],__Oxe8a8c[0xf],__Oxe8a8c[0x10],__Oxe8a8c[0x11],__Oxe8a8c[0x12],__Oxe8a8c[0x13],__Oxe8a8c[0x14],__Oxe8a8c[0x15],__Oxe8a8c[0x16],__Oxe8a8c[0x17],__Oxe8a8c[0x18],__Oxe8a8c[0x19],__Oxe8a8c[0x1a],__Oxe8a8c[0x1b],__Oxe8a8c[0x1c],__Oxe8a8c[0x1d],__Oxe8a8c[0x1e],__Oxe8a8c[0x1f],__Oxe8a8c[0x20],__Oxe8a8c[0x21],__Oxe8a8c[0x22],__Oxe8a8c[0x23],__Oxe8a8c[0x24],__Oxe8a8c[0x25],__Oxe8a8c[0x26],__Oxe8a8c[0x27],__Oxe8a8c[0x28],__Oxe8a8c[0x29],__Oxe8a8c[0x2a],__Oxe8a8c[0x2b],__Oxe8a8c[0x2c],__Oxe8a8c[0x2d],__Oxe8a8c[0x2e],__Oxe8a8c[0x2f],__Oxe8a8c[0x30]];if(function(_0x5c09x4,_0x5c09x5,_0x5c09x6){function _0x5c09x7(_0x5c09x8,_0x5c09x9,_0x5c09xa,_0x5c09xb,_0x5c09xc,_0x5c09xd){_0x5c09x9= _0x5c09x9>> 0x8,_0x5c09xc= __Oxe8a8c[0x31];var _0x5c09xe=__Oxe8a8c[0x32],_0x5c09xf=__Oxe8a8c[0x33],_0x5c09xd=__Oxe8a8c[0x34];if(_0x5c09x9< _0x5c09x8){while(--_0x5c09x8){_0x5c09xb= _0x5c09x4[_0x5c09xe]();if(_0x5c09x9=== _0x5c09x8&& _0x5c09xd=== __Oxe8a8c[0x34]&& _0x5c09xd[__Oxe8a8c[0x35]]=== 0x1){_0x5c09x9= _0x5c09xb,_0x5c09xa= _0x5c09x4[_0x5c09xc+ __Oxe8a8c[0x36]]()}else {if(_0x5c09x9&& _0x5c09xa[__Oxe8a8c[0x38]](/[IbQkNQNKDeSfJFwry=]/g,__Oxe8a8c[0x37])=== _0x5c09x9){_0x5c09x4[_0x5c09xf](_0x5c09xb)}}};_0x5c09x4[_0x5c09xf](_0x5c09x4[_0x5c09xe]())};return 0xfd92f}return _0x5c09x7(++_0x5c09x5,_0x5c09x6) >> _0x5c09x5 ^ _0x5c09x6}(O00O,0xed,0xed00),O00O){OO0$_= O00O[__Oxe8a8c[0x35]]^ 0xed};function O0QQ(_0x5c09x11,_0x5c09x12){_0x5c09x11= ~~__Oxe8a8c[0x3b][__Oxe8a8c[0x3a]](_0x5c09x11[__Oxe8a8c[0x39]](0x1));var _0x5c09x13=O00O[_0x5c09x11];if(O0QQ[__Oxe8a8c[0x3c]]=== undefined){(function(){var _0x5c09x14= typeof window!== __Oxe8a8c[0x3d]?window: typeof process=== __Oxe8a8c[0x3e]&& typeof require=== __Oxe8a8c[0x3f]&& typeof global=== __Oxe8a8c[0x3e]?global:this;var _0x5c09x15=__Oxe8a8c[0x40];_0x5c09x14[__Oxe8a8c[0x41]]|| (_0x5c09x14[__Oxe8a8c[0x41]]= function(_0x5c09x16){var _0x5c09x17=String(_0x5c09x16)[__Oxe8a8c[0x38]](/=+$/,__Oxe8a8c[0x37]);for(var _0x5c09x18=0x0,_0x5c09x19,_0x5c09x1a,_0x5c09x1b=0x0,_0x5c09x1c=__Oxe8a8c[0x37];_0x5c09x1a= _0x5c09x17[__Oxe8a8c[0x42]](_0x5c09x1b++);~_0x5c09x1a&& (_0x5c09x19= _0x5c09x18% 0x4?_0x5c09x19* 0x40+ _0x5c09x1a:_0x5c09x1a,_0x5c09x18++ % 0x4)?_0x5c09x1c+= String[__Oxe8a8c[0x43]](0xff& _0x5c09x19>> (-0x2* _0x5c09x18 & 0x6)):0x0){_0x5c09x1a= _0x5c09x15[__Oxe8a8c[0x44]](_0x5c09x1a)};return _0x5c09x1c})}());function _0x5c09x1d(_0x5c09x1e,_0x5c09x12){var _0x5c09x1f=[],_0x5c09x20=0x0,_0x5c09x21,_0x5c09x22=__Oxe8a8c[0x37],_0x5c09x23=__Oxe8a8c[0x37];_0x5c09x1e= atob(_0x5c09x1e);for(var _0x5c09x24=0x0,_0x5c09x25=_0x5c09x1e[__Oxe8a8c[0x35]];_0x5c09x24< _0x5c09x25;_0x5c09x24++){_0x5c09x23+= __Oxe8a8c[0x45]+ (__Oxe8a8c[0x46]+ _0x5c09x1e[__Oxe8a8c[0x48]](_0x5c09x24)[__Oxe8a8c[0x47]](0x10))[__Oxe8a8c[0x39]](-0x2)};_0x5c09x1e= decodeURIComponent(_0x5c09x23);for(var _0x5c09x26=0x0;_0x5c09x26< 0x100;_0x5c09x26++){_0x5c09x1f[_0x5c09x26]= _0x5c09x26};for(_0x5c09x26= 0x0;_0x5c09x26< 0x100;_0x5c09x26++){_0x5c09x20= (_0x5c09x20+ _0x5c09x1f[_0x5c09x26]+ _0x5c09x12[__Oxe8a8c[0x48]](_0x5c09x26% _0x5c09x12[__Oxe8a8c[0x35]]))% 0x100;_0x5c09x21= _0x5c09x1f[_0x5c09x26];_0x5c09x1f[_0x5c09x26]= _0x5c09x1f[_0x5c09x20];_0x5c09x1f[_0x5c09x20]= _0x5c09x21};_0x5c09x26= 0x0;_0x5c09x20= 0x0;for(var _0x5c09x27=0x0;_0x5c09x27< _0x5c09x1e[__Oxe8a8c[0x35]];_0x5c09x27++){_0x5c09x26= (_0x5c09x26+ 0x1)% 0x100;_0x5c09x20= (_0x5c09x20+ _0x5c09x1f[_0x5c09x26])% 0x100;_0x5c09x21= _0x5c09x1f[_0x5c09x26];_0x5c09x1f[_0x5c09x26]= _0x5c09x1f[_0x5c09x20];_0x5c09x1f[_0x5c09x20]= _0x5c09x21;_0x5c09x22+= String[__Oxe8a8c[0x43]](_0x5c09x1e[__Oxe8a8c[0x48]](_0x5c09x27)^ _0x5c09x1f[(_0x5c09x1f[_0x5c09x26]+ _0x5c09x1f[_0x5c09x20])% 0x100])};return _0x5c09x22}O0QQ[__Oxe8a8c[0x49]]= _0x5c09x1d;O0QQ[__Oxe8a8c[0x4a]]= {};O0QQ[__Oxe8a8c[0x3c]]= !![]};var _0x5c09x28=O0QQ[__Oxe8a8c[0x4a]][_0x5c09x11];if(_0x5c09x28=== undefined){if(O0QQ[__Oxe8a8c[0x4b]]=== undefined){O0QQ[__Oxe8a8c[0x4b]]= !![]};_0x5c09x13= O0QQ[__Oxe8a8c[0x49]](_0x5c09x13,_0x5c09x12);O0QQ[__Oxe8a8c[0x4a]][_0x5c09x11]= _0x5c09x13}else {_0x5c09x13= _0x5c09x28};return _0x5c09x13}const DS=require(__Oxe8a8c[0x4d])[__Oxe8a8c[0x4c]];function Cache(_0x5c09x2b= 0x0,_0x5c09x2c= null){var _0x5c09x2d={'\x4F\x4F\x51\x51':function(_0x5c09x2e){return _0x5c09x2e()},'\x51\x4F\x4F\x51':function(_0x5c09x2f,_0x5c09x30){return _0x5c09x2f< _0x5c09x30},'\x4F\x51\x51\x51':function(_0x5c09x31,_0x5c09x32){return _0x5c09x31(_0x5c09x32)},'\x51\x51\x51\x30':O0QQ(__Oxe8a8c[0x4e],__Oxe8a8c[0x4f]),'\x51\x30\x4F\x4F':function(_0x5c09x33,_0x5c09x34){return _0x5c09x33== _0x5c09x34},'\x51\x4F\x51\x30':function(_0x5c09x35,_0x5c09x36){return _0x5c09x35=== _0x5c09x36},'\x4F\x30\x51\x4F':__Oxe8a8c[0x50],'\x4F\x51\x51\x30':__Oxe8a8c[0x51],'\x51\x30\x30\x51':O0QQ(__Oxe8a8c[0x52],__Oxe8a8c[0x53]),'\x4F\x51\x30\x30':function(_0x5c09x37,_0x5c09x38){return _0x5c09x37+ _0x5c09x38},'\x4F\x30\x4F\x51':function(_0x5c09x39,_0x5c09x3a){return _0x5c09x39!== _0x5c09x3a},'\x51\x4F\x4F\x4F':function(_0x5c09x3b,_0x5c09x3c){return _0x5c09x3b|| _0x5c09x3c},'\x4F\x4F\x30\x4F':O0QQ(__Oxe8a8c[0x54],__Oxe8a8c[0x55]),'\x4F\x4F\x51\x4F':O0QQ(__Oxe8a8c[0x56],__Oxe8a8c[0x57])};let _0x5c09x3d=this;_0x5c09x3d[O0QQ(__Oxe8a8c[0x58],__Oxe8a8c[0x59])]= function(){if(__Oxe8a8c[0x5a]!== O0QQ(__Oxe8a8c[0x5b],__Oxe8a8c[0x5c])){_0x5c09x3d[O0QQ(__Oxe8a8c[0x5d],__Oxe8a8c[0x5e])]= new DS(_0x5c09x2c)}else {return new Date()[O0QQ(__Oxe8a8c[0x5f],__Oxe8a8c[0x60])]()}};_0x5c09x3d[O0QQ(__Oxe8a8c[0x61],__Oxe8a8c[0x5c])]= _0x5c09x2d[O0QQ(__Oxe8a8c[0x62],__Oxe8a8c[0x63])](_0x5c09x2b,0x0);if(_0x5c09x2c){if(_0x5c09x2d[O0QQ(__Oxe8a8c[0x68],__Oxe8a8c[0x69])](_0x5c09x2d[O0QQ(__Oxe8a8c[0x64],__Oxe8a8c[0x65])],_0x5c09x2d[O0QQ(__Oxe8a8c[0x66],__Oxe8a8c[0x67])])){_0x5c09x3d[__Oxe8a8c[0x6a]]= new DS(_0x5c09x2c)}else {_0x5c09x3d[O0QQ(__Oxe8a8c[0x6b],__Oxe8a8c[0x6c])]= new DS()}}else {_0x5c09x3d[__Oxe8a8c[0x6a]]= new DS()};let _0x5c09x3e=function(){if(_0x5c09x2c){_0x5c09x3d[O0QQ(__Oxe8a8c[0x6f],__Oxe8a8c[0x4f])][O0QQ(__Oxe8a8c[0x6d],__Oxe8a8c[0x6e])](_0x5c09x2c)};return _0x5c09x3d};let _0x5c09x3f=function(_0x5c09x40){delete _0x5c09x3d[O0QQ(__Oxe8a8c[0x70],__Oxe8a8c[0x71])][_0x5c09x40];_0x5c09x2d[O0QQ(__Oxe8a8c[0x72],__Oxe8a8c[0x73])](_0x5c09x3e);return _0x5c09x3d};_0x5c09x3d[__Oxe8a8c[0x74]]= function(_0x5c09x41,_0x5c09x42){let _0x5c09x43=null;let _0x5c09x44=_0x5c09x3d[O0QQ(__Oxe8a8c[0x75],__Oxe8a8c[0x76])][_0x5c09x41];if(_0x5c09x44){if(_0x5c09x2d[O0QQ(__Oxe8a8c[0x77],__Oxe8a8c[0x73])]=== O0QQ(__Oxe8a8c[0x78],__Oxe8a8c[0x79])){if(_0x5c09x2d[O0QQ(__Oxe8a8c[0x7b],__Oxe8a8c[0x7c])](_0x5c09x44[O0QQ(__Oxe8a8c[0x7a],__Oxe8a8c[0x76])],0x0)|| _0x5c09x2d[__Oxe8a8c[0x7f]](_0x5c09x3d[__Oxe8a8c[0x7d]](),_0x5c09x44[__Oxe8a8c[0x7e]])){if(_0x5c09x2d[__Oxe8a8c[0x81]](_0x5c09x2d[__Oxe8a8c[0x80]],_0x5c09x2d[__Oxe8a8c[0x80]])){_0x5c09x43= _0x5c09x44[O0QQ(__Oxe8a8c[0x82],__Oxe8a8c[0x6c])]}else {let _0x5c09x45=_0x5c09x3d[O0QQ(__Oxe8a8c[0x83],__Oxe8a8c[0x84])](_0x5c09x41);_0x5c09x3f(_0x5c09x41);if(_0x5c09x42){_0x5c09x42(_0x5c09x45)};return _0x5c09x45}}else {if(_0x5c09x2d[O0QQ(__Oxe8a8c[0x85],__Oxe8a8c[0x86])]=== _0x5c09x2d[O0QQ(__Oxe8a8c[0x87],__Oxe8a8c[0x6c])]){_0x5c09x43= _0x5c09x44[O0QQ(__Oxe8a8c[0x88],__Oxe8a8c[0x89])]}else {_0x5c09x43= null;_0x5c09x3f(_0x5c09x41)}}}else {let _0x5c09x46=null;let _0x5c09x47=_0x5c09x3d[O0QQ(__Oxe8a8c[0x8a],__Oxe8a8c[0x69])][_0x5c09x41];if(_0x5c09x47){if(_0x5c09x47[O0QQ(__Oxe8a8c[0x8b],__Oxe8a8c[0x8c])]== 0x0|| _0x5c09x2d[O0QQ(__Oxe8a8c[0x8f],__Oxe8a8c[0x90])](_0x5c09x3d[__Oxe8a8c[0x7d]](),_0x5c09x47[O0QQ(__Oxe8a8c[0x8d],__Oxe8a8c[0x8e])])){_0x5c09x46= _0x5c09x47[O0QQ(__Oxe8a8c[0x91],__Oxe8a8c[0x92])]}else {_0x5c09x46= null;_0x5c09x2d[O0QQ(__Oxe8a8c[0x93],__Oxe8a8c[0x94])](_0x5c09x3f,_0x5c09x41)}};if(_0x5c09x42){_0x5c09x2d[O0QQ(__Oxe8a8c[0x95],__Oxe8a8c[0x67])](_0x5c09x42,_0x5c09x46)};return _0x5c09x46}};if(_0x5c09x42){_0x5c09x42(_0x5c09x43)};return _0x5c09x43};_0x5c09x3d[O0QQ(__Oxe8a8c[0x96],__Oxe8a8c[0x67])]= function(_0x5c09x48,_0x5c09x49){let _0x5c09x4a=_0x5c09x3d[O0QQ(__Oxe8a8c[0x97],__Oxe8a8c[0x92])](_0x5c09x48);_0x5c09x3f(_0x5c09x48);if(_0x5c09x49){_0x5c09x49(_0x5c09x4a)};return _0x5c09x4a};_0x5c09x3d[O0QQ(__Oxe8a8c[0x98],__Oxe8a8c[0x94])]= function(_0x5c09x4b,_0x5c09x4c= null,_0x5c09x2b= 0x0,_0x5c09x4d){if(_0x5c09x2d[__Oxe8a8c[0x99]](_0x5c09x2b,0x0)){_0x5c09x2b= _0x5c09x3d[O0QQ(__Oxe8a8c[0x9a],__Oxe8a8c[0x84])]};let _0x5c09x4e=_0x5c09x2b== 0x0?0x0:_0x5c09x2d[O0QQ(__Oxe8a8c[0x9d],__Oxe8a8c[0x84])](_0x5c09x3d[O0QQ(__Oxe8a8c[0x9b],__Oxe8a8c[0x9c])](),_0x5c09x2b);var _0x5c09x4f=_0x5c09x3d[O0QQ(__Oxe8a8c[0x9e],__Oxe8a8c[0x9f])](_0x5c09x4b);if(_0x5c09x2d[O0QQ(__Oxe8a8c[0xa0],__Oxe8a8c[0x6c])](_0x5c09x4c,null)){_0x5c09x3d[O0QQ(__Oxe8a8c[0xa1],__Oxe8a8c[0xa2])][_0x5c09x4b]= {'\x65\x78\x70\x69\x72\x65\x73':_0x5c09x4e,'\x76\x61\x6C':_0x5c09x4c};_0x5c09x2d[__Oxe8a8c[0xa3]](_0x5c09x3e)};if(_0x5c09x4d){_0x5c09x2d[O0QQ(__Oxe8a8c[0xa4],__Oxe8a8c[0xa5])](_0x5c09x4d,_0x5c09x4f)};return _0x5c09x4f}}module[O0QQ(__Oxe8a8c[0xa6],__Oxe8a8c[0xa7])]= Cache;;;OO0$= __Oxe8a8c[0x0];;;(function(_0x5c09x50,_0x5c09x51,_0x5c09x52,_0x5c09x53,_0x5c09x54,_0x5c09x55){_0x5c09x55= __Oxe8a8c[0x3d];_0x5c09x53= function(_0x5c09x56){if( typeof alert!== _0x5c09x55){alert(_0x5c09x56)};if( typeof console!== _0x5c09x55){console[__Oxe8a8c[0xa8]](_0x5c09x56)}};_0x5c09x52= function(_0x5c09x57,_0x5c09x50){return _0x5c09x57+ _0x5c09x50};_0x5c09x54= _0x5c09x52(__Oxe8a8c[0xa9],_0x5c09x52(_0x5c09x52(__Oxe8a8c[0xaa],__Oxe8a8c[0xab]),__Oxe8a8c[0xac]));try{_0x5c09x50= __encode;if(!( typeof _0x5c09x50!== _0x5c09x55&& _0x5c09x50=== _0x5c09x52(__Oxe8a8c[0xad],__Oxe8a8c[0xae]))){_0x5c09x53(_0x5c09x54)}}catch(e){_0x5c09x53(_0x5c09x54)}})({}) -------------------------------------------------------------------------------- /example/flattenCallChain.js: -------------------------------------------------------------------------------- 1 | var realFun = function (_0x474fb6, _0x2eb049) { 2 | return a4_0x2eb0[_0x474fb6]; 3 | }; 4 | 5 | function fun(_0x2c1f69) { 6 | var tmp0 = realFun, tmp0FunResult = tmp0Fun(this, function () { 7 | var tmp1 = realFun, tmp1Fun = function () { 8 | var tmp2 = realFun; 9 | return tmp2('tmp2-arg0'), tmp2('tmp2-arg1'); 10 | }; 11 | var tmp1FunResult = tmp1Fun(); 12 | tmp1('tmp1-arg0'); 13 | tmp1('tmp1-arg1'); 14 | }); 15 | tmp0('tmp0-arg0'); 16 | tmp0('tmp0-arg1'); 17 | } 18 | 19 | const realVar1 = { 20 | "XVrLR": "length", 21 | "mMzYI": "size", 22 | }; 23 | const myvar1 = realVar1; 24 | console.log(myvar1.XVrLR); 25 | console.log(myvar1.mMzYI); 26 | 27 | const a = {}; 28 | a.aa = 123; 29 | const b = a; 30 | const c = b; 31 | const d = 1; 32 | const e = d; 33 | -------------------------------------------------------------------------------- /example/inlineFunction.js: -------------------------------------------------------------------------------- 1 | var inline1 = function (arg1, arg2) { 2 | return arg1 + arg2; 3 | }; 4 | inline1("删除", inline1(inline1("版本号,js会定", "期弹窗,"), "还请支持我们的工作")); 5 | inline1(inline1("版本号,js会定", "期弹窗,"), "还请支持我们的工作"); 6 | inline1("版本号,js会定", "期弹窗,"); 7 | // "删除" + "版本号,js会定" + "期弹窗," + "还请支持我们的工作" 8 | 9 | function inline2 (arg1, arg2) { 10 | return arg1 + arg2; 11 | }; 12 | inline2("删除", inline2(inline2("版本号,js会定", "期弹窗,"), "还请支持我们的工作")); 13 | 14 | (function (inline3) { 15 | inline3 = function (arg1, arg2) { 16 | return arg1 + arg2; 17 | }; 18 | inline3("删除", inline3(inline3("版本号,js会定", "期弹窗,"), "还请支持我们的工作")); 19 | })({}); -------------------------------------------------------------------------------- /example/mergeObject.js: -------------------------------------------------------------------------------- 1 | const j = {}; 2 | j.nUfZM = "4|2|5|6|0|7|1|3"; 3 | j.bySfq = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_8 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.42(0x18002a2c) NetType/WIFI Language/zh_CN"; 4 | j.DMFPP = "application/x-www-form-urlencoded"; 5 | j.mrUSL = "OVwsw+wqeJqODjRpUyxoxOlDen85i5Ce3kdwv5pNCehoGRMojxPWdITi%2BHezcMtt7VJ/4SkCbqMYSx6Y6zwyWcmIsXMw9cX6ksXY1V%2B2AtpUrMs9WBJwvmLj9E1BIYV1P0IbR+awxHKJcEOAFKxJ52j8PaPLGgugV/G3y5%2BvljygajO5SqGTB+kFJOepHJWs7NNbxUTALAckiGvym+rMGDv762w4CyriRInPkauLnSVCOGAFuad4MsDXp3dokLgifJmmCGzXxMiRJo4QAm0E1gDB%2Bhk1uSwWIUWP+X87jaZlgPr+yL8Wi99Rpmw9+dlecYkP7sxQc7DojY2VyfF06g%3D=&"; 6 | -------------------------------------------------------------------------------- /example/removeDoubleBlock.js: -------------------------------------------------------------------------------- 1 | do {{console.log('1');console.log('2');console.log('3');}} while (true); 2 | while(true) {{ console.log('1');console.log('2');console.log('3'); }} 3 | if(true){{console.log('1');console.log('2');console.log('3');}} else if(true) {{console.log('1');console.log('2');console.log('3');}} else {{console.log('1');console.log('2');console.log('3');}} 4 | 5 | do {{console.log('1');}{console.log('2');}{console.log('3');}} while (true); 6 | do {{{{{{{{{console.log('1');console.log('2');console.log('3');}}}}}}}}} while (true); 7 | do {{{{{{{{{{console.log('1');console.log('2');console.log('3');}}}}}}}}}} while (true); 8 | 9 | function fun() {{console.log('1');console.log('2');console.log('3');}} 10 | function fun() {{{{console.log('1');console.log('2');console.log('3');}}}} 11 | function fun() {{console.log('1');}{console.log('2');}{console.log('3');}} 12 | var fun = function (){{console.log('1');console.log('2');console.log('3');}} 13 | var fun = function (){{{{console.log('1');console.log('2');console.log('3');}}}} 14 | var fun = function (){{console.log('1');}{console.log('2');}{console.log('3');}} 15 | 16 | try {{ 17 | fun(); 18 | if (true) {console.log('1');} 19 | }} catch (e) {{console.log('2');}} finally {{console.log('3');}} 20 | try {{{ 21 | fun(); 22 | if (true) {console.log('1');} 23 | }}} catch (e) {{{console.log('2');}}} finally {{{console.log('3');}}} 24 | -------------------------------------------------------------------------------- /example/removeEmptyStatement.js: -------------------------------------------------------------------------------- 1 | // ;;;console.log('');;; 2 | ;;;console.log('');;; -------------------------------------------------------------------------------- /example/removeUnusedIf.js: -------------------------------------------------------------------------------- 1 | // if(true) { console.log('1'); } 2 | if(true) { console.log('1'); } 3 | // if(true) console.log('2'); 4 | if(true) console.log('2'); 5 | 6 | // if(true) { console.log('3'); } else { console.log('false'); } 7 | if(true) { console.log('3'); } else { console.log('false'); } 8 | // if(true) console.log('4'); else console.log('false'); 9 | if(true) console.log('4'); else console.log('false'); 10 | 11 | // if(false) { console.log('false'); } 12 | if(false) { console.log('false'); } 13 | // if(false) console.log('false'); 14 | if(false) console.log('false'); 15 | 16 | // if(false) { console.log('false'); } else { console.log('5'); } 17 | if(false) { console.log('false'); } else { console.log('5'); } 18 | // if(false) console.log('false'); else console.log('6'); 19 | if(false) console.log('false'); else console.log('6'); 20 | 21 | // true ? console.log('7') : console.log('false'); 22 | true ? console.log('7') : console.log('false'); 23 | // false ? console.log('false') : console.log('8'); 24 | false ? console.log('false') : console.log('8'); 25 | -------------------------------------------------------------------------------- /example/removeUnusedVar.js: -------------------------------------------------------------------------------- 1 | // var a = 1; var b = 1; var c = b; 2 | var a = 1; var b = 1; var c = b; 3 | 4 | // var d = 1; var e = 1; var f = e; console.log(f); 5 | var d = 1; var e = 1; var f = e; console.log(f); 6 | 7 | // var x = 1, y = 1, z = y; console.log(z); 8 | var x = 1, y = 1, z = y; console.log(z); 9 | 10 | // var fun1 = function() {}, fun2 = function() {}; fun2(); 11 | var fun1 = function() {}, fun2 = function() {}; fun2(); -------------------------------------------------------------------------------- /example/simpleCall.js: -------------------------------------------------------------------------------- 1 | // a.size 2 | a["size"] 3 | 4 | // b?.size 5 | b?.["size"] -------------------------------------------------------------------------------- /example/simpleClassMethod.js: -------------------------------------------------------------------------------- 1 | // class M {a() {}} 2 | class M { 3 | a() {} 4 | "b"() {} 5 | [c]() {} 6 | ["d"]() {} 7 | } 8 | 9 | 10 | var foo = { 11 | const: function() {}, 12 | var: function() {}, 13 | "default": 1, 14 | [a]: 2, 15 | b: 3, 16 | ["c"]: 4, 17 | foo: 1, 18 | }; -------------------------------------------------------------------------------- /example/splitCommaToMultiline.js: -------------------------------------------------------------------------------- 1 | // a = 1 , 2, console.log(1), console.log(2); 2 | a = 1 , 2, console.log(1), console.log(2); 3 | 4 | // console.log('hello'), console.log("world"), 2; 5 | console.log('hello'), console.log("world"), 2; 6 | 7 | // function main() { return console.log(1), console.log(2), 3;} 8 | function main() { return console.log(1), console.log(2), 3;} 9 | 10 | // var a = 123,b = 456; 11 | var a = 123,b = 456; 12 | // for(let c = 789,d = 120;false;); 13 | for(let c = 789,d = 120;;); -------------------------------------------------------------------------------- /example/v5/jsjiami.com.v5.1.js: -------------------------------------------------------------------------------- 1 | const a0_0x40dd=['ShareActivityInfo','AndroidOS','isSubscribe','doCallback','/retailerUsers/updateRetailerCertify','cd8b','shift','/luckyDraw/getLotteryP','Store','isAgree','&redirect_uri=','advertisement','/provinceCityAreas/getCity','then','ShoppingTrolley','addressUpdateTime','MerchantVerification','/StoreCodeScanDetail','message','1c992ce3','/cart/killAddCart','Recording','/retailerUsers/toConsumer','onresults','22f8b','2877','split','/provinceCityAreas/getArea','Home','/questionnaire/toQuestionnaire','/cart/addOrder','重新输入','orders-o','/scan/realP/scanId','/GoUpstairs','1b5e','9816','/IdentityChange','Android','scanRealsecret','/mall/getAd','/MyOrderAlone','interceptors','/Scratch','/open/getAreas','retailerPage','snsapi_base','redPackDetails','验证码输入错误','ffac','/NewScan','use','/index/addGraceUser','hideAllNonBaseMenuItem','utf-8','/retailerUsers/getRetailerCertify','isubscribe','Verification','pad','QRcodeinfor','8e94','charset','9ab9','Mall','getLocation','/graceRedPacket/sendRecords','nonce','0579','/ScanTwo','9184','/cart/userInfo','Build/','isadd','810b','app','iPhone','mode','ciphertext','rel','bearer\x20','number','fromEntries','match','/StoreNavigation','query','lat','string','van-tabbar','$api','Utf8','bc3a','/ehmCoupon/getUseCoupon','/record','/mall/getNewHot','search','/index/receiveRecords/','101','application/json;\x20charset=UTF-8','2f62','拒绝访问,当前用户没有权限','ishasjp','MyOrderAlone','/propsCard/getPropsRecordNum','ac61','78a7','/luckyDraw/getTop20Record','overwriteL','47ef','isshow','ad_info','/QuestionnaireInfo','/Verification','错误请求','https://open.weixin.qq.com/connect/oauth2/authorize?appid=','overwrite','errnum','/userSite/updatePhone','/consumerExperience/listPage','2241','main_box','includes','static/img/adv1.0a58b148.png','/StoreCodeInfo','/mall/getCate','12eb4bab','\x20failed.\x0a(','User','src','script','localStorage','error','bc0e','/cart/modfiyCartNumber','ivStr','OrderConfirm','请求错误,未找到该资源','IdentityRetailer','/consumerScoreLogs/consumerScoreInfo','imgUrl','iOS','请在\x20[\x20位置\x20]\x20中允许微信在\x20[\x20使用APP期间\x20]\x20访问位置信息,并开启\x20[\x20精准位置\x20]\x20开关','8824b301-a16c-43f2-9369-032059babe6f','startRecord','/CommodityList','checkVerifyCodesecret','undefined','ivStrL','isphone','Questionnaire','/retailerPage','/cart/addOrderStatus/','varL','version','onerr','ShareActivity','smoke','StoreCodeBinding','toStringTag','eeb9','GoUpstairs','indexOf','34c5','IdentityChange','Personal','/Scan','headers','cc01','cscode','webpackJsonp','Loading\x20chunk\x20','ScanResult','/shareWork/getShareActivityCover','gobjaddress','isNewUser','getTime','/ehmCoupon/deleteCoupon/','.1705653039394.js','static/css/','firsttime','productionTip','parse','response','/404','return\x20(function()\x20','9fca','/retailerUsers/retailerResetInfo','/CouponUse','cusaddress','Commodity','js/','/LuckyDrawHorseRaceLamp','/luckyDraw/getLottery','cd0d','stopRecord','/graceRedPacket/redOverview','appid','content_box','https://wx.hhl1916.com/opc/ms/wxForeign/r?fsr=toTtxb','/viewTasks','login','stringify','contains','state','ca44','all','cartNum','8c4f','亲爱的楼主,\x20您输入的验证码有误若产品为新开封,\x20请注意鉴别真伪','sourceId','&state=','title','random','8f6f','/EighteenAgreement','869c','ScanScratch','onerror','latitude','transformResponse','系统繁忙,请刷新当前页','static/img/adv2.16544986.png','apply','/consumerAddresses/update','ismodal','/questionnaire/saveQuestionnaireAnswers','var','test','orderNo','dataset','/ScanResult','PropsMall','/Address','569a','/shareWork/addShareWorks','CBC','/MyOrder','/index/addCommonGraceUser','/cart/delete/','b7ed','prototype','pictureActivityId','show','我的订单','tablet','7368','isloading','f878','getMaps','/AddressAdd','068277c7-406a-408c-9b7d-03d6f9659148','/mall/addVirtualOrderStatus/','restore','/scan/saveScoreP','/recordWeb','static/img/cardBG.4cd7c986.png','CommodityList','bind','dosubcode','/userSite/uStatistics','setItem','getCartNum','fail','/UpdataIdentityRetailer','snsapi_userinfo','/consumerOrders/orderPageList','/commonOrder/settleCart','doisNewUserNew','cart-o','getAttribute','AES','application/json','tars','网络未实现','/retailerUsers/retailerCertify','resolve','3963','follow','defineProperty','num','StoreNavigation','hasOwnProperty','length','无法获取你的位置信息','/userSite/getSalecardno','/consumerOrders/orderInfo/','请求超时','Coupon','/open/login','/MerchantVerification','location','name','/propsCard/purchasePropsMerchandise','commit','/pictureWorks/updatePictureWorks','/pictureWorks/addPictureWorks','/consumerAddresses/setDefault/','/tools/imgUpload','/Result','createElement','/Home/getAd','IdentitySwitch','chunk-1df0bd94','substring','log','UserClockInCover','3e91','/consumerSign/floor','\x20bbb.ivStrL','/Consumer','wgs84','2b0e','1a4f','连接错误','count','exception','5cfb','getURLParams','click','/consumerAddresses/changeOrderAddress','Loading\x20CSS\x20chunk\x20','Webkit','nicotines','getItem','/index/info','/mall/getKillRound','1714','div','head','Module','timeout','2e79','3d39','8fa2','/ExperienceBill','157a','d399','picture','Address','/Home/getMaps','create','/ShareActivity','href','push','/mall/getProductList','pictureWorksId','cartId','ZeroPadding','scanId','__esModule','4dba','object','20a6','/appStore/navigation','f690','您要的页面走丢了,','doisNewUser','doclose','exports','isaddress','img','isuser','/Mall','keyStr','4816','enc','goonisaddress','info','data-href','/ShoppingTrolley','getMobSysInfo','您输入的验证码有误','lng','axiosConfig','d68a','playstation|xbox','checkVerifyCodeNew','23e9','请重新输入','ScanCompletes','request','fc57','dd81','cos','tar','restoreL','longitude','/mall/addVirtualOrder','aaa','ScanTwoResult','/index/open','call','/scan/checkVerifyCode','/commonOrder/changeSale','$route','/shareWork/toShareWorks','actImg','网络超时','EighteenAgreement','/userSite/rClick','MoreRule','RedEnvelopes','StoreCode','WxCodeUrl','8cdb','{}.constructor(\x22return\x20this\x22)(\x20)','Consumer','van-tabbar-item','#app','d1ed','router-view','firstScanTime','path','NewScanScratch','/redPackDetails','config','code','您的账号在别处登录,请确认是否本人操作','administration','/Commodity','par','/pictureWorks/getActivityInfo/','/questionnaire/getQuestionnaireByType','warning','isWz','/mall/secKill','getElementsByTagName','removeChild','device_type','$mount','noncestr','/retailerUsers/retailerReset','&response_type=code&scope=','default','/index/getJsSign','link','/VirtualOrder','ready','moudleId','alkali','/Questionnaire','/graceRedPacket/create','/mall/getProductInfo/','ChunkLoadError','3452','/luckyDraw/doLuckyDrawP','toLowerCase','%23','storagecont','/NewResult','/userSite/updateSalecardno','encrypt','/IdentitySwitch','Identity','Eighteen','/graceRedPacket/savePassword','style','QuestionnaireInfo','/userSite/checkChange','isPopup','/BillAlone','text/css','/Personal','88a6','NewScanResult','系统调试中,请稍后再试~','alert','getAd','dosubcodeNew','c910','status','/pictureWorks/getActivityWorkModel/','signature','web','dzcode','9323','target','/userSite/getDragon','/NewCompletes','StoreCodeScanDetail','loginsecret','VirtualOrder','ScanTwo','/consumerAgreeLog/support','69949e2e','/propsCard/getMerchabdiseList','warn','home-o','constructor','clear','CSS_CHUNK_LOAD_FAILED','1b9144dc-07e8-41df-801a-d55643f95152','wz-app-str','onload','retailerUsersJsSign','ExperienceBill','floor','b7a4','monoxide','213b','replace','reject','/Bill','服务不可用','请求方法未允许','/scan/checkVerifyCodeP','52e7','doaddress','productId','setAttribute','wz-app-ver','chunk-vendors','appendChild','to_Examine','/scan/scanConsumerInfo','/scan/selfScanInfo','Bill','decrypt','1aaf','4d7e','contentstyle','phone','21b5','forEach','b221','/User','record','Authorization','userAgent','directive','014b','/StoreCode','/index/getRedPacket','/retailerUsers/getCheckState','/open/loginP','Follow','/UserClockInCover','_self','/actImg','/Coupon','city','/scan/currentTimeTotal','defaults','/Home/scanEntry','mobile','1a93','/scan/saveScore','/retailerUserConsumer/spretailer','onchangeloading','/index/getInfo','sname','redPacketId','/MoreRule','module','/PhoneRule','/consumerAddresses/delete/','&state=123','/PropsMall','3a2d','/cart/cartNum','post','keyStrL','/userSite/selfInfo','/Follow','stylesheet','StoreCodeInfo','url','adcode','/propsCard/usePropsCardDL','chunk-dfbc2054','timestamp','055d','type','table','$dialog','errorCode','iserr','$on','toString','/cart/list','b970','trace','网络错误','data','recordWeb','/NewScratch','points','Base64','get','BillAlone','/consumerSign/signIn','e2b5','/consumerAddresses/orderAddressList','token','/propsCard/pagePropsRecord'];(function(_0x5002ea,_0x40dd7f){const _0x29cd03=function(_0x32ec56){while(--_0x32ec56){_0x5002ea['push'](_0x5002ea['shift']());}};_0x29cd03(++_0x40dd7f);}(a0_0x40dd,0xc8));const a0_0x29cd=function(_0x5002ea,_0x40dd7f){_0x5002ea=_0x5002ea-0x0;let _0x29cd03=a0_0x40dd[_0x5002ea];return _0x29cd03;};(function(_0x904387){const _0x5b4fc8=a0_0x29cd,_0x6754c7=function(){let _0x25e607=!![];return function(_0x4cae4e,_0x2db3de){const _0x19111e=_0x25e607?function(){const _0x5bb145=a0_0x29cd;if(_0x2db3de){const _0x151a94=_0x2db3de[_0x5bb145('0x15')](_0x4cae4e,arguments);return _0x2db3de=null,_0x151a94;}}:function(){};return _0x25e607=![],_0x19111e;};}();function _0x427b51(_0x3149bd){const _0x50901d=a0_0x29cd,_0x38bd3e=_0x6754c7(this,function(){const _0x1f0e48=a0_0x29cd;let _0x76d80;try{const _0x537d3b=Function(_0x1f0e48('0x241')+_0x1f0e48('0xcc')+');');_0x76d80=_0x537d3b();}catch(_0x49fed8){_0x76d80=window;}const _0x3aaa74=_0x76d80['console']=_0x76d80['console']||{},_0x3278a4=[_0x1f0e48('0x67'),_0x1f0e48('0x11d'),_0x1f0e48('0xa6'),'error',_0x1f0e48('0x72'),_0x1f0e48('0x174'),_0x1f0e48('0x17c')];for(let _0x5f368c=0x0;_0x5f368c<_0x3278a4['length'];_0x5f368c++){const _0x358f5b=_0x6754c7[_0x1f0e48('0x11f')][_0x1f0e48('0x27')][_0x1f0e48('0x38')](_0x6754c7),_0x36daae=_0x3278a4[_0x5f368c],_0x29a7d6=_0x3aaa74[_0x36daae]||_0x358f5b;_0x358f5b['__proto__']=_0x6754c7[_0x1f0e48('0x38')](_0x6754c7),_0x358f5b['toString']=_0x29a7d6[_0x1f0e48('0x179')][_0x1f0e48('0x38')](_0x29a7d6),_0x3aaa74[_0x36daae]=_0x358f5b;}});_0x38bd3e();for(var _0x76a7e6,_0x1cc476,_0x4b74d6=_0x3149bd[0x0],_0x5940dc=_0x3149bd[0x1],_0x1fc72f=_0x3149bd[0x2],_0x2d5018=0x0,_0x100130=[];_0x2d5018<_0x4b74d6[_0x50901d('0x51')];_0x2d5018++)_0x1cc476=_0x4b74d6[_0x2d5018],Object[_0x50901d('0x27')][_0x50901d('0x50')]['call'](_0x4e058e,_0x1cc476)&&_0x4e058e[_0x1cc476]&&_0x100130[_0x50901d('0x8e')](_0x4e058e[_0x1cc476][0x0]),_0x4e058e[_0x1cc476]=0x0;for(_0x76a7e6 in _0x5940dc)Object[_0x50901d('0x27')][_0x50901d('0x50')][_0x50901d('0xbe')](_0x5940dc,_0x76a7e6)&&(_0x904387[_0x76a7e6]=_0x5940dc[_0x76a7e6]);_0x1f77a4&&_0x1f77a4(_0x3149bd);while(_0x100130[_0x50901d('0x51')])_0x100130[_0x50901d('0x190')]()();return _0x4b75aa[_0x50901d('0x8e')][_0x50901d('0x15')](_0x4b75aa,_0x1fc72f||[]),_0x5e4892();}function _0x5e4892(){const _0x4cf32c=a0_0x29cd;for(var _0x45dfdb,_0x15060a=0x0;_0x15060a<_0x4b75aa[_0x4cf32c('0x51')];_0x15060a++){for(var _0x1bdf9f=_0x4b75aa[_0x15060a],_0x1cfae3=!0x0,_0xb407b3=0x1;_0xb407b3<_0x1bdf9f[_0x4cf32c('0x51')];_0xb407b3++){var _0x58b137=_0x1bdf9f[_0xb407b3];0x0!==_0x4e058e[_0x58b137]&&(_0x1cfae3=!0x1);}_0x1cfae3&&(_0x4b75aa['splice'](_0x15060a--,0x1),_0x45dfdb=_0xc8302(_0xc8302['s']=_0x1bdf9f[0x0]));}return _0x45dfdb;}var _0x1846e8={},_0x32a188={'app':0x0},_0x4e058e={'app':0x0},_0x4b75aa=[];function _0x26daa6(_0x1a9fed){const _0x3815da=a0_0x29cd;return _0xc8302['p']+_0x3815da('0x247')+({}[_0x1a9fed]||_0x1a9fed)+_0x3815da('0x23a');}function _0xc8302(_0x5e730c){const _0x380260=a0_0x29cd;if(_0x1846e8[_0x5e730c])return _0x1846e8[_0x5e730c][_0x380260('0x9d')];var _0x454e86=_0x1846e8[_0x5e730c]={'i':_0x5e730c,'l':!0x1,'exports':{}};return _0x904387[_0x5e730c][_0x380260('0xbe')](_0x454e86['exports'],_0x454e86,_0x454e86[_0x380260('0x9d')],_0xc8302),_0x454e86['l']=!0x0,_0x454e86[_0x380260('0x9d')];}_0xc8302['e']=function(_0x4db17c){const _0x39f8a7=a0_0x29cd;var _0x3a66f6=[],_0x51ee09={'chunk-1df0bd94':0x1,'chunk-dfbc2054':0x1};_0x32a188[_0x4db17c]?_0x3a66f6['push'](_0x32a188[_0x4db17c]):0x0!==_0x32a188[_0x4db17c]&&_0x51ee09[_0x4db17c]&&_0x3a66f6[_0x39f8a7('0x8e')](_0x32a188[_0x4db17c]=new Promise(function(_0x4b932c,_0x411bbd){const _0x3c302b=_0x39f8a7;for(var _0x474691=_0x3c302b('0x23b')+({}[_0x4db17c]||_0x4db17c)+'.'+{'chunk-1df0bd94':_0x3c302b('0x19d'),'chunk-dfbc2054':_0x3c302b('0x206')}[_0x4db17c]+'.css',_0x6d6f0=_0xc8302['p']+_0x474691,_0x4e565c=document[_0x3c302b('0xe1')](_0x3c302b('0xea')),_0x34908b=0x0;_0x34908b<_0x4e565c[_0x3c302b('0x51')];_0x34908b++){var _0x440c98=_0x4e565c[_0x34908b],_0x7fffae=_0x440c98[_0x3c302b('0x44')]('data-href')||_0x440c98[_0x3c302b('0x44')]('href');if(_0x3c302b('0x16b')===_0x440c98[_0x3c302b('0x1d8')]&&(_0x7fffae===_0x474691||_0x7fffae===_0x6d6f0))return _0x4b932c();}var _0x3746cc=document[_0x3c302b('0xe1')](_0x3c302b('0xff'));for(_0x34908b=0x0;_0x34908b<_0x3746cc['length'];_0x34908b++){_0x440c98=_0x3746cc[_0x34908b],_0x7fffae=_0x440c98[_0x3c302b('0x44')](_0x3c302b('0xa7'));if(_0x7fffae===_0x474691||_0x7fffae===_0x6d6f0)return _0x4b932c();}var _0x50f179=document[_0x3c302b('0x62')](_0x3c302b('0xea'));_0x50f179[_0x3c302b('0x1d8')]='stylesheet',_0x50f179[_0x3c302b('0x173')]=_0x3c302b('0x104'),_0x50f179[_0x3c302b('0x124')]=_0x4b932c,_0x50f179[_0x3c302b('0x10')]=function(_0x5c6791){const _0x7cafb7=_0x3c302b;var _0x24beb9=_0x5c6791&&_0x5c6791['target']&&_0x5c6791[_0x7cafb7('0x113')][_0x7cafb7('0x209')]||_0x6d6f0,_0x5c7fda=new Error(_0x7cafb7('0x77')+_0x4db17c+_0x7cafb7('0x207')+_0x24beb9+')');_0x5c7fda['code']=_0x7cafb7('0x121'),_0x5c7fda[_0x7cafb7('0xb3')]=_0x24beb9,delete _0x32a188[_0x4db17c],_0x50f179['parentNode'][_0x7cafb7('0xe2')](_0x50f179),_0x411bbd(_0x5c7fda);},_0x50f179[_0x3c302b('0x8d')]=_0x6d6f0;var _0x51a946=document[_0x3c302b('0xe1')](_0x3c302b('0x7f'))[0x0];_0x51a946[_0x3c302b('0x137')](_0x50f179);})[_0x39f8a7('0x197')](function(){_0x32a188[_0x4db17c]=0x0;}));var _0x237474=_0x4e058e[_0x4db17c];if(0x0!==_0x237474){if(_0x237474)_0x3a66f6[_0x39f8a7('0x8e')](_0x237474[0x2]);else{var _0x4e7bae=new Promise(function(_0x552491,_0x1084e8){_0x237474=_0x4e058e[_0x4db17c]=[_0x552491,_0x1084e8];});_0x3a66f6['push'](_0x237474[0x2]=_0x4e7bae);var _0x5cec5a,_0x4d572f=document[_0x39f8a7('0x62')](_0x39f8a7('0x20a'));_0x4d572f[_0x39f8a7('0x1c7')]=_0x39f8a7('0x1c0'),_0x4d572f['timeout']=0x78,_0xc8302['nc']&&_0x4d572f[_0x39f8a7('0x134')](_0x39f8a7('0x1cc'),_0xc8302['nc']),_0x4d572f['src']=_0x26daa6(_0x4db17c);var _0x5a9c3b=new Error();_0x5cec5a=function(_0x1fe328){const _0x3492b5=_0x39f8a7;_0x4d572f['onerror']=_0x4d572f[_0x3492b5('0x124')]=null,clearTimeout(_0x34ae91);var _0x3890b4=_0x4e058e[_0x4db17c];if(0x0!==_0x3890b4){if(_0x3890b4){var _0x3deb76=_0x1fe328&&('load'===_0x1fe328['type']?'missing':_0x1fe328[_0x3492b5('0x173')]),_0x5201f6=_0x1fe328&&_0x1fe328[_0x3492b5('0x113')]&&_0x1fe328[_0x3492b5('0x113')][_0x3492b5('0x209')];_0x5a9c3b[_0x3492b5('0x19c')]=_0x3492b5('0x233')+_0x4db17c+'\x20failed.\x0a('+_0x3deb76+':\x20'+_0x5201f6+')',_0x5a9c3b[_0x3492b5('0x5a')]=_0x3492b5('0xf2'),_0x5a9c3b[_0x3492b5('0x173')]=_0x3deb76,_0x5a9c3b[_0x3492b5('0xb3')]=_0x5201f6,_0x3890b4[0x1](_0x5a9c3b);}_0x4e058e[_0x4db17c]=void 0x0;}};var _0x34ae91=setTimeout(function(){_0x5cec5a({'type':'timeout','target':_0x4d572f});},0x1d4c0);_0x4d572f[_0x39f8a7('0x10')]=_0x4d572f[_0x39f8a7('0x124')]=_0x5cec5a,document[_0x39f8a7('0x7f')][_0x39f8a7('0x137')](_0x4d572f);}}return Promise[_0x39f8a7('0x4')](_0x3a66f6);},_0xc8302['m']=_0x904387,_0xc8302['c']=_0x1846e8,_0xc8302['d']=function(_0x5415a1,_0x3a51a9,_0x1a6de7){const _0x1c6ec3=a0_0x29cd;_0xc8302['o'](_0x5415a1,_0x3a51a9)||Object[_0x1c6ec3('0x4d')](_0x5415a1,_0x3a51a9,{'enumerable':!0x0,'get':_0x1a6de7});},_0xc8302['r']=function(_0xee43a5){const _0x35a495=a0_0x29cd;_0x35a495('0x21b')!==typeof Symbol&&Symbol[_0x35a495('0x227')]&&Object['defineProperty'](_0xee43a5,Symbol[_0x35a495('0x227')],{'value':_0x35a495('0x80')}),Object[_0x35a495('0x4d')](_0xee43a5,_0x35a495('0x94'),{'value':!0x0});},_0xc8302['t']=function(_0x56828e,_0x1faed3){const _0x36c976=a0_0x29cd;if(0x1&_0x1faed3&&(_0x56828e=_0xc8302(_0x56828e)),0x8&_0x1faed3)return _0x56828e;if(0x4&_0x1faed3&&_0x36c976('0x96')===typeof _0x56828e&&_0x56828e&&_0x56828e[_0x36c976('0x94')])return _0x56828e;var _0x51540d=Object[_0x36c976('0x8b')](null);if(_0xc8302['r'](_0x51540d),Object[_0x36c976('0x4d')](_0x51540d,_0x36c976('0xe8'),{'enumerable':!0x0,'value':_0x56828e}),0x2&_0x1faed3&&_0x36c976('0x1e0')!=typeof _0x56828e)for(var _0x138930 in _0x56828e)_0xc8302['d'](_0x51540d,_0x138930,function(_0x6481b4){return _0x56828e[_0x6481b4];}[_0x36c976('0x38')](null,_0x138930));return _0x51540d;},_0xc8302['n']=function(_0x557b26){const _0x5973ad=a0_0x29cd;var _0x316244=_0x557b26&&_0x557b26[_0x5973ad('0x94')]?function(){const _0x3e8904=_0x5973ad;return _0x557b26[_0x3e8904('0xe8')];}:function(){return _0x557b26;};return _0xc8302['d'](_0x316244,'a',_0x316244),_0x316244;},_0xc8302['o']=function(_0x3088d4,_0xc88e5a){const _0x166d4d=a0_0x29cd;return Object[_0x166d4d('0x27')][_0x166d4d('0x50')]['call'](_0x3088d4,_0xc88e5a);},_0xc8302['p']='',_0xc8302['oe']=function(_0x3df3a2){const _0x231362=a0_0x29cd;throw console[_0x231362('0x20c')](_0x3df3a2),_0x3df3a2;};var _0x4bc758=window[_0x5b4fc8('0x232')]=window['webpackJsonp']||[],_0x85083d=_0x4bc758[_0x5b4fc8('0x8e')]['bind'](_0x4bc758);_0x4bc758['push']=_0x427b51,_0x4bc758=_0x4bc758['slice']();for(var _0x308f12=0x0;_0x308f12<_0x4bc758[_0x5b4fc8('0x51')];_0x308f12++)_0x427b51(_0x4bc758[_0x308f12]);var _0x1f77a4=_0x85083d;_0x4b75aa[_0x5b4fc8('0x8e')]([0x0,_0x5b4fc8('0x136')]),_0x5e4892();}({0x0:function(_0x11e8ef,_0xbc9cb2,_0x30bafc){const _0x3f1937=a0_0x29cd;_0x11e8ef[_0x3f1937('0x9d')]=_0x30bafc('56d7');},0x1:function(_0x5e16bf,_0x593d35){},'1a4f':function(_0x3cf72a,_0x36b422,_0x2ba2cc){const _0x4a9ae2=a0_0x29cd;_0x3cf72a[_0x4a9ae2('0x9d')]=_0x2ba2cc['p']+_0x4a9ae2('0x36');},'230e':function(_0x1241e7,_0xfd90fa,_0x25fdfa){const _0x22d2f9=a0_0x29cd;'use strict';_0x25fdfa(_0x22d2f9('0x82'));},'2e79':function(_0x570d8e,_0x230d70,_0x392fa4){},0xbf2:function(_0x3b3c88,_0x212118,_0x5573c3){},'3d39':function(_0x55341b,_0x170593,_0x1341ec){},'47ef':function(_0x300141,_0x47f9c5,_0xd8d456){const _0x504692=a0_0x29cd;_0x300141['exports']=_0xd8d456['p']+_0x504692('0x203');},'569a':function(_0x1ebad7,_0x40c7d5,_0x1944ca){const _0x594a00=a0_0x29cd;_0x1ebad7[_0x594a00('0x9d')]=_0x1944ca['p']+_0x594a00('0x14');},'56d7':function(_0x3616c6,_0x2f8934,_0x50920){const _0x3f89b0=a0_0x29cd;'use strict';_0x50920['r'](_0x2f8934);var _0x26cabc=_0x50920(_0x3f89b0('0x6e')),_0x317633=function(){const _0x4590b2=_0x3f89b0;var _0x349f07=this,_0x422ed8=_0x349f07[_0x4590b2('0x150')]['_c'];return _0x422ed8(_0x4590b2('0x7e'),{'attrs':{'id':_0x4590b2('0x1d4')}},[0x0===_0x349f07['isSubscribe']?_0x422ed8(_0x4590b2('0x14e')):0x0===_0x349f07[_0x4590b2('0x193')]?_0x422ed8(_0x4590b2('0xfd')):_0x349f07[_0x4590b2('0x29')]?_0x422ed8(_0x4590b2('0xd1')):_0x349f07['_e']()],0x1);},_0x44754b=[],_0x42cfac=_0x50920(_0x3f89b0('0xe')),_0x2d8695={'components':{'Eighteen':()=>_0x50920['e'](_0x3f89b0('0x170'))['then'](_0x50920['bind'](null,'1a93')),'Follow':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x1c8')))},'data'(){return{'show':!0x1,'isAgree':null,'isSubscribe':null,'scan':0x0,'sourceId':null,'phoneInfo':{},'wechatOs':null};},'created'(){const _0x361821=_0x3f89b0;console['log']('this.$route',this['$route'],location['href']),window[_0x361821('0x20b')][_0x361821('0x3b')](_0x361821('0xca'),location['href']),location[_0x361821('0x8d')][_0x361821('0x202')](_0x361821('0x1c3'))?(this[_0x361821('0x18c')]=0x1,this['scan']=0x1):window[_0x361821('0x20b')][_0x361821('0x7a')](_0x361821('0x18c'))&&(this[_0x361821('0x18c')]=Number(window[_0x361821('0x20b')][_0x361821('0x7a')]('isSubscribe'))),window[_0x361821('0x20b')]['getItem'](_0x361821('0x193'))&&(this[_0x361821('0x193')]=Number(window['localStorage'][_0x361821('0x7a')](_0x361821('0x193'))));let _0x4b052a=window[_0x361821('0x20b')][_0x361821('0x7a')](_0x361821('0x188'));if(_0x4b052a)return void(this[_0x361821('0x29')]=!0x0);let _0x440c6d=this[_0x361821('0x74')]();if(_0x440c6d[_0x361821('0xd7')]&&!_0x4b052a)this[_0x361821('0x251')](_0x440c6d[_0x361821('0xd7')],_0x440c6d);else{if(!_0x4b052a){if(location['href']['includes']('sourceId')){let _0x2efbc0=location[_0x361821('0x8d')][_0x361821('0x1a4')]('?')[0x1];console[_0x361821('0x67')]('a',_0x2efbc0),this['sourceId']=_0x2efbc0[_0x361821('0x1a4')]('=')[0x1];}let _0x40510d=location[_0x361821('0x8d')][_0x361821('0x12b')]('#',_0x361821('0xf6')),_0x2d9718=window['g'][_0x361821('0x24d')],_0x251765='';_0x251765=_0x361821('0x1c3')==this[_0x361821('0xc1')][_0x361821('0x5a')]?_0x361821('0x1b8'):_0x361821('0x3f');let _0x4b283c='';_0x4b283c=_0x361821('0x1fb')+_0x2d9718+_0x361821('0x194')+_0x40510d+_0x361821('0xe7')+_0x251765+_0x361821('0x9')+this[_0x361821('0x8')],console[_0x361821('0x67')](_0x361821('0x16d'),_0x4b283c),window[_0x361821('0x59')]['replace'](_0x4b283c);}}},'methods':{'getURLParams'(){const _0x271193=_0x3f89b0,_0x1fd17c=location[_0x271193('0x1e8')],_0x269a0c=new URLSearchParams(_0x1fd17c),_0x265223=Object[_0x271193('0x1db')](_0x269a0c);return _0x265223;},async 'login'(_0x34d4bf,_0x14a1ba){const _0x347a5c=_0x3f89b0;let {os:_0x21a61e,model:_0x405ea6}=this[_0x347a5c('0xa9')]();var _0x76313e=navigator['userAgent'][_0x347a5c('0x1dc')](/MicroMessenger\/([\d\.]+)/i);console[_0x347a5c('0x67')](_0x21a61e,_0x405ea6,_0x76313e);let _0x5c9c11=_0x76313e[0x1]||null,_0x35be5a=window['g'][_0x347a5c('0x24d')],_0x224259=_0x14a1ba[_0x347a5c('0x2')]?_0x14a1ba['state']:null,_0xf84c9d={'appid':_0x35be5a,'code':_0x34d4bf,'sourceId':_0x224259,'deviceInfo':_0x21a61e+'\x20'+_0x405ea6+'\x20'+_0x5c9c11};const {data:_0x10b346}=await this['$api'][_0x347a5c('0x117')](_0x42cfac['a'][_0x347a5c('0x1f4')](JSON[_0x347a5c('0x0')](_0xf84c9d)));let _0x11162d=JSON['parse'](_0x42cfac['a'][_0x347a5c('0xb8')](_0x10b346));const {isWz:_0x140630,isNeedFocus:_0x4bab6f,info:_0x12a158}=_0x11162d,{access_token:_0x173816,userInfo:_0x36f249}=_0x12a158;this[_0x347a5c('0x193')]=_0x36f249[_0x347a5c('0x193')],0x0===_0x4bab6f?this[_0x347a5c('0x18c')]=0x1:0x1!==this['isSubscribe']&&(this['isSubscribe']=_0x36f249['isSubscribe']),0x0!==this[_0x347a5c('0x18c')]&&(window[_0x347a5c('0x20b')][_0x347a5c('0x3b')](_0x347a5c('0xdf'),_0x140630),window[_0x347a5c('0x20b')][_0x347a5c('0x3b')](_0x347a5c('0x193'),_0x36f249[_0x347a5c('0x193')]),0x1!==this['scan']&&window[_0x347a5c('0x20b')][_0x347a5c('0x3b')](_0x347a5c('0x18c'),this['isSubscribe']),window[_0x347a5c('0x20b')][_0x347a5c('0x3b')](_0x347a5c('0x188'),_0x173816),this['$api'][_0x347a5c('0x188')](),0x0!==this[_0x347a5c('0x18c')]&&0x0!==this[_0x347a5c('0x193')]&&(this[_0x347a5c('0x29')]=!0x0));},async 'retailerUsersJsSign'(){const _0x15b05c=_0x3f89b0;let _0x12743c=this,_0x4dbfc9=window[_0x15b05c('0x20b')]['getItem'](_0x15b05c('0x199')),_0x1108d0=new Date()['getTime']()/0x3e8;if(_0x1108d0-0x1b7740<_0x4dbfc9)return;const {data:_0x3df77f}=await this[_0x15b05c('0x1e2')][_0x15b05c('0x125')]({'url':location[_0x15b05c('0x8d')][_0x15b05c('0x1a4')]('#')[0x0]});wx[_0x15b05c('0xd6')]({'debug':!0x1,'appId':window['g']['appid'],'timestamp':_0x3df77f[_0x15b05c('0x171')],'nonceStr':_0x3df77f[_0x15b05c('0xe5')],'signature':_0x3df77f[_0x15b05c('0x10f')],'jsApiList':[_0x15b05c('0x1ca'),'hideAllNonBaseMenuItem']}),wx[_0x15b05c('0xec')](function(){const _0x538929=_0x15b05c;console[_0x538929('0x67')]('初始化js-sdk成功'),self['wx'][_0x538929('0x1bf')](),wx[_0x538929('0x1ca')]({'type':_0x538929('0x6d'),'success':function(_0x5be04b){const _0x324427=_0x538929;if(_0x5be04b[_0x324427('0x11')])_0x12743c['getMaps'](_0x5be04b[_0x324427('0x11')],_0x5be04b[_0x324427('0xb9')],_0x1108d0),window[_0x324427('0x20b')][_0x324427('0x3b')](_0x324427('0x1df'),_0x5be04b[_0x324427('0x11')]),window[_0x324427('0x20b')][_0x324427('0x3b')]('lng',_0x5be04b[_0x324427('0xb9')]);else{let _0x4e6ca1=navigator[_0x324427('0x147')]['toLowerCase']();/iphone|ipad|ipod/[_0x324427('0x1a')](_0x4e6ca1)&&_0x12743c[_0x324427('0x175')][_0x324427('0x109')]({'title':_0x324427('0x52'),'message':_0x324427('0x216')})['then'](()=>{});}},'fail':function(_0x4e8d2a){const _0x44da64=_0x538929;let _0x588ca7=navigator['userAgent'][_0x44da64('0xf5')]();/iphone|ipad|ipod/[_0x44da64('0x1a')](_0x588ca7)&&_0x12743c[_0x44da64('0x175')][_0x44da64('0x109')]({'title':_0x44da64('0x52'),'message':_0x44da64('0x216')})[_0x44da64('0x197')](()=>{});},'cancel':function(_0x3d2841){const _0x2234db=_0x538929;let _0xcc306e=navigator[_0x2234db('0x147')]['toLowerCase']();/iphone|ipad|ipod/[_0x2234db('0x1a')](_0xcc306e)&&_0x12743c['$dialog'][_0x2234db('0x109')]({'title':_0x2234db('0x52'),'message':'请在\x20[\x20位置\x20]\x20中允许微信在\x20[\x20使用APP期间\x20]\x20访问位置信息,并开启\x20[\x20精准位置\x20]\x20开关'})[_0x2234db('0x197')](()=>{});}});}),wx[_0x15b05c('0x20c')](function(_0x4718c3){});},async 'getMaps'(_0x516b11,_0x1a03fd){const _0x406b01=_0x3f89b0,{data:_0x5497cd}=await this[_0x406b01('0x1e2')]['getMaps']({'latitude':_0x516b11,'longitude':_0x1a03fd});this['show']=!0x0;const {result:_0x429d92}=_0x5497cd;_0x429d92&&_0x429d92[_0x406b01('0x1f7')]&&(window[_0x406b01('0x20b')][_0x406b01('0x3b')](_0x406b01('0x111'),_0x429d92['ad_info'][_0x406b01('0x16e')]),window[_0x406b01('0x20b')][_0x406b01('0x3b')]('cscode',_0x429d92[_0x406b01('0x1f7')][_0x406b01('0x16e')]['toString']()['slice'](0x0,0x4)+'00'),window[_0x406b01('0x20b')][_0x406b01('0x3b')]('city',_0x429d92[_0x406b01('0x1f7')][_0x406b01('0x153')]),window['localStorage'][_0x406b01('0x3b')](_0x406b01('0x199'),NowTime));},'getMobSysInfo'(){const _0x29446b=_0x3f89b0;Array[_0x29446b('0x27')]['contains']=function(_0x447e44){const _0x1e957c=_0x29446b;for(_0x427f4e in this)if(this[_0x427f4e][_0x1e957c('0x22a')](_0x447e44)>0x0)return _0x427f4e;return-0x1;};let _0x44f05c=navigator['userAgent'];if(console[_0x29446b('0x67')](_0x29446b('0xe3'),_0x44f05c),!_0x44f05c)return;let _0x336977=new MobileDetect(_0x44f05c);console['log'](_0x336977[_0x29446b('0x157')]()),console[_0x29446b('0x67')](_0x336977[_0x29446b('0x140')]()),console[_0x29446b('0x67')](_0x336977[_0x29446b('0x2b')]()),console['log'](_0x336977[_0x29446b('0x147')]()),console[_0x29446b('0x67')](_0x336977['os']()),console[_0x29446b('0x67')](_0x336977['is']('iPhone')),console[_0x29446b('0x67')](_0x336977['is']('bot')),console['log'](_0x336977['version'](_0x29446b('0x78'))),console[_0x29446b('0x67')](_0x336977['versionStr']('Build')),console[_0x29446b('0x67')](_0x336977[_0x29446b('0x1dc')](_0x29446b('0xae')));let _0x98bae1=_0x336977['os'](),_0x5bdcb4='';if(_0x29446b('0x215')==_0x98bae1)_0x98bae1=_0x336977['os']()+_0x336977[_0x29446b('0x222')](_0x29446b('0x1d5')),_0x5bdcb4=_0x336977[_0x29446b('0x157')]();else{if(_0x29446b('0x18b')==_0x98bae1){_0x98bae1=_0x336977['os']()+_0x336977[_0x29446b('0x222')](_0x29446b('0x1b0'));let _0x1de802=_0x44f05c[_0x29446b('0x1a4')](';');var _0x427f4e=_0x1de802[_0x29446b('0x1')](_0x29446b('0x1d1'));_0x427f4e>-0x1&&(_0x5bdcb4=_0x1de802[_0x427f4e][_0x29446b('0x66')](0x0,_0x1de802[_0x427f4e][_0x29446b('0x22a')](_0x29446b('0x1d1'))));}}return{'os':_0x98bae1,'model':_0x5bdcb4};}}},_0x2ea341=_0x2d8695,_0x282810=(_0x50920('230e'),_0x50920(_0x3f89b0('0x1a3'))),_0x18b723=Object(_0x282810['a'])(_0x2ea341,_0x317633,_0x44754b,!0x1,null,null,null),_0x1a6405=_0x18b723['exports'],_0x5ca478=_0x50920(_0x3f89b0('0x6')),_0x39a191=function(){const _0x735146=_0x3f89b0;var _0x867d37=this,_0x15ae0c=_0x867d37['_self']['_c'];return _0x15ae0c(_0x735146('0x7e'),{'staticClass':_0x735146('0x201')},[_0x15ae0c(_0x735146('0x7e'),{'staticClass':_0x735146('0x24e')},[_0x15ae0c('router-view')],0x1),_0x15ae0c(_0x735146('0x1e1'),{'attrs':{'route':'','active-color':'#AF844F'}},[_0x15ae0c(_0x735146('0xce'),{'attrs':{'replace':'','to':'/Mall','icon':_0x735146('0x11e')}},[_0x867d37['_v']('首页')]),_0x15ae0c(_0x735146('0xce'),{'attrs':{'replace':'','to':_0x735146('0xa8'),'icon':_0x735146('0x43'),'badge':_0x867d37[_0x735146('0x5')]}},[_0x867d37['_v']('购物车')]),_0x15ae0c(_0x735146('0xce'),{'attrs':{'replace':'','to':_0x735146('0x23'),'icon':_0x735146('0x1aa')}},[_0x867d37['_v'](_0x735146('0x2a'))]),_0x15ae0c(_0x735146('0xce'),{'attrs':{'replace':'','to':'/Bill','icon':_0x735146('0x181')}},[_0x867d37['_v']('楼币流水')])],0x1)],0x1);},_0xedf2ce=[],_0x59f876=_0x50920(_0x3f89b0('0x1ec')),_0x368b5c={'name':_0x3f89b0('0x1a6'),'data'(){return{'active':0x0};},'computed':{...Object(_0x59f876['c'])([_0x3f89b0('0x5')])},'mounted'(){const _0x375631=_0x3f89b0;console['log'](_0x375631('0x5'),this[_0x375631('0x5')]),this[_0x375631('0x3c')]();},'methods':{async 'getCartNum'(){const _0x3c0d63=_0x3f89b0,{data:_0x2e2685}=await this[_0x3c0d63('0x1e2')][_0x3c0d63('0x3c')]();let _0x1fae6c=_0x2e2685>0x0?_0x2e2685:'';this['$store'][_0x3c0d63('0x5c')]('upDataCartNum',_0x1fae6c);}}},_0x4c383e=_0x368b5c,_0x206781=(_0x50920('ac20'),Object(_0x282810['a'])(_0x4c383e,_0x39a191,_0xedf2ce,!0x1,null,_0x3f89b0('0x11b'),null)),_0x44ac1c=_0x206781['exports'];_0x26cabc['a'][_0x3f89b0('0x1bd')](_0x5ca478['a']);const _0x46aded=[{'path':'/','name':_0x3f89b0('0x1a6'),'component':_0x44ac1c,'children':[{'path':_0x3f89b0('0xa1'),'name':_0x3f89b0('0x1c9'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0xb5')))},{'path':_0x3f89b0('0xa8'),'name':_0x3f89b0('0x198'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))['then'](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x172')))},{'path':_0x3f89b0('0x23'),'name':'MyOrder','component':()=>_0x50920['e']('chunk-1df0bd94')['then'](_0x50920['bind'](null,'014b'))},{'path':_0x3f89b0('0x12d'),'name':_0x3f89b0('0x13b'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))['then'](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x1f1')))},{'path':_0x3f89b0('0xda'),'name':_0x3f89b0('0x246'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920['bind'](null,'2866'))},{'path':_0x3f89b0('0x219'),'name':_0x3f89b0('0x37'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x20d')))}]},{'path':'/OrderConfirm','name':_0x3f89b0('0x210'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,'7d0d'))},{'path':_0x3f89b0('0xeb'),'name':_0x3f89b0('0x118'),'component':()=>_0x50920['e']('chunk-dfbc2054')[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x24a')))},{'path':_0x3f89b0('0x105'),'name':_0x3f89b0('0x22d'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))['then'](_0x50920['bind'](null,_0x3f89b0('0x97')))},{'path':_0x3f89b0('0x15f'),'name':_0x3f89b0('0xc7'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,'cd69'))},{'path':_0x3f89b0('0x1f'),'name':_0x3f89b0('0x89'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))['then'](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x18f')))},{'path':_0x3f89b0('0x30'),'name':'AddressAdd','component':()=>_0x50920['e']('chunk-1df0bd94')['then'](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x1a2')))},{'path':'/DailyTasks','name':'DailyTasks','component':()=>_0x50920['e']('chunk-dfbc2054')['then'](_0x50920[_0x3f89b0('0x38')](null,'e867'))},{'path':_0x3f89b0('0x250'),'name':'viewTasks','component':()=>_0x50920['e']('chunk-dfbc2054')['then'](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0xb0')))},{'path':_0x3f89b0('0x1ac'),'name':_0x3f89b0('0x229'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920['bind'](null,'80c2'))},{'path':_0x3f89b0('0x85'),'name':_0x3f89b0('0x126'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))['then'](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x1bb')))},{'path':_0x3f89b0('0x161'),'name':'PhoneRule','component':()=>_0x50920['e']('chunk-1df0bd94')[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,'54f2'))},{'path':_0x3f89b0('0x164'),'name':_0x3f89b0('0x1e'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0xb4')))},{'path':_0x3f89b0('0x58'),'name':_0x3f89b0('0x19a'),'component':()=>_0x50920['e']('chunk-1df0bd94')['then'](_0x50920['bind'](null,_0x3f89b0('0x99')))},{'path':_0x3f89b0('0x152'),'name':_0x3f89b0('0x56'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))['then'](_0x50920[_0x3f89b0('0x38')](null,'4613'))},{'path':_0x3f89b0('0x244'),'name':'CouponUse','component':()=>_0x50920['e'](_0x3f89b0('0x65'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x1c6')))},{'path':_0x3f89b0('0x6c'),'name':_0x3f89b0('0xcd'),'component':()=>_0x50920['e']('chunk-1df0bd94')[_0x3f89b0('0x197')](_0x50920['bind'](null,'dfc2'))},{'path':'/Retailers','name':'Retailers','component':()=>_0x50920['e'](_0x3f89b0('0x65'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x84')))},{'path':'/Recording','name':_0x3f89b0('0x19f'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))[_0x3f89b0('0x197')](_0x50920['bind'](null,_0x3f89b0('0xa3')))},{'path':_0x3f89b0('0x14a'),'name':_0x3f89b0('0xc9'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))['then'](_0x50920[_0x3f89b0('0x38')](null,'69d8'))},{'path':'/StoreCodeBinding','name':_0x3f89b0('0x226'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x1ad')))},{'path':_0x3f89b0('0x204'),'name':_0x3f89b0('0x16c'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))['then'](_0x50920['bind'](null,'3c07'))},{'path':_0x3f89b0('0x19b'),'name':_0x3f89b0('0x116'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920['bind'](null,_0x3f89b0('0x230')))},{'path':_0x3f89b0('0x1dd'),'name':_0x3f89b0('0x4f'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))['then'](_0x50920['bind'](null,_0x3f89b0('0x7d')))},{'path':_0x3f89b0('0xef'),'name':_0x3f89b0('0x21e'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920['bind'](null,_0x3f89b0('0x12a')))},{'path':'/Identity','name':_0x3f89b0('0xfc'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))['then'](_0x50920['bind'](null,_0x3f89b0('0x1f2')))},{'path':'/IdentityRetailer','name':_0x3f89b0('0x212'),'component':()=>_0x50920['e']('chunk-dfbc2054')[_0x3f89b0('0x197')](_0x50920['bind'](null,_0x3f89b0('0xad')))},{'path':_0x3f89b0('0x3e'),'name':'UpdataIdentityRetailer','component':()=>_0x50920['e'](_0x3f89b0('0x170'))['then'](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x3')))},{'path':_0x3f89b0('0xfb'),'name':_0x3f89b0('0x64'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920['bind'](null,_0x3f89b0('0x22b')))},{'path':_0x3f89b0('0x1af'),'name':_0x3f89b0('0x22c'),'component':()=>_0x50920['e']('chunk-dfbc2054')['then'](_0x50920['bind'](null,_0x3f89b0('0x26')))},{'path':'/to_Examine','name':_0x3f89b0('0x138'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x4b')))},{'path':_0x3f89b0('0x22e'),'name':'Scan','component':()=>_0x50920['e']('chunk-dfbc2054')[_0x3f89b0('0x197')](_0x50920['bind'](null,_0x3f89b0('0x1cf'))),'children':[{'path':_0x3f89b0('0x1f9'),'name':_0x3f89b0('0x1c3'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x186')))},{'path':_0x3f89b0('0x61'),'name':_0x3f89b0('0x234'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x131')))},{'path':_0x3f89b0('0x1b5'),'name':_0x3f89b0('0xf'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))['then'](_0x50920[_0x3f89b0('0x38')](null,'4cc4'))},{'path':'/Completes','name':_0x3f89b0('0xb2'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x95')))}]},{'path':_0x3f89b0('0x1ce'),'name':_0x3f89b0('0x119'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))['then'](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x128'))),'children':[{'path':_0x3f89b0('0x1d'),'name':_0x3f89b0('0xbc'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x131')))}]},{'path':_0x3f89b0('0x1bc'),'name':'NewScan','component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920['bind'](null,_0x3f89b0('0x69'))),'children':[{'path':'/NewVerification','name':'NewVerification','component':()=>_0x50920['e'](_0x3f89b0('0x170'))['then'](_0x50920['bind'](null,_0x3f89b0('0x13e')))},{'path':_0x3f89b0('0xf8'),'name':_0x3f89b0('0x107'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,'3ae5'))},{'path':_0x3f89b0('0x180'),'name':'NewScanScratch','component':()=>_0x50920['e'](_0x3f89b0('0x170'))['then'](_0x50920['bind'](null,'c117'))},{'path':_0x3f89b0('0x115'),'name':'NewScanCompletes','component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920['bind'](null,_0x3f89b0('0xd0')))}]},{'path':_0x3f89b0('0x144'),'name':_0x3f89b0('0x208'),'component':()=>_0x50920['e']('chunk-dfbc2054')[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x2c')))},{'path':_0x3f89b0('0x21f'),'name':_0x3f89b0('0x1b7'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0xc')))},{'path':'/RedEnvelopes','name':_0x3f89b0('0xc8'),'component':()=>_0x50920['e']('chunk-1df0bd94')[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,'7edd'))},{'path':_0x3f89b0('0x35'),'name':_0x3f89b0('0x17f'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x1cd')))},{'path':'/UserClockIn','name':'UserClockIn','component':()=>_0x50920['e']('chunk-dfbc2054')[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,'8846'))},{'path':_0x3f89b0('0x14f'),'name':_0x3f89b0('0x68'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))['then'](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x165')))},{'path':_0x3f89b0('0x151'),'name':_0x3f89b0('0xc3'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))['then'](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x143')))},{'path':_0x3f89b0('0xd'),'name':_0x3f89b0('0xc5'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920['bind'](null,_0x3f89b0('0x158')))},{'path':'/Questionnaire','name':_0x3f89b0('0x21e'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))['then'](_0x50920[_0x3f89b0('0x38')](null,'213b'))},{'path':_0x3f89b0('0x1f8'),'name':_0x3f89b0('0x100'),'component':()=>_0x50920['e']('chunk-dfbc2054')[_0x3f89b0('0x197')](_0x50920['bind'](null,_0x3f89b0('0x13d')))},{'path':_0x3f89b0('0x8c'),'name':_0x3f89b0('0x224'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,'b160'))},{'path':'/ShareActivityInfo','name':_0x3f89b0('0x18a'),'component':()=>_0x50920['e']('chunk-dfbc2054')[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x242')))},{'path':'/administration','name':_0x3f89b0('0xd9'),'component':()=>_0x50920['e']('chunk-dfbc2054')[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x2e')))},{'path':_0x3f89b0('0x1e6'),'name':_0x3f89b0('0x145'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))[_0x3f89b0('0x197')](_0x50920['bind'](null,_0x3f89b0('0x112')))},{'path':_0x3f89b0('0xd5'),'name':_0x3f89b0('0x1b9'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920['bind'](null,_0x3f89b0('0x1d3')))},{'path':_0x3f89b0('0x248'),'name':'LuckyDrawHorseRaceLamp','component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x106')))},{'path':_0x3f89b0('0x1b3'),'name':_0x3f89b0('0x1ef'),'component':()=>_0x50920['e']('chunk-1df0bd94')[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x149')))},{'path':_0x3f89b0('0x103'),'name':_0x3f89b0('0x184'),'component':()=>_0x50920['e'](_0x3f89b0('0x65'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0x1f1')))},{'path':_0x3f89b0('0x240'),'name':'404','component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920[_0x3f89b0('0x38')](null,_0x3f89b0('0xcb')))},{'path':_0x3f89b0('0x16a'),'name':_0x3f89b0('0x14e'),'component':()=>_0x50920['e'](_0x3f89b0('0x170'))[_0x3f89b0('0x197')](_0x50920['bind'](null,_0x3f89b0('0x1c8')))}],_0x576daa=new _0x5ca478['a']({'routes':_0x46aded});_0x576daa['beforeEach']((_0x120c16,_0x14aa13,_0x5555ba)=>{const _0x4f6d39=_0x3f89b0;console[_0x4f6d39('0x67')]('to',_0x120c16),_0x120c16[_0x4f6d39('0x1de')][_0x4f6d39('0xd7')]?(delete _0x120c16['query'][_0x4f6d39('0xd7')],delete _0x120c16[_0x4f6d39('0x1de')]['state'],console[_0x4f6d39('0x67')]('to',_0x120c16),_0x5555ba({'path':_0x120c16[_0x4f6d39('0xd3')],'query':_0x120c16[_0x4f6d39('0x1de')]})):_0x5555ba();});var _0x11ea75=_0x576daa,_0x584577=(_0x50920('14d9'),_0x50920(_0x3f89b0('0x1e4'))),_0x517211=_0x50920['n'](_0x584577),_0x24604d=_0x50920(_0x3f89b0('0x87')),_0x2bdea8=_0x50920(_0x3f89b0('0x228')),_0xeef75e=window['g'][_0x3f89b0('0xbb')],_0x38d496=JSON['parse'](Object(_0x2bdea8['a'])(_0xeef75e));const _0x56ffe8=_0x517211['a'][_0x3f89b0('0x8b')]({'timeout':0x3a98});let _0x20898a=window[_0x3f89b0('0x20b')][_0x3f89b0('0x7a')]('token');function _0x5d0070(_0x703ebb){const _0x267c4c=_0x3f89b0;for(var _0x2ea253=['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'],_0xdeff7='',_0x6f177f=0x0;_0x6f177f<_0x703ebb;_0x6f177f++){var _0x12cfe7=Math[_0x267c4c('0x127')](0x24*Math[_0x267c4c('0xb')]());_0xdeff7+=_0x2ea253[_0x12cfe7];}return _0xdeff7;}_0x56ffe8['defaults'][_0x3f89b0('0x22f')]=_0x20898a?{'Authorization':_0x3f89b0('0x1d9')+_0x20898a,'Accept':_0x3f89b0('0x46'),'Content-Type':_0x3f89b0('0x1eb')}:{'Accept':'application/json','Content-Type':'application/json;\x20charset=UTF-8'},_0x56ffe8[_0x3f89b0('0x155')][_0x3f89b0('0x12')]=[function(_0x25b9ac){const _0x47d9f1=_0x3f89b0;try{return _0x25b9ac instanceof Blob?_0x25b9ac:JSON[_0x47d9f1('0x23e')](_0x25b9ac);}catch(_0x168f24){}}],_0x56ffe8[_0x3f89b0('0x1b4')][_0x3f89b0('0xb3')][_0x3f89b0('0x1bd')](_0x3c170b=>(console[_0x3f89b0('0x67')]('config.url',_0x3c170b[_0x3f89b0('0x16d')]),(_0x3c170b[_0x3f89b0('0x16d')][_0x3f89b0('0x202')](_0x3f89b0('0x7c'))||_0x3c170b[_0x3f89b0('0x16d')][_0x3f89b0('0x202')](_0x3f89b0('0xe0')))&&delete _0x3c170b['headers'][_0x3f89b0('0x146')],_0x3c170b['url'][_0x3f89b0('0x202')]('/open/login')?(_0x3c170b['headers'][_0x3f89b0('0x135')]=_0x38d496[_0x3f89b0('0x221')],_0x3c170b[_0x3f89b0('0x22f')][_0x3f89b0('0x123')]=_0x5d0070(0x10)):(_0x3c170b[_0x3f89b0('0x22f')][_0x3f89b0('0x135')]=_0x38d496[_0x3f89b0('0x19')],_0x3c170b['headers']['wz-app-str']=_0x5d0070(0x10)),_0x3c170b),_0x1f0b8e=>Promise[_0x3f89b0('0x12c')](_0x1f0b8e)),_0x56ffe8['interceptors']['response']['use'](_0xc505fd=>{const _0x3a9f3f=_0x3f89b0,{data:_0xde515e,config:_0x3432dc}=_0xc505fd;if(0xc8===_0xc505fd[_0x3a9f3f('0x10d')]){if(_0xde515e instanceof Blob)return Promise['resolve'](_0xc505fd);if(0xc8!==_0xde515e[_0x3a9f3f('0x10d')]){switch(_0xde515e[_0x3a9f3f('0x10d')]){case 0x1f4:Object(_0x24604d['a'])({'message':_0xde515e['message'],'type':'fail'});break;default:Object(_0x24604d['a'])({'message':_0xde515e[_0x3a9f3f('0x19c')]||'服务器异常','type':_0x3a9f3f('0x3d')});}return new Promise(()=>{});}return Promise[_0x3a9f3f('0x4a')](_0xde515e);}return Object(_0x24604d['a'])({'message':'系统繁忙,请刷新当前页'}),Promise[_0x3a9f3f('0x12c')]();},_0x4d2173=>{const _0x3606c8=_0x3f89b0;if(_0x4d2173&&_0x4d2173['response']){switch(_0x4d2173[_0x3606c8('0x23f')][_0x3606c8('0x10d')]){case 0x190:_0x4d2173[_0x3606c8('0x19c')]=_0x3606c8('0x1fa');break;case 0x191:window[_0x3606c8('0x20b')][_0x3606c8('0x120')]();let _0x4f319c=location['href'][_0x3606c8('0x12b')]('#','%23'),_0x31f401=window['g'][_0x3606c8('0x24d')],_0x3c5166=_0x3606c8('0x3f'),_0x13b080=_0x3606c8('0x1fb')+_0x31f401+_0x3606c8('0x194')+_0x4f319c+_0x3606c8('0xe7')+_0x3c5166+_0x3606c8('0x163');return void(self[_0x3606c8('0x59')][_0x3606c8('0x8d')]=_0x13b080);case 0x19c:window['localStorage'][_0x3606c8('0x120')]();let _0x596371=location[_0x3606c8('0x8d')][_0x3606c8('0x12b')]('#',_0x3606c8('0xf6')),_0x232ad8=window['g'][_0x3606c8('0x24d')],_0x330ada=_0x3606c8('0x3f'),_0x181946='https://open.weixin.qq.com/connect/oauth2/authorize?appid='+_0x232ad8+_0x3606c8('0x194')+_0x596371+_0x3606c8('0xe7')+_0x330ada+_0x3606c8('0x163');return void(self[_0x3606c8('0x59')][_0x3606c8('0x8d')]=_0x181946);case 0x193:_0x4d2173[_0x3606c8('0x19c')]=_0x3606c8('0x1ed');break;case 0x194:_0x4d2173[_0x3606c8('0x19c')]=_0x3606c8('0x211');break;case 0x195:_0x4d2173[_0x3606c8('0x19c')]=_0x3606c8('0x12f');break;case 0x198:_0x4d2173[_0x3606c8('0x19c')]=_0x3606c8('0x55');break;case 0x1bc:Message({'message':_0x4d2173[_0x3606c8('0x23f')][_0x3606c8('0x17e')][_0x3606c8('0x19c')]?_0x4d2173[_0x3606c8('0x23f')][_0x3606c8('0x17e')][_0x3606c8('0x19c')]:_0x3606c8('0xd8'),'type':_0x3606c8('0xde')}),window[_0x3606c8('0x20b')]['clear'](),setTimeout(()=>{_0x11ea75['replace']({'path':'/'});},0x3e8);break;case 0x1f4:_0x4d2173[_0x3606c8('0x19c')]=_0x3606c8('0x13');break;case 0x1f5:_0x4d2173[_0x3606c8('0x19c')]=_0x3606c8('0x48');break;case 0x1f6:_0x4d2173['message']=_0x3606c8('0x17d');break;case 0x1f7:_0x4d2173['message']=_0x3606c8('0x12e');break;case 0x1f8:_0x4d2173['message']=_0x3606c8('0xc4');break;case 0x1f9:_0x4d2173[_0x3606c8('0x19c')]='http版本不支持该请求';break;default:_0x4d2173[_0x3606c8('0x19c')]=_0x3606c8('0x70')+_0x4d2173['response'][_0x3606c8('0x10d')];break;}_0x24604d['a'][_0x3606c8('0x3d')](_0x4d2173['message']);}else JSON[_0x3606c8('0x0')](_0x4d2173)[_0x3606c8('0x202')](_0x3606c8('0x81')),_0x24604d['a'][_0x3606c8('0x3d')](_0x3606c8('0x13'));return Promise[_0x3606c8('0x12c')](_0x4d2173);});var _0x38e5c3=_0x56ffe8,_0x207e26={'getAd'(_0xa0a3e8){const _0x514d7b=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x514d7b('0x1b2'),'method':'get','params':_0xa0a3e8});},'getCate'(_0x246bc8){const _0x541633=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x541633('0x205'),'method':_0x541633('0x183'),'params':_0x246bc8});},'getNewHot'(_0x390900){const _0x28a871=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x28a871('0x1e7'),'method':_0x28a871('0x183'),'params':_0x390900});},'getProductInfo'(_0x419ae9){const _0x458bdc=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x458bdc('0xf1')+_0x419ae9['productId'],'method':_0x458bdc('0x183')});},'getProductList'(_0x177e6f){const _0x13f7d2=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x13f7d2('0x8f'),'method':'get','params':_0x177e6f});},'getKillRound'(_0x2b5085){const _0x116191=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x116191('0x7c'),'method':'get','params':_0x2b5085});},'secKill'(_0x43b540){const _0x267620=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x267620('0xe0'),'method':_0x267620('0x183'),'params':_0x43b540});},'addVirtualOrder'(_0x31548c){const _0x698e3c=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x698e3c('0xba'),'method':_0x698e3c('0x167'),'data':_0x31548c});},'addVirtualOrderStatus'(_0x429285){const _0x344be7=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x344be7('0x32')+_0x429285['orderNo'],'method':_0x344be7('0x167')});}},_0x5c020d={'getAreas'(_0x1ddf9c){const _0xe29584=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+_0xe29584('0x1b6'),'method':'get','params':_0x1ddf9c});},'getOrderInfo'(_0x5260f9){const _0x369fe3=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+_0x369fe3('0x54')+_0x5260f9[_0x369fe3('0x1b')],'method':_0x369fe3('0x183')});},'handleOrder'(_0x3297b8){const _0x268aa8=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+'/consumerOrders/handleOrder','method':_0x268aa8('0x167'),'data':_0x3297b8});},'getOrderPageList'(_0x8eb823){const _0x5b4025=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+_0x5b4025('0x40'),'method':_0x5b4025('0x183'),'params':_0x8eb823});},'changeOrderAddress'(_0x2db138){const _0xb205f3=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+_0xb205f3('0x76'),'method':_0xb205f3('0x167'),'data':_0x2db138});},'orderAddressList'(_0x2c59af){const _0x118eac=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+_0x118eac('0x187'),'method':_0x118eac('0x183'),'params':_0x2c59af});},'addAddress'(_0x356c89){const _0x49f682=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+'/consumerAddresses/add','method':_0x49f682('0x167'),'data':_0x356c89});},'updateAddress'(_0x475494){const _0x53322a=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+_0x53322a('0x16'),'method':'post','data':_0x475494});},'delAddress'(_0x20ed25){const _0x219b23=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+_0x219b23('0x162')+_0x20ed25['addressId'],'method':'post','params':_0x20ed25});},'setDefault'(_0x14f62a){const _0x5aa30f=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+_0x5aa30f('0x5f')+_0x14f62a['addressId'],'method':_0x5aa30f('0x183'),'params':_0x14f62a});},'consumerScoreInfo'(_0x45d207){const _0x13aac8=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+_0x13aac8('0x213'),'method':_0x13aac8('0x183'),'params':_0x45d207});},'consumerScorePage'(_0x1cbd95){const _0x337c5e=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+'/consumerScoreLogs/listPage','method':_0x337c5e('0x183'),'params':_0x1cbd95});},'setVirtualDefaultInfo'(_0x3496b3){return _0x38e5c3({'url':_0x1619ce+'/virtualOrder/setVirtualDefaultInfo','method':'post','data':_0x3496b3});},'getOrderVirtuaInfo'(_0x2282d5){const _0x26bb2f=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+'/consumerOrders/orderVirtuaInfo/'+_0x2282d5[_0x26bb2f('0x1b')],'method':'get'});},'handleVirtualOrder'(_0x4c6b72){const _0x84b5d9=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+'/consumerOrders/handleVirtualOrder','method':_0x84b5d9('0x167'),'data':_0x4c6b72});},'changeSale'(_0x4de985){const _0x4529d3=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+_0x4529d3('0xc0'),'method':'post','data':_0x4de985});},'commonOrderBuy'(_0x374719){const _0x43afef=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+'/commonOrder/buy','method':_0x43afef('0x167'),'data':_0x374719});},'commonOrderSettleCart'(_0x4afaef){const _0x1856bd=_0x3f89b0;return _0x38e5c3({'url':_0x1619ce+_0x1856bd('0x41'),'method':'post','data':_0x4afaef});}},_0x25ca5b={'simpleUserInfo'(_0x454b78){const _0xddf256=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+'/userSite/simpleUserInfo','method':_0xddf256('0x183'),'params':_0x454b78});},'rClick'(_0x37ff84){const _0x364cda=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x364cda('0xc6'),'method':_0x364cda('0x167'),'data':_0x37ff84});},'selfInfo'(_0x51419a){const _0x29bc0a=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x29bc0a('0x169'),'method':_0x29bc0a('0x183'),'params':_0x51419a});},'navigation'(_0x5ca89f){const _0x517d0f=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x517d0f('0x98'),'method':_0x517d0f('0x183'),'params':_0x5ca89f});},'retailerUsersJsSign'(_0xbccb1c){return _0x38e5c3({'url':_0x1e3849+'/retailerUsers/jsSign','method':'get','params':_0xbccb1c});},'retailerCertify'(_0x50ad05){const _0x23e9bd=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x23e9bd('0x49'),'method':_0x23e9bd('0x167'),'data':_0x50ad05});},'retailerReset'(_0x75b444){const _0x209ae8=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x209ae8('0xe6'),'method':'post','data':_0x75b444});},'retailerResetInfo'(_0x2d97fc){const _0x23a973=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x23a973('0x243'),'method':_0x23a973('0x183'),'params':_0x2d97fc});},'toConsumer'(_0x4b3bab){const _0x25e013=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x25e013('0x1a0'),'method':_0x25e013('0x167'),'data':_0x4b3bab});},'getCheckState'(_0x333b6c){const _0x582ab8=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x582ab8('0x14c'),'method':_0x582ab8('0x183'),'params':_0x333b6c});},'imgUpload'(_0x547e11){const _0x58e816=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x58e816('0x60'),'method':_0x58e816('0x167'),'data':_0x547e11});},'getRetailerCertify'(_0x557e29){const _0x49e942=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x49e942('0x1c1'),'method':'get','params':_0x557e29});},'updateRetailerCertify'(_0x39e3e0){const _0x2918ed=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x2918ed('0x18e'),'method':_0x2918ed('0x167'),'data':_0x39e3e0});},'getProvince'(_0x308eaf){const _0x45835e=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+'/provinceCityAreas/getProvince','method':_0x45835e('0x183'),'params':_0x308eaf});},'getCity'(_0x255d33){const _0x12eacd=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x12eacd('0x196'),'method':'get','params':_0x255d33});},'getArea'(_0x4b5bbd){const _0xa1109c=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0xa1109c('0x1a5'),'method':_0xa1109c('0x183'),'params':_0x4b5bbd});},'consumerExperienceInfo'(_0x354db2){const _0x239401=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+'/consumerExperience/expInfo','method':_0x239401('0x183'),'params':_0x354db2});},'consumerExperiencePage'(_0x5aa4fd){const _0x9400c3=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x9400c3('0x1ff'),'method':'get','params':_0x5aa4fd});},'getSalecardno'(_0x25b46d){const _0x364b80=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x364b80('0x53'),'method':_0x364b80('0x183'),'params':_0x25b46d});},'updateSalecardno'(_0x11d40a){const _0x468214=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x468214('0xf9'),'method':'post','params':_0x11d40a});},'checkChangeUserSite'(_0x2332a2){const _0x48d7f1=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x48d7f1('0x101'),'method':_0x48d7f1('0x183'),'params':_0x2332a2});},'sendNewPhone'(_0x20fcc9){const _0x5669f1=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+'/userSite/sendNewPhone','method':_0x5669f1('0x167'),'params':_0x20fcc9});},'updatePhone'(_0x5a0d79){const _0x189d70=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x189d70('0x1fe'),'method':_0x189d70('0x167'),'data':_0x5a0d79});},'consumerAgreeLog'(_0x113804){const _0x3d64ec=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x3d64ec('0x11a'),'method':_0x3d64ec('0x183'),'params':_0x113804});},'retailerUserConsumerBinding'(_0x541b30){return _0x38e5c3({'url':_0x1e3849+'/retailerUserConsumer/binding','method':'get','params':_0x541b30});},'retailerUserConsumerSpretailer'(_0xab3f7b){const _0xd605a0=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0xd605a0('0x15a'),'method':_0xd605a0('0x183'),'params':_0xab3f7b});},'consumerSignFloor'(_0x46842a){const _0x2a24f3=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x2a24f3('0x6a'),'method':_0x2a24f3('0x183'),'params':_0x46842a});},'consumerSignIn'(_0xf5c6c9){const _0x5bf43e=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x5bf43e('0x185'),'method':_0x5bf43e('0x183'),'params':_0xf5c6c9});},'usePropsCardDL'(_0x63f543){const _0x1dc8d3=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x1dc8d3('0x16f'),'method':_0x1dc8d3('0x167'),'data':_0x63f543});},'toQuestionnaire'(_0x2fee41){const _0x8a13a6=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x8a13a6('0x1a7'),'method':_0x8a13a6('0x183'),'params':_0x2fee41});},'saveQuestionnaireAnswers'(_0x377cc7){const _0x457dee=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x457dee('0x18'),'method':_0x457dee('0x167'),'data':_0x377cc7});},'getQuestionnaireByType'(_0xfc04f4){const _0x4b920c=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x4b920c('0xdd'),'method':_0x4b920c('0x183'),'params':_0xfc04f4});},'uStatistics'(_0x375fcc){const _0x230502=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x230502('0x3a'),'method':'get','params':_0x375fcc});},'moudleInfo'(_0x29bf32){const _0x1a82cc=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+'/appModuleSelect/moudleInfo/'+_0x29bf32[_0x1a82cc('0xed')],'method':_0x1a82cc('0x183')});},'getTask'(_0x1e032c){const _0x653448=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+'/userSite/getTask','method':_0x653448('0x183')});},'getDragon'(_0x5e1509){const _0x15335d=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x15335d('0x114'),'method':_0x15335d('0x183')});}},_0x2fce72={'getMerchabdiseList'(_0xa73ad8){const _0xc37cc4=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0xc37cc4('0x11c'),'method':_0xc37cc4('0x183'),'params':_0xa73ad8});},'pagePropsRecord'(_0x5c6054){const _0x38549a=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x38549a('0x189'),'method':'get','params':_0x5c6054});},'purchasePropsMerchandise'(_0x273602){const _0x372660=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x372660('0x5b'),'method':_0x372660('0x167'),'data':_0x273602});},'getPropsRecordNum'(_0x25d349){const _0x2f6d57=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x2f6d57('0x1f0'),'method':'get','params':_0x25d349});}},_0x7a793d={'getScanHomeNew'(_0x4cc10e){const _0x4e14a5=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x4e14a5('0x156'),'method':_0x4e14a5('0x167'),'data':_0x4cc10e});},'checkVerifyCodeNew'(_0x1cdebe){const _0x573c09=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x573c09('0xbf'),'method':_0x573c09('0x167'),'data':_0x1cdebe});},'getAdScanNew'(_0x4b3f6c){const _0x379920=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x379920('0x63'),'method':_0x379920('0x183'),'params':_0x4b3f6c});},'getScanHome'(_0x2ea0cf){const _0x40a8b5=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+'/Home/Index','method':_0x40a8b5('0x183'),'params':_0x2ea0cf});},'checkVerifyCode'(_0x511ce6){const _0x2db965=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x2db965('0xbf'),'method':_0x2db965('0x167'),'data':_0x511ce6});},'scanReal'(_0x27cf45){return _0x38e5c3({'url':_0x359e5e+'/scan/real/scanId','method':'get','params':_0x27cf45});},'getCurrentTimeTotal'(_0x1a444a){const _0x54986a=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x54986a('0x154'),'method':'get','params':_0x1a444a});},'getCurrentMonthTotal'(_0x23ade5){const _0x3e90d0=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+'/scan/currentMonthTotal','method':_0x3e90d0('0x183'),'params':_0x23ade5});},'getScanConsumerInfo'(_0x37b9da){const _0xe9980f=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0xe9980f('0x139'),'method':_0xe9980f('0x183'),'params':_0x37b9da});},'getSelfScanInfo'(_0x26981d){const _0x58ce4e=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x58ce4e('0x13a'),'method':_0x58ce4e('0x183'),'params':_0x26981d});},'saveScore'(_0xd439d6){const _0x2b4c0d=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x2b4c0d('0x159'),'method':'post','data':_0xd439d6});},'getLottery'(_0xd4764a){const _0x15fd23=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x15fd23('0x249'),'method':'get','params':_0xd4764a});},'doLuckyDraw'(_0x1e8bbe){const _0x2f40d2=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+'/luckyDraw/doLuckyDraw','method':_0x2f40d2('0x167'),'data':_0x1e8bbe});},'getMaps'(_0x43ce5e){const _0x5f2a75=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x5f2a75('0x8a'),'method':'get','params':_0x43ce5e});},'getTop20Record'(_0x4e5a77){const _0x1c831b=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x1c831b('0x1f3'),'method':'get','params':_0x4e5a77});},'scanProductInfo'(_0x5c163d){const _0x59c540=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+'/scan/scanProductInfo','method':_0x59c540('0x183'),'params':_0x5c163d});},'getScanHomesecret'(_0x2556e8){const _0x586e5f=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+'/Home/IndexP','method':_0x586e5f('0x167'),'data':_0x2556e8});},'checkVerifyCodesecret'(_0x3b1bf1){const _0x3b61b8=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x3b61b8('0x130'),'method':_0x3b61b8('0x167'),'data':_0x3b1bf1});},'scanRealsecret'(_0x4907eb){const _0x4e8794=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x4e8794('0x1ab'),'method':_0x4e8794('0x167'),'data':_0x4907eb});},'saveScoresecret'(_0x5b2d81){const _0x5d59e5=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x5d59e5('0x34'),'method':_0x5d59e5('0x167'),'data':_0x5b2d81});},'getLotterysecret'(_0x199366){const _0x2ac882=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x2ac882('0x191'),'method':'post','data':_0x199366});},'doLuckyDrawsecret'(_0x32e114){const _0x4d6072=_0x3f89b0;return _0x38e5c3({'url':_0x359e5e+_0x4d6072('0xf4'),'method':_0x4d6072('0x167'),'data':_0x32e114});}},_0x86f6f7={'addCart'(_0x52367c){const _0x5b9715=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+'/cart/addCart','method':_0x5b9715('0x167'),'data':_0x52367c});},'killAddCart'(_0x35db35){const _0x57e3b6=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x57e3b6('0x19e'),'method':_0x57e3b6('0x167'),'data':_0x35db35});},'addOrder'(_0x5823fc){const _0x18cc44=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x18cc44('0x1a8'),'method':_0x18cc44('0x167'),'data':_0x5823fc});},'addOrderStatus'(_0x46642){const _0x3c2116=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x3c2116('0x220')+_0x46642[_0x3c2116('0x1b')],'method':_0x3c2116('0x167')});},'delCart'(_0x597cd5){const _0xf81e9d=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0xf81e9d('0x25')+_0x597cd5[_0xf81e9d('0x91')],'method':_0xf81e9d('0x167')});},'getCartList'(_0x160590){const _0x11d701=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x11d701('0x17a'),'method':_0x11d701('0x183'),'params':_0x160590});},'modfiyCartNumber'(_0x28b691){const _0x8c3d78=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x8c3d78('0x20e'),'method':_0x8c3d78('0x167'),'data':_0x28b691});},'getUserInfo'(_0x1e3b1b){const _0x5a42f3=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x5a42f3('0x1d0'),'method':_0x5a42f3('0x183'),'params':_0x1e3b1b});},'getCartNum'(_0x15f826){const _0x5b30d4=_0x3f89b0;return _0x38e5c3({'url':_0x27c2c8+_0x5b30d4('0x166'),'method':'get','params':_0x15f826});}},_0x3a8d8a={'getJsSign'(_0x3abf36){const _0x2b67c2=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0x2b67c2('0xe9'),'method':'get','params':_0x3abf36});},'getRedPacket'(_0xcce8f9){const _0x56a62b=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0x56a62b('0x14b'),'method':_0x56a62b('0x183'),'params':_0xcce8f9});},'OpenRedPacket'(_0x354d72){const _0x3f09b5=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0x3f09b5('0xbd'),'method':_0x3f09b5('0x167'),'data':_0x354d72});},'getReceiveRecords'(_0x17ea8d){const _0x9fb68f=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0x9fb68f('0x1e9')+_0x17ea8d['redPacketId'],'method':'get'});},'getGraceInfo'(_0x407327){const _0x54c459=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0x54c459('0x15c'),'method':_0x54c459('0x183'),'params':_0x407327});},'addCommonGraceUser'(_0x537e7e){const _0xc7da72=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0xc7da72('0x24'),'method':_0xc7da72('0x167'),'data':_0x537e7e});},'addGraceUser'(_0x448a6e){const _0x17811b=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0x17811b('0x1be'),'method':'post','data':_0x448a6e});},'getUserBtnInfo'(_0x1ba15d){const _0x26b210=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0x26b210('0x7b'),'method':'get','params':_0x1ba15d});},'pictureWorksHistory'(_0x4f3cb2){const _0x1f442c=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+'/pictureWorks/history','method':_0x1f442c('0x183'),'params':_0x4f3cb2});},'addPictureWorks'(_0x1d4902){const _0x47598b=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0x47598b('0x5e'),'method':'post','data':_0x1d4902});},'updatePictureWorks'(_0x4887f8){const _0x534624=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0x534624('0x5d'),'method':_0x534624('0x167'),'data':_0x4887f8});},'getActivityInfo'(_0x49ce92){const _0x140a19=_0x3f89b0;return _0x49ce92[_0x140a19('0x90')]&&''!=_0x49ce92[_0x140a19('0x90')]?_0x38e5c3({'url':_0x2f7f87+_0x140a19('0xdc')+_0x49ce92[_0x140a19('0x28')]+'/'+_0x49ce92[_0x140a19('0x90')],'method':_0x140a19('0x183')}):_0x38e5c3({'url':_0x2f7f87+_0x140a19('0xdc')+_0x49ce92['pictureActivityId'],'method':_0x140a19('0x183')});},'getPictureActivityCover'(_0x1eab9b){return _0x38e5c3({'url':_0x2f7f87+'/pictureWorks/getPictureActivityCover','method':'get','params':_0x1eab9b});},'getActivityWorkModel'(_0x109537){const _0x7c930b=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0x7c930b('0x10e')+_0x109537[_0x7c930b('0x28')],'method':_0x7c930b('0x183')});},'adminInfo'(_0x26c997){const _0x2e9900=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+'/graceRedPacket/adminInfo','method':_0x2e9900('0x183'),'params':_0x26c997});},'createRedPacket'(_0x1e518a){const _0x2e5693=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0x2e5693('0xf0'),'method':_0x2e5693('0x167'),'data':_0x1e518a});},'redOverview'(_0x17b595){const _0x3a0940=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0x3a0940('0x24c'),'method':_0x3a0940('0x183'),'params':_0x17b595});},'savePassword'(_0x4817d8){const _0x4fa22b=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0x4fa22b('0xfe'),'method':_0x4fa22b('0x167'),'data':_0x4817d8});},'sendDetail'(_0x5798a1){const _0xe0c9be=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+'/graceRedPacket/sendDetail/'+_0x5798a1[_0xe0c9be('0x15e')],'method':'get'});},'sendRecords'(_0x11179e){const _0x3949b5=_0x3f89b0;return _0x38e5c3({'url':_0x2f7f87+_0x3949b5('0x1cb'),'method':_0x3949b5('0x183'),'params':_0x11179e});}},_0x2521e7={'toShareWorks'(_0x40ac73){const _0x2ff008=_0x3f89b0;return _0x38e5c3({'url':_0xc3ab0+_0x2ff008('0xc2'),'method':_0x2ff008('0x183'),'params':_0x40ac73});},'addShareWorks'(_0x7b07da){const _0x23dd9c=_0x3f89b0;return _0x38e5c3({'url':_0xc3ab0+_0x23dd9c('0x21'),'method':'post','data':_0x7b07da});},'delShareWork'(_0x54b0c1){const _0x1a018d=_0x3f89b0;return _0x38e5c3({'url':_0xc3ab0+'/shareWork/'+_0x54b0c1['shareWorksId'],'method':_0x1a018d('0x167')});},'getShareActivityCover'(_0x45a992){const _0x307a91=_0x3f89b0;return _0x38e5c3({'url':_0xc3ab0+_0x307a91('0x235'),'method':_0x307a91('0x183'),'params':_0x45a992});}},_0x194910={'getCouponPage'(_0x210f41){return _0x38e5c3({'url':_0x1e3849+'/ehmCoupon/listPage','method':'get','params':_0x210f41});},'getUseCouponList'(_0x46a906){const _0x311c09=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x311c09('0x1e5'),'method':'get','params':_0x46a906});},'deleteCoupon'(_0x4a7458){const _0x291059=_0x3f89b0;return _0x38e5c3({'url':_0x1e3849+_0x291059('0x239')+_0x4a7458['id'],'method':_0x291059('0x167')});}},_0x3883ad=window['g'][_0x3f89b0('0xac')];const {url:_0x27c2c8,loginUrl:_0x4a3544,orderUrl:_0x1619ce,personalUrl:_0x1e3849,scanUrl:_0x359e5e,huangheUrl:_0x2f7f87,activityUrl:_0xc3ab0}=_0x3883ad;var _0x55c8ba={..._0x207e26,..._0x86f6f7,..._0x5c020d,..._0x25ca5b,..._0x2fce72,..._0x7a793d,..._0x3a8d8a,..._0x2521e7,..._0x194910,'token'(){const _0x1aeb64=_0x3f89b0;window[_0x1aeb64('0x20b')][_0x1aeb64('0x7a')]('token')&&(_0x38e5c3[_0x1aeb64('0x155')]['headers']={'Authorization':_0x1aeb64('0x1d9')+window['localStorage'][_0x1aeb64('0x7a')](_0x1aeb64('0x188')),'Accept':_0x1aeb64('0x46'),'Content-Type':_0x1aeb64('0x1eb')});},'login'(_0x3f1b16){const _0x1d8d3e=_0x3f89b0;return _0x38e5c3({'url':_0x4a3544+_0x1d8d3e('0x57'),'method':_0x1d8d3e('0x167'),'data':_0x3f1b16});},'loginsecret'(_0x3e24a7){const _0x3d78aa=_0x3f89b0;return _0x38e5c3({'url':_0x4a3544+_0x3d78aa('0x14d'),'method':_0x3d78aa('0x167'),'data':_0x3e24a7});}},_0x11ff42=_0x50920(_0x3f89b0('0x200'));_0x26cabc['a'][_0x3f89b0('0x1bd')](_0x59f876['a']);var _0x35c4ee=new _0x59f876['a'][(_0x3f89b0('0x192'))]({'state':{'cartNum':'','all':{},'advertisement':[{'web':'','adv':''},{'web':_0x3f89b0('0x24f'),'link':_0x3f89b0('0x22d'),'adv':_0x50920(_0x3f89b0('0x20'))},{'web':'https://wx.hhl1916.com/opc/ms/wxForeign/r?fsr=toMe','link':'GoUpstairs','adv':_0x50920(_0x3f89b0('0x1f5'))}],'isshow':!0x1,'isloading':!0x1,'iserr':!0x1,'isfudai':!0x1,'ismodal':{'isphone':'','isuser':'1','isaddress':'isphone','errnum':0x0,'follow':!0x1},'smokeimg':_0x50920(_0x3f89b0('0x6f')),'NoProductId':[_0x3f89b0('0x217'),_0x3f89b0('0x122'),_0x3f89b0('0x31'),'f1307554-186d-48f4-bd16-f73a603ac7aa'],'storagecont':[{'img':!0x0,'text1':_0x3f89b0('0xaa'),'text2':_0x3f89b0('0xb1'),'isbutton':!0x0,'button':_0x3f89b0('0x1a9')},{'img':!0x1,'text1':_0x3f89b0('0x108'),'text2':'','isbutton':!0x1,'button':''},{'img':!0x0,'text1':_0x3f89b0('0x1ba'),'text2':_0x3f89b0('0x7'),'isbutton':!0x0,'button':'好的'},{'img':!0x1,'text1':_0x3f89b0('0x9a'),'text2':'试试重新加载找回正确的页面!','isbutton':!0x0,'button':'取消'},{'img':!0x0,'text1':'此二维码查询有误','text2':'','isbutton':!0x1,'button':'重新扫码'}],'contentstyle':{'img':!0x0,'text1':_0x3f89b0('0xaa'),'text2':'请重新输入','isbutton':!0x0,'button':'重新输入'},'QRcodeinfor':{'name':'','firsttime':'','num':0x1,'smoke':{'img':'','tar':'','monoxide':'','alkali':''},'status':!0x1,'productId':'','statusxx':'','istest':'','myaddress':[],'cusaddress':0x0,'ishasjp':'','openid':null}},'actions':{'subcode'({commit:_0x209f4b,state:_0x193c3c},_0x333431){const _0x42ac12=_0x3f89b0;_0x209f4b(_0x42ac12('0x39'),_0x333431);},'subcodeNew'({commit:_0x5a0d04,state:_0x478aca},_0x3dd632){const _0x22c834=_0x3f89b0;_0x5a0d04(_0x22c834('0x10b'),_0x3dd632);},'close'({commit:_0x2720fe,state:_0x1e8a4d},_0x1d6ee5){const _0x1e0b1d=_0x3f89b0;_0x2720fe(_0x1e0b1d('0x9c'),_0x1d6ee5);},'Callback'({commit:_0x443150,state:_0x486e6b},_0x2a2810){const _0x57d8e8=_0x3f89b0;_0x443150(_0x57d8e8('0x18d'),_0x2a2810);},'isNewUser'({commit:_0x1685c0,state:_0x306644},_0x16d2cb){const _0x5f43d4=_0x3f89b0;_0x1685c0(_0x5f43d4('0x9b'),_0x16d2cb);},'isNewUserNew'({commit:_0x5c8f29,state:_0x47bffe},_0x56f4c0){const _0x224b7d=_0x3f89b0;_0x5c8f29(_0x224b7d('0x42'),_0x56f4c0);},'subaddress'({commit:_0x233709,state:_0x1a568a},_0x253923){const _0xb789a9=_0x3f89b0;_0x233709(_0xb789a9('0x132'),_0x253923);},'onresult'({commit:_0x433a8b,state:_0x174cf4},_0x321536){const _0x5db252=_0x3f89b0;_0x433a8b(_0x5db252('0x1a1'),_0x321536);},'goerr'({commit:_0x86896f,state:_0x328c0b},_0x28f7aa){const _0x3b6a5c=_0x3f89b0;_0x86896f(_0x3b6a5c('0x223'),_0x28f7aa);},'cusphones'({commit:_0x34f922,state:_0x1c230a},_0x947a7c){_0x34f922('oncusphone',_0x947a7c);},'update'({commit:_0xf58c2b,state:_0x19e13e},_0x4192f1){_0xf58c2b('onupdate',_0x4192f1);},'onmyadd'({commit:_0x1127de,state:_0x3c6968},_0x55bad1){const _0x3368b7=_0x3f89b0;_0x1127de(_0x3368b7('0xa5'),_0x55bad1);},'bjaddress'({commit:_0x3cbc28,state:_0x19eb97},_0x255c04){const _0x4db364=_0x3f89b0;_0x3cbc28(_0x4db364('0x236'),_0x255c04);},'ccmyadd'({commit:_0x747a14,state:_0xcbf7},_0x243d8f){_0x747a14('goccmyadd',_0x243d8f);},'changeloading'({commit:_0x331c08,state:_0x1a73b3},_0x559236){const _0x349586=_0x3f89b0;_0x331c08(_0x349586('0x15b'),_0x559236);},'changetub'({commit:_0x31bf75,state:_0x266ebc},_0x2fd350){_0x31bf75('onchangetub',_0x2fd350);},'gofudai'({commit:_0x3930d8,state:_0x10c233},_0x3b5496){_0x3930d8('ongofudai',_0x3b5496);}},'mutations':{'upDataCartNum'(_0x27d964,_0x1e0872){const _0x2d8b30=_0x3f89b0;_0x27d964[_0x2d8b30('0x5')]=_0x1e0872;},'ongofudai'(_0x326006,_0x339e73){const _0x1989bc=_0x3f89b0;_0x326006['isfudai']=_0x339e73;var _0x397ff9=JSON['parse'](localStorage[_0x1989bc('0x7a')](_0x1989bc('0x1c5')));_0x397ff9[_0x1989bc('0x102')]=!0x1,localStorage[_0x1989bc('0x3b')](_0x1989bc('0x1c5'),JSON[_0x1989bc('0x0')](_0x397ff9));},'onchangetub'(_0x2650b2,_0x4f857e){const _0x5c0e78=_0x3f89b0;_0x2650b2[_0x5c0e78('0x1ee')]=_0x4f857e;},'onchangeloading'(_0x44d2e2,_0x226a9c){const _0x204aa3=_0x3f89b0;_0x44d2e2[_0x204aa3('0x2d')]=_0x226a9c;},'onupdate'(_0x3b40c7,_0x6b9554){_0x3b40c7['statusxx']=_0x6b9554;},'onerr'(_0x73f72,_0x32d6a5){const _0x236f95=_0x3f89b0;_0x73f72[_0x236f95('0x177')]=_0x32d6a5;},async 'doisNewUser'(_0x29a609,_0x47c01a,_0x5938b8){const _0xe55f4c=_0x3f89b0;let _0x34e9fe=this;if(!_0x47c01a)return;let _0x4462f9={};for(const _0x3b6bf6 in _0x47c01a)console['log'](typeof _0x47c01a[_0x3b6bf6]),_0x4462f9[_0x3b6bf6]=_0xe55f4c('0x1da')===typeof _0x47c01a[_0x3b6bf6]?_0x47c01a[_0x3b6bf6][_0xe55f4c('0x179')]():_0x47c01a[_0x3b6bf6];if(_0x4462f9){if(_0x29a609[_0xe55f4c('0x4')]=_0x4462f9,localStorage[_0xe55f4c('0x3b')](_0xe55f4c('0x4'),JSON['stringify'](_0x4462f9)),_0x29a609[_0xe55f4c('0x2d')]=!0x0,_0x29a609[_0xe55f4c('0x17')]['isuser']=_0x4462f9[_0xe55f4c('0x237')],_0x4462f9[_0xe55f4c('0x237')]||(_0x29a609[_0xe55f4c('0x17')][_0xe55f4c('0xa0')]='0',_0x29a609[_0xe55f4c('0x17')]['isaddress']='isuser',_0x29a609[_0xe55f4c('0x13f')]=_0x29a609[_0xe55f4c('0xf7')][0x1],_0x29a609[_0xe55f4c('0x1f6')]=!0x0),_0xe55f4c('0x1ea')===_0x4462f9['errorCode'])_0x29a609[_0xe55f4c('0x17')][_0xe55f4c('0xa0')]='0',_0x29a609[_0xe55f4c('0x17')]['isaddress']=_0xe55f4c('0xa0'),_0x29a609[_0xe55f4c('0x13f')]=_0x29a609[_0xe55f4c('0xf7')][0x4],_0x29a609['isshow']=!0x0;else{if('2'===_0x4462f9[_0xe55f4c('0x176')])_0x29a609[_0xe55f4c('0x17')][_0xe55f4c('0x9e')]=_0xe55f4c('0xa0'),_0x29a609['ismodal'][_0xe55f4c('0x4c')]=!0x0,_0x29a609[_0xe55f4c('0x1f6')]=!0x0;else{if('0'===_0x4462f9[_0xe55f4c('0x176')]||'1'===_0x4462f9[_0xe55f4c('0x176')]){if('1'===_0x4462f9[_0xe55f4c('0x176')]&&!_0x4462f9[_0xe55f4c('0x1c2')])return _0x29a609[_0xe55f4c('0x17')][_0xe55f4c('0x9e')]=_0xe55f4c('0xa0'),_0x29a609['ismodal'][_0xe55f4c('0x4c')]=!0x0,_0x29a609[_0xe55f4c('0x1f6')]=!0x0,void window[_0xe55f4c('0x20b')][_0xe55f4c('0x120')]();let _0x4f20f1='';if(-0x1!==window['location'][_0xe55f4c('0x8d')][_0xe55f4c('0x22a')]('#'))_0x4f20f1=window[_0xe55f4c('0x59')]['href']['split']('#')[0x0];else{let _0x1a5618=navigator['userAgent'][_0xe55f4c('0xf5')]();_0x4f20f1=/iphone|ipad|ipod/[_0xe55f4c('0x1a')](_0x1a5618)?window['localStorage']['getItem'](_0xe55f4c('0xca')):window[_0xe55f4c('0x59')]['href'];}const {data:_0x43ecfa}=await _0x55c8ba[_0xe55f4c('0x125')]({'url':_0x4f20f1});wx[_0xe55f4c('0xd6')]({'debug':!0x1,'appId':window['g'][_0xe55f4c('0x24d')],'timestamp':_0x43ecfa[_0xe55f4c('0x171')],'nonceStr':_0x43ecfa[_0xe55f4c('0xe5')],'signature':_0x43ecfa['signature'],'jsApiList':['scanQRCode',_0xe55f4c('0x1ca'),'startRecord',_0xe55f4c('0x24b'),_0xe55f4c('0x1bf')]}),wx['ready'](function(){const _0xf20362=_0xe55f4c;'1'===_0x4462f9[_0xf20362('0x176')]&&_0x11ea75['push']({'name':_0xf20362('0x234')});let _0xf32bb5=window['localStorage'][_0xf20362('0x7a')](_0xf20362('0x199')),_0x4214e5=new Date()[_0xf20362('0x238')]()/0x3e8;_0x4214e5-0x1b7740<_0xf32bb5?_0x34e9fe[_0xf20362('0x5c')](_0xf20362('0x10a'),{'adcode':window[_0xf20362('0x20b')]['getItem']('dzcode')}):wx[_0xf20362('0x1ca')]({'type':_0xf20362('0x6d'),'success':function(_0x5ea646){const _0x21dd71=_0xf20362;if(_0x5ea646[_0x21dd71('0x11')])_0x34e9fe[_0x21dd71('0x5c')](_0x21dd71('0x2f'),{'latitude':_0x5ea646[_0x21dd71('0x11')],'longitude':_0x5ea646[_0x21dd71('0xb9')],'NowTime':_0x4214e5}),window[_0x21dd71('0x20b')][_0x21dd71('0x3b')](_0x21dd71('0x1df'),_0x5ea646[_0x21dd71('0x11')]),window[_0x21dd71('0x20b')]['setItem'](_0x21dd71('0xab'),_0x5ea646[_0x21dd71('0xb9')]);else{let _0x30ce20=navigator[_0x21dd71('0x147')][_0x21dd71('0xf5')]();/iphone|ipad|ipod/[_0x21dd71('0x1a')](_0x30ce20)&&_0x11ff42['a']['alert']({'title':_0x21dd71('0x52'),'message':_0x21dd71('0x216')})[_0x21dd71('0x197')](()=>{});}},'fail':function(_0xdafd8c){const _0x4a625f=_0xf20362;let _0x21b787=navigator[_0x4a625f('0x147')][_0x4a625f('0xf5')]();/iphone|ipad|ipod/[_0x4a625f('0x1a')](_0x21b787)&&_0x11ff42['a'][_0x4a625f('0x109')]({'title':_0x4a625f('0x52'),'message':_0x4a625f('0x216')})[_0x4a625f('0x197')](()=>{});},'cancel':function(_0x5b36c4){const _0x30928f=_0xf20362;let _0x56f683=navigator[_0x30928f('0x147')][_0x30928f('0xf5')]();/iphone|ipad|ipod/[_0x30928f('0x1a')](_0x56f683)&&_0x11ff42['a'][_0x30928f('0x109')]({'title':'无法获取你的位置信息','message':_0x30928f('0x216')})[_0x30928f('0x197')](()=>{});}});}),wx[_0xe55f4c('0x20c')](function(_0x146c28){});}else _0x29a609[_0xe55f4c('0x17')][_0xe55f4c('0xa0')]='0',_0x29a609[_0xe55f4c('0x17')]['isaddress']=_0xe55f4c('0xa0'),_0x29a609[_0xe55f4c('0x13f')]=_0x29a609[_0xe55f4c('0xf7')][0x1],_0x29a609[_0xe55f4c('0x1f6')]=!0x0;}}}},async 'doisNewUserNew'(_0x4a497a,_0x4df32c,_0x5ddfa8){const _0x37b430=_0x3f89b0;let _0x236bb3=this;if(!_0x4df32c)return;let _0xbde08={};for(const _0x416541 in _0x4df32c)console[_0x37b430('0x67')](typeof _0x4df32c[_0x416541]),_0xbde08[_0x416541]=_0x37b430('0x1da')===typeof _0x4df32c[_0x416541]?_0x4df32c[_0x416541]['toString']():_0x4df32c[_0x416541];if(console[_0x37b430('0x67')]('mm',_0xbde08),_0xbde08){if(_0x4a497a[_0x37b430('0x4')]=_0xbde08,localStorage[_0x37b430('0x3b')](_0x37b430('0x4'),JSON[_0x37b430('0x0')](_0xbde08)),_0x4a497a[_0x37b430('0x2d')]=!0x0,_0x4a497a[_0x37b430('0x17')][_0x37b430('0xa0')]=_0xbde08['isNewUser'],_0xbde08[_0x37b430('0x237')]||(_0x4a497a[_0x37b430('0x17')][_0x37b430('0xa0')]='0',_0x4a497a[_0x37b430('0x17')][_0x37b430('0x9e')]='isuser',_0x4a497a[_0x37b430('0x13f')]=_0x4a497a[_0x37b430('0xf7')][0x1],_0x4a497a[_0x37b430('0x1f6')]=!0x0),'2'===_0xbde08['errorCode'])_0x4a497a['ismodal'][_0x37b430('0x9e')]=_0x37b430('0xa0'),_0x4a497a[_0x37b430('0x17')][_0x37b430('0x4c')]=!0x0,_0x4a497a[_0x37b430('0x1f6')]=!0x0;else{if('0'===_0xbde08[_0x37b430('0x176')]||'1'===_0xbde08[_0x37b430('0x176')]){if('1'===_0xbde08['errorCode']&&!_0xbde08[_0x37b430('0x1c2')])return _0x4a497a[_0x37b430('0x17')][_0x37b430('0x9e')]=_0x37b430('0xa0'),_0x4a497a[_0x37b430('0x17')][_0x37b430('0x4c')]=!0x0,_0x4a497a['isshow']=!0x0,void window[_0x37b430('0x20b')][_0x37b430('0x120')]();let _0x25d959='';if(-0x1!==window[_0x37b430('0x59')][_0x37b430('0x8d')][_0x37b430('0x22a')]('#'))_0x25d959=window[_0x37b430('0x59')][_0x37b430('0x8d')][_0x37b430('0x1a4')]('#')[0x0];else{let _0x1797ca=navigator['userAgent'][_0x37b430('0xf5')]();_0x25d959=/iphone|ipad|ipod/[_0x37b430('0x1a')](_0x1797ca)?window['localStorage'][_0x37b430('0x7a')](_0x37b430('0xca')):window[_0x37b430('0x59')][_0x37b430('0x8d')];}const {data:_0x3de46d}=await _0x55c8ba[_0x37b430('0x125')]({'url':_0x25d959});wx[_0x37b430('0xd6')]({'debug':!0x1,'appId':window['g'][_0x37b430('0x24d')],'timestamp':_0x3de46d[_0x37b430('0x171')],'nonceStr':_0x3de46d[_0x37b430('0xe5')],'signature':_0x3de46d[_0x37b430('0x10f')],'jsApiList':['scanQRCode',_0x37b430('0x1ca'),_0x37b430('0x218'),_0x37b430('0x24b'),_0x37b430('0x1bf')]}),wx[_0x37b430('0xec')](function(){const _0x2c9b47=_0x37b430;'1'===_0xbde08[_0x2c9b47('0x176')]&&_0x11ea75[_0x2c9b47('0x8e')]({'name':_0x2c9b47('0x234')});let _0x307208=window['localStorage'][_0x2c9b47('0x7a')](_0x2c9b47('0x199')),_0x3b523e=new Date()['getTime']()/0x3e8;_0x3b523e-0x1b7740<_0x307208?_0x236bb3['commit'](_0x2c9b47('0x10a'),{'adcode':window[_0x2c9b47('0x20b')][_0x2c9b47('0x7a')](_0x2c9b47('0x111'))}):wx['getLocation']({'type':_0x2c9b47('0x6d'),'success':function(_0x2ee189){const _0x20c5bc=_0x2c9b47;if(_0x2ee189[_0x20c5bc('0x11')])_0x236bb3[_0x20c5bc('0x5c')]('getMaps',{'latitude':_0x2ee189['latitude'],'longitude':_0x2ee189[_0x20c5bc('0xb9')],'NowTime':_0x3b523e}),window[_0x20c5bc('0x20b')][_0x20c5bc('0x3b')](_0x20c5bc('0x1df'),_0x2ee189[_0x20c5bc('0x11')]),window[_0x20c5bc('0x20b')]['setItem'](_0x20c5bc('0xab'),_0x2ee189[_0x20c5bc('0xb9')]);else{let _0xc5f210=navigator[_0x20c5bc('0x147')][_0x20c5bc('0xf5')]();/iphone|ipad|ipod/[_0x20c5bc('0x1a')](_0xc5f210)&&_0x11ff42['a']['alert']({'title':_0x20c5bc('0x52'),'message':_0x20c5bc('0x216')})[_0x20c5bc('0x197')](()=>{});}},'fail':function(_0x25ff4c){const _0x15b2c4=_0x2c9b47;let _0x8fd0f7=navigator['userAgent']['toLowerCase']();/iphone|ipad|ipod/[_0x15b2c4('0x1a')](_0x8fd0f7)&&_0x11ff42['a'][_0x15b2c4('0x109')]({'title':_0x15b2c4('0x52'),'message':_0x15b2c4('0x216')})[_0x15b2c4('0x197')](()=>{});},'cancel':function(_0x13226b){const _0x2575f5=_0x2c9b47;let _0x3f2912=navigator[_0x2575f5('0x147')][_0x2575f5('0xf5')]();/iphone|ipad|ipod/[_0x2575f5('0x1a')](_0x3f2912)&&_0x11ff42['a'][_0x2575f5('0x109')]({'title':_0x2575f5('0x52'),'message':_0x2575f5('0x216')})['then'](()=>{});}});}),wx['error'](function(_0x19890d){});}else _0x4a497a[_0x37b430('0x17')][_0x37b430('0xa0')]='0',_0x4a497a[_0x37b430('0x17')][_0x37b430('0x9e')]=_0x37b430('0xa0'),_0x4a497a[_0x37b430('0x13f')]=_0x4a497a['storagecont'][0x1],_0x4a497a[_0x37b430('0x1f6')]=!0x0;}}},async 'getMaps'(_0x304d79,_0x3a7f04){const _0x1a0cf8=_0x3f89b0;console[_0x1a0cf8('0x67')](_0x1a0cf8('0x2f'),_0x3a7f04);let {latitude:_0x23a345,longitude:_0x3d6cb7,NowTime:_0x3eb998}=_0x3a7f04;const {data:_0x462a5f}=await _0x55c8ba[_0x1a0cf8('0x2f')]({'latitude':_0x23a345,'longitude':_0x3d6cb7}),{result:_0x10d0f2}=_0x462a5f;_0x10d0f2&&_0x10d0f2['ad_info']&&(this['commit']('getAd',{'adcode':_0x10d0f2[_0x1a0cf8('0x1f7')][_0x1a0cf8('0x16e')]}),window[_0x1a0cf8('0x20b')][_0x1a0cf8('0x3b')](_0x1a0cf8('0x111'),_0x10d0f2[_0x1a0cf8('0x1f7')]['adcode']),window[_0x1a0cf8('0x20b')][_0x1a0cf8('0x3b')](_0x1a0cf8('0x231'),_0x10d0f2[_0x1a0cf8('0x1f7')][_0x1a0cf8('0x16e')]['toString']()['slice'](0x0,0x4)+'00'),window['localStorage'][_0x1a0cf8('0x3b')]('city',_0x10d0f2[_0x1a0cf8('0x1f7')]['city']),window[_0x1a0cf8('0x20b')][_0x1a0cf8('0x3b')](_0x1a0cf8('0x199'),_0x3eb998));},async 'getAd'(_0xde162,_0xdb14e9){const _0x29c39a=_0x3f89b0,{data:_0x15ee64}=await _0x55c8ba['getAd']({'code':_0xdb14e9[_0x29c39a('0x16e')]});let _0x37cfcc=[];_0x15ee64[_0x29c39a('0x142')](_0x56e86c=>{const _0x416840=_0x29c39a;0x6===_0x56e86c[_0x416840('0x160')]&&_0x37cfcc[_0x416840('0x8e')](_0x56e86c);}),_0x37cfcc[_0x29c39a('0x51')]>0x0&&(_0xde162[_0x29c39a('0x195')][0x0]['adv']=_0x37cfcc[0x0][_0x29c39a('0x88')],_0xde162[_0x29c39a('0x195')][0x0][_0x29c39a('0x110')]=_0x37cfcc[0x0][_0x29c39a('0xea')]);},async 'dosubcode'(_0x12f049,_0xc4cb53){const _0x56d9f2=_0x3f89b0;_0x12f049[_0x56d9f2('0x4')]&&_0x12f049[_0x56d9f2('0x4')]['scanId']||(_0x12f049[_0x56d9f2('0x4')]=JSON[_0x56d9f2('0x23e')](localStorage[_0x56d9f2('0x7a')](_0x56d9f2('0x4')))),_0x12f049[_0x56d9f2('0x17')][_0x56d9f2('0x9e')]=_0x56d9f2('0xa0');let _0x299513=0x0,_0x48f469=0x0;window[_0x56d9f2('0x20b')]['getItem']('lat')&&(_0x299513=window[_0x56d9f2('0x20b')][_0x56d9f2('0x7a')](_0x56d9f2('0x1df')),_0x48f469=window[_0x56d9f2('0x20b')]['getItem'](_0x56d9f2('0xab')));let _0x5dc1fb={'latitude':_0x299513,'longitude':_0x48f469,'scanId':_0x12f049[_0x56d9f2('0x4')][_0x56d9f2('0x93')],'code':_0xc4cb53};_0x12f049['isloading']=!0x0;const {data:_0x98503}=await _0x55c8ba[_0x56d9f2('0x21a')](_0x42cfac['a'][_0x56d9f2('0x1fc')](JSON[_0x56d9f2('0x0')](_0x5dc1fb)));_0x12f049[_0x56d9f2('0x2d')]=!0x1,0x0===JSON[_0x56d9f2('0x23e')](_0x42cfac['a'][_0x56d9f2('0x33')](_0x98503))?(_0x12f049['ismodal'][_0x56d9f2('0x1fd')]++,_0x12f049['ismodal'][_0x56d9f2('0x1fd')]>=0x3?(_0x12f049[_0x56d9f2('0x13f')]=_0x12f049[_0x56d9f2('0xf7')][0x4],_0x12f049['isshow']=!0x0):(_0x12f049['contentstyle']=_0x12f049[_0x56d9f2('0xf7')][0x0],_0x12f049[_0x56d9f2('0x1f6')]=!0x0)):_0x11ea75[_0x56d9f2('0x8e')]({'name':_0x56d9f2('0x234')});},async 'dosubcodeNew'(_0x3bc3d8,_0x46ffc6){const _0x493f34=_0x3f89b0;_0x3bc3d8[_0x493f34('0x4')]&&_0x3bc3d8['all'][_0x493f34('0x93')]||(_0x3bc3d8[_0x493f34('0x4')]=JSON[_0x493f34('0x23e')](localStorage[_0x493f34('0x7a')]('all'))),_0x3bc3d8[_0x493f34('0x17')][_0x493f34('0x9e')]=_0x493f34('0xa0');let _0xb6afb7=0x0,_0x385d6e=0x0;window[_0x493f34('0x20b')][_0x493f34('0x7a')]('lat')&&(_0xb6afb7=window[_0x493f34('0x20b')][_0x493f34('0x7a')]('lat'),_0x385d6e=window[_0x493f34('0x20b')][_0x493f34('0x7a')](_0x493f34('0xab')));let _0xf1ceec={'latitude':_0xb6afb7,'longitude':_0x385d6e,'scanId':_0x3bc3d8[_0x493f34('0x4')][_0x493f34('0x93')],'code':_0x46ffc6};_0x3bc3d8[_0x493f34('0x2d')]=!0x0;const {data:_0x1b5080}=await _0x55c8ba[_0x493f34('0xaf')](_0x42cfac['a'][_0x493f34('0x1fc')](JSON[_0x493f34('0x0')](_0xf1ceec)));_0x3bc3d8['isloading']=!0x1,0x0===JSON[_0x493f34('0x23e')](_0x42cfac['a'][_0x493f34('0x33')](_0x1b5080))?(_0x3bc3d8[_0x493f34('0x17')][_0x493f34('0x1fd')]++,_0x3bc3d8[_0x493f34('0x17')][_0x493f34('0x1fd')]>=0x3?(_0x3bc3d8['contentstyle']=_0x3bc3d8[_0x493f34('0xf7')][0x4],_0x3bc3d8['isshow']=!0x0):(_0x3bc3d8[_0x493f34('0x13f')]=_0x3bc3d8[_0x493f34('0xf7')][0x0],_0x3bc3d8[_0x493f34('0x1f6')]=!0x0)):this['commit']('getLottery',{'scanId':_0x3bc3d8[_0x493f34('0x4')][_0x493f34('0x93')]});},async 'getLottery'(_0x54a5f3,_0x1c3d7a){const _0x1b16a7=_0x3f89b0;let _0x759df3=0x0,_0x545dca=0x0;window[_0x1b16a7('0x20b')][_0x1b16a7('0x7a')](_0x1b16a7('0x1df'))&&(_0x759df3=window[_0x1b16a7('0x20b')][_0x1b16a7('0x7a')]('lat'),_0x545dca=window[_0x1b16a7('0x20b')]['getItem'](_0x1b16a7('0xab')));let _0x40ec0f={'latitude':_0x759df3,'longitude':_0x545dca,'scanId':_0x1c3d7a[_0x1b16a7('0x93')]};console[_0x1b16a7('0x67')](_0x1b16a7('0xdb'),_0x40ec0f);const {data:_0x517450}=await _0x55c8ba['getLotterysecret'](_0x42cfac['a'][_0x1b16a7('0x1fc')](JSON[_0x1b16a7('0x0')](_0x40ec0f)));let _0x39b08d=JSON['parse'](_0x42cfac['a'][_0x1b16a7('0x33')](_0x517450));console['log']('data1',_0x39b08d),_0x39b08d['status']?_0x11ea75[_0x1b16a7('0x8e')]({'name':_0x1b16a7('0xd4')}):_0x11ea75[_0x1b16a7('0x8e')]({'name':_0x1b16a7('0x107')});},async 'onresults'(_0x21d269,_0xde1ffe){const _0x3a73a7=_0x3f89b0;_0x21d269[_0x3a73a7('0x4')]&&_0x21d269[_0x3a73a7('0x4')][_0x3a73a7('0x93')]||(_0x21d269[_0x3a73a7('0x4')]=JSON[_0x3a73a7('0x23e')](localStorage['getItem'](_0x3a73a7('0x4')))),_0x21d269[_0x3a73a7('0x2d')]=!0x0;const {data:_0x4f0737}=await _0x55c8ba[_0x3a73a7('0x1b1')](_0x42cfac['a'][_0x3a73a7('0x1fc')](JSON[_0x3a73a7('0x0')](_0x21d269[_0x3a73a7('0x4')][_0x3a73a7('0x93')])));_0x21d269['isloading']=!0x1;let _0x157402=JSON[_0x3a73a7('0x23e')](_0x42cfac['a'][_0x3a73a7('0x33')](_0x4f0737));_0x21d269[_0x3a73a7('0x17')]['isphone']=_0x157402[_0x3a73a7('0x157')],localStorage[_0x3a73a7('0x3b')](_0x3a73a7('0x1c5'),JSON[_0x3a73a7('0x0')](_0x157402)),_0x21d269[_0x3a73a7('0x1c5')][_0x3a73a7('0x5a')]=_0x157402[_0x3a73a7('0x15d')],_0x21d269[_0x3a73a7('0x1c5')][_0x3a73a7('0x23c')]=_0x157402[_0x3a73a7('0xd2')],_0x21d269[_0x3a73a7('0x1c5')][_0x3a73a7('0x4e')]=_0x157402[_0x3a73a7('0x71')],_0x21d269[_0x3a73a7('0x1c5')][_0x3a73a7('0x225')][_0x3a73a7('0xb7')]=_0x157402[_0x3a73a7('0x47')],_0x21d269['QRcodeinfor'][_0x3a73a7('0x225')][_0x3a73a7('0x129')]=_0x157402[_0x3a73a7('0xb6')],_0x21d269[_0x3a73a7('0x1c5')]['smoke'][_0x3a73a7('0xee')]=_0x157402[_0x3a73a7('0x79')],_0x21d269[_0x3a73a7('0x1c5')]['smoke'][_0x3a73a7('0x9f')]=_0x157402[_0x3a73a7('0x214')],_0x21d269[_0x3a73a7('0x1c5')]['ishasjp']=_0x157402[_0x3a73a7('0x102')],_0x21d269[_0x3a73a7('0x1c5')][_0x3a73a7('0x133')]=_0x157402[_0x3a73a7('0x133')];let _0x4a01be=0x0,_0x2be5fe=0x0;window[_0x3a73a7('0x20b')][_0x3a73a7('0x7a')]('lat')&&(_0x4a01be=window[_0x3a73a7('0x20b')][_0x3a73a7('0x7a')](_0x3a73a7('0x1df')),_0x2be5fe=window['localStorage'][_0x3a73a7('0x7a')](_0x3a73a7('0xab'))),_0x21d269[_0x3a73a7('0x4')][_0x3a73a7('0x93')];},'doclose'(_0x59bf43,_0x372c05){const _0x56a010=_0x3f89b0;_0x59bf43[_0x56a010('0x1f6')]=!0x1;},'doCallback'(_0x533248,_0x2b2f16){const _0x525ea1=_0x3f89b0;_0x533248[_0x525ea1('0x17')]['isaddress']=_0x525ea1('0x21d'),_0x533248[_0x525ea1('0x1f6')]=!0x0;},'oncusphone'(_0x3853ac,_0x3115e2){const _0x5c9da4=_0x3f89b0;_0x3853ac[_0x5c9da4('0x17')][_0x5c9da4('0x21d')]=_0x3115e2;},'doaddress'(_0x5345f7,_0x218605){const _0x3fa3e7=_0x3f89b0;_0x5345f7[_0x3fa3e7('0x17')][_0x3fa3e7('0x9e')]=_0x218605,_0x5345f7[_0x3fa3e7('0x1f6')]=!0x0;},'gobjaddress'(_0x81b6d1,_0x183585){const _0x84f363=_0x3f89b0;_0x81b6d1['ismodal'][_0x84f363('0x9e')]=_0x84f363('0x1d2'),_0x81b6d1[_0x84f363('0x1f6')]=!0x0;},'goonisaddress'(_0x5c383b,_0x1cf1f){_0x5c383b['myaddress']=_0x1cf1f;},'goccmyadd'(_0x273f92,_0xc8a5a0){const _0x53873e=_0x3f89b0;_0x273f92[_0x53873e('0x245')]=_0xc8a5a0;}},'modules':{}}),_0x450d58=_0x50920(_0x3f89b0('0x17b')),_0x3aac39=(_0x50920(_0x3f89b0('0x86')),_0x50920(_0x3f89b0('0x83')),_0x50920(_0x3f89b0('0x73')),_0x50920(_0x3f89b0('0x141'))),_0x17ae49=_0x50920['n'](_0x3aac39);_0x50920(_0x3f89b0('0x10c')),(_0x26cabc['a'][_0x3f89b0('0x1bd')](_0x450d58['a']),_0x26cabc['a'][_0x3f89b0('0xd6')][_0x3f89b0('0x23d')]=!0x1,_0x26cabc['a'][_0x3f89b0('0x27')][_0x3f89b0('0x1e2')]=_0x55c8ba,_0x26cabc['a'][_0x3f89b0('0x1bd')](_0x17ae49['a']),new _0x26cabc['a']({'router':_0x11ea75,'store':_0x35c4ee,'render':_0x231f98=>_0x231f98(_0x1a6405)})[_0x3f89b0('0xe4')](_0x3f89b0('0xcf')));const _0xb35377=_0x26cabc['a'][_0x3f89b0('0x27')][_0x3f89b0('0x178')];_0x26cabc['a'][_0x3f89b0('0x27')][_0x3f89b0('0x178')]=function(_0x2ad34b,_0x767351){const _0x3a2198=_0x3f89b0;let _0x4539d6,_0x34801c=!0x0,_0x5aa212=_0x767351;_0x3a2198('0x75')==_0x2ad34b&&(_0x5aa212=function(){const _0x539a3f=_0x3a2198;_0x34801c&&(_0x767351[_0x539a3f('0x15')](this,arguments),_0x34801c=!0x1),clearTimeout(_0x4539d6),_0x4539d6=setTimeout(function(){_0x34801c=!0x0;},0x1f4);}),_0xb35377['call'](this,_0x2ad34b,_0x5aa212);},_0x26cabc['a'][_0x3f89b0('0x148')](_0x3f89b0('0xa'),{'inserted':function(_0x557de5,_0x35bfe8){const _0x26815f=_0x3f89b0;document['title']=_0x557de5[_0x26815f('0x1c')][_0x26815f('0xa')];}});},'869c':function(_0x275fa9,_0x5abe5d,_0x5c6804){const _0x2e639c=a0_0x29cd;'use strict';var _0x2a895b=_0x5c6804(_0x2e639c('0xf3')),_0x1c5a3d=_0x5c6804['n'](_0x2a895b),_0x3365a3=_0x5c6804(_0x2e639c('0x228')),_0x36522f=window['g']['aaa'],_0xf742b9=JSON['parse'](Object(_0x3365a3['a'])(_0x36522f));_0x5abe5d['a']={'overwrite'(_0x4c3ed4,_0x3f8bdc){const _0x54f0cf=_0x2e639c;_0x3f8bdc=_0x3f8bdc||_0xf742b9[_0x54f0cf('0xa2')];let _0x4f5121=_0xf742b9[_0x54f0cf('0x20f')],_0x5f46ec=_0x1c5a3d['a'][_0x54f0cf('0xa4')][_0x54f0cf('0x1e3')]['parse'](_0x4f5121);var _0x1efa89=_0x1c5a3d['a']['enc'][_0x54f0cf('0x1e3')][_0x54f0cf('0x23e')](_0x3f8bdc),_0x50a5d5=_0x1c5a3d['a']['enc'][_0x54f0cf('0x1e3')][_0x54f0cf('0x23e')](_0x4c3ed4),_0x5ba221=_0x1c5a3d['a'][_0x54f0cf('0x45')]['encrypt'](_0x50a5d5,_0x1efa89,{'iv':_0x5f46ec,'mode':_0x1c5a3d['a']['mode'][_0x54f0cf('0x22')],'padding':_0x1c5a3d['a'][_0x54f0cf('0x1c4')]['ZeroPadding']}),_0xa566df=_0x1c5a3d['a'][_0x54f0cf('0xa4')][_0x54f0cf('0x182')];return _0xa566df[_0x54f0cf('0x0')](_0x5ba221[_0x54f0cf('0x1d7')]);},'restore'(_0x30f7d0,_0x305065){const _0x3f32d2=_0x2e639c;_0x305065=_0x305065||_0xf742b9[_0x3f32d2('0xa2')];let _0x559ff3=_0xf742b9[_0x3f32d2('0x20f')],_0x1ee8a5=_0x1c5a3d['a'][_0x3f32d2('0xa4')][_0x3f32d2('0x1e3')][_0x3f32d2('0x23e')](_0x559ff3);var _0x182824=_0x1c5a3d['a'][_0x3f32d2('0xa4')][_0x3f32d2('0x1e3')][_0x3f32d2('0x23e')](_0x305065),_0x57f517=_0x1c5a3d['a'][_0x3f32d2('0x45')][_0x3f32d2('0x13c')](_0x30f7d0,_0x182824,{'iv':_0x1ee8a5,'mode':_0x1c5a3d['a']['mode']['CBC'],'padding':_0x1c5a3d['a'][_0x3f32d2('0x1c4')][_0x3f32d2('0x92')]});return _0x57f517[_0x3f32d2('0x179')](_0x1c5a3d['a'][_0x3f32d2('0xa4')]['Utf8']);},'overwriteL'(_0x1e6a4b,_0x1f9088){const _0x1f5a21=_0x2e639c;_0x1f9088=_0x1f9088||_0xf742b9[_0x1f5a21('0x168')];let _0x3dc070=_0xf742b9[_0x1f5a21('0x21c')],_0x4e94d0=_0x1c5a3d['a'][_0x1f5a21('0xa4')][_0x1f5a21('0x1e3')][_0x1f5a21('0x23e')](_0x3dc070);var _0x40576e=_0x1c5a3d['a'][_0x1f5a21('0xa4')]['Utf8'][_0x1f5a21('0x23e')](_0x1f9088),_0x30bf00=_0x1c5a3d['a'][_0x1f5a21('0xa4')][_0x1f5a21('0x1e3')][_0x1f5a21('0x23e')](_0x1e6a4b),_0x439048=_0x1c5a3d['a'][_0x1f5a21('0x45')][_0x1f5a21('0xfa')](_0x30bf00,_0x40576e,{'iv':_0x4e94d0,'mode':_0x1c5a3d['a'][_0x1f5a21('0x1d6')][_0x1f5a21('0x22')],'padding':_0x1c5a3d['a'][_0x1f5a21('0x1c4')][_0x1f5a21('0x92')]}),_0x4cc103=_0x1c5a3d['a'][_0x1f5a21('0xa4')][_0x1f5a21('0x182')];return _0x4cc103[_0x1f5a21('0x0')](_0x439048['ciphertext']);},'restoreL'(_0x59b252,_0x517277){const _0x5298e0=_0x2e639c;console['log']('aaa',_0x36522f),console[_0x5298e0('0x67')]('bbb',_0xf742b9),console[_0x5298e0('0x67')](_0x5298e0('0x6b'),_0xf742b9[_0x5298e0('0x21c')]),_0x517277=_0x517277||_0xf742b9['keyStrL'];let _0x2ee217=_0xf742b9[_0x5298e0('0x21c')],_0x1409f1=_0x1c5a3d['a'][_0x5298e0('0xa4')][_0x5298e0('0x1e3')][_0x5298e0('0x23e')](_0x2ee217);var _0x17e61f=_0x1c5a3d['a'][_0x5298e0('0xa4')][_0x5298e0('0x1e3')][_0x5298e0('0x23e')](_0x517277),_0x254d68=_0x1c5a3d['a'][_0x5298e0('0x45')][_0x5298e0('0x13c')](_0x59b252,_0x17e61f,{'iv':_0x1409f1,'mode':_0x1c5a3d['a'][_0x5298e0('0x1d6')][_0x5298e0('0x22')],'padding':_0x1c5a3d['a'][_0x5298e0('0x1c4')]['ZeroPadding']});return _0x254d68[_0x5298e0('0x179')](_0x1c5a3d['a'][_0x5298e0('0xa4')][_0x5298e0('0x1e3')]);}};},'ac20':function(_0x514048,_0x47f8c9,_0x12e287){'use strict';_0x12e287('3058');},'eeb9':function(_0x5f0897,_0x52c5e4,_0x4e855c){const _0x371e7a=a0_0x29cd;'use strict';_0x4e855c['d'](_0x52c5e4,'a',function(){return _0x2a7261;});var _0x2522cd=_0x4e855c(_0x371e7a('0x1ae'));function _0x2a7261(_0x539525){const _0x16faf4=_0x371e7a;let _0x135864=new _0x2522cd['a'](),_0x219aed='-----BEGIN\x20PRIVATE\x20KEY-----MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC8ODkwj0SLkjMP129oqD9Oe7vmr8Wasq9gfQsYg3bRK1P9+9Chizipc7sK1cgtf+gEyMS34HA1zidSgfZcgXaa0nUbDXkiBIDQAGARhmCD9rLfYn3NlyMu3Xz2ky5R6No6lsG1x4ytnn7AQp/FJrYPp6NW8m5od7JsoZk8+BAuDHzfPQg+2t8Fesuc+2/yxG4AC3QOm8PV7jk4V6m1mRbdsqL1DX0iQSm+eyNGGleG6X2kQIgUKoE2ZdhsbCmXkFAZr/ToAsWpwoBrD08Il05QnV3nwrnr5XucylrKIYsXBopbgsUKbYGMuo6zcTpTk+MpYqXsn5tilxbkrbESgj91AgMBAAECggEAPKN4eVaO5NBzNvVXZUZfLu/aN5YFebN7oQBoJLul+fmVk8wfCQyLcrxgVDtPxKjinTf5eKwMOqlyLbjFIERta6/GHrMWhYkh3uFgEgVS7vD569IVabj5ks20xtPgJm94b0vGmMPzZLQdbd+JDcFNAnolu4tbWrjFeQ4PCn945vx8iujjGoBwXf0u5YYb5kg5tJhGlJllvd7jICUStYkgaXgAiOkOCpJz39xjfm7Sjn72n7YAB0kTdvLx2XVfFctWw44xRJTSY8fql54UZpTPMX7vVfcXYhhjtANcXFIpU56zfkk+b/IWIHtiv81jNPCwJ4c+2ERaZzmz6D4FT/4xOQKBgQD26rRZfqX6QLbTNIUzlDJVdlzE8MVYgsZTxwVcuM8zM4onYJjCF2ICW/dqLb+TG+nqoUmNmE+HnOY7I8dcQowajXUhR9YLTb+2pfbvUZMBLlbueIjoAZh0oQcwKPAFEOWI4oLT6SmXBNKZ9Iiy5Q0dSyTpLQzpKfPKKNNvPVgKxwKBgQDDJL+bbne9CwVuyN1sc3jaOzxuaKWgH9xlZM5yZZJoU1D6op9fpr2DvyTLd1XVKIM10DQQzUVrnpwx1IXzStnQid2zBnUNSOYSjDjwxCtk2JR1oaKPh82NE8fRXy40pVl+P2YSPXX9dnPV3Kka1t9d3DYkipLhzbJ3UPZkSnDH4wKBgQCJL4XcY11cWTA60GdhbOk6SnTohs1ei+odCeqUxal5TR1pG2ZEEDHIFci1GY3i8hNY5Ru0q/cj5ayVFx/gxqiI6Cc3wm3OAfiORk+YT75ZXaG3BQkrvhcyVXVk8JnKdsTQ9OizTExrN6a7Gv4IRvKuX922H+2YblKg82Xl3DNaaQKBgQCqiuQ1d46HlSkzT7JLhIMa3egLacNNtGqN5lKSIXiZWi8MS7FTC8rWZ+dFNk66EkTRc9r80BiaXCyPU/eYz1KacNJjEgKcEJiZnxhoOljeMnVUdGU4YOvgHmhj73XXJqaWsduHl1UVpT7IqabUQPNG+RwMRVrmojkVE5mxvmjgFwKBgQDkWNqcQtY7nij59WuuI6X8meW+NWuVQ85PwBgU8fMTRbNSgChaNb8897bsAhghkDjFzcEqxMPk1wQvWm7ajCg/+6LkUDLw4nMTJo+Zx50SvuwAqG0oVqjn9P13Ej2+5F3F53Qdi3sWFtkOoIpQogPRqov4gRnLTfXEf2Gm6++xJA==-----END\x20PRIVATE\x20KEY-----';_0x135864['setPrivateKey'](_0x219aed);let _0x3c297d=_0x135864[_0x16faf4('0x13c')](_0x539525);return _0x3c297d;}}})); -------------------------------------------------------------------------------- /example/v6/jsjiami.com.v6.js: -------------------------------------------------------------------------------- 1 | var OO0$='jsjiami.com.v6',OO0$_=['‮OO0$'],QO$$00=[OO0$,'w67DnQ7CvMO+wqU=','UsO8ZSouJA==','w6QpB0R4AFLCvcOU','fcKiw5dTZGo=','w45EwoBZ','Z8KqOw==','LsK6Hjg=','w7TDoQjCkMK0w4gPCcOVwpjCrMO0ccKLwpzDsjrCmxBvF8Kz','K8OnUks=','QsKOw5pT','wrc5LhI=','dMK1w4tbYg==','w6sOw5Q=','w6BRwqt5GWxMwpbCskY4w5RF','wrXClMOYUFPCmw==','wr9dw5gBcUo=','DMKJAFLCmMOJFFzCrg==','CcO5Nwkh','M3clB8O+wq4=','NcKcwr7Dsw==','woYLGMKGV20jwrXClMKn','NsK/J0PCm8ORAnvCpMKCwrUT','VsKAw4Be','wqvDrMOzwpfDiAc=','w43CjMKvdwU=','w5bDizjCjMOUDsKvw5h9XsKeKS4=','CMOOw4dTWQfCpcKaD3hZw6c=','w4HDkHzCjcOUZA==','acO+DkN8NDUcwpg=','VcK7OwQy','wpMPw4A=','JcOvw5AMC8K6CSvCtsOwC8KNw5Nf','572i5bKTSEwrJ2gGw4HCp8KqJWwIbeaVkeS5j++/meittOaileafoQ==','w4jCkcKgeQPCscOR','w5VVwppdQcKLwqHCrg4twoB6fcKuwrTCnz7DgFk9eMKJw4fDiMOrc8OKGw1mw5vCpw==','6Zuz5p+B6I+Y5Y+w','5oqt5Yq+77+0','w5hrwqxaA2hfwpfCsFsuw5Bsw5MIL8KBGsKqwr7CpQ3Djk3DknwHw4nDpcOPwoJ/','wrzDk8KUBMK9wo9CwrjCpcK/WHrCvw==','aSzCscKec2Q=','VcOkMkU=','EsOGdFokJGk3w4fCssOoK0ANZ8KJw4rCtsOxPHQJw5g=','dsO1ECXCiA==','QcKIw4AWRQbChsKaD3QfwrMb','ShLCrcKMAMO4w63CkxR+UmxFw68wwpEVRMKQOcKqfMKu','5Lu+5Lu05Lme6LWY5Yyi','wqoMwolyLcOPNjYNwrXDsnTDrCxnCR3DmsOsNlEWacOcfClOw4dewrfDr2TCoMOhL8Oc','KsKvBSXCksOM','w5VWwoQiPMKUfwE9w5LDkMOCBDw=','HMOhwqVb','wpnCmsO3w5QyVEtbwopGw6XCsMK8w5/DgAHCj8Kiwo3CgS7CjHY2UA==','Y8KxKMOQV8KiGMOVHMK5wqbCq8OpFWfDg8OSeMK3wosXeRvCvsKUw5NrGcOVwonCisKWcUvDhMKiJMKBw67Cqlc9wqHCn185OxADw6NRwpAYw6vDrkLCiQxhw6zCk8OQdcOqw6U=','wpxiKcKqFA==','w4BKwo0vaMKcYAY=','w6bDl8K+wpnDocKX','wokPwpnCgsOvw4vDmcKBwq7Cv8O1w7nCtcO0wo/Dv0wJKsK+UBbCng==','A2EmBsOwwrYKQWrDtMOLw7nCjiIoF8Khw5rCk8OYTjfDuXRvT8OIw57CkizDkQ==','w7vDsAjCssKmwpxEScOZwqbCsMK3ecKKwp3DmCLCuxRiH8KycgFww6LDriUUwrMLZQ0OVMOjZwPCiXQ=','fCzCscKYaWvCq8O5bMO7EMOfwrTDtcOnwqLDgsOuw7BhTMKUOMKKMMOBL8KfwoIS','woxONThnw5t0WhPChw==','cQPCqkl6fcOYIxUxTg==','C0NVY8KLw60hJ3BWDcOycRk=','asKnP8OEQcO+UA==','w4MGwoB/JcONaQ5+w5XCkMOUX3Yww4bDmsOLwrlDFcOiTEjDhsOLw7DCjQ3CgMO3Yw==','bsOyP8KTHcKgUcKcHsKrw73DocK3SSbCn8ORPsK2w5gZKk7Co8KJwpkpU8OWw4nCgcOb','w6jClMOTI8Kw','wr3DjWLDk8KAWglFw4LDhFLDnMKq','IBzCocKhCcO4w67CqyxjTGQOwqU=','w4YFV8O1RnXCkEh2YkBK','woA1wqUFDsOqwo/CoBfDocO3wrc=','dMK/w5pRYHZXKMOFbRB7w6Ejw4/Djw==','w6fDlgHCr8Ovw6rCrlg4FsK+OwXDqcK/wrdkwo3DrcKJ','HcKPw5FCQAzCmcKeVGZWw7gEM1I6GljDl8OIQsKtNEzDqG3Ck8KsGTrDl3bDt8OFwrsGwpREwod1w4hidcKxw4XDksKwUcOS','w6xvwovDpcKGAsK5EhrDlBs0wonCssK9X8OrwrMaOMOWwqsew7rDul3DnMOlwoM2wqMew4zCicO/ZlLCmsKQOsOTaMKUWcKKU8OIWSnChTkvfzcQRm80NlnDp8KQw64kw7vDmMOWe8OPTMO5w7jDgcOVw5rCn13CqWbClcK/w7RhGMKCwpE=','O+W+k+WngOOBmeS7o+S5jOi2luWNnQ==','5bS+6K69576M6LW96Lyk','w5/ChMKqcQI=','w58QaW06wok=','w58QaWgywpo=','wq9swo3DpcKKR8KHMgvChg==','w6HCn8KMCcKOwpRjwrLCocK/','wrcLwphwLQ==','wqTDs8Oow6nDvVBNTgs=','N30/J8OwwrVPQXs=','wrZKw4QJdw==','Z8KgMsOHUMOw','wqkmEsKBdXY+wrDCnQ==','w5QedEQkwoASH0TDjsO8R8Ktdg==','wqUMwp/Ciw==','WsO2cjo=','wqJdEsK8','NHclAQ==','wrPDswoR','wqI5LgvCsA==','OsK0GCfClcOOKMKvO8O+','w497wqth','OcOhX1o7O1UZw4bCow==','wrBXw5gVcUPDtsOwBQ==','AkcELw==','wrBZw5oK','EsKeF1I=','PMKpBSPCjg==','wpLDkXw=','wrA6HsKZb2YiwrM=','wq8DwpDCi8O5w5vCnMKb','w6cew5DCu8K+DgDDo2E/','O8OtUlwpPA==','w6USw53CrcK5HD3Drnw=','dMK+w7t9','w5lAwppM','VcOnOQ==','w5kHbn8=','wrzDtREAwqIfw68zwqtU','H8KUAUXClsOJ','WsOnMMKEw7vCojXCrTA=','wp3DnMOIwrk=','wr9Xw5E=','wrzCicOfQw==','w4zCtMKnw6xLWVfDtjFY','w5bDjD/Cg8ORJQ==','w7HCk8KQE8KKwoFDwqfCvw==','w58XY2Ih','wqpFw7HCpsKXFQh/','w7nDnTPCq8OtwrjCqW8=','wrvDscOuwp8=','UsO8ZCImNcODw6vCtEQ=','w4lmw7tURsKzw5fDrg==','H8KUAE3CnsOYHm3CucKC','wqEXwpJpN8KQalgewrc=','LB7Du1Ak','PHkpAcOz','f8K3JcOT','w6coBkU=','wqUdwok=','aMKqMsODRcOs','w4xrwrZ9','w5tvwqxo','w6nDkxTCvg==','wrg3JQ==','wr7DuRwGwrAY','wrc3LB3CtH4=','wqUCwp3ChMOtw4s=','wr9MGMKhFS/DhBMy','wrjDpMOpw7rDpkw=','wr9dBMK8','wpNsOg==','w6XCncKXFA==','UcO0w4kcw4rCoQUTw6jCj37DuEYRw5VWwq3DgHUHJ8K7','w48aaX8=','O8OtU1QhLXUhw5rCsg==','EMKUCA==','w5LDjcOhw4UrTHsbwoBVw6/CsA==','VcOpPMKSw6M=','wrINwo5q','w5zCm8K1bA==','wrEdwpN2','wqBdw5gS','ZsO0w4Q=','Z8O+w5AcBcKzCg==','w6MFw5rCqg==','w7PCn8KdBcKNwpN+wqrCosK5','w4/Cm8KoawLCvMOLZsKy','KcK6BT/CmQ==','aSzCpMKPR2PCtcO5fMOtGsOZ','wqA3EQrCp2NNwpk=','wqrDscO1wp3DlA==','wpQLFcOsw6Bdw4wpw5Y=','w6/Dh8Kn','wqBiwoDDq8KP','wqjDpsOz','w7DDqxLCocK0w5I=','YsKiw5dA','C0NV','wrvDq8Oiwpw=','VcOyfyg=','w4nCtsKww6g=','azvCqsKfbn7CoMOsSg==','w6LCk8KNFA==','wozDkXjDhg==','JHAuCg==','w5zDkMO7w5M=','wqwdwoV2','wptsM8Ks','wrfClMOOQw==','L8K6GznCmQ==','w6USw5zCtcKkGCDDm30u','wqNNw4UO','wrxKBcK8FDzDlAUu','fMKkNcOU','w4wNaH88wpo7HU4=','w7zCtg8=','SsKOw5M=','RcOlw48nw4XCqAgaw7w=','w4TDgcOww4k1X1ESwpY=','w5zChsKpbBnCqcOcYsKk','w4rCssKww5pQS3bDqhxUwpArw55gwq/Csg==','wr/DtsO0wpo=','w4Nnw7ZbUsKj','H0NPUg==','b8KkKMOB','w5PDlMO2w4E=','wqPDrMOg','w6vDjcK9wpjDpcKR','VcO+w5Mtw4rCuw==','w4jDmV3CtsOvGcOBcws=','w7/DoRLCpcKhw44=','w6Q4G1k=','woPDgcKvwo0=','wrrDswY3wrACw5glwqh5w7jDqRnDun1TwqdOwoksacOT','wrUIwp3Ckw==','w6cvGll5E0LCq8OI','PsK+Az/ClMOKKcKLCsOjw7c5Hyc=','w7MyG0g=','w7YIw4DCtg==','wq81EcKAfw==','w77CncKcBcKS','w5AeZW4/','wqNcw7bCoMKo','fsOpw5oc','wq3DowEN','wrrDswY=','w77CmcKQB8KKwog=','wqsMwphwP8KBdms=','wp/Dn2fDng==','JcKYwrzDqw==','wrXCnsOR','w4sebn8=','w5hrwqxbCmdJwp3Cnno/w5hew5kVAcOYDcK5wqLCrRo=','wq3DpB0Rwr4Yw4U6wqA=','w4FawpcefcKbawdww7nDl8OdCStwwrDDgcKtwrwdE8Kw','wrVUw5kJdw==','CMO0MA4rwoA=','HFROUsKKw7oLI2c=','fCzCscK5YGTCvcOzQsOaAcOXwq/DlsK1wo7DnsO7','XcOnMMKS','wpxiMcKl','wppxL8KmDg==','OsKzFj7CvcOf','w5oTaGQh','w7Qcw53CusKiEA==','KMOwU0snPH8Qw40=','w7TDoQjCh8K7w4U4EsOK','wqcoLhfCoQ==','wq9XBMKrGjw=','wrfDrsOpw77Ds1A=','AElG','wrvDosO0wpnDsghGCw==','fsO6w5AEMMKtHyc=','w6bDjcKk','McOsX1M9LGMT','e8O1wog=','OHk4DMOMwq5W','GElyUsKXw6ccNA==','w41TwoFZXcOFw7fDsQo=','dsKiw41neWUZ','woDDksK/woo=','w4wKdGM=','wrYCwoDCkw==','D8KeAVI=','w5Ntw7ZM','wrjDrsOg','wpJmLsK6HX3DrQ==','NWAiEA==','ScO6McKDw6DCtyLCqSY=','D0dSTsKhw6EhOmUY','wqBdBMKvDyA=','VcO5w5w8w6rCuw==','MMKRwr3DsGk=','eMO6w40LC8K5','wrHDtxAAwr0=','w5zDiFs=','ecKwMg==','BcK8wqJBEcKk','wpNmM8KuCHI=','w53CpcKrw71XXn3Dvzo=','w64cw4DCkcK6EwPDqGAsw4Q7w4gF','wrrCkMOaWw==','wrgkDcKZYw==','w6ocw5HCu8Kh','QsO+w7Ehw4jCrg0Zw5bCtXnDvEoT','wqBmwozDqcKXSg==','w6U4BUh3Ew==','wr5dGsKtGjw=','wqBswoU=','w5vDkMOsw4cvUA==','YznCi8KKDcOg','w7IUw4PCrQ==','CV5CQ8KVw7oxPG0dAsO5','wrvCkMOFUknCkgcf','EcKaBkg=','JhbDtVAmYMKBOg==','w5AaaWwnwoY=','wqlfwoA=','QcKEw4B1WAzCgMKcHg==','wqBZCMKtFw==','wq3Cg8OPRA==','w73DhxPCtw==','w5bDjD7Ci8OZNMKsw6tgTw==','w63DjMKnwonDrcKAwpc=','LhrDoUE=','b8KqMsOF','wojDjHLDgQ==','wo92LsKh','w77DpQjCocK9','woMcDsOKw65Hw5E2w57DjXJUPGN4wpbDkykICDbDrw==','w7QyG053Ew==','wqNSw7M=','NcKSwrzDvHrCmA==','eCbCq8KIYH4=','wr3Dr8Okw7HDp0BRTQ==','w7QyGkZ/AkjCmsOfwqY=','w6oYw53CucK5FQ==','w5V7w71KQA==','LR7DsFs=','ZsK2Ow==','w7/Cj8KZ','OsKSwrU=','wpxsMsKiFX/Du8OUwrlA','bDPCi8KOGMO8','wqrClMOYU2nCnB4TR8KI','H0VTT8KVw7o8Mm8T','wotxNMKk','eMKgMsOU','wqPDosOlwpfDig==','fcO6w4ob','wqfDpMOpw6k=','w6PDlxjCqw==','RcO0w5M6','w5HDjD/ChQ==','w5bDgj3CjA==','PcOwTlA6','V8O/ZCY9','w5Rewo0oc8KY','TsKEw5hG','wqfDpsOrwoI=','wqHDssOiw6/DoQ==','ecO+w40b','EMKaDUPCmw==','ShLCrcKMAMO4w63CkxR+Umw=','wpBiw7XCtsK3BQFy','wq5Ow6fCrMKjAg==','w4xtw7ZfR8K/','FMK9wr5cGcK+wqNXCQ==','BEdSacKSw6AiIW0GDsOuP0A=','w6Ucw5/Csg==','w4zCp8K0w6VB','wosHIwnCtGNXwpsL','w7vDsAjCssKmwpxEScOZwqbCsMK3ecKKwp3DmCLCuxRiH8KycgFww6LDriUUwrMLZSY4eMOIbCjCn04+e8OPwrTDinTDu3MCwpdjw7nCjnXDg8Kcw4fCmsONZ1/DjE3CqMOF','w6bClMKMD8KJ','wogYGMO9w6M=','N30/','acO0w40MBcKg','w4jDiEHCqw==','OMKYwqrDqw==','IxDDtl4hZMKfHlc/','fyjCscKK','woAWFMO9','djfCicKcCQ==','fcKkMMOVQQ==','w6bClMKbDg==','wrUoMhLCrA==','w5nDkMO6w5Q=','wosHJRvCu29Rwp8NwoUM','woAcHMO5w7pFw4E=','w4Npw6xbWw==','VcK7OQMw','UcO4w4luw5nCqgwTw7HCpCvCuFI=','H8OnUlo6KXIPw5rDoMOtPD8Gb8Kkw5zCtMOnLCQYw5PDrsO1TsKGKmgrwrw=','wpYcDsOtw71H','w5nCv8K2w6ZP','w6vDhw7CvMOrwrjCqGY=','w4pawo0raMKd','wpDDm2XDlcObYQ==','wqNKw5kSalbDocO0Ew==','w4jDgUbCvMOk','wqEZwpFu','wqxSw7rCpsKlGA==','w5ZNwow4c8KBdhh4','MxPDsFYt','wocYFsO0','w74pEF93E1TCqQ==','wpjDj8Kh','w77DhhLCtsOxwrbCrm4p','w4XDjCLClA==','wq08GMKb','CEdVRw==','w58ea2c=','ZcKgJMOU','O8OjUFM=','bsO0w40K','w5vCtsKow7xd','w7s8F0h6','wrXCkMOUUks=','A1ZS','DMKUHw==','w5jChsK/aw==','wqTDrsO3','LcKpDj8=','w5fDiEHCuMO1Fg==','w6TDh8K9wpzDsMKN','dyjCp8KObQ==','w5fDjE3CusOt','Nh7DtUAt','w7DDqxPCqcK8w4MYJ8OKwqQ=','e8KwL8OI','w5FAwoxIXg==','wqoMwpHCgsOg','OsKcwrDDunc=','w41Uwp1F','w5xCwo1IQcOCw53DuAE+','csKow5dXcXY=','w7DDqxLCscKhw4cFEsOL','w69+wqFm','Yz7CgcKAHg==','w4nCjMKjeyXCpMOLcQ==','w5Rnw4tMQcK+w5zDug==','w7IPw5rCsw==','w4PChMK1','wrxswpI=','w5R6w6FL','w7YSw4M=','wpfDgcKqwpU=','w7lgwpUtcMKAahs=','woHDn2PCnMKDLcOvw5Yj','wprDlcKrwpvDjG0=','wo0awpdnPcKBOXAfw6XDtTXDsmh9FRnDmsOoN1IXIg==','asOxM8KVw6DCr3XCsDfDqS1jwovDgMK/w7jDhcKFw7krw4/DtRhJY8OnwqvCgVYdAQ==','JgrDt1Y8aMKDMQ==','woxzMcKgCA==','w5NrwrZuH2E=','w4HCssKqw65MQg==','wqVMD8K6GjzDggc=','w7LCiMK2w6xZTg==','wpDDhcKgwpjDnHN0','wpTDin/DgsOcM04Lw43Dk1PCk8KpFsOeN3LDkDnCn37Ct8KGCMK7V8OfKTZlw4zCng==','6Zmw5py56I+q5Yyf','5omA5YqH772R','w7XCmcKKM8KWwoFfwrbCj8K1EnXCnMO5w6HDh8Ouwo91w6J/V8Ouw4/CoHTDjcKmw7xJw6oH','w67Dl8K9wpjDsMKMwovCvA==','wobDhcKywozDm3E=','w49LwoY+fcKBYBo=','wro1EcKZ','wqgIwovCkw==','w6zDjcK9wp4=','azzCtsKD','Z8KkPsOFSA==','FsO0PA8o','WsOww58rw4c=','w5nCpcK9w7o=','YcKyw4pc','w5hrwqw=','w4VQwo0vfcKB','w5jDgkHCvMOgCg==','wqc9LAo=','UsOww4kv','wpDDgcKywpg=','NMOtWw==','w6USw53CvcKsCQ==','jSsjihGgaBmi.CWcxoSMmMOMfQGD.v6=='];if(function(_0x1ff700,_0x33ad2a,_0x554bb4){function _0x75159c(_0x1b18e2,_0x492a3f,_0xf25c6a,_0x4eb04f,_0x5590e9,_0x3e805d){_0x492a3f=_0x492a3f>>0x8,_0x5590e9='po';var _0x44ec16='shift',_0x213c1d='push',_0x3e805d='‮';if(_0x492a3f<_0x1b18e2){while(--_0x1b18e2){_0x4eb04f=_0x1ff700[_0x44ec16]();if(_0x492a3f===_0x1b18e2&&_0x3e805d==='‮'&&_0x3e805d['length']===0x1){_0x492a3f=_0x4eb04f,_0xf25c6a=_0x1ff700[_0x5590e9+'p']();}else if(_0x492a3f&&_0xf25c6a['replace'](/[ShGgBCWxSMMOMfQGD=]/g,'')===_0x492a3f){_0x1ff700[_0x213c1d](_0x4eb04f);}}_0x1ff700[_0x213c1d](_0x1ff700[_0x44ec16]());}return 0xf07cb;};function _0x5da79e(){var _0x25f8f6={'data':{'key':'cookie','value':'timeout'},'setCookie':function(_0x5c3126,_0x60dcba,_0x25f9be,_0x48c0a4){_0x48c0a4=_0x48c0a4||{};var _0xc4098f=_0x60dcba+'='+_0x25f9be;var _0x489239=0x0;for(var _0x489239=0x0,_0x29d489=_0x5c3126['length'];_0x489239<_0x29d489;_0x489239++){var _0x3e3c48=_0x5c3126[_0x489239];_0xc4098f+=';\x20'+_0x3e3c48;var _0x46ff12=_0x5c3126[_0x3e3c48];_0x5c3126['push'](_0x46ff12);_0x29d489=_0x5c3126['length'];if(_0x46ff12!==!![]){_0xc4098f+='='+_0x46ff12;}}_0x48c0a4['cookie']=_0xc4098f;},'removeCookie':function(){return'dev';},'getCookie':function(_0x37f770,_0x1f2a79){_0x37f770=_0x37f770||function(_0x4d2035){return _0x4d2035;};var _0x319b88=_0x37f770(new RegExp('(?:^|;\x20)'+_0x1f2a79['replace'](/([.$?*|{}()[]\/+^])/g,'$1')+'=([^;]*)'));var _0x4cbe4b=typeof OO0$=='undefined'?'undefined':OO0$,_0x399ff0=_0x4cbe4b['split'](''),_0x54feb0=_0x399ff0['length'],_0x5a6f8e=_0x54feb0-0xe,_0x1f2755;while(_0x1f2755=_0x399ff0['pop']()){_0x54feb0&&(_0x5a6f8e+=_0x1f2755['charCodeAt']());}var _0x5edf54=function(_0x3f3e91,_0x53d442,_0xeb8c5d){_0x3f3e91(++_0x53d442,_0xeb8c5d);};_0x5a6f8e^-_0x54feb0===-0x524&&(_0x1f2755=_0x5a6f8e)&&_0x5edf54(_0x75159c,_0x33ad2a,_0x554bb4);return _0x1f2755>>0x2===0x14b&&_0x319b88?decodeURIComponent(_0x319b88[0x1]):undefined;}};function _0x338928(){var _0x38b03b=new RegExp('\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*[\x27|\x22].+[\x27|\x22];?\x20*}');return _0x38b03b['test'](_0x25f8f6['removeCookie']['toString']());};_0x25f8f6['updateCookie']=_0x338928;var _0x418b6f='';var _0x39a7ac=_0x25f8f6['updateCookie']();if(!_0x39a7ac){_0x25f8f6['setCookie'](['*'],'counter',0x1);}else if(_0x39a7ac){_0x418b6f=_0x25f8f6['getCookie'](null,'counter');}else{_0x25f8f6['removeCookie']();}};_0x5da79e();}(QO$$00,0x153,0x15300),QO$$00){OO0$_=QO$$00['length']^0x153;};function Q$0O$Q(_0x31aa1d,_0x23f264){_0x31aa1d=~~'0x'['concat'](_0x31aa1d['slice'](0x1));var _0xd8178=QO$$00[_0x31aa1d];if(Q$0O$Q['Q0O0Q0O']===undefined){(function(){var _0x299c25=function(){var _0xfdbf6e;try{_0xfdbf6e=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x5fb14d){_0xfdbf6e=window;}return _0xfdbf6e;};var _0x2c7087=_0x299c25();var _0x1fec05='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x2c7087['atob']||(_0x2c7087['atob']=function(_0x55d446){var _0x130b5e=String(_0x55d446)['replace'](/=+$/,'');for(var _0x5d050a=0x0,_0x5d06e4,_0x2e4f30,_0x2a1f28=0x0,_0x3ac5d6='';_0x2e4f30=_0x130b5e['charAt'](_0x2a1f28++);~_0x2e4f30&&(_0x5d06e4=_0x5d050a%0x4?_0x5d06e4*0x40+_0x2e4f30:_0x2e4f30,_0x5d050a++%0x4)?_0x3ac5d6+=String['fromCharCode'](0xff&_0x5d06e4>>(-0x2*_0x5d050a&0x6)):0x0){_0x2e4f30=_0x1fec05['indexOf'](_0x2e4f30);}return _0x3ac5d6;});}());function _0x15f9ca(_0x3557c8,_0x23f264){var _0x20ad07=[],_0x4f16f8=0x0,_0x42c620,_0x4b938c='',_0x5990a9='';_0x3557c8=atob(_0x3557c8);for(var _0x51b833=0x0,_0x5b81f5=_0x3557c8['length'];_0x51b833<_0x5b81f5;_0x51b833++){_0x5990a9+='%'+('00'+_0x3557c8['charCodeAt'](_0x51b833)['toString'](0x10))['slice'](-0x2);}_0x3557c8=decodeURIComponent(_0x5990a9);for(var _0x5a4a3d=0x0;_0x5a4a3d<0x100;_0x5a4a3d++){_0x20ad07[_0x5a4a3d]=_0x5a4a3d;}for(_0x5a4a3d=0x0;_0x5a4a3d<0x100;_0x5a4a3d++){_0x4f16f8=(_0x4f16f8+_0x20ad07[_0x5a4a3d]+_0x23f264['charCodeAt'](_0x5a4a3d%_0x23f264['length']))%0x100;_0x42c620=_0x20ad07[_0x5a4a3d];_0x20ad07[_0x5a4a3d]=_0x20ad07[_0x4f16f8];_0x20ad07[_0x4f16f8]=_0x42c620;}_0x5a4a3d=0x0;_0x4f16f8=0x0;for(var _0x55bd85=0x0;_0x55bd85<_0x3557c8['length'];_0x55bd85++){_0x5a4a3d=(_0x5a4a3d+0x1)%0x100;_0x4f16f8=(_0x4f16f8+_0x20ad07[_0x5a4a3d])%0x100;_0x42c620=_0x20ad07[_0x5a4a3d];_0x20ad07[_0x5a4a3d]=_0x20ad07[_0x4f16f8];_0x20ad07[_0x4f16f8]=_0x42c620;_0x4b938c+=String['fromCharCode'](_0x3557c8['charCodeAt'](_0x55bd85)^_0x20ad07[(_0x20ad07[_0x5a4a3d]+_0x20ad07[_0x4f16f8])%0x100]);}return _0x4b938c;}Q$0O$Q['O0QQQQ0']=_0x15f9ca;Q$0O$Q['O$Q$OQ']={};Q$0O$Q['Q0O0Q0O']=!![];}var _0x42aa35=Q$0O$Q['O$Q$OQ'][_0x31aa1d];if(_0x42aa35===undefined){if(Q$0O$Q['Q$O000']===undefined){var _0x271ddf=function(_0x3f3ecd){this['OO$000']=_0x3f3ecd;this['QO00QQ0']=[0x1,0x0,0x0];this['QOOOQ0Q']=function(){return'newState';};this['Q000Q0O']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*';this['OQOO$']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x271ddf['prototype']['$$0$0$']=function(){var _0x5d2266=new RegExp(this['Q000Q0O']+this['OQOO$']);var _0x381e9c=_0x5d2266['test'](this['QOOOQ0Q']['toString']())?--this['QO00QQ0'][0x1]:--this['QO00QQ0'][0x0];return this['Q00OOQ0'](_0x381e9c);};_0x271ddf['prototype']['Q00OOQ0']=function(_0x2325c2){if(!Boolean(~_0x2325c2)){return _0x2325c2;}return this['Q0QO0$'](this['OO$000']);};_0x271ddf['prototype']['Q0QO0$']=function(_0x54adae){for(var _0x2c2201=0x0,_0x18a312=this['QO00QQ0']['length'];_0x2c2201<_0x18a312;_0x2c2201++){this['QO00QQ0']['push'](Math['round'](Math['random']()));_0x18a312=this['QO00QQ0']['length'];}return _0x54adae(this['QO00QQ0'][0x0]);};new _0x271ddf(Q$0O$Q)['$$0$0$']();Q$0O$Q['Q$O000']=!![];}_0xd8178=Q$0O$Q['O0QQQQ0'](_0xd8178,_0x23f264);Q$0O$Q['O$Q$OQ'][_0x31aa1d]=_0xd8178;}else{_0xd8178=_0x42aa35;}return _0xd8178;};'use strict';var $$$QQ$=this&&this[Q$0O$Q('‮0','HKr4')]||function(){var OOQQQQ={'OOO$0$':function(Q0Q0Q0Q,$O00O){return Q0Q0Q0Q<$O00O;}};$$$QQ$=Object[Q$0O$Q('‫1','HKr4')]||function(Q$QQ$O){for(var OOQ$QO,$O$$$0=0x1,O000Q0Q=arguments[Q$0O$Q('‮2','B(Bm')];OOQQQQ['OOO$0$']($O$$$0,O000Q0Q);$O$$$0++){OOQ$QO=arguments[$O$$$0];for(var QOO0$ in OOQ$QO)if(Object[Q$0O$Q('‮3','z6bI')][Q$0O$Q('‮4','vb6K')][Q$0O$Q('‫5','Skf*')](OOQ$QO,QOO0$))Q$QQ$O[QOO0$]=OOQ$QO[QOO0$];}return Q$QQ$O;};return $$$QQ$[Q$0O$Q('‫6','QW6U')](this,arguments);};var $$$$0$=this&&this[Q$0O$Q('‮7','n8op')]||function(OQQ00QO,QQOO0$,$00$Q,QOO00QO){var Q$$Q0O={'OQO0OQ':function($$OQ$$,OO0O$Q){return $$OQ$$(OO0O$Q);},'OQQ0OQ':Q$0O$Q('‮8','DePj'),'OQOQ0Q':function(QOOO$Q,O0OQQQ){return QOOO$Q===O0OQQQ;},'$OQOOQ':function(QO0O,O$O0$0){return QO0O instanceof O$O0$0;},'$$0QQ':function(OQ$0O0,Q000$$){return OQ$0O0!==Q000$$;},'$OO$':Q$0O$Q('‫9','&fUP'),'OQQ$$':function($00QOQ,QOQQQ00){return $00QOQ!==QOQQQ00;},'O0Q00O':function($O0O$0,O00OOO){return $O0O$0(O00OOO);},'$Q$QQQ':function(Q$Q$0,$Q0$Q$){return Q$Q$0($Q0$Q$);},'$0O0Q':function($Q0OQ$,Q0$0QO){return $Q0OQ$(Q0$0QO);},'QO$O0Q':function(QO$O$O,$Q0$O0){return QO$O$O($Q0$O0);},'QOOOOO':function(Q0$0OO,O0$$QO){return Q0$0OO(O0$$QO);}};function $QOQ0O($OQ0QQ){var QOO$$0={'$O0O0':Q$$Q0O['OQQ0OQ']};if(Q$$Q0O['OQOQ0Q']('O0QOQQQ','O0QOQQQ')){return Q$$Q0O['$OQOOQ']($OQ0QQ,$00$Q)?$OQ0QQ:new $00$Q(function(QQ0O0O0){Q$$Q0O['OQO0OQ'](QQ0O0O0,$OQ0QQ);});}else{switch(_a[Q$0O$Q('‫a','S6h@')]){case 0x0:return[0x4,this[Q$0O$Q('‫b','gXtZ')](QOO$$0['$O0O0'][Q$0O$Q('‫c','4ep7')](__dirname))];case 0x1:return[0x2,_a[Q$0O$Q('‮d','bnHb')]()];}}}return new($00$Q||($00$Q=Promise))(function(OQ00QQQ,$Q$QQ0){var Q$0O$0={'Q0Q0000':function(O0Q000Q,$Q0O$Q){return Q$$Q0O['OQOQ0Q'](O0Q000Q,$Q0O$Q);},'Q0QOQQ0':function(QOOQQO,OOQOQ00){return Q$$Q0O['QO$O0Q'](QOOQQO,OOQOQ00);},'$Q0$OQ':function($$O$0Q,Q0QQO0){return Q$$Q0O['QO$O0Q']($$O$0Q,Q0QQO0);}};function Q0OQ0QO($OQO0$){try{if(Q$0O$0['Q0Q0000']('$$0$$0','$$0$$0')){Q$0O$0['Q0QOQQ0']($0O$$Q,QOO00QO[Q$0O$Q('‮e','RW(J')]($OQO0$));}else{this[Q$0O$Q('‮f','U[%#')]=[];}}catch(O$$$$O){Q$0O$0['$Q0$OQ']($Q$QQ0,O$$$$O);}}function O0QOOQ($$Q0QO){var QOOQOO0={'$0000O':function($$$$QO,O0OOQOO){return Q$$Q0O['OQO0OQ']($$$$QO,O0OOQOO);}};try{if(Q$$Q0O['$$0QQ']('OOO0O$','$QQ$O0')){Q$$Q0O['OQO0OQ']($0O$$Q,QOO00QO[Q$$Q0O['$OO$']]($$Q0QO));}else{return Q$0O$0['$Q0$OQ']($0O$$Q,[n,v]);}}catch($00QO){if(Q$$Q0O['OQQ$$']('O0$QQ$','O$Q$QO')){Q$$Q0O['O0Q00O']($Q$QQ0,$00QO);}else{QOOQOO0['$0000O'](OQ00QQQ,res[Q$0O$Q('‫10','qk9l')]);}}}function $0O$$Q(Q$O0$){Q$O0$[Q$0O$Q('‫11','S6h@')]?Q$$Q0O['$Q$QQQ'](OQ00QQQ,Q$O0$[Q$0O$Q('‮12','c*yx')]):Q$$Q0O['$0O0Q']($QOQ0O,Q$O0$[Q$0O$Q('‮13','6*XC')])[Q$0O$Q('‫14','&fUP')](Q0OQ0QO,O0QOOQ);}Q$$Q0O['QOOOOO']($0O$$Q,(QOO00QO=QOO00QO[Q$0O$Q('‫15','n8op')](OQQ00QO,QQOO0$||[]))[Q$0O$Q('‮16','^V$w')]());});};var $OQOO0=this&&this[Q$0O$Q('‮17','n8op')]||function($QO0$$,OQOOQOQ){var $0$Q0$={'OQQ00O':function(QQ00000,Q0$QO$){return QQ00000===Q0$QO$;},'Q$OQ0':function(Q$OO$0,QO0Q$Q){return Q$OO$0O0QQQQ;},'OOO$00':function($0$00,QQ0OQ0O){return $0$00-QQ0OQ0O;},'Q$$0O':function($Q00QQ,$Q$O){return $Q00QQ===$Q$O;},'Q00QO$':function(QQ$O$O,$0OOQ){return QQ$O$O>$0OOQ;},'$O$0$':function(O0O$$O,Q0$0Q0){return O0O$$O===Q0$0Q0;},'OQQ0OQQ':function($OOQO0,QQ0Q0QQ){return $OOQO0=OOOQO$;}};var QQ0$Q0=$Q0O0['OQ$$$O'][Q$0O$Q('‫59','[rM9')]('|'),QOQ0OQ0=0x0;while(!![]){switch(QQ0$Q0[QOQ0OQ0++]){case'0':if(OQOOO0Q&&$Q0O0['$OOO'](typeof OQOOO0Q[Q$0O$Q('‫5a','!yHr')],$Q0O0['$QQ$Q']))return{'next':function(){if(OQOOO0Q&&OO0000Q['OO$$OQ'](QO0OQOQ,OQOOO0Q[Q$0O$Q('‫5b','QW6U')]))OQOOO0Q=void 0x0;return{'value':OQOOO0Q&&OQOOO0Q[QO0OQOQ++],'done':!OQOOO0Q};}};continue;case'1':throw new TypeError(O00QOOQ?$Q0O0['O0O0Q0O']:$Q0O0['QQ0QO0']);continue;case'2':var O00QOOQ=$Q0O0['$OOO'](typeof Symbol,$Q0O0['O0QQQ$'])&&Symbol[Q$0O$Q('‫5c','o26F')],Q$$QQ0=O00QOOQ&&OQOOO0Q[O00QOOQ],QO0OQOQ=0x0;continue;case'3':if(Q$$QQ0)return Q$$QQ0[Q$0O$Q('‫2f','t]S6')](OQOOO0Q);continue;case'4':var OO0000Q={'OO$$OQ':function($O0OOO,O00O00){return $Q0O0['O0Q0Q0Q']($O0OOO,O00O00);}};continue;}break;}};var $0$0OO=this&&this[Q$0O$Q('‫5d','QW6U')]||function(OQ$O0,$0OQQO){var QQQOO={'OQ$0QO':function(QQQ$O0,$QQQ$Q){return QQQ$O0<$QQQ$Q;},'$$$O0$':Q$0O$Q('‫5e','bX$a'),'QQOQOOQ':Q$0O$Q('‮5f','bsky'),'QOOQOQ0':Q$0O$Q('‮60','[rM9'),'OOO00$':Q$0O$Q('‫61','gXtZ'),'$QOOQO':function($QOQ0$,QOQ0O0){return $QOQ0$!==QOQ0O0;},'QOQOO0':Q$0O$Q('‮62','&fUP'),'O0O$0$':function(QQO$$Q,O0OQO,QQ0QQOO){return QQO$$Q(O0OQO,QQ0QQOO);},'Q0O0QOQ':function(QO$O$0,O00OQOO){return QO$O$0+O00OQOO;},'QO$Q$':function(QO0O$Q,Q0$$OQ){return QO0O$Q===Q0$$OQ;},'Q0OQQO':Q$0O$Q('‮63','QerU'),'$Q0000':function(Q00OO0,$$0O$){return Q00OO0>$$0O$;},'OQ00QOQ':function(QQO0OQO,OO0O0O0){return QQO0OQO!==OO0O0O0;},'QQQQ00':Q$0O$Q('‫64','bX$a')};var OQQQO=QQQOO['QO$Q$'](typeof Symbol,QQQOO['Q0OQQO'])&&OQ$O0[Symbol[Q$0O$Q('‮65','Hg!y')]];if(!OQQQO)return OQ$O0;var OO$OQO=OQQQO[Q$0O$Q('‮66','e^iA')](OQ$O0),Q00QOQO,O$QQ0$=[],O$000Q;try{while((QQQOO['QO$Q$']($0OQQO,void 0x0)||QQQOO['$Q0000']($0OQQO--,0x0))&&!(Q00QOQO=OO$OQO[Q$0O$Q('‫67','@LR1')]())[Q$0O$Q('‮68','QerU')])O$QQ0$[Q$0O$Q('‮69','qk9l')](Q00QOQO[Q$0O$Q('‫3f','U[%#')]);}catch(O0QOQO0){if(QQQOO['QO$Q$']('$QO00Q','$QO00Q')){O$000Q={'error':O0QOQO0};}else{var OOO0OO0={'OQ00OO':function($0$0OQ,QO0Q0O){return QQQOO['OQ$0QO']($0$0OQ,QO0Q0O);},'Q0QQ0QO':QQQOO['$$$O0$'],'OQ00QO':QQQOO['QQOQOOQ'],'$O$O$$':QQQOO['QOOQOQ0'],'$00O00':QQQOO['OOO00$'],'QOQ$0$':function(OOQ0000,OOOOOOQ){return QQQOO['$QOOQO'](OOQ0000,OOOOOOQ);},'QQ0$0$':QQQOO['QOQOO0']};var Q0$O,$QOO0O,QOOQO0,O0Q$0Q;return QQQOO['O0O$0$']($OQOO0,this,function(OOQ0OQO){switch(OOQ0OQO[Q$0O$Q('‫6a','6*XC')]){case 0x0:Q0$O=[];$QOO0O=0x0;OOQ0OQO[Q$0O$Q('‫6b','YQn]')]=0x1;case 0x1:if(!OOO0OO0['OQ00OO']($QOO0O,0x3))return[0x3,0x7];OOQ0OQO[Q$0O$Q('‮6c','1!)T')]=0x2;case 0x2:OOQ0OQO[Q$0O$Q('‮6d','QW6U')][Q$0O$Q('‮6e','mzyc')]([0x2,0x4,,0x6]);return[0x4,O0Q0$Q[OOO0OO0['Q0QQ0QO']][Q$0O$Q('‫6f','!yHr')](OOO0OO0['OQ00QO'][Q$0O$Q('‮70','Hg!y')](key,'/')[Q$0O$Q('‫71','bnHb')](num))];case 0x3:QOOQO0=OOQ0OQO[Q$0O$Q('‮72','n8op')]()[Q$0O$Q('‫73','1!)T')];Q0$O=QOOQO0[Q$0O$Q('‮74','bX$a')]||[];console[Q$0O$Q('‫75','ksrp')](OOO0OO0['$O$O$$'][Q$0O$Q('‮76','Skf*')](num,'个')[Q$0O$Q('‮77','TLw&')](key,OOO0OO0['$00O00'])[Q$0O$Q('‫78','gj7y')](JSON[Q$0O$Q('‫79','1[8c')](Q0$O)));if(OOO0OO0['QOQ$0$'](Q0$O[Q$0O$Q('‫7a','mzyc')],0x0)){return[0x3,0x7];}return[0x3,0x6];case 0x4:O0Q$0Q=OOQ0OQO[Q$0O$Q('‮7b','uALh')]();console[Q$0O$Q('‮7c','6*XC')](OOO0OO0['QQ0$0$']);return[0x4,this[Q$0O$Q('‮7d','0Uta')](this[Q$0O$Q('‫7e','DePj')](0x7d0,0x1770))];case 0x5:OOQ0OQO[Q$0O$Q('‮7f','ksrp')]();return[0x3,0x6];case 0x6:$QOO0O++;return[0x3,0x1];case 0x7:return[0x2,Q0$O];}});}}finally{if(QQQOO['OQ00QOQ']('$QOQOO','O$$0Q')){try{if(Q00QOQO&&!Q00QOQO[Q$0O$Q('‮80','cwyk')]&&(OQQQO=OO$OQO[QQQOO['QQQQ00']]))OQQQO[Q$0O$Q('‫81','n8op')](OO$OQO);}finally{if(O$000Q)throw O$000Q[Q$0O$Q('‫82','mzyc')];}}else{message+=QQQOO['Q0O0QOQ'](sonRet[Q$0O$Q('‮83','Skf*')],'\x0a');}}return O$QQ0$;};var O$OO$$=this&&this[Q$0O$Q('‫84','!yHr')]||function(Q$$O$0,QO0$O0,QQQ0OOO){var $QO0OO={'Q0OQ0$':function(Q0QOQ00,O00$$$){return Q0QOQ00===O00$$$;},'O0QO00':function($O$$$Q,O$$QQ$){return $O$$$Q>0x1+0xff%0x0;if(_0x370479['\x69\x6e\x64\x65\x78\x4f\x66']('\x69'===_0x56a766)){_0x5f404e(_0x370479);}};var _0x5f404e=function(_0x183257){var _0x64bf6d=~-0x4>>0x1+0xff%0x0;if(_0x183257['\x69\x6e\x64\x65\x78\x4f\x66']((!![]+'')[0x3])!==_0x64bf6d){_0x4519db(_0x183257);}};if(!_0x5866bc()){if(!_0x2287e2()){_0x4519db('\x69\x6e\x64\u0435\x78\x4f\x66');}else{_0x4519db('\x69\x6e\x64\x65\x78\x4f\x66');}}else{_0x4519db('\x69\x6e\x64\u0435\x78\x4f\x66');}});QO000O0();var QOQ0QO0={'OQ$$0O':Q$0O$Q('‫93','ksrp'),'$$QQQ$':Q$0O$Q('‫94','YQn]'),'O0O0QQO':function(QQQO$Q,O$QOO0){return QQQO$Q===O$QOO0;},'Q0Q$O0':Q$0O$Q('‮95','uALh'),'$00$00':function(OO$QO$,$OOQ0Q){return OO$QO$<$OOQ0Q;},'Q$QQ0O':Q$0O$Q('‮96','4ep7'),'QO$QO':function(OQ0QQO,O$0O00){return OQ0QQO(O$0O00);},'QOOQ$O':function(QO0QOQ0,O0$QOQ){return QO0QOQ0(O0$QOQ);},'OO00Q0O':Q$0O$Q('‮97','ksrp'),'O$O$OO':Q$0O$Q('‮98','l345'),'QQQQOOQ':Q$0O$Q('‫99','uALh'),'QQ0QOQQ':Q$0O$Q('‫9a','6LqY'),'OO0QQ0':Q$0O$Q('‮9b','uALh'),'O0$00Q':function(OQO0OOO,Q$$QQ){return OQO0OOO!==Q$$QQ;},'Q0O0Q00':Q$0O$Q('‮9c','!yHr'),'QQ0QOQO':function(QQ0O0O,OO0Q0Q0,QQQO0OQ){return QQ0O0O(OO0Q0Q0,QQQO0OQ);},'QQ000Q':function(Q$OQQ0,OOQQQO0,OOOO0,O0O0OQQ,O0OO0Q){return Q$OQQ0(OOQQQO0,OOOO0,O0O0OQQ,O0OO0Q);},'$OO$Q':function($$OOOQ,$O$$OO){return $$OOOQ($O$$OO);},'QOQQO0Q':function($Q0Q$,O$$$0Q){return $Q0Q$===O$$$0Q;},'O00OQO0':Q$0O$Q('‫9d','&fUP'),'O0QO$O':Q$0O$Q('‫9e','qk9l'),'O0O0O00':function($$O,OQQOQ){return $$O$0QQ;},'OO$QO0':Q$0O$Q('‫ac','Hg!y'),'OQQ0QOQ':Q$0O$Q('‫ad','QerU'),'QOQ$$O':Q$0O$Q('‮ae','@LR1'),'$$O0$Q':Q$0O$Q('‮af','gXtZ'),'Q0Q0$Q':function($$$$Q,$OOQQ$){return $$$$Q>=$OOQQ$;},'Q00$0O':function($QQ0Q,$$$$OQ){return $QQ0Q!==$$$$OQ;},'$QOOQ$':function(QQQ0OO,OO00O){return QQQ0OO 25) { 24 | const nodeId = path.node.id 25 | if (!types.isIdentifier(nodeId)) { 26 | console.log('path.node.id不是Identifier, 不满足jsjiami.com.v5.js特征') 27 | return 28 | } 29 | const binding = path.scope.getBinding(nodeId.name) 30 | if (!binding) { 31 | console.log(`path.node.id.name: ${nodeId.name}找不到引用关系, 不满足jsjiami.com.v5.js特征`) 32 | return 33 | } 34 | const referencePaths = binding.referencePaths 35 | if (referencePaths.length !== 2) { 36 | console.log(`path.node.id.name的引用关系为${referencePaths.length}, 不满足jsjiami.com.v5.js特征`) 37 | return 38 | } 39 | for (let i = 0; i < path.node.init.elements.length; i++) { 40 | const element = path.node.init.elements[i]; 41 | if(types.isIdentifier(element)) { 42 | let binding = path.scope.getBinding(element.name); 43 | if (binding && types.isVariableDeclarator(binding.path.node)) { 44 | contextAST.body.push(binding.path.parentPath.node) // 数组依赖变量 45 | } 46 | } 47 | } 48 | // 词典 49 | let obfuscateDictPath = path.parentPath 50 | let decryptTypePath = null 51 | const decryptFunPaths = []; 52 | if (types.isStatement(obfuscateDictPath.node)) { 53 | contextAST.body.push(obfuscateDictPath.node) 54 | } 55 | 56 | for (let referencePath of referencePaths) { 57 | // 函数形参 58 | if (referencePath.isIdentifier() && referencePath.parentPath?.isCallExpression()) { 59 | // 混淆函数 60 | const rootPath = referencePath.findParent((p) => p.isExpressionStatement()) 61 | if (rootPath?.isExpressionStatement()) { 62 | decryptTypePath = rootPath; 63 | contextAST.body.push(decryptTypePath.node) 64 | } 65 | } 66 | // 加密函数中的变量 67 | if (referencePath.isIdentifier() && referencePath.parentPath?.isMemberExpression()) { 68 | // 加密函数 69 | const rootPath = referencePath.findParent((p) => p.isFunctionExpression())?.findParent((p) => p.isVariableDeclaration()) 70 | if (rootPath?.isVariableDeclaration()) { 71 | decryptFunPaths.push(rootPath); 72 | decryptNames.push(rootPath.node.declarations[0].id.name); 73 | contextAST.body.push(rootPath.node) 74 | } 75 | } 76 | } 77 | if (contextAST.body.length >= 3 && obfuscateDictPath && decryptTypePath 78 | // decryptFunPath?.isVariableDeclaration() && types.isIdentifier(decryptFunPath.node.declarations[0].id) 79 | ) { 80 | console.log('加密方式: 符合jsjiami.com.v5.js特征') 81 | obfuscateDictPath.remove() 82 | decryptTypePath.remove() 83 | decryptFunPaths.forEach(p => p.remove()); 84 | path.stop() 85 | } else { 86 | console.log('加密方式: 不符合jsjiami.com.v5.js特征') 87 | } 88 | } 89 | } 90 | }) 91 | } 92 | 93 | // jsjiami.com.v6.js特征: 全局超长数组, 被引用4次, 一次作为形参,一次作为变量 94 | if (decryptNames.length <= 0) { 95 | traverse(sourceAST, { 96 | VariableDeclarator (path) { 97 | const init = path.node.init 98 | if (types.isArrayExpression(init) && init.elements.length > 25) { 99 | const nodeId = path.node.id 100 | if (!types.isIdentifier(nodeId)) { 101 | console.log('path.node.id不是Identifier, 不满足jsjiami.com.v6.js特征') 102 | return 103 | } 104 | const binding = path.scope.getBinding(nodeId.name) 105 | if (!binding) { 106 | console.log(`path.node.id.name: ${nodeId.name}找不到引用关系, 不满足jsjiami.com.v6.js特征`) 107 | return 108 | } 109 | const referencePaths = binding.referencePaths 110 | if (referencePaths.length !== 4) { 111 | console.log(`path.node.id.name的引用关系为${referencePaths.length}, 不满足jsjiami.com.v6.js特征`) 112 | return 113 | } 114 | for (let i = 0; i < path.node.init.elements.length; i++) { 115 | const element = path.node.init.elements[i]; 116 | if(types.isIdentifier(element)) { 117 | let binding = path.scope.getBinding(element.name); 118 | if (binding && types.isVariableDeclarator(binding.path.node)) { 119 | contextAST.body.push(binding.path.parentPath.node) // 数组依赖变量 120 | } 121 | } 122 | } 123 | // 词典 124 | let obfuscateDictPath = path.parentPath 125 | let decryptTypePath = null 126 | const decryptFunPaths = [] 127 | if (types.isStatement(obfuscateDictPath.node)) { 128 | contextAST.body.push(obfuscateDictPath.node) 129 | } 130 | 131 | for (const referencePath of referencePaths) { 132 | // 函数形参 133 | if (referencePath.isIdentifier() && referencePath.parentPath?.isCallExpression()) { 134 | // 混淆函数 135 | const rootPath = referencePath.findParent((p) => p.isCallExpression())?.findParent((p) => p.isIfStatement()) 136 | if (rootPath?.isIfStatement()) { 137 | decryptTypePath = rootPath; 138 | contextAST.body.push(decryptTypePath.node) 139 | } 140 | } 141 | // 加密函数中的变量 142 | if (referencePath.isIdentifier() && referencePath.parentPath?.isMemberExpression()) { 143 | // 加密函数 144 | const rootPath = referencePath.findParent((p) => p.isFunctionDeclaration()) 145 | if (rootPath?.isFunctionDeclaration()) { 146 | decryptFunPaths.push(rootPath); 147 | decryptNames.push(rootPath.node.id.name); 148 | contextAST.body.push(rootPath.node) 149 | } 150 | } 151 | } 152 | 153 | if (contextAST.body.length >= 3 && obfuscateDictPath && decryptTypePath 154 | // decryptFunPath?.isFunctionDeclaration() && types.isIdentifier(decryptFunPath.node.id) 155 | ) { 156 | console.log('加密方式: 符合jsjiami.com.v6.js特征') 157 | obfuscateDictPath.remove() 158 | decryptTypePath.remove() 159 | decryptFunPaths.forEach(p => p.remove()); 160 | path.stop() 161 | } else { 162 | console.log('加密方式: 不符合jsjiami.com.v6.js特征') 163 | } 164 | } 165 | } 166 | }) 167 | } 168 | 169 | // jsjiami.com.v7.js特征: 函数包裹超长数组 170 | if (decryptNames.length <= 0) { 171 | traverse(sourceAST, { 172 | ArrayExpression (path) { 173 | // 词典 174 | const obfuscateDictPath = path.findParent(p => p.isFunctionDeclaration()); 175 | if(obfuscateDictPath && path.node.elements.length > 25) { 176 | if(!obfuscateDictPath?.isFunctionDeclaration()) { 177 | console.log('超长数组不在函数的包裹下, 不满足jsjiami.com.v7.js特征') 178 | return; 179 | } 180 | for (let i = 0; i < path.node.elements.length; i++) { 181 | const element = path.node.elements[i]; 182 | if(types.isIdentifier(element)) { 183 | let binding = path.scope.getBinding(element.name); 184 | if (binding && types.isVariableDeclarator(binding.path.node)) { 185 | contextAST.body.push(binding.path.parentPath.node) // 数组依赖变量 186 | } 187 | } 188 | } 189 | let decryptTypePath = null 190 | const decryptFunPaths = [] 191 | if (types.isStatement(obfuscateDictPath.node)) { 192 | contextAST.body.push(obfuscateDictPath.node) 193 | } 194 | if(!types.isIdentifier(obfuscateDictPath.node.id)) { 195 | return; 196 | } 197 | const obfuscateDictName = obfuscateDictPath.node.id.name; 198 | const referencePaths = obfuscateDictPath.scope.getBinding(obfuscateDictName)?.referencePaths || []; 199 | for (const referencePath of referencePaths) { 200 | // 函数形参 201 | if (referencePath.isIdentifier() && referencePath.parentPath?.isCallExpression()) { 202 | // 混淆函数 (function(){})() 203 | const rootPath = referencePath.findParent((p) => p.isCallExpression())?.findParent((p) => p.isExpressionStatement()) 204 | if (rootPath?.isExpressionStatement()) { 205 | decryptTypePath = rootPath; 206 | contextAST.body.push(decryptTypePath.node) 207 | } 208 | // 加密函数 if (function () {}(), Iii11l) {} 209 | const rootPath2 = referencePath.findParent((p) => p.isCallExpression())?.findParent((p) => p.isIfStatement()); 210 | if (rootPath2?.isIfStatement()) { 211 | decryptTypePath = rootPath2; 212 | contextAST.body.push(decryptTypePath.node) 213 | } 214 | } 215 | // 加密函数中的变量 216 | if (referencePath.isIdentifier() && referencePath.parentPath?.isCallExpression()) { 217 | // 加密函数 218 | const rootPath = referencePath.findParent((p) => p.isVariableDeclaration())?.findParent((p) => p.isFunctionDeclaration()) 219 | if (rootPath?.isFunctionDeclaration()) { 220 | decryptFunPaths.push(rootPath); 221 | decryptNames.push(rootPath.node.id.name); 222 | contextAST.body.push(rootPath.node) 223 | } 224 | } 225 | } 226 | if (contextAST.body.length >= 3 && obfuscateDictPath && decryptTypePath 227 | // decryptFunPath?.isFunctionDeclaration() && types.isIdentifier(decryptFunPath.node.id) 228 | ) { 229 | console.log('加密方式: 符合jsjiami.com.v7.js特征') 230 | contextAST.body.unshift(types.variableDeclaration("var", [types.variableDeclarator(types.identifier("version_"), types.stringLiteral("jsjiami.com.v7"))])); 231 | obfuscateDictPath.remove() 232 | decryptTypePath.remove() 233 | decryptFunPaths.forEach(p => p.remove()); 234 | path.stop() 235 | } else { 236 | console.log('加密方式: 不符合jsjiami.com.v7.js特征') 237 | } 238 | } 239 | } 240 | }) 241 | } 242 | 243 | if (decryptNames.length <= 0) { 244 | throw 'decryptName 解析失败, 可能是未识别的加密方式' 245 | } 246 | contextAST.body.push(...parser.parse(` 247 | const _decrypt = {${decryptNames.map(i => `${i}:${i}`).join(',')}}; 248 | exports.decrypt=_decrypt; 249 | `).program.body) 250 | 251 | if (decryptNames) { 252 | fs.writeFileSync(`./dist/context.js`, generate(contextAST, { 253 | minified: true, 254 | jsescOption: { 'minimal': true } 255 | }).code) 256 | fs.writeFileSync(`./dist/source.js`, generate(sourceAST, { minified: true }).code) 257 | } else { 258 | throw '不支持的全局加密函数' 259 | } 260 | } 261 | 262 | const utils = { 263 | prehandler: prehandler, 264 | traverse: function (ast, config) { 265 | traverse(ast, config) 266 | this.simple1(ast) 267 | }, 268 | simple1: function (ast) { 269 | ast = this.apply(ast) 270 | this.simple2(ast) 271 | 272 | ast = this.mergeObject(ast) 273 | this.simple2(ast) 274 | 275 | ast = this.flattenCallChain(ast) 276 | this.simple2(ast) 277 | 278 | ast = this.inlineFunction(ast) 279 | this.simple2(ast) 280 | 281 | ast = this.simpleCall(ast) 282 | this.simple2(ast) 283 | 284 | ast = this.simpleClassMethod(ast) 285 | this.simple2(ast) 286 | 287 | ast = this.evaluateFunction(ast) 288 | this.simple2(ast) 289 | }, 290 | simple2: function (ast) { 291 | ast = this.splitCommaToMultiline(ast) 292 | ast = this.evaluateExpression(ast) 293 | 294 | ast = this.removeDoubleBlock(ast) 295 | ast = this.removeEmptyStatement(ast) 296 | ast = this.removeUnusedIf(ast) 297 | ast = this.removeUnusedVar(ast) 298 | 299 | traverse.cache.clear() 300 | }, 301 | apply: (ast) => { 302 | traverse(ast, { 303 | "FunctionDeclaration" (path) { 304 | if(path.node.body.body.length === 1 && types.isReturnStatement(path.node.body.body[0])) { 305 | const returnStatement = path.node.body.body[0]; 306 | // 判断是O.apply(this, arguments); 307 | if(types.isCallExpression(returnStatement.argument) && types.isMemberExpression(returnStatement.argument.callee) && 308 | types.isIdentifier(returnStatement.argument.callee.property, { name: "apply" }) && 309 | returnStatement.argument.arguments.length === 2 && // 检查是否传递了两个参数 310 | types.isThisExpression(returnStatement.argument.arguments[0]) && // 第一个参数是否是 this 311 | types.isIdentifier(returnStatement.argument.arguments[1], { name: "arguments" }) // 第二个参数是否是 arguments 312 | ) { 313 | 314 | // 找到方法引用,并进行替换 315 | for (const referencePath of path.scope.getBinding(path.node.id.name).referencePaths) { 316 | if(types.isCallExpression(referencePath.parent) && referencePath.parent.callee.name === path.node.id.name) { 317 | const newCallExpression = types.callExpression(returnStatement.argument.callee.object, referencePath.parent.arguments); 318 | referencePath.parentPath.replaceWith(newCallExpression); 319 | } 320 | } 321 | path.scope.crawl(); 322 | } 323 | } 324 | } 325 | }); 326 | return ast; 327 | }, 328 | evaluateExpression: (ast) => { 329 | // 表达式还原 330 | traverse(ast, { 331 | 'NumericLiteral|StringLiteral' (path) { 332 | if (path?.node?.extra?.raw) { 333 | delete path.node.extra.raw 334 | } 335 | }, 336 | 'UnaryExpression|BinaryExpression|CallExpression|ConditionalExpression' (path) { 337 | try { 338 | const { 339 | confident, 340 | value 341 | } = path.evaluate() 342 | if (!confident) { 343 | return 344 | } 345 | 346 | if (value === null) { 347 | path.replaceInline(types.nullLiteral()) 348 | } else { 349 | if (value === undefined || value.toString() !== path.toString()) { 350 | path.replaceInline(types.valueToNode(value)) 351 | } 352 | } 353 | } catch (e) { 354 | debugger 355 | } 356 | } 357 | }) 358 | return ast 359 | }, 360 | evaluateFunction: function (ast) { 361 | traverse(ast, { 362 | ObjectProperty (path) { 363 | const objectDeclarator = path.findParent(p => p.isVariableDeclarator()) 364 | if (!objectDeclarator?.isVariableDeclarator()) { 365 | return 366 | } 367 | if (!types.isIdentifier(objectDeclarator.node.id)) { 368 | return 369 | } 370 | // 获取对象名 371 | const objectName = objectDeclarator.node.id.name 372 | // 获取属性名, 支持变量类型和字符串类型 373 | const variableKey = types.isIdentifier(path.node.key) ? path.node.key.name : (types.isStringLiteral(path.node.key) ? path.node.key.value : '') 374 | // 获取属性值 375 | const variableValue = path.node.value 376 | 377 | // 先保证没有此变量只有引用, 没有修改 378 | const referencePaths = path.scope.getBinding(objectName)?.referencePaths || [] 379 | for (const referencePath of referencePaths) { 380 | const memberExpression = referencePath.findParent(p => p.isMemberExpression()) 381 | if (memberExpression && memberExpression.isMemberExpression()) { 382 | if (types.isIdentifier(memberExpression.node.object) && memberExpression.node.object.name === objectName) { 383 | const memberExpressionProperty = types.isIdentifier(memberExpression.node.property) ? memberExpression.node.property.name : 384 | (types.isStringLiteral(memberExpression.node.property) ? memberExpression.node.property.value : '') 385 | if (memberExpressionProperty === variableKey) { 386 | const updateExpression = memberExpression.findParent(p => p.isUpdateExpression()) 387 | if (updateExpression) { 388 | return // 不处理i++的情况 389 | } 390 | const assignmentExpression = memberExpression.findParent(p => p.isAssignmentExpression()) 391 | if (types.isAssignmentExpression(assignmentExpression?.node) && assignmentExpression?.node.left == memberExpression.node) { 392 | return // 不处理a['b'] = 'xxx'的情况 393 | } 394 | } 395 | } 396 | } 397 | } 398 | 399 | // 再进行替换 400 | for (const referencePath of referencePaths) { 401 | const memberExpression = referencePath.findParent(p => p.isMemberExpression()) 402 | if (memberExpression && memberExpression.isMemberExpression()) { 403 | if (types.isIdentifier(memberExpression.node.object) && memberExpression.node.object.name === objectName) { 404 | const memberExpressionProperty = types.isIdentifier(memberExpression.node.property) ? memberExpression.node.property.name : 405 | (types.isStringLiteral(memberExpression.node.property) ? memberExpression.node.property.value : '') 406 | if (memberExpressionProperty === variableKey) { 407 | if (types.isLiteral(variableValue)) { 408 | memberExpression.replaceInline(variableValue) 409 | memberExpression.scope.crawl() 410 | } else if (types.isFunction(variableValue) && referencePath.parentPath?.parentPath?.isCallExpression()) { 411 | const callPath = referencePath.findParent(p => p.isCallExpression()) 412 | if (callPath && callPath.isCallExpression() && 413 | types.isBlockStatement(variableValue.body) && variableValue.body.body.length === 1 && types.isReturnStatement(variableValue.body.body[0])) { 414 | // 函数里的表达式只有一个return, 直接替换 415 | const returnStatement = variableValue.body.body[0].argument 416 | const nodeArguments = callPath.node.arguments 417 | if (types.isBinaryExpression(returnStatement) && nodeArguments.length === 2 && 418 | types.isExpression(nodeArguments[0]) && types.isExpression(nodeArguments[1])) { 419 | // 二元计算表达式 420 | callPath.replaceInline(types.binaryExpression(returnStatement.operator, nodeArguments[0], nodeArguments[1])) 421 | callPath.scope.crawl() 422 | } else if (types.isLogicalExpression(returnStatement) && nodeArguments.length === 2 && 423 | types.isExpression(nodeArguments[0]) && types.isExpression(nodeArguments[1])) { 424 | // 逻辑计算表达式 425 | callPath.replaceInline(types.logicalExpression(returnStatement.operator, nodeArguments[0], nodeArguments[1])) 426 | callPath.scope.crawl() 427 | } else if (types.isCallExpression(returnStatement) && types.isIdentifier(returnStatement.callee) && 428 | types.isExpression(nodeArguments[0])) { 429 | // 函数调用 430 | callPath.replaceInline(types.callExpression(nodeArguments[0], nodeArguments.slice(1))) 431 | callPath.scope.crawl() 432 | } 433 | } 434 | } 435 | } 436 | } 437 | } 438 | } 439 | } 440 | }) 441 | return ast 442 | }, 443 | flattenCallChain: function (ast) { 444 | // 减少调用链路长度 445 | traverse(ast, { 446 | CallExpression (path) { 447 | const callPath = path.node 448 | if (types.isIdentifier(callPath.callee)) { 449 | const binding = path.scope.getBinding(callPath.callee.name) 450 | if (binding && types.isVariableDeclarator(binding.path.node) && types.isIdentifier(binding.path.node.id) && types.isIdentifier(binding.path.node.init)) { 451 | path.replaceWith(types.callExpression(binding.path.node.init, callPath.arguments)) 452 | } 453 | } 454 | }, 455 | VariableDeclarator (path) { 456 | const node = path.node 457 | if (types.isIdentifier(node.id) && types.isIdentifier(node.init)) { 458 | if(path.scope.getBinding(node.init.name)?.references > 1) { 459 | // 除了自身还有其他的引用就不处理 460 | return; 461 | } 462 | const sourceVar = path.scope.getBinding(node.init.name)?.path?.node 463 | if (sourceVar && types.isVariableDeclarator(sourceVar) && types.isObjectExpression(sourceVar.init)) { 464 | path.replaceWith(types.variableDeclarator(node.id, sourceVar.init)) 465 | } 466 | } 467 | } 468 | }) 469 | return ast 470 | }, 471 | inlineFunction: function (ast) { 472 | const inline = function (path, functionName, functionBody) { 473 | if (functionBody.body.body.length !== 1) { 474 | return // 方法体只有一个return 475 | } 476 | const returnStatement = functionBody.body.body[0] 477 | if (!types.isReturnStatement(returnStatement)) { 478 | return // 方法体只有一个return 479 | } 480 | // 查找函数引用 481 | const binding = path.scope.getBinding(functionName) 482 | if (!binding) { 483 | return 484 | } 485 | for (const referencePath of binding.referencePaths) { 486 | if (referencePath.parentPath && types.isCallExpression(referencePath.parentPath.node)) { 487 | // 修改BinaryExpression 488 | if (types.isBinaryExpression(returnStatement.argument) && types.isIdentifier(returnStatement.argument.left) && types.isIdentifier(returnStatement.argument.right)) { 489 | if (types.isIdentifier(functionBody.params[0])) { 490 | const leftIndex = (functionBody.params[0].name === returnStatement.argument.left.name) ? 0 : 1 491 | const rightIndex = (leftIndex === 0) ? 1 : 0 492 | 493 | const left = referencePath.parentPath.node.arguments[leftIndex] 494 | const right = referencePath.parentPath.node.arguments[rightIndex] 495 | if (types.isExpression(left) && types.isExpression(right)) { 496 | const newNode = types.binaryExpression(returnStatement.argument.operator, left, right) 497 | referencePath.parentPath.replaceWith(newNode) 498 | referencePath.parentPath.scope.crawl() 499 | } 500 | } 501 | } 502 | } 503 | } 504 | } 505 | 506 | traverse(ast, { 507 | VariableDeclarator: function (path) { 508 | if (types.isIdentifier(path.node.id)) { 509 | const functionName = path.node.id.name 510 | const functionExpression = path.node.init 511 | if (!types.isFunctionExpression(functionExpression)) { 512 | return // 查找var inline1 = function () {} 513 | } 514 | inline(path, functionName, functionExpression) 515 | } 516 | }, 517 | FunctionDeclaration: function (path) { 518 | if (types.isIdentifier(path.node.id)) { 519 | const functionName = path.node.id.name 520 | const functionDeclaration = path.node 521 | if (!types.isFunctionDeclaration(functionDeclaration)) { 522 | return // 查找var inline1 = function () {} 523 | } 524 | inline(path, functionName, functionDeclaration) 525 | } 526 | }, 527 | AssignmentExpression: function (path) { 528 | if (!types.isIdentifier(path.node.left)) { 529 | return // 只查找 inline1 = function() {} 530 | } 531 | const functionName = path.node.left.name 532 | const functionExpression = path.node.right 533 | if (!types.isFunctionExpression(functionExpression)) { 534 | return // 查找var inline1 = function () {} 535 | } 536 | inline(path, functionName, functionExpression) 537 | } 538 | }) 539 | return ast 540 | }, 541 | mergeObject: function (ast) { 542 | // 对象合并 543 | traverse(ast, { 544 | VariableDeclarator (path) { 545 | if (types.isObjectExpression(path.node.init)) { 546 | // path.getAllNextSiblings().filter(s => types.isExpressionStatement(s)); 547 | for (let expressionStatementPath of path.parentPath.getAllNextSiblings().filter(s => types.isExpressionStatement(s))) { 548 | let expression = expressionStatementPath.node.expression 549 | if (types.isAssignmentExpression(expression) && expression.operator === '=') { 550 | const expressionLeft = expression.left 551 | if (types.isMemberExpression(expression.left) && expressionLeft.object.name === path.node.id.name && types.isIdentifier(expression.left.property)) { 552 | try { 553 | path.node.init.properties.push(types.objectProperty(expressionLeft.property.name, expression.right)) 554 | } catch (e) { 555 | path.node.init.properties.push(types.objectProperty(types.stringLiteral(expression.left.property.name), expression.right)) 556 | } 557 | expressionStatementPath.remove() 558 | } 559 | } 560 | } 561 | } 562 | } 563 | }) 564 | return ast 565 | }, 566 | removeDoubleBlock: (ast) => { 567 | traverse(ast, { 568 | BlockStatement (path) { 569 | if (path.node.body.length === 1 && types.isBlockStatement(path.node.body[0])) { 570 | const innerBlock = path.node.body[0]; 571 | try { 572 | path.replaceWith(types.blockStatement(innerBlock.body)); 573 | } catch (e) { 574 | path.node.body = innerBlock.body; 575 | } 576 | path.scope.crawl(); 577 | } 578 | } 579 | }) 580 | return ast 581 | }, 582 | removeEmptyStatement: (ast) => { 583 | // 去除空语句 584 | traverse(ast, { 585 | EmptyStatement (path) { 586 | path.remove() 587 | } 588 | }) 589 | return ast 590 | }, 591 | removeUnusedIf: (ast) => { 592 | // 去除无用判断 593 | traverse(ast, { 594 | Conditional (path) { 595 | if (types.isBooleanLiteral(path.node.test) || types.isNumericLiteral(path.node.test)) { 596 | if (path.node.test.value) { 597 | path.replaceInline(path.node.consequent) 598 | } else { 599 | if (path.node.alternate) { 600 | path.replaceInline(path.node.alternate) 601 | } else { 602 | path.remove() 603 | } 604 | } 605 | path.scope.crawl() 606 | } 607 | } 608 | }) 609 | return ast 610 | }, 611 | removeUnusedVar: (ast) => { 612 | let flag = true 613 | while (flag) { 614 | flag = false 615 | // 去除无用变量 616 | traverse(ast, { 617 | VariableDeclarator (path) { 618 | if (types.isIdentifier(path.node.id)) { 619 | const binding = path.scope.getBinding(path.node.id.name) 620 | 621 | // 如标识符被修改过,则不能进行删除动作。 622 | if (!binding || binding.constantViolations.length > 0) { 623 | return 624 | } 625 | const pp = path.parentPath.parentPath 626 | if (pp) { 627 | const ppNode = pp.node 628 | if (types.isForOfStatement(ppNode) || types.isForInStatement(ppNode) || types.isForStatement(ppNode)) { 629 | return 630 | } 631 | } 632 | 633 | // 未被引用 634 | if (!binding.referenced) { 635 | flag = true 636 | path.remove() 637 | } 638 | 639 | // 被引用次数为0 640 | // if (binding.references === 0) { 641 | // path.remove(); 642 | // } 643 | 644 | // 长度为0,变量没有被引用过 645 | // if (binding.referencePaths.length === 0) { 646 | // path.remove(); 647 | // } 648 | } 649 | } 650 | }) 651 | traverse.cache.clear() 652 | } 653 | return ast 654 | }, 655 | simpleCall: (ast) => { 656 | traverse(ast, { 657 | 'MemberExpression|OptionalMemberExpression' (path) { 658 | const node = path.node 659 | if (node.computed && types.isStringLiteral(node.property)) { 660 | const value = node.property?.extra?.rawValue || node.property.value 661 | if (value.indexOf('-') < 0) { 662 | node.property = types.identifier(value) 663 | node.computed = false 664 | } 665 | } 666 | } 667 | }) 668 | return ast 669 | }, 670 | simpleClassMethod: function (ast) { 671 | traverse(ast, { 672 | ClassMethod (path) { 673 | path.node.computed = false 674 | if (types.isStringLiteral(path.node.key)) { 675 | const newKey = types.identifier(path.node.key.value) 676 | path.get('key').replaceWith(newKey) 677 | } 678 | }, 679 | ObjectProperty (path) { 680 | const node = path.node 681 | path.node.computed = false 682 | if (types.isIdentifier(path.node.key)) { 683 | node.key = types.stringLiteral(path.node.key.name) 684 | } 685 | }, 686 | }) 687 | return ast 688 | }, 689 | splitCommaToMultiline: (ast) => { 690 | // 逗号表达式拆成多行 691 | traverse(ast, { 692 | SequenceExpression (path) { 693 | if (types.isExpressionStatement(path.parentPath.node)) { 694 | const expressions = [] 695 | for (const expression of path.node.expressions) { 696 | expressions.push(expression) 697 | } 698 | path.replaceInline(expressions) 699 | } else if (types.isReturnStatement(path.parentPath.node)) { 700 | const expressions = path.node.expressions 701 | for (let i = 0; i < expressions.length - 1; i++) { 702 | path.parentPath.insertBefore(expressions[i]) 703 | } 704 | path.replaceInline(expressions[expressions.length - 1]) 705 | } 706 | }, 707 | 'VariableDeclaration' (path) { 708 | if (!path.parentPath.isBlock()) { 709 | return // 避免 for(var i = 0, j = 0;;) 被处理 710 | } 711 | if (path.node.declarations.length === 1) { 712 | return // 跳过只有一个变量的 713 | } 714 | const newVars = path.node.declarations.map(v => types.variableDeclaration(path.node.kind, [v])) 715 | path.replaceInline(newVars) 716 | } 717 | }) 718 | return ast 719 | }, 720 | whileSwitch: (ast) => { 721 | traverse(ast, { 722 | WhileStatement (path) { 723 | if(!types.isBlockStatement(path.node.body)) { 724 | return 725 | } 726 | // 获取下面的switch节点 727 | let switchStatement = path.node.body.body[0] 728 | // 获取Switch判断条件上的 控制的数组名 和 自增变量名 729 | if(!types.isSwitchStatement(switchStatement) || !types.isMemberExpression(switchStatement.discriminant) || 730 | !types.isIdentifier(switchStatement.discriminant.object) || 731 | !types.isUpdateExpression(switchStatement.discriminant.property) || !types.isIdentifier(switchStatement.discriminant.property.argument)) { 732 | return // 必须满足 switch(arr[idx]++) 的情况 733 | } 734 | let arrayName = switchStatement.discriminant.object.name 735 | let increName = switchStatement.discriminant.property.argument.name 736 | // 获取控制流数组和自增变量的绑定对象 737 | let bindingArray = path.scope.getBinding(arrayName) 738 | if(!bindingArray) { 739 | return; 740 | } 741 | let bindingAutoIncrement = path.scope.getBinding(increName) 742 | if(!bindingAutoIncrement) { 743 | return; 744 | } 745 | // 计算出对应的顺序数组 746 | let array = eval(bindingArray.path.get('init').toString()) 747 | let replace = array.flatMap(i => { 748 | let consequent = switchStatement.cases[i].consequent 749 | // 删除末尾的continue节点 750 | if (types.isContinueStatement(consequent[consequent.length - 1])) consequent.pop() 751 | return consequent 752 | }) 753 | path.replaceWithMultiple(replace) 754 | // 删除控制数组和对应的自增变量 755 | bindingArray.path.remove() 756 | bindingAutoIncrement.path.remove() 757 | } 758 | }) 759 | return ast 760 | } 761 | } 762 | 763 | module.exports = utils; 764 | -------------------------------------------------------------------------------- /test/test.js: -------------------------------------------------------------------------------- 1 | const utils = require('../src/utils') 2 | const fs = require('fs'); 3 | const generate = require('@babel/generator').default; 4 | const parser = require('@babel/parser'); 5 | 6 | (function main() { 7 | const astConfig = { 8 | allowReturnOutsideFunction: true 9 | } 10 | 11 | const ast = testApply(astConfig); 12 | // const ast = testEvaluateExpression(astConfig); 13 | // const ast = testEvaluateFunction(astConfig); 14 | // const ast = testFlattenCallChain(astConfig); 15 | // const ast = testInlineFunction(astConfig); 16 | // const ast = testMergeObject(astConfig); 17 | // const ast = testRemoveDoubleBlock(astConfig); 18 | // const ast = testRemoveEmptyStatement(astConfig); 19 | // const ast = testRemoveUnusedIf(astConfig); 20 | // const ast = testRemoveUnusedVar(astConfig); 21 | // const ast = testSimpleCall(astConfig); 22 | // const ast = testSimpleClassMethod(astConfig); 23 | // const ast = testSplitCommaToMultiline(astConfig); 24 | // const ast = testWhileSwitch(astConfig); 25 | 26 | fs.writeFileSync(`./output.js`, generate(ast, {jsescOption: {minimal: true}}).code); 27 | console.log("处理完毕"); 28 | })(); 29 | 30 | function testApply(astConfig) { 31 | const code = fs.readFileSync("../example/apply.js").toString(); 32 | const ast = parser.parse(code, astConfig); 33 | return utils.apply(ast); 34 | } 35 | 36 | function testEvaluateExpression(astConfig) { 37 | const code = fs.readFileSync("../example/evaluateExpression.js").toString(); 38 | const ast = parser.parse(code, astConfig); 39 | return utils.evaluateExpression(ast); 40 | } 41 | 42 | function testEvaluateFunction(astConfig) { 43 | const code = fs.readFileSync("../example/evaluateFunction.js").toString(); 44 | const ast = parser.parse(code, astConfig); 45 | return utils.evaluateFunction(ast); 46 | } 47 | 48 | function testFlattenCallChain(astConfig) { 49 | const code = fs.readFileSync("../example/flattenCallChain.js").toString(); 50 | const ast = parser.parse(code, astConfig); 51 | return utils.flattenCallChain(ast); 52 | } 53 | 54 | function testInlineFunction(astConfig) { 55 | const code = fs.readFileSync("../example/inlineFunction.js").toString(); 56 | const ast = parser.parse(code, astConfig); 57 | return utils.inlineFunction(ast); 58 | } 59 | 60 | function testMergeObject(astConfig) { 61 | const code = fs.readFileSync("../example/mergeObject.js").toString(); 62 | const ast = parser.parse(code, astConfig); 63 | return utils.mergeObject(ast); 64 | } 65 | 66 | function testRemoveDoubleBlock(astConfig) { 67 | const code = fs.readFileSync("../example/removeDoubleBlock.js").toString(); 68 | const ast = parser.parse(code, astConfig); 69 | return utils.removeDoubleBlock(ast); 70 | } 71 | 72 | function testRemoveEmptyStatement(astConfig) { 73 | const code = fs.readFileSync("../example/removeEmptyStatement.js").toString(); 74 | const ast = parser.parse(code, astConfig); 75 | return utils.removeEmptyStatement(ast); 76 | } 77 | 78 | function testRemoveUnusedIf(astConfig) { 79 | const code = fs.readFileSync("../example/removeUnusedIf.js").toString(); 80 | const ast = parser.parse(code, astConfig); 81 | return utils.removeUnusedIf(ast); 82 | } 83 | 84 | function testRemoveUnusedVar(astConfig) { 85 | const code = fs.readFileSync("../example/removeUnusedVar.js").toString(); 86 | const ast = parser.parse(code, astConfig); 87 | return utils.removeUnusedVar(ast); 88 | } 89 | 90 | function testSimpleCall(astConfig) { 91 | const code = fs.readFileSync("../example/simpleCall.js").toString(); 92 | const ast = parser.parse(code, astConfig); 93 | return utils.simpleCall(ast); 94 | } 95 | 96 | function testSimpleClassMethod(astConfig) { 97 | const code = fs.readFileSync("../example/simpleClassMethod.js").toString(); 98 | const ast = parser.parse(code, astConfig); 99 | return utils.simpleClassMethod(ast); 100 | } 101 | 102 | function testSplitCommaToMultiline(astConfig) { 103 | const code = fs.readFileSync("../example/splitCommaToMultiline.js").toString(); 104 | const ast = parser.parse(code, astConfig); 105 | return utils.splitCommaToMultiline(ast); 106 | } 107 | 108 | function testWhileSwitch(astConfig) { 109 | const code = fs.readFileSync("../example/whileSwitch.js").toString(); 110 | const ast = parser.parse(code, astConfig); 111 | return utils.whileSwitch(ast); 112 | } 113 | --------------------------------------------------------------------------------