hex:
function Xq() {
return bg || (bg = 1,
function(e, t) {
(function(n, u) {
e.exports = u()
}
)(an, function() {
var n = n || function(u, o) {
var r;
if (typeof window < "u" && window.crypto && (r = window.crypto),
typeof self < "u" && self.crypto && (r = self.crypto),
typeof globalThis < "u" && globalThis.crypto && (r = globalThis.crypto),
!r && typeof window < "u" && window.msCrypto && (r = window.msCrypto),
!r && typeof an < "u" && an.crypto && (r = an.crypto),
!r && typeof Zq == "function")
try {
r = Wy
} catch {}
var s = function() {
if (r) {
if (typeof r.getRandomValues == "function")
try {
return r.getRandomValues(new Uint32Array(1))[0]
} catch {}
if (typeof r.randomBytes == "function")
try {
return r.randomBytes(4).readInt32LE()
} catch {}
}
throw new Error("Native crypto module could not be used to get secure random number.")
}
, i = Object.create || function() {
function v() {}
return function(y) {
var E;
return v.prototype = y,
E = new v,
v.prototype = null,
E
}
}()
, a = {}
, l = a.lib = {}
, c = l.Base = function() {
return {
extend: function(v) {
var y = i(this);
return v && y.mixIn(v),
(!y.hasOwnProperty("init") || this.init === y.init) && (y.init = function() {
y.$super.init.apply(this, arguments)
}
),
y.init.prototype = y,
y.$super = this,
y
},
create: function() {
var v = this.extend();
return v.init.apply(v, arguments),
v
},
init: function() {},
mixIn: function(v) {
for (var y in v)
v.hasOwnProperty(y) && (this[y] = v[y]);
v.hasOwnProperty("toString") && (this.toString = v.toString)
},
clone: function() {
return this.init.prototype.extend(this)
}
}
}()
, d = l.WordArray = c.extend({
init: function(v, y) {
v = this.words = v || [],
y != o ? this.sigBytes = y : this.sigBytes = v.length * 4
},
toString: function(v) {
return (v || p).stringify(this)
},
concat: function(v) {
var y = this.words
, E = v.words
, B = this.sigBytes
, A = v.sigBytes;
if (this.clamp(),
B % 4)
for (var _ = 0; _ < A; _++) {
var O = E[_ >>> 2] >>> 24 - _ % 4 * 8 & 255;
y[B + _ >>> 2] |= O << 24 - (B + _) % 4 * 8
}
else
for (var P = 0; P < A; P += 4)
y[B + P >>> 2] = E[P >>> 2];
return this.sigBytes += A,
this
},
clamp: function() {
var v = this.words
, y = this.sigBytes;
v[y >>> 2] &= 4294967295 << 32 - y % 4 * 8,
v.length = u.ceil(y / 4)
},
clone: function() {
var v = c.clone.call(this);
return v.words = this.words.slice(0),
v
},
random: function(v) {
for (var y = [], E = 0; E < v; E += 4)
y.push(s());
return new d.init(y,v)
}
})
, f = a.enc = {}
, p = f.Hex = {
stringify: function(v) {
for (var y = v.words, E = v.sigBytes, B = [], A = 0; A < E; A++) {
var _ = y[A >>> 2] >>> 24 - A % 4 * 8 & 255;
B.push((_ >>> 4).toString(16)),
B.push((_ & 15).toString(16))
}
return B.join("")
},
parse: function(v) {
for (var y = v.length, E = [], B = 0; B < y; B += 2)
E[B >>> 3] |= parseInt(v.substr(B, 2), 16) << 24 - B % 8 * 4;
return new d.init(E,y / 2)
}
}
, h = f.Latin1 = {
stringify: function(v) {
for (var y = v.words, E = v.sigBytes, B = [], A = 0; A < E; A++) {
var _ = y[A >>> 2] >>> 24 - A % 4 * 8 & 255;
B.push(String.fromCharCode(_))
}
return B.join("")
},
parse: function(v) {
for (var y = v.length, E = [], B = 0; B < y; B++)
E[B >>> 2] |= (v.charCodeAt(B) & 255) << 24 - B % 4 * 8;
return new d.init(E,y)
}
}
, m = f.Utf8 = {
stringify: function(v) {
try {
return decodeURIComponent(escape(h.stringify(v)))
} catch {
throw new Error("Malformed UTF-8 data")
}
},
parse: function(v) {
return h.parse(unescape(encodeURIComponent(v)))
}
}
, C = l.BufferedBlockAlgorithm = c.extend({
reset: function() {
this._data = new d.init,
this._nDataBytes = 0
},
_append: function(v) {
typeof v == "string" && (v = m.parse(v)),
this._data.concat(v),
this._nDataBytes += v.sigBytes
},
_process: function(v) {
var y, E = this._data, B = E.words, A = E.sigBytes, _ = this.blockSize, O = _ * 4, P = A / O;
v ? P = u.ceil(P) : P = u.max((P | 0) - this._minBufferSize, 0);
var L = P * _
, ue = u.min(L * 4, A);
if (L) {
for (var N = 0; N < L; N += _)
this._doProcessBlock(B, N);
y = B.splice(0, L),
E.sigBytes -= ue
}
return new d.init(y,ue)
},
clone: function() {
var v = c.clone.call(this);
return v._data = this._data.clone(),
v
},
_minBufferSize: 0
});
l.Hasher = C.extend({
cfg: c.extend(),
init: function(v) {
this.cfg = this.cfg.extend(v),
this.reset()
},
reset: function() {
C.reset.call(this),
this._doReset()
},
update: function(v) {
return this._append(v),
this._process(),
this
},
finalize: function(v) {
v && this._append(v);
var y = this._doFinalize();
return y
},
blockSize: 16,
_createHelper: function(v) {
return function(y, E) {
return new v.init(E).finalize(y)
}
},
_createHmacHelper: function(v) {
return function(y, E) {
return new g.HMAC.init(v,E).finalize(y)
}
}
});
var g = a.algo = {};
return a
}(Math);
return n
})
}(Vd)),
Vd.exports
}