1 |
- !function (t, r) { if ("function" == typeof define && define.amd) define(["exports"], r); else if ("undefined" != typeof exports) r(exports); else { var i = {}; r(i), t.SmCrypto = i } }("undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : this, function (_exports) { "use strict"; Object.defineProperty(_exports, "__esModule", { value: !0 }), _exports.doSm3AndSm2Encrypt = doSm3AndSm2Encrypt; var AostarJS = AostarJS || (d = Math, f = {}, g = f.jx = {}, h = g.Base = { extend: function (t) { r.prototype = this; var i = new r; return t && i.nz(t), i.hasOwnProperty("dV") || (i.dV = function () { i.wd.dV.apply(this, arguments) }), (i.dV.prototype = i).wd = this, i }, create: function () { var t = this.extend(); return t.dV.apply(t, arguments), t }, dV: function () { }, nz: 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.dV.prototype.extend(this) } }, i = g.eR = h.extend({ dV: function (t, r) { t = this.cu = t || [], this.fe = null != r ? r : 4 * t.length }, toString: function (t) { return (t || l).stringify(this) }, concat: function (t) { var r = this.cu, i = t.cu, e = this.fe, n = t.fe; if (this.eC(), e % 4) for (var s = 0; s < n; s++) { var o = i[s >>> 2] >>> 24 - s % 4 * 8 & 255; r[e + s >>> 2] |= o << 24 - (e + s) % 4 * 8 } else if (65535 < i.length) for (s = 0; s < n; s += 4)r[e + s >>> 2] = i[s >>> 2]; else r.push.apply(r, i); return this.fe += n, this }, eC: function () { var t = this.cu, r = this.fe; t[r >>> 2] &= 4294967295 << 32 - r % 4 * 8, t.length = d.ceil(r / 4) }, clone: function () { var t = h.clone.call(this); return t.cu = this.cu.slice(0), t }, random: function (t) { for (var r = [], e = 0; e < t; e += 4)r.push(4294967296 * AostarJS.ef.hZ.kz() | 0); return new i.dV(r, t) } }), j = f.ef = {}, j.hZ = { kz: function () { for (var t = 4022871197, r = (new Date).getTime().toString(), i = 0; i < r.length; i++) { var e = .02519603282416938 * (t += r.charCodeAt(i)); e -= t = e >>> 0, t = (e *= t) >>> 0, t += 4294967296 * (e -= t) } for (; ;) { if ((new Date).getTime().toString() != r) return 2.3283064365386963e-10 * (t >>> 0) } } }, l = j.hx = { stringify: function (t) { for (var r = t.cu, i = t.fe, e = [], n = 0; n < i; n++) { var s = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; e.push((s >>> 4).toString(16)), e.push((15 & s).toString(16)) } return e.join("") }, parse: function (t) { for (var r = t.length, e = [], n = 0; n < r; n += 2)e[n >>> 3] |= parseInt(t.substr(n, 2), 16) << 24 - n % 8 * 4; return new i.dV(e, r / 2) } }, m = j.pL = { stringify: function (t) { for (var r = t.cu, i = t.fe, e = [], n = 0; n < i; n++) { var s = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; e.push(String.fromCharCode(s)) } return e.join("") }, parse: function (t) { for (var r = t.length, e = [], n = 0; n < r; n++)e[n >>> 2] |= (255 & t.charCodeAt(n)) << 24 - n % 4 * 8; return new i.dV(e, r) } }, n = j.fc = { stringify: function (t) { try { return decodeURIComponent(escape(m.stringify(t))) } catch (t) { throw new Error("Malformed UTF-8 data") } }, parse: function (t) { return m.parse(unescape(encodeURIComponent(t))) } }, o = g.jh = h.extend({ reset: function () { this.hz = new i.dV, this.qJ = 0 }, mE: function (t) { "string" == typeof t && (t = n.parse(t)), this.hz.concat(t), this.qJ += t.fe }, iG: function (t) { var r = this.hz, e = r.cu, n = r.fe, s = this.dX, o = n / (4 * s), h = (o = t ? d.ceil(o) : d.max((0 | o) - this.qR, 0)) * s, f = d.min(4 * h, n); if (h) { for (var c = 0; c < h; c += s)this.qp(e, c); var u = e.splice(0, h); r.fe -= f } return new i.dV(u, f) }, clone: function () { var t = h.clone.call(this); return t.hz = this.hz.clone(), t }, qR: 0 }), g.hU = o.extend({ dF: h.extend(), dV: function (t) { this.dF = this.dF.extend(t), this.reset() }, reset: function () { o.reset.call(this), this.pR() }, update: function (t) { return this.mE(t), this.iG(), this.hz = n.parse(t), this }, jF: function (t) { return t && this.mE(t), this.nh() }, dX: 16, ri: function (i) { return function (t, r) { return new i.dV(r).jF(t) } }, uv: function (i) { return function (t, r) { return new q.sJ.dV(i, r).jF(t) } } }), q = f.hl = {}, f), d, f, g, h, i, j, l, m, n, o, q, Eb, Fb, Jb, Kb, Lb, Mb; function r() { } if (void 0 === QMX || !QMX) var QMX = {}; if (QMX.namespace = function () { var t, r, i, e = arguments, n = null; for (t = 0; t < e.length; t += 1)for (i = ("" + e[t]).split("."), n = QMX, r = "QMX" == i[0] ? 1 : 0; r < i.length; r += 1)n[i[r]] = n[i[r]] || {}, n = n[i[r]]; return n }, QMX.log = function (t, r, i) { var e = QMX.widget.wh; return !(!e || !e.log) && e.log(t, r, i) }, QMX.vz = function (t, r, i) { var e, n, s, o, h, f = QMX.hs.rK; for (f[t] || (f[t] = { vg: [], vd: [] }), e = f[t], n = i.version, s = i.pU, o = QMX.hs.su, e.name = t, e.version = n, e.pU = s, e.vg.push(n), e.vd.push(s), e.lq = r, h = 0; h < o.length; h += 1)o[h](e); r ? (r.VERSION = n, r.xM = s) : QMX.log("lq is undefined for tZ " + t, "warn") }, QMX.hs = QMX.hs || { rK: [], su: [] }, QMX.hs.wv = function (t) { return QMX.hs.rK[t] || null }, QMX.hs.tU = function (t) { function r(t) { var r = 0; return parseFloat(t.replace(/\./g, function () { return 1 == r++ ? "" : "." })) } var i, e = navigator, n = { sn: 0, opera: 0, qT: 0, webkit: 0, sR: 0, ln: null, sm: 0, sd: 0, uV: 0, ug: 0, rX: null, ud: 0, tL: 0, yp: e && e.xk, secure: !1, mR: null }, s = t || navigator && navigator.userAgent, o = window && window.location, h = o && o.href; return n.secure = h && 0 === h.toLowerCase().indexOf("https"), s && (/windows|win32/i.test(s) ? n.mR = "windows" : /macintosh/i.test(s) ? n.mR = "macintosh" : /rhino/i.test(s) && (n.mR = "rhino"), /KHTML/.test(s) && (n.webkit = 1), (i = s.match(/AppleWebKit\/([^\s]*)/)) && i[1] && (n.webkit = r(i[1]), / Mobile\//.test(s) ? (n.ln = "Apple", (i = s.match(/OS ([^\s]*)/)) && i[1] && (i = r(i[1].replace("_", "."))), n.rX = i, n.sd = n.ug = n.uV = 0, (i = s.match(/iPad|iPod|iPhone/)) && i[0] && (n[i[0].toLowerCase()] = n.rX)) : ((i = s.match(/NokiaN[^\/]*|Android \d\.\d|webOS\/\d\.\d/)) && (n.ln = i[0]), /webOS/.test(s) && (n.ln = "WebOS", (i = s.match(/webOS\/([^\s]*);/)) && i[1] && (n.tL = r(i[1]))), / Android/.test(s) && (n.ln = "Android", (i = s.match(/Android ([^\s]*);/)) && i[1] && (n.ud = r(i[1])))), (i = s.match(/Chrome\/([^\s]*)/)) && i[1] ? n.sR = r(i[1]) : (i = s.match(/AdobeAIR\/([^\s]*)/)) && (n.sm = i[0])), n.webkit || ((i = s.match(/Opera[\s\/]([^\s]*)/)) && i[1] ? (n.opera = r(i[1]), (i = s.match(/Version\/([^\s]*)/)) && i[1] && (n.opera = r(i[1])), (i = s.match(/Opera Mini[^;]*/)) && (n.ln = i[0])) : (i = s.match(/MSIE\s([^;]*)/)) && i[1] ? n.sn = r(i[1]) : (i = s.match(/Gecko\/([^\s]*)/)) && (n.qT = 1, (i = s.match(/rv:([^\s\)]*)/)) && i[1] && (n.qT = r(i[1]))))), n }, QMX.hs.ua = QMX.hs.tU(), function () { if (QMX.namespace("tG", "widget", "example"), "undefined" != typeof QMX_config) { var t, r = QMX_config.vr, i = QMX.hs.su, e = !0; if (r) { for (t = 0; t < i.length; t++)if (i[t] == r) { e = !1; break } e && i.push(r) } } }(), QMX.lang = QMX.lang || {}, Eb = QMX.lang, Fb = Object.prototype, Jb = [], Kb = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'", "/": "/", "`": "`" }, Lb = ["toString", "valueOf"], Mb = { isArray: function (t) { return "[object Array]" === Fb.toString.apply(t) }, va: function (t) { return "boolean" == typeof t }, isFunction: function (t) { return "function" == typeof t || "[object Function]" === Fb.toString.apply(t) }, xN: function (t) { return null === t }, oc: function (t) { return "number" == typeof t && isFinite(t) }, lb: function (t) { return t && ("object" == typeof t || Eb.isFunction(t)) || !1 }, nB: function (t) { return "string" == typeof t }, rH: function (t) { return void 0 === t }, qv: QMX.hs.ua.sn ? function (t, r) { var i, e, n; for (i = 0; i < Lb.length; i += 1)n = r[e = Lb[i]], Eb.isFunction(n) && n != Fb[e] && (t[e] = n) } : function () { }, vk: function (t) { return t.replace(/[&<>"'\/`]/g, function (t) { return Kb[t] }) }, extend: function (t, r, i) { if (!r || !t) throw new Error("extend failed, please check that all dependencies are included."); function e() { } var n; if (e.prototype = r.prototype, t.prototype = new e, (t.prototype.constructor = t).ff = r.prototype, r.prototype.constructor == Fb.constructor && (r.prototype.constructor = r), i) { for (n in i) Eb.hasOwnProperty(i, n) && (t.prototype[n] = i[n]); Eb.qv(t.prototype, i) } }, qu: function (t, r) { if (!r || !t) throw new Error("Absorb failed, fY dependencies."); var i, e, n = arguments, s = n[2]; if (s && !0 !== s) for (i = 2; i < n.length; i += 1)t[n[i]] = r[n[i]]; else { for (e in r) !s && e in t || (t[e] = r[e]); Eb.qv(t, r) } return t }, qe: function (t, r) { if (!r || !t) throw new Error("Augment failed, fY dependencies."); var i, e = [t.prototype, r.prototype]; for (i = 2; i < arguments.length; i += 1)e.push(arguments[i]); return Eb.qu.apply(this, e), t }, dump: function (t, r) { var i, e, n = []; if (!Eb.lb(t)) return t + ""; if (t instanceof Date || "nodeType" in t && "tagName" in t) return t; if (Eb.isFunction(t)) return "f(){...}"; if (r = Eb.oc(r) ? r : 3, Eb.isArray(t)) { for (n.push("["), i = 0, e = t.length; i < e; i += 1)Eb.lb(t[i]) ? n.push(0 < r ? Eb.dump(t[i], r - 1) : "{...}") : n.push(t[i]), n.push(", "); 1 < n.length && n.pop(), n.push("]") } else { for (i in n.push("{"), t) Eb.hasOwnProperty(t, i) && (n.push(i + " => "), Eb.lb(t[i]) ? n.push(0 < r ? Eb.dump(t[i], r - 1) : "{...}") : n.push(t[i]), n.push(", ")); 1 < n.length && n.pop(), n.push("}") } return n.join("") }, xi: function (t, r, i, e) { for (var n, s, o, h, f, c, u, a, F, l = [], p = t.length; !((n = t.lastIndexOf("{", p)) < 0) && !((s = t.indexOf("}", n)) < n + 1);)c = null, -1 < (o = (h = u = t.substring(n + 1, s)).indexOf(" ")) && (c = h.substring(o + 1), h = h.substring(0, o)), f = r[h], i && (f = i(h, f, c)), Eb.lb(f) ? f = Eb.isArray(f) ? Eb.dump(f, parseInt(c, 10)) : (-1 < (a = (c = c || "").indexOf("dump")) && (c = c.substring(4)), "[object Object]" === (F = f.toString()) || -1 < a ? Eb.dump(f, parseInt(c, 10)) : F) : Eb.nB(f) || Eb.oc(f) || (f = "~-" + l.length + "-~", l[l.length] = u), t = t.substring(0, n) + f + t.substring(s + 1), !1 === e && (p = n - 1); for (n = l.length - 1; 0 <= n; n -= 1)t = t.replace(new RegExp("~-" + n + "-~"), "{" + l[n] + "}", "g"); return t }, trim: function (r) { try { return r.replace(/^\s+|\s+$/g, "") } catch (t) { return r } }, merge: function () { var t, r = {}, i = arguments, e = i.length; for (t = 0; t < e; t += 1)Eb.qu(r, i[t], !0); return r }, wn: function (t, r, i, e, n) { t = t || 0, r = r || {}; var s, o, h = i, f = e; if (Eb.nB(i) && (h = r[i]), !h) throw new TypeError("method undefined"); return Eb.rH(e) || Eb.isArray(f) || (f = [e]), s = function () { h.apply(r, f || Jb) }, o = n ? setInterval(s, t) : setTimeout(s, t), { interval: n, cancel: function () { this.interval ? clearInterval(o) : clearTimeout(o) } } }, yn: function (t) { return Eb.lb(t) || Eb.nB(t) || Eb.oc(t) || Eb.va(t) } }, Eb.hasOwnProperty = Fb.hasOwnProperty ? function (t, r) { return t && t.hasOwnProperty && t.hasOwnProperty(r) } : function (t, r) { return !Eb.rH(t[r]) && t.constructor.prototype[r] !== t[r] }, Mb.qu(Eb, Mb, !0), (QMX.tG.Lang = Eb).tx = Eb.qe, QMX.tx = Eb.qe, QMX.extend = Eb.extend, QMX.vz("yahoo", QMX, { version: "2.9.0", pU: "2800" }), void 0 === Aostar || !Aostar) var Aostar = {}; void 0 !== Aostar.cI && Aostar.cI || (Aostar.cI = {}), Aostar.cI.hi = new function () { this.yV = function (t) { var r = t.toString(16); return r.length % 2 == 1 && (r = "0" + r), r }, this.qw = function (t) { var r = t.toString(16); if ("-" != r.substr(0, 1)) r.length % 2 == 1 ? r = "0" + r : r.match(/^[0-7]/) || (r = "00" + r); else { var i = r.substr(1).length; i % 2 == 1 ? i += 1 : r.match(/^[0-7]/) || (i += 2); for (var e = "", n = 0; n < i; n++)e += "f"; r = new K(e, 16).xor(t).add(K.ONE).toString(16).replace(/^-/, "") } return r }, this.xy = function (t, r) { var i = xf(t).replace(/(.{64})/g, "$1\r\n"); return "-----BEGIN " + r + "-----\r\n" + (i = i.replace(/\r\n$/, "")) + "\r\n-----END " + r + "-----\r\n" }, this.jd = function (t) { var r = Aostar.cI, i = Object.keys(t); if (1 != i.length) throw "key of param shall be only one."; var e = i[0]; if (-1 == ":bool:int:bitstr:octstr:null:fO:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:lE:set:ee:".indexOf(":" + e + ":")) throw "undefined key: " + e; if ("bool" == e) return new r.oB(t[e]); if ("int" == e) return new r.gW(t[e]); if ("bitstr" == e) return new r.ps(t[e]); if ("octstr" == e) return new r.jV(t[e]); if ("null" == e) return new r.pn(t[e]); if ("fO" == e) return new r.lD(t[e]); if ("enum" == e) return new r.oD(t[e]); if ("utf8str" == e) return new r.oY(t[e]); if ("numstr" == e) return new r.oi(t[e]); if ("prnstr" == e) return new r.oI(t[e]); if ("telstr" == e) return new r.oa(t[e]); if ("ia5str" == e) return new r.oe(t[e]); if ("utctime" == e) return new r.oO(t[e]); if ("gentime" == e) return new r.nV(t[e]); if ("lE" == e) { for (var n = t[e], s = [], o = 0; o < n.length; o++) { var h = r.hi.jd(n[o]); s.push(h) } return new r.jt({ array: s }) } if ("set" == e) { for (n = t[e], s = [], o = 0; o < n.length; o++) { h = r.hi.jd(n[o]); s.push(h) } return new r.pf({ array: s }) } if ("ee" == e) { var f = t[e]; if ("[object Array]" === Object.prototype.toString.call(f) && 3 == f.length) { var c = r.hi.jd(f[2]); return new r.nk({ ee: f[0], kj: f[1], eI: c }) } var u = {}; if (void 0 !== f.kj && (u.kj = f.kj), void 0 !== f.ee && (u.ee = f.ee), void 0 === f.eI) throw "eI shall be specified for 'ee'."; return u.eI = r.hi.jd(f.eI), new r.nk(u) } }, this.wW = function (t) { return this.jd(t).hc() } }, Aostar.cI.hi.kG = function (t) { for (var r = "", i = parseInt(t.substr(0, 2), 16), e = (r = Math.floor(i / 40) + "." + i % 40, ""), n = 2; n < t.length; n += 2) { var s = ("00000000" + parseInt(t.substr(n, 2), 16).toString(2)).slice(-8); if (e += s.substr(1, 7), "0" == s.substr(0, 1)) r = r + "." + new K(e, 2).toString(10), e = "" } return r }, Aostar.cI.hi.vL = function (t) { function h(t) { var r = t.toString(16); return 1 == r.length && (r = "0" + r), r } function r(t) { var r = "", i = new K(t, 10).toString(2), e = 7 - i.length % 7; 7 == e && (e = 0); for (var n = "", s = 0; s < e; s++)n += "0"; for (i = n + i, s = 0; s < i.length - 1; s += 7) { var o = i.substr(s, 7); s != i.length - 7 && (o = "1" + o), r += h(parseInt(o, 2)) } return r } if (!t.match(/^[0-9.]+$/)) throw "malformed fO string: " + t; var i = "", e = t.split("."), n = 40 * parseInt(e[0]) + parseInt(e[1]); i += h(n), e.splice(0, 2); for (var s = 0; s < e.length; s++)i += r(e[s]); return i }, Aostar.cI.hH = function () { this.uK = function () { if (void 0 === this.dq || null == this.dq) throw "this.dq is null fv undefined."; if (this.dq.length % 2 == 1) throw "value dv must be even length: n=" + "".length + ",v=" + this.dq; var t = this.dq.length / 2, r = t.toString(16); if (r.length % 2 == 1 && (r = "0" + r), t < 128) return r; var i = r.length / 2; if (15 < i) throw "ASN.1 length too long to represent by 8x: n = " + t.toString(16); return (128 + i).toString(16) + r }, this.hc = function () { return null != this.ft && !this.fG || (this.dq = this.gm(), this.mo = this.uK(), this.ft = this.fq + this.mo + this.dq, this.fG = !1), this.ft }, this.wX = function () { return this.hc(), this.dq }, this.gm = function () { return "" } }, Aostar.cI.iM = function (t) { Aostar.cI.iM.ff.constructor.call(this); this.uQ = function () { return this.s }, this.iE = function (t) { this.ft = null, this.fG = !0, this.s = t, this.dq = kM(this.s) }, this.mB = function (t) { this.ft = null, this.fG = !0, this.s = null, this.dq = t }, this.gm = function () { return this.dq }, void 0 !== t && ("string" == typeof t ? this.iE(t) : void 0 !== t.fu ? this.iE(t.fu) : void 0 !== t.dv && this.mB(t.dv)) }, QMX.lang.extend(Aostar.cI.iM, Aostar.cI.hH), Aostar.cI.nj = function (t) { Aostar.cI.nj.ff.constructor.call(this); this.wq = function (t) { return lT = t.getTime() + 6e4 * t.getTimezoneOffset(), new Date(lT) }, this.formatDate = function (t, r, i) { var e = this.ng, n = this.wq(t), s = String(n.getFullYear()); "lT" == r && (s = s.substr(2, 2)); var o = s + e(String(n.getMonth() + 1), 2) + e(String(n.getDate()), 2) + e(String(n.getHours()), 2) + e(String(n.getMinutes()), 2) + e(String(n.getSeconds()), 2); if (!0 === i) { var h = n.getMilliseconds(); if (0 != h) { var f = e(String(h), 3); o = o + "." + (f = f.replace(/[0]+$/, "")) } } return o + "Z" }, this.ng = function (t, r) { return t.length >= r ? t : new Array(r - t.length + 1).join("0") + t }, this.uQ = function () { return this.s }, this.iE = function (t) { this.ft = null, this.fG = !0, this.s = t, this.dq = kM(t) }, this.yI = function (t, r, i, e, n, s) { var o = new Date(Date.UTC(t, r - 1, i, e, n, s, 0)); this.nf(o) }, this.gm = function () { return this.dq } }, QMX.lang.extend(Aostar.cI.nj, Aostar.cI.hH), Aostar.cI.ok = function (t) { Aostar.cI.iM.ff.constructor.call(this); this.vY = function (t) { this.ft = null, this.fG = !0, this.it = t }, this.vj = function (t) { this.ft = null, this.fG = !0, this.it.push(t) }, this.it = new Array, void 0 !== t && void 0 !== t.array && (this.it = t.array) }, QMX.lang.extend(Aostar.cI.ok, Aostar.cI.hH), Aostar.cI.oB = function () { Aostar.cI.oB.ff.constructor.call(this), this.fq = "01", this.ft = "0101ff" }, QMX.lang.extend(Aostar.cI.oB, Aostar.cI.hH), Aostar.cI.gW = function (t) { Aostar.cI.gW.ff.constructor.call(this), this.fq = "02", this.nm = function (t) { this.ft = null, this.fG = !0, this.dq = Aostar.cI.hi.qw(t) }, this.jZ = function (t) { var r = new K(String(t), 10); this.nm(r) }, this.kb = function (t) { this.dq = t }, this.gm = function () { return this.dq }, void 0 !== t && (void 0 !== t.ku ? this.nm(t.ku) : void 0 !== t.int ? this.jZ(t.int) : "number" == typeof t ? this.jZ(t) : void 0 !== t.dv && this.kb(t.dv)) }, QMX.lang.extend(Aostar.cI.gW, Aostar.cI.hH), Aostar.cI.ps = function (t) { if (void 0 !== t && void 0 !== t.eI) { var r = Aostar.cI.hi.jd(t.eI); t.dv = "00" + r.hc() } Aostar.cI.ps.ff.constructor.call(this), this.fq = "03", this.qB = function (t) { this.ft = null, this.fG = !0, this.dq = t }, this.xK = function (t, r) { if (t < 0 || 7 < t) throw "unused gx shall be from 0 to 7: u = " + t; var i = "0" + t; this.ft = null, this.fG = !0, this.dq = i + r }, this.qz = function (t) { var r = 8 - (t = t.replace(/0+$/, "")).length % 8; 8 == r && (r = 0); for (var i = 0; i <= r; i++)t += "0"; var e = ""; for (i = 0; i < t.length - 1; i += 8) { var n = t.substr(i, 8), s = parseInt(n, 2).toString(16); 1 == s.length && (s = "0" + s), e += s } this.ft = null, this.fG = !0, this.dq = "0" + r + e }, this.uB = function (t) { for (var r = "", i = 0; i < t.length; i++)1 == t[i] ? r += "1" : r += "0"; this.qz(r) }, this.xT = function (t) { for (var r = new Array(t), i = 0; i < t; i++)r[i] = !1; return r }, this.gm = function () { return this.dq }, void 0 !== t && ("string" == typeof t && t.toLowerCase().match(/^[0-9a-f]+$/) ? this.qB(t) : void 0 !== t.dv ? this.qB(t.dv) : void 0 !== t.lU ? this.qz(t.lU) : void 0 !== t.array && this.uB(t.array)) }, QMX.lang.extend(Aostar.cI.ps, Aostar.cI.hH), Aostar.cI.jV = function (t) { if (void 0 !== t && void 0 !== t.eI) { var r = Aostar.cI.hi.jd(t.eI); t.dv = r.hc() } Aostar.cI.jV.ff.constructor.call(this, t), this.fq = "04" }, QMX.lang.extend(Aostar.cI.jV, Aostar.cI.iM), Aostar.cI.pn = function () { Aostar.cI.pn.ff.constructor.call(this), this.fq = "05", this.ft = "0500" }, QMX.lang.extend(Aostar.cI.pn, Aostar.cI.hH), Aostar.cI.lD = function (t) { function h(t) { var r = t.toString(16); return 1 == r.length && (r = "0" + r), r } function s(t) { var r = "", i = new K(t, 10).toString(2), e = 7 - i.length % 7; 7 == e && (e = 0); for (var n = "", s = 0; s < e; s++)n += "0"; for (i = n + i, s = 0; s < i.length - 1; s += 7) { var o = i.substr(s, 7); s != i.length - 7 && (o = "1" + o), r += h(parseInt(o, 2)) } return r } Aostar.cI.lD.ff.constructor.call(this), this.fq = "06", this.kb = function (t) { this.ft = null, this.fG = !0, this.s = null, this.dq = t }, this.nb = function (t) { if (!t.match(/^[0-9.]+$/)) throw "malformed fO string: " + t; var r = "", i = t.split("."), e = 40 * parseInt(i[0]) + parseInt(i[1]); r += h(e), i.splice(0, 2); for (var n = 0; n < i.length; n++)r += s(i[n]); this.ft = null, this.fG = !0, this.s = null, this.dq = r }, this.qH = function (t) { var r = Aostar.cI.ic.kl.xq(t); if ("" === r) throw "lD fU undefined: " + t; this.nb(r) }, this.gm = function () { return this.dq }, void 0 !== t && ("string" == typeof t ? t.match(/^[0-2].[0-9.]+$/) ? this.nb(t) : this.qH(t) : void 0 !== t.fO ? this.nb(t.fO) : void 0 !== t.dv ? this.kb(t.dv) : void 0 !== t.name && this.qH(t.name)) }, QMX.lang.extend(Aostar.cI.lD, Aostar.cI.hH), Aostar.cI.oD = function (t) { Aostar.cI.oD.ff.constructor.call(this), this.fq = "0a", this.nm = function (t) { this.ft = null, this.fG = !0, this.dq = Aostar.cI.hi.qw(t) }, this.jZ = function (t) { var r = new K(String(t), 10); this.nm(r) }, this.kb = function (t) { this.dq = t }, this.gm = function () { return this.dq }, void 0 !== t && (void 0 !== t.int ? this.jZ(t.int) : "number" == typeof t ? this.jZ(t) : void 0 !== t.dv && this.kb(t.dv)) }, QMX.lang.extend(Aostar.cI.oD, Aostar.cI.hH), Aostar.cI.oY = function (t) { Aostar.cI.oY.ff.constructor.call(this, t), this.fq = "0c" }, QMX.lang.extend(Aostar.cI.oY, Aostar.cI.iM), Aostar.cI.oi = function (t) { Aostar.cI.oi.ff.constructor.call(this, t), this.fq = "12" }, QMX.lang.extend(Aostar.cI.oi, Aostar.cI.iM), Aostar.cI.oI = function (t) { Aostar.cI.oI.ff.constructor.call(this, t), this.fq = "13" }, QMX.lang.extend(Aostar.cI.oI, Aostar.cI.iM), Aostar.cI.oa = function (t) { Aostar.cI.oa.ff.constructor.call(this, t), this.fq = "14" }, QMX.lang.extend(Aostar.cI.oa, Aostar.cI.iM), Aostar.cI.oe = function (t) { Aostar.cI.oe.ff.constructor.call(this, t), this.fq = "16" }, QMX.lang.extend(Aostar.cI.oe, Aostar.cI.iM), Aostar.cI.oO = function (t) { Aostar.cI.oO.ff.constructor.call(this, t), this.fq = "17", this.nf = function (t) { this.ft = null, this.fG = !0, this.date = t, this.s = this.formatDate(this.date, "lT"), this.dq = kM(this.s) }, this.gm = function () { return void 0 === this.date && void 0 === this.s && (this.date = new Date, this.s = this.formatDate(this.date, "lT"), this.dq = kM(this.s)), this.dq }, void 0 !== t && (void 0 !== t.fu ? this.iE(t.fu) : "string" == typeof t && t.match(/^[0-9]{12}Z$/) ? this.iE(t) : void 0 !== t.dv ? this.mB(t.dv) : void 0 !== t.date && this.nf(t.date)) }, QMX.lang.extend(Aostar.cI.oO, Aostar.cI.nj), Aostar.cI.nV = function (t) { Aostar.cI.nV.ff.constructor.call(this, t), this.fq = "18", this.kY = !1, this.nf = function (t) { this.ft = null, this.fG = !0, this.date = t, this.s = this.formatDate(this.date, "gen", this.kY), this.dq = kM(this.s) }, this.gm = function () { return void 0 === this.date && void 0 === this.s && (this.date = new Date, this.s = this.formatDate(this.date, "gen", this.kY), this.dq = kM(this.s)), this.dq }, void 0 !== t && (void 0 !== t.fu ? this.iE(t.fu) : "string" == typeof t && t.match(/^[0-9]{14}Z$/) ? this.iE(t) : void 0 !== t.dv ? this.mB(t.dv) : void 0 !== t.date && this.nf(t.date), !0 === t.oE && (this.kY = !0)) }, QMX.lang.extend(Aostar.cI.nV, Aostar.cI.nj), Aostar.cI.jt = function (t) { Aostar.cI.jt.ff.constructor.call(this, t), this.fq = "30", this.gm = function () { for (var t = "", r = 0; r < this.it.length; r++) { t += this.it[r].hc() } return this.dq = t, this.dq } }, QMX.lang.extend(Aostar.cI.jt, Aostar.cI.ok), Aostar.cI.pf = function (t) { Aostar.cI.pf.ff.constructor.call(this, t), this.fq = "31", this.rm = !0, this.gm = function () { for (var t = new Array, r = 0; r < this.it.length; r++) { var i = this.it[r]; t.push(i.hc()) } return 1 == this.rm && t.sort(), this.dq = t.join(""), this.dq }, void 0 !== t && void 0 !== t.sI && 0 == t.sI && (this.rm = !1) }, QMX.lang.extend(Aostar.cI.pf, Aostar.cI.ok), Aostar.cI.nk = function (t) { Aostar.cI.nk.ff.constructor.call(this), this.fq = "a0", this.dq = "", this.mq = !0, this.io = null, this.uT = function (t, r, i) { this.fq = r, this.mq = t, this.io = i, this.mq ? (this.dq = this.io.hc(), this.ft = null, this.fG = !0) : (this.dq = null, this.ft = i.hc(), this.ft = this.ft.replace(/^../, r), this.fG = !1) }, this.gm = function () { return this.dq }, void 0 !== t && (void 0 !== t.ee && (this.fq = t.ee), void 0 !== t.kj && (this.mq = t.kj), void 0 !== t.eI && (this.io = t.eI, this.uT(this.mq, this.fq, this.io))) }, QMX.lang.extend(Aostar.cI.nk, Aostar.cI.hH); var dE = new function () { }; dE.qD = function (t, r) { if ("8" != t.substring(r + 2, r + 3)) return 1; var i = parseInt(t.substring(r + 3, r + 4)); return 0 == i ? -1 : 0 < i && i < 10 ? i + 1 : -2 }, dE.nZ = function (t, r) { var i = dE.qD(t, r); return i < 1 ? "" : t.substring(r + 2, r + 2 + 2 * i) }, dE.mJ = function (t, r) { var i = dE.nZ(t, r); return "" == i ? -1 : (parseInt(i.substring(0, 1)) < 8 ? new K(i, 16) : new K(i.substring(2), 16)).hI() }, dE.od = function (t, r) { var i = dE.qD(t, r); return i < 0 ? i : r + 2 * (i + 1) }, dE.ep = function (t, r) { var i = dE.od(t, r), e = dE.mJ(t, r); return t.substring(i, i + 2 * e) }, dE.rv = function (t, r) { return t.substr(r, 2) + dE.nZ(t, r) + dE.ep(t, r) }, dE.tY = function (t, r) { return dE.od(t, r) + 2 * dE.mJ(t, r) }, dE.iX = function (t, r) { var i = new Array, e = dE.od(t, r); "03" == t.substr(r, 2) ? i.push(e + 2) : i.push(e); for (var n = dE.mJ(t, r), s = e, o = 0; ;) { var h = dE.tY(t, s); if (null == h || 2 * n <= h - e) break; if (200 <= o) break; i.push(h), s = h, o++ } return i }, dE.yZ = function (t, r, i) { return dE.iX(t, r)[i] }, dE.lK = function (t, r, i) { if (0 == i.length) return r; var e = i.shift(), n = dE.iX(t, r); return dE.lK(t, n[e], i) }, dE.wN = function (t, r, i) { var e = dE.lK(t, r, i); return dE.rv(t, e) }, dE.xc = function (t, r, i) { var e = dE.lK(t, r, i); return dE.ep(t, e) }, dE.wk = function (t, r, i, e) { var n = dE.lK(t, r, i); if (void 0 === n) throw "can't find gj object"; if (void 0 !== e && t.substr(n, 2) != e) throw "checking ee doesn't match: " + t.substr(n, 2) + "!=" + e; return dE.ep(t, n) }, dE.wf = function (t) { function r(t, r) { return t.length >= r ? t : new Array(r - t.length + 1).join("0") + t } var i = [], e = t.substr(0, 2), n = parseInt(e, 16); i[0] = new String(Math.floor(n / 40)), i[1] = new String(n % 40); for (var s = t.substr(2), o = [], h = 0; h < s.length / 2; h++)o.push(parseInt(s.substr(2 * h, 2), 16)); var f = [], c = ""; for (h = 0; h < o.length; h++)128 & o[h] ? c += r((127 & o[h]).toString(2), 7) : (c += r((127 & o[h]).toString(2), 7), f.push(new String(parseInt(c, 2))), c = ""); var u = i.join("."); return 0 < f.length && (u = u + "." + f.join(".")), u }, dE.dump = function (t, r, i, e) { var n = t; t instanceof Aostar.cI.hH && (n = t.hc()); function s(t, r) { return t.length <= 2 * r ? t : t.substr(0, r) + "..(total " + t.length / 2 + "fb).." + t.substr(t.length - r, r) } void 0 === r && (r = { mh: 32 }), void 0 === i && (i = 0), void 0 === e && (e = ""); var o = r.mh; if ("01" == n.substr(i, 2)) return "00" == (h = dE.ep(n, i)) ? e + "BOOLEAN FALSE\n" : e + "BOOLEAN TRUE\n"; if ("02" == n.substr(i, 2)) return e + "INTEGER " + s(h = dE.ep(n, i), o) + "\n"; if ("03" == n.substr(i, 2)) return e + "BITSTRING " + s(h = dE.ep(n, i), o) + "\n"; if ("04" == n.substr(i, 2)) { var h = dE.ep(n, i); if (dE.sG(h)) { var f = e + "OCTETSTRING, encapsulates\n"; return f += dE.dump(h, r, 0, e + " ") } return e + "OCTETSTRING " + s(h, o) + "\n" } if ("05" == n.substr(i, 2)) return e + "NULL\n"; if ("06" == n.substr(i, 2)) { var c = dE.ep(n, i), u = Aostar.cI.hi.kG(c), a = Aostar.cI.ic.kl.ml(u), F = u.replace(/\./g, " "); return "" != a ? e + "ObjectIdentifier " + a + " (" + F + ")\n" : e + "ObjectIdentifier (" + F + ")\n" } if ("0c" == n.substr(i, 2)) return e + "UTF8String '" + et(dE.ep(n, i)) + "'\n"; if ("13" == n.substr(i, 2)) return e + "PrintableString '" + et(dE.ep(n, i)) + "'\n"; if ("14" == n.substr(i, 2)) return e + "TeletexString '" + et(dE.ep(n, i)) + "'\n"; if ("16" == n.substr(i, 2)) return e + "IA5String '" + et(dE.ep(n, i)) + "'\n"; if ("17" == n.substr(i, 2)) return e + "UTCTime " + et(dE.ep(n, i)) + "\n"; if ("18" == n.substr(i, 2)) return e + "GeneralizedTime " + et(dE.ep(n, i)) + "\n"; if ("30" == n.substr(i, 2)) { if ("3000" == n.substr(i, 4)) return e + "SEQUENCE {}\n"; f = e + "SEQUENCE\n"; var l = r; if ((2 == (g = dE.iX(n, i)).length || 3 == g.length) && "06" == n.substr(g[0], 2) && "04" == n.substr(g[g.length - 1], 2)) { var p = dE.ep(n, g[0]), d = (u = Aostar.cI.hi.kG(p), a = Aostar.cI.ic.kl.ml(u), JSON.parse(JSON.stringify(r))); d.nq = a, l = d } for (var v = 0; v < g.length; v++)f += dE.dump(n, l, g[v], e + " "); return f } if ("31" == n.substr(i, 2)) { f = e + "SET\n"; var g = dE.iX(n, i); for (v = 0; v < g.length; v++)f += dE.dump(n, r, g[v], e + " "); return f } var y = parseInt(n.substr(i, 2), 16); if (0 == (128 & y)) return e + "UNKNOWN(" + n.substr(i, 2) + ") " + dE.ep(n, i) + "\n"; var m = 31 & y; if (0 == (32 & y)) return "68747470" == (h = dE.ep(n, i)).substr(0, 8) && (h = et(h)), "subjectAltName" === r.nq && 2 == m && (h = et(h)), f = e + "[" + m + "] " + h + "\n"; var f = e + "[" + m + "]\n"; for (g = dE.iX(n, i), v = 0; v < g.length; v++)f += dE.dump(n, r, g[v], e + " "); return f }, dE.kK = function (t, r, i) { var e = t; t instanceof Aostar.cI.hH && (e = t.hc()); void 0 === r && (r = { mh: 32 }), void 0 === i && (i = 0); var n, s, o = r.mh; if ("01" == e.substr(i, 2)) return "00" != (h = dE.ep(e, i)); if ("02" == e.substr(i, 2)) return h = dE.ep(e, i); if ("03" == e.substr(i, 2)) { var h = dE.ep(e, i); return s = o, (n = h).length <= 2 * s ? n : n.substr(0, s) + n.substr(n.length - s, s) } if ("04" == e.substr(i, 2)) { h = dE.ep(e, i); return dE.sG(h) ? ((F = new Array).push(dE.kK(h, r, 0)), F) : h } if ("05" == e.substr(i, 2)) return ""; if ("06" == e.substr(i, 2)) { var f = dE.ep(e, i), c = Aostar.cI.hi.kG(f), u = Aostar.cI.ic.kl.ml(c), a = c.replace(/\./g, " "); return a } if ("0c" == e.substr(i, 2)) return et(dE.ep(e, i)); if ("13" == e.substr(i, 2)) return et(dE.ep(e, i)); if ("14" == e.substr(i, 2)) return et(dE.ep(e, i)); if ("16" == e.substr(i, 2)) return et(dE.ep(e, i)); if ("17" == e.substr(i, 2)) return et(dE.ep(e, i)); if ("18" == e.substr(i, 2)) return et(dE.ep(e, i)); if ("30" == e.substr(i, 2)) { var F = new Array; if ("3000" == e.substr(i, 4)) return F; var l = r; if ((2 == (g = dE.iX(e, i)).length || 3 == g.length) && "06" == e.substr(g[0], 2) && "04" == e.substr(g[g.length - 1], 2)) { var p = dE.ep(e, g[0]), d = (c = Aostar.cI.hi.kG(p), u = Aostar.cI.ic.kl.ml(c), JSON.parse(JSON.stringify(r))); d.nq = u, l = d } for (var v = 0; v < g.length; v++)F.push(dE.kK(e, l, g[v])); return F } if ("31" == e.substr(i, 2)) { F = new Array; var g = dE.iX(e, i); for (v = 0; v < g.length; v++)F.push(dE.kK(e, r, g[v])); return F } var y = parseInt(e.substr(i, 2), 16); if (0 == (128 & y)) return "UNKNOWN(" + e.substr(i, 2) + ") " + dE.ep(e, i) + "\n"; var m = 31 & y; if (0 == (32 & y)) return "68747470" == (h = dE.ep(e, i)).substr(0, 8) && (h = et(h)), "subjectAltName" === r.nq && 2 == m && (h = et(h)), F = "[" + m + "] " + h + "\n"; var F = "[" + m + "]\n"; for (g = dE.iX(e, i), v = 0; v < g.length; v++)F += dE.dump(e, r, g[v], " "); return F }, dE.sG = function (t) { if (t.length % 2 == 1) return !1; var r = dE.mJ(t, 0), i = t.substr(0, 2), e = dE.nZ(t, 0); return t.length - i.length - e.length == 2 * r }; var ib = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", ot = "=", ji; function dO(t) { var r, i, e = ""; for (r = 0; r + 3 <= t.length; r += 3)i = parseInt(t.substring(r, r + 3), 16), e += ib.charAt(i >> 6) + ib.charAt(63 & i); if (r + 1 == t.length ? (i = parseInt(t.substring(r, r + 1), 16), e += ib.charAt(i << 2)) : r + 2 == t.length && (i = parseInt(t.substring(r, r + 2), 16), e += ib.charAt(i >> 2) + ib.charAt((3 & i) << 4)), ot) for (; 0 < (3 & e.length);)e += ot; return e } function cV(t) { var r, i, e, n = "", s = 0; for (r = 0; r < t.length && t.charAt(r) != ot; ++r)(e = ib.indexOf(t.charAt(r))) < 0 || (s = 0 == s ? (n += ax(e >> 2), i = 3 & e, 1) : 1 == s ? (n += ax(i << 2 | e >> 4), i = 15 & e, 2) : 2 == s ? (n += ax(i), n += ax(e >> 2), i = 3 & e, 3) : (n += ax(i << 2 | e >> 4), n += ax(15 & e), 0)); return 1 == s && (n += ax(i << 2)), n } function cn(t) { var r, i = cV(t), e = new Array; for (r = 0; 2 * r < i.length; ++r)e[r] = parseInt(i.substring(2 * r, 2 * r + 2), 16); return e } function V(t, r) { this.x = r, this.q = t } function dA(t) { return t == this || this.q.fI(t.q) && this.x.fI(t.x) } function bW() { return this.x } function cE() { return new V(this.q, this.x.ht().fJ(this.q)) } function dm(t) { return new V(this.q, this.x.add(t.cl()).fJ(this.q)) } function dK(t) { return new V(this.q, this.x.eB(t.cl()).fJ(this.q)) } function cW(t) { return new V(this.q, this.x.multiply(t.cl()).fJ(this.q)) } function dr() { return new V(this.q, this.x.square().fJ(this.q)) } function dN(t) { return new V(this.q, this.x.multiply(t.cl().hm(this.q)).fJ(this.q)) } function O(t, r, i, e) { this.bZ = t, this.x = r, this.y = i, this.z = null == e ? K.ONE : e, this.lc = null } function dC() { return null == this.lc && (this.lc = this.z.hm(this.bZ.q)), this.bZ.ev(this.x.cl().multiply(this.lc).fJ(this.bZ.q)) } function dQ() { return null == this.lc && (this.lc = this.z.hm(this.bZ.q)), this.bZ.ev(this.y.cl().multiply(this.lc).fJ(this.bZ.q)) } function cq(t) { return t == this || (this.fX() ? t.fX() : t.fX() ? this.fX() : !!t.y.cl().multiply(this.z).eB(this.y.cl().multiply(t.z)).fJ(this.bZ.q).fI(K.ZERO) && t.x.cl().multiply(this.z).eB(this.x.cl().multiply(t.z)).fJ(this.bZ.q).fI(K.ZERO)) } function ce() { return null == this.x && null == this.y || this.z.fI(K.ZERO) && !this.y.cl().fI(K.ZERO) } function cY() { return new O(this.bZ, this.x, this.y.ht(), this.z) } function dI(t) { if (this.fX()) return t; if (t.fX()) return this; var r = t.y.cl().multiply(this.z).eB(this.y.cl().multiply(t.z)).fJ(this.bZ.q), i = t.x.cl().multiply(this.z).eB(this.x.cl().multiply(t.z)).fJ(this.bZ.q); if (K.ZERO.fI(i)) return K.ZERO.fI(r) ? this.ko() : this.bZ.hk(); var e = new K("3"), n = this.x.cl(), s = this.y.cl(), o = (t.x.cl(), t.y.cl(), i.square()), h = o.multiply(i), f = n.multiply(o), c = r.square().multiply(this.z), u = c.eB(f.shiftLeft(1)).multiply(t.z).eB(h).multiply(i).fJ(this.bZ.q), a = f.multiply(e).multiply(r).eB(s.multiply(h)).eB(c.multiply(r)).multiply(t.z).add(r.multiply(h)).fJ(this.bZ.q), F = h.multiply(this.z).multiply(t.z).fJ(this.bZ.q); return new O(this.bZ, this.bZ.ev(u), this.bZ.ev(a), F) } function cb() { if (this.fX()) return this; if (0 == this.y.cl().eN()) return this.bZ.hk(); var t = new K("3"), r = this.x.cl(), i = this.y.cl(), e = i.multiply(this.z), n = e.multiply(i).fJ(this.bZ.q), s = this.bZ.a.cl(), o = r.square().multiply(t); K.ZERO.fI(s) || (o = o.add(this.z.square().multiply(s))); var h = (o = o.fJ(this.bZ.q)).square().eB(r.shiftLeft(3).multiply(n)).shiftLeft(1).multiply(e).fJ(this.bZ.q), f = o.multiply(t).multiply(r).eB(n.shiftLeft(1)).shiftLeft(2).multiply(n).eB(o.square().multiply(o)).fJ(this.bZ.q), c = e.square().multiply(e).shiftLeft(3).fJ(this.bZ.q); return new O(this.bZ, this.bZ.ev(h), this.bZ.ev(f), c) } function cZ(t) { if (this.fX()) return this; if (0 == t.eN()) return this.bZ.hk(); var r, i = t, e = i.multiply(new K("3")), n = this.ht(), s = this; for (r = e.dY() - 2; 0 < r; --r) { s = s.ko(); var o = e.eE(r); o != i.eE(r) && (s = s.add(o ? this : n)) } return s } function cQ(t, r, i) { var e; e = t.dY() > i.dY() ? t.dY() - 1 : i.dY() - 1; for (var n = this.bZ.hk(), s = this.add(r); 0 <= e;)n = n.ko(), t.eE(e) ? n = i.eE(e) ? n.add(s) : n.add(this) : i.eE(e) && (n = n.add(r)), --e; return n } function ag(t, r, i) { this.q = t, this.a = this.ev(r), this.b = this.ev(i), this.og = new O(this, null, null) } function dG() { return this.q } function dp() { return this.a } function ck() { return this.b } function cS(t) { return t == this || this.q.fI(t.q) && this.a.fI(t.a) && this.b.fI(t.b) } function cL() { return this.og } function bY(t) { return new V(this.q, t) } function cw(t) { switch (parseInt(t.substr(0, 2), 16)) { case 0: return this.og; case 2: case 3: return null; case 4: case 6: case 7: var r = (t.length - 2) / 2, i = t.substr(2, r), e = t.substr(2 + r, r); return new O(this, this.ev(new K(i, 16)), this.ev(new K(e, 16))); default: return null } } if (AostarJS.jx.jP || function () { var t = AostarJS, r = t.jx, i = r.Base, f = r.eR, e = r.jh, n = t.ef, s = (n.fc, n.po), o = t.hl.qG, h = r.jP = e.extend({ dF: i.extend(), oW: function (t, r) { return this.create(this.oH, t, r) }, oq: function (t, r) { return this.create(this.uq, t, r) }, dV: function (t, r, i) { this.dF = this.dF.extend(i), this.pV = t, this.wD = r, this.reset() }, reset: function () { e.reset.call(this), this.pR() }, wc: function (t) { return this.mE(t), this.iG() }, jF: function (t) { return t && this.mE(t), this.nh() }, he: 4, kh: 4, oH: 1, uq: 2, ri: function (e) { return { nr: function (t, r, i) { return c(r).nr(e, t, r, i) }, mU: function (t, r, i) { return c(r).mU(e, t, r, i) } } } }); function c(t) { return "string" == typeof t ? A : y } r.tJ = h.extend({ nh: function () { return this.iG(!0) }, dX: 1 }); var u, a = t.mode = {}, F = r.qZ = i.extend({ oW: function (t, r) { return this.tF.create(t, r) }, oq: function (t, r) { return this.vR.create(t, r) }, dV: function (t, r) { this.qs = t, this.qb = r } }), l = a.CBC = ((u = F.extend()).tF = u.extend({ qC: function (t, r) { var i = this.qs, e = i.dX; p.call(this, t, r, e), i.yB(t, r), this.qS = t.slice(r, r + e) } }), u.vR = u.extend({ qC: function (t, r) { var i = this.qs, e = i.dX, n = t.slice(r, r + e); i.wb(t, r), p.call(this, t, r, e), this.qS = n } }), u); function p(t, r, i) { var e = this.qb; if (e) { var n = e; this.qb = void 0 } else n = this.qS; for (var s = 0; s < i; s++)t[r + s] ^= n[s] } var d = (t.gh = {}).tk = { gh: function (t, r) { for (var i = 4 * r, e = i - t.fe % i, n = e << 24 | e << 16 | e << 8 | e, s = [], o = 0; o < e; o += 4)s.push(n); var h = f.create(s, e); t.concat(h) }, tq: function (t) { var r = 255 & t.cu[t.fe - 1 >>> 2]; t.fe -= r } }, v = (r.tK = h.extend({ dF: h.dF.extend({ mode: l, padding: d }), reset: function () { h.reset.call(this); var t = this.dF, r = t.eO, i = t.mode; if (this.pV == this.oH) var e = i.oW; else { e = i.oq; this.qR = 1 } this.vQ = e.call(i, this, r && r.cu) }, qp: function (t, r) { this.vQ.qC(t, r) }, nh: function () { var t = this.dF.padding; if (this.pV == this.oH) { t.gh(this.hz, this.dX); var r = this.iG(!0) } else { r = this.iG(!0); t.tq(r) } return r }, dX: 4 }), r.mf = i.extend({ dV: function (t) { this.nz(t) }, toString: function (t) { return (t || this.ny).stringify(this) } })), g = (t.format = {}).vq = { stringify: function (t) { var r = t.fz, i = t.gb; if (i) var e = f.create([1398893684, 1701076831]).concat(i).concat(r); else e = r; return e.toString(s) }, parse: function (t) { var r = s.parse(t), i = r.cu; if (1398893684 == i[0] && 1701076831 == i[1]) { var e = f.create(i.slice(2, 4)); i.splice(0, 4), r.fe -= 16 } return v.create({ fz: r, gb: e }) } }, y = r.jW = i.extend({ dF: i.extend({ format: g }), nr: function (t, r, i, e) { e = this.dF.extend(e); var n = t.oW(i, e), s = n.jF(r), o = n.dF; return v.create({ fz: s, key: i, eO: o.eO, wp: t, mode: o.mode, padding: o.padding, dX: t.dX, ny: e.format }) }, mU: function (t, r, i, e) { return e = this.dF.extend(e), r = this.qh(r, e.format), t.oq(i, e).jF(r.fz || r) }, qh: function (t, r) { return "string" == typeof t ? r.parse(t, this) : t } }), m = (t.qE = {}).vq = { ql: function (t, r, i, e) { e = e || f.random(8); var n = o.create({ he: r + i }).xI(t, e), s = f.create(n.cu.slice(r), 4 * i); return n.fe = 4 * r, v.create({ key: n, eO: s, gb: e }) } }, A = r.pD = y.extend({ dF: y.dF.extend({ qE: m }), nr: function (t, r, i, e) { var n = (e = this.dF.extend(e)).qE.ql(i, t.he, t.kh); e.eO = n.eO; var s = y.nr.call(this, t, r, n.key, e); return s.nz(n), s }, mU: function (t, r, i, e) { e = this.dF.extend(e), r = this.qh(r, e.format); var n = e.qE.ql(i, t.he, t.kh, r.gb); return e.eO = n.eO, y.mU.call(this, t, r, n.key, e) } }) }(), V.prototype.fI = dA, V.prototype.cl = bW, V.prototype.ht = cE, V.prototype.add = dm, V.prototype.eB = dK, V.prototype.multiply = cW, V.prototype.square = dr, V.prototype.divide = dN, O.prototype.eS = dC, O.prototype.ew = dQ, O.prototype.fI = cq, O.prototype.fX = ce, O.prototype.ht = cY, O.prototype.add = dI, O.prototype.ko = cb, O.prototype.multiply = cZ, O.prototype.xS = cQ, ag.prototype.pv = dG, ag.prototype.wo = dp, ag.prototype.uN = ck, ag.prototype.fI = cS, ag.prototype.hk = cL, ag.prototype.ev = bY, ag.prototype.wP = cw, void 0 === Aostar || !Aostar) var Aostar = {}; void 0 !== Aostar.crypto && Aostar.crypto || (Aostar.crypto = {}), Aostar.crypto.eJ = function (t) { var r = new bG; this.type = "EC", this.jc = function (t) { return new K(t.dY(), r).fJ(t.eB(K.ONE)).add(K.ONE) }, this.nl = function (t) { this.fm = Aostar.crypto.hD.getByName(t), this.eh = null, this.cv = null, this.ed = t }, this.kA = function (t) { this.tf = !0, this.eh = t }, this.kO = function (t) { this.rC = !0, this.cv = t }, this.xY = function () { var t = this.cv; if ("04" !== t.substr(0, 2)) throw "this method supports uncompressed format(04) only"; var r = this.fm.hO / 4; if (t.length !== 2 + 2 * r) throw "malformed public key dv length"; var i = {}; return i.x = t.substr(2, r), i.y = t.substr(2 + r), i }, this.yY = function () { var t = this.ed; return "secp256r1" === t || "NIST P-256" === t || "P-256" === t || "prime256v1" === t ? "P-256" : "secp384r1" === t || "NIST P-384" === t || "P-384" === t ? "P-384" : null }, this.oh = function () { var t = this.fm.n, r = this.jc(t), i = this.fm.G.multiply(r), e = i.eS().cl(), n = i.ew().cl(), s = this.fm.hO / 4, o = ("0000000000" + r.toString(16)).slice(-s), h = "04" + ("0000000000" + e.toString(16)).slice(-s) + ("0000000000" + n.toString(16)).slice(-s); return this.kA(o), this.kO(h), { ecprvhex: o, ecpubhex: h } }, this.vc = function (t) { var r = new K(t, 16), i = this.fm.G.multiply(r), e = i.eS().cl(), n = i.ew().cl(), s = this.fm.hO / 4; return { ecprvhex: ("0000000000" + r.toString(16)).slice(-s), ecpubhex: "04" + ("0000000000" + e.toString(16)).slice(-s) + ("0000000000" + n.toString(16)).slice(-s) } }, this.mL = function (t) { return this.jz(t, this.eh) }, this.jz = function (t, r) { var i = new K(r, 16), e = this.fm.n, n = new K(t, 16); do { var s = this.jc(e), o = this.fm.G.multiply(s).eS().cl().fJ(e) } while (o.dU(K.ZERO) <= 0); var h = s.hm(e).multiply(n.add(i.multiply(o))).fJ(e); return Aostar.crypto.eJ.pk(o, h) }, this.gX = function (t, r) { var i = r, e = this.fm.n, n = K.hq(t); do { var s = this.jc(e), o = this.fm.G.multiply(s).eS().cl().fJ(e) } while (o.dU(K.ZERO) <= 0); var h = s.hm(e).multiply(n.add(i.multiply(o))).fJ(e); return this.mX(o, h) }, this.lJ = function (t, r) { return this.jQ(t, r, this.cv) }, this.jQ = function (t, r, i) { var e, n, s, o = Aostar.crypto.eJ.rG(r); e = o.r, n = o.s, s = O.ll(this.fm.bZ, i); var h = new K(t, 16); return this.kk(h, e, n, s) }, this.fY = function (t, r, i) { var e, n, s; if (oG.fW.isArray(r)) { var o = this.lL(r); e = o.r, n = o.s } else { if ("object" != typeof r || !r.r || !r.s) throw "Invalid value for signature"; e = r.r, n = r.s } if (i instanceof O) s = i; else { if (!oG.fW.isArray(i)) throw "Invalid format for gk value, must be byte array fv O"; s = O.qk(this.fm.bZ, i) } var h = K.hq(t); return this.kk(h, e, n, s) }, this.kk = function (t, r, i, e) { var n = this.fm.n, s = this.fm.G; if (r.dU(K.ONE) < 0 || 0 <= r.dU(n)) return !1; if (i.dU(K.ONE) < 0 || 0 <= i.dU(n)) return !1; var o = i.hm(n), h = t.multiply(o).fJ(n), f = r.multiply(o).fJ(n); return s.multiply(h).add(e.multiply(f)).eS().cl().fJ(n).fI(r) }, this.mX = function (t, r) { var i = t.mZ(), e = r.mZ(), n = []; return n.push(2), n.push(i.length), (n = n.concat(i)).push(2), n.push(e.length), (n = n.concat(e)).unshift(n.length), n.unshift(48), n }, this.lL = function (t) { var r; if (48 != t[0]) throw new Error("gn not a valid jt"); if ((r = 2) != t[r]) throw new Error("First element in signature must be a gW"); var i = t.slice(r + 2, r + 2 + t[r + 1]); if (2 != t[r += 2 + t[r + 1]]) throw new Error("Second element in signature must be a gW"); var e = t.slice(r + 2, r + 2 + t[r + 1]); return r += 2 + t[r + 1], { r: K.hq(i), s: K.hq(e) } }, this.sl = function (t) { if (65 !== t.length) throw "gn has the wrong length"; var r = t[0] - 27; if (r < 0 || 7 < r) throw "Invalid signature type"; var i = this.fm.n; return { r: K.hq(t.slice(1, 33)).fJ(i), s: K.hq(t.slice(33, 65)).fJ(i), i: r } }, void 0 !== t && void 0 !== t.bZ && (this.ed = t.bZ), void 0 === this.ed && (this.ed = "secp256r1"), this.nl(this.ed), void 0 !== t && (void 0 !== t.prv && this.kA(t.prv), void 0 !== t.pub && this.kO(t.pub)) }, Aostar.crypto.eJ.rG = function (t) { var r = Aostar.crypto.eJ.sx(t); return { r: new K(r.r, 16), s: new K(r.s, 16) } }, Aostar.crypto.eJ.sx = function (t) { if ("30" != t.substr(0, 2)) throw "signature is not a ASN.1 fi"; var r = dE.iX(t, 0); if (2 != r.length) throw "number of signature ASN.1 fi elements seem wrong"; var i = r[0], e = r[1]; if ("02" != t.substr(i, 2)) throw "1st item of sequene of signature is not ASN.1 integer"; if ("02" != t.substr(e, 2)) throw "2nd item of sequene of signature is not ASN.1 integer"; return { r: dE.ep(t, i), s: dE.ep(t, e) } }, Aostar.crypto.eJ.vP = function (t) { var r = Aostar.crypto.eJ.sx(t), i = r.r, e = r.s; if ("00" == i.substr(0, 2) && i.length / 2 * 8 % 128 == 8 && (i = i.substr(2)), "00" == e.substr(0, 2) && e.length / 2 * 8 % 128 == 8 && (e = e.substr(2)), i.length / 2 * 8 % 128 != 0) throw "unknown eJ dz r length error"; if (e.length / 2 * 8 % 128 != 0) throw "unknown eJ dz s length error"; return i + e }, Aostar.crypto.eJ.yL = function (t) { if (t.length / 2 * 8 % 128 != 0) throw "unknown eJ concatinated r-s dz length error"; var r = t.substr(0, t.length / 2), i = t.substr(t.length / 2); return Aostar.crypto.eJ.wH(r, i) }, Aostar.crypto.eJ.wH = function (t, r) { var i = new K(t, 16), e = new K(r, 16); return Aostar.crypto.eJ.pk(i, e) }, Aostar.crypto.eJ.pk = function (t, r) { var i = new Aostar.cI.gW({ ku: t }), e = new Aostar.cI.gW({ ku: r }); return new Aostar.cI.jt({ array: [i, e] }).hc() }, V.prototype.vw = function () { return Math.floor((this.cl().dY() + 7) / 8) }, O.prototype.yv = function (t) { function r(t, r) { var i = t.yc(); if (r < i.length) i = i.slice(i.length - r); else for (; r > i.length;)i.unshift(0); return i } var i = this.eS().cl(), e = this.ew().cl(), n = r(i, 32); return t ? e.ez() ? n.unshift(2) : n.unshift(3) : (n.unshift(4), n = n.concat(r(e, 32))), n }, O.qk = function (t, r) { r[0]; var i = r.length - 1, e = r.slice(1, 1 + i / 2), n = r.slice(1 + i / 2, 1 + i); e.unshift(0), n.unshift(0); var s = new K(e), o = new K(n); return new O(t, t.ev(s), t.ev(o)) }, O.ll = function (t, r) { r.substr(0, 2); var i = r.length - 2, e = r.substr(2, i / 2), n = r.substr(2 + i / 2, i / 2), s = new K(e, 16), o = new K(n, 16); return new O(t, t.ev(s), t.ev(o)) }, O.prototype.hw = function (t) { if (this.fX()) return t; if (t.fX()) return this; if (this.x.fI(t.x)) return this.y.fI(t.y) ? this.ko() : this.bZ.hk(); var r = t.x.eB(this.x), i = t.y.eB(this.y).divide(r), e = i.square().eB(this.x).eB(t.x), n = i.multiply(this.x.eB(e)).eB(this.y); return new O(this.bZ, e, n) }, O.prototype.pY = function () { if (this.fX()) return this; if (0 == this.y.cl().eN()) return this.bZ.hk(); var t = this.bZ.ev(K.valueOf(2)), r = this.bZ.ev(K.valueOf(3)), i = this.x.square().multiply(r).add(this.bZ.a).divide(this.y.multiply(t)), e = i.square().eB(this.x.multiply(t)), n = i.multiply(this.x.eB(e)).eB(this.y); return new O(this.bZ, e, n) }, O.prototype.yo = function (t) { if (this.fX()) return this; if (0 == t.eN()) return this.bZ.hk(); var r, i = t, e = i.multiply(new K("3")), n = this.ht(), s = this; for (r = e.dY() - 2; 0 < r; --r) { s = s.ko(); var o = e.eE(r); o != i.eE(r) && (s = s.hw(o ? this : n)) } return s }, O.prototype.uR = function () { var t = this.eS().cl(), r = this.ew().cl(), i = this.bZ.wo().cl(), e = this.bZ.uN().cl(), n = this.bZ.pv(), s = r.multiply(r).fJ(n), o = t.multiply(t).multiply(t).add(i.multiply(t)).add(e).fJ(n); return s.fI(o) }, O.prototype.toString = function () { return "(" + this.eS().cl().toString() + "," + this.ew().cl().toString() + ")" }, O.prototype.yX = function () { var t = this.bZ.pv(); if (this.fX()) throw new Error("Point is at og."); var r = this.eS().cl(), i = this.ew().cl(); if (r.dU(K.ONE) < 0 || 0 < r.dU(t.eB(K.ONE))) throw new Error("x coordinate out of bounds"); if (i.dU(K.ONE) < 0 || 0 < i.dU(t.eB(K.ONE))) throw new Error("y coordinate out of bounds"); if (!this.uR()) throw new Error("Point is not on the bZ."); if (this.multiply(t).fX()) throw new Error("Point is not a scalar multiple of G."); return !0 }; var rZ = 0xdeadbeefcafe, st = 15715070 == (16777215 & rZ); function K(t, r, i) { null != t && ("number" == typeof t ? this.mG(t, r, i) : null == r && "string" != typeof t ? this.mx(t, 256) : this.mx(t, r)) } function T() { return new K(null) } function dg(t, r, i, e, n, s) { for (; 0 <= --s;) { var o = r * this[t++] + i[e] + n; n = Math.floor(o / 67108864), i[e++] = 67108863 & o } return n } function cD(t, r, i, e, n, s) { for (var o = 32767 & r, h = r >> 15, f = s; f--;) { var c = 32767 & this[t], u = this[t++] >> 15, a = h * c + u * o; n = ((c = o * c + ((32767 & a) << 15) + i[e] + (1073741823 & n)) >>> 30) + (a >>> 15) + h * u + (n >>> 30), i[e++] = 1073741823 & c } return n } function cN(t, r, i, e, n, s) { for (var o = 16383 & r, h = r >> 14; 0 <= --s;) { var f = 16383 & this[t], c = this[t++] >> 14, u = h * f + c * o; n = ((f = o * f + ((16383 & u) << 14) + i[e] + n) >> 28) + (u >> 14) + h * c, i[e++] = 268435455 & f } return n } var rI = "undefined" != typeof navigator; ji = rI && st && "Microsoft Internet Explorer" == navigator.appName ? (K.prototype.eA = cD, 30) : rI && st && "Netscape" != navigator.appName ? (K.prototype.eA = dg, 26) : (K.prototype.eA = cN, 28), K.prototype.cj = ji, K.prototype.eH = (1 << ji) - 1, K.prototype.ek = 1 << ji; var nY = 52; K.prototype.vA = Math.pow(2, nY), K.prototype.re = nY - ji, K.prototype.rf = 2 * ji - nY; var ur = "0123456789abcdefghijklmnopqrstuvwxyz", nu = new Array, iO, eZ; for (iO = "0".charCodeAt(0), eZ = 0; eZ <= 9; ++eZ)nu[iO++] = eZ; for (iO = "a".charCodeAt(0), eZ = 10; eZ < 36; ++eZ)nu[iO++] = eZ; for (iO = "A".charCodeAt(0), eZ = 10; eZ < 36; ++eZ)nu[iO++] = eZ; function ax(t) { return ur.charAt(t) } function aB(t, r) { var i = nu[t.charCodeAt(r)]; return null == i ? -1 : i } function dn(t) { for (var r = this.t - 1; 0 <= r; --r)t[r] = this[r]; t.t = this.t, t.s = this.s } function dH(t) { this.t = 1, this.s = t < 0 ? -1 : 0, 0 < t ? this[0] = t : t < -1 ? this[0] = t + this.ek : this.t = 0 } function bx(t) { var r = T(); return r.hf(t), r } function ca(t, r) { var i; if (16 == r) i = 4; else if (8 == r) i = 3; else if (256 == r) i = 8; else if (2 == r) i = 1; else if (32 == r) i = 5; else { if (4 != r) return void this.ro(t, r); i = 2 } this.t = 0, this.s = 0; for (var e = t.length, n = !1, s = 0; 0 <= --e;) { var o = 8 == i ? 255 & t[e] : aB(t, e); o < 0 ? "-" == t.charAt(e) && (n = !0) : (n = !1, 0 == s ? this[this.t++] = o : s + i > this.cj ? (this[this.t - 1] |= (o & (1 << this.cj - s) - 1) << s, this[this.t++] = o >> this.cj - s) : this[this.t - 1] |= o << s, (s += i) >= this.cj && (s -= this.cj)) } 8 == i && 0 != (128 & t[0]) && (this.s = -1, 0 < s && (this[this.t - 1] |= (1 << this.cj - s) - 1 << s)), this.eC(), n && K.ZERO.fM(this, this) } function cp() { for (var t = this.s & this.eH; 0 < this.t && this[this.t - 1] == t;)--this.t } function cd(t) { if (this.s < 0) return "-" + this.ht().toString(t); var r; if (16 == t) r = 4; else if (8 == t) r = 3; else if (2 == t) r = 1; else if (32 == t) r = 5; else { if (4 != t) return this.dW(t); r = 2 } var i, e = (1 << r) - 1, n = !1, s = "", o = this.t, h = this.cj - o * this.cj % r; if (0 < o--) for (h < this.cj && 0 < (i = this[o] >> h) && (n = !0, s = ax(i)); 0 <= o;)h < r ? (i = (this[o] & (1 << h) - 1) << r - h, i |= this[--o] >> (h += this.cj - r)) : (i = this[o] >> (h -= r) & e, h <= 0 && (h += this.cj, --o)), 0 < i && (n = !0), n && (s += ax(i)); return n ? s : "0" } function du() { var t = T(); return K.ZERO.fM(this, t), t } function cT() { return this.s < 0 ? this.ht() : this } function cf(t) { var r = this.s - t.s; if (0 != r) return r; var i = this.t; if (0 != (r = i - t.t)) return this.s < 0 ? -r : r; for (; 0 <= --i;)if (0 != (r = this[i] - t[i])) return r; return 0 } function bj(t) { var r, i = 1; return 0 != (r = t >>> 16) && (t = r, i += 16), 0 != (r = t >> 8) && (t = r, i += 8), 0 != (r = t >> 4) && (t = r, i += 4), 0 != (r = t >> 2) && (t = r, i += 2), 0 != (r = t >> 1) && (t = r, i += 1), i } function cX() { return this.t <= 0 ? 0 : this.cj * (this.t - 1) + bj(this[this.t - 1] ^ this.s & this.eH) } function dB(t, r) { var i; for (i = this.t - 1; 0 <= i; --i)r[i + t] = this[i]; for (i = t - 1; 0 <= i; --i)r[i] = 0; r.t = this.t + t, r.s = this.s } function df(t, r) { for (var i = t; i < this.t; ++i)r[i - t] = this[i]; r.t = Math.max(this.t - t, 0), r.s = this.s } function cG(t, r) { var i, e = t % this.cj, n = this.cj - e, s = (1 << n) - 1, o = Math.floor(t / this.cj), h = this.s << e & this.eH; for (i = this.t - 1; 0 <= i; --i)r[i + o + 1] = this[i] >> n | h, h = (this[i] & s) << e; for (i = o - 1; 0 <= i; --i)r[i] = 0; r[o] = h, r.t = this.t + o + 1, r.s = this.s, r.eC() } function da(t, r) { r.s = this.s; var i = Math.floor(t / this.cj); if (i >= this.t) r.t = 0; else { var e = t % this.cj, n = this.cj - e, s = (1 << e) - 1; r[0] = this[i] >> e; for (var o = i + 1; o < this.t; ++o)r[o - i - 1] |= (this[o] & s) << n, r[o - i] = this[o] >> e; 0 < e && (r[this.t - i - 1] |= (this.s & s) << n), r.t = this.t - i, r.eC() } } function cR(t, r) { for (var i = 0, e = 0, n = Math.min(t.t, this.t); i < n;)e += this[i] - t[i], r[i++] = e & this.eH, e >>= this.cj; if (t.t < this.t) { for (e -= t.s; i < this.t;)e += this[i], r[i++] = e & this.eH, e >>= this.cj; e += this.s } else { for (e += this.s; i < t.t;)e -= t[i], r[i++] = e & this.eH, e >>= this.cj; e -= t.s } r.s = e < 0 ? -1 : 0, e < -1 ? r[i++] = this.ek + e : 0 < e && (r[i++] = e), r.t = i, r.eC() } function dh(t, r) { var i = this.abs(), e = t.abs(), n = i.t; for (r.t = n + e.t; 0 <= --n;)r[n] = 0; for (n = 0; n < e.t; ++n)r[n + i.t] = i.eA(0, e[n], r, n, 0, i.t); r.s = 0, r.eC(), this.s != t.s && K.ZERO.fM(r, r) } function ci(t) { for (var r = this.abs(), i = t.t = 2 * r.t; 0 <= --i;)t[i] = 0; for (i = 0; i < r.t - 1; ++i) { var e = r.eA(i, r[i], t, 2 * i, 0, 1); (t[i + r.t] += r.eA(i + 1, 2 * r[i], t, 2 * i + 1, e, r.t - i - 1)) >= r.ek && (t[i + r.t] -= r.ek, t[i + r.t + 1] = 1) } 0 < t.t && (t[t.t - 1] += r.eA(i, r[i], t, 2 * i, 0, 1)), t.s = 0, t.eC() } function cF(t, r, i) { var e = t.abs(); if (!(e.t <= 0)) { var n = this.abs(); if (n.t < e.t) return null != r && r.hf(0), void (null != i && this.gr(i)); null == i && (i = T()); var s = T(), o = this.s, h = t.s, f = this.cj - bj(e[e.t - 1]); 0 < f ? (e.jl(f, s), n.jl(f, i)) : (e.gr(s), n.gr(i)); var c = s.t, u = s[c - 1]; if (0 != u) { var a = u * (1 << this.re) + (1 < c ? s[c - 2] >> this.rf : 0), F = this.vA / a, l = (1 << this.re) / a, p = 1 << this.rf, d = i.t, v = d - c, g = null == r ? T() : r; for (s.kU(v, g), 0 <= i.dU(g) && (i[i.t++] = 1, i.fM(g, i)), K.ONE.kU(c, g), g.fM(s, s); s.t < c;)s[s.t++] = 0; for (; 0 <= --v;) { var y = i[--d] == u ? this.eH : Math.floor(i[d] * F + (i[d - 1] + p) * l); if ((i[d] += s.eA(0, y, i, v, 0, c)) < y) for (s.kU(v, g), i.fM(g, i); i[d] < --y;)i.fM(g, i) } null != r && (i.jE(c, r), o != h && K.ZERO.fM(r, r)), i.t = c, i.eC(), 0 < f && i.eF(f, i), o < 0 && K.ZERO.fM(i, i) } } } function di(t) { var r = T(); return this.abs().gQ(t, null, r), this.s < 0 && 0 < r.dU(K.ZERO) && t.fM(r, r), r } function be(t) { this.m = t } function cr(t) { return t.s < 0 || 0 <= t.dU(this.m) ? t.fJ(this.m) : t } function dj(t) { return t } function cK(t) { t.gQ(this.m, null, t) } function dR(t, r, i) { t.iy(r, i), this.reduce(i) } function bX(t, r) { t.jv(r), this.reduce(r) } function co() { if (this.t < 1) return 0; var t = this[0]; if (0 == (1 & t)) return 0; var r = 3 & t; return 0 < (r = (r = (r = (r = r * (2 - (15 & t) * r) & 15) * (2 - (255 & t) * r) & 255) * (2 - ((65535 & t) * r & 65535)) & 65535) * (2 - t * r % this.ek) % this.ek) ? this.ek - r : -r } function aX(t) { this.m = t, this.so = t.si(), this.sg = 32767 & this.so, this.tC = this.so >> 15, this.tz = (1 << t.cj - 15) - 1, this.uD = 2 * t.t } function cP(t) { var r = T(); return t.abs().kU(this.m.t, r), r.gQ(this.m, null, r), t.s < 0 && 0 < r.dU(K.ZERO) && this.m.fM(r, r), r } function dc(t) { var r = T(); return t.gr(r), this.reduce(r), r } function cA(t) { for (; t.t <= this.uD;)t[t.t++] = 0; for (var r = 0; r < this.m.t; ++r) { var i = 32767 & t[r], e = i * this.sg + ((i * this.tC + (t[r] >> 15) * this.sg & this.tz) << 15) & t.eH; for (t[i = r + this.m.t] += this.m.eA(0, e, t, r, 0, this.m.t); t[i] >= t.ek;)t[i] -= t.ek, t[++i]++ } t.eC(), t.jE(this.m.t, t), 0 <= t.dU(this.m) && t.fM(this.m, t) } function cC(t, r) { t.jv(r), this.reduce(r) } function ap(t, r, i) { t.iy(r, i), this.reduce(i) } function cz() { return 0 == (0 < this.t ? 1 & this[0] : this.s) } function dP(t, r) { if (4294967295 < t || t < 1) return K.ONE; var i = T(), e = T(), n = r.convert(this), s = bj(t) - 1; for (n.gr(i); 0 <= --s;)if (r.fs(i, e), 0 < (t & 1 << s)) r.ha(e, n, i); else { var o = i; i = e, e = o } return r.revert(i) } function cg(t, r) { var i; return i = t < 256 || r.ez() ? new be(r) : new aX(r), this.exp(t, i) } function bf() { var t = T(); return this.gr(t), t } function bg() { if (this.s < 0) { if (1 == this.t) return this[0] - this.ek; if (0 == this.t) return -1 } else { if (1 == this.t) return this[0]; if (0 == this.t) return 0 } return (this[1] & (1 << 32 - this.cj) - 1) << this.cj | this[0] } function bP() { return 0 == this.t ? this.s : this[0] << 24 >> 24 } function bp() { return 0 == this.t ? this.s : this[0] << 16 >> 16 } function aW(t) { return Math.floor(Math.LN2 * this.cj / Math.log(t)) } function aZ() { return this.s < 0 ? -1 : this.t <= 0 || 1 == this.t && this[0] <= 0 ? 0 : 1 } function aA(t) { if (null == t && (t = 10), 0 == this.eN() || t < 2 || 36 < t) return "0"; var r = this.lo(t), i = Math.pow(t, r), e = bx(i), n = T(), s = T(), o = ""; for (this.gQ(e, n, s); 0 < n.eN();)o = (i + s.hI()).toString(t).substr(1) + o, n.gQ(e, n, s); return s.hI().toString(t) + o } function ad(t, r) { this.hf(0), null == r && (r = 10); for (var i = this.lo(r), e = Math.pow(r, i), n = !1, s = 0, o = 0, h = 0; h < t.length; ++h) { var f = aB(t, h); f < 0 ? "-" == t.charAt(h) && 0 == this.eN() && (n = !0) : (o = r * o + f, ++s >= i && (this.kL(e), this.hy(o, 0), o = s = 0)) } 0 < s && (this.kL(Math.pow(r, s)), this.hy(o, 0)), n && K.ZERO.fM(this, this) } function as(t, r, i) { if ("number" == typeof r) if (t < 2) this.hf(1); else for (this.mG(t, i), this.eE(t - 1) || this.gz(K.ONE.shiftLeft(t - 1), bF, this), this.ez() && this.hy(1, 0); !this.oV(r);)this.hy(2, 0), this.dY() > t && this.fM(K.ONE.shiftLeft(t - 1), this); else { var e = new Array, n = 7 & t; e.length = 1 + (t >> 3), r.nN(e), 0 < n ? e[0] &= (1 << n) - 1 : e[0] = 0, this.mx(e, 256) } } function aT() { var t = this.t, r = new Array; r[0] = this.s; var i, e = this.cj - t * this.cj % 8, n = 0; if (0 < t--) for (e < this.cj && (i = this[t] >> e) != (this.s & this.eH) >> e && (r[n++] = i | this.s << this.cj - e); 0 <= t;)e < 8 ? (i = (this[t] & (1 << e) - 1) << 8 - e, i |= this[--t] >> (e += this.cj - 8)) : (i = this[t] >> (e -= 8) & 255, e <= 0 && (e += this.cj, --t)), 0 != (128 & i) && (i |= -256), 0 == n && (128 & this.s) != (128 & i) && ++n, (0 < n || i != this.s) && (r[n++] = i); return r } function aI(t) { return 0 == this.dU(t) } function bB(t) { return this.dU(t) < 0 ? this : t } function bd(t) { return 0 < this.dU(t) ? this : t } function bH(t, r, i) { var e, n, s = Math.min(t.t, this.t); for (e = 0; e < s; ++e)i[e] = r(this[e], t[e]); if (t.t < this.t) { for (n = t.s & this.eH, e = s; e < this.t; ++e)i[e] = r(this[e], n); i.t = this.t } else { for (n = this.s & this.eH, e = s; e < t.t; ++e)i[e] = r(n, t[e]); i.t = t.t } i.s = r(this.s, t.s), i.eC() } function bC(t, r) { return t & r } function aD(t) { var r = T(); return this.gz(t, bC, r), r } function bF(t, r) { return t | r } function ar(t) { var r = T(); return this.gz(t, bF, r), r } function bV(t, r) { return t ^ r } function aO(t) { var r = T(); return this.gz(t, bV, r), r } function bh(t, r) { return t & ~r } function ai(t) { var r = T(); return this.gz(t, bh, r), r } function ah() { for (var t = T(), r = 0; r < this.t; ++r)t[r] = this.eH & ~this[r]; return t.t = this.t, t.s = ~this.s, t } function aM(t) { var r = T(); return t < 0 ? this.eF(-t, r) : this.jl(t, r), r } function aK(t) { var r = T(); return t < 0 ? this.jl(-t, r) : this.eF(t, r), r } function ae(t) { if (0 == t) return -1; var r = 0; return 0 == (65535 & t) && (t >>= 16, r += 16), 0 == (255 & t) && (t >>= 8, r += 8), 0 == (15 & t) && (t >>= 4, r += 4), 0 == (3 & t) && (t >>= 2, r += 2), 0 == (1 & t) && ++r, r } function aQ() { for (var t = 0; t < this.t; ++t)if (0 != this[t]) return t * this.cj + ae(this[t]); return this.s < 0 ? this.t * this.cj : -1 } function bL(t) { for (var r = 0; 0 != t;)t &= t - 1, ++r; return r } function ab() { for (var t = 0, r = this.s & this.eH, i = 0; i < this.t; ++i)t += bL(this[i] ^ r); return t } function bN(t) { var r = Math.floor(t / this.cj); return r >= this.t ? 0 != this.s : 0 != (this[r] & 1 << t % this.cj) } function aE(t, r) { var i = K.ONE.shiftLeft(t); return this.gz(i, r, i), i } function by(t) { return this.iw(t, bF) } function aw(t) { return this.iw(t, bh) } function aF(t) { return this.iw(t, bV) } function bc(t, r) { for (var i = 0, e = 0, n = Math.min(t.t, this.t); i < n;)e += this[i] + t[i], r[i++] = e & this.eH, e >>= this.cj; if (t.t < this.t) { for (e += t.s; i < this.t;)e += this[i], r[i++] = e & this.eH, e >>= this.cj; e += this.s } else { for (e += this.s; i < t.t;)e += t[i], r[i++] = e & this.eH, e >>= this.cj; e += t.s } r.s = e < 0 ? -1 : 0, 0 < e ? r[i++] = e : e < -1 && (r[i++] = this.ek + e), r.t = i, r.eC() } function aa(t) { var r = T(); return this.gA(t, r), r } function aV(t) { var r = T(); return this.fM(t, r), r } function ao(t) { var r = T(); return this.iy(t, r), r } function aq() { var t = T(); return this.jv(t), t } function aP(t) { var r = T(); return this.gQ(t, r, null), r } function aY(t) { var r = T(); return this.gQ(t, null, r), r } function aj(t) { var r = T(), i = T(); return this.gQ(t, r, i), new Array(r, i) } function aH(t) { this[this.t] = this.eA(0, t - 1, this, 0, 0, this.t), ++this.t, this.eC() } function aN(t, r) { if (0 != t) { for (; this.t <= r;)this[this.t++] = 0; for (this[r] += t; this[r] >= this.ek;)this[r] -= this.ek, ++r >= this.t && (this[this.t++] = 0), ++this[r] } } function bS() { } function al(t) { return t } function af(t, r, i) { t.iy(r, i) } function aC(t, r) { t.jv(r) } function bJ(t) { return this.exp(t, new bS) } function az(t, r, i) { var e, n = Math.min(this.t + t.t, r); for (i.s = 0, i.t = n; 0 < n;)i[--n] = 0; for (e = i.t - this.t; n < e; ++n)i[n + this.t] = this.eA(0, t[n], i, n, 0, this.t); for (e = Math.min(t.t, r); n < e; ++n)this.eA(0, t[n], i, n, 0, r - n); i.eC() } function aG(t, r, i) { --r; var e = i.t = this.t + t.t - r; for (i.s = 0; 0 <= --e;)i[e] = 0; for (e = Math.max(r - this.t, 0); e < t.t; ++e)i[this.t + e - r] = this.eA(r - e, t[e], i, 0, 0, this.t + e - r); i.eC(), i.jE(1, i) } function aJ(t) { this.r2 = T(), this.jU = T(), K.ONE.kU(2 * t.t, this.r2), this.nM = this.r2.divide(t), this.m = t } function bo(t) { if (t.s < 0 || t.t > 2 * this.m.t) return t.fJ(this.m); if (t.dU(this.m) < 0) return t; var r = T(); return t.gr(r), this.reduce(r), r } function bI(t) { return t } function bz(t) { for (t.jE(this.m.t - 1, this.r2), t.t > this.m.t + 1 && (t.t = this.m.t + 1, t.eC()), this.nM.nC(this.r2, this.m.t + 1, this.jU), this.m.nT(this.jU, this.m.t + 1, this.r2); t.dU(this.r2) < 0;)t.hy(1, this.m.t + 1); for (t.fM(this.r2, t); 0 <= t.dU(this.m);)t.fM(this.m, t) } function bv(t, r) { t.jv(r), this.reduce(r) } function bK(t, r, i) { t.iy(r, i), this.reduce(i) } function ak(t, r) { var i, e, n = t.dY(), s = bx(1); if (n <= 0) return s; i = n < 18 ? 1 : n < 48 ? 3 : n < 144 ? 4 : n < 768 ? 5 : 6, e = n < 8 ? new be(r) : r.ez() ? new aJ(r) : new aX(r); var o = new Array, h = 3, f = i - 1, c = (1 << i) - 1; if (o[1] = e.convert(this), 1 < i) { var u = T(); for (e.fs(o[1], u); h <= c;)o[h] = T(), e.ha(u, o[h - 2], o[h]), h += 2 } var a, F, l = t.t - 1, p = !0, d = T(); for (n = bj(t[l]) - 1; 0 <= l;) { for (f <= n ? a = t[l] >> n - f & c : (a = (t[l] & (1 << n + 1) - 1) << f - n, 0 < l && (a |= t[l - 1] >> this.cj + n - f)), h = i; 0 == (1 & a);)a >>= 1, --h; if ((n -= h) < 0 && (n += this.cj, --l), p) o[a].gr(s), p = !1; else { for (; 1 < h;)e.fs(s, d), e.fs(d, s), h -= 2; 0 < h ? e.fs(s, d) : (F = s, s = d, d = F), e.ha(d, o[a], s) } for (; 0 <= l && 0 == (t[l] & 1 << n);)e.fs(s, d), F = s, s = d, d = F, --n < 0 && (n = this.cj - 1, --l) } return e.revert(s) } function bw(t) { var r = this.s < 0 ? this.ht() : this.clone(), i = t.s < 0 ? t.ht() : t.clone(); if (r.dU(i) < 0) { var e = r; r = i, i = e } var n = r.gs(), s = i.gs(); if (s < 0) return r; for (n < s && (s = n), 0 < s && (r.eF(s, r), i.eF(s, i)); 0 < r.eN();)0 < (n = r.gs()) && r.eF(n, r), 0 < (n = i.gs()) && i.eF(n, i), 0 <= r.dU(i) ? (r.fM(i, r), r.eF(1, r)) : (i.fM(r, i), i.eF(1, i)); return 0 < s && i.jl(s, i), i } function aS(t) { if (t <= 0) return 0; var r = this.ek % t, i = this.s < 0 ? t - 1 : 0; if (0 < this.t) if (0 == r) i = this[0] % t; else for (var e = this.t - 1; 0 <= e; --e)i = (r * i + this[e]) % t; return i } function au(t) { var r = t.ez(); if (this.ez() && r || 0 == t.eN()) return K.ZERO; for (var i = t.clone(), e = this.clone(), n = bx(1), s = bx(0), o = bx(0), h = bx(1); 0 != i.eN();) { for (; i.ez();)i.eF(1, i), r ? (n.ez() && s.ez() || (n.gA(this, n), s.fM(t, s)), n.eF(1, n)) : s.ez() || s.fM(t, s), s.eF(1, s); for (; e.ez();)e.eF(1, e), r ? (o.ez() && h.ez() || (o.gA(this, o), h.fM(t, h)), o.eF(1, o)) : h.ez() || h.fM(t, h), h.eF(1, h); 0 <= i.dU(e) ? (i.fM(e, i), r && n.fM(o, n), s.fM(h, s)) : (e.fM(i, e), r && o.fM(n, o), h.fM(s, h)) } return 0 != e.dU(K.ONE) ? K.ZERO : 0 <= h.dU(t) ? h.eB(t) : h.eN() < 0 ? (h.gA(t, h), h.eN() < 0 ? h.add(t) : h) : h } be.prototype.convert = cr, be.prototype.revert = dj, be.prototype.reduce = cK, be.prototype.ha = dR, be.prototype.fs = bX, aX.prototype.convert = cP, aX.prototype.revert = dc, aX.prototype.reduce = cA, aX.prototype.ha = ap, aX.prototype.fs = cC, K.prototype.gr = dn, K.prototype.hf = dH, K.prototype.mx = ca, K.prototype.eC = cp, K.prototype.kU = dB, K.prototype.jE = df, K.prototype.jl = cG, K.prototype.eF = da, K.prototype.fM = cR, K.prototype.iy = dh, K.prototype.jv = ci, K.prototype.gQ = cF, K.prototype.si = co, K.prototype.ez = cz, K.prototype.exp = dP, K.prototype.toString = cd, K.prototype.ht = du, K.prototype.abs = cT, K.prototype.dU = cf, K.prototype.dY = cX, K.prototype.fJ = di, K.prototype.rs = cg, K.ZERO = bx(0), K.ONE = bx(1), bS.prototype.convert = al, bS.prototype.revert = al, bS.prototype.ha = af, bS.prototype.fs = aC, aJ.prototype.convert = bo, aJ.prototype.revert = bI, aJ.prototype.reduce = bz, aJ.prototype.ha = bK, aJ.prototype.fs = bv; var fh = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997], lF = (1 << 26) / fh[fh.length - 1], hn, fK, fg; function an(t) { var r, i = this.abs(); if (1 == i.t && i[0] <= fh[fh.length - 1]) { for (r = 0; r < fh.length; ++r)if (i[0] == fh[r]) return !0; return !1 } if (i.ez()) return !1; for (r = 1; r < fh.length;) { for (var e = fh[r], n = r + 1; n < fh.length && e < lF;)e *= fh[n++]; for (e = i.oQ(e); r < n;)if (e % fh[r++] == 0) return !1 } return i.nI(t) } function av(t) { var r = this.eB(K.ONE), i = r.gs(); if (i <= 0) return !1; var e = r.lO(i); (t = t + 1 >> 1) > fh.length && (t = fh.length); for (var n = T(), s = 0; s < t; ++s) { n.hf(fh[Math.floor(AostarJS.ef.hZ.kz() * fh.length)]); var o = n.oz(e, this); if (0 != o.dU(K.ONE) && 0 != o.dU(r)) { for (var h = 1; h++ < i && 0 != o.dU(r);)if (0 == (o = o.rs(2, this)).dU(K.ONE)) return !1; if (0 != o.dU(r)) return !1 } } return !0 } function bD(t) { fK[fg++] ^= 255 & t, fK[fg++] ^= t >> 8 & 255, fK[fg++] ^= t >> 16 & 255, fK[fg++] ^= t >> 24 & 255, jD <= fg && (fg -= jD) } function bu() { bD((new Date).getTime()) } if (K.prototype.lo = aW, K.prototype.dW = aA, K.prototype.ro = ad, K.prototype.mG = as, K.prototype.gz = bH, K.prototype.iw = aE, K.prototype.gA = bc, K.prototype.kL = aH, K.prototype.hy = aN, K.prototype.nT = az, K.prototype.nC = aG, K.prototype.oQ = aS, K.prototype.nI = av, K.prototype.clone = bf, K.prototype.hI = bg, K.prototype.ty = bP, K.prototype.vm = bp, K.prototype.eN = aZ, K.prototype.tu = aT, K.prototype.fI = aI, K.prototype.min = bB, K.prototype.max = bd, K.prototype.and = aD, K.prototype.fv = ar, K.prototype.xor = aO, K.prototype.ue = ai, K.prototype.not = ah, K.prototype.shiftLeft = aM, K.prototype.lO = aK, K.prototype.gs = aQ, K.prototype.ub = ab, K.prototype.eE = bN, K.prototype.uO = by, K.prototype.sc = aw, K.prototype.vp = aF, K.prototype.add = aa, K.prototype.eB = aV, K.prototype.multiply = ao, K.prototype.divide = aP, K.prototype.vU = aY, K.prototype.wO = aj, K.prototype.oz = ak, K.prototype.hm = au, K.prototype.pow = bJ, K.prototype.wA = bw, K.prototype.oV = an, K.prototype.square = aq, K.prototype.aJ = aJ, null == fK) { var t; if (fK = new Array, fg = 0, "undefined" != typeof window && window.crypto) if (window.crypto.nK) { var ua = new Uint8Array(32); for (window.crypto.nK(ua), t = 0; t < 32; ++t)fK[fg++] = ua[t] } else if ("Netscape" == navigator.appName && navigator.appVersion < "5") { var z = window.crypto.random(32); for (t = 0; t < z.length; ++t)fK[fg++] = 255 & z.charCodeAt(t) } for (; fg < jD;)t = Math.floor(65536 * AostarJS.ef.hZ.kz()), fK[fg++] = t >>> 8, fK[fg++] = 255 & t; fg = 0, bu() } function ay() { if (null == hn) { for (bu(), (hn = bQ()).dV(fK), fg = 0; fg < fK.length; ++fg)fK[fg] = 0; fg = 0 } return hn.next() } function bM(t) { var r; for (r = 0; r < t.length; ++r)t[r] = ay() } function bG() { } function bk() { this.i = 0, this.j = 0, this.S = new Array } function bU(t) { var r, i, e; for (r = 0; r < 256; ++r)this.S[r] = r; for (r = i = 0; r < 256; ++r)i = i + this.S[r] + t[r % t.length] & 255, e = this.S[r], this.S[r] = this.S[i], this.S[i] = e; this.i = 0, this.j = 0 } function bq() { var t; return this.i = this.i + 1 & 255, this.j = this.j + this.S[this.i] & 255, t = this.S[this.i], this.S[this.i] = this.S[this.j], this.S[this.j] = t, this.S[t + this.S[this.i] & 255] } function bQ() { return new bk } bG.prototype.nN = bM, bk.prototype.dV = bU, bk.prototype.next = bq; var jD = 256, oE, qE, rE, sE, tE, uE, vE; if ("undefined" != typeof pE && (pE = tZ.pE = { K: K, bG: bG }), void 0 === Aostar || !Aostar) var Aostar = {}; if (void 0 !== Aostar.crypto && Aostar.crypto || (Aostar.crypto = {}), Aostar.crypto.fW = new function () { this.pq = { iZ: "3021300906052b0e03021a05000414", sha224: "302d300d06096086480165030402040500041c", gN: "3031300d060960864801650304020105000420", sha384: "3041300d060960864801650304020205000430", iP: "3051300d060960864801650304020305000440", md2: "3020300c06082a864886f70d020205000410", ju: "3020300c06082a864886f70d020505000410", iS: "3021300906052b2403020105000414" }, this.jG = { ju: "cryptojs", iZ: "cryptojs", sha224: "cryptojs", gN: "cryptojs", sha384: "cryptojs", iP: "cryptojs", iS: "cryptojs", hmacmd5: "cryptojs", hmacsha1: "cryptojs", hmacsha224: "cryptojs", hmacsha256: "cryptojs", hmacsha384: "cryptojs", hmacsha512: "cryptojs", hmacripemd160: "cryptojs", sm3: "cryptojs", MD5withRSA: "cryptojs/jsrsa", SHA1withRSA: "cryptojs/jsrsa", SHA224withRSA: "cryptojs/jsrsa", SHA256withRSA: "cryptojs/jsrsa", SHA384withRSA: "cryptojs/jsrsa", SHA512withRSA: "cryptojs/jsrsa", RIPEMD160withRSA: "cryptojs/jsrsa", MD5withECDSA: "cryptojs/jsrsa", SHA1withECDSA: "cryptojs/jsrsa", SHA224withECDSA: "cryptojs/jsrsa", SHA256withECDSA: "cryptojs/jsrsa", SHA384withECDSA: "cryptojs/jsrsa", SHA512withECDSA: "cryptojs/jsrsa", RIPEMD160withECDSA: "cryptojs/jsrsa", SHA1withDSA: "cryptojs/jsrsa", SHA224withDSA: "cryptojs/jsrsa", SHA256withDSA: "cryptojs/jsrsa", MD5withRSAandMGF1: "cryptojs/jsrsa", SHA1withRSAandMGF1: "cryptojs/jsrsa", SHA224withRSAandMGF1: "cryptojs/jsrsa", SHA256withRSAandMGF1: "cryptojs/jsrsa", SHA384withRSAandMGF1: "cryptojs/jsrsa", SHA512withRSAandMGF1: "cryptojs/jsrsa", RIPEMD160withRSAandMGF1: "cryptojs/jsrsa" }, this.rj = { ju: "AostarJS.hl.MD5", iZ: "AostarJS.hl.SHA1", sha224: "AostarJS.hl.SHA224", gN: "AostarJS.hl.SHA256", sha384: "AostarJS.hl.SHA384", iP: "AostarJS.hl.SHA512", iS: "AostarJS.hl.RIPEMD160", sm3: "AostarJS.hl.kc" }, this.wz = function (t, r) { if (void 0 === this.pq[r]) throw "cc not supported in fW.pq: " + r; return this.pq[r] + t }, this.yk = function (t, r, i) { var e = this.wz(t, r), n = i / 4; if (e.length + 22 > n) throw "key is too short for SigAlg: hO=" + i + "," + r; for (var s = "00" + e, o = "", h = n - "0001".length - s.length, f = 0; f < h; f += 2)o += "ff"; return "0001" + o + s }, this.xP = function (t, r) { return new Aostar.crypto.hE({ cc: r }).gO(t) }, this.eP = function (t, r) { return new Aostar.crypto.hE({ cc: r }).js(t) }, this.iZ = function (t) { return new Aostar.crypto.hE({ cc: "iZ", cJ: "cryptojs" }).gO(t) }, this.gN = function (t) { return new Aostar.crypto.hE({ cc: "gN", cJ: "cryptojs" }).gO(t) }, this.wU = function (t) { return new Aostar.crypto.hE({ cc: "gN", cJ: "cryptojs" }).js(t) }, this.iP = function (t) { return new Aostar.crypto.hE({ cc: "iP", cJ: "cryptojs" }).gO(t) }, this.we = function (t) { return new Aostar.crypto.hE({ cc: "iP", cJ: "cryptojs" }).js(t) }, this.ju = function (t) { return new Aostar.crypto.hE({ cc: "ju", cJ: "cryptojs" }).gO(t) }, this.iS = function (t) { return new Aostar.crypto.hE({ cc: "iS", cJ: "cryptojs" }).gO(t) }, this.vu = function (t) { } }, Aostar.crypto.hE = function (dM) { var fp = null, fF = null, en = null; this.fP = function (cc, cJ) { if (null != cc && void 0 === cJ && (cJ = Aostar.crypto.fW.jG[cc]), -1 != ":ju:iZ:sha224:gN:sha384:iP:iS:sm3:".indexOf(cc) && "cryptojs" == cJ) { try { this.fp = eval(Aostar.crypto.fW.rj[cc]).create() } catch (t) { throw "fP hash cc set fail cc=" + cc + "/" + t } this.eG = function (t) { this.fp.update(t) }, this.eV = function (t) { var r = AostarJS.ef.hx.parse(t); this.fp.update(r) }, this.gD = function () { return this.fp.jF().toString(AostarJS.ef.hx) }, this.gO = function (t) { return this.eG(t), this.gD() }, this.js = function (t) { return this.eV(t), this.gD() } } if (-1 != ":gN:".indexOf(cc) && "mY" == cJ) { try { this.fp = new mY.hash.gN } catch (t) { throw "fP hash cc set fail cc=" + cc + "/" + t } this.eG = function (t) { this.fp.update(t) }, this.eV = function (t) { var r = mY.uo.dv.yS(t); this.fp.update(r) }, this.gD = function () { var t = this.fp.jF(); return mY.uo.dv.ym(t) }, this.gO = function (t) { return this.eG(t), this.gD() }, this.js = function (t) { return this.eV(t), this.gD() } } }, this.eG = function (t) { throw "eG(fu) not supported for this cc/cJ: " + this.fF + "/" + this.en }, this.eV = function (t) { throw "eV(dv) not supported for this cc/cJ: " + this.fF + "/" + this.en }, this.gD = function () { throw "gD() not supported for this cc/cJ: " + this.fF + "/" + this.en }, this.gO = function (t) { throw "gO(fu) not supported for this cc/cJ: " + this.fF + "/" + this.en }, this.js = function (t) { throw "js(dv) not supported for this cc/cJ: " + this.fF + "/" + this.en }, void 0 !== dM && void 0 !== dM.cc && (this.fF = dM.cc, void 0 === dM.cJ && (this.en = Aostar.crypto.fW.jG[this.fF]), this.fP(this.fF, this.en)) }, Aostar.crypto.wM = function (dM) { var lQ = null, gH = null, fF = null, en = null, iH = null; this.fP = function (cc, cJ) { if (null == cc && (cc = "hmacsha1"), cc = cc.toLowerCase(), "hmac" != cc.substr(0, 4)) throw "fP unsupported sJ cc: " + cc; void 0 === cJ && (cJ = Aostar.crypto.fW.jG[cc]), this.iH = cc + "/" + cJ; var na = cc.substr(4); if (-1 != ":ju:iZ:sha224:gN:sha384:iP:iS:".indexOf(na) && "cryptojs" == cJ) { try { var rF = eval(Aostar.crypto.fW.rj[na]); this.lQ = AostarJS.hl.sJ.create(rF, this.gH) } catch (t) { throw "fP hash cc set fail na=" + na + "/" + t } this.eG = function (t) { this.lQ.update(t) }, this.eV = function (t) { var r = AostarJS.ef.hx.parse(t); this.lQ.update(r) }, this.nG = function () { return this.lQ.jF().toString(AostarJS.ef.hx) }, this.vH = function (t) { return this.eG(t), this.nG() }, this.xb = function (t) { return this.eV(t), this.nG() } } }, this.eG = function (t) { throw "eG(fu) not supported for this cc/cJ: " + this.iH }, this.eV = function (t) { throw "eV(dv) not supported for this cc/cJ: " + this.iH }, this.nG = function () { throw "gD() not supported for this cc/cJ: " + this.iH }, this.vH = function (t) { throw "gO(fu) not supported for this cc/cJ: " + this.iH }, this.xb = function (t) { throw "js(dv) not supported for this cc/cJ: " + this.iH }, void 0 !== dM && (void 0 !== dM.gH && (this.gH = dM.gH), void 0 !== dM.cc && (this.fF = dM.cc, void 0 === dM.cJ && (this.en = Aostar.crypto.fW.jG[this.fF]), this.fP(this.fF, this.en))) }, Aostar.crypto.gn = function (t) { var r = null; if (this.qO = function () { this.fF.match(/^(.+)with(.+)$/) && (this.jq = RegExp.$1.toLowerCase(), this.iA = RegExp.$2.toLowerCase()) }, this.wB = function (t, r) { for (var i = "", e = r / 4 - t.length, n = 0; n < e; n++)i += "0"; return i + t }, this.fP = function (t, r) { if (this.qO(), "cryptojs/jsrsa" != r) throw "provider not supported: " + r; if (-1 != ":ju:iZ:sha224:gN:sha384:iP:iS:sm3:".indexOf(this.jq)) { try { this.fp = new Aostar.crypto.hE({ cc: this.jq }) } catch (t) { throw "fP hash cc set fail cc=" + this.jq + "/" + t } this.dV = function (t, r) { var i = null; try { i = void 0 === r ? wV.tQ(t) : wV.tQ(t, r) } catch (t) { throw "dV failed:" + t } if (!0 === i.tf) this.fQ = i, this.state = "SIGN"; else { if (!0 !== i.rC) throw "dV failed.:" + i; this.fr = i, this.state = "VERIFY" } }, this.jb = function (t) { "string" == typeof t.ecprvhex && "string" == typeof t.eK ? (this.ecprvhex = t.ecprvhex, this.eK = t.eK) : this.fQ = t, this.state = "SIGN", void 0 !== t.gS && "string" == typeof t.gS ? this.gS = t.gS : this.gS = "1234567812345678" }, this.lA = function (t) { "string" == typeof t.ecpubhex && "string" == typeof t.eK ? (this.ecpubhex = t.ecpubhex, this.eK = t.eK) : t instanceof Aostar.crypto.eJ ? this.fr = t : t instanceof vZ && (this.fr = t), this.state = "VERIFY", void 0 !== t.gS && "string" == typeof t.gS ? this.gS = t.gS : this.gS = "1234567812345678" }, this.pw = function (t) { var r = new vS; r.yW(t), this.fr = r.xt, this.state = "VERIFY" }, this.eG = function (t) { this.fp.eG(t) }, this.eV = function (t) { this.fp.eV(t) }, this.gX = function () { if ("sm2" != this.eK && (this.eD = this.fp.gD()), void 0 !== this.ecprvhex && void 0 !== this.eK) if ("sm2" == this.eK) { var t = (c = new Aostar.crypto.SM3withSM2({ bZ: this.eK })).fm.G, r = t.multiply(new K(this.ecprvhex, 16)), i = r.eS().cl().dW(16) + r.ew().cl().dW(16), e = new bA, n = (new bA).qY(t, i, this.gS), s = e.iB(e.er(n).toString()), o = AostarJS.ef.fc.stringify(this.fp.fp.hz); o = AostarJS.ef.fc.parse(o).toString(), o = e.fL(o); var h = new Array(e.oM()); e.fl(s, 0, s.length), e.fl(o, 0, o.length), e.jy(h, 0); var f = e.er(h).toString(); this.eD = f, this.je = c.jz(this.eD, this.ecprvhex) } else { var c = new Aostar.crypto.eJ({ bZ: this.eK }); this.je = c.jz(this.eD, this.ecprvhex) } else if ("rsaandmgf1" == this.iA) this.je = this.fQ.wK(this.eD, this.jq, this.oj); else if ("rsa" == this.iA) this.je = this.fQ.mL(this.eD, this.jq); else if (this.fQ instanceof Aostar.crypto.eJ) this.je = this.fQ.mL(this.eD); else { if (!(this.fQ instanceof Aostar.crypto.un)) throw "gn: unsupported public key cc: " + this.iA; this.je = this.fQ.mL(this.eD) } return this.je }, this.wu = function (t) { this.eG(t), this.gX() }, this.jz = function (t) { this.eV(t), this.gX() }, this.fY = function (t) { if ("sm2" != this.eK && (this.eD = this.fp.gD()), void 0 !== this.ecpubhex && void 0 !== this.eK) { if ("sm2" != this.eK) return (r = new Aostar.crypto.eJ({ bZ: this.eK })).jQ(this.eD, t, this.ecpubhex); var r, i = (r = new Aostar.crypto.SM3withSM2({ bZ: this.eK })).fm.G, e = this.ecpubhex.substr(2, 128), n = new bA, s = (new bA).qY(i, e, this.gS), o = n.iB(n.er(s).toString()), h = AostarJS.ef.fc.stringify(this.fp.fp.hz); h = AostarJS.ef.fc.parse(h).toString(), h = n.fL(h); var f = new Array(n.oM()); n.fl(o, 0, o.length), n.fl(h, 0, h.length), n.jy(f, 0); var c = n.er(f).toString(); return this.eD = c, r.jQ(this.eD, t, this.ecpubhex) } if ("rsaandmgf1" == this.iA) return this.fr.wJ(this.eD, t, this.jq, this.oj); if ("rsa" == this.iA) return this.fr.lJ(this.eD, t); if (this.fr instanceof Aostar.crypto.eJ) return this.fr.lJ(this.eD, t); if (this.fr instanceof Aostar.crypto.un) return this.fr.lJ(this.eD, t); throw "gn: unsupported public key cc: " + this.iA } } }, this.dV = function (t, r) { throw "dV(key, gH) not supported for this cc:cJ=" + this.gd }, this.lA = function (t) { throw "lA(rsaPubKeyy) not supported for this cc:cJ=" + this.gd }, this.pw = function (t) { throw "pw(pb) not supported for this cc:cJ=" + this.gd }, this.jb = function (t) { throw "jb(fQ) not supported for this cc:cJ=" + this.gd }, this.eG = function (t) { throw "eG(fu) not supported for this cc:cJ=" + this.gd }, this.eV = function (t) { throw "eV(dv) not supported for this cc:cJ=" + this.gd }, this.gX = function () { throw "gX() not supported for this cc:cJ=" + this.gd }, this.wu = function (t) { throw "gO(fu) not supported for this cc:cJ=" + this.gd }, this.jz = function (t) { throw "js(dv) not supported for this cc:cJ=" + this.gd }, this.fY = function (t) { throw "fY(iU) not supported for this cc:cJ=" + this.gd }, void 0 !== (this.sf = t) && (void 0 !== t.cc && (this.fF = t.cc, void 0 === t.cJ ? this.en = Aostar.crypto.fW.jG[this.fF] : this.en = t.cJ, this.gd = this.fF + ":" + this.en, this.fP(this.fF, this.en), this.qO()), void 0 !== t.psssaltlen && (this.oj = t.psssaltlen), void 0 !== t.prvkeypem)) { if (void 0 !== t.prvkeypas) throw "both prvkeypem and prvkeypas parameters not supported"; try { (r = new vZ).xZ(t.prvkeypem), this.jb(r) } catch (t) { throw "fatal error to load pem private key: " + t } } }, Aostar.crypto.kl = new function () { this.wL = { "2a864886f70d010101": "rsaEncryption", "2a8648ce3d0201": "ecPublicKey", "2a8648ce380401": "dsa", "2a8648ce3d030107": "secp256r1", "2b8104001f": "secp192k1", "2b81040021": "secp224r1", "2b8104000a": "secp256k1", "2b81040023": "secp521r1", "2b81040022": "secp384r1", "2a8648ce380403": "SHA1withDSA", "608648016503040301": "SHA224withDSA", "608648016503040302": "SHA256withDSA" } }, void 0 === Aostar || !Aostar) var Aostar = {}; function bO(t, r) { this.kq = 1, this.jR = null, this.mT = null, this.hQ = null, this.gY = null, this.key = new Array(32), this.jK = 0, this.eb = void 0 !== t ? t : CipherMode.C1C3C2, this.gY = void 0 !== r ? r : null } if (void 0 !== Aostar.crypto && Aostar.crypto || (Aostar.crypto = {}), Aostar.crypto.hD = new function () { var A = {}, b = {}; function w(t) { return new K(t, 16) } this.getByName = function (t) { var r = t; if (void 0 !== b[r] && (r = b[t]), void 0 !== A[r]) return A[r]; throw "unregistered EC bZ name: " + r }, this.fV = function (t, r, i, e, n, s, o, h, f, c, u, a) { A[t] = {}; var F = w(i), l = w(e), p = w(n), d = w(s), v = w(o), g = new ag(F, l, p), y = g.wP("04" + h + f); A[t].name = t, A[t].hO = r, A[t].bZ = g, A[t].G = y, A[t].n = d, A[t].h = v, A[t].fO = u, A[t].rA = a; for (var m = 0; m < c.length; m++)b[c[m]] = t } }, Aostar.crypto.hD.fV("secp128r1", 128, "FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF", "FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC", "E87579C11079F43DD824993C2CEE5ED3", "FFFFFFFE0000000075A30D1B9038A115", "1", "161FF7528B899B2D0C28607CA52C5B86", "CF5AC8395BAFEB13C02DA292DDED7A83", [], "", "secp128r1 : SECG bZ over a 128 bit prime field"), Aostar.crypto.hD.fV("secp160k1", 160, "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73", "0", "7", "0100000000000000000001B8FA16DFAB9ACA16B6B3", "1", "3B4C382CE37AA192A4019E763036F4F5DD4D7EBB", "938CF935318FDCED6BC28286531733C3F03C4FEE", [], "", "secp160k1 : SECG bZ over a 160 bit prime field"), Aostar.crypto.hD.fV("secp160r1", 160, "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF", "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC", "1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45", "0100000000000000000001F4C8F927AED3CA752257", "1", "4A96B5688EF573284664698968C38BB913CBFC82", "23A628553168947D59DCC912042351377AC5FB32", [], "", "secp160r1 : SECG bZ over a 160 bit prime field"), Aostar.crypto.hD.fV("secp192k1", 192, "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37", "0", "3", "FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D", "1", "DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D", "9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D", []), Aostar.crypto.hD.fV("secp192r1", 192, "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF", "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC", "64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1", "FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831", "1", "188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012", "07192B95FFC8DA78631011ED6B24CDD573F977A11E794811", []), Aostar.crypto.hD.fV("secp224r1", 224, "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001", "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE", "B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4", "FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D", "1", "B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21", "BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34", []), Aostar.crypto.hD.fV("secp256k1", 256, "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F", "0", "7", "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", "1", "79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798", "483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8", []), Aostar.crypto.hD.fV("secp256r1", 256, "FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF", "FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC", "5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B", "FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551", "1", "6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296", "4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5", ["NIST P-256", "P-256", "prime256v1"]), Aostar.crypto.hD.fV("secp384r1", 384, "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF", "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC", "B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF", "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973", "1", "AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB7", "3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f", ["NIST P-384", "P-384"]), Aostar.crypto.hD.fV("secp521r1", 521, "1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", "1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC", "051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00", "1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409", "1", "C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66", "011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650", ["NIST P-521", "P-521"]), Aostar.crypto.hD.fV("sm2", 256, "FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF", "FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC", "28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93", "FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123", "1", "32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7", "BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0", ["sm2", "SM2"]), bO.prototype = { me: function (t) { return 0 == (1 & t.length) ? t : "0" + t }, vs: function (t) { if (127 < t || t < -128) { var r = 255 & t; return 127 < r ? (r = 127 & t, -((r ^= 127) + 1)) : r } return t }, Reset: function () { this.mT = new bA, this.hQ = new bA; var t = this.iB(this.jR.eS().cl().dW(16)), r = this.iB(this.jR.ew().cl().dW(16)); this.hQ.fl(t, 0, t.length), this.mT.fl(t, 0, t.length), this.mT.fl(r, 0, r.length), this.kq = 1, this.pa() }, pa: function () { var t = new bA(this.mT); t.gf(this.kq >> 24 & 255), t.gf(this.kq >> 16 & 255), t.gf(this.kq >> 8 & 255), t.gf(255 & this.kq), t.jy(this.key, 0), this.jK = 0, this.kq++ }, qF: function (t) { var r, i, e = new Aostar.crypto.eJ({ bZ: "sm2" }), n = null == this.gY ? this.pF(e) : e.vc(this.gY); r = new K(n.ecprvhex, 16); var s = n.ecpubhex; return i = O.ll(e.fm.bZ, s), this.jR = t.multiply(r), this.Reset(), i }, pF: function (t) { var r = t.oh(); return this.uy(r.ecpubhex) ? r : this.pF(t) }, uy: function (t) { var r = t.length - 2, i = t.substr(2, 2), e = t.substr(2 + r / 2, 2); return "00" !== i && "00" !== e }, qj: function (t) { this.hQ.fl(t, 0, t.length); for (var r = 0; r < t.length; r++)this.jK == this.key.length && this.pa(), t[r] ^= this.key[this.jK++] }, rR: function (t, r) { this.jR = r.multiply(t), this.Reset() }, pZ: function (t) { for (var r = 0; r < t.length; r++)this.jK == this.key.length && this.pa(), t[r] ^= this.key[this.jK++]; this.hQ.fl(t, 0, t.length) }, mb: function (t) { var r = this.iB(this.jR.ew().cl().dW(16)); this.hQ.fl(r, 0, r.length), this.hQ.jy(t, 0), this.Reset() }, oT: function (t, r) { var i = new Array(r.length); Array.Copy(r, 0, i, 0, r.length); var e = this.qF(t); this.qj(i); var n, s = new Array(32); if (this.mb(s), this.eb == CipherMode.C1C3C2) n = this.me(e.eS().cl().dW(16)) + this.me(e.ew().cl().dW(16)) + this.er(s).toString() + this.er(i).toString(); else { if (this.eb != CipherMode.C1C2C3) throw new Error("[SM2:jX]invalid type eb(" + this.eb + ")"); n = this.me(e.eS().cl().dW(16)) + this.me(e.ew().cl().dW(16)) + this.er(i).toString() + this.er(s).toString() } return "04" + n }, nt: function (t, r) { var i = new Array(r.length); Array.Copy(r, 0, i, 0, r.length); var e = this.qF(t); this.qj(i); var n = new Array(32); this.mb(n); var s, o = new Aostar.cI.gW({ ku: e.eS().cl() }), h = new Aostar.cI.gW({ ku: e.ew().cl() }), f = new Aostar.cI.jV({ dv: this.er(n).toString() }), c = new Aostar.cI.jV({ dv: this.er(i).toString() }); if (this.eb == CipherMode.C1C3C2) s = { array: [o, h, f, c] }; else { if (this.eb != CipherMode.C1C2C3) throw new Error("[SM2:nt]invalid type eb(" + this.eb + ")"); s = { array: [o, h, c, f] } } return new Aostar.cI.jt(s).hc() }, fL: function (t) { for (var r = [], i = t.length, e = 0; e < i; e += 2)r[r.length] = parseInt(t.substr(e, 2), 16); return r }, iB: function (t) { var r = []; t.length < 64 && (t = this.le(t, 64)), 64 < t.length && (t = t.substr(t.length - 64, t.length)); for (var i = t.length, e = 0; e < i; e += 2)r[r.length] = parseInt(t.substr(e, 2), 16); return r }, le: function (t, r) { return new Array(r + 1 - t.length).join("0") + t }, er: function (t) { for (var r = new Array(32), i = 0, e = 0; e < 2 * t.length; e += 2)r[e >>> 3] |= parseInt(t[i]) << 24 - e % 8 * 4, i++; return new AostarJS.jx.eR.dV(r, t.length) }, jX: function (t, r) { var i, e, n = "04" === r.substr(0, 2) ? r.substr(2) : r, s = n.substr(0, 64), o = n.substr(0 + s.length, 64); this.eb == CipherMode.C1C3C2 ? (i = n.substr(s.length + o.length, 64), e = n.substr(s.length + o.length + 64)) : (e = n.substr(s.length + o.length, n.length - 192), i = n.substr(n.length - 64)); var h = this.fL(e), f = this.iz(s, o); this.rR(t, f), this.pZ(h); var c = new Array(32); if (this.mb(c), this.er(c).toString().toUpperCase() == i.toUpperCase()) return this.er(h); throw new Error("[SM2:jX] C3 is not match!") }, kI: function (t, r) { var i, e, n = r, s = dE.kK(n), o = s[0], h = s[1]; if (this.eb == CipherMode.C1C3C2) i = s[2], e = s[3]; else { if (this.eb != CipherMode.C1C2C3) throw new Error("[SM2:kI]invalid type eb(" + this.eb + ")"); e = s[2], i = s[3] } var f = this.fL(e), c = this.iz(o, h); this.rR(t, c), this.pZ(f); var u = new Array(32); if (this.mb(u), this.er(u).toString().toUpperCase() == i.toUpperCase()) return this.er(f); throw new Error("[SM2:kI] C3 is not match!") }, iz: function (t, r) { var i = new Aostar.crypto.eJ({ bZ: "sm2" }), e = "04" + (t = t.length < 64 ? this.le(t, 64) : t.substr(t.length - 64, 64)) + (r = r.length < 64 ? this.le(r, 64) : r.substr(r.length - 64, 64)); return O.ll(i.fm.bZ, e) } }, window.CipherMode = { C1C2C3: 0, C1C3C2: 1 }, window.SM2 = { C1C2C3: 0, C1C3C2: 1, c1c2c3: 0, c1c3c2: 1 }, void 0 === Aostar || !Aostar) var Aostar = {}; function bA() { this.uz = 64, this.eY = new Array, this.ij = 0, this.hM = 0, this.qy = 32, this.oR = [1937774191, 1226093241, 388252375, -628488704, -1452330820, 372324522, -477237683, -1325724082], this.v = new Array(8), this.uE = new Array(8), this.mI = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], this.X = new Array(68), this.ii = 0, this.sQ = 2043430169, this.rV = 2055708042, 0 < arguments.length ? this.sD(arguments[0]) : this.Init() } function J(t, r) { return t << r | t >>> -r } function de(t) { if (2147483647 < t || t < -2147483648) { var r = 4294967295 & t; return 2147483647 < r ? (r = 2147483647 & t, -((r ^= 2147483647) + 1)) : r } return t } function aR() { this.mode = 1, this.dS = !0, this.gu = new Array(32) } function aU() { var i = [214, 144, 233, 254, 204, 225, 61, 183, 22, 182, 20, 194, 40, 251, 44, 5, 43, 103, 154, 118, 42, 190, 4, 195, 170, 68, 19, 38, 73, 134, 6, 153, 156, 66, 80, 244, 145, 239, 152, 122, 51, 84, 11, 67, 237, 207, 172, 98, 228, 179, 28, 169, 201, 8, 232, 149, 128, 223, 148, 250, 117, 143, 63, 166, 71, 7, 167, 252, 243, 115, 23, 186, 131, 89, 60, 25, 230, 133, 79, 168, 104, 107, 129, 178, 113, 100, 218, 139, 248, 235, 15, 75, 112, 86, 157, 53, 30, 36, 14, 94, 99, 88, 209, 162, 37, 34, 124, 59, this.gT = 1, 33, 120, 135, 212, this.iF = 0, 70, 87, 159, 211, 39, 82, 76, 54, 2, 231, 160, 196, 200, 158, 234, 191, 138, 210, 64, 199, 56, 181, 163, 247, 242, 206, 249, 97, 21, 161, 224, 174, 93, 164, 155, 52, 26, 85, 173, 147, 50, 48, 245, 140, 177, 227, 29, 246, 226, 46, 130, 102, 202, 96, 192, 41, 35, 171, 13, 83, 78, 111, 213, 219, 55, 69, 222, 253, 142, 47, 3, 255, 106, 114, 109, 108, 91, 81, 141, 27, 175, 146, 187, 221, 188, 127, 17, 217, 92, 65, 31, 16, 90, 216, 10, 193, 49, 136, 165, 205, 123, 189, 45, 116, 208, 18, 184, 229, 180, 176, 137, 105, 151, 74, 12, 150, 119, 126, 101, 185, 241, 9, 197, 110, 198, 132, 24, 240, 125, 236, 58, 220, 77, 32, 121, 238, 95, 62, 215, 203, 57, 72], s = [2746333894, 1453994832, 1736282519, 2993693404], o = [462357, 472066609, 943670861, 1415275113, 1886879365, 2358483617, 2830087869, 3301692121, 3773296373, 4228057617, 404694573, 876298825, 1347903077, 1819507329, 2291111581, 2762715833, 3234320085, 3705924337, 4177462797, 337322537, 808926789, 1280531041, 1752135293, 2223739545, 2695343797, 3166948049, 3638552301, 4110090761, 269950501, 741554753, 1213159005, 1684763257]; this.gc = function (t, r) { return (255 & t[r]) << 24 | (255 & t[r + 1]) << 16 | (255 & t[r + 2]) << 8 | 255 & t[r + 3] }, this.iW = function (t, r, i) { var e = 255 & t >> 24, n = 255 & t >> 16, s = 255 & t >> 8, o = 255 & t; r[i] = 128 < e ? e - 256 : e, r[i + 1] = 128 < n ? n - 256 : n, r[i + 2] = 128 < s ? s - 256 : s, r[i + 3] = 128 < o ? o - 256 : o }, this.iT = function (t, r) { return t << r | t >>> 32 - r }, this.rD = function (t) { var r, i = new Array(4), e = new Array(4); return this.iW(t, i, 0), e[0] = this.iu(i[0]), e[1] = this.iu(i[1]), e[2] = this.iu(i[2]), e[3] = this.iu(i[3]), (r = this.gc(e, 0)) ^ this.iT(r, 2) ^ this.iT(r, 10) ^ this.iT(r, 18) ^ this.iT(r, 24) }, this.uZ = function (t, r, i, e, n) { return t ^ this.rD(r ^ i ^ e ^ n) }, this.sS = function (t) { var r, i = new Array(4), e = new Array(4); return this.iW(t, i, 0), e[0] = this.iu(i[0]), e[1] = this.iu(i[1]), e[2] = this.iu(i[2]), e[3] = this.iu(i[3]), (r = this.gc(e, 0)) ^ this.iT(r, 13) ^ this.iT(r, 23) }, this.iu = function (t) { var r = i[255 & t]; return 128 < r ? r - 256 : r }, this.pH = function (t, r) { return null == t ? (alert("eu is null!"), !1) : null == r || 16 != r.length ? (alert("key error!"), !1) : (t.mode = this.gT, void this.qV(t.gu, r)) }, this.pO = function (t, r) { if (null == t) return alert("eu is null!"), !1; if (null == r || 16 != r.length) return alert("key error!"), !1; var i; for (t.mode = this.iF, this.qV(t.gu, r), i = 0; i < 16; i++)this.rW(t.gu, i) }, this.rW = function (t, r) { var i = t[r]; t[r] = t[31 - r], t[31 - r] = i }, this.qV = function (t, r) { var i = new Array(4), e = new Array(36); i[0] = this.gc(r, 0), i[1] = this.gc(r, 4), i[2] = this.gc(r, 8), i[3] = this.gc(r, 12), e[0] = i[0] ^ s[0], e[1] = i[1] ^ s[1], e[2] = i[2] ^ s[2], e[3] = i[3] ^ s[3]; for (var n = 0; n < 32; n++)e[n + 4] = e[n] ^ this.sS(e[n + 1] ^ e[n + 2] ^ e[n + 3] ^ o[n]), t[n] = e[n + 4] }, this.padding = function (t, r) { if (null == t) return null; var i = null; if (r == this.gT) { var e = parseInt(16 - t.length % 16); i = t.slice(0); for (var n = 0; n < e; n++)i[t.length + n] = e } else { e = t[t.length - 1]; i = t.slice(0, t.length - e) } return i }, this.pd = function (t, r, i) { var e = 0, n = new Array(36); for (n[0] = this.gc(r, 0), n[1] = this.gc(r, 4), n[2] = this.gc(r, 8), n[3] = this.gc(r, 12); e < 32;)n[e + 4] = this.uZ(n[e], n[e + 1], n[e + 2], n[e + 3], t[e]), e++; this.iW(n[35], i, 0), this.iW(n[34], i, 4), this.iW(n[33], i, 8), this.iW(n[32], i, 12) }, this.pz = function (t, r) { null == r && alert("input is null!"), t.dS && t.mode == this.gT && (r = this.padding(r, this.gT)); for (var i = 0, e = r.length, n = new Array; 0 < e; e -= 16) { var s = new Array(16), o = r.slice(16 * i, 16 * (i + 1)); this.pd(t.gu, o, s), n = n.concat(s), i++ } var h = n; t.dS && t.mode == this.iF && (h = this.padding(h, this.iF)); for (i = 0; i < h.length; i++)h[i] < 0 && (h[i] = h[i] + 256); return h }, this.pS = function (t, r, i) { null != r && 16 == r.length || alert("eO error!"), null == i && alert("input is null!"), t.dS && t.mode == this.gT && (i = this.padding(i, this.gT)); var e = 0, n = i.length, s = new Array; if (t.mode == this.gT) for (var o = 0; 0 < n; n -= 16) { var h = new Array(16), f = new Array(16), c = i.slice(16 * o, 16 * (o + 1)); for (e = 0; e < 16; e++)h[e] = c[e] ^ r[e]; this.pd(t.gu, h, f), r = f.slice(0, 16), s = s.concat(f), o++ } else { var u = []; for (o = 0; 0 < n; n -= 16) { h = new Array(16), f = new Array(16); for (u = (c = i.slice(16 * o, 16 * (o + 1))).slice(0, 16), this.pd(t.gu, c, h), e = 0; e < 16; e++)f[e] = h[e] ^ r[e]; r = u.slice(0, 16), s = s.concat(f), o++ } } var a = s; t.dS && t.mode == this.iF && (a = this.padding(a, this.iF)); for (e = 0; e < a.length; e++)a[e] < 0 && (a[e] = a[e] + 256); return a } } void 0 !== Aostar.crypto && Aostar.crypto || (Aostar.crypto = {}), Aostar.crypto.SM3withSM2 = function (t) { var r = new bG; this.type = "SM2", this.jc = function (t) { return new K(t.dY(), r).fJ(t.eB(K.ONE)).add(K.ONE) }, this.nl = function (t) { this.fm = Aostar.crypto.hD.getByName(t), this.eh = null, this.cv = null, this.ed = t }, this.kA = function (t) { this.tf = !0, this.eh = t }, this.kO = function (t) { this.rC = !0, this.cv = t }, this.oh = function () { var t = this.fm.n, r = this.jc(t), i = this.fm.G.multiply(r), e = i.eS().cl(), n = i.ew().cl(), s = this.fm.hO / 4, o = ("0000000000" + r.toString(16)).slice(-s), h = "04" + ("0000000000" + e.toString(16)).slice(-s) + ("0000000000" + n.toString(16)).slice(-s); return this.kA(o), this.kO(h), { ecprvhex: o, ecpubhex: h } }, this.mL = function (t) { return this.jz(t, this.eh) }, this.jz = function (t, r) { var i = new K(r, 16), e = this.fm.n, n = new K(t, 16), s = null, o = null, h = null, f = null, c = i; do { do { var u = this.oh(); s = new K(u.ecprvhex, 16); var a = u.ecpubhex; o = O.ll(this.fm.bZ, a), h = (h = n.add(o.eS().cl())).fJ(e) } while (h.fI(K.ZERO) || h.add(s).fI(e)); var F = c.add(K.ONE); F = F.hm(e), f = h.multiply(c), f = s.eB(f).fJ(e), f = F.multiply(f).fJ(e) } while (f.fI(K.ZERO)); return Aostar.crypto.eJ.pk(h, f) }, this.gX = function (t, r) { var i = r, e = this.fm.n, n = K.hq(t); do { var s = this.jc(e), o = this.fm.G.multiply(s).eS().cl().fJ(e) } while (o.dU(K.ZERO) <= 0); var h = s.hm(e).multiply(n.add(i.multiply(o))).fJ(e); return this.mX(o, h) }, this.lJ = function (t, r) { return this.jQ(t, r, this.cv) }, this.jQ = function (t, r, i) { var e, n, s, o = Aostar.crypto.eJ.rG(r); e = o.r, n = o.s, s = O.ll(this.fm.bZ, i); var h = new K(t, 16); return this.kk(h, e, n, s) }, this.fY = function (t, r, i) { var e, n, s; if (oG.fW.isArray(r)) { var o = this.lL(r); e = o.r, n = o.s } else { if ("object" != typeof r || !r.r || !r.s) throw "Invalid value for signature"; e = r.r, n = r.s } if (i instanceof O) s = i; else { if (!oG.fW.isArray(i)) throw "Invalid format for gk value, must be byte array fv O"; s = O.qk(this.fm.bZ, i) } var h = K.hq(t); return this.kk(h, e, n, s) }, this.kk = function (t, r, i, e) { var n = this.fm.n, s = this.fm.G, o = r.add(i).fJ(n); if (o.fI(K.ZERO)) return !1; var h = s.multiply(i); h = h.add(e.multiply(o)); var f = t.add(h.eS().cl()).fJ(n); return r.fI(f) }, this.mX = function (t, r) { var i = t.mZ(), e = r.mZ(), n = []; return n.push(2), n.push(i.length), (n = n.concat(i)).push(2), n.push(e.length), (n = n.concat(e)).unshift(n.length), n.unshift(48), n }, this.lL = function (t) { var r; if (48 != t[0]) throw new Error("gn not a valid jt"); if ((r = 2) != t[r]) throw new Error("First element in signature must be a gW"); var i = t.slice(r + 2, r + 2 + t[r + 1]); if (2 != t[r += 2 + t[r + 1]]) throw new Error("Second element in signature must be a gW"); var e = t.slice(r + 2, r + 2 + t[r + 1]); return r += 2 + t[r + 1], { r: K.hq(i), s: K.hq(e) } }, this.sl = function (t) { if (65 !== t.length) throw "gn has the wrong length"; var r = t[0] - 27; if (r < 0 || 7 < r) throw "Invalid signature type"; var i = this.fm.n; return { r: K.hq(t.slice(1, 33)).fJ(i), s: K.hq(t.slice(33, 65)).fJ(i), i: r } }, void 0 !== t && void 0 !== t.bZ && (this.ed = t.bZ), void 0 === this.ed && (this.ed = "sm2"), this.nl(this.ed), void 0 !== t && (void 0 !== t.prv && this.kA(t.prv), void 0 !== t.pub && this.kO(t.pub)) }, oE = AostarJS, qE = oE.jx, rE = qE.eR, sE = qE.hU, tE = oE.hl, uE = [], vE = tE.kc = sE.extend({ pR: function () { this.jM = new rE.dV([1937774191, 1226093241, 388252375, 3666478592, 2842636476, 372324522, 3817729613, 2969243214]) }, qp: function (t, r) { for (var i = this.jM.cu, e = i[0], n = i[1], s = i[2], o = i[3], h = i[4], f = 0; f < 80; f++) { if (f < 16) uE[f] = 0 | t[r + f]; else { var c = uE[f - 3] ^ uE[f - 8] ^ uE[f - 14] ^ uE[f - 16]; uE[f] = c << 1 | c >>> 31 } var u = (e << 5 | e >>> 27) + h + uE[f]; u += f < 20 ? 1518500249 + (n & s | ~n & o) : f < 40 ? 1859775393 + (n ^ s ^ o) : f < 60 ? (n & s | n & o | s & o) - 1894007588 : (n ^ s ^ o) - 899497514, h = o, o = s, s = n << 30 | n >>> 2, n = e, e = u } i[0] = i[0] + e | 0, i[1] = i[1] + n | 0, i[2] = i[2] + s | 0, i[3] = i[3] + o | 0, i[4] = i[4] + h | 0 }, nh: function () { var t = this.hz, r = t.cu, i = 8 * this.qJ, e = 8 * t.fe; return r[e >>> 5] |= 128 << 24 - e % 32, r[14 + (64 + e >>> 9 << 4)] = Math.floor(i / 4294967296), r[15 + (64 + e >>> 9 << 4)] = i, t.fe = 4 * r.length, this.iG(), this.jM }, clone: function () { var t = sE.clone.call(this); return t.jM = this.jM.clone(), t } }), oE.kc = sE.ri(vE), oE.yf = sE.uv(vE), bA.prototype = { Init: function () { this.eY = new Array(4), this.Reset() }, sD: function (t) { this.eY = new Array(t.eY.length), Array.Copy(t.eY, 0, this.eY, 0, t.eY.length), this.ij = t.ij, this.hM = t.hM, Array.Copy(t.X, 0, this.X, 0, t.X.length), this.ii = t.ii, Array.Copy(t.v, 0, this.v, 0, t.v.length) }, oM: function () { return this.qy }, Reset: function () { this.hM = 0, this.ij = 0, Array.Clear(this.eY, 0, this.eY.length), Array.Copy(this.oR, 0, this.v, 0, this.oR.length), this.ii = 0, Array.Copy(this.mI, 0, this.X, 0, this.mI.length) }, vT: function () { return this.uz }, nD: function () { var t, r = this.X, i = new Array(64); for (t = 16; t < 68; t++)r[t] = this.wS(r[t - 16] ^ r[t - 9] ^ J(r[t - 3], 15)) ^ J(r[t - 13], 7) ^ r[t - 6]; for (t = 0; t < 64; t++)i[t] = r[t] ^ r[t + 4]; var e, n, s, o, h, f = this.v, c = this.uE; for (Array.Copy(f, 0, c, 0, this.oR.length), t = 0; t < 16; t++)n = (e = J(e = (h = J(c[0], 12)) + c[4] + J(this.sQ, t), 7)) ^ h, s = this.wC(c[0], c[1], c[2]) + c[3] + n + i[t], o = this.wQ(c[4], c[5], c[6]) + c[7] + e + r[t], c[3] = c[2], c[2] = J(c[1], 9), c[1] = c[0], c[0] = s, c[7] = c[6], c[6] = J(c[5], 19), c[5] = c[4], c[4] = this.sp(o); for (t = 16; t < 64; t++)n = (e = J(e = (h = J(c[0], 12)) + c[4] + J(this.rV, t), 7)) ^ h, s = this.wx(c[0], c[1], c[2]) + c[3] + n + i[t], o = this.wy(c[4], c[5], c[6]) + c[7] + e + r[t], c[3] = c[2], c[2] = J(c[1], 9), c[1] = c[0], c[0] = s, c[7] = c[6], c[6] = J(c[5], 19), c[5] = c[4], c[4] = this.sp(o); for (t = 0; t < 8; t++)f[t] ^= c[t]; this.ii = 0, Array.Copy(this.mI, 0, this.X, 0, this.mI.length) }, qL: function (t, r) { var i = t[r] << 24; i |= (255 & t[++r]) << 16, i |= (255 & t[++r]) << 8, i |= 255 & t[++r], this.X[this.ii] = i, 16 == ++this.ii && this.nD() }, uU: function (t) { 14 < this.ii && this.nD(), this.X[14] = this.tN(t, 32), this.X[15] = 4294967295 & t }, rz: function (t, r, i) { r[i] = t >>> 24 & 255, r[++i] = t >>> 16 & 255, r[++i] = t >>> 8 & 255, r[++i] = 255 & t }, jy: function (t, r) { this.vV(); for (var i = 0; i < 8; i++)this.rz(this.v[i], t, r + 4 * i); return this.Reset(), this.qy }, gf: function (t) { this.eY[this.ij++] = t, this.ij == this.eY.length && (this.qL(this.eY, 0), this.ij = 0), this.hM++ }, fl: function (t, r, i) { for (; 0 != this.ij && 0 < i;)this.gf(t[r]), r++, i--; for (; i > this.eY.length;)this.qL(t, r), r += this.eY.length, i -= this.eY.length, this.hM += this.eY.length; for (; 0 < i;)this.gf(t[r]), r++, i-- }, vV: function () { var t = this.hM << 3; for (this.gf(128); 0 != this.ij;)this.gf(0); this.uU(t), this.nD() }, ROTATE: function (t, r) { return t << r | this.tE(t, 32 - r) }, sp: function (t) { return t ^ J(t, 9) ^ J(t, 17) }, wS: function (t) { return t ^ J(t, 15) ^ J(t, 23) }, wC: function (t, r, i) { return t ^ r ^ i }, wx: function (t, r, i) { return t & r | t & i | r & i }, wQ: function (t, r, i) { return t ^ r ^ i }, wy: function (t, r, i) { return t & r | ~t & i }, tE: function (t, r) { return (t > sZ.ss || t < sZ.sv) && (t = de(t)), 0 <= t ? t >> r : (t >> r) + (2 << ~r) }, tN: function (t, r) { var i, e = new K; if (e.hf(t), 0 <= e.eN()) i = e.lO(r).hI(); else { var n = new K; n.hf(2); var s = ~r, o = ""; if (s < 0) { for (var h = 64 + s, f = 0; f < h; f++)o += "0"; var c = new K; c.hf(t >> r); var u = new K("10" + o, 2); o = u.dW(10), i = u.add(c).dW(10) } else i = (t >> r) + (o = n.shiftLeft(~r).hI()) } return i }, qY: function (t, r, i) { var e = AostarJS.ef.fc.parse(i), n = 4 * e.cu.length * 8; this.gf(n >> 8 & 255), this.gf(255 & n); var s = this.fL(e.toString()); this.fl(s, 0, s.length); var o = this.fL(t.bZ.a.cl().dW(16)), h = this.fL(t.bZ.b.cl().dW(16)), f = this.fL(t.eS().cl().dW(16)), c = this.fL(t.ew().cl().dW(16)), u = this.fL(r.substr(0, 64)), a = this.fL(r.substr(64, 64)); this.fl(o, 0, o.length), this.fl(h, 0, h.length), this.fl(f, 0, f.length), this.fl(c, 0, c.length), this.fl(u, 0, u.length), this.fl(a, 0, a.length); var F = new Array(this.oM()); return this.jy(F, 0), F }, fL: function (t) { for (var r = [], i = t.length, e = 0; e < i; e += 2)r[r.length] = parseInt(t.substr(e, 2), 16); return r }, iB: function (t) { var r = []; t.length < 64 && (t = this.le(t, 64)), 64 < t.length && (t = t.substr(t.length - 64, t.length)); for (var i = t.length, e = 0; e < i; e += 2)r[r.length] = parseInt(t.substr(e, 2), 16); return r }, le: function (t, r) { return new Array(r + 1 - t.length).join("0") + t }, er: function (t) { for (var r = [], i = 0, e = 0; e < 2 * t.length; e += 2)r[e >>> 3] |= parseInt(t[i]) << 24 - e % 8 * 4, i++; return new AostarJS.jx.eR.dV(r, t.length) } }, Array.Clear = function (t, r, i) { for (var e in t) t[e] = null }, Array.Copy = function (t, r, i, e, n) { for (var s = t.slice(r, r + n), o = 0; o < s.length; o++)i[e] = s[o], e++ }, window.sZ = { sv: -parseInt("10000000000000000000000000000000", 2), ss: parseInt("1111111111111111111111111111111", 2), parse: function (t) { if (t < this.sv) { for (var r = (n = new Number(-t).toString(2)).substr(n.length - 31, 31), i = "", e = 0; e < r.length; e++) { i += "0" == r.substr(e, 1) ? "1" : "0" } return parseInt(i, 2) + 1 } if (t > this.ss) { var n; for (r = (n = Number(t).toString(2)).substr(n.length - 31, 31), i = "", e = 0; e < r.length; e++) { i += "0" == r.substr(e, 1) ? "1" : "0" } return -(parseInt(i, 2) + 1) } return t }, yw: function (t) { if (255 < t) return r = 255 & t; if (t < -256) { var r = 255 & t; return (r ^= 255) + 1 } return t } }; var CommonUtils = { hexToBytes: function (t) { for (var r = [], i = 0; i < t.length; i += 2)r.push(parseInt(t.substr(i, 2), 16)); return r }, bytesToHex: function (t) { for (var r = [], i = 0; i < t.length; i++)r.push((t[i] >>> 4).toString(16)), r.push((15 & t[i]).toString(16)); return r.join("").toUpperCase() }, stringToHex: function (t) { return AostarJS.ef.fc.parse(t).toString().toUpperCase() }, stringToBytes: function (t) { return this.hexToBytes(this.stringToHex(t)) }, bytesToString: function (t) { for (var r = [1, 1, 1, 1, 2, 2, 3, 0], i = t.length, e = "", n = 0; n < i;) { var s = t[n++]; if (128 & s) { var o = r[s >> 3 & 7]; if (!(64 & s) || !o || i < n + o) return null; for (s &= 63 >> o; 0 < o; o -= 1) { var h = t[n++]; if (128 != (192 & h)) return null; s = s << 6 | 63 & h } } e += String.fromCharCode(s) } return e }, asn1HexToArray: function (t) { return dE.kK(t) }, v_ltd: function () { return new AostarJS.jx.eR.dV([-442786843, -1214389064, -1377332043, -443502618, -1735465320, -1612398687, -427708442, -1971263844, -1343841143, -375811867, -2052266609, -1207959552]).toString(AostarJS.ef.fc) } }; function Sm2Utils(t) { this.eb = void 0 !== t ? t : CipherMode.C1C2C3, this.cO = new bO(this.eb) } Sm2Utils.prototype = { encryptFromText: function (t, r) { if (this.validatePubKeyHex(t) && r) { this.startWith(t, "04") && 130 == t.length && (t = t.substr(t.length - 128)); var i = t.substr(0, 64), e = t.substr(64), n = this.cO.iz(i, e), s = this.cO.fL(AostarJS.ef.fc.parse(r).toString()); return this.cO.oT(n, s).toUpperCase() } fj.error("[SM2:encryptFromText]invalid cv fv ea!") }, decryptToText: function (t, r) { if (!t || t.length < 62 || 68 < t.length) fj.error("[SM2:decryptToText]fa length error!"); else { if (r && r.length % 2 != 1) { var i = new K(t, 16), e = this.cO.jX(i, r); return AostarJS.ef.fc.stringify(e) } fj.error("[SM2:decryptToText]invalid dw!") } }, encryptFromHex: function (t, r) { if (this.validatePubKeyHex(t) && r) { this.startWith(t, "04") && 130 == t.length && (t = t.substr(t.length - 128)); var i = t.substr(0, 64), e = t.substr(64), n = this.cO.iz(i, e), s = this.cO.fL(r); return this.cO.oT(n, s).toUpperCase() } fj.error("[SM2:encryptFromHex]invalid cv fv gL!") }, decryptToHex: function (t, r) { if (!t || t.length < 62 || 68 < t.length) fj.error("[SM2:decryptToHex]fa length error!"); else { if (r && r.length % 2 != 1) { var i = new K(t, 16), e = this.cO.jX(i, r); return AostarJS.ef.hx.stringify(e).toUpperCase() } fj.error("[SM2:decryptToHex]invalid dw!") } }, encryptFromData: function (t, r) { var i = CommonUtils.bytesToHex(t); if (this.validatePubKeyHex(i) && r) { this.startWith(i, "04") && 130 == i.length && (i = i.substr(i.length - 128)); var e = i.substr(0, 64), n = i.substr(64), s = this.cO.iz(e, n), o = this.cO.fL(CommonUtils.bytesToHex(r)), h = this.cO.oT(s, o); return CommonUtils.hexToBytes(h) } fj.error("[SM2:encryptFromData]invalid im fv gw!") }, decryptToData: function (t, r) { var i = CommonUtils.bytesToHex(t); if (!i || i.length < 62 || 68 < i.length) fj.error("[SM2:decryptToData]fa length error!"); else { if (r) { var e = new K(i, 16), n = this.cO.jX(e, CommonUtils.bytesToHex(r)), s = AostarJS.ef.hx.stringify(n); return CommonUtils.hexToBytes(s) } fj.error("[SM2:decryptToData]invalid fA!") } }, encryptASN1FromText: function (t, r) { if (this.validatePubKeyHex(t) && r) { this.startWith(t, "04") && 130 == t.length && (t = t.substr(t.length - 128)); var i = t.substr(0, 64), e = t.substr(64), n = this.cO.iz(i, e), s = this.cO.fL(AostarJS.ef.fc.parse(r).toString()); return this.cO.nt(n, s).toUpperCase() } fj.error("[SM2:encryptASN1FromText]invalid cv fv ea!") }, decryptASN1ToText: function (t, r) { if (!t || t.length < 62 || 68 < t.length) fj.error("[SM2:decryptASN1ToText]fa length error!"); else { if (r && r.length % 2 != 1) { var i = new K(t, 16), e = this.cO.kI(i, r); return AostarJS.ef.fc.stringify(e) } fj.error("[SM2:decryptASN1ToText]invalid dw!") } }, encryptASN1FromHex: function (t, r) { if (this.validatePubKeyHex(t) && r) { this.startWith(t, "04") && 130 == t.length && (t = t.substr(t.length - 128)); var i = t.substr(0, 64), e = t.substr(64), n = this.cO.iz(i, e), s = this.cO.fL(r); return this.cO.nt(n, s).toUpperCase() } fj.error("[SM2:encryptASN1FromHex]invalid cv fv gL!") }, decryptASN1ToHex: function (t, r) { if (!t || t.length < 62 || 68 < t.length) fj.error("[SM2:decryptASN1ToHex]fa length error!"); else { if (r && r.length % 2 != 1) { var i = new K(t, 16), e = this.cO.kI(i, r); return AostarJS.ef.hx.stringify(e).toUpperCase() } fj.error("[SM2:decryptASN1ToHex]invalid dw!") } }, encryptASN1FromData: function (t, r) { var i = CommonUtils.bytesToHex(t); if (this.validatePubKeyHex(i) && r) { this.startWith(i, "04") && 130 == i.length && (i = i.substr(i.length - 128)); var e = i.substr(0, 64), n = i.substr(64), s = this.cO.iz(e, n), o = this.cO.fL(CommonUtils.bytesToHex(r)), h = this.cO.nt(s, o); return CommonUtils.hexToBytes(h) } fj.error("[SM2:encryptASN1FromData]invalid im fv gw!") }, decryptASN1ToData: function (t, r) { var i = CommonUtils.bytesToHex(t); if (!i || i.length < 62 || 68 < i.length) fj.error("[SM2:decryptASN1ToData]fa length error!"); else { if (r) { var e = new K(i, 16), n = this.cO.kI(e, CommonUtils.bytesToHex(r)), s = AostarJS.ef.hx.stringify(n); return CommonUtils.hexToBytes(s) } fj.error("[SM2:decryptASN1ToData]invalid fA!") } }, signFromText: function (t, r) { var i = new Aostar.crypto.gn({ cc: "SM3withSM2", cJ: "cryptojs/jsrsa" }); return i.jb({ ecprvhex: t, eK: "sm2" }), i.eG(r), i.gX().toUpperCase() }, verifySignFromText: function (t, r, i) { var e = new Aostar.crypto.gn({ cc: "SM3withSM2", cJ: "cryptojs/jsrsa" }); return e.lA({ ecpubhex: t, eK: "sm2" }), e.eG(r), e.fY(i) }, signFromHex: function (t, r) { var i = new Aostar.crypto.gn({ cc: "SM3withSM2", cJ: "cryptojs/jsrsa" }); return i.jb({ ecprvhex: t, eK: "sm2" }), i.eV(r), i.gX().toUpperCase() }, verifySignFromHex: function (t, r, i) { var e = new Aostar.crypto.gn({ cc: "SM3withSM2", cJ: "cryptojs/jsrsa" }); return e.lA({ ecpubhex: t, eK: "sm2" }), e.eV(r), e.fY(i) }, signFromData: function (t, r) { var i = CommonUtils.bytesToHex(t), e = new Aostar.crypto.gn({ cc: "SM3withSM2", cJ: "cryptojs/jsrsa" }); e.jb({ ecprvhex: i, eK: "sm2" }), e.eV(CommonUtils.bytesToHex(r)); var n = e.gX(); return CommonUtils.hexToBytes(n) }, verifySignFromData: function (t, r, i) { var e = CommonUtils.bytesToHex(t), n = CommonUtils.bytesToHex(i), s = new Aostar.crypto.gn({ cc: "SM3withSM2", cJ: "cryptojs/jsrsa" }); return s.lA({ ecpubhex: e, eK: "sm2" }), s.eV(CommonUtils.bytesToHex(r)), s.fY(n) }, randomWord: function (t) { for (var r = "", i = ["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", "~", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_"], e = 0; e < t; e++)r += i[Math.round(AostarJS.ef.hZ.kz() * (i.length - 1))]; return r }, validatePubKeyHex: function (t) { return t ? !(!this.startWith(t, "04") || 130 != t.length) || (128 == t.length || (fj.error("fr length error!"), !1)) : (fj.error("fr is empty!"), !1) }, startWith: function (t, r) { return new RegExp("^" + r).test(t) }, v_ltd: function () { return new AostarJS.jx.eR.dV([-442786843, -1214389064, -1377332043, -443502618, -1735465320, -1612398687, -427708442, -1971263844, -1343841143, -375811867, -2052266609, -1207959552]).toString(AostarJS.ef.fc) } }; var Sm3Utils = { encryptFromData: function (t) { var r = new bA; r.fl(t, 0, t.length); var i = new Array(32); r.jy(i, 0); var e = r.er(i).toString(); return CommonUtils.hexToBytes(e) }, encryptFromHex: function (t) { var r = new bA, i = r.fL(t.toString()); r.fl(i, 0, i.length); var e = new Array(32); return r.jy(e, 0), r.er(e).toString().toUpperCase() }, encryptFromText: function (t) { var r = new bA, i = AostarJS.ef.fc.parse(t), e = r.fL(i.toString()); r.fl(e, 0, e.length); var n = new Array(32); return r.jy(n, 0), r.er(n).toString().toUpperCase() }, v_ltd: function () { return new AostarJS.jx.eR.dV([-442786843, -1214389064, -1377332043, -443502618, -1735465320, -1612398687, -427708442, -1971263844, -1343841143, -375811867, -2052266609, -1207959552]).toString(AostarJS.ef.fc) } }, Sm4Utils = { ECB: { encryptFromText: function (t, r, i) { if (r && 32 == r.length) { var e = CommonUtils.stringToBytes(t), n = CommonUtils.hexToBytes(r), s = !(2 < arguments.length) || 1 == i, o = this.encryptFromData(e, n, s); return CommonUtils.bytesToHex(o) } fj.error("[SM4_ECB:encryptFromText]fd empty fv length error!") }, encryptFromHex: function (t, r, i) { if (r && 32 == r.length) { var e = CommonUtils.hexToBytes(t), n = CommonUtils.hexToBytes(r), s = !(2 < arguments.length) || 1 == i, o = this.encryptFromData(e, n, s); return CommonUtils.bytesToHex(o) } fj.error("[SM4_ECB:encryptFromHex]fd empty fv length error!") }, encryptFromData: function (t, r, i) { if (r && 16 == r.length) { var e = !(2 < arguments.length) || 1 == i; try { var n = new aU, s = new aR; return s.dS = e, s.mode = n.gT, n.pH(s, r), n.pz(s, t) } catch (t) { return fj.error(t), null } } else fj.error("[SM4_ECB:encryptFromData]eo empty fv length error!") }, decryptToText: function (t, r, i) { if (r && 32 == r.length) { if (t && t.length % 2 != 1) { var e = CommonUtils.hexToBytes(t), n = CommonUtils.hexToBytes(r), s = !(2 < arguments.length) || 1 == i, o = this.decryptToData(e, n, s); return CommonUtils.bytesToString(o) } fj.error("[SM4_ECB:decryptToText]dw empty fv length error!") } else fj.error("[SM4_ECB:decryptToText]fd empty fv length error!") }, decryptToHex: function (t, r, i) { if (r && 32 == r.length) { if (t && t.length % 2 != 1) { var e = CommonUtils.hexToBytes(t), n = CommonUtils.hexToBytes(r), s = !(2 < arguments.length) || 1 == i, o = this.decryptToData(e, n, s); return CommonUtils.bytesToHex(o) } fj.error("[SM4_ECB:decryptToHex]dw empty fv length error!") } else fj.error("[SM4_ECB:decryptToHex]fd empty fv length error!") }, decryptToData: function (t, r, i) { if (r && 16 == r.length) if (t && t.length % 2 != 1) { var e = !(2 < arguments.length) || 1 == i; try { var n = new aU, s = new aR; return s.dS = e, s.mode = n.iF, n.pO(s, r), n.pz(s, t) } catch (t) { return fj.error(t), null } } else fj.error("[SM4_ECB:decryptToData]fA empty fv length error!"); else fj.error("[SM4_ECB:decryptToData]eo empty fv length error!") } }, CBC: { encryptFromText: function (t, r, i, e) { if (r && 32 == r.length) { if (i && 32 == i.length) { var n = CommonUtils.stringToBytes(t), s = CommonUtils.hexToBytes(r), o = CommonUtils.hexToBytes(r), h = !(3 < arguments.length) || 1 == e, f = this.encryptFromData(n, s, o, h); return CommonUtils.bytesToHex(f) } fj.error("[SM4_CBC:encryptFromText]dZ empty fv length error!") } else fj.error("[SM4_CBC:encryptFromText]fd empty fv length error!") }, encryptFromHex: function (t, r, i, e) { if (r && 32 == r.length) { if (i && 32 == i.length) { var n = CommonUtils.hexToBytes(t), s = CommonUtils.hexToBytes(r), o = CommonUtils.hexToBytes(r), h = !(3 < arguments.length) || 1 == e, f = this.encryptFromData(n, s, o, h); return CommonUtils.bytesToHex(f) } fj.error("[SM4_CBC:encryptFromHex]dZ empty fv length error!") } else fj.error("[SM4_CBC:encryptFromHex]fd empty fv length error!") }, encryptFromData: function (t, r, i, e) { if (r && 16 == r.length) if (i && 16 == i.length) { var n = !(3 < arguments.length) || 1 == e; try { var s = new aU, o = new aR; return o.dS = n, o.mode = s.gT, s.pH(o, r), s.pS(o, i, t) } catch (t) { return fj.error(t), null } } else fj.error("[SM4_CBC:encryptFromData]eL empty fv length error!"); else fj.error("[SM4_CBC:encryptFromData]eo empty fv length error!") }, decryptToText: function (t, r, i, e) { if (r && 32 == r.length) if (i && 32 == i.length) { if (t && t.length % 2 != 1) { var n = CommonUtils.hexToBytes(t), s = CommonUtils.hexToBytes(r), o = CommonUtils.hexToBytes(r), h = !(3 < arguments.length) || 1 == e, f = this.decryptToData(n, s, o, h); return CommonUtils.bytesToString(f) } fj.error("[SM4_CBC:decryptToText]dw empty fv length error!") } else fj.error("[SM4_CBC:decryptToText]dZ empty fv length error!"); else fj.error("[SM4_CBC:decryptToText]fd empty fv length error!") }, decryptToHex: function (t, r, i, e) { if (r && 32 == r.length) if (i && 32 == i.length) { if (t && t.length % 2 != 1) { var n = CommonUtils.hexToBytes(t), s = CommonUtils.hexToBytes(r), o = CommonUtils.hexToBytes(r), h = !(3 < arguments.length) || 1 == e, f = this.decryptToData(n, s, o, h); return CommonUtils.bytesToHex(f) } fj.error("[SM4_CBC:decryptToHex]dw empty fv length error!") } else fj.error("[SM4_CBC:decryptToHex]dZ empty fv length error!"); else fj.error("[SM4_CBC:decryptToHex]fd empty fv length error!") }, decryptToData: function (t, r, i, e) { if (r && 16 == r.length) if (i && 16 == i.length) if (t && t.length % 2 != 1) { var n = !(3 < arguments.length) || 1 == e; try { var s = new aU, o = new aR; return o.dS = n, o.mode = s.gT, s.pO(o, r), s.pS(o, i, t) } catch (t) { return fj.error(t), null } } else fj.error("[SM4_CBC:decryptToData]fA empty fv length error!"); else fj.error("[SM4_CBC:decryptToData]eL empty fv length error!"); else fj.error("[SM4_CBC:decryptToData]eo empty fv length error!") } } }; function doSm3AndSm2Encrypt(t) { var r = new Sm2Utils, i = Sm3Utils.encryptFromText(t) + "|" + r.randomWord(8) + "|" + t; return "{crypto}" + r.encryptFromText("040ECAE82EA6BDC5FF6C90E6D8700F4F9BD44224E8F7F7576FA9B17CE823C18DD5C1D4F9CBF4EE23B3D3347C589036EE13E9497607D0F6C7B5CC655D0D250EDCE8", i) } });
|