赞
踩
import pprint import execjs import requests ctx = execjs.compile(open('./aqistudyTest.js', 'r', encoding='utf-8').read()) method = 'GETDATA' obj = { 'city': "广州", 'endTime': "2021-03-31 9:00:00", 'startTime': "2021-03-30 9:00:00", 'type': "HOUR", } secretkey = ctx.call('pNg63WJXHfm8r', method, obj) print(secretkey) formdata = { 'h0lgYxgR3': secretkey } headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36' } url = 'https://www.aqistudy.cn/apinew/aqistudyapi.php' response = requests.post(url=url, data=formdata) response.encoding = response.apparent_encoding print(response.text) result = ctx.call('dX506x9jVK3vuMMhoz6ZXx', response.text) pprint.pprint(result)
输出:
下面是反向破解过程中的代码:
function Base64() { _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", this.encode = function(a) { var c, d, e, f, g, h, i, b = "", j = 0; for (a = _utf8_encode(a); j < a.length;) c = a.charCodeAt(j++), d = a.charCodeAt(j++), e = a.charCodeAt(j++), f = c >> 2, g = (3 & c) << 4 | d >> 4, h = (15 & d) << 2 | e >> 6, i = 63 & e, isNaN(d) ? h = i = 64 : isNaN(e) && (i = 64), b = b + _keyStr.charAt(f) + _keyStr.charAt(g) + _keyStr.charAt(h) + _keyStr.charAt(i); return b }, this.decode = function(a) { var c, d, e, f, g, h, i, b = "", j = 0; for (a = a.replace(/[^A-Za-z0-9\+\/\=]/g, ""); j < a.length;) f = _keyStr.indexOf(a.charAt(j++)), g = _keyStr.indexOf(a.charAt(j++)), h = _keyStr.indexOf(a.charAt(j++)), i = _keyStr.indexOf(a.charAt(j++)), c = f << 2 | g >> 4, d = (15 & g) << 4 | h >> 2, e = (3 & h) << 6 | i, b += String.fromCharCode(c), 64 != h && (b += String.fromCharCode(d)), 64 != i && (b += String.fromCharCode(e)); return b = _utf8_decode(b) }, _utf8_encode = function(a) { var b, c, d; for (a = a.replace(/\r\n/g, "\n"), b = "", c = 0; c < a.length; c++) d = a.charCodeAt(c), 128 > d ? b += String.fromCharCode(d) : d > 127 && 2048 > d ? (b += String.fromCharCode(192 | d >> 6), b += String.fromCharCode(128 | 63 & d)) : (b += String.fromCharCode(224 | d >> 12), b += String.fromCharCode(128 | 63 & d >> 6), b += String.fromCharCode(128 | 63 & d)); return b }, _utf8_decode = function(a) { for (var b = "", c = 0, d = c1 = c2 = 0; c < a.length;) d = a.charCodeAt(c), 128 > d ? (b += String.fromCharCode(d), c++) : d > 191 && 224 > d ? (c2 = a.charCodeAt(c + 1), b += String.fromCharCode((31 & d) << 6 | 63 & c2), c += 2) : (c2 = a.charCodeAt(c + 1), c3 = a.charCodeAt(c + 2), b += String.fromCharCode((15 & d) << 12 | (63 & c2) << 6 | 63 & c3), c += 3); return b } } function hex_md5(a) { return binl2hex(core_md5(str2binl(a), a.length * chrsz)) } function b64_md5(a) { return binl2b64(core_md5(str2binl(a), a.length * chrsz)) } function str_md5(a) { return binl2str(core_md5(str2binl(a), a.length * chrsz)) } function hex_hmac_md5(a, b) { return binl2hex(core_hmac_md5(a, b)) } function b64_hmac_md5(a, b) { return binl2b64(core_hmac_md5(a, b)) } function str_hmac_md5(a, b) { return binl2str(core_hmac_md5(a, b)) } function md5_vm_test() { return "900150983cd24fb0d6963f7d28e17f72" == hex_md5("abc") } function core_md5(a, b) { var c, d, e, f, g, h, i, j, k; for (a[b >> 5] |= 128 << b % 32, a[(b + 64 >>> 9 << 4) + 14] = b, c = 1732584193, d = -271733879, e = -1732584194, f = 271733878, g = 0; g < a.length; g += 16) h = c, i = d, j = e, k = f, c = md5_ff(c, d, e, f, a[g + 0], 7, -680876936), f = md5_ff(f, c, d, e, a[g + 1], 12, -389564586), e = md5_ff(e, f, c, d, a[g + 2], 17, 606105819), d = md5_ff(d, e, f, c, a[g + 3], 22, -1044525330), c = md5_ff(c, d, e, f, a[g + 4], 7, -176418897), f = md5_ff(f, c, d, e, a[g + 5], 12, 1200080426), e = md5_ff(e, f, c, d, a[g + 6], 17, -1473231341), d = md5_ff(d, e, f, c, a[g + 7], 22, -45705983), c = md5_ff(c, d, e, f, a[g + 8], 7, 1770035416), f = md5_ff(f, c, d, e, a[g + 9], 12, -1958414417), e = md5_ff(e, f, c, d, a[g + 10], 17, -42063), d = md5_ff(d, e, f, c, a[g + 11], 22, -1990404162), c = md5_ff(c, d, e, f, a[g + 12], 7, 1804603682), f = md5_ff(f, c, d, e, a[g + 13], 12, -40341101), e = md5_ff(e, f, c, d, a[g + 14], 17, -1502002290), d = md5_ff(d, e, f, c, a[g + 15], 22, 1236535329), c = md5_gg(c, d, e, f, a[g + 1], 5, -165796510), f = md5_gg(f, c, d, e, a[g + 6], 9, -1069501632), e = md5_gg(e, f, c, d, a[g + 11], 14, 643717713), d = md5_gg(d, e, f, c, a[g + 0], 20, -373897302), c = md5_gg(c, d, e, f, a[g + 5], 5, -701558691), f = md5_gg(f, c, d, e, a[g + 10], 9, 38016083), e = md5_gg(e, f, c, d, a[g + 15], 14, -660478335), d = md5_gg(d, e, f, c, a[g + 4], 20, -405537848), c = md5_gg(c, d, e, f, a[g + 9], 5, 568446438), f = md5_gg(f, c, d, e, a[g + 14], 9, -1019803690), e = md5_gg(e, f, c, d, a[g + 3], 14, -187363961), d = md5_gg(d, e, f, c, a[g + 8], 20, 1163531501), c = md5_gg(c, d, e, f, a[g + 13], 5, -1444681467), f = md5_gg(f, c, d, e, a[g + 2], 9, -51403784), e = md5_gg(e, f, c, d, a[g + 7], 14, 1735328473), d = md5_gg(d, e, f, c, a[g + 12], 20, -1926607734), c = md5_hh(c, d, e, f, a[g + 5], 4, -378558), f = md5_hh(f, c, d, e, a[g + 8], 11, -2022574463), e = md5_hh(e, f, c, d, a[g + 11], 16, 1839030562), d = md5_hh(d, e, f, c, a[g + 14], 23, -35309556), c = md5_hh(c, d, e, f, a[g + 1], 4, -1530992060), f = md5_hh(f, c, d, e, a[g + 4], 11, 1272893353), e = md5_hh(e, f, c, d, a[g + 7], 16, -155497632), d = md5_hh(d, e, f, c, a[g + 10], 23, -1094730640), c = md5_hh(c, d, e, f, a[g + 13], 4, 681279174), f = md5_hh(f, c, d, e, a[g + 0], 11, -358537222), e = md5_hh(e, f, c, d, a[g + 3], 16, -722521979), d = md5_hh(d, e, f, c, a[g + 6], 23, 76029189), c = md5_hh(c, d, e, f, a[g + 9], 4, -640364487), f = md5_hh(f, c, d, e, a[g + 12], 11, -421815835), e = md5_hh(e, f, c, d, a[g + 15], 16, 530742520), d = md5_hh(d, e, f, c, a[g + 2], 23, -995338651), c = md5_ii(c, d, e, f, a[g + 0], 6, -198630844), f = md5_ii(f, c, d, e, a[g + 7], 10, 1126891415), e = md5_ii(e, f, c, d, a[g + 14], 15, -1416354905), d = md5_ii(d, e, f, c, a[g + 5], 21, -57434055), c = md5_ii(c, d, e, f, a[g + 12], 6, 1700485571), f = md5_ii(f, c, d, e, a[g + 3], 10, -1894986606), e = md5_ii(e, f, c, d, a[g + 10], 15, -1051523), d = md5_ii(d, e, f, c, a[g + 1], 21, -2054922799), c = md5_ii(c, d, e, f, a[g + 8], 6, 1873313359), f = md5_ii(f, c, d, e, a[g + 15], 10, -30611744), e = md5_ii(e, f, c, d, a[g + 6], 15, -1560198380), d = md5_ii(d, e, f, c, a[g + 13], 21, 1309151649), c = md5_ii(c, d, e, f, a[g + 4], 6, -145523070), f = md5_ii(f, c, d, e, a[g + 11], 10, -1120210379), e = md5_ii(e, f, c, d, a[g + 2], 15, 718787259), d = md5_ii(d, e, f, c, a[g + 9], 21, -343485551), c = safe_add(c, h), d = safe_add(d, i), e = safe_add(e, j), f = safe_add(f, k); return Array(c, d, e, f) } function md5_cmn(a, b, c, d, e, f) { return safe_add(bit_rol(safe_add(safe_add(b, a), safe_add(d, f)), e), c) } function md5_ff(a, b, c, d, e, f, g) { return md5_cmn(b & c | ~b & d, a, b, e, f, g) } function md5_gg(a, b, c, d, e, f, g) { return md5_cmn(b & d | c & ~d, a, b, e, f, g) } function md5_hh(a, b, c, d, e, f, g) { return md5_cmn(b ^ c ^ d, a, b, e, f, g) } function md5_ii(a, b, c, d, e, f, g) { return md5_cmn(c ^ (b | ~d), a, b, e, f, g) } function core_hmac_md5(a, b) { var d, e, f, g, c = str2binl(a); for (c.length > 16 && (c = core_md5(c, a.length * chrsz)), d = Array(16), e = Array(16), f = 0; 16 > f; f++) d[f] = 909522486 ^ c[f], e[f] = 1549556828 ^ c[f]; return g = core_md5(d.concat(str2binl(b)), 512 + b.length * chrsz), core_md5(e.concat(g), 640) } function safe_add(a, b) { var c = (65535 & a) + (65535 & b), d = (a >> 16) + (b >> 16) + (c >> 16); return d << 16 | 65535 & c } function bit_rol(a, b) { return a << b | a >>> 32 - b } function str2binl(a) { var d, b = Array(), c = (1 << chrsz) - 1; for (d = 0; d < a.length * chrsz; d += chrsz) b[d >> 5] |= (a.charCodeAt(d / chrsz) & c) << d % 32; return b } function binl2str(a) { var d, b = "", c = (1 << chrsz) - 1; for (d = 0; d < 32 * a.length; d += chrsz) b += String.fromCharCode(a[d >> 5] >>> d % 32 & c); return b } function binl2hex(a) { var d, b = hexcase ? "0123456789ABCDEF": "0123456789abcdef", c = ""; for (d = 0; d < 4 * a.length; d++) c += b.charAt(15 & a[d >> 2] >> 8 * (d % 4) + 4) + b.charAt(15 & a[d >> 2] >> 8 * (d % 4)); return c } function binl2b64(a) { var d, e, f, b = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", c = ""; for (d = 0; d < 4 * a.length; d += 3) for (e = (255 & a[d >> 2] >> 8 * (d % 4)) << 16 | (255 & a[d + 1 >> 2] >> 8 * ((d + 1) % 4)) << 8 | 255 & a[d + 2 >> 2] >> 8 * ((d + 2) % 4), f = 0; 4 > f; f++) c += 8 * d + 6 * f > 32 * a.length ? b64pad: b.charAt(63 & e >> 6 * (3 - f)); return c } function encode_param(a) { var b = new Base64; return b.encode(a) } function encode_secret() { var b, a = appId; for (b = 0; b < arguments.length; b++) a += arguments[b]; return a = a.replace(/\s/g, ""), hex_md5(a) } function decode_result(a) { var b = new Base64; return b.decode(b.decode(b.decode(a))) } var hexcase = 0, b64pad = "", chrsz = 8, appId = "b73a4aaa989f54997ef7b9c42b6b4b29"; var hexcase = 0; var b64pad = ""; function hex_md5(s) { return rstr2hex(rstr_md5(str2rstr_utf8(s))) } function b64_md5(s) { return rstr2b64(rstr_md5(str2rstr_utf8(s))) } function any_md5(s, e) { return rstr2any(rstr_md5(str2rstr_utf8(s)), e) } function hex_hmac_md5(k, d) { return rstr2hex(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d))) } function b64_hmac_md5(k, d) { return rstr2b64(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d))) } function any_hmac_md5(k, d, e) { return rstr2any(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d)), e) } function md5_vm_test() { return hex_md5("abc").toLowerCase() == "900150983cd24fb0d6963f7d28e17f72" } function rstr_md5(s) { return binl2rstr(binl_md5(rstr2binl(s), s.length * 8)) } function rstr_hmac_md5(key, data) { var bkey = rstr2binl(key); if (bkey.length > 16) bkey = binl_md5(bkey, key.length * 8); var ipad = Array(16), opad = Array(16); for (var i = 0; i < 16; i++) { ipad[i] = bkey[i] ^ 0x36363636; opad[i] = bkey[i] ^ 0x5C5C5C5C } var hash = binl_md5(ipad.concat(rstr2binl(data)), 512 + data.length * 8); return binl2rstr(binl_md5(opad.concat(hash), 512 + 128)) } function rstr2hex(input) { try { hexcase } catch(e) { hexcase = 0 } var hex_tab = hexcase ? "0123456789ABCDEF": "0123456789abcdef"; var output = ""; var x; for (var i = 0; i < input.length; i++) { x = input.charCodeAt(i); output += hex_tab.charAt((x >>> 4) & 0x0F) + hex_tab.charAt(x & 0x0F) } return output } function rstr2b64(input) { try { b64pad } catch(e) { b64pad = '' } var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var output = ""; var len = input.length; for (var i = 0; i < len; i += 3) { var triplet = (input.charCodeAt(i) << 16) | (i + 1 < len ? input.charCodeAt(i + 1) << 8 : 0) | (i + 2 < len ? input.charCodeAt(i + 2) : 0); for (var j = 0; j < 4; j++) { if (i * 8 + j * 6 > input.length * 8) output += b64pad; else output += tab.charAt((triplet >>> 6 * (3 - j)) & 0x3F) } } return output } function rstr2any(input, encoding) { var divisor = encoding.length; var i, j, q, x, quotient; var dividend = Array(Math.ceil(input.length / 2)); for (i = 0; i < dividend.length; i++) { dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1) } var full_length = Math.ceil(input.length * 8 / (Math.log(encoding.length) / Math.log(2))); var remainders = Array(full_length); for (j = 0; j < full_length; j++) { quotient = Array(); x = 0; for (i = 0; i < dividend.length; i++) { x = (x << 16) + dividend[i]; q = Math.floor(x / divisor); x -= q * divisor; if (quotient.length > 0 || q > 0) quotient[quotient.length] = q } remainders[j] = x; dividend = quotient } var output = ""; for (i = remainders.length - 1; i >= 0; i--) output += encoding.charAt(remainders[i]); return output } function str2rstr_utf8(input) { var output = ""; var i = -1; var x, y; while (++i < input.length) { x = input.charCodeAt(i); y = i + 1 < input.length ? input.charCodeAt(i + 1) : 0; if (0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) { x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF); i++ } if (x <= 0x7F) output += String.fromCharCode(x); else if (x <= 0x7FF) output += String.fromCharCode(0xC0 | ((x >>> 6) & 0x1F), 0x80 | (x & 0x3F)); else if (x <= 0xFFFF) output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F), 0x80 | ((x >>> 6) & 0x3F), 0x80 | (x & 0x3F)); else if (x <= 0x1FFFFF) output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07), 0x80 | ((x >>> 12) & 0x3F), 0x80 | ((x >>> 6) & 0x3F), 0x80 | (x & 0x3F)) } return output } function str2rstr_utf16le(input) { var output = ""; for (var i = 0; i < input.length; i++) output += String.fromCharCode(input.charCodeAt(i) & 0xFF, (input.charCodeAt(i) >>> 8) & 0xFF); return output } function str2rstr_utf16be(input) { var output = ""; for (var i = 0; i < input.length; i++) output += String.fromCharCode((input.charCodeAt(i) >>> 8) & 0xFF, input.charCodeAt(i) & 0xFF); return output } function rstr2binl(input) { var output = Array(input.length >> 2); for (var i = 0; i < output.length; i++) output[i] = 0; for (var i = 0; i < input.length * 8; i += 8) output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (i % 32); return output } function binl2rstr(input) { var output = ""; for (var i = 0; i < input.length * 32; i += 8) output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF); return output } function binl_md5(x, len) { x[len >> 5] |= 0x80 << ((len) % 32); x[(((len + 64) >>> 9) << 4) + 14] = len; var a = 1732584193; var b = -271733879; var c = -1732584194; var d = 271733878; for (var i = 0; i < x.length; i += 16) { var olda = a; var oldb = b; var oldc = c; var oldd = d; a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936); d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586); c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819); b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330); a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897); d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426); c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341); b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983); a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416); d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417); c = md5_ff(c, d, a, b, x[i + 10], 17, -42063); b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162); a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682); d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101); c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290); b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329); a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510); d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632); c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713); b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302); a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691); d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083); c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335); b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848); a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438); d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690); c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961); b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501); a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467); d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784); c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473); b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734); a = md5_hh(a, b, c, d, x[i + 5], 4, -378558); d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463); c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562); b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556); a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060); d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353); c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632); b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640); a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174); d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222); c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979); b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189); a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487); d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835); c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520); b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651); a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844); d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415); c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905); b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055); a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571); d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606); c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523); b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799); a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359); d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744); c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380); b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649); a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070); d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379); c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259); b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551); a = safe_add(a, olda); b = safe_add(b, oldb); c = safe_add(c, oldc); d = safe_add(d, oldd) } return Array(a, b, c, d) } function pNg63WJXHfm8r(method, obj) { var appId = 'baec98a73c1bff796603cb2fa9d6d449'; var clienttype = 'WEB'; var timestamp = new Date().getTime(); var param = { appId: appId, method: method, timestamp: timestamp, clienttype: clienttype, object: obj, secret: hex_md5(appId + method + timestamp + clienttype + JSON.stringify(ObjectSort(obj))) }; param = BASE64.encrypt(JSON.stringify(param)); return param } function ObjectSort(obj) { var newObject = {}; Object.keys(obj).sort().map(function(key) { newObject[key] = obj[key] }); return newObject } var BASE64 = { encrypt: function(text) { var b = new Base64(); return b.encode(text) }, decrypt: function(text) { var b = new Base64(); return b.decode(text) } }; method = 'GETDATA'; obj={ city:"广州", endTime:"2021-03-31 9:00:00", startTime:"2021-03-30 9:00:00", type:"HOUR", }; function dX506x9jVK3vuMMhoz6ZXx(data) { data = AES.decrypt(data, askCju6cmMLz, asieXomd2dAl); data = DES.decrypt(data, dskq6mV934LL, dsi68kk2Mig9); data = BASE64.decrypt(data); return data } console.log(pNg63WJXHfm8r(method,obj)); data='6PhCkgcr/GSku1RDZDppGlK3qL/aqHWjkf8YF2sPZZBPPkoL3NWy3dGBA8MAN5K206qplwhZ0YVaZIQl3G0jlrqlV/uvQegspt3k4BZlhIr5ESwY8GaALvjMU68Czf05LbjQcgAAu1aosTvj2dkvCLtH5swJle5i/HQR7rwGwI8SBsXa3T9p790UsGqSHHkEQRXsjeg+IoFo2oCOJ4zokMxoEgNwSNvDjwmCc6z0Yi5n20KKDuoK2KHsFwPmcAHYOk04gzefbk6WQd1oafyO32Mg7cI2iu8Z4+Trew6jTvfg/pXl945QnTcqCD3B8C4tveE3pP8gz2Nukuih6j5vptI0i66jiQtKhxGPRq55cjeEGTTNVamRJemU2xLniVVgwG7dveipA1l0N4v4XZFa5Ax4yBl6s3CJNXnjaCX4wYQTAeB0kUmRu/c/Mhj7LLQXR2amXaM5MJX+m0LLKUfrPQKo0iFElLJF2plQiPUi/WyMgLZBWFtRmbbKu/+lKkrA1FQYSFMeG9+nYckNY1B5w/jsfTWdHRrhHV81kj0nRQiFVe+orrS40GRJiQ3EzCbDoB10/+Prx+BGAE9hG3Il39Dac3NI9uQM5Gxt1U9xpJy2Jzd9/lRsBDlDdRzeu/0pnAe0Wvh/IlkAVvbb+j+wDIwNGdULO3ohZCXQiiGkFAYQNhWaUYu6ljlHplvl5IzdO75MhQTYzBQTwsWakWJ6v54Cv2aRtCrHqIVaM2/v04fIhCAYACPaBdL0H0PwMKL03X+w9y0cujqp1UrgBbr8taWK4smIxORi2QcmPKauJ5+zk1+cHL/tmNw/8MlOvZCqHwGjPkJpIwkDQ7VTw3Cb371zMwavyBGf7/WIvsY3vEo+ACc61Zt1XllQc8gtOf6v+7ci2avV/BWCDd6hXPC5UdWEwp9iCbIvg9ehq67Jf5JxN14gKsoFIR/J6eDb9Ht0E/VU1vsCrd8yud/1WMCTCy6hsX06L3WyXr4RSS507VeHdhM7cfhpu3wAwhWMWTBeK00uM8qybSL6GBr1gpwA46vLIj9NcFSYc+jZJ31CUSQa6aBZIf5r9jgGugiGrDKCSWS54TOwkKZcuoqJIwshhC4Z+whS/rqatMTDJ3rnTGq2XnYqgwjAQzpQbKltcjFrV+PgpUuTK0VHgBrGAzrdIcbAx1/+n2XBrcIuxVpMhP3ZjIgSl0wEttwActqesbeRwxuCILrnweWrq9eoSRYVqWeDsBhDFI3PlyQOOk08RCEkySuOt1j1a8p8Bzgr4BupYb2IYh6vmXslc4i0C1Ta40YGUBte7C6bnj/ox/FZhz9o8dCvh9toepozzUQOJjqdO4QJsMxwx3KfnPVWwBYwnzBOr5Eebv9PnSqeKh04KwGYtXl7Ed4WtAYmdvoo90IvLeE2X/yq5/MA65H8shDXJ8WA+utkSxf8X5CQWm1YN9f8356zQeT1xFm0/qCMjqC7NisZJn98ntNcdHQ3uXx3OfA8ri9xsWRQmTQtdgGYZD1/KMTHrzgpRDCwOkW9/pqM4I7KpEEDyCwO4IjEMJXmlBuSalp+sDM91Hx8bGx9QeHDlEes1c0+CkUE+B+L45t/ousjB1AzaunMuxJsGW0yloQ/Tx/7ge7x5c5V4q86zgCxG+R86Y8zMoyQT//iqbcTZOaJV+0wg5DyJPqarM5kuyR8xKYX5Cx9Ajs2s1zH8mgJZYsM5IwUmJAxG87D4SlUeKdB5B+jArX/CEqL/+vQgnkWYmKKUMrq1JR7DULByEdzbIIIYvHriqTZFYRnLn5ViqYKtsHZBhF53R2jOy8HZGRmLDd/H6zOJzMuB4jnG5ZxDSUJ/Pldp/pHGZOhDEZ9KmW/kHl5EYh+ERzDdnpd+uKJ/iOLaTgsu1Kx8LFNWM/cg1Q97BCi8St3i16ta4HVBnPlocwCusB/pp0Gkobvh66O2tI55Inizn6XdPdWb7spiySUGKOAIF6BEa0lDfta1RtfiUpCdAofOYfKkReOZLkGgZHecFQYYEBgit6NXuFpronMA82gxg90QXio1XvzTXCgodpFXtF/5fsOcJZ3ovdS+PzUIhiZXwpcBxB0R4/8SDyeFH1TA7kL7YduKsuUogGU6x0i+qIpQ9F/50rFhn+AU4T3JDLYOuAVktuKfzrA3An2k4KzZpMtJ7qdRvTWlBwqEQVU8/saNkeFj+x8MH2P6cpdD3zltcUCuoBYbv987iDTvdgr/egffcyh2A9fRa9iUD5EO+ypmDEl3+8wHwZAuq7qY/TXpRemGRr6O4v+pkeUP4UawvvG8JUhRVZFJlVS81IUKdMefKq47wtFU3E/GOIvtSIbWCifxWfCxVfMUxoPzU1LlwOSeCtT6OPhMrTlYTzuferQdB8ARJx6D6mR+soq7F0aEO5dILEp7HP69ehd5umtDX2sVj5nJAU6LSyxat+zvOmniwLMZ5d6eIMQv12GNAVVq7pk3LVfx+RVWOPh3y3XcFNq/19ceQ9of4KJgZgN9E9tg0fEK/dhy2yrXAvtV8qQwI8jXu69+/BRDQ+BaduifT6CqIHuKajtX2/UoCZAniA+KgXUr/3r4k/sthSuyd0vA4BsMh6Lq8tNWuWO7YvFF0DpWEdoRJ1sVGNBDtMWsrma5SQwOc/UgHsvbcC/NGZJBirozbw3OvzIXz4hzdg5w1s3DXICvOjtmmM9pTZ3TyFeV/wYFvkeTc6ScwUDq2XY39rcSWbZYhfe7uKXEhF9rwGhXEac1wq9w9c/0vXiJskOuXnat74ft8Mkq6KHMhbmQXJr2kcZmm2MoiReiEOiSv3+XUc9RFJPuos4HignhX5a78foxOiIgEFsEx3bMGkPfaB3kMAJt6ylsmHJScraRkBzoY9Q+mve7ZvLt9NlJDiV1EDjy381b5w4Cmt1nSG/gxhDQkEbEgrVRujB9IhMoVxNiTCEgRiI2s3MOibJk9ZZ7/kHqWr668aE0QD5sAkS4+0Bm3nxXg2wLaB8c6hx+tiIQsY8bZ1DcByxGMSTdsSNA76i9E9NAWF4QrCZquWdZAeyO8RRk22vkLnj5M9TdKkLzRUdC3nUILgY8b4E3ybYX+0tsjKZl4vhfQ0+he6nsy//5ZGVP54qjMq60QIvTOtWAtpj/p6Il4GJK4uzMFMNQ0S2fmNLBh8bWN3k4olI7kXrPbSkFQDCt2JiPRXNjP3c8tI7dFY7JmtLCyurWHEK5gH4QWi9VXgdwLhk6+jGs5Ucx3WGbxZWLlA66OPA9qk59SqcBtfDqxEVcm2ouFBNo86Cs+YGDgbSeANmij67tpIVbpRp8J7Xxh1Sk53ryTdgBRdyMeomvxxJgywKo0HCtoAZKCOketNC8y7OKHWSmluyImUUdZ58bNw7wyZo8kzXrR+8yc0q9eEO3kuJJGkdqYmN5WP6X15az3tIxE05msOdialNZXHdutUaYMNGluOJJX6gXH8G+4RB0fUgKNChMWrXePNIC2Ir5K7Ws6dlpdP8H9ZbJqGRoaGPIzxGtkRS1HAkLXrPqqh7Hyomnr7wZ3KMIhtOx0caeMNwOKVbycGqup5ydSUxLyVYbsRdcA+yCwezybE9QkWjsvowuzRMzhiPd3HWGrxeBOlMJ1A6WtS1v38PZnJqJdVvOv09fUxHRCudnWXUkWOqVUOSHY2lyv3gYvs70FlWiY7W00pwzmFgsd5npstQ3ixu73J5V/DZLmrVPJxgxXF0pJAA+owcVSIXX8uyVbC1F2uv18iPJCfqfOrSUccPjix95ZYyhk0zB0ZzNOsW6daaut/JVvVfvw47CiDIdOtGdBR4pxe9h/Hv2k34Dg9hiGjd3JEl3iFFM+FEXUh641rof40iavACuuZVHO7iehZRMp6/NsFbEMy8sh/P8lvWU//nRLpPKuwQMhScCs9MKqrxiiURlUKp2NzJCKLcHzUuFpdR3tteiJjvLZIOCX6lpmzJbW0nYTL0MQmp9dPUrOoTnwiPp3Zxw5aw28PBEjPH/PhqK6eZdgisIGy5rhZ/qMV+q+OYyNp9TECdBcqysL8UAKQhsy1fSJU8A+fJb/mv7cUL4FzMJsHUyr+x0XtRF5S9PYWzJ8YHxBZcqmUPQcvBsZE8jUfsaGDtvvanUsr1wi/gLhXVhoYcDAOB6+jIo56xjw45bBFjMMxFAQBP6Fl3242cX3ojDAjwdLLm07VCHOK9gkUX9NcYhOazK9EDadgxiMl2LXwBid5mZleCkUlycO/LUuNO6wRLVZl6KyrJLy1wBhKZMMENWDNRpQdSTmFwtYKo+ei/fD19tbpJfvHCKnjLx5Z9L06voDLuaXdvr1F/yqNGKIX9y6egH0A2PfOjRRlPXKT6sx+wsZpcLqB++q6PprcpXjSkqkQIIZeGBU2sBuIkNOMVNMTcVx2q6YDFd4+my65gEUcRRjhSSWxJSNTSIrrMB/h5VqAY07WibTaDmDGWFiOi4G6OHNZVie11TozTqU9KOD7KlJh6OidUcd7xf6hGb6mqAAthpnh4kaemztsoOLBm4Ay+lCVV1ii+yFnPJWvqxhBrqsYdhrNPyu0lbEfCcJzSOqAEfBIsmVxzJrnydNW1/5l2g++NvWGbS33nM6wwWTgFefkTQJ0KIzrdoJJS9Q8aq5DigW+SqhfjxAYYsf5UMW8ohfTmWe+e/Vhj8JWT0m+G1gHUwikG8NoO9O8LBGCBuV2GIrj/hQHJb+GYVhWyf9kzEeiMh3MKl5ILGhLf6BuwdSPUs+TVH8pJdXxko2W3PQS7DmnlwqsPBcAUT1xKpVFeOz59TQoGiyxh3uQlAhf0cHMVbjChn/rB0fYCdbJjRVIFX1i/ybJCe8PLYfeSucuOTQbHNlWymetpNaxJlgvjjd1l/73GWMGZZih+td9cT6LSvTcoMYG6dmexjwdwXpUvrFQeSAuI5JEL8TQQidrRqX1m+20PCQ7QYsmN0XDJ0hTOLEMATwcekmORMQFwgqh6monRWpzcbIYP8At8UtDbSherOnGQu50x+DXFLSRsiD8IpyYdBJ8YgSec/3DC5+NC5qoZs+U6CkT9F1Bj0i/xinNehYoVFTt9rEFJkLNZvICLxh22IWxAvUfd0WuljeMc/q5wn0pZeC/mgiMzdmmEQr4nvHRyJdXi1At4ugpr0ePqt6LVXPGL/2axrUwUshTlOGNymifkdsvJ5q51GIopX+63nFgq2W3EWAaIn7COujrtPuD3TILbbr1YfSHeZbnxsn4k+dua4kww32In201zjlR/ikSMC6nQPDvdP4Rfj+OL/IqjvdYkg8HF+vn80e3i7xQGwNfWuKngXVtPudaIGemz/ShHXfmIRLaVH0NxU27BHWBRXhgsycfeVnnhYuyclZepAxsBAV49zVpnu5FyFnX+ndLKUVTWzwMQZTdLws/1kKpRoFn7p8le8/AcRdAmNft6KWD8f8tXbckKn1rKIhsgkqr2gwZb23luI36osMGBWdCaDFqvFGDAVMWR1gtjji0g5OZ7M9PnIGlZqjxt9TRnkHSwGe08bcaZuTraaf3oYWc+QO2mAGR4JqUOiVVsDmOXLERCUhb9BFQxhp0fgd/qTlkTzQU27uohMfnE9qeD8za3gmG+Xm/2MjvyL5VpiBz7KAqHzt9OTuyrd9zkAmJvQO2u9Xc9UU44DRDTYmJwnmwkey32MOrHK0MFfTf/kHeOD0HiFrtsTR4FtLXewf19MAaBrDbiLpC3PBFWiJ39p6ENC9alpN5NZN5SyJ+zjGqCtjfnk2+E+z0Ev/MAqPAAFskA6Iu+J2ygG8zCAIBuR/VWU1v4eF2b6Q9OFuAa6M7k5b8FT1Yf5o8+elA2tBH0PFz7ckn3ZjeyD6CC+9AodQATlAPmBtyinaQBy+6eYrIo+Z5ms76JSU1UFpWj/FpXA72nZgRvFqM8ABmE/vaIOb4cCUtkpzhPMBrs6em/0KcrdaGrZWmT67312edfzCQ1EZ3xXnP02uNGt5FkpNKUp4s9y11kfHSrBmBFK3G6jIEx+9aMuhzxiZa8DbHdUxJz6OddAbjNxLwIKaZrl/v54l31/TdqT8oR5+EY8AkS7pssd3U1oOS0iRsJc04HT4TQ/yYgGEKgEgTDCUR1f6GDU2Xk13Xyqzvbx5jbTKqF6Mn6/FLJi8FOug2GeYflAsHQ0g1Swah5mBD0LqUDj5aZnID7w6FevRhRz/eAZb4m3voF2eR0FxPxuoloebIuAQt6yPh4GX9SQRleC+Twgh1yyU4vuePikexc1/gbMmAaCHQt6kJGuegjbF9j54HrNYTcXGqRMXn4Lf/2TJ9vIZbJb0Mu/eE3aPZKPx6MP1MHe5Xg9GLBWI6G2cgo78zsc1WXwHQ6lp+bPaASvd00w+QbtRK9nAb3aCcQm0NlUYFaLDooqxqYkA0pe5BOkRdoesMaYj+6vel13w/xMSxoXmPPvzgE4uaUUIiDEWNhNGbVJZvC77Th1phUbeLJx40k0BH8X/VWMbr6d8dS1njpPf2sIt/TFuHj59ppn2ZCsJAXREvuPCXYapMYuW5hVGkwoOBnOKTMtZzUhUH3Ex0eQYlVTPBMB4vlY7ph8FYUte36S5BtK6D+gneEu8A6ub7GGS6oKV4NA42Vbb/m75sL780e3NIYywJCagy5LAh25tnlXV1hS9OScW6SgtldzxOsOrxRXAD54qLZdV8UiAeJTfmDKwMtY75unFoaf1CQoSnOY2IJmRKEzCbpL+mRUtHh2H+Q1btrfMJVDftpxrT07wUC9sx8PoJ7cJLZm4BtlU4R4TkOPPPJzpfkKdKaV7JXVikIJ9zt37WO+8vce/cm7jPBjEwL9d9uunAVOl9i1EDCO49VlwB2sVZQnf+zlhRv4ZBWgXLoGHVCdOyI7xiovDV0TLYB6BpwwkENJPvKhlEfg6SKx5jhPskaKj4EuPoaMQk9KdZ/4aqwQa+Gj6YAKk78OiHGmlN0iBu4bofuF2lci1H1CfSL54hdNa7k7u1wjABQwmxBSbVMYnUhbmc4P4+zmIeycu4B+IfNSpGaXdAcJ+gT0qrnptbFRWU+S9G6hLoHjTnhK4VuU2t354bZvEOryD+f4pLZcDgdQVFRUrJ8nnRKOIf6RxlldnJzglWvesaEUC4EJyXFX9mB3Vo30OQ3HjJcvB/PVd7mBxIuF2qAQDc9FmtkV/umtGQDJMpq7eEKhOfvsBw76u3eiPOQzUIeGEIx0wRKlKCMrs0p1JMIJmF/DfihHzBL+D4dSwAr3DMd9Cm/vS6QXl0xZ0u3Qe1TtmjcgM/Ak0VEM1jLh06RsTFOxrLG8kPeaOTI9RWKOauHLH48lgsRw2SQfkaxSrHpo9lhh/JEPTmGRC8WDXAKTc0UrOqd6AQh+4sWqLTOnkK5TDj3FXgTSPOjqtx6KQO6XHCgdgvc0i9A1SK+BzFGOqSwD+pqfyMk2E85qxAO8janm93AhIBJeiDODnJ+ZLKgezOHNHLvBFrdf95dZ+eOUOoX+ab6urQT+IHRtk8t3iL46QKh5jK3Ri2N9uGJLj/9wHT2W4frrnaeQshQEd5tkIdQYVltyjjBqtyMT2M/weRZ6z6BM/LroRZJzy5WxkCJH8JHEDxcwSbe5GqrJF4Q2R/md7/I5IbRuHP4ERF8aRBEZbfbzYi7zajJm4WSmfOjBenKyq81d+Qd72R0KKdpohUbWU0otBl8IPy4P2Fj7kAhG0qnft8hs6l04L6bkU+bFZ8n0kC77mo8q1CAQ8wyzDnGLe16HMWAwFInK9dSIQYTMA9DRA2xJd1BCuimJf2yEqrj7N5E6OPfcF9RZ+zPBkvKvSaL6K8+iAcyik6oXhHWIBmWfIl9yI0swl1fPLIMVCef3i5fgnLpF794b59k6w5yXjkyR+MDn53DouedeH2dRw8Bvh5KDLoLwIDGVv1IFiUsmAJLN8Dm9cOjXBB07n4wQPKY0cjP77189TUNflqURiC9/5FF2bJZxHrbSy+Z2buNf8os5BruY8A2jkUL0I/D22DPGfiHwcrfUln98CvF1txRgsE6PcawCafJNxbM09boMNwZorIXp9fE2Gk2gR9Wx11RXSTzia7Qy09vdvmJZS+p6MDi+4gLY9vbfEfEI9mcZqUJ63VutfPN8QxOqkmBQZJeSH4WVDnsFf/Prex8ltslwXmT7eovPIC553skzWlt4OtcF/4veKEC3GpAbl3yw1nXcsFNTCwyeopYn7DAXAPMAuVcJItFCtXLtOfi69frp+e2wrYOXFrnkgwI7XJsy3Y9Ne7Tbc5EVzObTwLOFDvd/SrxdI3lj+v2FexDqA4kHSfhp44YcqM3y0T2ToPWIjXOeyrddeWxQ2becJjAKOSJrAqvqj0amM+alS6BBEg7tYpDcZLtWcg/Dsa/Si+yLl2uSuWu0kS4hFFBaRI9MsoyqVvmeawLQy0B7HntkKZDMPy0r7SsOU3Mstu6A4C+HtJgj5HINcVVpxAyiMmXs9eJu0twetZly5tzb69rE6/0mmF/N33LuaX8TyTjY7yeayIeIo9TJ5+AiOOf2LFufUCKtLaprH32J+GTZwObD92OIMaM79sIuSQzWCpQOCAy8h5lB9K8PpoATqHCbCvacoGTp1zdKdBDSQbB5ljfTV1ylZMZylyXKaNKRmj9/PCzv2veNJz3f11Yb00zFw3O+yhBMssmmzpaeXilIjsDrUR6qH5609kZ3YSvaIbBOWvVjpJ5sm2Wv5K/+cNGlERRs+L8cSyZlc/J4qLrUcoul4iNKO9rE2iI6y+Sa9w3PYrfXJelh1yRdXDZMGqm5MjGkYmSfsNociRyv5IjrouwUCo1LkaWaEYqiauSvYNi4Plsudxe6Bd6fkjqCtP3TBhoM+f91zq5v+HDgi9xpxEfV/RWPmKt1ljFtIcTncVffn0P3NeUXjZJS7Lm0OgFxrLPNXskYDLDZNZ+2o955WFff2vTJy3WnLeEYgOzIfDMKRI5vtDYZ7/zC+cOAsIQJPxXf6EJFG+oy0ZhUseowtLcacndnyRpDG+CBOa5M5t1D5XBqHRYMvfEqdJCZo6/lqyZiBAOVhbN7E+gpGjSPToEU/bjXKSdGP1AJwhR2mCtp7tRcIRSuMfre+foOMyZgHPe20NBAZk2T5qs/2r33IZhS8kKstFl8+GNrXd1xSgEZdJayeC58t3bOGtXYTk58py1ffACjoFl1KPp0uDk9drGk0mMfakZoTx9MGalGkTALip2UwxUYU25Y2yE3PExgoD0lDgII+gD4YnNKwE5x7yuJi061rLltyCVskytyYDqofOXoIJyhGhU3IHvPat7pArWakhcHb4uMAAl3AenymAK/LRhpOGpyub/AqDY0tGEh3dG/xf+H+/bDURrYg8lfKTWqoZgQHyRcqZR+lqvWGToqeK1aNJTtf40xV9vcXPC2qztBn1cQFV0opbrN9ZZseL0J8UHIXZXPIprg13sGzqXh6yDTGI45wR/cxp2f6jYtecd0TFfduc69ZdMzO0OiWfO1jSQNfnD0qi+dxrG4ngWnPoh65DRj43tbn72IcumdJgSzfjBOsvB7i7PEldAL/sRAKPahs+knm8Ji4tPcj3+uS2WyH0u+5FVdiZ6hxwt+e4ku8EoGGoH8XPanZumohEOrHNLZnyJe3PhKmEMOwimW+uYVdwdu+Zb3PwbARU4MCrW3s4ZBgONDD27JWHG0C6TCrAFN1Phnc+7P3ociSR3acdw94eiB6O3mCNZoWxECAhBgWXowh0+8kyfECyJjK26i4HfqfTbc5Pk6W/EEw11+LVsGthDqZT3pCInc6pOLHOx7b0mrxzPKBwCzlq3eW36elUJu17qXokOUa0MyhutuW7byM12iVJE8b8k/8kLWqUWhIofin1He0ehPpRBt/HznRZwy4atvq/J0hQXTkJppCJO74N/TmlHDdDwqGwwPOYbp6oPXbyEzQ1dMHGla3LXrdILRGLr+8ET47YuhCUUQD+K9nm9WDT6VHmAYfzZ6d4kO7amsGoHRx4vas3KrtJ1dnbT4bdF6wSxM4pGsKfr0/MnB6ThNVExyaxBE3QzsBU53tebqvzGXWnL5208sisNBWF7BlMXTGk504mo+ePoAvrIozeyAbDvu34bGzASouPrRmygMYBJwj/rliT7TPeR4AsS5a7kY0vCavSZFi5+ETSF+Ag2CjdLjrl37Qyszn9rrU3nj/k1qKOa7k75Sa1muBz21BVbESaTLDu3KlbwMxHqcO6IvtUPVuAJWdEzUxn2AVh7QAwaiPos3iw6AljABVKsGeDo9IvzdPpAU028nXC40eyIjsjnT49huSoW7AEPTYojVTWb2hYsgQONpXnzQyXb2da0GxjWCDsm4rq31IvsxQKwxDxolKaCjNkR13OsWTDxcJixW9rUIR2s3B1jSGCfhgp2vF8XFvS1EyFtA6MgNZCA7l9HQ4YgQHVzySr8XGfsPEW1bY7Zf0lJkDkHV3nIuuAles48xVjwgPVoaKI9hneIPFQcsk1DNQlfgLhUMOB95pdZ7yTRlC/AOCKwEtK0yY/n+WiKpDZwNPyBi4PL00jMSoGbw4dBgQGCKn9iRws31W3svW2KVnf1zOMiox3nihmegCSavCx7KkOu4nRkUdBZD8RqVNs3tP34sb3PKSnu3cTabzL2G4MaKT+rUj2Tv0lpIACAgehijhWgv2jA/h5sYlGwNEJRfzR/od4To0E/QbFfEBEis6UJLREkds1MT28P0bc624RNRV5uv3PIeCBg06hiziNgu4I5vmZ17T/qyz34+pK9JQtmjFyrix+NrZnoKB6y2G4ZoWYp5zO2Q252frQrSZhUypstlV5cvvZFANhRV+BTDw4cK1+qBX8/rtrw94v8FQ3s/4SbD40ehGHbRxeNI85MEa4svTZiOgIPvdZZSbnjEt4G7XAzY83CXgk71G7BHzoVug9jnMBH3JnzuF6Ipn99u7rEwycfs9ebUYO9jzIX1y5U0Gl3kGBndM/EVjIshpkb2ZvalMTbZS97KPTMq4jI2OV2Gcef+lIfGKITDwhZfpw0bFrDdHELgLyLGE3zia7Ob8720R6r6gP7LKJv/IhjZVwf3DqiW1XtWmQwp7KOPoi54rmXOo94+ZHNsKU4JgCPhoMU6QXtekUdCop8reL/7XpEOJDIFUUI/XuSjQoUcMJPlYWZ+zq0hEKk7QD1YlI9XyZ4yyWosGG53ULRR7yA7mabQXIshUJEbAXEwR7hX9amnumw+NS84zcUNtg69sPt9XQs5XKUVaQrP6BDOixx+GkO/uHi19V4U1MO8/nTcr3fVo4ofaiLkh0JJ6R90+0nWlHxly8G7KrafPn5GGRtmuv5T/XQ95Gq5QoyXNcpbmkEve51tXmXclqAXJRdt79ShMFNYMIOzdem42YO5WoLlWvHVLdjSkRLK912wpOi0bi6V8a17G2JMAWDip1AXZP5prsg6UPSRjNHK13VCuWmkVYexe8f/+xwXUYrKv0I7pD1hepRZq7KtWiKsnz9CwGiMrvXepYF8rJpFL1pc5K5Bt+yn5S22b8e4m4UQpWXQltEesotU1cFeij2giVMJrv1ZwxnjbbTkLHYrjdpPB2Ad228lAoD08JYLKbvBMkY9M9axGkhabK9o0Txqe/vmurQsO+nyHg2dCJ2gnPmCbrb5j5mK1vSbqouvR3tMCbxFpaDef0Ec2Mf+7ZjYC4xNu2m2lJp//A4tbQXLQiMo2qdles7QyPbMzEI8+/+KfpB0EKwqX/mkxHxtdD4N8HFCiopZ+NWxol7mV/WDc+BYtxzRz7viB1/nl6bNea5esuzk1h4DjEt/I1Q24BdPRE6N1xgDiBB08J9dcJ0dh38yMZRcG+EYVVjgYe5v+YRn6FxmkmKtMLbQLsdy0exvB3oMYskGbdNpEQz4IbugO29FcVbVcqCuIvvGRF6DxOv6lk9a0HvWShEcC8qnl8Lbn+typK7HRBR1zOJ9P3Nc6b9vH2KJEGCS3r1R9D30HQs2YkH7mi7nh8SMmxyZviscCFniGVu51ymFVjvpsIZUytb/YOMf1NFxLghWuJ3tHnKWtl6VAK88Bhx/yOI5gyjZhUU6lS/VjnYBbZArbmR0+3dcYfWjyp3VPA16rSkFM8xv0/YRriN9/vHLzvqi96AFtr+9g6q3efw0Dr0xxNuWhyX1IvIE6vZWHl4iZzIwrNy+SpkPzYC2S+ydpqleacy3vXHQYSGGiESYIZAFOWp+hWDfOVIU6q+y9meZhuQD+C1Fx84PlvxCy1iXD3DzdJKA/igIEispBaKBkraMihO4QLZxq1d0bxHDKRIwnByMryW5pinq+i4uzVTOTXYtLlkpcuIh/4GtnR5Ar/rDSYdYOjIXWv1pojz4h2EknjGHgPIXyvkdTSa54AXT6GvP2yTEgrK1vCbagxzQ4jkcY9dCpfPECi/hHNlRI/X2h6GvMW2pslbKxigT6Pc/Mq2btxUiyeAU/rO0P/fYY/l7ofaoSPt3GxqvmJtdpWoS32a5KK+8LeUtc8nWbws0jk12frASwUXHAcegFj1TnEjFzpirWiwXtM1WIqlH8x86cRRt32L2SiNi2qiua+J7T9Cfz+PXdDM8u63Jit1YNAeNpMeEX4/kYETNGYF8KMjPpXuozi4YMv4qALBEvXFWQFyL87LPEIEudDVDwgLa4F3UyZh6meC3bUiIdpQFcytcpeKcW459r5Qf7RIRvP6OdsZGNGiJIl3iZ+EAh5tnIYybF+MI+bERMrcV6SX20Apaw6LZaTqHLKgpH7+C7Kjt5lKTXFxTu8eMbkyFZi2NzWbhPo7FB13kt/TKXK3ButPHDVR5+efmO296BZsll+KaMXKwzWt9wNIg0A1/CnSURRziAtj8KmZUhDev7nl0Mp/As8VVa4VfUM1tU71D8RLXqVrt3w0Mcq2Qwm2bEzYw0JzP0/dF3ZJfznE6EfKDunJJRXrp52t3v3irArXwaiSv/AIo8nl3bAxtQX/6T8Wnr5LzMAOURnAN3cpHl9bzkc7m9jgLi3AXaxVR3mK/z8uhLgo1ivQEbSzJp5pY72xvAYDvvurph+AsR5XeaN0a+NHrZN8lyRZ7Q0tx1Vh891c3Nbh5ngg5qWlRTACoAKaRtKbFbPmhRivClSIwDKjruSu00FYtgSTZulS8aONhS3mcTNW5OrcLcjRqnJFQDUClOleiPlvsT/5eyLrVssavxzmB4l5xQucEBA0M7EQRKaMQTmyhrbH3V5Og0l2UJQVXS3G08lOTI55l//XoTI/55PriB0vJSs0H5nczM8W2OVFhuQyal4ryqxOVs3g/PI7Pn2qcU4DryBNAkcYAirelMa+VUCeEWcXeHnEuhfcIjeeL/lU7XPcBV01bP7+wc0jLF0NuDUMUQ+DSXHDT7uVn2jEjcf7uUmNuj80DpZDQpoGEpxYnRStDLUcuFnSKAonVAY30I4cXDtDHuqt9L+vvrb3V7miAno+YJw+9ndrYtCXfk0qsmh0oiZeWvpiu/BgoxH9PrHFaEUL/sFoT041kXx9/I6l9W6oYnOPpNzCIV/oa9GoOl7YEJ51FlbE5pgQ35wCdewzOsOcSoO30fHys8aakaMCdwCIGNHuDm0GX18l3FGuXYVkBpjH18iCMOisXsMwtZuCKHJCG7iU4PG3qhAorsomal9Efs2HR0OoolAHsAdhr2gcFtfrhg3fq/ugU3hde27Rf0TZ4FgmeruhOpcerml5NJgDbz4JG37XXhnbXzaFzfPvsR6oF5/BVEcTlK/fyiucNgwQ4Ft1Z06F5lXbpd3dbYD9jioZEqmSFNeyW+7jNage1nRFGd4wYv33R9SVsH7tPEMoiAHJ1mPlHcPImvpQ6W5OJHBkFGm2yJnwhdx1akORslZv0H0MiUFIlfESMN4nQPFf569z1oT0bIT0/X0VngmtFwr/N+dgpukBkd7b+KI3yGoNUwA9C++TmoPLNzGVtNDaTcZxOYoggSTJ0/Yretg8K3dNmJezj2yKdtcysf2FKRrCXU673MiohRWjzxGrFJ6Eyvc6pfho3NDaXS21pxOAHzBXx3kbrEwOuMu47jkFfkJIvPx8Xo7I7g/sXmsmBH9R0j4uxcHKNdofVz3js8YhKC+pvA4/SfGWm87YQxArMSw6hDGjakGejNT26RSCN8oBGrFf7CkalxAhIP/RtgfGCHO1yC4h0wt0+hu46R/pe5MfMJgepmRdpGkhuT13ykByugmJcen7iQUJ1RJNpPqqMvqjCaZI0ePNMhvBZUrF4z1zWIxDyWx9zZCqJvpR3qH5z+J5zpbZiWoODcEJOuKffJYVUHs9Qz0Z6/c/4CQeWqF26k8EJbT8GyvY65BkMwkFnjTPIhBieeeCBAk2FsU3GGb+yFqLkM9OvuGyyKjXp6V2aW0DU/0v9A/Kal2AmE6x+4uc2HxWwZwmpCSCf7Bz/1DK1yUX1LGCTc4ojgtRx8mEiO8ek9iH8ggsH4DXaPTl76/4lFzlekXucg6liN6XbROwyHLWrwOzc6XHRXpH0+s3sIX8F/YyxpENW+lj/yr/CcOR/FBqoauKSh659J0fXkjgSPRM8cTtY5ABNUaC1B+Kxfn6bzGDKd3u4FWR0fzMov2X5AcEZir7b5r6fi5fitv7MgA9mEseDMXKUY6XKh4VI3kF9FFuuSGQQmdTVkjU4VOnDglK5Gzeckopg2rcegKP/7ILrczn3aMvZzVjdkz3w69h7A2quiZW5ves7sDSNX4GAatf0ae1PCEhiyfNLF1jF6/v0AQNCd0BD0c8pnyp1l8ySTdhhTzq0H3+HRvkz0ts5Ocq7IHK5rHior41ltD/WlyJDrXPj7tb+tISnOaR2z/SZBJ7sIsnzWo+K+ld84oZS9y4masYqIva9o5CnuVTiOp5O3OjS/Vpb4Rbni74phhCiswW51DXkAqPrU9DXxaiPZibkc/Aq9AAtuLE95Pre5jkrnD6SGEXe5wxlJIpyA3metxOllMLrjQwMt984F+0ZSOjMdg/VE5CsRt4AWZbcRd69VMSzPuzM70PmR8eJkmAcmspnVN9pwecUO7cJDjDFcdR9QfLgLhgBnbtHoDJDKnC0JJmneRKq/sgc/aDekya3KMYeNW79ZsWGrbTg7gSge542M8SdyfQs4jKsfMLeu6SWp5jXNk179N9Xsv5IZYI9HVFRCag3temum2PR1j+4jqkKAYTIjFpMgvmnBP2rEauHw1/foLm1s+kDzIk+D1jPyf+JQ+J9c2FsXuSVhNzahnVr2qxjP+pA38R2YUV4wBR6zQDz3fZ81bZWvpvFSnQnD+l2wCLmB0xNznUE0CwQvnjVeBCH0CXIZDOlkZjYZOEpOOw3/0BJa3y8NCU1QFBIEsJpPiRh7L96zoeSc52dC9mMjZWg1bXoaJ43ug4HXQycGanr14wH7APa/SwWcg2zXcPEQOlndNKxtS64N/SD3703pWYFlcQdsjKOEsz2Y/LZuy8mnSB5TSmkjBMH/mYc7rcdgd9v2ySe4nJOOMLvAVwJrKS91xVacTIDjsV58+xiHy1Q694o75Tl1i/XVplqGaxSF6GrbFuxkDrYJedYq5xuEvyPg+jyRs+cY8X/12FJJQoMK4/KEZnYF+O7pMmt0nywVerZ6fuLb0FqGoGLwazr3CbBfSbeUpJDc6fFYWfnHAqM6SiYmKGHJsx3Kje6dStZVml7ArL34IRvQ996747f1He4mY9b4z+TxbHYxL1OhDRU1FVSM9d/V4BTiVL4lqdis3YSPy5l7rRfW/u+73xR4OIegTrQlE7GuL2gHLA+OiN1S95N23oEJudmXtEtV0c+sDG8piXWobQSfPPIcCR4Bd/Dg2IprCi7uWOJkcsxHCy8FcKaTERc9azPh8JcJWaiK2V5L6zt08xO3Zwe/enh7Rrcm4TPc5m/eRZRKflpISMcCoAlthTqWqCBGReClb6bN+Baogisu6BvdqgssYq0CnueJGOJk64VaCylzZiYPmJX8vNVtKG3xnIsfj3mwGhS6qoa7rNmrGN+aap1W/BHWeOYoOHSnA5ntaPXur7W2RZZPCpBngx5QHZGc6QX5DUzghHLSsjZ+ISkHBLAvMiHenyiO4RG/3NkfN/rITw4GgGdjN/PmUKjK5oUGFjzSUkIq0/dt4vT56Qrk/Fhf9qMSIMsRzOzzoJjd8MvhYgMhyVR3/Pe3exlXp+gXkAcrOAHtPpThpS1K5tUxaKg+gaP2qIpRzV2U3HkD/JCgyUoBGKaTDdQMoCIrA/VFx4OZP6bGqQCzrHNjomjCEi4e2f0z/YavPy0bhJzZnDQHOUCs4r2zDpDkxobLamCw0ciSaZILsdBMHnLUlfnEz3Fd8OxlR36KeC37Za6inWLdnfMouNScrk6+lqJ4axZ8Misg3lXU8y735hGHSSlWgsmB8kiUnGoW16cb2/X1/R+Av4dgXCxAMgL9/JsdvbllEkBCAVyBDLdBXCJ0bLhteeHHlB3gV1CWXGbLGMaaIKSdgX0at9ffWfa4hU1B4kGEBfk0cBwy/H3WaGRxV7wnLJWk5koaKHNhtJuk81GQ5u+hvhvpyUhweAtje8gu7k8EnJGHKS5UBif/+k++BYMGq0KuHGZ6ML1jQqCdnicn4z1vQADoIdscp2we9x3sXVCPM5eCJe7aEoaAZhkA+/zvJVbVjLXnjrnDCB4G23fqFwMHSa6dW/yDTuCJo0t1Hq3RIQmn1lIrzT5EOqeNm+Dua3o9ZRdB4Ob1KTVQqDYkcTQuAyOeB95+4DGeWzNmHBsugbuS+ZxFlYhIFDR/lrUJk9Xdsr/4T3GXR+RzILPDCGko+8fQqsLs1dYQyNGhcW6g7uXyE12oTVYgFTiBWVDEso3Chmh2JTEDHZ9TbYJWd/xjqYFe0KMpUF5lltEJyFwjEv+HIXKLgqL7qZrEtYhUGTbGqfGMtuvn6Be1qgiT6FI34wwUoqqQ7c3rVhg00FL2hCT8hiyNCxk3z1mFqxrukF1XHCnF/T8agxYnlfmTlghuhBe/0KsE7aZjtX2eSmXo2Sob9lYc+ctSPY5rjFZsfULIjS0JwzW0V22F7VpZfmw2lBPY4/LOkpp9A57fRMCWHUvay6mlrlscStpyVKRiOt94HFspZk+LejpOD2czqDIRovqvJ/USIJIYSuJJh3EPrZtvShaJtwaioW9ocSNrGJ4enmH9gdzYgUH1S2SSw18gUaUUVzWvUgOWZiW5VJZ+Fqz7dJM9DuTrUYLIE2LCzs1f9IZJH6lZwvMIsS9PmyUwz9lXsF7jN8ddVTNu67iwqiHnVWSz5kL1xefiouqOaNHLZRUr7Ypx8RL/LeYTASpKSiFaIH1Ncj0P0rM6QhOiPNe5E/2gpG1KmBDjd7tVnK2B/tjn5Ggmf/hC5sv2DzPkiXt3ppkL2O6eHZgHncJN+V2eHs3nS4bvfNGL8KiEIUqP/XPC/wEr5Mb0DUCfdrR4RK7OOc7X93RYe7mgxbPbSMXR1h3JCQofOyMaQ04u6yF3B+AGk+k0X71a8qlODOf3D86yOoZszOPlf+v91ivO5haWNFAy/J0cnVJzztVP9cVh0zobWWhQUsk45uK6klw+xAM9iNiEmdsYWJOKZT/EBI6Cy0Rj9+3Hc6HSYPWdu7CybN8KkNsobQZNRUM/iYB4SOVnfhxd5LKy6mPfmX5/7ZL202FNbPF0SASO+ZOoxlBIBjT7s1DKWlcHMi8WEgyBq0uhtOZR4zJ4q3CA+HNMtov9MOeWCS6GeL+j3JOF7TcMMDHOSqTHwrAFoQspD3eSeDat8Ps/hJxntK7uwJ3Gt7H2wEved6WPwkOr1qiF3etvCgALkP9n1IJum8nH8+YXcw/VitWPX1zrOC5PFYi7PNgH55sTs++Z9crzR690GFdMTT9Tu6oi+pOiNKLnZnyvBHHyzeuIzxg/kzyF/SkDUzQjB6+u9b1S+73GMy9VTzsacQSLvrzQnvfXpx9RY6DXEtjBhlqIVIrBSDea+hyaB87Fh/iRtenKwZw1qXQYlOJ248UQCXh3AvWYOXdOw7tSf8NTuMAt87O97/IHzmfTeY3ADui6rl+Jg7fLVIRiB68E1o+iMbuOQRxgJNLVYoN2hnfp26uNGENvPAZm+p+3JmMNaLSWyUdsMSgkRsJRav8ESb0lXdBPpVq0Fb0y5oSqgkb5Y3McWEKHMzh6csmfqnRdS2ZnnC2i73kIG5N/zm5Ao9qTUFb8nGWo9RkH48iZ8s2MeOPAoJJVKGYbDTYFqhFegRScMxTDkShHTjBHqGIYE1gCPemHq9TTvA/HXhIklVZ/5ehB1jvlaYlvJkVJP+4xbCyg0Ao06kl2863N5ZTgo9mhFqGRlKxKhHJAkVrZvx7wSGyolUmg7EBZVKPBaVsBauun324cmsRPWUrQQEJuawICGBTB7TkXVf0EbQhic93DqnIZ8Nhvbse91djKHsNDEw+UwKmVhW9k459/EMVp63+XPanqR9yAWwURrbYplUZUi6DcyiqVVNbi0wKZbffD2SIryBvar0EmaSrPYVh4HNFiCiIAR2lAIV+Us59tN0WPT6hLu2r6tForfRklNfDyfyGbEv/LwdxmC/iylWr70bhcvqqAJYjf4k42Zjr76qrqkqWi3EkFAph4xsFK3GgbsimPYs3tz1B1JliAB1+8xTYdQAr8N15+6ODXCLVbX1BuWgUqnewyNcyWJU5ipZluQoB9dSaiBVMqMelaDvZvf+IkF74aITZ95/yIJ3aAFvtlDd5K+mdXTqgnjdKf8Z4IUkHM7giP7wWFvOW1HRMgceycT5rqqYmdmb+9ic9qsG2lQ0WhJtVPdY4dN6b0fHYjs7pp+k1JTalWWJBEW4n8ZQxGdpLg8YLtQIhVVbvFtFL0mOpXO0FSJzpjiZOj8ExyEVHIpQWLFuMPywRCNVPWlHeuNIx0AbFb0VCidG1X/rzfVWZpSvWkqQHDTFKlpC4LhIcONmWyqO2YRO4zPHELtq556i151z0mGT3MqS1knxzVWs2UcXaOXgqCr2rOU0lgnvHXKerhesa1YyQsB1Zz/RyyzIkdqTEsRRz0P8+8iPE3FQqsNVkFobsAX8uS97qBVlF2nQajS7jFneyrun3m3SJZaVNRDzl/mb+EeRBW644A4aPfEYTlYluDSoKtrcxjN3zI59ryEixMnUks33suJxx2XLsbhonxCpm7HWWqkP9vmcorCKvrGTGGbMCTwSRSMq2Ukq5vIiOlFZFuHJKn8DTsipix5nXNPUkhMNQhwRRqcqHB74XfG55yx+4I4UMre2zKprZTMN9o5AsXpRFnJ/zwt+U+hfk4F/C7PmiSp30qSWHwIPkRZAu55qRKO3LGeJtgleXj4uCixO4BJ/Vi/T8znagrNJ8CdFB8SjfZhZ5Uby7VQnSA3a9w7UDf12CNC8vW0Hw98UjDvalWIajgw2wJBP1sy3T07VdnDBVGYg+JJmSkBr3Cxrm0Eo+7lhhcoqpxRgV08PrGFkwEzJ8RtjSTdgOnxfjhvGRCp+wIthroBVhjVlD/C3jVyWBXfCrDXWIAPxPcle+8/ZuPk9v2c0Ce09dpXDuZ/u3hBGWMyW3Y9JsbFP+zV1tDEN0eHFJWAU47RulK0WZF7lXP6hceG59XSi1YEEnton9nH5yFBlWmxUuv3C4UURmFERzx0ErEd6IjBNkqQc4gim6SuMwLbJQLTVk4Ck8Q/sCLjQ51uLYgfH5AecCtz7ijCccA0pEMwv3TvC/JyQMpDlG7M2DZHjd4BPesRUU++HqL0LtB0rYXyHkoYHfV7wUzrW/veyF+2xH1Pdxot8rzY+E15lT8ZwDw9lSEN5AkxRlsOsoOwvjQtVizs5SWTQKUJG9pUSgcth9Zh8tKnHTsSnW0g3QCTNWev5J40uOAxlHAhEw9HYpbvJNGOY5S22qEpZdB3HpLpHzTt1qYoD09XKmGj97/UA7bnWbWBRU/wCGYOwVwtkhjRI5kDuK7cEUi039QGLB513ZAPaPeyns9zfsCUpdpEnB+VFJp3X7mqWuBF2JI9/HV14gKk/hk5g9yByL1bLv+dHFcM64N9FAmnpiE0yZPMuty87wl9GWciYsboOdItpu3s7CfATdQnKPzALQzTDhlquX5UFfuhxM5GkYWaK0H2nWxkzWFyxdMRWsu777FekYqEtYkxf4IpMzWL6ABk18duP99ItMG4hxLcO+L2uQmTUHZcc5+g98Mzw3orFqD6c7H/Rpqe80GPbdHgWvloAPou0GBBns567fBIlXBgBaRaD4Y1bywXGs8kkhTq950vyn0lmSNwTF46cClzd7yotyrOdRCBPTQecDTd+ga+s1P05d8yYGsFR30gs3zb6Nk+29O1/sEE1iWZmHI7MqHbQ9yCtlUij+lj72E6aHobqMIRqttYVqQrJ4s5NE+kK/Zj478qUEmN+1kBsZujLmL8acK8iZdtBfJ8HAdnRUOzlKiOzjqw5YqUGZcO4n2qjmsrBs6i3TAFZfNUFV3svtUL30qA32ER0EbsyZHVju7xLZf9IkWMWGPOg8cUskeCJACaosnpSTgwbsbCKKxgWZmdUaJoA4Ufuj3Dh3uyWLMei4oxNpktoJoYH25VEYbhIYJq1MSABxFpphj3Lwp/9NJKobUBB61t9+YM8gaywJRHTCHXvRp0DJQB5zjtl6S36iyI7TONYkZJaZYw1mOR8x4aMK3AKdD5/poL/n4LHHzIV+ODh2EXygmwJOB15z+fLC55Y+OKC/gGSMI24pMQWdrePY4ByXR5VoWJuqJWhw9lriEvXzmcrxi8024kgUNUuATHGy1iBTQ+5VNRrzjvWcEC/OAaQRKKI0+a/XPCfkYsIM22NTN69vjgtBi1yF9Mx8r2MMuEmU3maWY2PbLZ5LAM0zUGWrPdIsfsFjnbv9u8ERJMcNAM5PEo8/1X1exwSKR48RrRV6zbCMw+HQ5MaRjsiBJXIOHAeNkbNnnfojyz1geYuq69xapXE1t9bXWO49TgPL9vb5SrSnrEPf1HKCD8+yYjjGa/fmbcfCIZ3+DZIVPm+S8k8P1FxklAj8YXmwmqrlL0TJqqi+k7Kztc6tWRoz3agVGj+a3mojfuVLI2S/D58rABvjrnVIEMc/mRPXK8gze6C6buyQIqocmri4/Lxo4h0TsnF9XNEUaEoRjqOk0fxqVesEqia9Pp8qa8t6DFkAY2Yt1XPmlZ6I3r2vvpQhI2QYQpeYxKcEfZ1OvS15O3uzgbukb/qZjF5g/ZC3rhwAIlM0wNDioSCe23+JxavBLIo8x3IKVWU3Ae3RLXo2kd1XPqictgIRmy+4iuQ1TgOpGzPrrukhkBKt0TVOiW8MQpZitCS6NRu2CXHrtDlo+BtFwSmYxnMsRNZ1uZkIr4NzqGssDya9PtbjPvTl6f6sBAGzZYe5WSatk9JIx4DlpKHUbHFAhiBKA8e9JybrM75tPlG6H2zQSjtSwEfKV/KpGjNetmjreOKsf83lFXXS79H2jgVlBYRL2KZhxSNuPpaHqz/tc40/QsTHokXRQyROa0i3kpR+tbjoZB7AO+DY7FqBZCo/Bey2cPw2a/g4yLirBrABPG+O3TclQe/+9LvZe0n5LkIPKEbOf6Mo1ALsio0z0VNIevlCLXomjwFOdD7qeo52iY5R80g3FXkSgA6pFPoPFTYlNyAVptXTPAT2C9pRAj57+hvyXrnOVM3V+u1ODfl8vcHF+alllGJPw9Q6obHGj6nv7bWiUrPSMMNudoM7Dv+pgrliqDffWfwJu1Iur+Qd/OOq+qrSEhg+vLX2LLskZEXvOnEHdKuAeCnJVsfsVljnek3MvxsSwpDxTUk5bXlJpeK/2YJg4IsogSEzccUxIOlaTYVWifeKZlxkhGwbLKD6L1qhCVR6/8y59gp6/yeRxtPiorF7re1TK6PjKfV5z8Y2dxibfdkQRc1o3rzMI8/JLE/GAIgpVta5WAzDkZjOyhcooJ+F4c0a943HB5ak7FFDL1UN0iNak/yrB7G/caQBwU3hE8B8ISf3aZ1usjXhspRcb9fANwTf0Pjt7whvDLPh+78Q5lO5wQ8g/e2s/741JUWlnJ43Wvet/a+UPVKLvlYPmxsh53uvqKFggoYOatopy2n3w/E+0Y5Wz7CfOHiPlrazFaMj0B4vlrcKdPS/qBVe9iKJSEH2NkkmcGKjNUcahDFb/nMp1XoIJQTB0z03IXKlBj6FqRaKpnGRhoEaM9mNIKKYKc922K/XyilepfLbqciFrBM8Rx0wTXDZmGLSqePBoIdBC/QztKXcH6/RDXWvTyhUAgpUkcByCRih/OBVo5/X4YPod9QYJIDGW1g7jJzZ1jA5WxzGXtPElvsxPGz+LQF5cgYJST9Rde2n55vyyrjodZqVZ+leXHJqjL2J2j6NzV4J7ZYglzF1F3OSqEal7T9NgLcBsyVs/89Or1RGD+nhmdivT+/T9SbKTnp2d7qH66vkJ3nIhoXUibIl8817RtBrsz6oWBrRGh7K9Yp4R5UjvgMNIo5z5BMXC4EN9yTf830hD4RCpSBezfcvvpfLP3bVJV8gdfZDApzexu3say5gtl2bbkCURpsuUGSjSAMHpb6nO6T/v/2CJkIFDdZP2YNXhIzYGMob2iNgg0+3pd2Tbm0370yUK7a1RAemuuf7m4ZImxMPkjiotAf/ElW58aAw19HUwF/VBqMUEcCC/IF/8M0J8h+IsDiSByiv/6E8ypztsjWr1ew4GpvU6iaDGCCC1OBl0h63HDztUw0ZMC+9JUpDCRIuKD3QFwsdwa0HKKj10yer+IAJAHVj58uG0NeW/TZJ6FoSFyH1cHTGbtRokJ15GwdT3Ya/GdnOKJgf6IMSRL1dnN+1MUvZ3UgAnmhKdTXzsh3tUbE2HsiqYRXwiXVqsZ2aUBHTzK8GxLXEcBnGDNXJ46PiPFciKWdNhgcm1p1BponddDMEZRCUe3FQheQK3dGs1NtPR0K0awUXoHx2ojOoiSzdur0zn3hNRntxex8IJf1Dt8HZNpQAH/p8bKYnk9Ae1E2Aw2jpP8kBf6kUy94GJalIz37BjNm0ahlRz81OlELwFjAFeG5w/PPSg8KYMsjVoI3Cn+agp0Ls8Yz5WMkT6yZ2bcwjCc8rUevGMtFh7frM9gQnmmmS8sgyuGkDMv2OlKu2PStheoDWn6FBhwxT5yIaYT/93gTh2O9XCZKzS1PoCqePZj5V0YYCJd4bji0IkDlYO3BPs+ngoTpvSugNk4U/n5ZkgJDsrJTBr8uKcgJgusufRgbzmqtdzD/FBW+2thlv1L24WO6+RwQ1QVuT2cN0Fr/+SueqcyqQgYaYk7pM3uQ6Gs6CytPWzOMdVO2bEyi+NvhDmy9wsWeDFRDcndZWbag1LrFXZ7qLoK5I+PZ6Cdu5liM+9TKIyxLCZhAADGCy0OuAT8p5RWZLgoT+wbEyLn16O+4rEb4yGFwnT+Vu4Dk3xmGcqAv9Gx/40BzR3iTTExuLJClSYOdwGLu6BvN+vf1Uqqw2KRDw7sf71+7/q7YtImlDUPIZnwVQUiIo+LbBfPk5Sd83UZj5WZIoMET2fodAvbPeJJk8/Uo/W2oo4KdyHT2Lb5iPlyglJRZYAG0MUieqqPo7j0y6+2wra+odFawetqoMDl6702nBmB9bJMRvvOLK6P+Nnuz+b9+jPmUphbwgjQqZYKFEPtgpxmo2thQkvnbGTC8qr23hQL7sB86pnciIKxsTAPVe93GQlo6xNWigEUoy70soDDZhgb/t3B5WgQN7R0FytzY/X3uEEL6ELCRtITuQzCa38/oGYTDO7duTmmTIw4zAP/fNuUL4NK9Td0sKh4SazjRurHS6S1stWyDWdtB/FG8lAO4QKMR5xJIHRiJjJVBHvZgTp5EsCSkhuuITrlvQ0aa03aIQOlGog==\n'; var AES = { encrypt: function(text, key, iv) { var secretkey = (CryptoJS.MD5(key).toString()).substr(16, 16); var secretiv = (CryptoJS.MD5(iv).toString()).substr(0, 16); secretkey = CryptoJS.enc.Utf8.parse(secretkey); secretiv = CryptoJS.enc.Utf8.parse(secretiv); var result = CryptoJS.AES.encrypt(text, secretkey, { iv: secretiv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return result.toString() }, decrypt: function(text, key, iv) { var secretkey = (CryptoJS.MD5(key).toString()).substr(16, 16); var secretiv = (CryptoJS.MD5(iv).toString()).substr(0, 16); secretkey = CryptoJS.enc.Utf8.parse(secretkey); secretiv = CryptoJS.enc.Utf8.parse(secretiv); var result = CryptoJS.AES.decrypt(text, secretkey, { iv: secretiv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return result.toString(CryptoJS.enc.Utf8) } }; var askCju6cmMLz = "apAteRdhDd5i5n74"; var asieXomd2dAl = "bN8izWwuwRjjA0pH"; var CryptoJS=require('./crypto-js-4.0.0/crypto-js'); var DES = { encrypt: function (text, key, iv) { var secretkey = (CryptoJS.MD5(key).toString()).substr(0, 16); var secretiv = (CryptoJS.MD5(iv).toString()).substr(24, 8); secretkey = CryptoJS.enc.Utf8.parse(secretkey); secretiv = CryptoJS.enc.Utf8.parse(secretiv); var result = CryptoJS.DES.encrypt(text, secretkey, { iv: secretiv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return result.toString() }, decrypt: function (text, key, iv) { var secretkey = (CryptoJS.MD5(key).toString()).substr(0, 16); var secretiv = (CryptoJS.MD5(iv).toString()).substr(24, 8); secretkey = CryptoJS.enc.Utf8.parse(secretkey); secretiv = CryptoJS.enc.Utf8.parse(secretiv); var result = CryptoJS.DES.decrypt(text, secretkey, { iv: secretiv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return result.toString(CryptoJS.enc.Utf8) } }; const dskq6mV934LL = "hY8XWvmotJ7yhyBV"; const dsi68kk2Mig9 = "xCYtuanHBbJFWlKg"; console.log(dX506x9jVK3vuMMhoz6ZXx(data));
仅供学习交流
不懂得欢迎留言讨论
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。