/*
618动物联萌
author:star
解密参考自：https://github.com/yangtingxiao/QuantumultX/blob/master/scripts/jd/jd_zoo.js
活动入口：京东APP-》搜索 玩一玩-》瓜分20亿
邀请好友助力：内部账号自行互助(排名靠前账号得到的机会多)
PK互助：内部账号自行互助(排名靠前账号得到的机会多),多余的助力次数会默认助力作者内置助力码
小程序任务：已完成
地图任务：已添加，下午2点到5点执行,抽奖已添加(基本都是优惠券)
金融APP任务：已完成
活动时间：2021-05-24至2021-06-20
脚本更新时间：2021-05-31 23:00
脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js
===================quantumultx================
[task_local]
#618动物联萌
13 * * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_zoo.js, tag=618动物联萌, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true

=====================Loon================
[Script]
cron "13 * * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_zoo.js, tag=618动物联萌

====================Surge================
618动物联萌 = type=cron,cronexp="13 * * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_zoo.js

============小火箭=========
618动物联萌 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_zoo.js, cronexpr="13 * * * *", timeout=3600, enable=true
 */

! function(t, r) {
  "object" == typeof exports ? module.exports = exports = r() : "function" == typeof define && define.amd ? define([], r) : t.CryptoJS = r()
}(this, function() {
  var t = t || function(t, r) {
      var e = Object.create || function() {
              function t() {}
              return function(r) {
                  var e;
                  return t.prototype = r, e = new t, t.prototype = null, e
              }
          }(),
          i = {},
          n = i.lib = {},
          o = n.Base = function() {
              return {
                  extend: function(t) {
                      var r = e(this);
                      return t && r.mixIn(t), r.hasOwnProperty("init") && this.init !== r.init || (r.init = function() {
                          r.$super.init.apply(this, arguments)
                      }), r.init.prototype = r, r.$super = this, r
                  },
                  create: function() {
                      var t = this.extend();
                      return t.init.apply(t, arguments), t
                  },
                  init: function() {},
                  mixIn: function(t) {
                      for (var r in t) t.hasOwnProperty(r) && (this[r] = t[r]);
                      t.hasOwnProperty("toString") && (this.toString = t.toString)
                  },
                  clone: function() {
                      return this.init.prototype.extend(this)
                  }
              }
          }(),
          s = n.WordArray = o.extend({
              init: function(t, e) {
                  t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 4 * t.length
              },
              toString: function(t) {
                  return (t || c).stringify(this)
              },
              concat: function(t) {
                  var r = this.words,
                      e = t.words,
                      i = this.sigBytes,
                      n = t.sigBytes;
                  if (this.clamp(), i % 4)
                      for (var o = 0; o < n; o++) {
                          var s = e[o >>> 2] >>> 24 - o % 4 * 8 & 255;
                          r[i + o >>> 2] |= s << 24 - (i + o) % 4 * 8
                      } else
                          for (var o = 0; o < n; o += 4) r[i + o >>> 2] = e[o >>> 2];
                  return this.sigBytes += n, this
              },
              clamp: function() {
                  var r = this.words,
                      e = this.sigBytes;
                  r[e >>> 2] &= 4294967295 << 32 - e % 4 * 8, r.length = t.ceil(e / 4)
              },
              clone: function() {
                  var t = o.clone.call(this);
                  return t.words = this.words.slice(0), t
              },
              random: function(r) {
                  for (var e, i = [], n = function(r) {
                      var r = r,
                          e = 987654321,
                          i = 4294967295;
                      return function() {
                          e = 36969 * (65535 & e) + (e >> 16) & i, r = 18e3 * (65535 & r) + (r >> 16) & i;
                          var n = (e << 16) + r & i;
                          return n /= 4294967296, n += .5, n * (t.random() > .5 ? 1 : -1)
                      }
                  }, o = 0; o < r; o += 4) {
                      var a = n(4294967296 * (e || t.random()));
                      e = 987654071 * a(), i.push(4294967296 * a() | 0)
                  }
                  return new s.init(i, r)
              }
          }),
          a = i.enc = {},
          c = a.Hex = {
              stringify: function(t) {
                  for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) {
                      var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255;
                      i.push((o >>> 4).toString(16)), i.push((15 & o).toString(16))
                  }
                  return i.join("")
              },
              parse: function(t) {
                  for (var r = t.length, e = [], i = 0; i < r; i += 2) e[i >>> 3] |= parseInt(t.substr(i, 2), 16) << 24 - i % 8 * 4;
                  return new s.init(e, r / 2)
              }
          },
          h = a.Latin1 = {
              stringify: function(t) {
                  for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) {
                      var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255;
                      i.push(String.fromCharCode(o))
                  }
                  return i.join("")
              },
              parse: function(t) {
                  for (var r = t.length, e = [], i = 0; i < r; i++) e[i >>> 2] |= (255 & t.charCodeAt(i)) << 24 - i % 4 * 8;
                  return new s.init(e, r)
              }
          },
          l = a.Utf8 = {
              stringify: function(t) {
                  try {
                      return decodeURIComponent(escape(h.stringify(t)))
                  } catch (t) {
                      throw new Error("Malformed UTF-8 data")
                  }
              },
              parse: function(t) {
                  return h.parse(unescape(encodeURIComponent(t)))
              }
          },
          f = n.BufferedBlockAlgorithm = o.extend({
              reset: function() {
                  this._data = new s.init, this._nDataBytes = 0
              },
              _append: function(t) {
                  "string" == typeof t && (t = l.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes
              },
              _process: function(r) {
                  var e = this._data,
                      i = e.words,
                      n = e.sigBytes,
                      o = this.blockSize,
                      a = 4 * o,
                      c = n / a;
                  c = r ? t.ceil(c) : t.max((0 | c) - this._minBufferSize, 0);
                  var h = c * o,
                      l = t.min(4 * h, n);
                  if (h) {
                      for (var f = 0; f < h; f += o) this._doProcessBlock(i, f);
                      var u = i.splice(0, h);
                      e.sigBytes -= l
                  }
                  return new s.init(u, l)
              },
              clone: function() {
                  var t = o.clone.call(this);
                  return t._data = this._data.clone(), t
              },
              _minBufferSize: 0
          }),
          u = (n.Hasher = f.extend({
              cfg: o.extend(),
              init: function(t) {
                  this.cfg = this.cfg.extend(t), this.reset()
              },
              reset: function() {
                  f.reset.call(this), this._doReset()
              },
              update: function(t) {
                  return this._append(t), this._process(), this
              },
              finalize: function(t) {
                  t && this._append(t);
                  var r = this._doFinalize();
                  return r
              },
              blockSize: 16,
              _createHelper: function(t) {
                  return function(r, e) {
                      return new t.init(e).finalize(r)
                  }
              },
              _createHmacHelper: function(t) {
                  return function(r, e) {
                      return new u.HMAC.init(t, e).finalize(r)
                  }
              }
          }), i.algo = {});
      return i
  }(Math);
  return function() {
          function r(t, r, e) {
              for (var i = [], o = 0, s = 0; s < r; s++)
                  if (s % 4) {
                      var a = e[t.charCodeAt(s - 1)] << s % 4 * 2,
                          c = e[t.charCodeAt(s)] >>> 6 - s % 4 * 2;
                      i[o >>> 2] |= (a | c) << 24 - o % 4 * 8, o++
                  }
              return n.create(i, o)
          }
          var e = t,
              i = e.lib,
              n = i.WordArray,
              o = e.enc;
          o.Base64 = {
              stringify: function(t) {
                  var r = t.words,
                      e = t.sigBytes,
                      i = this._map;
                  t.clamp();
                  for (var n = [], o = 0; o < e; o += 3)
                      for (var s = r[o >>> 2] >>> 24 - o % 4 * 8 & 255, a = r[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255, c = r[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, h = s << 16 | a << 8 | c, l = 0; l < 4 && o + .75 * l < e; l++) n.push(i.charAt(h >>> 6 * (3 - l) & 63));
                  var f = i.charAt(64);
                  if (f)
                      for (; n.length % 4;) n.push(f);
                  return n.join("")
              },
              parse: function(t) {
                  var e = t.length,
                      i = this._map,
                      n = this._reverseMap;
                  if (!n) {
                      n = this._reverseMap = [];
                      for (var o = 0; o < i.length; o++) n[i.charCodeAt(o)] = o
                  }
                  var s = i.charAt(64);
                  if (s) {
                      var a = t.indexOf(s);
                      a !== -1 && (e = a)
                  }
                  return r(t, e, n)
              },
              _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
          }
      }(),
      function(r) {
          function e(t, r, e, i, n, o, s) {
              var a = t + (r & e | ~r & i) + n + s;
              return (a << o | a >>> 32 - o) + r
          }

          function i(t, r, e, i, n, o, s) {
              var a = t + (r & i | e & ~i) + n + s;
              return (a << o | a >>> 32 - o) + r
          }

          function n(t, r, e, i, n, o, s) {
              var a = t + (r ^ e ^ i) + n + s;
              return (a << o | a >>> 32 - o) + r
          }

          function o(t, r, e, i, n, o, s) {
              var a = t + (e ^ (r | ~i)) + n + s;
              return (a << o | a >>> 32 - o) + r
          }
          var s = t,
              a = s.lib,
              c = a.WordArray,
              h = a.Hasher,
              l = s.algo,
              f = [];
          ! function() {
              for (var t = 0; t < 64; t++) f[t] = 4294967296 * r.abs(r.sin(t + 1)) | 0
          }();
          var u = l.MD5 = h.extend({
              _doReset: function() {
                  this._hash = new c.init([1732584193, 4023233417, 2562383102, 271733878])
              },
              _doProcessBlock: function(t, r) {
                  for (var s = 0; s < 16; s++) {
                      var a = r + s,
                          c = t[a];
                      t[a] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8)
                  }
                  var h = this._hash.words,
                      l = t[r + 0],
                      u = t[r + 1],
                      d = t[r + 2],
                      v = t[r + 3],
                      p = t[r + 4],
                      _ = t[r + 5],
                      y = t[r + 6],
                      g = t[r + 7],
                      B = t[r + 8],
                      w = t[r + 9],
                      k = t[r + 10],
                      S = t[r + 11],
                      m = t[r + 12],
                      x = t[r + 13],
                      b = t[r + 14],
                      H = t[r + 15],
                      z = h[0],
                      A = h[1],
                      C = h[2],
                      D = h[3];
                  z = e(z, A, C, D, l, 7, f[0]), D = e(D, z, A, C, u, 12, f[1]), C = e(C, D, z, A, d, 17, f[2]), A = e(A, C, D, z, v, 22, f[3]), z = e(z, A, C, D, p, 7, f[4]), D = e(D, z, A, C, _, 12, f[5]), C = e(C, D, z, A, y, 17, f[6]), A = e(A, C, D, z, g, 22, f[7]), z = e(z, A, C, D, B, 7, f[8]), D = e(D, z, A, C, w, 12, f[9]), C = e(C, D, z, A, k, 17, f[10]), A = e(A, C, D, z, S, 22, f[11]), z = e(z, A, C, D, m, 7, f[12]), D = e(D, z, A, C, x, 12, f[13]), C = e(C, D, z, A, b, 17, f[14]), A = e(A, C, D, z, H, 22, f[15]), z = i(z, A, C, D, u, 5, f[16]), D = i(D, z, A, C, y, 9, f[17]), C = i(C, D, z, A, S, 14, f[18]), A = i(A, C, D, z, l, 20, f[19]), z = i(z, A, C, D, _, 5, f[20]), D = i(D, z, A, C, k, 9, f[21]), C = i(C, D, z, A, H, 14, f[22]), A = i(A, C, D, z, p, 20, f[23]), z = i(z, A, C, D, w, 5, f[24]), D = i(D, z, A, C, b, 9, f[25]), C = i(C, D, z, A, v, 14, f[26]), A = i(A, C, D, z, B, 20, f[27]), z = i(z, A, C, D, x, 5, f[28]), D = i(D, z, A, C, d, 9, f[29]), C = i(C, D, z, A, g, 14, f[30]), A = i(A, C, D, z, m, 20, f[31]), z = n(z, A, C, D, _, 4, f[32]), D = n(D, z, A, C, B, 11, f[33]), C = n(C, D, z, A, S, 16, f[34]), A = n(A, C, D, z, b, 23, f[35]), z = n(z, A, C, D, u, 4, f[36]), D = n(D, z, A, C, p, 11, f[37]), C = n(C, D, z, A, g, 16, f[38]), A = n(A, C, D, z, k, 23, f[39]), z = n(z, A, C, D, x, 4, f[40]), D = n(D, z, A, C, l, 11, f[41]), C = n(C, D, z, A, v, 16, f[42]), A = n(A, C, D, z, y, 23, f[43]), z = n(z, A, C, D, w, 4, f[44]), D = n(D, z, A, C, m, 11, f[45]), C = n(C, D, z, A, H, 16, f[46]), A = n(A, C, D, z, d, 23, f[47]), z = o(z, A, C, D, l, 6, f[48]), D = o(D, z, A, C, g, 10, f[49]), C = o(C, D, z, A, b, 15, f[50]), A = o(A, C, D, z, _, 21, f[51]), z = o(z, A, C, D, m, 6, f[52]), D = o(D, z, A, C, v, 10, f[53]), C = o(C, D, z, A, k, 15, f[54]), A = o(A, C, D, z, u, 21, f[55]), z = o(z, A, C, D, B, 6, f[56]), D = o(D, z, A, C, H, 10, f[57]), C = o(C, D, z, A, y, 15, f[58]), A = o(A, C, D, z, x, 21, f[59]), z = o(z, A, C, D, p, 6, f[60]), D = o(D, z, A, C, S, 10, f[61]), C = o(C, D, z, A, d, 15, f[62]), A = o(A, C, D, z, w, 21, f[63]), h[0] = h[0] + z | 0, h[1] = h[1] + A | 0, h[2] = h[2] + C | 0, h[3] = h[3] + D | 0
              },
              _doFinalize: function() {
                  var t = this._data,
                      e = t.words,
                      i = 8 * this._nDataBytes,
                      n = 8 * t.sigBytes;
                  e[n >>> 5] |= 128 << 24 - n % 32;
                  var o = r.floor(i / 4294967296),
                      s = i;
                  e[(n + 64 >>> 9 << 4) + 15] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), e[(n + 64 >>> 9 << 4) + 14] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), t.sigBytes = 4 * (e.length + 1), this._process();
                  for (var a = this._hash, c = a.words, h = 0; h < 4; h++) {
                      var l = c[h];
                      c[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8)
                  }
                  return a
              },
              clone: function() {
                  var t = h.clone.call(this);
                  return t._hash = this._hash.clone(), t
              }
          });
          s.MD5 = h._createHelper(u), s.HmacMD5 = h._createHmacHelper(u)
      }(Math),
      function() {
          var r = t,
              e = r.lib,
              i = e.WordArray,
              n = e.Hasher,
              o = r.algo,
              s = [],
              a = o.SHA1 = n.extend({
                  _doReset: function() {
                      this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520])
                  },
                  _doProcessBlock: function(t, r) {
                      for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], a = e[3], c = e[4], h = 0; h < 80; h++) {
                          if (h < 16) s[h] = 0 | t[r + h];
                          else {
                              var l = s[h - 3] ^ s[h - 8] ^ s[h - 14] ^ s[h - 16];
                              s[h] = l << 1 | l >>> 31
                          }
                          var f = (i << 5 | i >>> 27) + c + s[h];
                          f += h < 20 ? (n & o | ~n & a) + 1518500249 : h < 40 ? (n ^ o ^ a) + 1859775393 : h < 60 ? (n & o | n & a | o & a) - 1894007588 : (n ^ o ^ a) - 899497514, c = a, a = o, o = n << 30 | n >>> 2, n = i, i = f
                      }
                      e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + a | 0, e[4] = e[4] + c | 0
                  },
                  _doFinalize: function() {
                      var t = this._data,
                          r = t.words,
                          e = 8 * this._nDataBytes,
                          i = 8 * t.sigBytes;
                      return r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = Math.floor(e / 4294967296), r[(i + 64 >>> 9 << 4) + 15] = e, t.sigBytes = 4 * r.length, this._process(), this._hash
                  },
                  clone: function() {
                      var t = n.clone.call(this);
                      return t._hash = this._hash.clone(), t
                  }
              });
          r.SHA1 = n._createHelper(a), r.HmacSHA1 = n._createHmacHelper(a)
      }(),
      function(r) {
          var e = t,
              i = e.lib,
              n = i.WordArray,
              o = i.Hasher,
              s = e.algo,
              a = [],
              c = [];
          ! function() {
              function t(t) {
                  for (var e = r.sqrt(t), i = 2; i <= e; i++)
                      if (!(t % i)) return !1;
                  return !0
              }

              function e(t) {
                  return 4294967296 * (t - (0 | t)) | 0
              }
              for (var i = 2, n = 0; n < 64;) t(i) && (n < 8 && (a[n] = e(r.pow(i, .5))), c[n] = e(r.pow(i, 1 / 3)), n++), i++
          }();
          var h = [],
              l = s.SHA256 = o.extend({
                  _doReset: function() {
                      this._hash = new n.init(a.slice(0))
                  },
                  _doProcessBlock: function(t, r) {
                      for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], l = e[5], f = e[6], u = e[7], d = 0; d < 64; d++) {
                          if (d < 16) h[d] = 0 | t[r + d];
                          else {
                              var v = h[d - 15],
                                  p = (v << 25 | v >>> 7) ^ (v << 14 | v >>> 18) ^ v >>> 3,
                                  _ = h[d - 2],
                                  y = (_ << 15 | _ >>> 17) ^ (_ << 13 | _ >>> 19) ^ _ >>> 10;
                              h[d] = p + h[d - 7] + y + h[d - 16]
                          }
                          var g = a & l ^ ~a & f,
                              B = i & n ^ i & o ^ n & o,
                              w = (i << 30 | i >>> 2) ^ (i << 19 | i >>> 13) ^ (i << 10 | i >>> 22),
                              k = (a << 26 | a >>> 6) ^ (a << 21 | a >>> 11) ^ (a << 7 | a >>> 25),
                              S = u + k + g + c[d] + h[d],
                              m = w + B;
                          u = f, f = l, l = a, a = s + S | 0, s = o, o = n, n = i, i = S + m | 0
                      }
                      e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + s | 0, e[4] = e[4] + a | 0, e[5] = e[5] + l | 0, e[6] = e[6] + f | 0, e[7] = e[7] + u | 0
                  },
                  _doFinalize: function() {
                      var t = this._data,
                          e = t.words,
                          i = 8 * this._nDataBytes,
                          n = 8 * t.sigBytes;
                      return e[n >>> 5] |= 128 << 24 - n % 32, e[(n + 64 >>> 9 << 4) + 14] = r.floor(i / 4294967296), e[(n + 64 >>> 9 << 4) + 15] = i, t.sigBytes = 4 * e.length, this._process(), this._hash
                  },
                  clone: function() {
                      var t = o.clone.call(this);
                      return t._hash = this._hash.clone(), t
                  }
              });
          e.SHA256 = o._createHelper(l), e.HmacSHA256 = o._createHmacHelper(l)
      }(Math),
      function() {
          function r(t) {
              return t << 8 & 4278255360 | t >>> 8 & 16711935
          }
          var e = t,
              i = e.lib,
              n = i.WordArray,
              o = e.enc;
          o.Utf16 = o.Utf16BE = {
              stringify: function(t) {
                  for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n += 2) {
                      var o = r[n >>> 2] >>> 16 - n % 4 * 8 & 65535;
                      i.push(String.fromCharCode(o))
                  }
                  return i.join("")
              },
              parse: function(t) {
                  for (var r = t.length, e = [], i = 0; i < r; i++) e[i >>> 1] |= t.charCodeAt(i) << 16 - i % 2 * 16;
                  return n.create(e, 2 * r)
              }
          };
          o.Utf16LE = {
              stringify: function(t) {
                  for (var e = t.words, i = t.sigBytes, n = [], o = 0; o < i; o += 2) {
                      var s = r(e[o >>> 2] >>> 16 - o % 4 * 8 & 65535);
                      n.push(String.fromCharCode(s))
                  }
                  return n.join("")
              },
              parse: function(t) {
                  for (var e = t.length, i = [], o = 0; o < e; o++) i[o >>> 1] |= r(t.charCodeAt(o) << 16 - o % 2 * 16);
                  return n.create(i, 2 * e)
              }
          }
      }(),
      function() {
          if ("function" == typeof ArrayBuffer) {
              var r = t,
                  e = r.lib,
                  i = e.WordArray,
                  n = i.init,
                  o = i.init = function(t) {
                      if (t instanceof ArrayBuffer && (t = new Uint8Array(t)), (t instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer, t.byteOffset, t.byteLength)), t instanceof Uint8Array) {
                          for (var r = t.byteLength, e = [], i = 0; i < r; i++) e[i >>> 2] |= t[i] << 24 - i % 4 * 8;
                          n.call(this, e, r)
                      } else n.apply(this, arguments)
                  };
              o.prototype = i
          }
      }(),
      function(r) {
          function e(t, r, e) {
              return t ^ r ^ e
          }

          function i(t, r, e) {
              return t & r | ~t & e
          }

          function n(t, r, e) {
              return (t | ~r) ^ e
          }

          function o(t, r, e) {
              return t & e | r & ~e
          }

          function s(t, r, e) {
              return t ^ (r | ~e)
          }

          function a(t, r) {
              return t << r | t >>> 32 - r
          }
          var c = t,
              h = c.lib,
              l = h.WordArray,
              f = h.Hasher,
              u = c.algo,
              d = l.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]),
              v = l.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]),
              p = l.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]),
              _ = l.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]),
              y = l.create([0, 1518500249, 1859775393, 2400959708, 2840853838]),
              g = l.create([1352829926, 1548603684, 1836072691, 2053994217, 0]),
              B = u.RIPEMD160 = f.extend({
                  _doReset: function() {
                      this._hash = l.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520])
                  },
                  _doProcessBlock: function(t, r) {
                      for (var c = 0; c < 16; c++) {
                          var h = r + c,
                              l = t[h];
                          t[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8)
                      }
                      var f, u, B, w, k, S, m, x, b, H, z = this._hash.words,
                          A = y.words,
                          C = g.words,
                          D = d.words,
                          R = v.words,
                          E = p.words,
                          M = _.words;
                      S = f = z[0], m = u = z[1], x = B = z[2], b = w = z[3], H = k = z[4];
                      for (var F, c = 0; c < 80; c += 1) F = f + t[r + D[c]] | 0, F += c < 16 ? e(u, B, w) + A[0] : c < 32 ? i(u, B, w) + A[1] : c < 48 ? n(u, B, w) + A[2] : c < 64 ? o(u, B, w) + A[3] : s(u, B, w) + A[4], F |= 0, F = a(F, E[c]), F = F + k | 0, f = k, k = w, w = a(B, 10), B = u, u = F, F = S + t[r + R[c]] | 0, F += c < 16 ? s(m, x, b) + C[0] : c < 32 ? o(m, x, b) + C[1] : c < 48 ? n(m, x, b) + C[2] : c < 64 ? i(m, x, b) + C[3] : e(m, x, b) + C[4], F |= 0, F = a(F, M[c]), F = F + H | 0, S = H, H = b, b = a(x, 10), x = m, m = F;
                      F = z[1] + B + b | 0, z[1] = z[2] + w + H | 0, z[2] = z[3] + k + S | 0, z[3] = z[4] + f + m | 0, z[4] = z[0] + u + x | 0, z[0] = F
                  },
                  _doFinalize: function() {
                      var t = this._data,
                          r = t.words,
                          e = 8 * this._nDataBytes,
                          i = 8 * t.sigBytes;
                      r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = 16711935 & (e << 8 | e >>> 24) | 4278255360 & (e << 24 | e >>> 8), t.sigBytes = 4 * (r.length + 1), this._process();
                      for (var n = this._hash, o = n.words, s = 0; s < 5; s++) {
                          var a = o[s];
                          o[s] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8)
                      }
                      return n
                  },
                  clone: function() {
                      var t = f.clone.call(this);
                      return t._hash = this._hash.clone(), t
                  }
              });
          c.RIPEMD160 = f._createHelper(B), c.HmacRIPEMD160 = f._createHmacHelper(B)
      }(Math),
      function() {
          var r = t,
              e = r.lib,
              i = e.Base,
              n = r.enc,
              o = n.Utf8,
              s = r.algo;
          s.HMAC = i.extend({
              init: function(t, r) {
                  t = this._hasher = new t.init, "string" == typeof r && (r = o.parse(r));
                  var e = t.blockSize,
                      i = 4 * e;
                  r.sigBytes > i && (r = t.finalize(r)), r.clamp();
                  for (var n = this._oKey = r.clone(), s = this._iKey = r.clone(), a = n.words, c = s.words, h = 0; h < e; h++) a[h] ^= 1549556828, c[h] ^= 909522486;
                  n.sigBytes = s.sigBytes = i, this.reset()
              },
              reset: function() {
                  var t = this._hasher;
                  t.reset(), t.update(this._iKey)
              },
              update: function(t) {
                  return this._hasher.update(t), this
              },
              finalize: function(t) {
                  var r = this._hasher,
                      e = r.finalize(t);
                  r.reset();
                  var i = r.finalize(this._oKey.clone().concat(e));
                  return i
              }
          })
      }(),
      function() {
          var r = t,
              e = r.lib,
              i = e.Base,
              n = e.WordArray,
              o = r.algo,
              s = o.SHA1,
              a = o.HMAC,
              c = o.PBKDF2 = i.extend({
                  cfg: i.extend({
                      keySize: 4,
                      hasher: s,
                      iterations: 1
                  }),
                  init: function(t) {
                      this.cfg = this.cfg.extend(t)
                  },
                  compute: function(t, r) {
                      for (var e = this.cfg, i = a.create(e.hasher, t), o = n.create(), s = n.create([1]), c = o.words, h = s.words, l = e.keySize, f = e.iterations; c.length < l;) {
                          var u = i.update(r).finalize(s);
                          i.reset();
                          for (var d = u.words, v = d.length, p = u, _ = 1; _ < f; _++) {
                              p = i.finalize(p), i.reset();
                              for (var y = p.words, g = 0; g < v; g++) d[g] ^= y[g]
                          }
                          o.concat(u), h[0]++
                      }
                      return o.sigBytes = 4 * l, o
                  }
              });
          r.PBKDF2 = function(t, r, e) {
              return c.create(e).compute(t, r)
          }
      }(),
      function() {
          var r = t,
              e = r.lib,
              i = e.Base,
              n = e.WordArray,
              o = r.algo,
              s = o.MD5,
              a = o.EvpKDF = i.extend({
                  cfg: i.extend({
                      keySize: 4,
                      hasher: s,
                      iterations: 1
                  }),
                  init: function(t) {
                      this.cfg = this.cfg.extend(t)
                  },
                  compute: function(t, r) {
                      for (var e = this.cfg, i = e.hasher.create(), o = n.create(), s = o.words, a = e.keySize, c = e.iterations; s.length < a;) {
                          h && i.update(h);
                          var h = i.update(t).finalize(r);
                          i.reset();
                          for (var l = 1; l < c; l++) h = i.finalize(h), i.reset();
                          o.concat(h)
                      }
                      return o.sigBytes = 4 * a, o
                  }
              });
          r.EvpKDF = function(t, r, e) {
              return a.create(e).compute(t, r)
          }
      }(),
      function() {
          var r = t,
              e = r.lib,
              i = e.WordArray,
              n = r.algo,
              o = n.SHA256,
              s = n.SHA224 = o.extend({
                  _doReset: function() {
                      this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428])
                  },
                  _doFinalize: function() {
                      var t = o._doFinalize.call(this);
                      return t.sigBytes -= 4, t
                  }
              });
          r.SHA224 = o._createHelper(s), r.HmacSHA224 = o._createHmacHelper(s)
      }(),
      function(r) {
          var e = t,
              i = e.lib,
              n = i.Base,
              o = i.WordArray,
              s = e.x64 = {};
          s.Word = n.extend({
              init: function(t, r) {
                  this.high = t, this.low = r
              }
          }), s.WordArray = n.extend({
              init: function(t, e) {
                  t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 8 * t.length
              },
              toX32: function() {
                  for (var t = this.words, r = t.length, e = [], i = 0; i < r; i++) {
                      var n = t[i];
                      e.push(n.high), e.push(n.low)
                  }
                  return o.create(e, this.sigBytes)
              },
              clone: function() {
                  for (var t = n.clone.call(this), r = t.words = this.words.slice(0), e = r.length, i = 0; i < e; i++) r[i] = r[i].clone();
                  return t
              }
          })
      }(),
      function(r) {
          var e = t,
              i = e.lib,
              n = i.WordArray,
              o = i.Hasher,
              s = e.x64,
              a = s.Word,
              c = e.algo,
              h = [],
              l = [],
              f = [];
          ! function() {
              for (var t = 1, r = 0, e = 0; e < 24; e++) {
                  h[t + 5 * r] = (e + 1) * (e + 2) / 2 % 64;
                  var i = r % 5,
                      n = (2 * t + 3 * r) % 5;
                  t = i, r = n
              }
              for (var t = 0; t < 5; t++)
                  for (var r = 0; r < 5; r++) l[t + 5 * r] = r + (2 * t + 3 * r) % 5 * 5;
              for (var o = 1, s = 0; s < 24; s++) {
                  for (var c = 0, u = 0, d = 0; d < 7; d++) {
                      if (1 & o) {
                          var v = (1 << d) - 1;
                          v < 32 ? u ^= 1 << v : c ^= 1 << v - 32
                      }
                      128 & o ? o = o << 1 ^ 113 : o <<= 1
                  }
                  f[s] = a.create(c, u)
              }
          }();
          var u = [];
          ! function() {
              for (var t = 0; t < 25; t++) u[t] = a.create()
          }();
          var d = c.SHA3 = o.extend({
              cfg: o.cfg.extend({
                  outputLength: 512
              }),
              _doReset: function() {
                  for (var t = this._state = [], r = 0; r < 25; r++) t[r] = new a.init;
                  this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32
              },
              _doProcessBlock: function(t, r) {
                  for (var e = this._state, i = this.blockSize / 2, n = 0; n < i; n++) {
                      var o = t[r + 2 * n],
                          s = t[r + 2 * n + 1];
                      o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), s = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8);
                      var a = e[n];
                      a.high ^= s, a.low ^= o
                  }
                  for (var c = 0; c < 24; c++) {
                      for (var d = 0; d < 5; d++) {
                          for (var v = 0, p = 0, _ = 0; _ < 5; _++) {
                              var a = e[d + 5 * _];
                              v ^= a.high, p ^= a.low
                          }
                          var y = u[d];
                          y.high = v, y.low = p
                      }
                      for (var d = 0; d < 5; d++)
                          for (var g = u[(d + 4) % 5], B = u[(d + 1) % 5], w = B.high, k = B.low, v = g.high ^ (w << 1 | k >>> 31), p = g.low ^ (k << 1 | w >>> 31), _ = 0; _ < 5; _++) {
                              var a = e[d + 5 * _];
                              a.high ^= v, a.low ^= p
                          }
                      for (var S = 1; S < 25; S++) {
                          var a = e[S],
                              m = a.high,
                              x = a.low,
                              b = h[S];
                          if (b < 32) var v = m << b | x >>> 32 - b,
                              p = x << b | m >>> 32 - b;
                          else var v = x << b - 32 | m >>> 64 - b,
                              p = m << b - 32 | x >>> 64 - b;
                          var H = u[l[S]];
                          H.high = v, H.low = p
                      }
                      var z = u[0],
                          A = e[0];
                      z.high = A.high, z.low = A.low;
                      for (var d = 0; d < 5; d++)
                          for (var _ = 0; _ < 5; _++) {
                              var S = d + 5 * _,
                                  a = e[S],
                                  C = u[S],
                                  D = u[(d + 1) % 5 + 5 * _],
                                  R = u[(d + 2) % 5 + 5 * _];
                              a.high = C.high ^ ~D.high & R.high, a.low = C.low ^ ~D.low & R.low
                          }
                      var a = e[0],
                          E = f[c];
                      a.high ^= E.high, a.low ^= E.low
                  }
              },
              _doFinalize: function() {
                  var t = this._data,
                      e = t.words,
                      i = (8 * this._nDataBytes, 8 * t.sigBytes),
                      o = 32 * this.blockSize;
                  e[i >>> 5] |= 1 << 24 - i % 32, e[(r.ceil((i + 1) / o) * o >>> 5) - 1] |= 128, t.sigBytes = 4 * e.length, this._process();
                  for (var s = this._state, a = this.cfg.outputLength / 8, c = a / 8, h = [], l = 0; l < c; l++) {
                      var f = s[l],
                          u = f.high,
                          d = f.low;
                      u = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), h.push(d), h.push(u)
                  }
                  return new n.init(h, a)
              },
              clone: function() {
                  for (var t = o.clone.call(this), r = t._state = this._state.slice(0), e = 0; e < 25; e++) r[e] = r[e].clone();
                  return t
              }
          });
          e.SHA3 = o._createHelper(d), e.HmacSHA3 = o._createHmacHelper(d)
      }(Math),
      function() {
          function r() {
              return s.create.apply(s, arguments)
          }
          var e = t,
              i = e.lib,
              n = i.Hasher,
              o = e.x64,
              s = o.Word,
              a = o.WordArray,
              c = e.algo,
              h = [r(1116352408, 3609767458), r(1899447441, 602891725), r(3049323471, 3964484399), r(3921009573, 2173295548), r(961987163, 4081628472), r(1508970993, 3053834265), r(2453635748, 2937671579), r(2870763221, 3664609560), r(3624381080, 2734883394), r(310598401, 1164996542), r(607225278, 1323610764), r(1426881987, 3590304994), r(1925078388, 4068182383), r(2162078206, 991336113), r(2614888103, 633803317), r(3248222580, 3479774868), r(3835390401, 2666613458), r(4022224774, 944711139), r(264347078, 2341262773), r(604807628, 2007800933), r(770255983, 1495990901), r(1249150122, 1856431235), r(1555081692, 3175218132), r(1996064986, 2198950837), r(2554220882, 3999719339), r(2821834349, 766784016), r(2952996808, 2566594879), r(3210313671, 3203337956), r(3336571891, 1034457026), r(3584528711, 2466948901), r(113926993, 3758326383), r(338241895, 168717936), r(666307205, 1188179964), r(773529912, 1546045734), r(1294757372, 1522805485), r(1396182291, 2643833823), r(1695183700, 2343527390), r(1986661051, 1014477480), r(2177026350, 1206759142), r(2456956037, 344077627), r(2730485921, 1290863460), r(2820302411, 3158454273), r(3259730800, 3505952657), r(3345764771, 106217008), r(3516065817, 3606008344), r(3600352804, 1432725776), r(4094571909, 1467031594), r(275423344, 851169720), r(430227734, 3100823752), r(506948616, 1363258195), r(659060556, 3750685593), r(883997877, 3785050280), r(958139571, 3318307427), r(1322822218, 3812723403), r(1537002063, 2003034995), r(1747873779, 3602036899), r(1955562222, 1575990012), r(2024104815, 1125592928), r(2227730452, 2716904306), r(2361852424, 442776044), r(2428436474, 593698344), r(2756734187, 3733110249), r(3204031479, 2999351573), r(3329325298, 3815920427), r(3391569614, 3928383900), r(3515267271, 566280711), r(3940187606, 3454069534), r(4118630271, 4000239992), r(116418474, 1914138554), r(174292421, 2731055270), r(289380356, 3203993006), r(460393269, 320620315), r(685471733, 587496836), r(852142971, 1086792851), r(1017036298, 365543100), r(1126000580, 2618297676), r(1288033470, 3409855158), r(1501505948, 4234509866), r(1607167915, 987167468), r(1816402316, 1246189591)],
              l = [];
          ! function() {
              for (var t = 0; t < 80; t++) l[t] = r()
          }();
          var f = c.SHA512 = n.extend({
              _doReset: function() {
                  this._hash = new a.init([new s.init(1779033703, 4089235720), new s.init(3144134277, 2227873595), new s.init(1013904242, 4271175723), new s.init(2773480762, 1595750129), new s.init(1359893119, 2917565137), new s.init(2600822924, 725511199), new s.init(528734635, 4215389547), new s.init(1541459225, 327033209)])
              },
              _doProcessBlock: function(t, r) {
                  for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], c = e[5], f = e[6], u = e[7], d = i.high, v = i.low, p = n.high, _ = n.low, y = o.high, g = o.low, B = s.high, w = s.low, k = a.high, S = a.low, m = c.high, x = c.low, b = f.high, H = f.low, z = u.high, A = u.low, C = d, D = v, R = p, E = _, M = y, F = g, P = B, W = w, O = k, U = S, I = m, K = x, X = b, L = H, j = z, N = A, T = 0; T < 80; T++) {
                      var Z = l[T];
                      if (T < 16) var q = Z.high = 0 | t[r + 2 * T],
                          G = Z.low = 0 | t[r + 2 * T + 1];
                      else {
                          var J = l[T - 15],
                              $ = J.high,
                              Q = J.low,
                              V = ($ >>> 1 | Q << 31) ^ ($ >>> 8 | Q << 24) ^ $ >>> 7,
                              Y = (Q >>> 1 | $ << 31) ^ (Q >>> 8 | $ << 24) ^ (Q >>> 7 | $ << 25),
                              tt = l[T - 2],
                              rt = tt.high,
                              et = tt.low,
                              it = (rt >>> 19 | et << 13) ^ (rt << 3 | et >>> 29) ^ rt >>> 6,
                              nt = (et >>> 19 | rt << 13) ^ (et << 3 | rt >>> 29) ^ (et >>> 6 | rt << 26),
                              ot = l[T - 7],
                              st = ot.high,
                              at = ot.low,
                              ct = l[T - 16],
                              ht = ct.high,
                              lt = ct.low,
                              G = Y + at,
                              q = V + st + (G >>> 0 < Y >>> 0 ? 1 : 0),
                              G = G + nt,
                              q = q + it + (G >>> 0 < nt >>> 0 ? 1 : 0),
                              G = G + lt,
                              q = q + ht + (G >>> 0 < lt >>> 0 ? 1 : 0);
                          Z.high = q, Z.low = G
                      }
                      var ft = O & I ^ ~O & X,
                          ut = U & K ^ ~U & L,
                          dt = C & R ^ C & M ^ R & M,
                          vt = D & E ^ D & F ^ E & F,
                          pt = (C >>> 28 | D << 4) ^ (C << 30 | D >>> 2) ^ (C << 25 | D >>> 7),
                          _t = (D >>> 28 | C << 4) ^ (D << 30 | C >>> 2) ^ (D << 25 | C >>> 7),
                          yt = (O >>> 14 | U << 18) ^ (O >>> 18 | U << 14) ^ (O << 23 | U >>> 9),
                          gt = (U >>> 14 | O << 18) ^ (U >>> 18 | O << 14) ^ (U << 23 | O >>> 9),
                          Bt = h[T],
                          wt = Bt.high,
                          kt = Bt.low,
                          St = N + gt,
                          mt = j + yt + (St >>> 0 < N >>> 0 ? 1 : 0),
                          St = St + ut,
                          mt = mt + ft + (St >>> 0 < ut >>> 0 ? 1 : 0),
                          St = St + kt,
                          mt = mt + wt + (St >>> 0 < kt >>> 0 ? 1 : 0),
                          St = St + G,
                          mt = mt + q + (St >>> 0 < G >>> 0 ? 1 : 0),
                          xt = _t + vt,
                          bt = pt + dt + (xt >>> 0 < _t >>> 0 ? 1 : 0);
                      j = X, N = L, X = I, L = K, I = O, K = U, U = W + St | 0, O = P + mt + (U >>> 0 < W >>> 0 ? 1 : 0) | 0, P = M, W = F, M = R, F = E, R = C, E = D, D = St + xt | 0, C = mt + bt + (D >>> 0 < St >>> 0 ? 1 : 0) | 0
                  }
                  v = i.low = v + D, i.high = d + C + (v >>> 0 < D >>> 0 ? 1 : 0), _ = n.low = _ + E, n.high = p + R + (_ >>> 0 < E >>> 0 ? 1 : 0), g = o.low = g + F, o.high = y + M + (g >>> 0 < F >>> 0 ? 1 : 0), w = s.low = w + W, s.high = B + P + (w >>> 0 < W >>> 0 ? 1 : 0), S = a.low = S + U, a.high = k + O + (S >>> 0 < U >>> 0 ? 1 : 0), x = c.low = x + K, c.high = m + I + (x >>> 0 < K >>> 0 ? 1 : 0), H = f.low = H + L, f.high = b + X + (H >>> 0 < L >>> 0 ? 1 : 0), A = u.low = A + N, u.high = z + j + (A >>> 0 < N >>> 0 ? 1 : 0)
              },
              _doFinalize: function() {
                  var t = this._data,
                      r = t.words,
                      e = 8 * this._nDataBytes,
                      i = 8 * t.sigBytes;
                  r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 128 >>> 10 << 5) + 30] = Math.floor(e / 4294967296), r[(i + 128 >>> 10 << 5) + 31] = e, t.sigBytes = 4 * r.length, this._process();
                  var n = this._hash.toX32();
                  return n
              },
              clone: function() {
                  var t = n.clone.call(this);
                  return t._hash = this._hash.clone(), t
              },
              blockSize: 32
          });
          e.SHA512 = n._createHelper(f), e.HmacSHA512 = n._createHmacHelper(f)
      }(),
      function() {
          var r = t,
              e = r.x64,
              i = e.Word,
              n = e.WordArray,
              o = r.algo,
              s = o.SHA512,
              a = o.SHA384 = s.extend({
                  _doReset: function() {
                      this._hash = new n.init([new i.init(3418070365, 3238371032), new i.init(1654270250, 914150663), new i.init(2438529370, 812702999), new i.init(355462360, 4144912697), new i.init(1731405415, 4290775857), new i.init(2394180231, 1750603025), new i.init(3675008525, 1694076839), new i.init(1203062813, 3204075428)])
                  },
                  _doFinalize: function() {
                      var t = s._doFinalize.call(this);
                      return t.sigBytes -= 16, t
                  }
              });
          r.SHA384 = s._createHelper(a), r.HmacSHA384 = s._createHmacHelper(a)
      }(), t.lib.Cipher || function(r) {
          var e = t,
              i = e.lib,
              n = i.Base,
              o = i.WordArray,
              s = i.BufferedBlockAlgorithm,
              a = e.enc,
              c = (a.Utf8, a.Base64),
              h = e.algo,
              l = h.EvpKDF,
              f = i.Cipher = s.extend({
                  cfg: n.extend(),
                  createEncryptor: function(t, r) {
                      return this.create(this._ENC_XFORM_MODE, t, r)
                  },
                  createDecryptor: function(t, r) {
                      return this.create(this._DEC_XFORM_MODE, t, r)
                  },
                  init: function(t, r, e) {
                      this.cfg = this.cfg.extend(e), this._xformMode = t, this._key = r, this.reset()
                  },
                  reset: function() {
                      s.reset.call(this), this._doReset()
                  },
                  process: function(t) {
                      return this._append(t), this._process()
                  },
                  finalize: function(t) {
                      t && this._append(t);
                      var r = this._doFinalize();
                      return r
                  },
                  keySize: 4,
                  ivSize: 4,
                  _ENC_XFORM_MODE: 1,
                  _DEC_XFORM_MODE: 2,
                  _createHelper: function() {
                      function t(t) {
                          return "string" == typeof t ? m : w
                      }
                      return function(r) {
                          return {
                              encrypt: function(e, i, n) {
                                  return t(i).encrypt(r, e, i, n)
                              },
                              decrypt: function(e, i, n) {
                                  return t(i).decrypt(r, e, i, n)
                              }
                          }
                      }
                  }()
              }),
              u = (i.StreamCipher = f.extend({
                  _doFinalize: function() {
                      var t = this._process(!0);
                      return t
                  },
                  blockSize: 1
              }), e.mode = {}),
              d = i.BlockCipherMode = n.extend({
                  createEncryptor: function(t, r) {
                      return this.Encryptor.create(t, r)
                  },
                  createDecryptor: function(t, r) {
                      return this.Decryptor.create(t, r)
                  },
                  init: function(t, r) {
                      this._cipher = t, this._iv = r
                  }
              }),
              v = u.CBC = function() {
                  function t(t, e, i) {
                      var n = this._iv;
                      if (n) {
                          var o = n;
                          this._iv = r
                      } else var o = this._prevBlock;
                      for (var s = 0; s < i; s++) t[e + s] ^= o[s]
                  }
                  var e = d.extend();
                  return e.Encryptor = e.extend({
                      processBlock: function(r, e) {
                          var i = this._cipher,
                              n = i.blockSize;
                          t.call(this, r, e, n), i.encryptBlock(r, e), this._prevBlock = r.slice(e, e + n)
                      }
                  }), e.Decryptor = e.extend({
                      processBlock: function(r, e) {
                          var i = this._cipher,
                              n = i.blockSize,
                              o = r.slice(e, e + n);
                          i.decryptBlock(r, e), t.call(this, r, e, n), this._prevBlock = o
                      }
                  }), e
              }(),
              p = e.pad = {},
              _ = p.Pkcs7 = {
                  pad: function(t, r) {
                      for (var e = 4 * r, i = e - t.sigBytes % e, n = i << 24 | i << 16 | i << 8 | i, s = [], a = 0; a < i; a += 4) s.push(n);
                      var c = o.create(s, i);
                      t.concat(c)
                  },
                  unpad: function(t) {
                      var r = 255 & t.words[t.sigBytes - 1 >>> 2];
                      t.sigBytes -= r
                  }
              },
              y = (i.BlockCipher = f.extend({
                  cfg: f.cfg.extend({
                      mode: v,
                      padding: _
                  }),
                  reset: function() {
                      f.reset.call(this);
                      var t = this.cfg,
                          r = t.iv,
                          e = t.mode;
                      if (this._xformMode == this._ENC_XFORM_MODE) var i = e.createEncryptor;
                      else {
                          var i = e.createDecryptor;
                          this._minBufferSize = 1
                      }
                      this._mode && this._mode.__creator == i ? this._mode.init(this, r && r.words) : (this._mode = i.call(e, this, r && r.words), this._mode.__creator = i)
                  },
                  _doProcessBlock: function(t, r) {
                      this._mode.processBlock(t, r)
                  },
                  _doFinalize: function() {
                      var t = this.cfg.padding;
                      if (this._xformMode == this._ENC_XFORM_MODE) {
                          t.pad(this._data, this.blockSize);
                          var r = this._process(!0)
                      } else {
                          var r = this._process(!0);
                          t.unpad(r)
                      }
                      return r
                  },
                  blockSize: 4
              }), i.CipherParams = n.extend({
                  init: function(t) {
                      this.mixIn(t)
                  },
                  toString: function(t) {
                      return (t || this.formatter).stringify(this)
                  }
              })),
              g = e.format = {},
              B = g.OpenSSL = {
                  stringify: function(t) {
                      var r = t.ciphertext,
                          e = t.salt;
                      if (e) var i = o.create([1398893684, 1701076831]).concat(e).concat(r);
                      else var i = r;
                      return i.toString(c)
                  },
                  parse: function(t) {
                      var r = c.parse(t),
                          e = r.words;
                      if (1398893684 == e[0] && 1701076831 == e[1]) {
                          var i = o.create(e.slice(2, 4));
                          e.splice(0, 4), r.sigBytes -= 16
                      }
                      return y.create({
                          ciphertext: r,
                          salt: i
                      })
                  }
              },
              w = i.SerializableCipher = n.extend({
                  cfg: n.extend({
                      format: B
                  }),
                  encrypt: function(t, r, e, i) {
                      i = this.cfg.extend(i);
                      var n = t.createEncryptor(e, i),
                          o = n.finalize(r),
                          s = n.cfg;
                      return y.create({
                          ciphertext: o,
                          key: e,
                          iv: s.iv,
                          algorithm: t,
                          mode: s.mode,
                          padding: s.padding,
                          blockSize: t.blockSize,
                          formatter: i.format
                      })
                  },
                  decrypt: function(t, r, e, i) {
                      i = this.cfg.extend(i), r = this._parse(r, i.format);
                      var n = t.createDecryptor(e, i).finalize(r.ciphertext);
                      return n
                  },
                  _parse: function(t, r) {
                      return "string" == typeof t ? r.parse(t, this) : t
                  }
              }),
              k = e.kdf = {},
              S = k.OpenSSL = {
                  execute: function(t, r, e, i) {
                      i || (i = o.random(8));
                      var n = l.create({
                              keySize: r + e
                          }).compute(t, i),
                          s = o.create(n.words.slice(r), 4 * e);
                      return n.sigBytes = 4 * r, y.create({
                          key: n,
                          iv: s,
                          salt: i
                      })
                  }
              },
              m = i.PasswordBasedCipher = w.extend({
                  cfg: w.cfg.extend({
                      kdf: S
                  }),
                  encrypt: function(t, r, e, i) {
                      i = this.cfg.extend(i);
                      var n = i.kdf.execute(e, t.keySize, t.ivSize);
                      i.iv = n.iv;
                      var o = w.encrypt.call(this, t, r, n.key, i);
                      return o.mixIn(n), o
                  },
                  decrypt: function(t, r, e, i) {
                      i = this.cfg.extend(i), r = this._parse(r, i.format);
                      var n = i.kdf.execute(e, t.keySize, t.ivSize, r.salt);
                      i.iv = n.iv;
                      var o = w.decrypt.call(this, t, r, n.key, i);
                      return o
                  }
              })
      }(), t.mode.CFB = function() {
          function r(t, r, e, i) {
              var n = this._iv;
              if (n) {
                  var o = n.slice(0);
                  this._iv = void 0
              } else var o = this._prevBlock;
              i.encryptBlock(o, 0);
              for (var s = 0; s < e; s++) t[r + s] ^= o[s]
          }
          var e = t.lib.BlockCipherMode.extend();
          return e.Encryptor = e.extend({
              processBlock: function(t, e) {
                  var i = this._cipher,
                      n = i.blockSize;
                  r.call(this, t, e, n, i), this._prevBlock = t.slice(e, e + n)
              }
          }), e.Decryptor = e.extend({
              processBlock: function(t, e) {
                  var i = this._cipher,
                      n = i.blockSize,
                      o = t.slice(e, e + n);
                  r.call(this, t, e, n, i), this._prevBlock = o
              }
          }), e
      }(), t.mode.ECB = function() {
          var r = t.lib.BlockCipherMode.extend();
          return r.Encryptor = r.extend({
              processBlock: function(t, r) {
                  this._cipher.encryptBlock(t, r)
              }
          }), r.Decryptor = r.extend({
              processBlock: function(t, r) {
                  this._cipher.decryptBlock(t, r)
              }
          }), r
      }(), t.pad.AnsiX923 = {
          pad: function(t, r) {
              var e = t.sigBytes,
                  i = 4 * r,
                  n = i - e % i,
                  o = e + n - 1;
              t.clamp(), t.words[o >>> 2] |= n << 24 - o % 4 * 8, t.sigBytes += n
          },
          unpad: function(t) {
              var r = 255 & t.words[t.sigBytes - 1 >>> 2];
              t.sigBytes -= r
          }
      }, t.pad.Iso10126 = {
          pad: function(r, e) {
              var i = 4 * e,
                  n = i - r.sigBytes % i;
              r.concat(t.lib.WordArray.random(n - 1)).concat(t.lib.WordArray.create([n << 24], 1))
          },
          unpad: function(t) {
              var r = 255 & t.words[t.sigBytes - 1 >>> 2];
              t.sigBytes -= r
          }
      }, t.pad.Iso97971 = {
          pad: function(r, e) {
              r.concat(t.lib.WordArray.create([2147483648], 1)), t.pad.ZeroPadding.pad(r, e)
          },
          unpad: function(r) {
              t.pad.ZeroPadding.unpad(r), r.sigBytes--
          }
      }, t.mode.OFB = function() {
          var r = t.lib.BlockCipherMode.extend(),
              e = r.Encryptor = r.extend({
                  processBlock: function(t, r) {
                      var e = this._cipher,
                          i = e.blockSize,
                          n = this._iv,
                          o = this._keystream;
                      n && (o = this._keystream = n.slice(0), this._iv = void 0), e.encryptBlock(o, 0);
                      for (var s = 0; s < i; s++) t[r + s] ^= o[s]
                  }
              });
          return r.Decryptor = e, r
      }(), t.pad.NoPadding = {
          pad: function() {},
          unpad: function() {}
      },
      function(r) {
          var e = t,
              i = e.lib,
              n = i.CipherParams,
              o = e.enc,
              s = o.Hex,
              a = e.format;
          a.Hex = {
              stringify: function(t) {
                  return t.ciphertext.toString(s)
              },
              parse: function(t) {
                  var r = s.parse(t);
                  return n.create({
                      ciphertext: r
                  })
              }
          }
      }(),
      function() {
          var r = t,
              e = r.lib,
              i = e.BlockCipher,
              n = r.algo,
              o = [],
              s = [],
              a = [],
              c = [],
              h = [],
              l = [],
              f = [],
              u = [],
              d = [],
              v = [];
          ! function() {
              for (var t = [], r = 0; r < 256; r++) r < 128 ? t[r] = r << 1 : t[r] = r << 1 ^ 283;
              for (var e = 0, i = 0, r = 0; r < 256; r++) {
                  var n = i ^ i << 1 ^ i << 2 ^ i << 3 ^ i << 4;
                  n = n >>> 8 ^ 255 & n ^ 99, o[e] = n, s[n] = e;
                  var p = t[e],
                      _ = t[p],
                      y = t[_],
                      g = 257 * t[n] ^ 16843008 * n;
                  a[e] = g << 24 | g >>> 8, c[e] = g << 16 | g >>> 16, h[e] = g << 8 | g >>> 24, l[e] = g;
                  var g = 16843009 * y ^ 65537 * _ ^ 257 * p ^ 16843008 * e;
                  f[n] = g << 24 | g >>> 8, u[n] = g << 16 | g >>> 16, d[n] = g << 8 | g >>> 24, v[n] = g, e ? (e = p ^ t[t[t[y ^ p]]], i ^= t[t[i]]) : e = i = 1
              }
          }();
          var p = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54],
              _ = n.AES = i.extend({
                  _doReset: function() {
                      if (!this._nRounds || this._keyPriorReset !== this._key) {
                          for (var t = this._keyPriorReset = this._key, r = t.words, e = t.sigBytes / 4, i = this._nRounds = e + 6, n = 4 * (i + 1), s = this._keySchedule = [], a = 0; a < n; a++)
                              if (a < e) s[a] = r[a];
                              else {
                                  var c = s[a - 1];
                                  a % e ? e > 6 && a % e == 4 && (c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c]) : (c = c << 8 | c >>> 24, c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c], c ^= p[a / e | 0] << 24), s[a] = s[a - e] ^ c
                              }
                          for (var h = this._invKeySchedule = [], l = 0; l < n; l++) {
                              var a = n - l;
                              if (l % 4) var c = s[a];
                              else var c = s[a - 4];
                              l < 4 || a <= 4 ? h[l] = c : h[l] = f[o[c >>> 24]] ^ u[o[c >>> 16 & 255]] ^ d[o[c >>> 8 & 255]] ^ v[o[255 & c]]
                          }
                      }
                  },
                  encryptBlock: function(t, r) {
                      this._doCryptBlock(t, r, this._keySchedule, a, c, h, l, o)
                  },
                  decryptBlock: function(t, r) {
                      var e = t[r + 1];
                      t[r + 1] = t[r + 3], t[r + 3] = e, this._doCryptBlock(t, r, this._invKeySchedule, f, u, d, v, s);
                      var e = t[r + 1];
                      t[r + 1] = t[r + 3], t[r + 3] = e
                  },
                  _doCryptBlock: function(t, r, e, i, n, o, s, a) {
                      for (var c = this._nRounds, h = t[r] ^ e[0], l = t[r + 1] ^ e[1], f = t[r + 2] ^ e[2], u = t[r + 3] ^ e[3], d = 4, v = 1; v < c; v++) {
                          var p = i[h >>> 24] ^ n[l >>> 16 & 255] ^ o[f >>> 8 & 255] ^ s[255 & u] ^ e[d++],
                              _ = i[l >>> 24] ^ n[f >>> 16 & 255] ^ o[u >>> 8 & 255] ^ s[255 & h] ^ e[d++],
                              y = i[f >>> 24] ^ n[u >>> 16 & 255] ^ o[h >>> 8 & 255] ^ s[255 & l] ^ e[d++],
                              g = i[u >>> 24] ^ n[h >>> 16 & 255] ^ o[l >>> 8 & 255] ^ s[255 & f] ^ e[d++];
                          h = p, l = _, f = y, u = g
                      }
                      var p = (a[h >>> 24] << 24 | a[l >>> 16 & 255] << 16 | a[f >>> 8 & 255] << 8 | a[255 & u]) ^ e[d++],
                          _ = (a[l >>> 24] << 24 | a[f >>> 16 & 255] << 16 | a[u >>> 8 & 255] << 8 | a[255 & h]) ^ e[d++],
                          y = (a[f >>> 24] << 24 | a[u >>> 16 & 255] << 16 | a[h >>> 8 & 255] << 8 | a[255 & l]) ^ e[d++],
                          g = (a[u >>> 24] << 24 | a[h >>> 16 & 255] << 16 | a[l >>> 8 & 255] << 8 | a[255 & f]) ^ e[d++];
                      t[r] = p, t[r + 1] = _, t[r + 2] = y, t[r + 3] = g
                  },
                  keySize: 8
              });
          r.AES = i._createHelper(_)
      }(),
      function() {
          function r(t, r) {
              var e = (this._lBlock >>> t ^ this._rBlock) & r;
              this._rBlock ^= e, this._lBlock ^= e << t
          }

          function e(t, r) {
              var e = (this._rBlock >>> t ^ this._lBlock) & r;
              this._lBlock ^= e, this._rBlock ^= e << t;
          }
          var i = t,
              n = i.lib,
              o = n.WordArray,
              s = n.BlockCipher,
              a = i.algo,
              c = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4],
              h = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32],
              l = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28],
              f = [{
                  0: 8421888,
                  268435456: 32768,
                  536870912: 8421378,
                  805306368: 2,
                  1073741824: 512,
                  1342177280: 8421890,
                  1610612736: 8389122,
                  1879048192: 8388608,
                  2147483648: 514,
                  2415919104: 8389120,
                  2684354560: 33280,
                  2952790016: 8421376,
                  3221225472: 32770,
                  3489660928: 8388610,
                  3758096384: 0,
                  4026531840: 33282,
                  134217728: 0,
                  402653184: 8421890,
                  671088640: 33282,
                  939524096: 32768,
                  1207959552: 8421888,
                  1476395008: 512,
                  1744830464: 8421378,
                  2013265920: 2,
                  2281701376: 8389120,
                  2550136832: 33280,
                  2818572288: 8421376,
                  3087007744: 8389122,
                  3355443200: 8388610,
                  3623878656: 32770,
                  3892314112: 514,
                  4160749568: 8388608,
                  1: 32768,
                  268435457: 2,
                  536870913: 8421888,
                  805306369: 8388608,
                  1073741825: 8421378,
                  1342177281: 33280,
                  1610612737: 512,
                  1879048193: 8389122,
                  2147483649: 8421890,
                  2415919105: 8421376,
                  2684354561: 8388610,
                  2952790017: 33282,
                  3221225473: 514,
                  3489660929: 8389120,
                  3758096385: 32770,
                  4026531841: 0,
                  134217729: 8421890,
                  402653185: 8421376,
                  671088641: 8388608,
                  939524097: 512,
                  1207959553: 32768,
                  1476395009: 8388610,
                  1744830465: 2,
                  2013265921: 33282,
                  2281701377: 32770,
                  2550136833: 8389122,
                  2818572289: 514,
                  3087007745: 8421888,
                  3355443201: 8389120,
                  3623878657: 0,
                  3892314113: 33280,
                  4160749569: 8421378
              }, {
                  0: 1074282512,
                  16777216: 16384,
                  33554432: 524288,
                  50331648: 1074266128,
                  67108864: 1073741840,
                  83886080: 1074282496,
                  100663296: 1073758208,
                  117440512: 16,
                  134217728: 540672,
                  150994944: 1073758224,
                  167772160: 1073741824,
                  184549376: 540688,
                  201326592: 524304,
                  218103808: 0,
                  234881024: 16400,
                  251658240: 1074266112,
                  8388608: 1073758208,
                  25165824: 540688,
                  41943040: 16,
                  58720256: 1073758224,
                  75497472: 1074282512,
                  92274688: 1073741824,
                  109051904: 524288,
                  125829120: 1074266128,
                  142606336: 524304,
                  159383552: 0,
                  176160768: 16384,
                  192937984: 1074266112,
                  209715200: 1073741840,
                  226492416: 540672,
                  243269632: 1074282496,
                  260046848: 16400,
                  268435456: 0,
                  285212672: 1074266128,
                  301989888: 1073758224,
                  318767104: 1074282496,
                  335544320: 1074266112,
                  352321536: 16,
                  369098752: 540688,
                  385875968: 16384,
                  402653184: 16400,
                  419430400: 524288,
                  436207616: 524304,
                  452984832: 1073741840,
                  469762048: 540672,
                  486539264: 1073758208,
                  503316480: 1073741824,
                  520093696: 1074282512,
                  276824064: 540688,
                  293601280: 524288,
                  310378496: 1074266112,
                  327155712: 16384,
                  343932928: 1073758208,
                  360710144: 1074282512,
                  377487360: 16,
                  394264576: 1073741824,
                  411041792: 1074282496,
                  427819008: 1073741840,
                  444596224: 1073758224,
                  461373440: 524304,
                  478150656: 0,
                  494927872: 16400,
                  511705088: 1074266128,
                  528482304: 540672
              }, {
                  0: 260,
                  1048576: 0,
                  2097152: 67109120,
                  3145728: 65796,
                  4194304: 65540,
                  5242880: 67108868,
                  6291456: 67174660,
                  7340032: 67174400,
                  8388608: 67108864,
                  9437184: 67174656,
                  10485760: 65792,
                  11534336: 67174404,
                  12582912: 67109124,
                  13631488: 65536,
                  14680064: 4,
                  15728640: 256,
                  524288: 67174656,
                  1572864: 67174404,
                  2621440: 0,
                  3670016: 67109120,
                  4718592: 67108868,
                  5767168: 65536,
                  6815744: 65540,
                  7864320: 260,
                  8912896: 4,
                  9961472: 256,
                  11010048: 67174400,
                  12058624: 65796,
                  13107200: 65792,
                  14155776: 67109124,
                  15204352: 67174660,
                  16252928: 67108864,
                  16777216: 67174656,
                  17825792: 65540,
                  18874368: 65536,
                  19922944: 67109120,
                  20971520: 256,
                  22020096: 67174660,
                  23068672: 67108868,
                  24117248: 0,
                  25165824: 67109124,
                  26214400: 67108864,
                  27262976: 4,
                  28311552: 65792,
                  29360128: 67174400,
                  30408704: 260,
                  31457280: 65796,
                  32505856: 67174404,
                  17301504: 67108864,
                  18350080: 260,
                  19398656: 67174656,
                  20447232: 0,
                  21495808: 65540,
                  22544384: 67109120,
                  23592960: 256,
                  24641536: 67174404,
                  25690112: 65536,
                  26738688: 67174660,
                  27787264: 65796,
                  28835840: 67108868,
                  29884416: 67109124,
                  30932992: 67174400,
                  31981568: 4,
                  33030144: 65792
              }, {
                  0: 2151682048,
                  65536: 2147487808,
                  131072: 4198464,
                  196608: 2151677952,
                  262144: 0,
                  327680: 4198400,
                  393216: 2147483712,
                  458752: 4194368,
                  524288: 2147483648,
                  589824: 4194304,
                  655360: 64,
                  720896: 2147487744,
                  786432: 2151678016,
                  851968: 4160,
                  917504: 4096,
                  983040: 2151682112,
                  32768: 2147487808,
                  98304: 64,
                  163840: 2151678016,
                  229376: 2147487744,
                  294912: 4198400,
                  360448: 2151682112,
                  425984: 0,
                  491520: 2151677952,
                  557056: 4096,
                  622592: 2151682048,
                  688128: 4194304,
                  753664: 4160,
                  819200: 2147483648,
                  884736: 4194368,
                  950272: 4198464,
                  1015808: 2147483712,
                  1048576: 4194368,
                  1114112: 4198400,
                  1179648: 2147483712,
                  1245184: 0,
                  1310720: 4160,
                  1376256: 2151678016,
                  1441792: 2151682048,
                  1507328: 2147487808,
                  1572864: 2151682112,
                  1638400: 2147483648,
                  1703936: 2151677952,
                  1769472: 4198464,
                  1835008: 2147487744,
                  1900544: 4194304,
                  1966080: 64,
                  2031616: 4096,
                  1081344: 2151677952,
                  1146880: 2151682112,
                  1212416: 0,
                  1277952: 4198400,
                  1343488: 4194368,
                  1409024: 2147483648,
                  1474560: 2147487808,
                  1540096: 64,
                  1605632: 2147483712,
                  1671168: 4096,
                  1736704: 2147487744,
                  1802240: 2151678016,
                  1867776: 4160,
                  1933312: 2151682048,
                  1998848: 4194304,
                  2064384: 4198464
              }, {
                  0: 128,
                  4096: 17039360,
                  8192: 262144,
                  12288: 536870912,
                  16384: 537133184,
                  20480: 16777344,
                  24576: 553648256,
                  28672: 262272,
                  32768: 16777216,
                  36864: 537133056,
                  40960: 536871040,
                  45056: 553910400,
                  49152: 553910272,
                  53248: 0,
                  57344: 17039488,
                  61440: 553648128,
                  2048: 17039488,
                  6144: 553648256,
                  10240: 128,
                  14336: 17039360,
                  18432: 262144,
                  22528: 537133184,
                  26624: 553910272,
                  30720: 536870912,
                  34816: 537133056,
                  38912: 0,
                  43008: 553910400,
                  47104: 16777344,
                  51200: 536871040,
                  55296: 553648128,
                  59392: 16777216,
                  63488: 262272,
                  65536: 262144,
                  69632: 128,
                  73728: 536870912,
                  77824: 553648256,
                  81920: 16777344,
                  86016: 553910272,
                  90112: 537133184,
                  94208: 16777216,
                  98304: 553910400,
                  102400: 553648128,
                  106496: 17039360,
                  110592: 537133056,
                  114688: 262272,
                  118784: 536871040,
                  122880: 0,
                  126976: 17039488,
                  67584: 553648256,
                  71680: 16777216,
                  75776: 17039360,
                  79872: 537133184,
                  83968: 536870912,
                  88064: 17039488,
                  92160: 128,
                  96256: 553910272,
                  100352: 262272,
                  104448: 553910400,
                  108544: 0,
                  112640: 553648128,
                  116736: 16777344,
                  120832: 262144,
                  124928: 537133056,
                  129024: 536871040
              }, {
                  0: 268435464,
                  256: 8192,
                  512: 270532608,
                  768: 270540808,
                  1024: 268443648,
                  1280: 2097152,
                  1536: 2097160,
                  1792: 268435456,
                  2048: 0,
                  2304: 268443656,
                  2560: 2105344,
                  2816: 8,
                  3072: 270532616,
                  3328: 2105352,
                  3584: 8200,
                  3840: 270540800,
                  128: 270532608,
                  384: 270540808,
                  640: 8,
                  896: 2097152,
                  1152: 2105352,
                  1408: 268435464,
                  1664: 268443648,
                  1920: 8200,
                  2176: 2097160,
                  2432: 8192,
                  2688: 268443656,
                  2944: 270532616,
                  3200: 0,
                  3456: 270540800,
                  3712: 2105344,
                  3968: 268435456,
                  4096: 268443648,
                  4352: 270532616,
                  4608: 270540808,
                  4864: 8200,
                  5120: 2097152,
                  5376: 268435456,
                  5632: 268435464,
                  5888: 2105344,
                  6144: 2105352,
                  6400: 0,
                  6656: 8,
                  6912: 270532608,
                  7168: 8192,
                  7424: 268443656,
                  7680: 270540800,
                  7936: 2097160,
                  4224: 8,
                  4480: 2105344,
                  4736: 2097152,
                  4992: 268435464,
                  5248: 268443648,
                  5504: 8200,
                  5760: 270540808,
                  6016: 270532608,
                  6272: 270540800,
                  6528: 270532616,
                  6784: 8192,
                  7040: 2105352,
                  7296: 2097160,
                  7552: 0,
                  7808: 268435456,
                  8064: 268443656
              }, {
                  0: 1048576,
                  16: 33555457,
                  32: 1024,
                  48: 1049601,
                  64: 34604033,
                  80: 0,
                  96: 1,
                  112: 34603009,
                  128: 33555456,
                  144: 1048577,
                  160: 33554433,
                  176: 34604032,
                  192: 34603008,
                  208: 1025,
                  224: 1049600,
                  240: 33554432,
                  8: 34603009,
                  24: 0,
                  40: 33555457,
                  56: 34604032,
                  72: 1048576,
                  88: 33554433,
                  104: 33554432,
                  120: 1025,
                  136: 1049601,
                  152: 33555456,
                  168: 34603008,
                  184: 1048577,
                  200: 1024,
                  216: 34604033,
                  232: 1,
                  248: 1049600,
                  256: 33554432,
                  272: 1048576,
                  288: 33555457,
                  304: 34603009,
                  320: 1048577,
                  336: 33555456,
                  352: 34604032,
                  368: 1049601,
                  384: 1025,
                  400: 34604033,
                  416: 1049600,
                  432: 1,
                  448: 0,
                  464: 34603008,
                  480: 33554433,
                  496: 1024,
                  264: 1049600,
                  280: 33555457,
                  296: 34603009,
                  312: 1,
                  328: 33554432,
                  344: 1048576,
                  360: 1025,
                  376: 34604032,
                  392: 33554433,
                  408: 34603008,
                  424: 0,
                  440: 34604033,
                  456: 1049601,
                  472: 1024,
                  488: 33555456,
                  504: 1048577
              }, {
                  0: 134219808,
                  1: 131072,
                  2: 134217728,
                  3: 32,
                  4: 131104,
                  5: 134350880,
                  6: 134350848,
                  7: 2048,
                  8: 134348800,
                  9: 134219776,
                  10: 133120,
                  11: 134348832,
                  12: 2080,
                  13: 0,
                  14: 134217760,
                  15: 133152,
                  2147483648: 2048,
                  2147483649: 134350880,
                  2147483650: 134219808,
                  2147483651: 134217728,
                  2147483652: 134348800,
                  2147483653: 133120,
                  2147483654: 133152,
                  2147483655: 32,
                  2147483656: 134217760,
                  2147483657: 2080,
                  2147483658: 131104,
                  2147483659: 134350848,
                  2147483660: 0,
                  2147483661: 134348832,
                  2147483662: 134219776,
                  2147483663: 131072,
                  16: 133152,
                  17: 134350848,
                  18: 32,
                  19: 2048,
                  20: 134219776,
                  21: 134217760,
                  22: 134348832,
                  23: 131072,
                  24: 0,
                  25: 131104,
                  26: 134348800,
                  27: 134219808,
                  28: 134350880,
                  29: 133120,
                  30: 2080,
                  31: 134217728,
                  2147483664: 131072,
                  2147483665: 2048,
                  2147483666: 134348832,
                  2147483667: 133152,
                  2147483668: 32,
                  2147483669: 134348800,
                  2147483670: 134217728,
                  2147483671: 134219808,
                  2147483672: 134350880,
                  2147483673: 134217760,
                  2147483674: 134219776,
                  2147483675: 0,
                  2147483676: 133120,
                  2147483677: 2080,
                  2147483678: 131104,
                  2147483679: 134350848
              }],
              u = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679],
              d = a.DES = s.extend({
                  _doReset: function() {
                      for (var t = this._key, r = t.words, e = [], i = 0; i < 56; i++) {
                          var n = c[i] - 1;
                          e[i] = r[n >>> 5] >>> 31 - n % 32 & 1
                      }
                      for (var o = this._subKeys = [], s = 0; s < 16; s++) {
                          for (var a = o[s] = [], f = l[s], i = 0; i < 24; i++) a[i / 6 | 0] |= e[(h[i] - 1 + f) % 28] << 31 - i % 6, a[4 + (i / 6 | 0)] |= e[28 + (h[i + 24] - 1 + f) % 28] << 31 - i % 6;
                          a[0] = a[0] << 1 | a[0] >>> 31;
                          for (var i = 1; i < 7; i++) a[i] = a[i] >>> 4 * (i - 1) + 3;
                          a[7] = a[7] << 5 | a[7] >>> 27
                      }
                      for (var u = this._invSubKeys = [], i = 0; i < 16; i++) u[i] = o[15 - i]
                  },
                  encryptBlock: function(t, r) {
                      this._doCryptBlock(t, r, this._subKeys)
                  },
                  decryptBlock: function(t, r) {
                      this._doCryptBlock(t, r, this._invSubKeys)
                  },
                  _doCryptBlock: function(t, i, n) {
                      this._lBlock = t[i], this._rBlock = t[i + 1], r.call(this, 4, 252645135), r.call(this, 16, 65535), e.call(this, 2, 858993459), e.call(this, 8, 16711935), r.call(this, 1, 1431655765);
                      for (var o = 0; o < 16; o++) {
                          for (var s = n[o], a = this._lBlock, c = this._rBlock, h = 0, l = 0; l < 8; l++) h |= f[l][((c ^ s[l]) & u[l]) >>> 0];
                          this._lBlock = c, this._rBlock = a ^ h
                      }
                      var d = this._lBlock;
                      this._lBlock = this._rBlock, this._rBlock = d, r.call(this, 1, 1431655765), e.call(this, 8, 16711935), e.call(this, 2, 858993459), r.call(this, 16, 65535), r.call(this, 4, 252645135), t[i] = this._lBlock, t[i + 1] = this._rBlock
                  },
                  keySize: 2,
                  ivSize: 2,
                  blockSize: 2
              });
          i.DES = s._createHelper(d);
          var v = a.TripleDES = s.extend({
              _doReset: function() {
                  var t = this._key,
                      r = t.words;
                  this._des1 = d.createEncryptor(o.create(r.slice(0, 2))), this._des2 = d.createEncryptor(o.create(r.slice(2, 4))), this._des3 = d.createEncryptor(o.create(r.slice(4, 6)))
              },
              encryptBlock: function(t, r) {
                  this._des1.encryptBlock(t, r), this._des2.decryptBlock(t, r), this._des3.encryptBlock(t, r)
              },
              decryptBlock: function(t, r) {
                  this._des3.decryptBlock(t, r), this._des2.encryptBlock(t, r), this._des1.decryptBlock(t, r)
              },
              keySize: 6,
              ivSize: 2,
              blockSize: 2
          });
          i.TripleDES = s._createHelper(v)
      }(),
      function() {
          function r() {
              for (var t = this._S, r = this._i, e = this._j, i = 0, n = 0; n < 4; n++) {
                  r = (r + 1) % 256, e = (e + t[r]) % 256;
                  var o = t[r];
                  t[r] = t[e], t[e] = o, i |= t[(t[r] + t[e]) % 256] << 24 - 8 * n
              }
              return this._i = r, this._j = e, i
          }
          var e = t,
              i = e.lib,
              n = i.StreamCipher,
              o = e.algo,
              s = o.RC4 = n.extend({
                  _doReset: function() {
                      for (var t = this._key, r = t.words, e = t.sigBytes, i = this._S = [], n = 0; n < 256; n++) i[n] = n;
                      for (var n = 0, o = 0; n < 256; n++) {
                          var s = n % e,
                              a = r[s >>> 2] >>> 24 - s % 4 * 8 & 255;
                          o = (o + i[n] + a) % 256;
                          var c = i[n];
                          i[n] = i[o], i[o] = c
                      }
                      this._i = this._j = 0
                  },
                  _doProcessBlock: function(t, e) {
                      t[e] ^= r.call(this)
                  },
                  keySize: 8,
                  ivSize: 0
              });
          e.RC4 = n._createHelper(s);
          var a = o.RC4Drop = s.extend({
              cfg: s.cfg.extend({
                  drop: 192
              }),
              _doReset: function() {
                  s._doReset.call(this);
                  for (var t = this.cfg.drop; t > 0; t--) r.call(this)
              }
          });
          e.RC4Drop = n._createHelper(a)
      }(), t.mode.CTRGladman = function() {
          function r(t) {
              if (255 === (t >> 24 & 255)) {
                  var r = t >> 16 & 255,
                      e = t >> 8 & 255,
                      i = 255 & t;
                  255 === r ? (r = 0, 255 === e ? (e = 0, 255 === i ? i = 0 : ++i) : ++e) : ++r, t = 0, t += r << 16, t += e << 8, t += i
              } else t += 1 << 24;
              return t
          }

          function e(t) {
              return 0 === (t[0] = r(t[0])) && (t[1] = r(t[1])), t
          }
          var i = t.lib.BlockCipherMode.extend(),
              n = i.Encryptor = i.extend({
                  processBlock: function(t, r) {
                      var i = this._cipher,
                          n = i.blockSize,
                          o = this._iv,
                          s = this._counter;
                      o && (s = this._counter = o.slice(0), this._iv = void 0), e(s);
                      var a = s.slice(0);
                      i.encryptBlock(a, 0);
                      for (var c = 0; c < n; c++) t[r + c] ^= a[c]
                  }
              });
          return i.Decryptor = n, i
      }(),
      function() {
          function r() {
              for (var t = this._X, r = this._C, e = 0; e < 8; e++) a[e] = r[e];
              r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0;
              for (var e = 0; e < 8; e++) {
                  var i = t[e] + r[e],
                      n = 65535 & i,
                      o = i >>> 16,
                      s = ((n * n >>> 17) + n * o >>> 15) + o * o,
                      h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0);
                  c[e] = s ^ h
              }
              t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0
          }
          var e = t,
              i = e.lib,
              n = i.StreamCipher,
              o = e.algo,
              s = [],
              a = [],
              c = [],
              h = o.Rabbit = n.extend({
                  _doReset: function() {
                      for (var t = this._key.words, e = this.cfg.iv, i = 0; i < 4; i++) t[i] = 16711935 & (t[i] << 8 | t[i] >>> 24) | 4278255360 & (t[i] << 24 | t[i] >>> 8);
                      var n = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16],
                          o = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]];
                      this._b = 0;
                      for (var i = 0; i < 4; i++) r.call(this);
                      for (var i = 0; i < 8; i++) o[i] ^= n[i + 4 & 7];
                      if (e) {
                          var s = e.words,
                              a = s[0],
                              c = s[1],
                              h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8),
                              l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8),
                              f = h >>> 16 | 4294901760 & l,
                              u = l << 16 | 65535 & h;
                          o[0] ^= h, o[1] ^= f, o[2] ^= l, o[3] ^= u, o[4] ^= h, o[5] ^= f, o[6] ^= l, o[7] ^= u;
                          for (var i = 0; i < 4; i++) r.call(this)
                      }
                  },
                  _doProcessBlock: function(t, e) {
                      var i = this._X;
                      r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16;
                      for (var n = 0; n < 4; n++) s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n]
                  },
                  blockSize: 4,
                  ivSize: 2
              });
          e.Rabbit = n._createHelper(h)
      }(), t.mode.CTR = function() {
          var r = t.lib.BlockCipherMode.extend(),
              e = r.Encryptor = r.extend({
                  processBlock: function(t, r) {
                      var e = this._cipher,
                          i = e.blockSize,
                          n = this._iv,
                          o = this._counter;
                      n && (o = this._counter = n.slice(0), this._iv = void 0);
                      var s = o.slice(0);
                      e.encryptBlock(s, 0), o[i - 1] = o[i - 1] + 1 | 0;
                      for (var a = 0; a < i; a++) t[r + a] ^= s[a]
                  }
              });
          return r.Decryptor = e, r
      }(),
      function() {
          function r() {
              for (var t = this._X, r = this._C, e = 0; e < 8; e++) a[e] = r[e];
              r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0;
              for (var e = 0; e < 8; e++) {
                  var i = t[e] + r[e],
                      n = 65535 & i,
                      o = i >>> 16,
                      s = ((n * n >>> 17) + n * o >>> 15) + o * o,
                      h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0);
                  c[e] = s ^ h
              }
              t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0
          }
          var e = t,
              i = e.lib,
              n = i.StreamCipher,
              o = e.algo,
              s = [],
              a = [],
              c = [],
              h = o.RabbitLegacy = n.extend({
                  _doReset: function() {
                      var t = this._key.words,
                          e = this.cfg.iv,
                          i = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16],
                          n = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]];
                      this._b = 0;
                      for (var o = 0; o < 4; o++) r.call(this);
                      for (var o = 0; o < 8; o++) n[o] ^= i[o + 4 & 7];
                      if (e) {
                          var s = e.words,
                              a = s[0],
                              c = s[1],
                              h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8),
                              l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8),
                              f = h >>> 16 | 4294901760 & l,
                              u = l << 16 | 65535 & h;
                          n[0] ^= h, n[1] ^= f, n[2] ^= l, n[3] ^= u, n[4] ^= h, n[5] ^= f, n[6] ^= l, n[7] ^= u;
                          for (var o = 0; o < 4; o++) r.call(this)
                      }
                  },
                  _doProcessBlock: function(t, e) {
                      var i = this._X;
                      r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16;
                      for (var n = 0; n < 4; n++) s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n]
                  },
                  blockSize: 4,
                  ivSize: 2
              });
          e.RabbitLegacy = n._createHelper(h)
      }(), t.pad.ZeroPadding = {
          pad: function(t, r) {
              var e = 4 * r;
              t.clamp(), t.sigBytes += e - (t.sigBytes % e || e)
          },
          unpad: function(t) {
              for (var r = t.words, e = t.sigBytes - 1; !(r[e >>> 2] >>> 24 - e % 4 * 8 & 255);) e--;
              t.sigBytes = e + 1
          }
      }, t
});

const $ = new Env('618动物联萌');
const notify = $.isNode() ? require('./sendNotify') : '';
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
const pKHelpFlag = true;//是否PK助力  true 助力，false 不助力
const pKHelpAuthorFlag = true;//是否助力作者PK  true 助力，false 不助力
//IOS等用户直接用NobyDa的jd cookie
let cookiesArr = [];
$.cookie = '';
$.inviteList = [];
$.pkInviteList = [];
$.secretpInfo = {};
$.innerPkInviteList = [];
$.invitecanHelp = true;
$.firstInviteList = [];
$.firstPkInviteList = '';
$.cc = 0;
$.helpcount = 0;
$.taskFlag = true;

if ($.isNode()) {
  Object.keys(jdCookieNode).forEach((item) => {
    cookiesArr.push(jdCookieNode[item])
  })
  if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { };
} else {
  cookiesArr = [
    $.getdata("CookieJD"),
    $.getdata("CookieJD2"),
    ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item);
}
!(async () => {
  if (!cookiesArr[0]) {
    $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', { "open-url": "https://bean.m.jd.com/bean/signIndex.action" });
    return;
  }
  $.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS
  console.log(
    '活动时间：2021-05-24至2021-06-20\n' +
    '脚本更新时间：2021-05-31 23:00\n' +
    '\n任务分几次完成，切勿心急。\n'
  );
  for (let i = 0; i < cookiesArr.length; i++) {
    if (cookiesArr[i]) {
      $.cookie = cookiesArr[i];
      initial();
      $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]);
      $.index = i + 1;
      $.isLogin = true;
      $.nickName = $.UserName;
      $.hotFlag = false; //是否火爆
      await TotalBean();
      console.log(`\n*****开始【京东账号${$.index}】${$.nickName || $.UserName}*****\n`);
      //console.log(`\n如有未完成的任务，请多执行几次\n`);
      if (!$.isLogin) {
        $.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/bean/signIndex.action`, { "open-url": "https://bean.m.jd.com/bean/signIndex.action" });
        if ($.isNode()) {
          await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`);
        }
        continue
      }

      await takePostRequest('zoo_getHomeData');
      $.userInfo = $.homeData.result.homeMainInfo
      if($.userInfo.raiseInfo.nextLevelScore - $.userInfo.raiseInfo.curLevelStartScore !== 0) $.taskFlag = true;
      else {
          console.log(`\n恭喜你已经满级了，跳过金币任务\n`);
          $.taskFlag = false;
      }
      await zoo();
      $.cc = 0;
      if ($.hotFlag) $.secretpInfo[$.UserName] = false;//火爆账号不执行助力
    }
  }
  let res = [], res2 = [], res3 = [];
  //res = await getAuthorShareCode('https://raw.githubusercontent.com/star261/jd/main/code/zoo.json');
  res2 = await getAuthorShareCode('https://www.fastmock.site/mock/cbbb3764093b72da95d9396d19b9a901/jd/zoo/zoopk');
  res3 = await getAuthorShareCode('https://www.fastmock.site/mock/cbbb3764093b72da95d9396d19b9a901/jd/zoo/zooinvite');
  $.innerPkInviteList = getRandomArrayElements([...$.innerPkInviteList, ...res, ...res2], [...$.innerPkInviteList, ...res, ...res2].length);
  $.firstInviteList = getRandomArrayElements([...$.firstInviteList, ...res3], [...$.firstInviteList, ...res3].length);
  $.pkInviteList.push(...$.innerPkInviteList);
  for (let i = 0; i < cookiesArr.length; i++) {
      $.cookie = cookiesArr[i];
      $.canHelp = true;
      $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]);
      if (!$.secretpInfo[$.UserName]) {
          continue;
      }
      $.secretp = $.secretpInfo[$.UserName];
      $.index = i + 1;
      //console.log($.inviteList);
      //pk助力
      if (new Date().getHours() >= 9) {
          console.log(`\n******开始内部京东账号【怪兽大作战pk】助力*********\n`);
          if ($.helpcount < $.innerPkInviteList.length) {
              $.pkInviteId = $.innerPkInviteList[$.helpcount];
              await takePostRequest('pkHelpp');
              await $.wait(2000);
              $.helpcount++;
          }
          else {
              $.helpcount = 0;
          }
          for (let i = 0; i < $.pkInviteList.length && $.canHelp; i++) {
              console.log(`${$.UserName} 去助力PK码 ${$.pkInviteList[i]}`);
              $.pkInviteId = $.pkInviteList[i];
              await takePostRequest('pkHelp');
              await $.wait(2000);
          }
          $.canHelp = true;
      }
      if ($.inviteList && $.inviteList.length) console.log(`\n******开始内部京东账号【邀请好友助力】*********\n`);
      for (let suni = 0; suni < $.firstInviteList.length; suni++) {
          $.inviteId = $.firstInviteList[suni];
          await takePostRequest('help');
          await $.wait(2000);
        }
      for (let j = 0; j < $.inviteList.length && $.canHelp; j++) {
          $.oneInviteInfo = $.inviteList[j];
          if ($.oneInviteInfo.ues === $.UserName || $.oneInviteInfo.max) {
              continue;
          }
          //console.log($.oneInviteInfo);
          $.inviteId = $.oneInviteInfo.inviteId;
          console.log(`${$.UserName}去助力${$.oneInviteInfo.ues},助力码${$.inviteId}`);
          //await takePostRequest('helpHomeData');
          await takePostRequest('help');
          await $.wait(2000);
      }
  }
})()
  .catch((e) => {
      $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '')
  })
  .finally(() => {
      $.done();
  })

async function zoo() {
  try {
    $.signSingle = {};
    $.homeData = {};
    $.secretp = ``;
    $.taskList = [];
    $.shopSign = ``;
    await takePostRequest('zoo_signSingle');
    if (JSON.stringify($.signSingle) === `{}` || $.signSingle.bizCode !== 0) {
      console.log($.signSingle.bizMsg);
      return;
    } else {
      //console.log(`\n获取活动信息`);
    }
    await $.wait(1000);
    await takePostRequest('zoo_getHomeData');
    $.userInfo = $.homeData.result.homeMainInfo
    console.log(`\n当前分红：${$.userInfo.raiseInfo.redNum}份，当前等级:${$.userInfo.raiseInfo.scoreLevel}\n当前金币${$.userInfo.raiseInfo.remainScore}，下一关需要${$.userInfo.raiseInfo.nextLevelScore - $.userInfo.raiseInfo.curLevelStartScore}\n\n`);
    await $.wait(1000);
    await takePostRequest('zoo_getSignHomeData');
    await $.wait(1000);
    if ($.signHomeData.todayStatus === 0) {
      console.log(`去签到`);
      await takePostRequest('zoo_sign');
      await $.wait(1000);
    } else {
      console.log(`已签到`);
    }
    let raiseInfo = $.homeData.result.homeMainInfo.raiseInfo;
    if (Number(raiseInfo.totalScore) > Number(raiseInfo.nextLevelScore) && raiseInfo.buttonStatus === 1) {
      console.log(`满足升级条件，去升级`);
      await $.wait(3000);
      await takePostRequest('zoo_raise');
    }
    //收金币
    await $.wait(1000);
    if($.taskFlag) {
        await takePostRequest('zoo_collectProduceScore');
        await $.wait(1000);
        await takePostRequest('zoo_getTaskDetail');
        await $.wait(1000);
    }
    //做任务
    for (let i = 0; i < $.taskList.length && $.secretp && !$.hotFlag && $.taskFlag; i++) {
      $.oneTask = $.taskList[i];
      if ([1, 3, 5, 7, 9, 26].includes($.oneTask.taskType) && $.oneTask.status === 1) {
        $.activityInfoList = $.oneTask.shoppingActivityVos || $.oneTask.brandMemberVos || $.oneTask.followShopVo || $.oneTask.browseShopVo;
        for (let j = 0; j < $.activityInfoList.length; j++) {
          $.oneActivityInfo = $.activityInfoList[j];
          if ($.oneActivityInfo.status !== 1 || !$.oneActivityInfo.taskToken) {
            continue;
          }
          $.callbackInfo = {};
          console.log(`做任务：${$.oneActivityInfo.title || $.oneActivityInfo.taskName || $.oneActivityInfo.shopName};等待完成`);
          await takePostRequest('zoo_collectScore');
          if ($.callbackInfo.code === 0 && $.callbackInfo.data && $.callbackInfo.data.result && $.callbackInfo.data.result.taskToken) {
            await $.wait(8000);
            let sendInfo = encodeURIComponent(`{"dataSource":"newshortAward","method":"getTaskAward","reqParams":"{\\"taskToken\\":\\"${$.callbackInfo.data.result.taskToken}\\"}","sdkVersion":"1.0.0","clientLanguage":"zh"}`)
            await callbackResult(sendInfo)
          } else if ($.oneTask.taskType === 5 || $.oneTask.taskType === 3 || $.oneTask.taskType === 26) {
            await $.wait(2000);
            console.log(`任务完成`);
          } else {
            console.log($.callbackInfo);
            console.log(`任务失败`);
            await $.wait(3000);
          }
        }
      } else if ($.oneTask.taskType === 2 && $.oneTask.status === 1 && $.oneTask.scoreRuleVos[0].scoreRuleType === 2){
        console.log(`做任务：${$.oneTask.taskName};等待完成 (实际不会添加到购物车)`);
        $.taskId = $.oneTask.taskId;
        $.feedDetailInfo = {};
        await takePostRequest('zoo_getFeedDetail');
        let productList = $.feedDetailInfo.productInfoVos;
        let needTime = Number($.feedDetailInfo.maxTimes) - Number($.feedDetailInfo.times);
        for (let j = 0; j < productList.length && needTime > 0; j++) {
          if(productList[j].status !== 1){
            continue;
          }
          $.taskToken = productList[j].taskToken;
          console.log(`加购：${productList[j].skuName}`);
          await takePostRequest('add_car');
          await $.wait(1500);
          needTime --;
        }
      }else if ($.oneTask.taskType === 2 && $.oneTask.status === 1 && $.oneTask.scoreRuleVos[0].scoreRuleType === 0){
        $.activityInfoList = $.oneTask.productInfoVos ;
        for (let j = 0; j < $.activityInfoList.length; j++) {
          $.oneActivityInfo = $.activityInfoList[j];
          if ($.oneActivityInfo.status !== 1 || !$.oneActivityInfo.taskToken) {
            continue;
          }
          $.callbackInfo = {};
          console.log(`做任务：浏览${$.oneActivityInfo.skuName};等待完成`);
          await takePostRequest('zoo_collectScore');
          if ($.oneTask.taskType === 2) {
            await $.wait(2000);
            console.log(`任务完成`);
          } else {
            console.log($.callbackInfo);
            console.log(`任务失败`);
            await $.wait(3000);
          }
        }
      }
    }
    await $.wait(1000);
    await takePostRequest('zoo_getHomeData');
    raiseInfo = $.homeData.result.homeMainInfo.raiseInfo;
    if (Number(raiseInfo.totalScore) > Number(raiseInfo.nextLevelScore) && raiseInfo.buttonStatus === 1) {
      console.log(`满足升级条件，去升级`);
      await $.wait(1000);
      await takePostRequest('zoo_raise');
    }
    //===================================图鉴里的店铺====================================================================
    if (new Date().getUTCHours() + 8 >= 17 && new Date().getUTCHours() + 8 <= 18 && !$.hotFlag && $.taskFlag) {//分享
      $.myMapList = [];
      await takePostRequest('zoo_myMap');
      for (let i = 0; i < $.myMapList.length; i++) {
        await $.wait(3000);
        $.currentScence = i + 1;
        if ($.myMapList[i].isFirstShare === 1) {
          console.log(`去分享${$.myMapList[i].partyName}`);
          await takePostRequest('zoo_getWelfareScore');
        }
      }
    }
    if (new Date().getUTCHours() + 8 >= 14 && new Date().getUTCHours() + 8 <= 16 && !$.hotFlag && $.taskFlag) {//30个店铺，为了避免代码执行太久，下午2点到5点才做店铺任务
      console.log(`去做店铺任务`);
      $.shopInfoList = [];
      await takePostRequest('qryCompositeMaterials');
      for (let i = 0; i < $.shopInfoList.length; i++) {
        $.shopSign = $.shopInfoList[i].extension.shopId;
        console.log(`执行第${i + 1}个店铺任务：${$.shopInfoList[i].name} ID:${$.shopSign}`);
        $.shopResult = {};
        await takePostRequest('zoo_shopLotteryInfo');
        await $.wait(1000);
        if (JSON.stringify($.shopResult) === `{}`) continue;
        $.shopTask = $.shopResult.taskVos;
        for (let i = 0; i < $.shopTask.length; i++) {
          $.oneTask = $.shopTask[i];
          //console.log($.oneTask);
          if ($.oneTask.taskType === 21 || $.oneTask.taskType === 14 || $.oneTask.status !== 1) { continue; } //不做入会//不做邀请
          $.activityInfoList = $.oneTask.shoppingActivityVos || $.oneTask.simpleRecordInfoVo;
          if ($.oneTask.taskType === 12) {//签到
            if ($.shopResult.dayFirst === 0) {
              $.oneActivityInfo = $.activityInfoList;
              console.log(`店铺签到`);
              await takePostRequest('zoo_bdCollectScore');
            }
            continue;
          }
          for (let j = 0; j < $.activityInfoList.length; j++) {
            $.oneActivityInfo = $.activityInfoList[j];
            if ($.oneActivityInfo.status !== 1 || !$.oneActivityInfo.taskToken) {
              continue;
            }
            $.callbackInfo = {};
            console.log(`做任务：${$.oneActivityInfo.subtitle || $.oneActivityInfo.title || $.oneActivityInfo.taskName || $.oneActivityInfo.shopName};等待完成`);
            await takePostRequest('zoo_collectScore');
            if ($.callbackInfo.code === 0 && $.callbackInfo.data && $.callbackInfo.data.result && $.callbackInfo.data.result.taskToken) {
              await $.wait(8000);
              let sendInfo = encodeURIComponent(`{"dataSource":"newshortAward","method":"getTaskAward","reqParams":"{\\"taskToken\\":\\"${$.callbackInfo.data.result.taskToken}\\"}","sdkVersion":"1.0.0","clientLanguage":"zh"}`)
              await callbackResult(sendInfo)
            } else {
              await $.wait(2000);
              console.log(`任务完成`);
            }
          }
        }
        await $.wait(1000);
        let boxLotteryNum = $.shopResult.boxLotteryNum;
        for (let j = 0; j < boxLotteryNum; j++) {
          console.log(`开始第${j + 1}次拆盒`)
          //抽奖
          await takePostRequest('zoo_boxShopLottery');
          await $.wait(3000);
        }
        // let wishLotteryNum = $.shopResult.wishLotteryNum;
        // for (let j = 0; j < wishLotteryNum; j++) {
        //   console.log(`开始第${j+1}次能量抽奖`)
        //   //抽奖
        //   await takePostRequest('zoo_wishShopLottery');
        //   await $.wait(3000);
        // }
        await $.wait(3000);
      }
    }
    //==================================微信任务========================================================================
    $.wxTaskList = [];
    if (!$.hotFlag && $.taskFlag) await takePostRequest('wxTaskDetail');
    for (let i = 0; i < $.wxTaskList.length && $.taskFlag; i++) {
      $.oneTask = $.wxTaskList[i];
      if ($.oneTask.taskType === 2 || $.oneTask.status !== 1) { continue; } //不做加购
      $.activityInfoList = $.oneTask.shoppingActivityVos || $.oneTask.brandMemberVos || $.oneTask.followShopVo || $.oneTask.browseShopVo;
      for (let j = 0; j < $.activityInfoList.length; j++) {
        $.oneActivityInfo = $.activityInfoList[j];
        if ($.oneActivityInfo.status !== 1 || !$.oneActivityInfo.taskToken) {
          continue;
        }
        $.callbackInfo = {};
        console.log(`做任务：${$.oneActivityInfo.title || $.oneActivityInfo.taskName || $.oneActivityInfo.shopName};等待完成`);
        await takePostRequest('zoo_collectScore');
        if ($.callbackInfo.code === 0 && $.callbackInfo.data && $.callbackInfo.data.result && $.callbackInfo.data.result.taskToken) {
          await $.wait(8000);
          let sendInfo = encodeURIComponent(`{"dataSource":"newshortAward","method":"getTaskAward","reqParams":"{\\"taskToken\\":\\"${$.callbackInfo.data.result.taskToken}\\"}","sdkVersion":"1.0.0","clientLanguage":"zh"}`)
          await callbackResult(sendInfo)
        } else {
          await $.wait(2000);
          console.log(`任务完成`);
        }
      }
    }
    //=======================================================京东金融=================================================================================
    $.jdjrTaskList = [];
    if (!$.hotFlag&&$.taskFlag) await takePostRequest('jdjrTaskDetail');
    await $.wait(1000);
    for (let i = 0; i < $.jdjrTaskList.length && $.taskFlag; i++) {
      $.taskId = $.jdjrTaskList[i].id;
      if ($.taskId === '3980' || $.taskId === '3981' || $.taskId === '3982') continue;
      if ($.jdjrTaskList[i].status === '1' || $.jdjrTaskList[i].status === '3') {
        console.log(`去做任务：${$.jdjrTaskList[i].name}`);
        await takePostRequest('jdjrAcceptTask');
        await $.wait(8000);
        await takeGetRequest();
      } else if ($.jdjrTaskList[i].status === '2') {
        console.log(`任务：${$.jdjrTaskList[i].name},已完成`);
      }
    }
    //======================================================怪兽大作战=================================================================================
    $.pkHomeData = {};
  } catch (e) {
    $.logErr(e)
  }
}

async function takePostRequest(type) {
    let body = ``;
    let myRequest = ``;
    switch (type) {
      case 'zoo_signSingle':
        body = `functionId=zoo_signSingle&body={}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_signSingle`, body);
        break;
      case 'zoo_getHomeData':
        body = `functionId=zoo_getHomeData&body={}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_getHomeData`, body);
        break;
      case 'helpHomeData':
        body = `functionId=zoo_getHomeData&body={"inviteId":"${$.inviteId}"}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_getHomeData`, body);
        break;
      case 'zoo_collectProduceScore':
        body = getPostBody(type);
        myRequest = await getPostRequest(`zoo_collectProduceScore`, body);
        break;
      case 'zoo_getFeedDetail':
        body = `functionId=zoo_getFeedDetail&body={"taskId":"${$.taskId}"}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_getFeedDetail`, body);
        break;
      case 'zoo_getTaskDetail':
        body = `functionId=zoo_getTaskDetail&body={}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_getTaskDetail`, body);
        break;
      case 'zoo_collectScore':
        body = getPostBody(type);
        //console.log(body);
        myRequest = await getPostRequest(`zoo_collectScore`, body);
        break;
      case 'zoo_raise':
        body = `functionId=zoo_raise&body={}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_raise`, body);
        break;
      case 'help':
        body = getPostBody(type);
        //console.log(body);
        myRequest = await getPostRequest(`zoo_collectScore`, body);
        break;
      case 'zoo_pk_getHomeData':
        body = `functionId=zoo_pk_getHomeData&body={}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_pk_getHomeData`, body);
        break;
      case 'zoo_pk_getTaskDetail':
        body = `functionId=zoo_pk_getTaskDetail&body={}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_pk_getTaskDetail`, body);
        break;
      case 'zoo_pk_collectScore':
        body = getPostBody(type);
        //console.log(body);
        myRequest = await getPostRequest(`zoo_pk_collectScore`, body);
        break;
      case 'zoo_pk_doPkSkill':
        body = `functionId=zoo_pk_doPkSkill&body={"skillType":"${$.skillCode}"}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_pk_doPkSkill`, body);
        break;
      case 'pkHelp':
        body = getPostBody(type);
        myRequest = await getPostRequest(`zoo_pk_assistGroup`, body);
        break;
      case 'pkHelpp':
        body = getPostBody(type);
        myRequest = await getPostRequest(`zoo_pk_assistGroup`, body);
        break;
      case 'zoo_getSignHomeData':
        body = `functionId=zoo_getSignHomeData&body={"notCount":"1"}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_getSignHomeData`,body);
        break;
      case 'zoo_sign':
        body = `functionId=zoo_sign&body={}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_sign`,body);
        break;
      case 'wxTaskDetail':
        body = `functionId=zoo_getTaskDetail&body={"appSign":"2","channel":1,"shopSign":""}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_getTaskDetail`,body);
        break;
      case 'zoo_shopLotteryInfo':
        body = `functionId=zoo_shopLotteryInfo&body={"shopSign":"${$.shopSign}"}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_shopLotteryInfo`,body);
        break;
      case 'zoo_bdCollectScore':
        body = getPostBody(type);
        myRequest = await getPostRequest(`zoo_bdCollectScore`,body);
        break;
      case 'qryCompositeMaterials':
        body = `functionId=qryCompositeMaterials&body={"qryParam":"[{\\"type\\":\\"advertGroup\\",\\"mapTo\\":\\"resultData\\",\\"id\\":\\"05371960\\"}]","activityId":"2s7hhSTbhMgxpGoa9JDnbDzJTaBB","pageId":"","reqSrc":"","applyKey":"jd_star"}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`qryCompositeMaterials`,body);
        break;
      case 'zoo_boxShopLottery':
        body = `functionId=zoo_boxShopLottery&body={"shopSign":"${$.shopSign}"}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_boxShopLottery`,body);
        break;
      case `zoo_wishShopLottery`:
        body = `functionId=zoo_wishShopLottery&body={"shopSign":"${$.shopSign}"}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_boxShopLottery`,body);
        break;
      case `zoo_myMap`:
        body = `functionId=zoo_myMap&body={}&client=wh5&clientVersion=1.0.0`;
        myRequest = await getPostRequest(`zoo_myMap`,body);
        break;
      case 'zoo_getWelfareScore':
        body = getPostBody(type);
        myRequest = await getPostRequest(`zoo_getWelfareScore`,body);
        break;
      case 'jdjrTaskDetail':
        body = `reqData={"eid":"","sdkToken":"jdd014JYKVE2S6UEEIWPKA4B5ZKBS4N6Y6X5GX2NXL4IYUMHKF3EEVK52RQHBYXRZ67XWQF5N7XB6Y2YKYRTGQW4GV5OFGPDPFP3MZINWG2A01234567"}`;
        myRequest = await getPostRequest(`listTask`,body);
        break;
      case 'jdjrAcceptTask':
        body = `reqData={"eid":"","sdkToken":"jdd014JYKVE2S6UEEIWPKA4B5ZKBS4N6Y6X5GX2NXL4IYUMHKF3EEVK52RQHBYXRZ67XWQF5N7XB6Y2YKYRTGQW4GV5OFGPDPFP3MZINWG2A01234567","id":"${$.taskId}"}`;
        myRequest = await getPostRequest(`acceptTask`,body);
        break;
      case 'add_car':
        body = getPostBody(type);
        myRequest = await getPostRequest(`zoo_collectScore`,body);
        break;
      default:
        console.log(`错误${type}`);
    }
    return new Promise(async resolve => {
      $.post(myRequest, (err, resp, data) => {
        try {
          //console.log(data);
          dealReturn(type, data);
        } catch (e) {
          $.logErr(e, resp)
        } finally {
          resolve();
        }
      })
    })
  }

async function dealReturn(type, data) {
  try {
    data = JSON.parse(data);
  } catch (e) {
    console.log(`返回异常：${data}`);
    return;
  }
  switch (type) {
    case 'zoo_signSingle':
      if (data.code === 0) $.signSingle = data.data
      break;
    case 'zoo_getHomeData':
      if (data.code === 0) {
        if (data.data['bizCode'] === 0) {
          $.homeData = data.data;
          $.secretp = data.data.result.homeMainInfo.secretp;
          $.secretpInfo[$.UserName] = $.secretp;
        }
      }
      break;
    case 'helpHomeData':
      console.log(data)
      if (data.code === 0) {
        $.secretp = data.data.result.homeMainInfo.secretp;
        //console.log(`$.secretp：${$.secretp}`);
      }
      break;
    case 'zoo_collectProduceScore':
      if (data.code === 0 && data.data && data.data.result) {
        console.log(`收取成功，获得：${data.data.result.produceScore}`);
      } else {
        console.log(JSON.stringify(data));
      }
      if (data.code === 0 && data.data && data.data.bizCode === -1002) {
        $.hotFlag = true;
        console.log(`正在修复中-2021.6.11`)
      }
      if (data.code === 0 && data.data && data.data.bizCode === -1001) {
        console.log(`收集金币火爆，不过暂不影响其他任务`)
      }
      break;
    case 'zoo_getTaskDetail':
      if (data.code === 0) {
        console.log(`互助码：${data.data.result.inviteId || '助力已满，获取助力码失败'}`);
        if (data.data.result.inviteId) {
          $.inviteList.push({
            'ues': $.UserName,
            'secretp': $.secretp,
            'inviteId': data.data.result.inviteId,
            'max': false
          });
        }
        $.taskList = data.data.result.taskVos;
      }
      break;
    case 'zoo_collectScore':
      $.callbackInfo = data;
      break;
    case 'zoo_raise':
      if (data.code === 0) console.log(`升级成功`);
      break;
    case 'help':
    case 'pkHelp':
        //console.log(data);
        switch (data.data.bizCode) {
            case 0:
                console.log(`助力成功`);
                break;
            case -201:
                console.log(`助力已满`);
                $.oneInviteInfo.max = true;
                break;
            case -202:
                console.log(`已助力`);
                break;
            case -4:
                console.log(`不能为自己的队伍助力！`);
                break;
            case -8:
                console.log(`已经助力过该队伍`);
                break;
            case -6:
            case 108:
                console.log(`助力次数已用光`);
                $.canHelp = false;
                break;
            case 109:
                console.log(`不能给自己助力哦！`);
                break;
            case -1002:
                $.canHelp = false;
                break;
            case -5001:
                console.log(`邀请活动已满`);
                $.invitecanHelp = false;
                break;
            default:
                console.log(`怪兽大作战助力失败：${JSON.stringify(data)}`);
            }
            break;
    case 'pkHelpp':
        break;
    case 'zoo_pk_getHomeData':
      if (data.code === 0) {
        console.log(`PK互助码：${data.data.result.groupInfo.groupAssistInviteId}`);
        if (data.data.result.groupInfo.groupAssistInviteId) $.pkInviteList.push(data.data.result.groupInfo.groupAssistInviteId);
        $.pkHomeData = data.data;
      }
      break;
    case 'zoo_getFeedDetail':
      if (data.code === 0) {
        $.feedDetailInfo = data.data.result.addProductVos[0];
      }
      break;
    case 'zoo_pk_collectScore':
      break;
    case 'zoo_pk_doPkSkill':
      if (data.data.bizCode === 0) console.log(`使用成功\n`);
      if (data.data.bizCode === -2) {
        console.log(`队伍任务已经完成，恭喜你暂时顺利通过挑战`);
        $.doSkillFlag = false;
      } else if (data.data.bizCode === -2003) {
        console.log(`现在不能打怪兽`);
        $.doSkillFlag = false;
      }
      break;
    case 'zoo_getSignHomeData':
      if (data.code === 0) {
        $.signHomeData = data.data.result;
      }
      break;
    case 'zoo_sign':
      if (data.code === 0 && data.data.bizCode === 0) {
        console.log(`签到获得成功`);
        if (data.data.result.redPacketValue) console.log(`签到获得：${data.data.result.redPacketValue} 红包`);
      } else {
        console.log(`签到失败`);
        console.log(data);
      }
      break;
    case 'wxTaskDetail':
      if (data.code === 0) {
        $.wxTaskList = data.data.result.taskVos;
      }
      break;
    case 'zoo_shopLotteryInfo':
      if (data.code === 0) {
        $.shopResult = data.data.result;
      }
      break;
    case 'zoo_bdCollectScore':
      if (data.code === 0) {
        console.log(`签到获得：${data.data.result.score}`);
      }
      break;
    case 'qryCompositeMaterials':
      //console.log(data);
      if (data.code === '0') {
        $.shopInfoList = data.data.resultData.list;
        console.log(`获取到${$.shopInfoList.length}个店铺`);
      }
      break
    case 'zoo_boxShopLottery':
      let result = data.data.result;
      switch (result.awardType) {
        case 8:
          console.log(`获得金币：${result.rewardScore}`);
          break;
        case 5:
          console.log(`获得：adidas能量`);
          break;
        case 2:
        case 3:
          console.log(`获得优惠券：${result.couponInfo.usageThreshold} 优惠：${result.couponInfo.quota}，${result.couponInfo.useRange}`);
          break;
        default:
          console.log(`抽奖获得未知`);
          console.log(JSON.stringify(data));
      }
      break
    case 'zoo_wishShopLottery':
      console.log(JSON.stringify(data));
      break
    case `zoo_myMap`:
      if (data.code === 0) {
        $.myMapList = data.data.result.sceneMap.sceneInfo;
      }
      break;
    case 'zoo_getWelfareScore':
      if (data.code === 0) {
        console.log(`分享成功，获得：${data.data.result.score}`);
      }
      break;
    case 'jdjrTaskDetail':
      if (data.resultCode === 0) {
        $.jdjrTaskList = data.resultData.top;
      }
      break;
    case 'jdjrAcceptTask':
      if (data.resultCode === 0) {
        console.log(`领任务成功`);
      }
      break;
    case 'add_car':
      if (data.code === 0) {
        let acquiredScore = data.data.result.acquiredScore;
        if (Number(acquiredScore) > 0) {
          console.log(`加购成功,获得金币:${acquiredScore}`);
        } else {
          console.log(`加购成功`);
        }
      } else {
        console.log(JSON.stringify(data));
        console.log(`加购失败`);
      }
      break
    default:
      console.log(`未判断的异常${type}`);
  }
}

function takeGetRequest(){
    return new Promise(async resolve => {
      $.get({
        url:`https://ms.jr.jd.com/gw/generic/mission/h5/m/finishReadMission?reqData={%22missionId%22:%22${$.taskId}%22,%22readTime%22:8}`,
        headers:{
          'Origin' : `https://prodev.m.jd.com`,
          'Cookie': $.cookie,
          'Connection' : `keep-alive`,
          'Accept' : `*/*`,
          'Referer' : `https://prodev.m.jd.com`,
          'Host' : `ms.jr.jd.com`,
          "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.0;14.1;"),
          'Accept-Encoding' : `gzip, deflate, br`,
          'Accept-Language' : `zh-cn`
        }
      }, (err, resp, data) => {
        try {
          data = JSON.parse(data);
          if (data.resultCode === 0) {
            console.log(`任务完成`);
          }
        } catch (e) {
          $.logErr(e, resp)
        } finally {
          resolve();
        }
      })
    })
  }
  
  //领取奖励
  function callbackResult(info) {
    return new Promise((resolve) => {
      let url = {
        url: `https://api.m.jd.com/?functionId=qryViewkitCallbackResult&client=wh5&clientVersion=1.0.0&body=${info}&_timestamp=` + Date.now(),
        headers: {
          'Origin': `https://bunearth.m.jd.com`,
          'Cookie': $.cookie,
          'Connection': `keep-alive`,
          'Accept': `*/*`,
          'Host': `api.m.jd.com`,
          "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.0;14.1;"),
          'Accept-Encoding': `gzip, deflate, br`,
          'Accept-Language': `zh-cn`,
          'Content-Type': 'application/x-www-form-urlencoded',
          'Referer': 'https://bunearth.m.jd.com'
        }
      }
  
      $.get(url, async (err, resp, data) => {
        try {
          data = JSON.parse(data);
          console.log(data.toast.subTitle)
        } catch (e) {
          $.logErr(e, resp);
        } finally {
          resolve()
        }
      })
    })
  }
  
  async function getPostRequest(type, body) {
    let url = `https://api.m.jd.com/client.action?functionId=${type}`;
    if(type === 'listTask' || type === 'acceptTask' ){
      url = `https://ms.jr.jd.com/gw/generic/hy/h5/m/${type}`;
    }
    const method = `POST`;
    const headers = {
      'Accept': `application/json, text/plain, */*`,
      'Origin': `https://wbbny.m.jd.com`,
      'Accept-Encoding': `gzip, deflate, br`,
      'Cookie': $.cookie,
      'Content-Type': `application/x-www-form-urlencoded`,
      'Host': `api.m.jd.com`,
      'Connection': `keep-alive`,
      "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.0;14.1;"),
      'Referer': `https://wbbny.m.jd.com`,
      'Accept-Language': `zh-cn`
    };
    return {url: url, method: method, headers: headers, body: body};
  }

function getPostBody(type) {
    let taskBody = '';
    if (type === 'help') {
      taskBody = `functionId=zoo_collectScore&body=${JSON.stringify({"taskId": 2,"inviteId":$.inviteId,"actionType":1,"ss" :getBody()})}&client=wh5&clientVersion=1.0.0`
    } else if (type === 'pkHelp') {
      taskBody = `functionId=zoo_pk_assistGroup&body=${JSON.stringify({"confirmFlag": 1,"inviteId" : $.pkInviteId,"ss" : getBody()})}&client=wh5&clientVersion=1.0.0`;
    } else if (type === 'zoo_collectProduceScore') {
      taskBody = `functionId=zoo_collectProduceScore&body=${JSON.stringify({"ss" :getBody()})}&client=wh5&clientVersion=1.0.0`;
    } else if(type === 'zoo_getWelfareScore'){
      taskBody = `functionId=zoo_getWelfareScore&body=${JSON.stringify({"type": 2,"currentScence":$.currentScence,"ss" : getBody()})}&client=wh5&clientVersion=1.0.0`;
    } else if(type === 'add_car'){
      taskBody = `functionId=zoo_collectScore&body=${JSON.stringify({"taskId": $.taskId,"taskToken":$.taskToken,"actionType":1,"ss" : getBody()})}&client=wh5&clientVersion=1.0.0`
    }else{
      taskBody = `functionId=${type}&body=${JSON.stringify({"taskId": $.oneTask.taskId,"actionType":1,"taskToken" : $.oneActivityInfo.taskToken,"ss" : getBody()})}&client=wh5&clientVersion=1.0.0`
    }
    return taskBody
  }

/**
 * 随机从一数组里面取
 * @param arr
 * @param count
 * @returns {Buffer}
 */
function getRandomArrayElements(arr, count) {
  var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index;
  while (i-- > min) {
    index = Math.floor((i + 1) * Math.random());
    temp = shuffled[index];
    shuffled[index] = shuffled[i];
    shuffled[i] = temp;
  }
  return shuffled.slice(min);
}
function getAuthorShareCode(url = "http://cdn.annnibb.me/eb6fdc36b281b7d5eabf33396c2683a2.json") {
  return new Promise(async resolve => {
    const options = {
      "url": `${url}?${new Date()}`,
      "timeout": 10000,
      "headers": {
        "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88"
      }
    };
    if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) {
      const tunnel = require("tunnel");
      const agent = {
        https: tunnel.httpsOverHttp({
          proxy: {
            host: process.env.TG_PROXY_HOST,
            port: process.env.TG_PROXY_PORT * 1
          }
        })
      }
      Object.assign(options, { agent })
    }
    $.get(options, async (err, resp, data) => {
      try {
        if (err) {
        } else {
          if (data) data = JSON.parse(data)
        }
      } catch (e) {
        // $.logErr(e, resp)
      } finally {
        resolve(data || []);
      }
    })
    await $.wait(10000)
    resolve();
  })
}

function TotalBean() {
  return new Promise(async resolve => {
    const options = {
      url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion",
      headers: {
        Host: "me-api.jd.com",
        Accept: "*/*",
        Connection: "keep-alive",
        Cookie: $.cookie,
        "User-Agent": `Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.5(0x18000528) NetType/WIFI Language/zh_CN`,
        "Accept-Language": "zh-cn",
        "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&",
        "Accept-Encoding": "gzip, deflate, br"
      }
    }
    $.get(options, (err, resp, data) => {
      try {
        if (err) {
          $.logErr(err)
        } else {
          if (data) {
            data = JSON.parse(data);
            if (data['retcode'] === "1001") {
              $.isLogin = false; //cookie过期
              return;
            }
            if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) {
              $.nickName = data.data.userInfo.baseInfo.nickname;
            }
          } else {
            $.log('京东服务器返回空数据');
          }
        }
      } catch (e) {
        $.logErr(e)
      } finally {
        resolve();
      }
    })
  })
}

//初始化
function initial() {
    merge = {
      nickname: "",
      enabled: true,
      end: false,
      black: false
    }
    for (let i in merge) {
      merge[i].success = 0;
      merge[i].fail = 0;
      merge[i].prizeCount = 0;
      merge[i].notify = "";
      merge[i].show = true;
    }
    showCode = true;
  }

var _0xodE='jsjiami.com.v6',_0x4a6d=[_0xodE,'DMOFUMKKTEMBw4jDqFY=','OCbCl8Kwwo8=','w4IWS8K8wqg=','SgPDpAhf','JMO3XsKfaw==','ZsKqT8Oswr0=','YMOuw65Mw6nCqMKbbsOPaBZLwo3DrG5iw4hrw6tCw5HChMK5Z8O6wpUHwrwRaMKBwrXDog5dG2zCn8KfwrzCr8OVOsK7wqQlCyrDshFUwo9ZQsOVwofCsDjDnFDCt8K1woHDjMKow7A+L8O4Nl3DocOpwovDkcOcG3bCqDQJw6PDhj9swpYOZQx9w6bDoMKAJMOiw4ggNWE9RMK2w75xYypwwoLCnsOS','w7wpXg==','wpIYwq0=','w57CtC3CmsKz','wrTDik3CnEE=','wqNpwpYYJ8KN','fQnCg8OKK2Qbw5Y=','NsOtBMOYKw==','PMOswpI=','PHglJFk=','wr54AMOoO3/CtA==','BcOmw7XCscO4w4Y=','HMOKKHjDn198csO+L8KW','w5bCjHnDulY=','woBINsOhFg==','LyrCosKtwoU=','UcOdw4xgWw==','wqLDjU7CoVhKXcO4w7c9RQ==','w4YUwqNiw4FxOMO8','wovDhWjDrklvDWDCm8KgRyc9w6/Dki1yL8KzY8O2wp8Cw68ow4TClcOTRXzCqMKxwoxfTsOxwpzDhjxkw4bCg8KeGlQHU8OowpPDgcKmV1LDrWrDlDPCgwEdwpLCs8KQZgPDlkLDiMKc','ecOgw4Ysw6PCi8Kiw4g=','w453w7HDjsKnB352w54aw5XCq0PDssKXw6UvXSbDrR5IZR3Du8KDK8OMw5wvNEBbJ8KpQURbHEl4w6fDtgjDrmnCvsKNw5ooHcKJwoXCucOqQsOvPcKewrFlw5cKw7HDsXPCkH/DuTohw5fDqsOwFxHCpcObw6LDkWRiw48Rwq/CiRvDh8OGWcOxw60mXlDCv8K4wobCksOawqDCi8OVfUIlSsOmG8OWwpHDpl7CjcK1','fCvDmjB1bMKpDA==','wpTDuijCnsOjwq3DusOWw5ohd8OpZBHCmcKswrvDvMOQwqPCt8OQXE3Dq8KlwoHCi33DtmxMHSfDiMKuwoQhYMKIN8KwGQfDvcOMNwrDh3p/woF+C8KeOETDs8KWPQd5wrjDkMOFXB1xw43DosOCXnFYw4LCksObIgjDoXlaMMOKwpEbbsO3wpMywpoVYivCh1jDuHzCrBzDk8OhEMKVaBU2YcOHR8O8cGfDkMK5LMKVdsO8w6o9wp1JwrsOacKzw7nDtjxyTRTCjG1eTVPCvyBDPw7CqVvChz4Nwrw7w6JzwoR5PsO1TzF3OcKvw4/DsMKJw5dmPsKxF8KiDsOCwrnDusOvw75hwqfCnsO9FcKYw5PClcKhIXjCo8KvHcORKiATcsKowrp5w5bDkcKXw6vCkMOSY8OCwrrDtBdOa09UT2xpKcOYNsObw4oRbcO8wrPDr8KOw77CksKXw7PCksOAG8OCQVLDiMKSwqMPAMOew7RzbxdKw7fDhBvCmcKVJRVkwqAMw5kCYUlsVRXDrAVKw684BSzDqsOtwrjCiQnCusODbsKHw5xhwpskCsO1YcOqw5UdD8O+w44DbcOcw7nDtsOewpDCjX4QKg==','BsOBAMONwo9vWMKIV8OBwpIECcKhw4/CuD3CvA8EfcK3wqLCncO8EsOpw6l9OMO9wqoLVMOTQFBRDWLDnm7DpzgdFijDu8OsQMO7JCrDvAZ1cinDmMK1M8OKW8KOJcKpwrHDmMOVwpHDu8KHw5TCnivDqyllByLDqCAYPltKw6vDvcOkw6wUJsKyw51RW8OXfDBjUlVfJ0sRwptWW8Kvw5DDhMOGaHbDjsO3w68dw6fDlsOrD8OOSMOLwpfDt8Orw7xXw5sbWsK8f3HDt2bCvXnDtRMcwoQ9V2J2wo49wqIwwqPCpMORwpU6JsKzw4IzFltuajdTw4lN','ecOWPmbDiFVpUg==','eMOJw7k=','IsOpA8Kr','wovCuFUXw7E=','RiPDvyJF','woZ8wqkvHA==','bsOYw5Ftw4vCq8KbeA==','RsO8w78=','w7AawoNzwoUs','w5zCmkk0USXDqsKX','wo0XwqPDlsK6','QsOew6zCs8Ol','wpsTwrLDthw=','UMKCccOUwpckDMK0','wpgRwo3Doxk=','w57DiMKCwqlbN1t+Bw==','wrptwrIKHA==','woHDkMOLD8Kqw7kX','wqVnwqsIOsKJwqXDpg==','w75QwqR4w4XDlg==','w6QJb8KXwpPCuw==','w6gNTsOrw5c=','wq9xD8O+F33DrWvDkXU=','w64OYcO4w4s=','wodgwqk2Pg==','NMOaFsO7GQ==','LUgfP14=','UQLCvsO7Lg==','ORLCr8Kbwrw=','TC3CpsOGCw==','wpJ7wq0bIw==','CsOTwq5lw50=','wpnDrW7CiG4=','ZsOiw6pbw5I=','d8O3DcK4J8KUw5fDvw==','UcKcTMOxwqg=','acKpccO4wpc=','w4vDoUnCu3c=','w6vDsMKPVMKq','w7fCiADCjcKR','w6LDrMKywrhl','w4rCtSXCnsKW','wpQdY8KWcw==','AMO2LMKdwqI=','w77Cm8OZw7vDug==','EsOvBMKxwrc=','w5LDrcK5fsK/','QsOrEMKEBQ==','wrE+wpDDmzE=','w7nDjcKLZcKZ','T8KHdcOowrY=','TMOIHMK0BQ==','wp7Cu8Opwrog','w6nCtFIibA==','wqzDo1FycA==','wrEcWcKcW8KXK8O9w7guwoc4','DQ7Dt8OkLg==','wqzCkms2w4M=','FB1swrrCkw==','wqlOwrQ0LA==','wpbDrCLDvRQ=','b8OIw69GcA==','TwBUwoTCrw==','w4rCuSzCkcKuw7o=','RcOwDMKnPg==','esOAw6rCl8O2','VsOyw4BfWg==','T8OLIW/Dmw==','wqBABsOAEQ==','wrHCg8OkwqrDjg==','PsOmwot3w6HChA==','RMOfw61rbA==','w6XDjXvCkUbCgm7Dh8Kcw5A=','TsOCw4lvw7zCq8K1TsOUZg==','bcOSw6lA','w4rCtzfCm8Kl','ccO5MMKoOsKQ','wpnCncODwoDDnw==','wr1twpYbPMKI','wrsLWMKWbMKX','wo4VwrTDhSZO','V8OFPw==','CH8gA3c=','wpHCg3jCsw==','wqjDnEwawos=','w7NXwrk=','w4zCtxHCgcKzw77CtsOU','FgTClMKbwqPCuA==','wpvDqXNabA==','YVDDjUPDhA==','w6bCvn4QaQ==','wqB8AMOrIHo=','w5QJwp97w7BwN8Opwoo2woPCjQ==','wo8zwrLDi8KBDDgpwr0a','csO9w7NdWA==','A8OyNsOnAMOkRio=','dVBoP1LCusKKIsKTdw==','w4nDq8KgbsK5wqPCjGxBwrQ=','wqR4HcODI3zDmXzDv3F/bh8p','w7Y/wohcw4o=','CQ3Ck8KfwrI=','w5vCsCPCh8KCw7jCvMOWwq5n','CTnCtFoT','b8O9MMKrIcKV','w4TCkHQnVyQ=','w5nCnndbw54=','w7o9woJVw4A=','wpfDtHnCulg=','QRBvwqrClBM=','IsO2wpZ4','wqbCjljDpQo=','wqvCmsOCwp/DhjDDgMKf','PSxwwos=','wqZ2B8Oi','GDfDucOWGQ==','w4o7WMKqwqE=','w5TCvSzCksK1w78=','w6TChMOvw7g=','ag7CscOMGmIRw5Q3Kg==','woLDlU16fg==','w5jDl1Uyw4QI','w73DtMKEwrBN','w4V6wpxZw5Q=','YcOZw7g0w7I=','XgXDrCVm','wr58HsOgNXHDrA==','wo3DtEsEwo7Dog==','BMKuwoHDqn4=','fmPDmWDDvQ==','A0Q3L3I=','w7/DqsKURMK9','bMOUw7HCncOV','X8OLw4Z5w5DCqQ==','A0w6IlNy','w48rZ8OSw7HDssONw4vDg8Of','ccOdw53CssOH','w6HDusK5woZ6','w6bDhcKIWsK1','bsO+N2fDiw==','MD/DtMO2Cw==','w7LCg8Ozw73DgR04fVjCscOLag==','w5PDqcKsZsK7','bsOYw5LCmcOY','R8O1w58Uw54=','FsOHXMKCTg==','DMKuwrnDhHPDtVnDlVhNPsKu','w6LCj1AMbA==','QnfDvWLDhhLDiFhsw5kUbBbDvQ==','wqhVBcONOg==','w6rDgHTChHHChQ==','R8OJw6tHw6s=','jsjKKEianymiPqNOY.cxZxokVm.v6=='];(function(_0x45954e,_0x572407,_0x167927){var _0x58b224=function(_0x3e2446,_0x253876,_0x129efa,_0x559e8c,_0x2a55c1){_0x253876=_0x253876>>0x8,_0x2a55c1='po';var _0x1fb700='shift',_0x5e6a39='push';if(_0x253876<_0x3e2446){while(--_0x3e2446){_0x559e8c=_0x45954e[_0x1fb700]();if(_0x253876===_0x3e2446){_0x253876=_0x559e8c;_0x129efa=_0x45954e[_0x2a55c1+'p']();}else if(_0x253876&&_0x129efa['replace'](/[KKEnyPqNOYxZxkV=]/g,'')===_0x253876){_0x45954e[_0x5e6a39](_0x559e8c);}}_0x45954e[_0x5e6a39](_0x45954e[_0x1fb700]());}return 0x8e5cc;};return _0x58b224(++_0x572407,_0x167927)>>_0x572407^_0x167927;}(_0x4a6d,0x10d,0x10d00));var _0x3d62=function(_0x4150aa,_0x2d1ca2){_0x4150aa=~~'0x'['concat'](_0x4150aa);var _0x2a8a91=_0x4a6d[_0x4150aa];if(_0x3d62['NfkMQB']===undefined){(function(){var _0x5b1297;try{var _0x35506e=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');');_0x5b1297=_0x35506e();}catch(_0x3ffb8d){_0x5b1297=window;}var _0x37ecb0='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x5b1297['atob']||(_0x5b1297['atob']=function(_0x1d0671){var _0xc2cfb9=String(_0x1d0671)['replace'](/=+$/,'');for(var _0x4f52b8=0x0,_0x465756,_0x18714c,_0x4d83cc=0x0,_0x18c5ba='';_0x18714c=_0xc2cfb9['charAt'](_0x4d83cc++);~_0x18714c&&(_0x465756=_0x4f52b8%0x4?_0x465756*0x40+_0x18714c:_0x18714c,_0x4f52b8++%0x4)?_0x18c5ba+=String['fromCharCode'](0xff&_0x465756>>(-0x2*_0x4f52b8&0x6)):0x0){_0x18714c=_0x37ecb0['indexOf'](_0x18714c);}return _0x18c5ba;});}());var _0x47eecc=function(_0x5992a3,_0x2d1ca2){var _0x148ba5=[],_0x268d64=0x0,_0x3161dc,_0x515d3f='',_0x276f3a='';_0x5992a3=atob(_0x5992a3);for(var _0x4123d9=0x0,_0x3ded65=_0x5992a3['length'];_0x4123d9<_0x3ded65;_0x4123d9++){_0x276f3a+='%'+('00'+_0x5992a3['charCodeAt'](_0x4123d9)['toString'](0x10))['slice'](-0x2);}_0x5992a3=decodeURIComponent(_0x276f3a);for(var _0x3410d9=0x0;_0x3410d9<0x100;_0x3410d9++){_0x148ba5[_0x3410d9]=_0x3410d9;}for(_0x3410d9=0x0;_0x3410d9<0x100;_0x3410d9++){_0x268d64=(_0x268d64+_0x148ba5[_0x3410d9]+_0x2d1ca2['charCodeAt'](_0x3410d9%_0x2d1ca2['length']))%0x100;_0x3161dc=_0x148ba5[_0x3410d9];_0x148ba5[_0x3410d9]=_0x148ba5[_0x268d64];_0x148ba5[_0x268d64]=_0x3161dc;}_0x3410d9=0x0;_0x268d64=0x0;for(var _0x321b87=0x0;_0x321b87<_0x5992a3['length'];_0x321b87++){_0x3410d9=(_0x3410d9+0x1)%0x100;_0x268d64=(_0x268d64+_0x148ba5[_0x3410d9])%0x100;_0x3161dc=_0x148ba5[_0x3410d9];_0x148ba5[_0x3410d9]=_0x148ba5[_0x268d64];_0x148ba5[_0x268d64]=_0x3161dc;_0x515d3f+=String['fromCharCode'](_0x5992a3['charCodeAt'](_0x321b87)^_0x148ba5[(_0x148ba5[_0x3410d9]+_0x148ba5[_0x268d64])%0x100]);}return _0x515d3f;};_0x3d62['GufxEW']=_0x47eecc;_0x3d62['dDoVZc']={};_0x3d62['NfkMQB']=!![];}var _0x22ff33=_0x3d62['dDoVZc'][_0x4150aa];if(_0x22ff33===undefined){if(_0x3d62['TsbUcs']===undefined){_0x3d62['TsbUcs']=!![];}_0x2a8a91=_0x3d62['GufxEW'](_0x2a8a91,_0x2d1ca2);_0x3d62['dDoVZc'][_0x4150aa]=_0x2a8a91;}else{_0x2a8a91=_0x22ff33;}return _0x2a8a91;};function randomWord(_0x30f8a9,_0x2372d7,_0x21bfe4){var _0x489ecd={'DjnnN':function(_0x2223a7,_0x49c1d5){return _0x2223a7^_0x49c1d5;},'PcilL':function(_0x53ed98,_0x4b0835){return _0x53ed98-_0x4b0835;},'YIyrT':function(_0x31a151,_0x593c64){return _0x31a151-_0x593c64;},'FhRkk':function(_0x348d78,_0x517510){return _0x348d78-_0x517510;},'YRvKk':function(_0x379d0c,_0x25ec32){return _0x379d0c|_0x25ec32;},'KUZwN':function(_0x481281,_0x4c37c6){return _0x481281<<_0x4c37c6;},'nvuAz':function(_0x56b141,_0x10324f){return _0x56b141>=_0x10324f;},'YxwCx':function(_0x738e78,_0x4151ea){return _0x738e78^_0x4151ea;},'YDoYZ':function(_0x45a093,_0x2570aa){return _0x45a093===_0x2570aa;},'xFLHd':_0x3d62('0','NFsF'),'cDfwe':function(_0x5f0c3f,_0xbfae58){return _0x5f0c3f+_0xbfae58;},'buUIO':function(_0x196216,_0xb99657){return _0x196216*_0xb99657;},'uofyg':function(_0x434460,_0xb0e24f){return _0x434460<_0xb0e24f;},'lYhLE':'MMiBl','rmnPn':_0x3d62('1','c[lL'),'CQgKo':function(_0x83e4dc,_0x16264f){return _0x83e4dc*_0x16264f;}};let _0x59b537='',_0x4d6c9c=_0x2372d7,_0x52ee09=['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','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'];if(_0x30f8a9){if(_0x489ecd[_0x3d62('2','G#Wr')](_0x489ecd[_0x3d62('3','o%l3')],'zzzSC')){_0x4d6c9c=_0x489ecd[_0x3d62('4','bJRv')](Math[_0x3d62('5','wbsS')](_0x489ecd[_0x3d62('6','lQxr')](Math[_0x3d62('7','T^%0')](),_0x489ecd[_0x3d62('8','E!kl')](_0x21bfe4,_0x2372d7))),_0x2372d7);}else{var _0x22b433=_0x489ecd['DjnnN'](a[_0x489ecd['PcilL'](m,0x3)]^a[_0x489ecd['YIyrT'](m,0x8)]^a[_0x489ecd['FhRkk'](m,0xe)],a[_0x489ecd['FhRkk'](m,0x10)]);a[m]=_0x489ecd[_0x3d62('9','47Ws')](_0x489ecd[_0x3d62('a','wbsS')](_0x22b433,0x1),_0x22b433>>>0x1f);}}for(let _0x481936=0x0;_0x489ecd[_0x3d62('b','sF)5')](_0x481936,_0x4d6c9c);_0x481936++){if(_0x489ecd[_0x3d62('c','Dd4]')]===_0x489ecd['rmnPn']){j=_0x481936;if(_0x489ecd[_0x3d62('d','Enij')](j,nonstr['length']))j-=nonstr[_0x3d62('e','k18J')];a=_0x489ecd[_0x3d62('f','wbsS')](time['toString']()[_0x3d62('10','g&IT')](_0x481936),nonstr[_0x3d62('11','YUNh')](j));key[_0x3d62('12','wbsS')](a%0xa);}else{pos=Math[_0x3d62('13','T^%0')](_0x489ecd['CQgKo'](Math[_0x3d62('14','E!kl')](),_0x489ecd[_0x3d62('15','Enij')](_0x52ee09[_0x3d62('16','o%l3')],0x1)));_0x59b537+=_0x52ee09[pos];}}return _0x59b537;}function minusByByte(_0x19ec39,_0x447722){var _0x124870={'gVtFP':function(_0x18ab12,_0x589260){return _0x18ab12!==_0x589260;},'hJDwI':function(_0x48bc4d,_0x1b319f,_0x1dce1c){return _0x48bc4d(_0x1b319f,_0x1dce1c);},'IMiyq':function(_0x2b6e4a,_0x53389c){return _0x2b6e4a<_0x53389c;},'BabMY':function(_0x18c4bd,_0x3b48dd){return _0x18c4bd-_0x3b48dd;}};var _0x19016a=_0x19ec39[_0x3d62('17','HNn2')],_0x1e3983=_0x447722[_0x3d62('18','UBJp')],_0x298c49=Math[_0x3d62('19','sF)5')](_0x19016a,_0x1e3983),_0x5e4c21=toAscii(_0x19ec39),_0x3b6fd0=toAscii(_0x447722),_0x2ac51d='',_0x834802=0x0;for(_0x124870[_0x3d62('1a',')0sG')](_0x19016a,_0x1e3983)&&(_0x5e4c21=_0x124870['hJDwI'](add0,_0x5e4c21,_0x298c49),_0x3b6fd0=this[_0x3d62('1b','WMA2')](_0x3b6fd0,_0x298c49));_0x124870[_0x3d62('1c','C*VJ')](_0x834802,_0x298c49);)_0x2ac51d+=Math[_0x3d62('1d','gVqw')](_0x124870['BabMY'](_0x5e4c21[_0x834802],_0x3b6fd0[_0x834802])),_0x834802++;return _0x2ac51d;}function getKey(_0x217dd6,_0x230f1c){var _0x5a7bd9={'NKdPJ':function(_0x524683,_0x4b9982){return _0x524683<_0x4b9982;},'jcFRh':function(_0x12551f,_0x1c371f){return _0x12551f^_0x1c371f;},'vTfkE':function(_0x3d9fd7,_0x1d3fe1){return _0x3d9fd7%_0x1d3fe1;},'BmXhy':function(_0x4c32bd,_0x2df008){return _0x4c32bd<_0x2df008;},'OdZJY':function(_0x499900,_0x11b427){return _0x499900!==_0x11b427;},'KFCnu':'qiHME','oZiuL':function(_0x58e775,_0x2a8dce){return _0x58e775>=_0x2a8dce;}};let _0x2d97b9=[],_0x2f04a7,_0x540515=0x0;for(let _0x15ad5e=0x0;_0x5a7bd9['BmXhy'](_0x15ad5e,_0x217dd6[_0x3d62('1e','T^%0')]()[_0x3d62('1f','7])c')]);_0x15ad5e++){if(_0x5a7bd9[_0x3d62('20','wS^l')](_0x5a7bd9['KFCnu'],_0x5a7bd9[_0x3d62('21','TnHQ')])){for(var _0x432632=t['length'],_0x4f677d='',_0x1b42e7=0x0;_0x5a7bd9[_0x3d62('22','ZMMq')](_0x1b42e7,e[_0x3d62('23','Dd4]')]);_0x1b42e7++)_0x4f677d+=String[_0x3d62('24','C8JZ')](_0x5a7bd9['jcFRh'](e[_0x1b42e7][_0x3d62('25','dL*e')](),t[_0x5a7bd9['vTfkE'](_0x1b42e7,_0x432632)]['charCodeAt']()));return _0x4f677d;}else{_0x540515=_0x15ad5e;if(_0x5a7bd9[_0x3d62('26','wbsS')](_0x540515,_0x230f1c['length']))_0x540515-=_0x230f1c['length'];_0x2f04a7=_0x217dd6[_0x3d62('27','ueJm')]()[_0x3d62('28','ggAb')](_0x15ad5e)^_0x230f1c[_0x3d62('29','JOHo')](_0x540515);_0x2d97b9['push'](_0x5a7bd9['vTfkE'](_0x2f04a7,0xa));}}return _0x2d97b9['toString']()['replace'](/,/g,'');}function toAscii(_0x1db9b5){var _0x5ae78a={'DDxJy':function(_0x28a090,_0x4d229e){return _0x28a090(_0x4d229e);}};var _0x2f113d='';for(var _0x4355c0 in _0x1db9b5){var _0x633936=_0x1db9b5[_0x4355c0],_0x52bf3a=/[a-zA-Z]/['test'](_0x633936);if(_0x1db9b5[_0x3d62('2a','Dd4]')](_0x4355c0))if(_0x52bf3a)_0x2f113d+=_0x5ae78a[_0x3d62('2b','C8JZ')](getLastAscii,_0x633936);else _0x2f113d+=_0x633936;}return _0x2f113d;}function add0(_0x2e0743,_0xc024a0){var _0x13187a={'haGNV':function(_0x3036ea,_0x587b41){return _0x3036ea+_0x587b41;}};return _0x13187a['haGNV'](Array(_0xc024a0)['join']('0'),_0x2e0743)[_0x3d62('2c','7])c')](-_0xc024a0);}function getLastAscii(_0x434f44){var _0x2873c2={'kIoue':function(_0x41c35a,_0x3bdd76){return _0x41c35a-_0x3bdd76;}};var _0x2a15c2=_0x434f44[_0x3d62('2d','T^%0')](0x0)['toString']();return _0x2a15c2[_0x2873c2[_0x3d62('2e','w00X')](_0x2a15c2[_0x3d62('2f','E!kl')],0x1)];}function wordsToBytes(_0x475c3a){var _0x70e4b3={'wYuQy':function(_0x2c411e,_0x1c5c15){return _0x2c411e<_0x1c5c15;},'ALRZo':function(_0x3763a8,_0x4f08e7){return _0x3763a8&_0x4f08e7;},'HFrCs':function(_0x548229,_0x2f47e7){return _0x548229-_0x2f47e7;},'AVbkp':function(_0x4403f1,_0x176a0c){return _0x4403f1%_0x176a0c;}};for(var _0x2dd8e4=[],_0x178f54=0x0;_0x70e4b3['wYuQy'](_0x178f54,0x20*_0x475c3a[_0x3d62('30','ZMMq')]);_0x178f54+=0x8)_0x2dd8e4['push'](_0x70e4b3[_0x3d62('31','6]&$')](_0x475c3a[_0x178f54>>>0x5]>>>_0x70e4b3[_0x3d62('32','C8JZ')](0x18,_0x70e4b3[_0x3d62('33','74jX')](_0x178f54,0x20)),0xff));return _0x2dd8e4;}function bytesToHex(_0x1d125d){var _0x11af04={'LYufe':function(_0x5ee216,_0x13fe2f){return _0x5ee216<_0x13fe2f;},'ViDfa':function(_0x5c0721,_0x1e7bf8){return _0x5c0721>>>_0x1e7bf8;},'MvGUm':function(_0x2e1b9f,_0x6d89ff){return _0x2e1b9f&_0x6d89ff;}};for(var _0x58b0c4=[],_0x581ede=0x0;_0x11af04['LYufe'](_0x581ede,_0x1d125d[_0x3d62('34','lQxr')]);_0x581ede++)_0x58b0c4[_0x3d62('35','k18J')](_0x11af04[_0x3d62('36','WMA2')](_0x1d125d[_0x581ede],0x4)[_0x3d62('37','Enij')](0x10)),_0x58b0c4[_0x3d62('38','G#Wr')](_0x11af04['MvGUm'](0xf,_0x1d125d[_0x581ede])['toString'](0x10));return _0x58b0c4[_0x3d62('39','Dd4]')]('');}function stringToBytes(_0x2564a3){var _0x4aba6b={'oCtat':function(_0x5543fa,_0x519dcb){return _0x5543fa(_0x519dcb);},'BWYZF':function(_0x3b692a,_0x1eb035){return _0x3b692a(_0x1eb035);}};_0x2564a3=_0x4aba6b[_0x3d62('3a','NFsF')](unescape,_0x4aba6b[_0x3d62('3b','cdFb')](encodeURIComponent,_0x2564a3));for(var _0x59a6aa=[],_0x1b8a24=0x0;_0x1b8a24<_0x2564a3[_0x3d62('3c','T^%0')];_0x1b8a24++)_0x59a6aa[_0x3d62('3d','a[fS')](0xff&_0x2564a3[_0x3d62('3e',']u13')](_0x1b8a24));return _0x59a6aa;}function bytesToWords(_0x47b7c6){var _0x6671ea={'VXdjK':function(_0x5a4e76,_0x1cc1e3){return _0x5a4e76<_0x1cc1e3;},'hndoD':function(_0x128af6,_0x3e63a8){return _0x128af6%_0x3e63a8;}};for(var _0x5275e5=[],_0x5c324d=0x0,_0x5b9c9c=0x0;_0x6671ea[_0x3d62('3f','wS^l')](_0x5c324d,_0x47b7c6[_0x3d62('40','[2@u')]);_0x5c324d++,_0x5b9c9c+=0x8)_0x5275e5[_0x5b9c9c>>>0x5]|=_0x47b7c6[_0x5c324d]<<0x18-_0x6671ea['hndoD'](_0x5b9c9c,0x20);return _0x5275e5;}function crc32(_0x420542){var _0x19377a={'FZfmX':function(_0x5cd2bb,_0x1e4677){return _0x5cd2bb+_0x1e4677;},'OFmAH':function(_0x419a1e,_0x4c4fcd){return _0x419a1e*_0x4c4fcd;},'sGGkw':function(_0x16aaaf,_0x3a579d){return _0x16aaaf-_0x3a579d;},'UiUXG':function(_0x165c01,_0x5994ef){return _0x165c01<_0x5994ef;},'oBURk':function(_0x144f5d,_0x4799e9){return _0x144f5d(_0x4799e9);},'AQEkf':'pvRwH','nrWCN':function(_0x582ccb,_0x510b97){return _0x582ccb===_0x510b97;},'TuWML':_0x3d62('41','BdsA'),'FRZrL':_0x3d62('42','gVqw'),'Jtnha':function(_0x189447,_0x5e8bd0){return _0x189447>_0x5e8bd0;},'ROAnZ':function(_0xf38347,_0x70c1){return _0xf38347!==_0x70c1;},'LFIFO':_0x3d62('43','#bKj'),'TZpqw':function(_0x52abd4,_0x4d8089){return _0x52abd4|_0x4d8089;},'GKyAf':function(_0xcd0f4e,_0x2a4efc){return _0xcd0f4e>>_0x2a4efc;},'sQbgZ':function(_0x513a86,_0x5f459b){return _0x513a86|_0x5f459b;},'yjmzA':function(_0x326bcc,_0x395967){return _0x326bcc>>_0x395967;},'MJNEE':function(_0x5bd8e8,_0xc627fd){return _0x5bd8e8|_0xc627fd;},'JzJLO':function(_0x4dd83c,_0x59a9ee){return _0x4dd83c&_0x59a9ee;},'jcCZT':function(_0x114258,_0xab9595){return _0x114258<_0xab9595;},'BGmLX':function(_0x285598,_0x4ed95b){return _0x285598^_0x4ed95b;},'KZogd':function(_0x4274c1,_0x2d2205){return _0x4274c1>>>_0x2d2205;}};function _0x1730a7(_0x3fe4ba){var _0xb207e5={'dLkAn':function(_0x2147c1,_0x59bcf0){return _0x19377a['oBURk'](_0x2147c1,_0x59bcf0);}};if(_0x3d62('44','l9HF')!==_0x19377a['AQEkf']){_0x3fe4ba=_0x3fe4ba[_0x3d62('45','Dd4]')](/\r\n/g,'\x0a');var _0xae060='';for(var _0x2d83a6=0x0;_0x2d83a6<_0x3fe4ba[_0x3d62('46','C*VJ')];_0x2d83a6++){if(_0x19377a[_0x3d62('47','p9Sa')](_0x19377a[_0x3d62('48','TnHQ')],_0x19377a[_0x3d62('49','Lo]!')])){let _0x1985ca='',_0x1facdb=min,_0x3297da=['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','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'];if(randomFlag){_0x1facdb=_0x19377a['FZfmX'](Math['round'](_0x19377a['OFmAH'](Math['random'](),_0x19377a['sGGkw'](max,min))),min);}for(let _0x30a288=0x0;_0x19377a[_0x3d62('4a','JOHo')](_0x30a288,_0x1facdb);_0x30a288++){pos=Math['round'](_0x19377a[_0x3d62('4b','47Ws')](Math[_0x3d62('4c','YUNh')](),_0x3297da[_0x3d62('4d',')0sG')]-0x1));_0x1985ca+=_0x3297da[pos];}return _0x1985ca;}else{var _0x46201c=_0x3fe4ba[_0x3d62('4e','Hzx6')](_0x2d83a6);if(_0x19377a['UiUXG'](_0x46201c,0x80)){_0xae060+=String['fromCharCode'](_0x46201c);}else if(_0x19377a['Jtnha'](_0x46201c,0x7f)&&_0x46201c<0x800){if(_0x19377a[_0x3d62('4f','47Ws')](_0x19377a[_0x3d62('50','BdsA')],_0x19377a[_0x3d62('51','JOHo')])){_0xae060+=String['fromCharCode'](_0x46201c);}else{_0xae060+=String['fromCharCode'](_0x19377a[_0x3d62('52','sF)5')](_0x19377a[_0x3d62('53','NFsF')](_0x46201c,0x6),0xc0));_0xae060+=String['fromCharCode'](_0x46201c&0x3f|0x80);}}else{_0xae060+=String[_0x3d62('54','a[fS')](_0x19377a['sQbgZ'](_0x19377a[_0x3d62('55','JOHo')](_0x46201c,0xc),0xe0));_0xae060+=String['fromCharCode'](_0x19377a[_0x3d62('56','47Ws')](_0x19377a[_0x3d62('57','#bKj')](_0x19377a[_0x3d62('58','xW6F')](_0x46201c,0x6),0x3f),0x80));_0xae060+=String[_0x3d62('59','p9Sa')](_0x19377a[_0x3d62('5a','ZMMq')](_0x46201c,0x3f)|0x80);}}}return _0xae060;}else{var _0x2efb1d='';for(var _0x37db7a in t){var _0x959853=t[_0x37db7a],_0x25c6dc=/[a-zA-Z]/['test'](_0x959853);if(t[_0x3d62('5b','TnHQ')](_0x37db7a))if(_0x25c6dc)_0x2efb1d+=_0xb207e5[_0x3d62('5c','Dd4]')](getLastAscii,_0x959853);else _0x2efb1d+=_0x959853;}return _0x2efb1d;}};_0x420542=_0x1730a7(_0x420542);var _0x24b225=[0x0,0x77073096,0xee0e612c,0x990951ba,0x76dc419,0x706af48f,0xe963a535,0x9e6495a3,0xedb8832,0x79dcb8a4,0xe0d5e91e,0x97d2d988,0x9b64c2b,0x7eb17cbd,0xe7b82d07,0x90bf1d91,0x1db71064,0x6ab020f2,0xf3b97148,0x84be41de,0x1adad47d,0x6ddde4eb,0xf4d4b551,0x83d385c7,0x136c9856,0x646ba8c0,0xfd62f97a,0x8a65c9ec,0x14015c4f,0x63066cd9,0xfa0f3d63,0x8d080df5,0x3b6e20c8,0x4c69105e,0xd56041e4,0xa2677172,0x3c03e4d1,0x4b04d447,0xd20d85fd,0xa50ab56b,0x35b5a8fa,0x42b2986c,0xdbbbc9d6,0xacbcf940,0x32d86ce3,0x45df5c75,0xdcd60dcf,0xabd13d59,0x26d930ac,0x51de003a,0xc8d75180,0xbfd06116,0x21b4f4b5,0x56b3c423,0xcfba9599,0xb8bda50f,0x2802b89e,0x5f058808,0xc60cd9b2,0xb10be924,0x2f6f7c87,0x58684c11,0xc1611dab,0xb6662d3d,0x76dc4190,0x1db7106,0x98d220bc,0xefd5102a,0x71b18589,0x6b6b51f,0x9fbfe4a5,0xe8b8d433,0x7807c9a2,0xf00f934,0x9609a88e,0xe10e9818,0x7f6a0dbb,0x86d3d2d,0x91646c97,0xe6635c01,0x6b6b51f4,0x1c6c6162,0x856530d8,0xf262004e,0x6c0695ed,0x1b01a57b,0x8208f4c1,0xf50fc457,0x65b0d9c6,0x12b7e950,0x8bbeb8ea,0xfcb9887c,0x62dd1ddf,0x15da2d49,0x8cd37cf3,0xfbd44c65,0x4db26158,0x3ab551ce,0xa3bc0074,0xd4bb30e2,0x4adfa541,0x3dd895d7,0xa4d1c46d,0xd3d6f4fb,0x4369e96a,0x346ed9fc,0xad678846,0xda60b8d0,0x44042d73,0x33031de5,0xaa0a4c5f,0xdd0d7cc9,0x5005713c,0x270241aa,0xbe0b1010,0xc90c2086,0x5768b525,0x206f85b3,0xb966d409,0xce61e49f,0x5edef90e,0x29d9c998,0xb0d09822,0xc7d7a8b4,0x59b33d17,0x2eb40d81,0xb7bd5c3b,0xc0ba6cad,0xedb88320,0x9abfb3b6,0x3b6e20c,0x74b1d29a,0xead54739,0x9dd277af,0x4db2615,0x73dc1683,0xe3630b12,0x94643b84,0xd6d6a3e,0x7a6a5aa8,0xe40ecf0b,0x9309ff9d,0xa00ae27,0x7d079eb1,0xf00f9344,0x8708a3d2,0x1e01f268,0x6906c2fe,0xf762575d,0x806567cb,0x196c3671,0x6e6b06e7,0xfed41b76,0x89d32be0,0x10da7a5a,0x67dd4acc,0xf9b9df6f,0x8ebeeff9,0x17b7be43,0x60b08ed5,0xd6d6a3e8,0xa1d1937e,0x38d8c2c4,0x4fdff252,0xd1bb67f1,0xa6bc5767,0x3fb506dd,0x48b2364b,0xd80d2bda,0xaf0a1b4c,0x36034af6,0x41047a60,0xdf60efc3,0xa867df55,0x316e8eef,0x4669be79,0xcb61b38c,0xbc66831a,0x256fd2a0,0x5268e236,0xcc0c7795,0xbb0b4703,0x220216b9,0x5505262f,0xc5ba3bbe,0xb2bd0b28,0x2bb45a92,0x5cb36a04,0xc2d7ffa7,0xb5d0cf31,0x2cd99e8b,0x5bdeae1d,0x9b64c2b0,0xec63f226,0x756aa39c,0x26d930a,0x9c0906a9,0xeb0e363f,0x72076785,0x5005713,0x95bf4a82,0xe2b87a14,0x7bb12bae,0xcb61b38,0x92d28e9b,0xe5d5be0d,0x7cdcefb7,0xbdbdf21,0x86d3d2d4,0xf1d4e242,0x68ddb3f8,0x1fda836e,0x81be16cd,0xf6b9265b,0x6fb077e1,0x18b74777,0x88085ae6,0xff0f6a70,0x66063bca,0x11010b5c,0x8f659eff,0xf862ae69,0x616bffd3,0x166ccf45,0xa00ae278,0xd70dd2ee,0x4e048354,0x3903b3c2,0xa7672661,0xd06016f7,0x4969474d,0x3e6e77db,0xaed16a4a,0xd9d65adc,0x40df0b66,0x37d83bf0,0xa9bcae53,0xdebb9ec5,0x47b2cf7f,0x30b5ffe9,0xbdbdf21c,0xcabac28a,0x53b39330,0x24b4a3a6,0xbad03605,0xcdd70693,0x54de5729,0x23d967bf,0xb3667a2e,0xc4614ab8,0x5d681b02,0x2a6f2b94,0xb40bbe37,0xc30c8ea1,0x5a05df1b,0x2d02ef8d];var _0x2d1d5f=0x0;var _0x429a8e=0x0;_0x429a8e=_0x429a8e^-0x1;for(var _0x30d30e=0x0,_0x31b8e8=_0x420542[_0x3d62('5d','g&IT')];_0x19377a[_0x3d62('5e','YUNh')](_0x30d30e,_0x31b8e8);_0x30d30e++){_0x2d1d5f=_0x420542[_0x3d62('5f','xW6F')](_0x30d30e);_0x429a8e=_0x19377a[_0x3d62('60','7])c')](_0x24b225[_0x19377a[_0x3d62('61','cdFb')](0xff,_0x19377a[_0x3d62('62','l9HF')](_0x429a8e,_0x2d1d5f))],_0x19377a[_0x3d62('63','xW6F')](_0x429a8e,0x8));}return _0x19377a['KZogd'](_0x19377a[_0x3d62('64','s2qG')](-0x1,_0x429a8e),0x0);};function getBody(){var _0x1fd4c7={'bhVMi':function(_0x3ec9af,_0x563ade){return _0x3ec9af*_0x563ade;},'mRZtQ':function(_0x1c45b7,_0x314b26,_0x3eb09a){return _0x1c45b7(_0x314b26,_0x3eb09a);},'ApaKY':_0x3d62('65','YUNh'),'ynHyg':function(_0x119f5d,_0xb37075,_0x188aeb){return _0x119f5d(_0xb37075,_0x188aeb);},'LQXmB':function(_0x208534,_0x123aa4){return _0x208534(_0x123aa4);},'LzVHO':function(_0x4e4705,_0x541849){return _0x4e4705(_0x541849);},'byQvj':_0x3d62('66','Dd4]'),'NgvfB':function(_0x306c91,_0x16413c){return _0x306c91(_0x16413c);},'WtQST':function(_0x40fdbb,_0x573cd6,_0x2b4d14){return _0x40fdbb(_0x573cd6,_0x2b4d14);},'pfskN':function(_0x5ce0dc,_0x2ece49,_0x4eaa81){return _0x5ce0dc(_0x2ece49,_0x4eaa81);},'bfYXV':function(_0x56a663,_0x5c71d5){return _0x56a663+_0x5c71d5;},'aLpox':function(_0x5aefac,_0x474159){return _0x5aefac+_0x474159;},'ychTN':function(_0x73fefc,_0x50d33f){return _0x73fefc+_0x50d33f;},'zaWAK':_0x3d62('67','dL*e'),'keJvT':'QD216hPageh5'};let _0x3476ca=Math[_0x3d62('68','T^%0')](0xf4240+_0x1fd4c7[_0x3d62('69','74jX')](0x895440,Math[_0x3d62('6a','o%l3')]()))[_0x3d62('6b',']u13')]();let _0x396ec3=_0x1fd4c7['mRZtQ'](randomWord,![],0xa);let _0x444ff5=_0x1fd4c7[_0x3d62('6c','ueJm')];let _0x14a419=Date[_0x3d62('6d','k18J')]();let _0x2adb47=_0x1fd4c7[_0x3d62('6e','Lo]!')](getKey,_0x14a419,_0x396ec3);let _0x30c8d2=_0x3d62('6f','Dd4]')+_0x3476ca+'&token='+_0x444ff5+_0x3d62('70','47Ws')+_0x14a419+_0x3d62('71','sF)5')+_0x396ec3+_0x3d62('72','WMA2')+_0x2adb47+'&is_trust=1';let _0x21edfb=_0x1fd4c7[_0x3d62('73','Dd4]')](bytesToHex,_0x1fd4c7[_0x3d62('74','gUFe')](wordsToBytes,_0x1fd4c7[_0x3d62('75','wbsS')](getSign,_0x30c8d2)))[_0x3d62('76','74jX')]();let _0x532f5d=crc32(_0x21edfb)[_0x3d62('77','C8JZ')](0x24);_0x532f5d=add0(_0x532f5d,0x7);let _0x544b56=_0x3d62('78','WMA2')+(_0x14a419[_0x3d62('79','#bKj')]()+_0x1fd4c7['byQvj'])+_0x3d62('7a','dL*e')+_0x14a419[_0x3d62('7b','l9HF')]()+_0x3d62('7c','T^%0')+_0x3476ca+_0x3d62('7d','s2qG');let _0x485852=$[_0x3d62('7e','sF)5')][_0x3d62('7f','wbsS')][_0x3d62('80','ueJm')][_0x3d62('81','c[lL')](_0x1fd4c7['LzVHO'](unescape,_0x1fd4c7[_0x3d62('82','l9HF')](encodeURIComponent,_0x1fd4c7[_0x3d62('83','o%l3')](xorEncrypt,_0x544b56,_0x2adb47))));_0x485852=$[_0x3d62('84','YUNh')][_0x3d62('85','47Ws')][_0x3d62('86','C8JZ')]['stringify'](_0x485852);let _0x3cf59e=crc32(_0x485852)[_0x3d62('87','ZMMq')](0x24);_0x3cf59e=_0x1fd4c7['pfskN'](add0,_0x3cf59e,0x7);_0x21edfb=_0x1fd4c7['bfYXV'](_0x1fd4c7['aLpox'](_0x1fd4c7[_0x3d62('88','dL*e')](_0x1fd4c7['aLpox'](_0x1fd4c7[_0x3d62('89','47Ws')](_0x1fd4c7[_0x3d62('8a','UBJp')](_0x14a419[_0x3d62('8b','s2qG')](),'~1'),_0x396ec3),_0x444ff5)+'~4,1~'+_0x21edfb+'~',_0x532f5d)+_0x1fd4c7[_0x3d62('8c','UBJp')],_0x485852)+'~',_0x3cf59e);s=JSON[_0x3d62('8d','BdsA')]({'extraData':{'log':encodeURIComponent(_0x21edfb),'sceneid':_0x1fd4c7[_0x3d62('8e','o%l3')]},'secretp':$[_0x3d62('8f','!hwN')]||secretp,'random':_0x3476ca[_0x3d62('90','o%l3')]()});return s;}function xorEncrypt(_0x140bdf,_0x424b66){var _0xeaa904={'DNHKe':function(_0x2ea37b,_0x33dbf2){return _0x2ea37b^_0x33dbf2;},'BMgXy':function(_0x204e38,_0x59001a){return _0x204e38%_0x59001a;}};for(var _0x283b5a=_0x424b66[_0x3d62('91','gVqw')],_0x988892='',_0x11cdf3=0x0;_0x11cdf3<_0x140bdf[_0x3d62('92','cdFb')];_0x11cdf3++)_0x988892+=String['fromCharCode'](_0xeaa904[_0x3d62('93','Hzx6')](_0x140bdf[_0x11cdf3][_0x3d62('94','Dd4]')](),_0x424b66[_0xeaa904[_0x3d62('95','Hzx6')](_0x11cdf3,_0x283b5a)]['charCodeAt']()));return _0x988892;}function getSign(_0x2bb318){var _0x22798d={'BGwoF':function(_0x33489f,_0x456697){return _0x33489f|_0x456697;},'CGshk':function(_0x33e90,_0x157170){return _0x33e90(_0x157170);},'BaKzy':function(_0x1797b6,_0x4d08ef){return _0x1797b6*_0x4d08ef;},'XdnEw':function(_0x5a9da5,_0x2d4048){return _0x5a9da5>>_0x2d4048;},'CsUgk':function(_0x279150,_0x3d1ec4){return _0x279150<<_0x3d1ec4;},'naCOM':function(_0x5b6d12,_0x4035f6){return _0x5b6d12-_0x4035f6;},'LGwLX':function(_0x5ed217,_0x14de03){return _0x5ed217%_0x14de03;},'EKvxR':function(_0x4d6d2f,_0x18eb4c){return _0x4d6d2f+_0x18eb4c;},'XPKuH':function(_0x3b0d11,_0x4664b6){return _0x3b0d11>>>_0x4664b6;},'AsNHP':function(_0x4eaf72,_0x44f211){return _0x4eaf72<_0x44f211;},'uqnQM':function(_0x43f99f,_0x1355a9){return _0x43f99f===_0x1355a9;},'MDSXr':_0x3d62('96','o%l3'),'WIGgh':function(_0x205196,_0x1cf0fc){return _0x205196^_0x1cf0fc;},'grhhT':function(_0x321553,_0x5c1485){return _0x321553^_0x5c1485;},'OPBxP':function(_0xa40dc4,_0x166e9d){return _0xa40dc4-_0x166e9d;},'rmgkW':function(_0x5a66bc,_0x30586f){return _0x5a66bc|_0x30586f;},'jjEkx':function(_0x25f2c7,_0x4bbc90){return _0x25f2c7+_0x4bbc90;},'xsmGm':function(_0x6a11b,_0x1e9946){return _0x6a11b<<_0x1e9946;},'xnxbE':function(_0x58dd71,_0x2291b2){return _0x58dd71>>>_0x2291b2;},'SNJyc':function(_0x56fc56,_0x431244){return _0x56fc56&_0x431244;},'kjWHS':function(_0x4b27c1,_0x2475e0){return _0x4b27c1<_0x2475e0;},'BrCyy':function(_0x429bed,_0x5487e6){return _0x429bed^_0x5487e6;},'tyUSJ':function(_0xfd5388,_0x2b2882){return _0xfd5388<_0x2b2882;},'CXGJw':function(_0x180176,_0xb7c177){return _0x180176|_0xb7c177;},'XppSq':function(_0x3eb847,_0x38d189){return _0x3eb847&_0x38d189;},'AAHbO':function(_0x43cc9e,_0x4c836c){return _0x43cc9e<<_0x4c836c;}};_0x2bb318=stringToBytes(_0x2bb318);var _0x39d976=_0x22798d[_0x3d62('97','ueJm')](bytesToWords,_0x2bb318),_0x4705d0=_0x22798d[_0x3d62('98',')0sG')](0x8,_0x2bb318['length']),_0x1ff963=[],_0x1c4f31=0x67452301,_0x17255c=-0x10325477,_0x3e7e34=-0x67452302,_0x346376=0x10325476,_0x17c490=-0x3c2d1e10;_0x39d976[_0x22798d[_0x3d62('99',']u13')](_0x4705d0,0x5)]|=_0x22798d[_0x3d62('9a','7])c')](0x80,_0x22798d['naCOM'](0x18,_0x22798d['LGwLX'](_0x4705d0,0x20))),_0x39d976[_0x22798d[_0x3d62('9b',']u13')](0xf,_0x22798d[_0x3d62('9c','o%l3')](_0x22798d[_0x3d62('9d','k18J')](_0x4705d0+0x40,0x9),0x4))]=_0x4705d0;for(var _0x367563=0x0;_0x22798d['AsNHP'](_0x367563,_0x39d976['length']);_0x367563+=0x10){if(_0x3d62('9e','74jX')===_0x3d62('9f','YUNh')){var _0x50a356=_0x2bb318[_0x3d62('94','Dd4]')](0x0)[_0x3d62('a0','E!kl')]();return _0x50a356[_0x50a356['length']-0x1];}else{for(var _0x4ffabb=_0x1c4f31,_0x52823e=_0x17255c,_0x2ceffa=_0x3e7e34,_0x59c1bc=_0x346376,_0xc6c84=_0x17c490,_0x21168a=0x0;_0x22798d['AsNHP'](_0x21168a,0x50);_0x21168a++){if(_0x22798d[_0x3d62('a1','s2qG')](_0x22798d[_0x3d62('a2','s2qG')],_0x22798d[_0x3d62('a3','g&IT')])){if(_0x22798d[_0x3d62('a4','JOHo')](_0x21168a,0x10))_0x1ff963[_0x21168a]=_0x39d976[_0x367563+_0x21168a];else{var _0x2b03f7=_0x22798d['WIGgh'](_0x22798d['grhhT'](_0x1ff963[_0x22798d[_0x3d62('a5','T^%0')](_0x21168a,0x3)],_0x1ff963[_0x21168a-0x8])^_0x1ff963[_0x21168a-0xe],_0x1ff963[_0x22798d[_0x3d62('a6','BdsA')](_0x21168a,0x10)]);_0x1ff963[_0x21168a]=_0x22798d[_0x3d62('a7','T^%0')](_0x22798d[_0x3d62('a8','HNn2')](_0x2b03f7,0x1),_0x2b03f7>>>0x1f);}var _0x4e5c94=_0x22798d['EKvxR'](_0x22798d[_0x3d62('a9','pmEB')](_0x22798d[_0x3d62('aa','a[fS')](_0x22798d[_0x3d62('ab','pmEB')](_0x1c4f31,0x5)|_0x1c4f31>>>0x1b,_0x17c490),_0x22798d[_0x3d62('ac','JOHo')](_0x1ff963[_0x21168a],0x0)),_0x22798d[_0x3d62('ad','E!kl')](_0x21168a,0x14)?_0x22798d['jjEkx'](0x5a827999,_0x22798d[_0x3d62('ae','UBJp')](_0x17255c,_0x3e7e34)|_0x22798d[_0x3d62('af','JOHo')](~_0x17255c,_0x346376)):_0x22798d[_0x3d62('b0','s2qG')](_0x21168a,0x28)?0x6ed9eba1+(_0x22798d['BrCyy'](_0x17255c,_0x3e7e34)^_0x346376):_0x22798d['tyUSJ'](_0x21168a,0x3c)?(_0x22798d['CXGJw'](_0x17255c&_0x3e7e34,_0x22798d['XppSq'](_0x17255c,_0x346376))|_0x22798d['XppSq'](_0x3e7e34,_0x346376))-0x70e44324:_0x22798d[_0x3d62('b1','E!kl')](_0x17255c^_0x3e7e34^_0x346376,0x359d3e2a));_0x17c490=_0x346376,_0x346376=_0x3e7e34,_0x3e7e34=_0x22798d[_0x3d62('b2','^z5C')](_0x22798d[_0x3d62('b3','ZMMq')](_0x17255c,0x1e),_0x22798d[_0x3d62('b4','wS^l')](_0x17255c,0x2)),_0x17255c=_0x1c4f31,_0x1c4f31=_0x4e5c94;}else{utftext+=String['fromCharCode'](_0x22798d['BGwoF'](_0x3e7e34>>0x6,0xc0));utftext+=String[_0x3d62('b5','HNn2')](_0x3e7e34&0x3f|0x80);}}_0x1c4f31+=_0x4ffabb,_0x17255c+=_0x52823e,_0x3e7e34+=_0x2ceffa,_0x346376+=_0x59c1bc,_0x17c490+=_0xc6c84;}}return[_0x1c4f31,_0x17255c,_0x3e7e34,_0x346376,_0x17c490];};_0xodE='jsjiami.com.v6';
// prettier-ignore
function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) }

