Files
hcapReverse/asset/hcaptcha.html
2026-03-11 14:21:26 +08:00

19970 lines
1.1 MiB
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en" data-id="hcaptcha-frame-d067130695f80003c94cd7a16954f23aa0ed457d">
<head>
<title>hCaptcha</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Security-Policy" content="object-src 'none'; base-uri 'self'; worker-src blob:; ">
<style type="text/css">
* {
-webkit-tap-highlight-color: transparent;
-webkit-font-smoothing: antialiased
}
body,html {
margin: 0;
padding: 0;
font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,"Helvetica Neue",Arial,sans-serif;
overflow: hidden;
height: 100%;
width: 100%;
background-color: rgba(255,255,255,0);
background-color: transparent
}
fieldset {
margin: 0;
padding: 15px 20px;
border: none
}
button:focus,input:focus,select:focus,textarea:focus {
outline: 0
}
:focus {
border: none;
outline: 0
}
textarea {
border: none;
overflow: auto;
outline: 0;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
resize: none
}
.no-selection {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none
}
@-webkit-keyframes pop {
0% {
transform: scale(0)
}
70% {
transform: scale(1.8)
}
80% {
transform: scale(.6)
}
100% {
transform: scale(1)
}
}
@-moz-keyframes pop {
0% {
transform: scale(0)
}
70% {
transform: scale(1.8)
}
80% {
transform: scale(.6)
}
100% {
transform: scale(1)
}
}
@-o-keyframes pop {
0% {
transform: scale(0)
}
70% {
transform: scale(1.8)
}
80% {
transform: scale(.6)
}
100% {
transform: scale(1)
}
}
@keyframes pop {
0% {
transform: scale(0)
}
70% {
transform: scale(1.8)
}
80% {
transform: scale(.6)
}
100% {
transform: scale(1)
}
}
</style>
</head>
<body class="no-selection">
<script type="text/javascript">
/* { "version": "1", "hash": "MEUCIBgs7vxiQv6kOCDwb1xVfN7E4gUP/XRBGYKSt99V16jcAiEAyiao24Z7raHx+TC9yFbWZ8y4yHTbAY95ItYWmzEwPtE=" } */
/* https://hcaptcha.com/license */
!function() {
"use strict";
function t(t) {
var e = this.constructor;
return this.then((function(i) {
return e.resolve(t()).then((function() {
return i
}
))
}
), (function(i) {
return e.resolve(t()).then((function() {
return e.reject(i)
}
))
}
))
}
function e(t) {
return new this((function(e, i) {
if (!t || "undefined" == typeof t.length)
return i(new TypeError(typeof t + " " + t + " is not iterable(cannot read property Symbol(Symbol.iterator))"));
var n = Array.prototype.slice.call(t);
if (0 === n.length)
return e([]);
var o = n.length;
function r(t, i) {
if (i && ("object" == typeof i || "function" == typeof i)) {
var s = i.then;
if ("function" == typeof s)
return void s.call(i, (function(e) {
r(t, e)
}
), (function(i) {
n[t] = {
status: "rejected",
reason: i
},
0 == --o && e(n)
}
))
}
n[t] = {
status: "fulfilled",
value: i
},
0 == --o && e(n)
}
for (var s = 0; s < n.length; s++)
r(s, n[s])
}
))
}
var i = setTimeout
, n = "undefined" != typeof setImmediate ? setImmediate : null;
function o(t) {
return Boolean(t && "undefined" != typeof t.length)
}
function r() {}
function s(t) {
if (!(this instanceof s))
throw new TypeError("Promises must be constructed via new");
if ("function" != typeof t)
throw new TypeError("not a function");
this._state = 0,
this._handled = !1,
this._value = undefined,
this._deferreds = [],
p(t, this)
}
function a(t, e) {
for (; 3 === t._state; )
t = t._value;
0 !== t._state ? (t._handled = !0,
s._immediateFn((function() {
var i = 1 === t._state ? e.onFulfilled : e.onRejected;
if (null !== i) {
var n;
try {
n = i(t._value)
} catch (o) {
return void h(e.promise, o)
}
l(e.promise, n)
} else
(1 === t._state ? l : h)(e.promise, t._value)
}
))) : t._deferreds.push(e)
}
function l(t, e) {
try {
if (e === t)
throw new TypeError("A promise cannot be resolved with itself.");
if (e && ("object" == typeof e || "function" == typeof e)) {
var i = e.then;
if (e instanceof s)
return t._state = 3,
t._value = e,
void c(t);
if ("function" == typeof i)
return void p((n = i,
o = e,
function() {
n.apply(o, arguments)
}
), t)
}
t._state = 1,
t._value = e,
c(t)
} catch (r) {
h(t, r)
}
var n, o
}
function h(t, e) {
t._state = 2,
t._value = e,
c(t)
}
function c(t) {
2 === t._state && 0 === t._deferreds.length && s._immediateFn((function() {
t._handled || s._unhandledRejectionFn(t._value)
}
));
for (var e = 0, i = t._deferreds.length; e < i; e++)
a(t, t._deferreds[e]);
t._deferreds = null
}
function u(t, e, i) {
this.onFulfilled = "function" == typeof t ? t : null,
this.onRejected = "function" == typeof e ? e : null,
this.promise = i
}
function p(t, e) {
var i = !1;
try {
t((function(t) {
i || (i = !0,
l(e, t))
}
), (function(t) {
i || (i = !0,
h(e, t))
}
))
} catch (n) {
if (i)
return;
i = !0,
h(e, n)
}
}
s.prototype["catch"] = function(t) {
return this.then(null, t)
}
,
s.prototype.then = function(t, e) {
var i = new this.constructor(r);
return a(this, new u(t,e,i)),
i
}
,
s.prototype["finally"] = t,
s.all = function(t) {
return new s((function(e, i) {
if (!o(t))
return i(new TypeError("Promise.all accepts an array"));
var n = Array.prototype.slice.call(t);
if (0 === n.length)
return e([]);
var r = n.length;
function s(t, o) {
try {
if (o && ("object" == typeof o || "function" == typeof o)) {
var a = o.then;
if ("function" == typeof a)
return void a.call(o, (function(e) {
s(t, e)
}
), i)
}
n[t] = o,
0 == --r && e(n)
} catch (l) {
i(l)
}
}
for (var a = 0; a < n.length; a++)
s(a, n[a])
}
))
}
,
s.allSettled = e,
s.resolve = function(t) {
return t && "object" == typeof t && t.constructor === s ? t : new s((function(e) {
e(t)
}
))
}
,
s.reject = function(t) {
return new s((function(e, i) {
i(t)
}
))
}
,
s.race = function(t) {
return new s((function(e, i) {
if (!o(t))
return i(new TypeError("Promise.race accepts an array"));
for (var n = 0, r = t.length; n < r; n++)
s.resolve(t[n]).then(e, i)
}
))
}
,
s._immediateFn = "function" == typeof n && function(t) {
n(t)
}
|| function(t) {
i(t, 0)
}
,
s._unhandledRejectionFn = function(t) {
"undefined" != typeof console && console && console.warn("Possible Unhandled Promise Rejection:", t)
}
;
var d = function() {
if ("undefined" != typeof self)
return self;
if ("undefined" != typeof window)
return window;
if ("undefined" != typeof global)
return global;
throw new Error("unable to locate global object")
}();
function f(t, e, i) {
return e <= t && t <= i
}
function m(t) {
if (t === undefined)
return {};
if (t === Object(t))
return t;
throw TypeError("Could not convert argument to dictionary")
}
"function" != typeof d.Promise ? d.Promise = s : (d.Promise.prototype["finally"] || (d.Promise.prototype["finally"] = t),
d.Promise.allSettled || (d.Promise.allSettled = e));
var y = function(t) {
return t >= 0 && t <= 127
}
, g = -1;
function b(t) {
this.tokens = [].slice.call(t),
this.tokens.reverse()
}
b.prototype = {
endOfStream: function() {
return !this.tokens.length
},
read: function() {
return this.tokens.length ? this.tokens.pop() : g
},
prepend: function(t) {
if (Array.isArray(t))
for (var e = t; e.length; )
this.tokens.push(e.pop());
else
this.tokens.push(t)
},
push: function(t) {
if (Array.isArray(t))
for (var e = t; e.length; )
this.tokens.unshift(e.shift());
else
this.tokens.unshift(t)
}
};
var v = -1;
function w(t, e) {
if (t)
throw TypeError("Decoder error");
return e || 65533
}
function V(t) {
return t = String(t).trim().toLowerCase(),
Object.prototype.hasOwnProperty.call(x, t) ? x[t] : null
}
var x = {};
[{
encodings: [{
labels: ["unicode-1-1-utf-8", "utf-8", "utf8"],
name: "UTF-8"
}],
heading: "The Encoding"
}].forEach((function(t) {
t.encodings.forEach((function(t) {
t.labels.forEach((function(e) {
x[e] = t
}
))
}
))
}
));
var k, E = {
"UTF-8": function(t) {
return new _(t)
}
}, A = {
"UTF-8": function(t) {
return new T(t)
}
}, C = "utf-8";
function S(t, e) {
if (!(this instanceof S))
throw TypeError("Called as a function. Did you forget 'new'?");
t = t !== undefined ? String(t) : C,
e = m(e),
this._encoding = null,
this._decoder = null,
this._ignoreBOM = !1,
this._BOMseen = !1,
this._error_mode = "replacement",
this._do_not_flush = !1;
var i = V(t);
if (null === i || "replacement" === i.name)
throw RangeError("Unknown encoding: " + t);
if (!A[i.name])
throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");
var n = this;
return n._encoding = i,
e.fatal && (n._error_mode = "fatal"),
e.ignoreBOM && (n._ignoreBOM = !0),
Object.defineProperty || (this.encoding = n._encoding.name.toLowerCase(),
this.fatal = "fatal" === n._error_mode,
this.ignoreBOM = n._ignoreBOM),
n
}
function R(t, e) {
if (!(this instanceof R))
throw TypeError("Called as a function. Did you forget 'new'?");
e = m(e),
this._encoding = null,
this._encoder = null,
this._do_not_flush = !1,
this._fatal = e.fatal ? "fatal" : "replacement";
var i = this;
if (e.NONSTANDARD_allowLegacyEncoding) {
var n = V(t = t !== undefined ? String(t) : C);
if (null === n || "replacement" === n.name)
throw RangeError("Unknown encoding: " + t);
if (!E[n.name])
throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");
i._encoding = n
} else
i._encoding = V("utf-8");
return Object.defineProperty || (this.encoding = i._encoding.name.toLowerCase()),
i
}
function T(t) {
var e = t.fatal
, i = 0
, n = 0
, o = 0
, r = 128
, s = 191;
this.handler = function(t, a) {
if (a === g && 0 !== o)
return o = 0,
w(e);
if (a === g)
return v;
if (0 === o) {
if (f(a, 0, 127))
return a;
if (f(a, 194, 223))
o = 1,
i = 31 & a;
else if (f(a, 224, 239))
224 === a && (r = 160),
237 === a && (s = 159),
o = 2,
i = 15 & a;
else {
if (!f(a, 240, 244))
return w(e);
240 === a && (r = 144),
244 === a && (s = 143),
o = 3,
i = 7 & a
}
return null
}
if (!f(a, r, s))
return i = o = n = 0,
r = 128,
s = 191,
t.prepend(a),
w(e);
if (r = 128,
s = 191,
i = i << 6 | 63 & a,
(n += 1) !== o)
return null;
var l = i;
return i = o = n = 0,
l
}
}
function _(t) {
t.fatal;
this.handler = function(t, e) {
if (e === g)
return v;
if (y(e))
return e;
var i, n;
f(e, 128, 2047) ? (i = 1,
n = 192) : f(e, 2048, 65535) ? (i = 2,
n = 224) : f(e, 65536, 1114111) && (i = 3,
n = 240);
for (var o = [(e >> 6 * i) + n]; i > 0; ) {
var r = e >> 6 * (i - 1);
o.push(128 | 63 & r),
i -= 1
}
return o
}
}
Object.defineProperty && (Object.defineProperty(S.prototype, "encoding", {
get: function() {
return this._encoding.name.toLowerCase()
}
}),
Object.defineProperty(S.prototype, "fatal", {
get: function() {
return "fatal" === this._error_mode
}
}),
Object.defineProperty(S.prototype, "ignoreBOM", {
get: function() {
return this._ignoreBOM
}
})),
S.prototype.decode = function(t, e) {
var i;
i = "object" == typeof t && t instanceof ArrayBuffer ? new Uint8Array(t) : "object" == typeof t && "buffer"in t && t.buffer instanceof ArrayBuffer ? new Uint8Array(t.buffer,t.byteOffset,t.byteLength) : new Uint8Array(0),
e = m(e),
this._do_not_flush || (this._decoder = A[this._encoding.name]({
fatal: "fatal" === this._error_mode
}),
this._BOMseen = !1),
this._do_not_flush = Boolean(e.stream);
for (var n, o = new b(i), r = []; ; ) {
var s = o.read();
if (s === g)
break;
if ((n = this._decoder.handler(o, s)) === v)
break;
null !== n && (Array.isArray(n) ? r.push.apply(r, n) : r.push(n))
}
if (!this._do_not_flush) {
do {
if ((n = this._decoder.handler(o, o.read())) === v)
break;
null !== n && (Array.isArray(n) ? r.push.apply(r, n) : r.push(n))
} while (!o.endOfStream());
this._decoder = null
}
return function(t) {
var e, i;
return e = ["UTF-8", "UTF-16LE", "UTF-16BE"],
i = this._encoding.name,
-1 === e.indexOf(i) || this._ignoreBOM || this._BOMseen || (t.length > 0 && 65279 === t[0] ? (this._BOMseen = !0,
t.shift()) : t.length > 0 && (this._BOMseen = !0)),
function(t) {
for (var e = "", i = 0; i < t.length; ++i) {
var n = t[i];
n <= 65535 ? e += String.fromCharCode(n) : (n -= 65536,
e += String.fromCharCode(55296 + (n >> 10), 56320 + (1023 & n)))
}
return e
}(t)
}
.call(this, r)
}
,
Object.defineProperty && Object.defineProperty(R.prototype, "encoding", {
get: function() {
return this._encoding.name.toLowerCase()
}
}),
R.prototype.encode = function(t, e) {
t = t === undefined ? "" : String(t),
e = m(e),
this._do_not_flush || (this._encoder = E[this._encoding.name]({
fatal: "fatal" === this._fatal
})),
this._do_not_flush = Boolean(e.stream);
for (var i, n = new b(function(t) {
for (var e = String(t), i = e.length, n = 0, o = []; n < i; ) {
var r = e.charCodeAt(n);
if (r < 55296 || r > 57343)
o.push(r);
else if (r >= 56320 && r <= 57343)
o.push(65533);
else if (r >= 55296 && r <= 56319)
if (n === i - 1)
o.push(65533);
else {
var s = e.charCodeAt(n + 1);
if (s >= 56320 && s <= 57343) {
var a = 1023 & r
, l = 1023 & s;
o.push(65536 + (a << 10) + l),
n += 1
} else
o.push(65533)
}
n += 1
}
return o
}(t)), o = []; ; ) {
var r = n.read();
if (r === g)
break;
if ((i = this._encoder.handler(n, r)) === v)
break;
Array.isArray(i) ? o.push.apply(o, i) : o.push(i)
}
if (!this._do_not_flush) {
for (; (i = this._encoder.handler(n, n.read())) !== v; )
Array.isArray(i) ? o.push.apply(o, i) : o.push(i);
this._encoder = null
}
return new Uint8Array(o)
}
,
window.TextDecoder || (window.TextDecoder = S),
window.TextEncoder || (window.TextEncoder = R),
function(t) {
if ("function" != typeof Promise)
throw "Promise support required";
var e = t.crypto || t.msCrypto;
if (e) {
var i = e.subtle || e.webkitSubtle;
if (i) {
var n = t.Crypto || e.constructor || Object
, o = t.SubtleCrypto || i.constructor || Object
, r = (t.CryptoKey || t.Key,
t.navigator.userAgent.indexOf("Edge/") > -1)
, s = !!t.msCrypto && !r
, a = !e.subtle && !!e.webkitSubtle;
if (s || a) {
var l = {
KoZIhvcNAQEB: "1.2.840.113549.1.1.1"
}
, h = {
"1.2.840.113549.1.1.1": "KoZIhvcNAQEB"
};
if (["generateKey", "importKey", "unwrapKey"].forEach((function(t) {
var n = i[t];
i[t] = function(o, r, l) {
var h, c, u, f, w = [].slice.call(arguments);
switch (t) {
case "generateKey":
h = m(o),
c = r,
u = l;
break;
case "importKey":
h = m(l),
c = w[3],
u = w[4],
"jwk" === o && ((r = g(r)).alg || (r.alg = y(h)),
r.key_ops || (r.key_ops = "oct" !== r.kty ? "d"in r ? u.filter(A) : u.filter(E) : u.slice()),
w[1] = b(r));
break;
case "unwrapKey":
h = w[4],
c = w[5],
u = w[6],
w[2] = l._key
}
if ("generateKey" === t && "HMAC" === h.name && h.hash)
return h.length = h.length || {
"SHA-1": 512,
"SHA-256": 512,
"SHA-384": 1024,
"SHA-512": 1024
}[h.hash.name],
i.importKey("raw", e.getRandomValues(new Uint8Array(h.length + 7 >> 3)), h, c, u);
if (a && "generateKey" === t && "RSASSA-PKCS1-v1_5" === h.name && (!h.modulusLength || h.modulusLength >= 2048))
return (o = m(o)).name = "RSAES-PKCS1-v1_5",
delete o.hash,
i.generateKey(o, !0, ["encrypt", "decrypt"]).then((function(t) {
return Promise.all([i.exportKey("jwk", t.publicKey), i.exportKey("jwk", t.privateKey)])
}
)).then((function(t) {
return t[0].alg = t[1].alg = y(h),
t[0].key_ops = u.filter(E),
t[1].key_ops = u.filter(A),
Promise.all([i.importKey("jwk", t[0], h, !0, t[0].key_ops), i.importKey("jwk", t[1], h, c, t[1].key_ops)])
}
)).then((function(t) {
return {
publicKey: t[0],
privateKey: t[1]
}
}
));
if ((a || s && "SHA-1" === (h.hash || {}).name) && "importKey" === t && "jwk" === o && "HMAC" === h.name && "oct" === r.kty)
return i.importKey("raw", d(p(r.k)), l, w[3], w[4]);
if (a && "importKey" === t && ("spki" === o || "pkcs8" === o))
return i.importKey("jwk", v(r), l, w[3], w[4]);
if (s && "unwrapKey" === t)
return i.decrypt(w[3], l, r).then((function(t) {
return i.importKey(o, t, w[4], w[5], w[6])
}
));
try {
f = n.apply(i, w)
} catch (V) {
return Promise.reject(V)
}
return s && (f = new Promise((function(t, e) {
f.onabort = f.onerror = function(t) {
e(t)
}
,
f.oncomplete = function(e) {
t(e.target.result)
}
}
))),
f = f.then((function(t) {
return "HMAC" === h.name && (h.length || (h.length = 8 * t.algorithm.length)),
0 == h.name.search("RSA") && (h.modulusLength || (h.modulusLength = (t.publicKey || t).algorithm.modulusLength),
h.publicExponent || (h.publicExponent = (t.publicKey || t).algorithm.publicExponent)),
t = t.publicKey && t.privateKey ? {
publicKey: new k(t.publicKey,h,c,u.filter(E)),
privateKey: new k(t.privateKey,h,c,u.filter(A))
} : new k(t,h,c,u)
}
))
}
}
)),
["exportKey", "wrapKey"].forEach((function(t) {
var e = i[t];
i[t] = function(n, o, r) {
var l, h = [].slice.call(arguments);
switch (t) {
case "exportKey":
h[1] = o._key;
break;
case "wrapKey":
h[1] = o._key,
h[2] = r._key
}
if ((a || s && "SHA-1" === (o.algorithm.hash || {}).name) && "exportKey" === t && "jwk" === n && "HMAC" === o.algorithm.name && (h[0] = "raw"),
!a || "exportKey" !== t || "spki" !== n && "pkcs8" !== n || (h[0] = "jwk"),
s && "wrapKey" === t)
return i.exportKey(n, o).then((function(t) {
return "jwk" === n && (t = d(unescape(encodeURIComponent(JSON.stringify(g(t)))))),
i.encrypt(h[3], r, t)
}
));
try {
l = e.apply(i, h)
} catch (c) {
return Promise.reject(c)
}
return s && (l = new Promise((function(t, e) {
l.onabort = l.onerror = function(t) {
e(t)
}
,
l.oncomplete = function(e) {
t(e.target.result)
}
}
))),
"exportKey" === t && "jwk" === n && (l = l.then((function(t) {
return (a || s && "SHA-1" === (o.algorithm.hash || {}).name) && "HMAC" === o.algorithm.name ? {
kty: "oct",
alg: y(o.algorithm),
key_ops: o.usages.slice(),
ext: !0,
k: u(f(t))
} : ((t = g(t)).alg || (t.alg = y(o.algorithm)),
t.key_ops || (t.key_ops = "public" === o.type ? o.usages.filter(E) : "private" === o.type ? o.usages.filter(A) : o.usages.slice()),
t)
}
))),
!a || "exportKey" !== t || "spki" !== n && "pkcs8" !== n || (l = l.then((function(t) {
return t = w(g(t))
}
))),
l
}
}
)),
["encrypt", "decrypt", "sign", "verify"].forEach((function(t) {
var e = i[t];
i[t] = function(n, o, r, a) {
if (s && (!r.byteLength || a && !a.byteLength))
throw new Error("Empty input is not allowed");
var l, h = [].slice.call(arguments), c = m(n);
if (!s || "sign" !== t && "verify" !== t || "RSASSA-PKCS1-v1_5" !== n && "HMAC" !== n || (h[0] = {
name: n
}),
s && o.algorithm.hash && (h[0].hash = h[0].hash || o.algorithm.hash),
s && "decrypt" === t && "AES-GCM" === c.name) {
var u = n.tagLength >> 3;
h[2] = (r.buffer || r).slice(0, r.byteLength - u),
n.tag = (r.buffer || r).slice(r.byteLength - u)
}
s && "AES-GCM" === c.name && h[0].tagLength === undefined && (h[0].tagLength = 128),
h[1] = o._key;
try {
l = e.apply(i, h)
} catch (p) {
return Promise.reject(p)
}
return s && (l = new Promise((function(e, i) {
l.onabort = l.onerror = function(t) {
i(t)
}
,
l.oncomplete = function(i) {
i = i.target.result;
if ("encrypt" === t && i instanceof AesGcmEncryptResult) {
var n = i.ciphertext
, o = i.tag;
(i = new Uint8Array(n.byteLength + o.byteLength)).set(new Uint8Array(n), 0),
i.set(new Uint8Array(o), n.byteLength),
i = i.buffer
}
e(i)
}
}
))),
l
}
}
)),
s) {
var c = i.digest;
i.digest = function(t, e) {
if (!e.byteLength)
throw new Error("Empty input is not allowed");
var n;
try {
n = c.call(i, t, e)
} catch (o) {
return Promise.reject(o)
}
return n = new Promise((function(t, e) {
n.onabort = n.onerror = function(t) {
e(t)
}
,
n.oncomplete = function(e) {
t(e.target.result)
}
}
)),
n
}
,
t.crypto = Object.create(e, {
getRandomValues: {
value: function(t) {
return e.getRandomValues(t)
}
},
subtle: {
value: i
}
}),
t.CryptoKey = k
}
a && (e.subtle = i,
t.Crypto = n,
t.SubtleCrypto = o,
t.CryptoKey = k)
}
}
}
function u(t) {
return btoa(t).replace(/\=+$/, "").replace(/\+/g, "-").replace(/\//g, "_")
}
function p(t) {
return t = (t += "===").slice(0, -t.length % 4),
atob(t.replace(/-/g, "+").replace(/_/g, "/"))
}
function d(t) {
for (var e = new Uint8Array(t.length), i = 0; i < t.length; i++)
e[i] = t.charCodeAt(i);
return e
}
function f(t) {
return t instanceof ArrayBuffer && (t = new Uint8Array(t)),
String.fromCharCode.apply(String, t)
}
function m(t) {
var e = {
name: (t.name || t || "").toUpperCase().replace("V", "v")
};
switch (e.name) {
case "SHA-1":
case "SHA-256":
case "SHA-384":
case "SHA-512":
break;
case "AES-CBC":
case "AES-GCM":
case "AES-KW":
t.length && (e.length = t.length);
break;
case "HMAC":
t.hash && (e.hash = m(t.hash)),
t.length && (e.length = t.length);
break;
case "RSAES-PKCS1-v1_5":
t.publicExponent && (e.publicExponent = new Uint8Array(t.publicExponent)),
t.modulusLength && (e.modulusLength = t.modulusLength);
break;
case "RSASSA-PKCS1-v1_5":
case "RSA-OAEP":
t.hash && (e.hash = m(t.hash)),
t.publicExponent && (e.publicExponent = new Uint8Array(t.publicExponent)),
t.modulusLength && (e.modulusLength = t.modulusLength);
break;
default:
throw new SyntaxError("Bad algorithm name")
}
return e
}
function y(t) {
return {
HMAC: {
"SHA-1": "HS1",
"SHA-256": "HS256",
"SHA-384": "HS384",
"SHA-512": "HS512"
},
"RSASSA-PKCS1-v1_5": {
"SHA-1": "RS1",
"SHA-256": "RS256",
"SHA-384": "RS384",
"SHA-512": "RS512"
},
"RSAES-PKCS1-v1_5": {
"": "RSA1_5"
},
"RSA-OAEP": {
"SHA-1": "RSA-OAEP",
"SHA-256": "RSA-OAEP-256"
},
"AES-KW": {
128: "A128KW",
192: "A192KW",
256: "A256KW"
},
"AES-GCM": {
128: "A128GCM",
192: "A192GCM",
256: "A256GCM"
},
"AES-CBC": {
128: "A128CBC",
192: "A192CBC",
256: "A256CBC"
}
}[t.name][(t.hash || {}).name || t.length || ""]
}
function g(t) {
(t instanceof ArrayBuffer || t instanceof Uint8Array) && (t = JSON.parse(decodeURIComponent(escape(f(t)))));
var e = {
kty: t.kty,
alg: t.alg,
ext: t.ext || t.extractable
};
switch (e.kty) {
case "oct":
e.k = t.k;
case "RSA":
["n", "e", "d", "p", "q", "dp", "dq", "qi", "oth"].forEach((function(i) {
i in t && (e[i] = t[i])
}
));
break;
default:
throw new TypeError("Unsupported key type")
}
return e
}
function b(t) {
var e = g(t);
return s && (e.extractable = e.ext,
delete e.ext),
d(unescape(encodeURIComponent(JSON.stringify(e)))).buffer
}
function v(t) {
var e = V(t)
, i = !1;
e.length > 2 && (i = !0,
e.shift());
var n = {
ext: !0
};
if ("1.2.840.113549.1.1.1" !== e[0][0])
throw new TypeError("Unsupported key type");
var o = ["n", "e", "d", "p", "q", "dp", "dq", "qi"]
, r = V(e[1]);
i && r.shift();
for (var s = 0; s < r.length; s++)
r[s][0] || (r[s] = r[s].subarray(1)),
n[o[s]] = u(f(r[s]));
return n.kty = "RSA",
n
}
function w(t) {
var e, i = [["", null]], n = !1;
if ("RSA" !== t.kty)
throw new TypeError("Unsupported key type");
for (var o = ["n", "e", "d", "p", "q", "dp", "dq", "qi"], r = [], s = 0; s < o.length && o[s]in t; s++) {
var a = r[s] = d(p(t[o[s]]));
128 & a[0] && (r[s] = new Uint8Array(a.length + 1),
r[s].set(a, 1))
}
return r.length > 2 && (n = !0,
r.unshift(new Uint8Array([0]))),
i[0][0] = "1.2.840.113549.1.1.1",
e = r,
i.push(new Uint8Array(x(e)).buffer),
n ? i.unshift(new Uint8Array([0])) : i[1] = {
tag: 3,
value: i[1]
},
new Uint8Array(x(i)).buffer
}
function V(t, e) {
if (t instanceof ArrayBuffer && (t = new Uint8Array(t)),
e || (e = {
pos: 0,
end: t.length
}),
e.end - e.pos < 2 || e.end > t.length)
throw new RangeError("Malformed DER");
var i, n = t[e.pos++], o = t[e.pos++];
if (o >= 128) {
if (o &= 127,
e.end - e.pos < o)
throw new RangeError("Malformed DER");
for (var r = 0; o--; )
r <<= 8,
r |= t[e.pos++];
o = r
}
if (e.end - e.pos < o)
throw new RangeError("Malformed DER");
switch (n) {
case 2:
i = t.subarray(e.pos, e.pos += o);
break;
case 3:
if (t[e.pos++])
throw new Error("Unsupported bit string");
o--;
case 4:
i = new Uint8Array(t.subarray(e.pos, e.pos += o)).buffer;
break;
case 5:
i = null;
break;
case 6:
var s = btoa(f(t.subarray(e.pos, e.pos += o)));
if (!(s in l))
throw new Error("Unsupported OBJECT ID " + s);
i = l[s];
break;
case 48:
i = [];
for (var a = e.pos + o; e.pos < a; )
i.push(V(t, e));
break;
default:
throw new Error("Unsupported DER tag 0x" + n.toString(16))
}
return i
}
function x(t, e) {
e || (e = []);
var i = 0
, n = 0
, o = e.length + 2;
if (e.push(0, 0),
t instanceof Uint8Array) {
i = 2,
n = t.length;
for (var r = 0; r < n; r++)
e.push(t[r])
} else if (t instanceof ArrayBuffer) {
i = 4,
n = t.byteLength,
t = new Uint8Array(t);
for (r = 0; r < n; r++)
e.push(t[r])
} else if (null === t)
i = 5,
n = 0;
else if ("string" == typeof t && t in h) {
var s = d(atob(h[t]));
i = 6,
n = s.length;
for (r = 0; r < n; r++)
e.push(s[r])
} else if (t instanceof Array) {
for (r = 0; r < t.length; r++)
x(t[r], e);
i = 48,
n = e.length - o
} else {
if (!("object" == typeof t && 3 === t.tag && t.value instanceof ArrayBuffer))
throw new Error("Unsupported DER value " + t);
i = 3,
n = (t = new Uint8Array(t.value)).byteLength,
e.push(0);
for (r = 0; r < n; r++)
e.push(t[r]);
n++
}
if (n >= 128) {
var a = n;
n = 4;
for (e.splice(o, 0, a >> 24 & 255, a >> 16 & 255, a >> 8 & 255, 255 & a); n > 1 && !(a >> 24); )
a <<= 8,
n--;
n < 4 && e.splice(o, 4 - n),
n |= 128
}
return e.splice(o - 2, 2, i, n),
e
}
function k(t, e, i, n) {
Object.defineProperties(this, {
_key: {
value: t
},
type: {
value: t.type,
enumerable: !0
},
extractable: {
value: i === undefined ? t.extractable : i,
enumerable: !0
},
algorithm: {
value: e === undefined ? t.algorithm : e,
enumerable: !0
},
usages: {
value: n === undefined ? t.usages : n,
enumerable: !0
}
})
}
function E(t) {
return "verify" === t || "encrypt" === t || "wrapKey" === t
}
function A(t) {
return "sign" === t || "decrypt" === t || "unwrapKey" === t
}
}(window),
Array.prototype.indexOf || (Array.prototype.indexOf = function(t) {
return function(e, i) {
if (null === this || this === undefined)
throw TypeError("Array.prototype.indexOf called on null or undefined");
var n = t(this)
, o = n.length >>> 0
, r = Math.min(0 | i, o);
if (r < 0)
r = Math.max(0, o + r);
else if (r >= o)
return -1;
if (void 0 === e) {
for (; r !== o; ++r)
if (void 0 === n[r] && r in n)
return r
} else if (e != e) {
for (; r !== o; ++r)
if (n[r] != n[r])
return r
} else
for (; r !== o; ++r)
if (n[r] === e)
return r;
return -1
}
}(Object)),
Array.isArray || (Array.isArray = function(t) {
return "[object Array]" === Object.prototype.toString.call(t)
}
),
document.getElementsByClassName || (window.Element.prototype.getElementsByClassName = document.constructor.prototype.getElementsByClassName = function(t) {
if (document.querySelectorAll)
return document.querySelectorAll("." + t);
for (var e = document.getElementsByTagName("*"), i = new RegExp("(^|\\s)" + t + "(\\s|$)"), n = [], o = 0; o < e.length; o++)
i.test(e[o].className) && n.push(e[o]);
return n
}
),
String.prototype.startsWith || (String.prototype.startsWith = function(t, e) {
return this.substr(!e || e < 0 ? 0 : +e, t.length) === t
}
),
String.prototype.endsWith || (String.prototype.endsWith = function(t, e) {
return (e === undefined || e > this.length) && (e = this.length),
this.substring(e - t.length, e) === t
}
);
try {
if (Object.defineProperty && Object.getOwnPropertyDescriptor && Object.getOwnPropertyDescriptor(Element.prototype, "textContent") && !Object.getOwnPropertyDescriptor(Element.prototype, "textContent").get) {
var U = Object.getOwnPropertyDescriptor(Element.prototype, "innerText");
Object.defineProperty(Element.prototype, "textContent", {
get: function() {
return U.get.call(this)
},
set: function(t) {
U.set.call(this, t)
}
})
}
} catch (Fs) {}
Function.prototype.bind || (Function.prototype.bind = function(t) {
if ("function" != typeof this)
throw new TypeError("Function.prototype.bind: Item Can Not Be Bound.");
var e = Array.prototype.slice.call(arguments, 1)
, i = this
, n = function() {}
, o = function() {
return i.apply(this instanceof n ? this : t, e.concat(Array.prototype.slice.call(arguments)))
};
return this.prototype && (n.prototype = this.prototype),
o.prototype = new n,
o
}
),
"function" != typeof Object.create && (Object.create = function(t, e) {
function i() {}
if (i.prototype = t,
"object" == typeof e)
for (var n in e)
e.hasOwnProperty(n) && (i[n] = e[n]);
return new i
}
),
Date.now || (Date.now = function() {
return (new Date).getTime()
}
),
window.console || (window.console = {});
for (var M, L, W, F, Z = ["error", "info", "log", "show", "table", "trace", "warn"], O = function(t) {}, B = Z.length; --B > -1; )
k = Z[B],
window.console[k] || (window.console[k] = O);
if (window.atob)
try {
window.atob(" ")
} catch (Zs) {
window.atob = function(t) {
var e = function(e) {
return t(String(e).replace(/[\t\n\f\r ]+/g, ""))
};
return e.original = t,
e
}(window.atob)
}
else {
var N = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
, P = /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/;
window.atob = function(t) {
if (t = String(t).replace(/[\t\n\f\r ]+/g, ""),
!P.test(t))
throw new TypeError("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");
var e, i, n;
t += "==".slice(2 - (3 & t.length));
for (var o = "", r = 0; r < t.length; )
e = N.indexOf(t.charAt(r++)) << 18 | N.indexOf(t.charAt(r++)) << 12 | (i = N.indexOf(t.charAt(r++))) << 6 | (n = N.indexOf(t.charAt(r++))),
o += 64 === i ? String.fromCharCode(e >> 16 & 255) : 64 === n ? String.fromCharCode(e >> 16 & 255, e >> 8 & 255) : String.fromCharCode(e >> 16 & 255, e >> 8 & 255, 255 & e);
return o
}
}
if (Event.prototype.preventDefault || (Event.prototype.preventDefault = function() {
this.returnValue = !1
}
),
Event.prototype.stopPropagation || (Event.prototype.stopPropagation = function() {
this.cancelBubble = !0
}
),
window.Prototype && Array.prototype.toJSON) {
console.error("[hCaptcha] Custom JSON polyfill detected, please remove to ensure hCaptcha works properly");
var H = Array.prototype.toJSON
, J = JSON.stringify;
JSON.stringify = function(t) {
try {
return delete Array.prototype.toJSON,
J(t)
} finally {
Array.prototype.toJSON = H
}
}
}
if (Object.keys || (Object.keys = (M = Object.prototype.hasOwnProperty,
L = !Object.prototype.propertyIsEnumerable.call({
toString: null
}, "toString"),
F = (W = ["toString", "toLocaleString", "valueOf", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "constructor"]).length,
function(t) {
if ("function" != typeof t && ("object" != typeof t || null === t))
throw new TypeError("Object.keys called on non-object");
var e, i, n = [];
for (e in t)
M.call(t, e) && n.push(e);
if (L)
for (i = 0; i < F; i++)
M.call(t, W[i]) && n.push(W[i]);
return n
}
)),
!Uint8Array.prototype.slice)
try {
Object.defineProperty(Uint8Array.prototype, "slice", {
value: function(t, e) {
return new Uint8Array(Array.prototype.slice.call(this, t, e))
},
writable: !0
})
} catch (Zs) {
if ("function" != typeof Uint8Array.prototype.slice)
try {
Uint8Array.prototype.slice = function(t, e) {
return new Uint8Array(Array.prototype.slice.call(this, t, e))
}
} catch (Os) {}
}
/*! Raven.js 3.27.2 (6d91db933) | github.com/getsentry/raven-js */
!function(t) {
if ("object" == typeof exports && "undefined" != typeof module)
module.exports = t();
else if ("function" == typeof define && define.amd)
define("raven-js", t);
else {
("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).Raven = t()
}
}((function() {
return function t(e, i, n) {
function o(s, a) {
if (!i[s]) {
if (!e[s]) {
var l = "function" == typeof require && require;
if (!a && l)
return l(s, !0);
if (r)
return r(s, !0);
var h = new Error("Cannot find module '" + s + "'");
throw h.code = "MODULE_NOT_FOUND",
h
}
var c = i[s] = {
exports: {}
};
e[s][0].call(c.exports, (function(t) {
var i = e[s][1][t];
return o(i || t)
}
), c, c.exports, t, e, i, n)
}
return i[s].exports
}
for (var r = "function" == typeof require && require, s = 0; s < n.length; s++)
o(n[s]);
return o
}({
1: [function(t, e, i) {
function n(t) {
this.name = "RavenConfigError",
this.message = t
}
n.prototype = new Error,
n.prototype.constructor = n,
e.exports = n
}
, {}],
2: [function(t, e, i) {
var n = t(5);
e.exports = {
wrapMethod: function(t, e, i) {
var o = t[e]
, r = t;
if (e in t) {
var s = "warn" === e ? "warning" : e;
t[e] = function() {
var t = [].slice.call(arguments)
, a = n.safeJoin(t, " ")
, l = {
level: s,
logger: "console",
extra: {
arguments: t
}
};
"assert" === e ? !1 === t[0] && (a = "Assertion failed: " + (n.safeJoin(t.slice(1), " ") || "console.assert"),
l.extra.arguments = t.slice(1),
i && i(a, l)) : i && i(a, l),
o && Function.prototype.apply.call(o, r, t)
}
}
}
}
}
, {
5: 5
}],
3: [function(t, e, i) {
(function(i) {
function n() {
return +new Date
}
function o(t, e) {
return b(e) ? function(i) {
return e(i, t)
}
: e
}
function r() {
for (var t in this.a = !("object" != typeof JSON || !JSON.stringify),
this.b = !g(K),
this.c = !g(D),
this.d = null,
this.e = null,
this.f = null,
this.g = null,
this.h = null,
this.i = null,
this.j = {},
this.k = {
release: I.SENTRY_RELEASE && I.SENTRY_RELEASE.id,
logger: "javascript",
ignoreErrors: [],
ignoreUrls: [],
whitelistUrls: [],
includePaths: [],
headers: null,
collectWindowErrors: !0,
captureUnhandledRejections: !0,
maxMessageLength: 0,
maxUrlLength: 250,
stackTraceLimit: 50,
autoBreadcrumbs: !0,
instrument: !0,
sampleRate: 1,
sanitizeKeys: []
},
this.l = {
method: "POST",
referrerPolicy: Z() ? "origin" : ""
},
this.m = 0,
this.n = !1,
this.o = Error.stackTraceLimit,
this.p = I.console || {},
this.q = {},
this.r = [],
this.s = n(),
this.t = [],
this.u = [],
this.v = null,
this.w = I.location,
this.x = this.w && this.w.href,
this.y(),
this.p)
this.q[t] = this.p[t]
}
var s = t(6)
, a = t(7)
, l = t(8)
, h = t(1)
, c = t(5)
, u = c.isErrorEvent
, p = c.isDOMError
, d = c.isDOMException
, f = c.isError
, m = c.isObject
, y = c.isPlainObject
, g = c.isUndefined
, b = c.isFunction
, v = c.isString
, w = c.isArray
, V = c.isEmptyObject
, x = c.each
, k = c.objectMerge
, E = c.truncate
, A = c.objectFrozen
, C = c.hasKey
, S = c.joinRegExp
, R = c.urlencode
, T = c.uuid4
, _ = c.htmlTreeAsString
, U = c.isSameException
, M = c.isSameStacktrace
, L = c.parseUrl
, W = c.fill
, F = c.supportsFetch
, Z = c.supportsReferrerPolicy
, O = c.serializeKeysForMessage
, B = c.serializeException
, N = c.sanitize
, P = t(2).wrapMethod
, H = "source protocol user pass host port path".split(" ")
, J = /^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/
, I = "undefined" != typeof window ? window : void 0 !== i ? i : "undefined" != typeof self ? self : {}
, K = I.document
, D = I.navigator;
r.prototype = {
VERSION: "3.27.2",
debug: !1,
TraceKit: s,
config: function(t, e) {
var i = this;
if (i.g)
return this.z("error", "Error: Raven has already been configured"),
i;
if (!t)
return i;
var n = i.k;
e && x(e, (function(t, e) {
"tags" === t || "extra" === t || "user" === t ? i.j[t] = e : n[t] = e
}
)),
i.setDSN(t),
n.ignoreErrors.push(/^Script error\.?$/),
n.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/),
n.ignoreErrors = S(n.ignoreErrors),
n.ignoreUrls = !!n.ignoreUrls.length && S(n.ignoreUrls),
n.whitelistUrls = !!n.whitelistUrls.length && S(n.whitelistUrls),
n.includePaths = S(n.includePaths),
n.maxBreadcrumbs = Math.max(0, Math.min(n.maxBreadcrumbs || 100, 100));
var o = {
xhr: !0,
console: !0,
dom: !0,
location: !0,
sentry: !0
}
, r = n.autoBreadcrumbs;
"[object Object]" === {}.toString.call(r) ? r = k(o, r) : !1 !== r && (r = o),
n.autoBreadcrumbs = r;
var a = {
tryCatch: !0
}
, l = n.instrument;
return "[object Object]" === {}.toString.call(l) ? l = k(a, l) : !1 !== l && (l = a),
n.instrument = l,
s.collectWindowErrors = !!n.collectWindowErrors,
i
},
install: function() {
var t = this;
return t.isSetup() && !t.n && (s.report.subscribe((function() {
t.A.apply(t, arguments)
}
)),
t.k.captureUnhandledRejections && t.B(),
t.C(),
t.k.instrument && t.k.instrument.tryCatch && t.D(),
t.k.autoBreadcrumbs && t.E(),
t.F(),
t.n = !0),
Error.stackTraceLimit = t.k.stackTraceLimit,
this
},
setDSN: function(t) {
var e = this
, i = e.G(t)
, n = i.path.lastIndexOf("/")
, o = i.path.substr(1, n);
e.H = t,
e.h = i.user,
e.I = i.pass && i.pass.substr(1),
e.i = i.path.substr(n + 1),
e.g = e.J(i),
e.K = e.g + "/" + o + "api/" + e.i + "/store/",
this.y()
},
context: function(t, e, i) {
return b(t) && (i = e || [],
e = t,
t = {}),
this.wrap(t, e).apply(this, i)
},
wrap: function(t, e, i) {
function n() {
var n = []
, r = arguments.length
, s = !t || t && !1 !== t.deep;
for (i && b(i) && i.apply(this, arguments); r--; )
n[r] = s ? o.wrap(t, arguments[r]) : arguments[r];
try {
return e.apply(this, n)
} catch (a) {
throw o.L(),
o.captureException(a, t),
a
}
}
var o = this;
if (g(e) && !b(t))
return t;
if (b(t) && (e = t,
t = void 0),
!b(e))
return e;
try {
if (e.M)
return e;
if (e.N)
return e.N
} catch (r) {
return e
}
for (var s in e)
C(e, s) && (n[s] = e[s]);
return n.prototype = e.prototype,
e.N = n,
n.M = !0,
n.O = e,
n
},
uninstall: function() {
return s.report.uninstall(),
this.P(),
this.Q(),
this.R(),
this.S(),
Error.stackTraceLimit = this.o,
this.n = !1,
this
},
T: function(t) {
this.z("debug", "Raven caught unhandled promise rejection:", t),
this.captureException(t.reason, {
mechanism: {
type: "onunhandledrejection",
handled: !1
}
})
},
B: function() {
return this.T = this.T.bind(this),
I.addEventListener && I.addEventListener("unhandledrejection", this.T),
this
},
P: function() {
return I.removeEventListener && I.removeEventListener("unhandledrejection", this.T),
this
},
captureException: function(t, e) {
if (e = k({
trimHeadFrames: 0
}, e || {}),
u(t) && t.error)
t = t.error;
else {
if (p(t) || d(t)) {
var i = t.name || (p(t) ? "DOMError" : "DOMException")
, n = t.message ? i + ": " + t.message : i;
return this.captureMessage(n, k(e, {
stacktrace: !0,
trimHeadFrames: e.trimHeadFrames + 1
}))
}
if (f(t))
t = t;
else {
if (!y(t))
return this.captureMessage(t, k(e, {
stacktrace: !0,
trimHeadFrames: e.trimHeadFrames + 1
}));
e = this.U(e, t),
t = new Error(e.message)
}
}
this.d = t;
try {
var o = s.computeStackTrace(t);
this.V(o, e)
} catch (r) {
if (t !== r)
throw r
}
return this
},
U: function(t, e) {
var i = Object.keys(e).sort()
, n = k(t, {
message: "Non-Error exception captured with keys: " + O(i),
fingerprint: [l(i)],
extra: t.extra || {}
});
return n.extra.W = B(e),
n
},
captureMessage: function(t, e) {
if (!this.k.ignoreErrors.test || !this.k.ignoreErrors.test(t)) {
var i, n = k({
message: t += ""
}, e = e || {});
try {
throw new Error(t)
} catch (o) {
i = o
}
i.name = null;
var r = s.computeStackTrace(i)
, a = w(r.stack) && r.stack[1];
a && "Raven.captureException" === a.func && (a = r.stack[2]);
var l = a && a.url || "";
if ((!this.k.ignoreUrls.test || !this.k.ignoreUrls.test(l)) && (!this.k.whitelistUrls.test || this.k.whitelistUrls.test(l))) {
if (this.k.stacktrace || e.stacktrace || "" === n.message) {
n.fingerprint = null == n.fingerprint ? t : n.fingerprint,
(e = k({
trimHeadFrames: 0
}, e)).trimHeadFrames += 1;
var h = this.X(r, e);
n.stacktrace = {
frames: h.reverse()
}
}
return n.fingerprint && (n.fingerprint = w(n.fingerprint) ? n.fingerprint : [n.fingerprint]),
this.Y(n),
this
}
}
},
captureBreadcrumb: function(t) {
var e = k({
timestamp: n() / 1e3
}, t);
if (b(this.k.breadcrumbCallback)) {
var i = this.k.breadcrumbCallback(e);
if (m(i) && !V(i))
e = i;
else if (!1 === i)
return this
}
return this.u.push(e),
this.u.length > this.k.maxBreadcrumbs && this.u.shift(),
this
},
addPlugin: function(t) {
var e = [].slice.call(arguments, 1);
return this.r.push([t, e]),
this.n && this.F(),
this
},
setUserContext: function(t) {
return this.j.user = t,
this
},
setExtraContext: function(t) {
return this.Z("extra", t),
this
},
setTagsContext: function(t) {
return this.Z("tags", t),
this
},
clearContext: function() {
return this.j = {},
this
},
getContext: function() {
return JSON.parse(a(this.j))
},
setEnvironment: function(t) {
return this.k.environment = t,
this
},
setRelease: function(t) {
return this.k.release = t,
this
},
setDataCallback: function(t) {
var e = this.k.dataCallback;
return this.k.dataCallback = o(e, t),
this
},
setBreadcrumbCallback: function(t) {
var e = this.k.breadcrumbCallback;
return this.k.breadcrumbCallback = o(e, t),
this
},
setShouldSendCallback: function(t) {
var e = this.k.shouldSendCallback;
return this.k.shouldSendCallback = o(e, t),
this
},
setTransport: function(t) {
return this.k.transport = t,
this
},
lastException: function() {
return this.d
},
lastEventId: function() {
return this.f
},
isSetup: function() {
return !(!this.a || !this.g && (this.ravenNotConfiguredError || (this.ravenNotConfiguredError = !0,
this.z("error", "Error: Raven has not been configured.")),
1))
},
afterLoad: function() {
var t = I.RavenConfig;
t && this.config(t.dsn, t.config).install()
},
showReportDialog: function(t) {
if (K) {
if (!(t = k({
eventId: this.lastEventId(),
dsn: this.H,
user: this.j.user || {}
}, t)).eventId)
throw new h("Missing eventId");
if (!t.dsn)
throw new h("Missing DSN");
var e = encodeURIComponent
, i = [];
for (var n in t)
if ("user" === n) {
var o = t.user;
o.name && i.push("name=" + e(o.name)),
o.email && i.push("email=" + e(o.email))
} else
i.push(e(n) + "=" + e(t[n]));
var r = this.J(this.G(t.dsn))
, s = K.createElement("script");
s.async = !0,
s.src = r + "/api/embed/error-page/?" + i.join("&"),
(K.head || K.body).appendChild(s)
}
},
L: function() {
var t = this;
this.m += 1,
setTimeout((function() {
t.m -= 1
}
))
},
$: function(t, e) {
var i, n;
if (this.b) {
for (n in e = e || {},
t = "raven" + t.substr(0, 1).toUpperCase() + t.substr(1),
K.createEvent ? (i = K.createEvent("HTMLEvents")).initEvent(t, !0, !0) : (i = K.createEventObject()).eventType = t,
e)
C(e, n) && (i[n] = e[n]);
if (K.createEvent)
K.dispatchEvent(i);
else
try {
K.fireEvent("on" + i.eventType.toLowerCase(), i)
} catch (o) {}
}
},
_: function(t) {
var e = this;
return function(i) {
if (e.aa = null,
e.v !== i) {
var n;
e.v = i;
try {
n = _(i.target)
} catch (o) {
n = "<unknown>"
}
e.captureBreadcrumb({
category: "ui." + t,
message: n
})
}
}
},
ba: function() {
var t = this;
return function(e) {
var i;
try {
i = e.target
} catch (o) {
return
}
var n = i && i.tagName;
if (n && ("INPUT" === n || "TEXTAREA" === n || i.isContentEditable)) {
var r = t.aa;
r || t._("input")(e),
clearTimeout(r),
t.aa = setTimeout((function() {
t.aa = null
}
), 1e3)
}
}
},
ca: function(t, e) {
var i = L(this.w.href)
, n = L(e)
, o = L(t);
this.x = e,
i.protocol === n.protocol && i.host === n.host && (e = n.relative),
i.protocol === o.protocol && i.host === o.host && (t = o.relative),
this.captureBreadcrumb({
category: "navigation",
data: {
to: e,
from: t
}
})
},
C: function() {
var t = this;
t.da = Function.prototype.toString,
Function.prototype.toString = function() {
return "function" == typeof this && this.M ? t.da.apply(this.O, arguments) : t.da.apply(this, arguments)
}
},
Q: function() {
this.da && (Function.prototype.toString = this.da)
},
D: function() {
function t(t) {
return function(e, n) {
for (var o = new Array(arguments.length), r = 0; r < o.length; ++r)
o[r] = arguments[r];
var s = o[0];
return b(s) && (o[0] = i.wrap({
mechanism: {
type: "instrument",
data: {
"function": t.name || "<anonymous>"
}
}
}, s)),
t.apply ? t.apply(this, o) : t(o[0], o[1])
}
}
function e(t) {
var e = I[t] && I[t].prototype;
e && e.hasOwnProperty && e.hasOwnProperty("addEventListener") && (W(e, "addEventListener", (function(e) {
return function(n, r, s, a) {
try {
r && r.handleEvent && (r.handleEvent = i.wrap({
mechanism: {
type: "instrument",
data: {
target: t,
"function": "handleEvent",
handler: r && r.name || "<anonymous>"
}
}
}, r.handleEvent))
} catch (l) {}
var h, c, u;
return o && o.dom && ("EventTarget" === t || "Node" === t) && (c = i._("click"),
u = i.ba(),
h = function(t) {
if (t) {
var e;
try {
e = t.type
} catch (i) {
return
}
return "click" === e ? c(t) : "keypress" === e ? u(t) : void 0
}
}
),
e.call(this, n, i.wrap({
mechanism: {
type: "instrument",
data: {
target: t,
"function": "addEventListener",
handler: r && r.name || "<anonymous>"
}
}
}, r, h), s, a)
}
}
), n),
W(e, "removeEventListener", (function(t) {
return function(e, i, n, o) {
try {
i = i && (i.N ? i.N : i)
} catch (r) {}
return t.call(this, e, i, n, o)
}
}
), n))
}
var i = this
, n = i.t
, o = this.k.autoBreadcrumbs;
W(I, "setTimeout", t, n),
W(I, "setInterval", t, n),
I.requestAnimationFrame && W(I, "requestAnimationFrame", (function(t) {
return function(e) {
return t(i.wrap({
mechanism: {
type: "instrument",
data: {
"function": "requestAnimationFrame",
handler: t && t.name || "<anonymous>"
}
}
}, e))
}
}
), n);
for (var r = ["EventTarget", "Window", "Node", "ApplicationCache", "AudioTrackList", "ChannelMergerNode", "CryptoOperation", "EventSource", "FileReader", "HTMLUnknownElement", "IDBDatabase", "IDBRequest", "IDBTransaction", "KeyOperation", "MediaController", "MessagePort", "ModalWindow", "Notification", "SVGElementInstance", "Screen", "TextTrack", "TextTrackCue", "TextTrackList", "WebSocket", "WebSocketWorker", "Worker", "XMLHttpRequest", "XMLHttpRequestEventTarget", "XMLHttpRequestUpload"], s = 0; s < r.length; s++)
e(r[s])
},
E: function() {
function t(t, i) {
t in i && b(i[t]) && W(i, t, (function(i) {
return e.wrap({
mechanism: {
type: "instrument",
data: {
"function": t,
handler: i && i.name || "<anonymous>"
}
}
}, i)
}
))
}
var e = this
, i = this.k.autoBreadcrumbs
, n = e.t;
if (i.xhr && "XMLHttpRequest"in I) {
var o = I.XMLHttpRequest && I.XMLHttpRequest.prototype;
W(o, "open", (function(t) {
return function(i, n) {
return v(n) && -1 === n.indexOf(e.h) && (this.ea = {
method: i,
url: n,
status_code: null
}),
t.apply(this, arguments)
}
}
), n),
W(o, "send", (function(i) {
return function() {
function n() {
if (o.ea && 4 === o.readyState) {
try {
o.ea.status_code = o.status
} catch (t) {}
e.captureBreadcrumb({
type: "http",
category: "xhr",
data: o.ea
})
}
}
for (var o = this, r = ["onload", "onerror", "onprogress"], s = 0; s < r.length; s++)
t(r[s], o);
return "onreadystatechange"in o && b(o.onreadystatechange) ? W(o, "onreadystatechange", (function(t) {
return e.wrap({
mechanism: {
type: "instrument",
data: {
"function": "onreadystatechange",
handler: t && t.name || "<anonymous>"
}
}
}, t, n)
}
)) : o.onreadystatechange = n,
i.apply(this, arguments)
}
}
), n)
}
i.xhr && F() && W(I, "fetch", (function(t) {
return function() {
for (var i = new Array(arguments.length), n = 0; n < i.length; ++n)
i[n] = arguments[n];
var o, r = i[0], s = "GET";
if ("string" == typeof r ? o = r : "Request"in I && r instanceof I.Request ? (o = r.url,
r.method && (s = r.method)) : o = "" + r,
-1 !== o.indexOf(e.h))
return t.apply(this, i);
i[1] && i[1].method && (s = i[1].method);
var a = {
method: s,
url: o,
status_code: null
};
return t.apply(this, i).then((function(t) {
return a.status_code = t.status,
e.captureBreadcrumb({
type: "http",
category: "fetch",
data: a
}),
t
}
))["catch"]((function(t) {
throw e.captureBreadcrumb({
type: "http",
category: "fetch",
data: a,
level: "error"
}),
t
}
))
}
}
), n),
i.dom && this.b && (K.addEventListener ? (K.addEventListener("click", e._("click"), !1),
K.addEventListener("keypress", e.ba(), !1)) : K.attachEvent && (K.attachEvent("onclick", e._("click")),
K.attachEvent("onkeypress", e.ba())));
var r = I.chrome
, s = !(r && r.app && r.app.runtime) && I.history && I.history.pushState && I.history.replaceState;
if (i.location && s) {
var a = I.onpopstate;
I.onpopstate = function() {
var t = e.w.href;
if (e.ca(e.x, t),
a)
return a.apply(this, arguments)
}
;
var l = function(t) {
return function() {
var i = arguments.length > 2 ? arguments[2] : void 0;
return i && e.ca(e.x, i + ""),
t.apply(this, arguments)
}
};
W(I.history, "pushState", l, n),
W(I.history, "replaceState", l, n)
}
if (i.console && "console"in I && console.log) {
var h = function(t, i) {
e.captureBreadcrumb({
message: t,
level: i.level,
category: "console"
})
};
x(["debug", "info", "warn", "error", "log"], (function(t, e) {
P(console, e, h)
}
))
}
},
R: function() {
for (var t; this.t.length; ) {
var e = (t = this.t.shift())[0]
, i = t[1]
, n = t[2];
e[i] = n
}
},
S: function() {
for (var t in this.q)
this.p[t] = this.q[t]
},
F: function() {
var t = this;
x(this.r, (function(e, i) {
var n = i[0]
, o = i[1];
n.apply(t, [t].concat(o))
}
))
},
G: function(t) {
var e = J.exec(t)
, i = {}
, n = 7;
try {
for (; n--; )
i[H[n]] = e[n] || ""
} catch (o) {
throw new h("Invalid DSN: " + t)
}
if (i.pass && !this.k.allowSecretKey)
throw new h("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");
return i
},
J: function(t) {
var e = "//" + t.host + (t.port ? ":" + t.port : "");
return t.protocol && (e = t.protocol + ":" + e),
e
},
A: function(t, e) {
(e = e || {}).mechanism = e.mechanism || {
type: "onerror",
handled: !1
},
this.m || this.V(t, e)
},
V: function(t, e) {
var i = this.X(t, e);
this.$("handle", {
stackInfo: t,
options: e
}),
this.fa(t.name, t.message, t.url, t.lineno, i, e)
},
X: function(t, e) {
var i = this
, n = [];
if (t.stack && t.stack.length && (x(t.stack, (function(e, o) {
var r = i.ga(o, t.url);
r && n.push(r)
}
)),
e && e.trimHeadFrames))
for (var o = 0; o < e.trimHeadFrames && o < n.length; o++)
n[o].in_app = !1;
return n = n.slice(0, this.k.stackTraceLimit)
},
ga: function(t, e) {
var i = {
filename: t.url,
lineno: t.line,
colno: t.column,
"function": t.func || "?"
};
return t.url || (i.filename = e),
i.in_app = !(this.k.includePaths.test && !this.k.includePaths.test(i.filename) || /(Raven|TraceKit)\./.test(i["function"]) || /raven\.(min\.)?js$/.test(i.filename)),
i
},
fa: function(t, e, i, n, o, r) {
var s, a = (t ? t + ": " : "") + (e || "");
if ((!this.k.ignoreErrors.test || !this.k.ignoreErrors.test(e) && !this.k.ignoreErrors.test(a)) && (o && o.length ? (i = o[0].filename || i,
o.reverse(),
s = {
frames: o
}) : i && (s = {
frames: [{
filename: i,
lineno: n,
in_app: !0
}]
}),
(!this.k.ignoreUrls.test || !this.k.ignoreUrls.test(i)) && (!this.k.whitelistUrls.test || this.k.whitelistUrls.test(i)))) {
var l = k({
exception: {
values: [{
type: t,
value: e,
stacktrace: s
}]
},
transaction: i
}, r)
, h = l.exception.values[0];
null == h.type && "" === h.value && (h.value = "Unrecoverable error caught"),
!l.exception.mechanism && l.mechanism && (l.exception.mechanism = l.mechanism,
delete l.mechanism),
l.exception.mechanism = k({
type: "generic",
handled: !0
}, l.exception.mechanism || {}),
this.Y(l)
}
},
ha: function(t) {
var e = this.k.maxMessageLength;
if (t.message && (t.message = E(t.message, e)),
t.exception) {
var i = t.exception.values[0];
i.value = E(i.value, e)
}
var n = t.request;
return n && (n.url && (n.url = E(n.url, this.k.maxUrlLength)),
n.Referer && (n.Referer = E(n.Referer, this.k.maxUrlLength))),
t.breadcrumbs && t.breadcrumbs.values && this.ia(t.breadcrumbs),
t
},
ia: function(t) {
for (var e, i, n, o = ["to", "from", "url"], r = 0; r < t.values.length; ++r)
if ((i = t.values[r]).hasOwnProperty("data") && m(i.data) && !A(i.data)) {
n = k({}, i.data);
for (var s = 0; s < o.length; ++s)
e = o[s],
n.hasOwnProperty(e) && n[e] && (n[e] = E(n[e], this.k.maxUrlLength));
t.values[r].data = n
}
},
ja: function() {
if (this.c || this.b) {
var t = {};
return this.c && D.userAgent && (t.headers = {
"User-Agent": D.userAgent
}),
I.location && I.location.href && (t.url = I.location.href),
this.b && K.referrer && (t.headers || (t.headers = {}),
t.headers.Referer = K.referrer),
t
}
},
y: function() {
this.ka = 0,
this.la = null
},
ma: function() {
return this.ka && n() - this.la < this.ka
},
na: function(t) {
var e = this.e;
return !(!e || t.message !== e.message || t.transaction !== e.transaction) && (t.stacktrace || e.stacktrace ? M(t.stacktrace, e.stacktrace) : t.exception || e.exception ? U(t.exception, e.exception) : !t.fingerprint && !e.fingerprint || Boolean(t.fingerprint && e.fingerprint) && JSON.stringify(t.fingerprint) === JSON.stringify(e.fingerprint))
},
oa: function(t) {
if (!this.ma()) {
var e = t.status;
if (400 === e || 401 === e || 429 === e) {
var i;
try {
i = F() ? t.headers.get("Retry-After") : t.getResponseHeader("Retry-After"),
i = 1e3 * parseInt(i, 10)
} catch (o) {}
this.ka = i || (2 * this.ka || 1e3),
this.la = n()
}
}
},
Y: function(t) {
var e = this.k
, i = {
project: this.i,
logger: e.logger,
platform: "javascript"
}
, o = this.ja();
if (o && (i.request = o),
t.trimHeadFrames && delete t.trimHeadFrames,
(t = k(i, t)).tags = k(k({}, this.j.tags), t.tags),
t.extra = k(k({}, this.j.extra), t.extra),
t.extra["session:duration"] = n() - this.s,
this.u && this.u.length > 0 && (t.breadcrumbs = {
values: [].slice.call(this.u, 0)
}),
this.j.user && (t.user = this.j.user),
e.environment && (t.environment = e.environment),
e.release && (t.release = e.release),
e.serverName && (t.server_name = e.serverName),
t = this.pa(t),
Object.keys(t).forEach((function(e) {
(null == t[e] || "" === t[e] || V(t[e])) && delete t[e]
}
)),
b(e.dataCallback) && (t = e.dataCallback(t) || t),
t && !V(t) && (!b(e.shouldSendCallback) || e.shouldSendCallback(t)))
return this.ma() ? void this.z("warn", "Raven dropped error due to backoff: ", t) : void ("number" == typeof e.sampleRate ? Math.random() < e.sampleRate && this.qa(t) : this.qa(t))
},
pa: function(t) {
return N(t, this.k.sanitizeKeys)
},
ra: function() {
return T()
},
qa: function(t, e) {
var i = this
, n = this.k;
if (this.isSetup()) {
if (t = this.ha(t),
!this.k.allowDuplicates && this.na(t))
return void this.z("warn", "Raven dropped repeat event: ", t);
this.f = t.event_id || (t.event_id = this.ra()),
this.e = t,
this.z("debug", "Raven about to send:", t);
var o = {
sentry_version: "7",
sentry_client: "raven-js/" + this.VERSION,
sentry_key: this.h
};
this.I && (o.sentry_secret = this.I);
var r = t.exception && t.exception.values[0];
this.k.autoBreadcrumbs && this.k.autoBreadcrumbs.sentry && this.captureBreadcrumb({
category: "sentry",
message: r ? (r.type ? r.type + ": " : "") + r.value : t.message,
event_id: t.event_id,
level: t.level || "error"
});
var s = this.K;
(n.transport || this._makeRequest).call(this, {
url: s,
auth: o,
data: t,
options: n,
onSuccess: function() {
i.y(),
i.$("success", {
data: t,
src: s
}),
e && e()
},
onError: function(n) {
i.z("error", "Raven transport failed to send: ", n),
n.request && i.oa(n.request),
i.$("failure", {
data: t,
src: s
}),
n = n || new Error("Raven send failed (no additional details provided)"),
e && e(n)
}
})
}
},
_makeRequest: function(t) {
var e = t.url + "?" + R(t.auth)
, i = null
, n = {};
if (t.options.headers && (i = this.sa(t.options.headers)),
t.options.fetchParameters && (n = this.sa(t.options.fetchParameters)),
F()) {
n.body = a(t.data);
var o = k({}, this.l)
, r = k(o, n);
return i && (r.headers = i),
I.fetch(e, r).then((function(e) {
if (e.ok)
t.onSuccess && t.onSuccess();
else {
var i = new Error("Sentry error code: " + e.status);
i.request = e,
t.onError && t.onError(i)
}
}
))["catch"]((function() {
t.onError && t.onError(new Error("Sentry error code: network unavailable"))
}
))
}
var s = I.XMLHttpRequest && new I.XMLHttpRequest;
s && (("withCredentials"in s || "undefined" != typeof XDomainRequest) && ("withCredentials"in s ? s.onreadystatechange = function() {
if (4 === s.readyState)
if (200 === s.status)
t.onSuccess && t.onSuccess();
else if (t.onError) {
var e = new Error("Sentry error code: " + s.status);
e.request = s,
t.onError(e)
}
}
: (s = new XDomainRequest,
e = e.replace(/^https?:/, ""),
t.onSuccess && (s.onload = t.onSuccess),
t.onError && (s.onerror = function() {
var e = new Error("Sentry error code: XDomainRequest");
e.request = s,
t.onError(e)
}
)),
s.open("POST", e),
i && x(i, (function(t, e) {
s.setRequestHeader(t, e)
}
)),
s.send(a(t.data))))
},
sa: function(t) {
var e = {};
for (var i in t)
if (t.hasOwnProperty(i)) {
var n = t[i];
e[i] = "function" == typeof n ? n() : n
}
return e
},
z: function(t) {
this.q[t] && (this.debug || this.k.debug) && Function.prototype.apply.call(this.q[t], this.p, [].slice.call(arguments, 1))
},
Z: function(t, e) {
g(e) ? delete this.j[t] : this.j[t] = k(this.j[t] || {}, e)
}
},
r.prototype.setUser = r.prototype.setUserContext,
r.prototype.setReleaseContext = r.prototype.setRelease,
e.exports = r
}
).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
}
, {
1: 1,
2: 2,
5: 5,
6: 6,
7: 7,
8: 8
}],
4: [function(t, e, i) {
(function(i) {
var n = t(3)
, o = "undefined" != typeof window ? window : void 0 !== i ? i : "undefined" != typeof self ? self : {}
, r = o.Raven
, s = new n;
s.noConflict = function() {
return o.Raven = r,
s
}
,
s.afterLoad(),
e.exports = s,
e.exports.Client = n
}
).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
}
, {
3: 3
}],
5: [function(t, e, i) {
(function(i) {
function n(t) {
switch (Object.prototype.toString.call(t)) {
case "[object Error]":
case "[object Exception]":
case "[object DOMException]":
return !0;
default:
return t instanceof Error
}
}
function o(t) {
return "[object DOMError]" === Object.prototype.toString.call(t)
}
function r(t) {
return void 0 === t
}
function s(t) {
return "[object Object]" === Object.prototype.toString.call(t)
}
function a(t) {
return "[object String]" === Object.prototype.toString.call(t)
}
function l(t) {
return "[object Array]" === Object.prototype.toString.call(t)
}
function h() {
if (!("fetch"in V))
return !1;
try {
return new Headers,
new Request(""),
new Response,
!0
} catch (t) {
return !1
}
}
function c(t, e) {
var i, n;
if (r(t.length))
for (i in t)
p(t, i) && e.call(null, i, t[i]);
else if (n = t.length)
for (i = 0; i < n; i++)
e.call(null, i, t[i])
}
function u(t, e) {
if ("number" != typeof e)
throw new Error("2nd argument to `truncate` function should be a number");
return "string" != typeof t || 0 === e || t.length <= e ? t : t.substr(0, e) + "…"
}
function p(t, e) {
return Object.prototype.hasOwnProperty.call(t, e)
}
function d(t) {
for (var e, i = [], n = 0, o = t.length; n < o; n++)
a(e = t[n]) ? i.push(e.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1")) : e && e.source && i.push(e.source);
return new RegExp(i.join("|"),"i")
}
function f(t) {
var e, i, n, o, r, s = [];
if (!t || !t.tagName)
return "";
if (s.push(t.tagName.toLowerCase()),
t.id && s.push("#" + t.id),
(e = t.className) && a(e))
for (i = e.split(/\s+/),
r = 0; r < i.length; r++)
s.push("." + i[r]);
var l = ["type", "name", "title", "alt"];
for (r = 0; r < l.length; r++)
n = l[r],
(o = t.getAttribute(n)) && s.push("[" + n + '="' + o + '"]');
return s.join("")
}
function m(t, e) {
return !!(!!t ^ !!e)
}
function y(t, e) {
if (m(t, e))
return !1;
var i = t.frames
, n = e.frames;
if (void 0 === i || void 0 === n)
return !1;
if (i.length !== n.length)
return !1;
for (var o, r, s = 0; s < i.length; s++)
if (o = i[s],
r = n[s],
o.filename !== r.filename || o.lineno !== r.lineno || o.colno !== r.colno || o["function"] !== r["function"])
return !1;
return !0
}
function g(t) {
return function(t) {
return ~-encodeURI(t).split(/%..|./).length
}(JSON.stringify(t))
}
function b(t) {
if ("string" == typeof t) {
return u(t, 40)
}
if ("number" == typeof t || "boolean" == typeof t || void 0 === t)
return t;
var e = Object.prototype.toString.call(t);
return "[object Object]" === e ? "[Object]" : "[object Array]" === e ? "[Array]" : "[object Function]" === e ? t.name ? "[Function: " + t.name + "]" : "[Function]" : t
}
function v(t, e) {
return 0 === e ? b(t) : s(t) ? Object.keys(t).reduce((function(i, n) {
return i[n] = v(t[n], e - 1),
i
}
), {}) : Array.isArray(t) ? t.map((function(t) {
return v(t, e - 1)
}
)) : b(t)
}
var w = t(7)
, V = "undefined" != typeof window ? window : void 0 !== i ? i : "undefined" != typeof self ? self : {}
, x = 3
, k = 51200
, E = 40;
e.exports = {
isObject: function(t) {
return "object" == typeof t && null !== t
},
isError: n,
isErrorEvent: function(t) {
return "[object ErrorEvent]" === Object.prototype.toString.call(t)
},
isDOMError: o,
isDOMException: function(t) {
return "[object DOMException]" === Object.prototype.toString.call(t)
},
isUndefined: r,
isFunction: function(t) {
return "function" == typeof t
},
isPlainObject: s,
isString: a,
isArray: l,
isEmptyObject: function(t) {
if (!s(t))
return !1;
for (var e in t)
if (t.hasOwnProperty(e))
return !1;
return !0
},
supportsErrorEvent: function() {
try {
return new ErrorEvent(""),
!0
} catch (t) {
return !1
}
},
supportsDOMError: function() {
try {
return new DOMError(""),
!0
} catch (t) {
return !1
}
},
supportsDOMException: function() {
try {
return new DOMException(""),
!0
} catch (t) {
return !1
}
},
supportsFetch: h,
supportsReferrerPolicy: function() {
if (!h())
return !1;
try {
return new Request("pickleRick",{
referrerPolicy: "origin"
}),
!0
} catch (t) {
return !1
}
},
supportsPromiseRejectionEvent: function() {
return "function" == typeof PromiseRejectionEvent
},
wrappedCallback: function(t) {
return function(e, i) {
var n = t(e) || e;
return i && i(n) || n
}
},
each: c,
objectMerge: function(t, e) {
return e ? (c(e, (function(e, i) {
t[e] = i
}
)),
t) : t
},
truncate: u,
objectFrozen: function(t) {
return !!Object.isFrozen && Object.isFrozen(t)
},
hasKey: p,
joinRegExp: d,
urlencode: function(t) {
var e = [];
return c(t, (function(t, i) {
e.push(encodeURIComponent(t) + "=" + encodeURIComponent(i))
}
)),
e.join("&")
},
uuid4: function() {
var t = V.crypto || V.msCrypto;
if (!r(t) && t.getRandomValues) {
var e = new Uint16Array(8);
t.getRandomValues(e),
e[3] = 4095 & e[3] | 16384,
e[4] = 16383 & e[4] | 32768;
var i = function(t) {
for (var e = t.toString(16); e.length < 4; )
e = "0" + e;
return e
};
return i(e[0]) + i(e[1]) + i(e[2]) + i(e[3]) + i(e[4]) + i(e[5]) + i(e[6]) + i(e[7])
}
return "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g, (function(t) {
var e = 16 * Math.random() | 0;
return ("x" === t ? e : 3 & e | 8).toString(16)
}
))
},
htmlTreeAsString: function(t) {
for (var e, i = [], n = 0, o = 0, r = " > ".length; t && n++ < 5 && !("html" === (e = f(t)) || n > 1 && o + i.length * r + e.length >= 80); )
i.push(e),
o += e.length,
t = t.parentNode;
return i.reverse().join(" > ")
},
htmlElementAsString: f,
isSameException: function(t, e) {
return !m(t, e) && (t = t.values[0],
e = e.values[0],
t.type === e.type && t.value === e.value && !function(t, e) {
return r(t) && r(e)
}(t.stacktrace, e.stacktrace) && y(t.stacktrace, e.stacktrace))
},
isSameStacktrace: y,
parseUrl: function(t) {
if ("string" != typeof t)
return {};
var e = t.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/)
, i = e[6] || ""
, n = e[8] || "";
return {
protocol: e[2],
host: e[4],
path: e[5],
relative: e[5] + i + n
}
},
fill: function(t, e, i, n) {
if (null != t) {
var o = t[e];
t[e] = i(o),
t[e].M = !0,
t[e].O = o,
n && n.push([t, e, o])
}
},
safeJoin: function(t, e) {
if (!l(t))
return "";
for (var i = [], o = 0; o < t.length; o++)
try {
i.push(String(t[o]))
} catch (n) {
i.push("[value cannot be serialized]")
}
return i.join(e)
},
serializeException: function A(t, e, i) {
if (!s(t))
return t;
i = "number" != typeof (e = "number" != typeof e ? x : e) ? k : i;
var n = v(t, e);
return g(w(n)) > i ? A(t, e - 1) : n
},
serializeKeysForMessage: function(t, e) {
if ("number" == typeof t || "string" == typeof t)
return t.toString();
if (!Array.isArray(t))
return "";
if (0 === (t = t.filter((function(t) {
return "string" == typeof t
}
))).length)
return "[object has no keys]";
if (e = "number" != typeof e ? E : e,
t[0].length >= e)
return t[0];
for (var i = t.length; i > 0; i--) {
var n = t.slice(0, i).join(", ");
if (!(n.length > e))
return i === t.length ? n : n + "…"
}
return ""
},
sanitize: function(t, e) {
if (!l(e) || l(e) && 0 === e.length)
return t;
var i, n = d(e), r = "********";
try {
i = JSON.parse(w(t))
} catch (o) {
return t
}
return function a(t) {
return l(t) ? t.map((function(t) {
return a(t)
}
)) : s(t) ? Object.keys(t).reduce((function(e, i) {
return e[i] = n.test(i) ? r : a(t[i]),
e
}
), {}) : t
}(i)
}
}
}
).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
}
, {
7: 7
}],
6: [function(t, e, i) {
(function(i) {
function n() {
return "undefined" == typeof document || null == document.location ? "" : document.location.href
}
var o = t(5)
, r = {
collectWindowErrors: !0,
debug: !1
}
, s = "undefined" != typeof window ? window : void 0 !== i ? i : "undefined" != typeof self ? self : {}
, a = [].slice
, l = "?"
, h = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;
r.report = function() {
function t(e, i) {
var n = null;
if (!i || r.collectWindowErrors) {
for (var o in d)
if (d.hasOwnProperty(o))
try {
d[o].apply(null, [e].concat(a.call(arguments, 2)))
} catch (t) {
n = t
}
if (n)
throw n
}
}
function e(e, s, a, c, p) {
var d = o.isErrorEvent(p) ? p.error : p
, f = o.isErrorEvent(e) ? e.message : e;
if (y)
r.computeStackTrace.augmentStackTraceWithInitialElement(y, s, a, f),
i();
else if (d && o.isError(d))
t(r.computeStackTrace(d), !0);
else {
var m, g = {
url: s,
line: a,
column: c
}, b = void 0;
if ("[object String]" === {}.toString.call(f))
(m = f.match(h)) && (b = m[1],
f = m[2]);
g.func = l,
t({
name: b,
message: f,
url: n(),
stack: [g]
}, !0)
}
return !!u && u.apply(this, arguments)
}
function i() {
var e = y
, i = f;
f = null,
y = null,
m = null,
t.apply(null, [e, !1].concat(i))
}
function c(t, e) {
var n = a.call(arguments, 1);
if (y) {
if (m === t)
return;
i()
}
var o = r.computeStackTrace(t);
if (y = o,
m = t,
f = n,
setTimeout((function() {
m === t && i()
}
), o.incomplete ? 2e3 : 0),
!1 !== e)
throw t
}
var u, p, d = [], f = null, m = null, y = null;
return c.subscribe = function(t) {
p || (u = s.onerror,
s.onerror = e,
p = !0),
d.push(t)
}
,
c.unsubscribe = function(t) {
for (var e = d.length - 1; e >= 0; --e)
d[e] === t && d.splice(e, 1)
}
,
c.uninstall = function() {
p && (s.onerror = u,
p = !1,
u = void 0),
d = []
}
,
c
}(),
r.computeStackTrace = function() {
function t(t) {
if ("undefined" != typeof t.stack && t.stack) {
for (var e, i, o, r = /^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[a-z]:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i, s = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx(?:-web)|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i, a = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i, h = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i, c = /\((\S*)(?::(\d+))(?::(\d+))\)/, u = t.stack.split("\n"), p = [], d = (/^(.*) is undefined$/.exec(t.message),
0), f = u.length; d < f; ++d) {
if (i = r.exec(u[d])) {
var m = i[2] && 0 === i[2].indexOf("native");
i[2] && 0 === i[2].indexOf("eval") && (e = c.exec(i[2])) && (i[2] = e[1],
i[3] = e[2],
i[4] = e[3]),
o = {
url: m ? null : i[2],
func: i[1] || l,
args: m ? [i[2]] : [],
line: i[3] ? +i[3] : null,
column: i[4] ? +i[4] : null
}
} else if (i = s.exec(u[d]))
o = {
url: i[2],
func: i[1] || l,
args: [],
line: +i[3],
column: i[4] ? +i[4] : null
};
else {
if (!(i = a.exec(u[d])))
continue;
i[3] && i[3].indexOf(" > eval") > -1 && (e = h.exec(i[3])) ? (i[3] = e[1],
i[4] = e[2],
i[5] = null) : 0 !== d || i[5] || "undefined" == typeof t.columnNumber || (p[0].column = t.columnNumber + 1),
o = {
url: i[3],
func: i[1] || l,
args: i[2] ? i[2].split(",") : [],
line: i[4] ? +i[4] : null,
column: i[5] ? +i[5] : null
}
}
if (!o.func && o.line && (o.func = l),
o.url && "blob:" === o.url.substr(0, 5)) {
var y = new XMLHttpRequest;
if (y.open("GET", o.url, !1),
y.send(null),
200 === y.status) {
var g = y.responseText || ""
, b = (g = g.slice(-300)).match(/\/\/# sourceMappingURL=(.*)$/);
if (b) {
var v = b[1];
"~" === v.charAt(0) && (v = ("undefined" == typeof document || null == document.location ? "" : document.location.origin ? document.location.origin : document.location.protocol + "//" + document.location.hostname + (document.location.port ? ":" + document.location.port : "")) + v.slice(1)),
o.url = v.slice(0, -4)
}
}
}
p.push(o)
}
return p.length ? {
name: t.name,
message: t.message,
url: n(),
stack: p
} : null
}
}
function e(t, e, i, n) {
var o = {
url: e,
line: i
};
if (o.url && o.line) {
if (t.incomplete = !1,
o.func || (o.func = l),
t.stack.length > 0 && t.stack[0].url === o.url) {
if (t.stack[0].line === o.line)
return !1;
if (!t.stack[0].line && t.stack[0].func === o.func)
return t.stack[0].line = o.line,
!1
}
return t.stack.unshift(o),
t.partial = !0,
!0
}
return t.incomplete = !0,
!1
}
function i(t, s) {
for (var a, h, c = /function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i, u = [], p = {}, d = !1, f = i.caller; f && !d; f = f.caller)
if (f !== o && f !== r.report) {
if (h = {
url: null,
func: l,
line: null,
column: null
},
f.name ? h.func = f.name : (a = c.exec(f.toString())) && (h.func = a[1]),
"undefined" == typeof h.func)
try {
h.func = a.input.substring(0, a.input.indexOf("{"))
} catch (y) {}
p["" + f] ? d = !0 : p["" + f] = !0,
u.push(h)
}
s && u.splice(0, s);
var m = {
name: t.name,
message: t.message,
url: n(),
stack: u
};
return e(m, t.sourceURL || t.fileName, t.line || t.lineNumber, t.message || t.description),
m
}
function o(e, o) {
var a = null;
o = null == o ? 0 : +o;
try {
if (a = t(e))
return a
} catch (s) {
if (r.debug)
throw s
}
try {
if (a = i(e, o + 1))
return a
} catch (s) {
if (r.debug)
throw s
}
return {
name: e.name,
message: e.message,
url: n()
}
}
return o.augmentStackTraceWithInitialElement = e,
o.computeStackTraceFromStackProp = t,
o
}(),
e.exports = r
}
).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
}
, {
5: 5
}],
7: [function(t, e, i) {
function n(t, e) {
for (var i = 0; i < t.length; ++i)
if (t[i] === e)
return i;
return -1
}
function o(t, e) {
var i = []
, o = [];
return null == e && (e = function(t, e) {
return i[0] === e ? "[Circular ~]" : "[Circular ~." + o.slice(0, n(i, e)).join(".") + "]"
}
),
function(r, s) {
if (i.length > 0) {
var a = n(i, this);
~a ? i.splice(a + 1) : i.push(this),
~a ? o.splice(a, 1 / 0, r) : o.push(r),
~n(i, s) && (s = e.call(this, r, s))
} else
i.push(s);
return null == t ? s instanceof Error ? function(t) {
var e = {
stack: t.stack,
message: t.message,
name: t.name
};
for (var i in t)
Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]);
return e
}(s) : s : t.call(this, r, s)
}
}
i = e.exports = function(t, e, i, n) {
return JSON.stringify(t, o(e, n), i)
}
,
i.getSerialize = o
}
, {}],
8: [function(t, e, i) {
function n(t, e) {
var i = (65535 & t) + (65535 & e);
return (t >> 16) + (e >> 16) + (i >> 16) << 16 | 65535 & i
}
function o(t, e, i, o, r, s) {
return n(function(t, e) {
return t << e | t >>> 32 - e
}(n(n(e, t), n(o, s)), r), i)
}
function r(t, e, i, n, r, s, a) {
return o(e & i | ~e & n, t, e, r, s, a)
}
function s(t, e, i, n, r, s, a) {
return o(e & n | i & ~n, t, e, r, s, a)
}
function a(t, e, i, n, r, s, a) {
return o(e ^ i ^ n, t, e, r, s, a)
}
function l(t, e, i, n, r, s, a) {
return o(i ^ (e | ~n), t, e, r, s, a)
}
function h(t, e) {
t[e >> 5] |= 128 << e % 32,
t[14 + (e + 64 >>> 9 << 4)] = e;
var i, o, h, c, u, p = 1732584193, d = -271733879, f = -1732584194, m = 271733878;
for (i = 0; i < t.length; i += 16)
o = p,
h = d,
c = f,
u = m,
p = r(p, d, f, m, t[i], 7, -680876936),
m = r(m, p, d, f, t[i + 1], 12, -389564586),
f = r(f, m, p, d, t[i + 2], 17, 606105819),
d = r(d, f, m, p, t[i + 3], 22, -1044525330),
p = r(p, d, f, m, t[i + 4], 7, -176418897),
m = r(m, p, d, f, t[i + 5], 12, 1200080426),
f = r(f, m, p, d, t[i + 6], 17, -1473231341),
d = r(d, f, m, p, t[i + 7], 22, -45705983),
p = r(p, d, f, m, t[i + 8], 7, 1770035416),
m = r(m, p, d, f, t[i + 9], 12, -1958414417),
f = r(f, m, p, d, t[i + 10], 17, -42063),
d = r(d, f, m, p, t[i + 11], 22, -1990404162),
p = r(p, d, f, m, t[i + 12], 7, 1804603682),
m = r(m, p, d, f, t[i + 13], 12, -40341101),
f = r(f, m, p, d, t[i + 14], 17, -1502002290),
p = s(p, d = r(d, f, m, p, t[i + 15], 22, 1236535329), f, m, t[i + 1], 5, -165796510),
m = s(m, p, d, f, t[i + 6], 9, -1069501632),
f = s(f, m, p, d, t[i + 11], 14, 643717713),
d = s(d, f, m, p, t[i], 20, -373897302),
p = s(p, d, f, m, t[i + 5], 5, -701558691),
m = s(m, p, d, f, t[i + 10], 9, 38016083),
f = s(f, m, p, d, t[i + 15], 14, -660478335),
d = s(d, f, m, p, t[i + 4], 20, -405537848),
p = s(p, d, f, m, t[i + 9], 5, 568446438),
m = s(m, p, d, f, t[i + 14], 9, -1019803690),
f = s(f, m, p, d, t[i + 3], 14, -187363961),
d = s(d, f, m, p, t[i + 8], 20, 1163531501),
p = s(p, d, f, m, t[i + 13], 5, -1444681467),
m = s(m, p, d, f, t[i + 2], 9, -51403784),
f = s(f, m, p, d, t[i + 7], 14, 1735328473),
p = a(p, d = s(d, f, m, p, t[i + 12], 20, -1926607734), f, m, t[i + 5], 4, -378558),
m = a(m, p, d, f, t[i + 8], 11, -2022574463),
f = a(f, m, p, d, t[i + 11], 16, 1839030562),
d = a(d, f, m, p, t[i + 14], 23, -35309556),
p = a(p, d, f, m, t[i + 1], 4, -1530992060),
m = a(m, p, d, f, t[i + 4], 11, 1272893353),
f = a(f, m, p, d, t[i + 7], 16, -155497632),
d = a(d, f, m, p, t[i + 10], 23, -1094730640),
p = a(p, d, f, m, t[i + 13], 4, 681279174),
m = a(m, p, d, f, t[i], 11, -358537222),
f = a(f, m, p, d, t[i + 3], 16, -722521979),
d = a(d, f, m, p, t[i + 6], 23, 76029189),
p = a(p, d, f, m, t[i + 9], 4, -640364487),
m = a(m, p, d, f, t[i + 12], 11, -421815835),
f = a(f, m, p, d, t[i + 15], 16, 530742520),
p = l(p, d = a(d, f, m, p, t[i + 2], 23, -995338651), f, m, t[i], 6, -198630844),
m = l(m, p, d, f, t[i + 7], 10, 1126891415),
f = l(f, m, p, d, t[i + 14], 15, -1416354905),
d = l(d, f, m, p, t[i + 5], 21, -57434055),
p = l(p, d, f, m, t[i + 12], 6, 1700485571),
m = l(m, p, d, f, t[i + 3], 10, -1894986606),
f = l(f, m, p, d, t[i + 10], 15, -1051523),
d = l(d, f, m, p, t[i + 1], 21, -2054922799),
p = l(p, d, f, m, t[i + 8], 6, 1873313359),
m = l(m, p, d, f, t[i + 15], 10, -30611744),
f = l(f, m, p, d, t[i + 6], 15, -1560198380),
d = l(d, f, m, p, t[i + 13], 21, 1309151649),
p = l(p, d, f, m, t[i + 4], 6, -145523070),
m = l(m, p, d, f, t[i + 11], 10, -1120210379),
f = l(f, m, p, d, t[i + 2], 15, 718787259),
d = l(d, f, m, p, t[i + 9], 21, -343485551),
p = n(p, o),
d = n(d, h),
f = n(f, c),
m = n(m, u);
return [p, d, f, m]
}
function c(t) {
var e, i = "", n = 32 * t.length;
for (e = 0; e < n; e += 8)
i += String.fromCharCode(t[e >> 5] >>> e % 32 & 255);
return i
}
function u(t) {
var e, i = [];
for (i[(t.length >> 2) - 1] = void 0,
e = 0; e < i.length; e += 1)
i[e] = 0;
var n = 8 * t.length;
for (e = 0; e < n; e += 8)
i[e >> 5] |= (255 & t.charCodeAt(e / 8)) << e % 32;
return i
}
function p(t) {
var e, i, n = "0123456789abcdef", o = "";
for (i = 0; i < t.length; i += 1)
e = t.charCodeAt(i),
o += n.charAt(e >>> 4 & 15) + n.charAt(15 & e);
return o
}
function d(t) {
return unescape(encodeURIComponent(t))
}
function f(t) {
return function(t) {
return c(h(u(t), 8 * t.length))
}(d(t))
}
function m(t, e) {
return function(t, e) {
var i, n, o = u(t), r = [], s = [];
for (r[15] = s[15] = void 0,
o.length > 16 && (o = h(o, 8 * t.length)),
i = 0; i < 16; i += 1)
r[i] = 909522486 ^ o[i],
s[i] = 1549556828 ^ o[i];
return n = h(r.concat(u(e)), 512 + 8 * e.length),
c(h(s.concat(n), 640))
}(d(t), d(e))
}
e.exports = function(t, e, i) {
return e ? i ? m(e, t) : function(t, e) {
return p(m(t, e))
}(e, t) : i ? f(t) : function(t) {
return p(f(t))
}(t)
}
}
, {}]
}, {}, [4])(4)
}
));
var I = [{
family: "UC Browser",
patterns: ["(UC? ?Browser|UCWEB|U3)[ /]?(\\d+)\\.(\\d+)\\.(\\d+)"]
}, {
family: "Opera",
name_replace: "Opera Mobile",
patterns: ["(Opera)/.+Opera Mobi.+Version/(\\d+)\\.(\\d+)", "(Opera)/(\\d+)\\.(\\d+).+Opera Mobi", "Opera Mobi.+(Opera)(?:/|\\s+)(\\d+)\\.(\\d+)", "Opera Mobi", "(?:Mobile Safari).*(OPR)/(\\d+)\\.(\\d+)\\.(\\d+)"]
}, {
family: "Opera",
name_replace: "Opera Mini",
patterns: ["(Opera Mini)(?:/att|)/?(\\d+|)(?:\\.(\\d+)|)(?:\\.(\\d+)|)", "(OPiOS)/(\\d+).(\\d+).(\\d+)"]
}, {
family: "Opera",
name_replace: "Opera Neon",
patterns: ["Chrome/.+( MMS)/(\\d+).(\\d+).(\\d+)"]
}, {
name_replace: "Opera",
patterns: ["(Opera)/9.80.*Version/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)", "(?:Chrome).*(OPR)/(\\d+)\\.(\\d+)\\.(\\d+)"]
}, {
family: "Firefox",
name_replace: "Firefox Mobile",
patterns: ["(Fennec)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)", "(Fennec)/(\\d+)\\.(\\d+)(pre)", "(Fennec)/(\\d+)\\.(\\d+)", "(?:Mobile|Tablet);.*(Firefox)/(\\d+)\\.(\\d+)", "(FxiOS)/(\\d+)\\.(\\d+)(\\.(\\d+)|)(\\.(\\d+)|)"]
}, {
name_replace: "Coc Coc",
patterns: ["(coc_coc_browser)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)"]
}, {
family: "QQ",
name_replace: "QQ Mini",
patterns: ["(MQQBrowser/Mini)(?:(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)"]
}, {
family: "QQ",
name_replace: "QQ Mobile",
patterns: ["(MQQBrowser)(?:/(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)|)"]
}, {
name_replace: "QQ",
patterns: ["(QQBrowser)(?:/(\\d+)(?:\\.(\\d+)\\.(\\d+)(?:\\.(\\d+)|)|)|)"]
}, {
family: "Edge",
name: "Edge Mobile",
patterns: ["Windows Phone .*(Edge)/(\\d+)\\.(\\d+)", "(EdgiOS|EdgA)/(\\d+)\\.(\\d+).(\\d+).(\\d+)"]
}, {
name_replace: "Edge",
patterns: ["(Edge|Edg)/(\\d+)(?:\\.(\\d+)|)"]
}, {
patterns: ["(Puffin)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)"]
}, {
family: "Chrome",
name_replace: "Chrome Mobile",
patterns: ["Version/.+(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)", "; wv\\).+(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)", "(CriOS)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)", "(CrMo)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)", "(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+) Mobile(?:[ /]|$)", " Mobile .*(Chrome)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)"]
}, {
family: "Yandex",
name_replace: "Yandex Mobile",
patterns: ["(YaBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+).*Mobile"]
}, {
name_replace: "Yandex",
patterns: ["(YaBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)"]
}, {
patterns: ["(Vivaldi)/(\\d+)\\.(\\d+)", "(Vivaldi)/(\\d+)\\.(\\d+)\\.(\\d+)"]
}, {
name_replace: "Brave",
patterns: ["(brave)/(\\d+)\\.(\\d+)\\.(\\d+) Chrome"]
}, {
family: "Chrome",
patterns: ["(Chromium|Chrome)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)"]
}, {
name_replace: "Internet Explorer Mobile",
patterns: ["(IEMobile)[ /](\\d+)\\.(\\d+)"]
}, {
family: "Safari",
name_replace: "Safari Mobile",
patterns: ["(iPod|iPhone|iPad).+Version/(d+).(d+)(?:.(d+)|).*[ +]Safari", "(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\\d+)_(\\d+)(?:_(\\d+)|).* AppleNews\\/\\d+\\.\\d+\\.\\d+?", "(iPod|iPhone|iPad).+Version/(\\d+)\\.(\\d+)(?:\\.(\\d+)|)", "(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\\d+)_(\\d+)(?:_(\\d+)|).*Mobile.*[ +]Safari", "(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\\d+)_(\\d+)(?:_(\\d+)|).*Mobile", "(iPod|iPod touch|iPhone|iPad).* Safari", "(iPod|iPod touch|iPhone|iPad)"]
}, {
name_replace: "Safari",
patterns: ["(Version)/(\\d+)\\.(\\d+)(?:\\.(\\d+)|).*Safari/"]
}, {
name_replace: "Internet Explorer",
patterns: ["(Trident)/(7|8).(0)"],
major_replace: "11"
}, {
name_replace: "Internet Explorer",
patterns: ["(Trident)/(6)\\.(0)"],
major_replace: "10"
}, {
name_replace: "Internet Explorer",
patterns: ["(Trident)/(5)\\.(0)"],
major_replace: "9"
}, {
name_replace: "Internet Explorer",
patterns: ["(Trident)/(4)\\.(0)"],
major_replace: "8"
}, {
family: "Firefox",
patterns: ["(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+)", "(Firefox)/(\\d+)\\.(\\d+)(pre|[ab]\\d+[a-z]*|)"]
}]
, K = [{
family: "Windows",
name_replace: "Windows Phone",
patterns: ["(Windows Phone) (?:OS[ /])?(\\d+)\\.(\\d+)", "^UCWEB.*; (wds) (\\d+)\\.(d+)(?:\\.(\\d+)|);", "^UCWEB.*; (wds) (\\d+)\\.(\\d+)(?:\\.(\\d+)|);"]
}, {
family: "Windows",
name_replace: "Windows Mobile",
patterns: ["(Windows ?Mobile)"]
}, {
name_replace: "Android",
patterns: ["(Android)[ \\-/](\\d+)(?:\\.(\\d+)|)(?:[.\\-]([a-z0-9]+)|)", "(Android) (d+);", "^UCWEB.*; (Adr) (\\d+)\\.(\\d+)(?:[.\\-]([a-z0-9]+)|);", "^(JUC).*; ?U; ?(?:Android|)(\\d+)\\.(\\d+)(?:[\\.\\-]([a-z0-9]+)|)", "(android)\\s(?:mobile\\/)(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)|)|)", "(Silk-Accelerated=[a-z]{4,5})", "Puffin/[\\d\\.]+AT", "Puffin/[\\d\\.]+AP"]
}, {
name_replace: "Chrome OS",
patterns: ["(x86_64|aarch64)\\ (\\d+)\\.(\\d+)\\.(\\d+).*Chrome.*(?:CitrixChromeApp)$", "(CrOS) [a-z0-9_]+ (\\d+)\\.(\\d+)(?:\\.(\\d+)|)"]
}, {
name_replace: "Windows",
patterns: ["(Windows 10)", "(Windows NT 6\\.4)", "(Windows NT 10\\.0)"],
major_replace: "10"
}, {
name_replace: "Windows",
patterns: ["(Windows NT 6\\.3; ARM;)", "(Windows NT 6.3)"],
major_replace: "8",
minor_replace: "1"
}, {
name_replace: "Windows",
patterns: ["(Windows NT 6\\.2)"],
major_replace: "8"
}, {
name_replace: "Windows",
patterns: ["(Windows NT 6\\.1)"],
major_replace: "7"
}, {
name_replace: "Windows",
patterns: ["(Windows NT 6\\.0)"],
major_replace: "Vista"
}, {
name_replace: "Windows",
patterns: ["(Windows (?:NT 5\\.2|NT 5\\.1))"],
major_replace: "XP"
}, {
name_replace: "Mac OS X",
patterns: ["((?:Mac[ +]?|; )OS[ +]X)[\\s+/](?:(\\d+)[_.](\\d+)(?:[_.](\\d+)|)|Mach-O)", "\\w+\\s+Mac OS X\\s+\\w+\\s+(\\d+).(\\d+).(\\d+).*", "(?:PPC|Intel) (Mac OS X)"]
}, {
name_replace: "Mac OS X",
patterns: [" (Dar)(win)/(10).(d+).*((?:i386|x86_64))"],
major_replace: "10",
minor_replace: "6"
}, {
name_replace: "Mac OS X",
patterns: [" (Dar)(win)/(11).(\\d+).*\\((?:i386|x86_64)\\)"],
major_replace: "10",
minor_replace: "7"
}, {
name_replace: "Mac OS X",
patterns: [" (Dar)(win)/(12).(\\d+).*\\((?:i386|x86_64)\\)"],
major_replace: "10",
minor_replace: "8"
}, {
name_replace: "Mac OS X",
patterns: [" (Dar)(win)/(13).(\\d+).*\\((?:i386|x86_64)\\)"],
major_replace: "10",
minor_replace: "9"
}, {
name_replace: "iOS",
patterns: ["^UCWEB.*; (iPad|iPh|iPd) OS (\\d+)_(\\d+)(?:_(\\d+)|);", "(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS)[ +]+(\\d+)[_\\.](\\d+)(?:[_\\.](\\d+)|)", "(iPhone|iPad|iPod); Opera", "(iPhone|iPad|iPod).*Mac OS X.*Version/(\\d+)\\.(\\d+)", "\\b(iOS[ /]|iOS; |iPhone(?:/| v|[ _]OS[/,]|; | OS : |\\d,\\d/|\\d,\\d; )|iPad/)(\\d{1,2})[_\\.](\\d{1,2})(?:[_\\.](\\d+)|)", "\\((iOS);", "(iPod|iPhone|iPad)", "Puffin/[\\d\\.]+IT", "Puffin/[\\d\\.]+IP"]
}, {
family: "Chrome",
name_replace: "Chromecast",
patterns: ["(CrKey -)(?:[ /](\\d+)\\.(\\d+)(?:\\.(\\d+)|)|)", "(CrKey[ +]armv7l)(?:[ /](\\d+)\\.(\\d+)(?:\\.(\\d+)|)|)", "(CrKey)(?:[/](\\d+)\\.(\\d+)(?:\\.(\\d+)|)|)"]
}, {
name_replace: "Debian",
patterns: ["([Dd]ebian)"]
}, {
family: "Linux",
name_replace: "Linux",
patterns: ["(Linux Mint)(?:/(\\d+)|)"]
}, {
family: "Linux",
patterns: ["(Ubuntu|Kubuntu|Arch Linux|CentOS|Slackware|Gentoo|openSUSE|SUSE|Red Hat|Fedora|PCLinuxOS|Mageia|(?:Free|Open|Net|\\b)BSD)", "(Mandriva)(?: Linux|)/(?:[\\d.-]+m[a-z]{2}(\\d+).(\\d)|)", "(Linux)(?:[ /](\\d+)\\.(\\d+)(?:\\.(\\d+)|)|)", "\\(linux-gnu\\)"]
}, {
family: "BlackBerry",
name_replace: "BlackBerry OS",
patterns: ["(BB10);.+Version/(\\d+)\\.(\\d+)\\.(\\d+)", "(Black[Bb]erry)[0-9a-z]+/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+)|)", "(Black[Bb]erry).+Version/(\\d+)\\.(\\d+)\\.(\\d+)(?:\\.(\\d+)|)", "(Black[Bb]erry)"]
}, {
patterns: ["(Fedora|Red Hat|PCLinuxOS|Puppy|Ubuntu|Kindle|Bada|Sailfish|Lubuntu|BackTrack|Slackware|(?:Free|Open|Net|\\b)BSD)[/ ](\\d+)\\.(\\d+)(?:\\.(\\d+)|)(?:\\.(\\d+)|)"]
}]
, D = navigator.userAgent
, j = function() {
return D
}
, z = function(t) {
return q(t || D, I)
}
, Y = function(t) {
return q(t || D, K)
};
function G(t, e) {
try {
var i = new RegExp(e).exec(t);
return i ? {
name: i[1] || "Other",
major: i[2] || "0",
minor: i[3] || "0",
patch: i[4] || "0"
} : null
} catch (Zs) {
return null
}
}
function q(t, e) {
for (var i = null, n = null, o = -1, r = !1; ++o < e.length && !r; ) {
i = e[o];
for (var s = -1; ++s < i.patterns.length && !r; )
r = null !== (n = G(t, i.patterns[s]))
}
return r ? (n.family = i.family || i.name_replace || n.name,
i.name_replace && (n.name = i.name_replace),
i.major_replace && (n.major = i.major_replace),
i.minor_replace && (n.minor = i.minor_replace),
i.patch_replace && (n.minor = i.patch_replace),
n) : {
family: "Other",
name: "Other",
major: "0",
minor: "0",
patch: "0"
}
}
function X() {
var t = this
, e = z()
, i = j();
this.agent = i.toLowerCase(),
this.language = window.navigator.userLanguage || window.navigator.language,
this.isCSS1 = "CSS1Compat" === (document.compatMode || ""),
this.width = function() {
return window.innerWidth && window.document.documentElement.clientWidth ? Math.min(window.innerWidth, document.documentElement.clientWidth) : window.innerWidth || window.document.documentElement.clientWidth || document.body.clientWidth
}
,
this.height = function() {
return window.innerHeight || window.document.documentElement.clientHeight || document.body.clientHeight
}
,
this.scrollX = function() {
return window.pageXOffset !== undefined ? window.pageXOffset : t.isCSS1 ? document.documentElement.scrollLeft : document.body.scrollLeft
}
,
this.scrollY = function() {
return window.pageYOffset !== undefined ? window.pageYOffset : t.isCSS1 ? document.documentElement.scrollTop : document.body.scrollTop
}
,
this.type = "Edge" === e.family ? "edge" : "Internet Explorer" === e.family ? "ie" : "Chrome" === e.family ? "chrome" : "Safari" === e.family ? "safari" : "Firefox" === e.family ? "firefox" : e.family.toLowerCase(),
this.version = 1 * (e.major + "." + e.minor) || 0,
this.hasPostMessage = !!window.postMessage
}
X.prototype.hasEvent = function(t, e) {
return "on" + t in (e || document.createElement("div"))
}
,
X.prototype.getScreenDimensions = function() {
var t = {};
for (var e in window.screen)
t[e] = window.screen[e];
return delete t.orientation,
t
}
,
X.prototype.getOrientation = function() {
return "function" == typeof matchMedia ? matchMedia("(orientation: landscape)").matches ? "landscape" : "portrait" : window.screen.orientation ? screen.orientation.type.startsWith("landscape") ? "landscape" : "portrait" : this.width() > this.height() ? "landscape" : "portrait"
}
,
X.prototype.getWindowDimensions = function() {
return [this.width(), this.height()]
}
,
X.prototype.interrogateNavigator = function() {
var t = {};
for (var e in window.navigator)
if ("webkitPersistentStorage" !== e)
try {
t[e] = window.navigator[e]
} catch (Fs) {}
if (delete t.plugins,
delete t.mimeTypes,
t.plugins = [],
window.navigator.plugins)
for (var i = 0; i < window.navigator.plugins.length; i++)
t.plugins[i] = window.navigator.plugins[i].filename;
return t
}
,
X.prototype.supportsPST = function() {
return !(document.hasPrivateToken === undefined || !document.featurePolicy || !document.featurePolicy.allowsFeature) && document.featurePolicy.allowsFeature("private-state-token-redemption")
}
,
X.prototype.supportsCanvas = function() {
var t = document.createElement("canvas");
return !(!t.getContext || !t.getContext("2d"))
}
,
X.prototype.supportsWebAssembly = function() {
try {
if ("object" == typeof WebAssembly && "function" == typeof WebAssembly.instantiate) {
var t = new WebAssembly.Module(Uint8Array.of(0, 97, 115, 109, 1, 0, 0, 0));
if (t instanceof WebAssembly.Module)
return new WebAssembly.Instance(t)instanceof WebAssembly.Instance
}
} catch (Zs) {
return !1
}
}
;
var Q = new X
, $ = new function() {
var t, e, i = Y(), n = j();
this.mobile = (t = !!("ontouchstart"in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0),
e = !1,
i && (e = ["iOS", "Windows Phone", "Windows Mobile", "Android", "BlackBerry OS"].indexOf(i.name) >= 0),
t && e),
this.dpr = function() {
return window.devicePixelRatio || 1
}
,
this.highContrast = !(!window.matchMedia || !window.matchMedia("(forced-colors: active)").matches) || !(!window.matchMedia || !window.matchMedia("(-ms-high-contrast: active)").matches),
this.mobile && i && "Windows" === i.family && n.indexOf("touch") < 0 && (this.mobile = !1),
this.os = "iOS" === i.family ? "ios" : "Android" === i.family ? "android" : "Mac OS X" === i.family ? "mac" : "Windows" === i.family ? "windows" : "Linux" === i.family ? "linux" : i.family.toLowerCase(),
this.version = function() {
if (!i)
return "unknown";
var t = i.major;
return i.minor && (t += "." + i.minor),
i.patch && (t += "." + i.patch),
t
}()
}
, tt = {
Browser: Q,
System: $,
supportsPAT: function() {
return ("mac" === $.os || "ios" === $.os) && "safari" === Q.type && Q.version >= 16.2
}
}
, et = {
CHALLENGE_PASSED: "challenge-passed",
CHALLENGE_ESCAPED: "challenge-escaped",
CHALLENGE_CLOSED: "challenge-closed",
CHALLENGE_EXPIRED: "challenge-expired",
CHALLENGE_ALREADY_CLOSED: "challenge-already-closed",
AUTHENTICATION_DONE: "authentication-done",
AUTHENTICATION_PASSED: "authentication-passed"
}
, it = {
INVALID_DATA: "invalid-data",
INVALID_MFA_DATA: "invalid-mfa-data",
BUNDLE_ERROR: "bundle-error",
RATE_LIMITED: "rate-limited",
NETWORK_ERROR: "network-error",
CHALLENGE_ERROR: "challenge-error",
CHALLENGE_FAILED: "challenge-failed",
INCOMPLETE_ANSWER: "incomplete-answer",
MISSING_CAPTCHA: "missing-captcha",
MISSING_SITEKEY: "missing-sitekey",
INVALID_CAPTCHA_ID: "invalid-captcha-id",
AUTHENTICATION_ERROR: "authentication-error"
}
, nt = "https://hcaptcha.com"
, ot = "https://api.hcaptcha.com"
, rt = "https://api2.hcaptcha.com"
, st = "https://cloudflare.hcaptcha.com"
, at = [nt, ot, rt, st]
, lt = {
__proto__: null,
CaptchaEvent: et,
CaptchaError: it,
ROOT_ENDPOINT: nt,
API_ENDPOINT: ot,
API2_ENDPOINT: rt,
CF_ENDPOINT: st,
EXECUTE_MODE: {
AUTO: "auto"
},
MAIN_ENDPOINTS: at
}
, ht = {
host: null,
file: null,
sitekey: null,
a11y_tfe: null,
pingdom: "safari" === tt.Browser.type && "windows" !== tt.System.os && "mac" !== tt.System.os && "ios" !== tt.System.os && "android" !== tt.System.os,
assetDomain: "https://newassets.hcaptcha.com",
assetUrl: "https://newassets.hcaptcha.com/captcha/v1/d067130695f80003c94cd7a16954f23aa0ed457d/static",
width: null,
height: null,
mobile: null,
orientation: "portrait",
challenge_type: null,
mfaData: {},
prevSmsinEkey: null
}
, ct = {
theme: {
contrast: {
hcolor: "#FFF",
hfcolor: "#000"
},
light: {
hcolor: "#00838F",
hfcolor: "#FFF"
}
},
text: "#555555",
accent: "#926FC1",
warn: {
base: "#BF1722",
hover: "#9D1B1B"
},
link: {
base: "#00838f",
hover: "#00838f"
},
white: "#fff",
grey: {
base: "#333",
placeholder: "#f0eff0",
selected: "#5C6F8A",
hover: "#D1D7E0"
},
purple: "#65549b",
hoverOff: "#00838f",
skipHoverOff: "#737373",
hoverOn: "#00838f",
error: "#fc481e",
outline: "#262D38",
outlineLight: "#3D4A5C"
}
, ut = {
se: null,
custom: !1,
tplinks: "on",
language: null,
reportapi: "https://accounts.hcaptcha.com",
endpoint: ot,
pstIssuer: "https://pst-issuer.hcaptcha.com",
isSecure: !1,
size: "normal",
theme: "light",
mode: undefined,
assethost: null,
imghost: null,
recaptchacompat: "true",
pat: "on",
andint: "off",
confirmNav: !1
}
, pt = "https://30910f52569b4c17b1081ead2dae43b4@sentry.hcaptcha.com/6"
, dt = "d067130695f80003c94cd7a16954f23aa0ed457d"
, ft = "prod";
function mt(t, e) {
try {
t.style.width = "302px",
t.style.height = "76px",
t.style.backgroundColor = "#f9e5e5",
t.style.position = "relative",
t.innerHTML = "";
var i = document.createElement("div");
i.style.width = "284px",
i.style.position = "absolute",
i.style.top = "12px",
i.style.left = "10px",
i.style.color = "#7c0a06",
i.style.fontSize = "14px",
i.style.fontWeight = "normal",
i.style.lineHeight = "18px",
i.innerHTML = e || "Please <a style='color:inherit;text-decoration:underline; font: inherit' target='_blank' href='https://www.whatismybrowser.com/guides/how-to-update-your-browser/auto'>upgrade your browser</a> to complete this captcha.",
t.appendChild(i)
} catch (n) {
console.error("[hCaptcha] Error while rendering in the provided container.", {
container: t
}, n)
}
}
function yt(t) {
for (var e = document.getElementsByClassName("h-captcha"), i = [], n = 0; n < e.length; n++)
i.push(e[n]);
var o = [];
if ("off" !== ut.recaptchacompat)
for (var r = document.getElementsByClassName("g-recaptcha"), s = 0; s < r.length; s++)
o.push(r[s]);
for (var a = [].concat(i, o), l = 0; l < a.length; l++)
t(a[l])
}
var gt = "The captcha failed to load."
, bt = []
, vt = /(https?|wasm):\/\//
, wt = /^at\s/
, Vt = /:\d+:\d+/g
, xt = ["Rate limited or network error. Please retry.", "Unreachable code should not be executed", "Out of bounds memory access"];
function kt(t) {
return vt.test(t) ? null : t.trim().replace(wt, "").replace(Vt, "")
}
function Et(t) {
for (var e = [], i = 0, n = t.length; i < n; i++) {
var o = kt(t[i]);
null !== o && e.push(o)
}
return e.join("\n").trim()
}
function At(t) {
if (t && "string" == typeof t && -1 === bt.indexOf(t) && !(bt.length >= 10)) {
var e = Et(t.trim().split("\n").slice(0, 2));
bt.push(e)
}
}
function Ct(t) {
try {
t && "object" == typeof t || (t = {
name: "error",
message: "",
stack: ""
});
var e = {
message: t.name + ": " + t.message
};
t.stack && (e.stack_trace = {
trace: t.stack
}),
Lt("report error", "internal", "debug", e),
Ut(t.message || "internal error", "error", ht.file, t)
} catch (i) {}
}
function St(t) {
return function() {
try {
return t.apply(this, arguments)
} catch (Fs) {
throw Ct(Fs),
yt((function(t) {
mt(t, gt)
}
)),
Fs
}
}
}
function Rt(t) {
return -1 !== t.indexOf("hsw.js") || -1 !== t.indexOf("/1/api.js") || -1 !== t.indexOf("newassets.hcaptcha.com") || -1 !== t.indexOf("hcaptcha.html")
}
function Tt(t) {
return "string" == typeof t && (-1 !== t.indexOf("chrome-extension://") || -1 !== t.indexOf("safari-extension://") || -1 !== t.indexOf("moz-extension://") || -1 !== t.indexOf("chrome://internal-") || -1 !== t.indexOf("/hammerhead.js") || -1 !== t.indexOf("eval at buildCode") || -1 !== t.indexOf("u.c.b.r.o.w.s.e.r/ucbrowser_script.js"))
}
function _t(t, e) {
if (void 0 === e && (e = !0),
ut.sentry)
try {
if (window.Raven && Raven.config(pt, {
release: dt,
environment: ft,
autoBreadcrumbs: {
xhr: !0,
dom: !0,
sentry: !0
},
tags: {
"site-host": ht.host,
"site-key": ht.sitekey,
"endpoint-url": ut.endpoint,
"asset-url": ht.assetUrl
},
sampleRate: .01,
ignoreErrors: ["Cannot set properties of undefined (setting 'data')", "canvas.contentDocument", "Can't find variable: ZiteReader", "Cannot redefine property: hcaptcha", "Cannot redefine property: BetterJsPop", "grecaptcha is not defined", "jQuery is not defined", "$ is not defined", "Script is not a function"]
}),
window.Raven && Raven.setUserContext({
"Browser-Agent": tt.Browser.agent,
"Browser-Type": tt.Browser.type,
"Browser-Version": tt.Browser.version,
"System-OS": tt.System.os,
"System-Version": tt.System.version,
"Is-Mobile": tt.System.mobile
}),
Lt(ht.file + "_internal", "setup", "info"),
t) {
var i = function(t, i, n, o, r, s) {
r && "object" == typeof r || (r = {});
var a = r.name || "Error"
, l = r.stack || "";
(Rt(l) || e) && (St(At)(l),
Tt(l) || Tt(i) || (Lt(t, "global", "debug", {
crossOrigin: s,
name: a,
url: i,
line: n,
column: o,
stack: l
}),
Mt("global", r, {
message: t
})))
}
, n = function(t) {
var e = t.reason;
null == e && t.detail && t.detail.reason && (e = (t = t.detail).reason);
var i = "";
if (t.reason && "undefined" != typeof t.reason.stack && (i = t.reason.stack),
Rt(i) && t.reason instanceof Error) {
St(At)(i);
var n = e.url || "";
Tt(i) || Tt(n) || (Lt(e.message, "global-rejection", "debug", {
promise: t.promise,
name: e.name,
url: n,
line: e.lineno,
column: e.columnno,
stack: i
}),
Mt("global-rejection", e, {
promise: t.promise,
message: e.message
}))
}
};
"function" == typeof window.addEventListener ? (window.addEventListener("error", (function(t) {
i(t.message, t.filename, t.lineno, t.colno, t.error, function(t) {
try {
return !("Script error." !== t.message || "" !== t.filename && null != t.filename || 0 !== t.lineno && null != t.lineno || 0 !== t.colno && null != t.colno || null != t.error)
} catch (Zs) {
return !1
}
}(t))
}
), !0),
window.addEventListener("unhandledrejection", n, !0)) : e && (window.onerror = i,
window.onunhandledrejection = n)
}
} catch (o) {}
}
function Ut(t, e, i, n) {
try {
if (e = e || "error",
"string" == typeof t) {
for (var o = xt.length; o--; )
if (t.indexOf(xt[o]) >= 0) {
t = xt[o];
break
}
/^self\.\w* is not a function$/.test(t) ? t = "self.X is not a function" : /^\w\._.*\[t\] is not a function/.test(t) && (t = "x._y[t] is not a function")
}
if (ut.sentry) {
var r = "warn" === e ? "warning" : e;
window.Raven && Raven.captureMessage(t, {
level: r,
logger: i,
extra: n
})
}
} catch (s) {}
}
function Mt(t, e, i) {
try {
return (i = i || {}).error = e,
Ut(t + ":" + (("string" == typeof e ? e : e && e.message) || i.message || "missing-error"), "error", t, i)
} catch (n) {}
}
function Lt(t, e, i, n) {
try {
ut.sentry && window.Raven && Raven.captureBreadcrumb({
message: t,
category: e,
level: i,
data: n
})
} catch (o) {}
}
var Wt = {
__proto__: null,
_stackTraceSet: bt,
refineLine: kt,
toRefinedString: Et,
reportError: Ct,
errorWrapper: St,
initSentry: _t,
sentryMessage: Ut,
sentryError: Mt,
sentryBreadcrumb: Lt
};
function Ft() {
var t = []
, e = null
, i = !1
, n = []
, o = function(e) {
try {
if (t.length >= 10)
return;
var i = e.stack;
if ("string" != typeof i)
return;
var n = i.trim().split("\n");
"Error" === n[0] && (n = n.slice(1));
for (var o = /extension/, r = n.length - 1, s = [], a = 0; r >= 0 && s.length < 6; ) {
var l = n[r]
, h = kt(l);
if (null !== h) {
if (o.test(l)) {
s = [h];
break
}
if (s.unshift(h),
a = Math.max(a, h.length),
s.length >= 2 && a >= 30)
break;
r--
} else
r--
}
var c = s.join("\n").trim();
c && -1 === t.indexOf(c) && t.push(c)
} catch (e) {
return
}
}
, r = function() {
if (i)
try {
for (var t = 0, r = n.length; t < r; t++)
n[t]();
null !== e && clearTimeout(e)
} catch (s) {
o(s)
} finally {
n = [],
e = null,
i = !1
}
}
, s = function(e, s) {
var a = Object.getOwnPropertyDescriptor(e, s);
if (!(a && !1 === a.writable)) {
var l, h = Object.prototype.hasOwnProperty.call(e, s), c = e[s];
l = "undefined" != typeof Proxy && "undefined" != typeof Reflect ? new Proxy(c,{
apply: function(e, n, s) {
return i && (t.length >= 10 && r(),
o(new Error)),
Reflect.apply(e, n, s)
}
}) : function() {
return i && (t.length >= 10 && r(),
o(new Error)),
c.apply(this, arguments)
}
,
Object.defineProperty(e, s, {
configurable: !0,
enumerable: !a || a.enumerable,
writable: !0,
value: l
}),
n.push((function() {
h ? Object.defineProperty(e, s, {
configurable: !0,
enumerable: !a || a.enumerable,
writable: !0,
value: c
}) : delete e[s]
}
))
}
};
return {
run: function(t) {
var n = (t = t || {}).timeout
, a = !0 === t.topLevel && t.topLevel;
if (!i) {
i = !0,
"number" == typeof n && isFinite(n) && (e = setTimeout((function() {
r()
}
), n));
try {
s(Document.prototype, "getElementsByClassName"),
s(Document.prototype, "getElementById"),
s(Document.prototype, "getElementsByTagName"),
s(Document.prototype, "querySelector"),
s(Document.prototype, "querySelectorAll"),
s(Element.prototype, "getElementsByClassName"),
s(Element.prototype, "getElementsByTagName"),
s(Element.prototype, "querySelector"),
s(Element.prototype, "querySelectorAll"),
s(HTMLElement.prototype, "click"),
s(HTMLElement.prototype, "getElementsByClassName"),
s(HTMLElement.prototype, "getElementsByTagName"),
s(HTMLElement.prototype, "querySelector"),
s(HTMLElement.prototype, "querySelectorAll"),
a || s(console, "log")
} catch (l) {
r(),
o(l)
}
}
},
collect: function() {
return t.concat(bt)
}
}
}
var Zt = {
getCookie: function(t) {
var e = document.cookie.replace(/ /g, "").split(";");
try {
for (var i = "", n = e.length; n-- && !i; )
e[n].indexOf(t) >= 0 && (i = e[n]);
return i
} catch (Zs) {
return ""
}
},
hasCookie: function(t) {
return !!Zt.getCookie(t)
},
supportsAPI: function() {
try {
return "hasStorageAccess"in document && "requestStorageAccess"in document
} catch (Zs) {
return !1
}
},
hasAccess: function() {
return new Promise((function(t) {
document.hasStorageAccess().then((function() {
t(!0)
}
))["catch"]((function() {
t(!1)
}
))
}
))
},
requestAccess: function() {
try {
return document.requestStorageAccess()
} catch (Zs) {
return Promise.resolve()
}
}
}
, Ot = {
array: function(t) {
if (0 === t.length)
return t;
for (var e, i, n = t.length; --n > -1; )
i = Math.floor(Math.random() * (n + 1)),
e = t[n],
t[n] = t[i],
t[i] = e;
return t
}
};
function Bt(t) {
this.r = 255,
this.g = 255,
this.b = 255,
this.a = 1,
this.h = 1,
this.s = 1,
this.l = 1,
this.parseString(t)
}
function Nt(t, e, i) {
return i < 0 && (i += 1),
i > 1 && (i -= 1),
i < 1 / 6 ? t + 6 * (e - t) * i : i < .5 ? e : i < 2 / 3 ? t + (e - t) * (2 / 3 - i) * 6 : t
}
Bt.hasAlpha = function(t) {
return "string" == typeof t && (-1 !== t.indexOf("rgba") || 9 === t.length && "#" === t[0])
}
,
Bt.prototype.parseString = function(t) {
t && (0 === t.indexOf("#") ? this.fromHex(t) : 0 === t.indexOf("rgb") && this.fromRGBA(t))
}
,
Bt.prototype.fromHex = function(t) {
var e = 1;
9 === t.length && (e = parseInt(t.substr(7, 2), 16) / 255);
var i = (t = t.substr(1, 6)).replace(/^([a-f\d])([a-f\d])([a-f\d])?$/i, (function(t, e, i, n) {
return e + e + i + i + n + n
}
))
, n = parseInt(i, 16)
, o = n >> 16
, r = n >> 8 & 255
, s = 255 & n;
this.setRGBA(o, r, s, e)
}
,
Bt.prototype.fromRGBA = function(t) {
var e = t.indexOf("rgba")
, i = t.substr(e).replace(/rgba?\(/, "").replace(/\)/, "").replace(/[\s+]/g, "").split(",")
, n = Math.floor(parseInt(i[0]))
, o = Math.floor(parseInt(i[1]))
, r = Math.floor(parseInt(i[2]))
, s = parseFloat(i[3]);
this.setRGBA(n, o, r, s)
}
,
Bt.prototype.setRGB = function(t, e, i) {
this.setRGBA(t, e, i, 1)
}
,
Bt.prototype.setRGBA = function(t, e, i, n) {
this.r = t,
this.g = e,
this.b = i,
this.a = isNaN(n) ? this.a : n,
this.updateHSL()
}
,
Bt.prototype.hsl2rgb = function(t, e, i) {
if (0 === e) {
var n = Math.round(255 * i);
return this.setRGB(n, n, n),
this
}
var o = i <= .5 ? i * (1 + e) : i + e - i * e
, r = 2 * i - o;
return this.r = Math.round(255 * Nt(r, o, t + 1 / 3)),
this.g = Math.round(255 * Nt(r, o, t)),
this.b = Math.round(255 * Nt(r, o, t - 1 / 3)),
this.h = t,
this.s = e,
this.l = i,
this
}
,
Bt.prototype.updateHSL = function() {
var t, e = this.r / 255, i = this.g / 255, n = this.b / 255, o = Math.max(e, i, n), r = Math.min(e, i, n), s = null, a = (o + r) / 2;
if (o === r)
s = t = 0;
else {
var l = o - r;
switch (t = a > .5 ? l / (2 - o - r) : l / (o + r),
o) {
case e:
s = (i - n) / l + (i < n ? 6 : 0);
break;
case i:
s = (n - e) / l + 2;
break;
case n:
s = (e - i) / l + 4
}
s /= 6
}
return this.h = s,
this.s = t,
this.l = a,
this
}
,
Bt.prototype.getHex = function() {
return "#" + ((1 << 24) + (this.r << 16) + (this.g << 8) + this.b).toString(16).slice(1)
}
,
Bt.prototype.getRGBA = function() {
return "rgba(" + this.r + "," + this.g + "," + this.b + "," + this.a + ")"
}
,
Bt.prototype.clone = function() {
var t = new Bt;
return t.setRGBA(this.r, this.g, this.b, this.a),
t
}
,
Bt.prototype.mix = function(t, e) {
t instanceof Bt || (t = new Bt(t));
var i = new Bt
, n = Math.round(this.r + e * (t.r - this.r))
, o = Math.round(this.g + e * (t.g - this.g))
, r = Math.round(this.b + e * (t.b - this.b));
return i.setRGB(n, o, r),
i
}
,
Bt.prototype.blend = function(t, e) {
var i;
t instanceof Bt || (t = new Bt(t));
for (var n = [], o = 0; o < e; o++)
i = this.mix.call(this, t, o / e),
n.push(i);
return n
}
,
Bt.prototype.lightness = function(t) {
return t > 1 && (t /= 100),
this.hsl2rgb(this.h, this.s, t),
this
}
,
Bt.prototype.saturation = function(t) {
return t > 1 && (t /= 100),
this.hsl2rgb(this.h, t, this.l),
this
}
,
Bt.prototype.hue = function(t) {
return this.hsl2rgb(t / 360, this.s, this.l),
this
}
;
var Pt = {
decode: function(t) {
try {
var e = t.split(".");
return {
header: JSON.parse(atob(e[0])),
payload: JSON.parse(atob(e[1])),
signature: atob(e[2].replace(/_/g, "/").replace(/-/g, "+")),
raw: {
header: e[0],
payload: e[1],
signature: e[2]
}
}
} catch (Zs) {
throw new Error("Token is invalid.")
}
},
checkExpiration: function(t) {
if (new Date(1e3 * t) <= new Date(Date.now()))
throw new Error("Token is expired.");
return !0
}
}
, Ht = {
_setup: !1,
_af: null,
_fps: 60,
_singleFrame: 1 / 60,
_lagThreshold: 500,
_adjustedLag: 1 / 60 * 2,
_startTime: 0,
_lastTime: 0,
_nextTime: 1 / 60,
_elapsed: 0,
_difference: 0,
_renders: [],
_paused: !1,
_running: !1,
_tick: !1,
frame: 0,
time: 0,
requestFrame: null,
cancelFrame: null,
_init: function() {
for (var t, e = window.requestAnimationFrame, i = window.cancelAnimationFrame, n = ["ms", "moz", "webkit", "o"], o = n.length; --o > -1 && !e; )
e = window[n[o] + "RequestAnimationFrame"],
i = window[n[o] + "CancelAnimationFrame"] || window[n[o] + "CancelRequestAnimationFrame"];
e ? (Ht.requestFrame = e.bind(window),
Ht.cancelFrame = i.bind(window)) : (Ht.requestFrame = (t = Date.now(),
function(e) {
window.setTimeout((function() {
e(Date.now() - t)
}
), 1e3 * Ht._singleFrame)
}
),
Ht.cancelFrame = function(t) {
return clearTimeout(t),
null
}
),
Ht._setup = !0,
Ht._startTime = Ht._lastTime = Date.now()
},
add: function(t, e) {
Ht._renders.push({
callback: t,
paused: !1 == !e || !1
}),
!1 == !e && Ht.start()
},
remove: function(t) {
for (var e = Ht._renders.length; --e > -1; )
Ht._renders[e].callback === t && (Ht._renders[e].paused = !0,
Ht._renders.splice(e, 1))
},
start: function(t) {
if (!1 === Ht._setup && Ht._init(),
t)
for (var e = Ht._renders.length; --e > -1; )
Ht._renders[e].callback === t && (Ht._renders[e].paused = !1);
!0 !== Ht._running && (Ht._paused = !1,
Ht._running = !0,
Ht._af = Ht.requestFrame(Ht._update))
},
stop: function(t) {
if (t)
for (var e = Ht._renders.length; --e > -1; )
Ht._renders[e].callback === t && (Ht._renders[e].paused = !0);
else
!1 !== Ht._running && (Ht._af = Ht.cancelFrame(Ht._af),
Ht._paused = !0,
Ht._running = !1)
},
elapsed: function() {
return Date.now() - Ht._startTime
},
fps: function(t) {
return arguments.length ? (Ht._fps = t,
Ht._singleFrame = 1 / (Ht._fps || 60),
Ht._adjustedLag = 2 * Ht._singleFrame,
Ht._nextTime = Ht.time + Ht._singleFrame,
Ht._fps) : Ht._fps
},
isRunning: function() {
return Ht._running
},
_update: function() {
if (!Ht._paused && (Ht._elapsed = Date.now() - Ht._lastTime,
Ht._tick = !1,
Ht._elapsed > Ht._lagThreshold && (Ht._startTime += Ht._elapsed - Ht._adjustedLag),
Ht._lastTime += Ht._elapsed,
Ht.time = (Ht._lastTime - Ht._startTime) / 1e3,
Ht._difference = Ht.time - Ht._nextTime,
Ht._difference > 0 && (Ht.frame++,
Ht._nextTime += Ht._difference + (Ht._difference >= Ht._singleFrame ? Ht._singleFrame / 4 : Ht._singleFrame - Ht._difference),
Ht._tick = !0),
Ht._af = Ht.requestFrame(Ht._update),
!0 === Ht._tick && Ht._renders.length > 0))
for (var t = Ht._renders.length; --t > -1; )
Ht._renders[t] && !1 === Ht._renders[t].paused && Ht._renders[t].callback(Ht.time)
}
};
var Jt = function(t) {
for (var e, i, n, o = {}, r = t ? t.indexOf("&") >= 0 ? t.split("&") : [t] : [], s = 0; s < r.length; s++)
if (r[s].indexOf("=") >= 0) {
if (e = r[s].split("="),
i = decodeURIComponent(e[0]),
"false" !== (n = decodeURIComponent(e[1])) && "true" !== n || (n = "true" === n),
"theme" === i || "themeConfig" === i)
try {
n = JSON.parse(n)
} catch (Zs) {}
o[i] = n
}
return o
}
, It = function(t) {
var e = [];
for (var i in t) {
var n = t[i];
n = "object" == typeof n ? JSON.stringify(n) : n,
e.push([encodeURIComponent(i), encodeURIComponent(n)].join("="))
}
return e.join("&")
}
, Kt = {
__proto__: null,
Decode: Jt,
Encode: It
};
function Dt(t, e, i) {
return Math.min(Math.max(t, e), i)
}
function jt(t, e, i, n, o, r) {
var s = (t - e) * (o - n) / (i - e) + n;
return !1 === r ? s : Dt(s, Math.min(n, o), Math.max(n, o))
}
function zt(t) {
return t * (Math.PI / 180)
}
function Yt(t) {
return 180 * t / Math.PI
}
function Gt(t, e, i) {
return t + (e - t) * i
}
var qt = {
__proto__: null,
clamp: Dt,
range: jt,
toRadians: zt,
toDegrees: Yt,
lerp: Gt
};
function Xt(t, e, i, n) {
this._period = t,
this._interval = e,
this._date = [],
this._data = [],
this._prevTimestamp = 0,
this._meanPeriod = 0,
this._medianPeriod = 0,
this._medianMaxHeapSize = 32,
this._medianMinHeap = [],
this._medianMaxHeap = [],
this._meanCounter = 0,
this._baseTime = i || 0,
this._maxEventsPerWindow = n || 128
}
function Qt(t) {
return new Promise((function(e, i) {
t(e, i, (function n() {
t(e, i, n)
}
))
}
))
}
function $t(t, e) {
var i = "attempts"in (e = e || {}) ? e.attempts : 1
, n = e.delay || 0
, o = e.onFail;
return Qt((function(e, r, s) {
t().then(e, (function(t) {
var e = i-- > 0;
if (o) {
var a = o(t, i);
a && (e = !1 !== a.retry && e,
n = a.delay)
}
e ? setTimeout(s, n || 0) : r(t)
}
))
}
))
}
function te(t, e) {
var i = "attempts"in (e = e || {}) ? e.attempts : 1
, n = e.delay || 0
, o = e.onFail
, r = null
, s = !1
, a = Qt((function(e, a, l) {
s ? a(new Error("Request cancelled")) : t().then(e, (function(t) {
if (s)
a(new Error("Request cancelled"));
else {
var e = i-- > 0;
if (o) {
var h = o(t, i);
h && (e = !1 !== h.retry && e,
n = h.delay)
}
e ? r = setTimeout(l, n || 0) : a(t)
}
}
))
}
));
return a.cancel = function() {
s = !0,
r && (clearTimeout(r),
r = null)
}
,
a
}
function ee(t, e) {
return new Promise((function(i, n) {
var o = setTimeout((function() {
n(new Error("timeout"))
}
), e);
t.then((function(t) {
clearTimeout(o),
i(t)
}
))["catch"]((function(t) {
clearTimeout(o),
n(t)
}
))
}
))
}
Xt.prototype.getMeanPeriod = function() {
return this._meanPeriod
}
,
Xt.prototype.getMedianPeriod = function() {
return this._medianPeriod
}
,
Xt.prototype.getData = function() {
return this._cleanStaleData(),
this._data
}
,
Xt.prototype.push = function(t, e) {
this._cleanStaleData();
var i = 0 === this._date.length;
if (t - (this._date[this._date.length - 1] || 0) >= this._period && (this._date.push(t),
this._data.push(e),
this._data.length > this._maxEventsPerWindow && (this._date.shift(),
this._data.shift())),
!i) {
var n = t - this._prevTimestamp;
this._meanPeriod = (this._meanPeriod * this._meanCounter + n) / (this._meanCounter + 1),
this._meanCounter++,
this._medianPeriod = this._calculateMedianPeriod(n)
}
this._prevTimestamp = t
}
,
Xt.prototype._calculateMedianPeriod = function(t) {
this._medianMaxHeap || (this._medianMaxHeap = []),
this._medianMinHeap || (this._medianMinHeap = []);
var e = this._fetchMedianPeriod();
return 0 === this._medianMaxHeap.length && 0 === this._medianMinHeap.length ? this._medianMaxHeap.push(t) : t <= e ? (this._medianMaxHeap.push(t),
this._medianMaxHeap.sort((function(t, e) {
return e - t
}
))) : (this._medianMinHeap.push(t),
this._medianMinHeap.sort((function(t, e) {
return t - e
}
))),
this._rebalanceHeaps(),
this._fetchMedianPeriod()
}
,
Xt.prototype._rebalanceHeaps = function() {
var t = null;
this._medianMaxHeap.length > this._medianMinHeap.length + 1 ? (t = this._medianMaxHeap.shift(),
this._medianMinHeap.push(t),
this._medianMinHeap.sort((function(t, e) {
return t - e
}
))) : this._medianMinHeap.length > this._medianMaxHeap.length + 1 && (t = this._medianMinHeap.shift(),
this._medianMaxHeap.push(t),
this._medianMaxHeap.sort((function(t, e) {
return e - t
}
))),
this._medianMinHeap.length == this._medianMaxHeap.length && this._medianMaxHeap.length > this._medianMaxHeapSize && (this._medianMinHeap.pop(),
this._medianMaxHeap.pop())
}
,
Xt.prototype._fetchMedianPeriod = function() {
return this._medianMaxHeap.length > this._medianMinHeap.length ? this._medianMaxHeap[0] : this._medianMinHeap.length > this._medianMaxHeap.length ? this._medianMinHeap[0] : 0 !== this._medianMaxHeap.length && 0 !== this._medianMinHeap.length ? (this._medianMaxHeap[0] + this._medianMinHeap[0]) / 2 : -1
}
,
Xt.prototype._cleanStaleData = function() {
for (var t = Date.now() - this._baseTime, e = this._date.length - 1; e >= 0; e--) {
if (t - this._date[e] >= this._interval) {
this._date.splice(0, e + 1),
this._data.splice(0, e + 1);
break
}
}
}
;
var ie = {
__proto__: null,
promiseRecursive: Qt,
promiseRetry: $t,
promiseRetryWithCancel: te,
withTimeout: ee
};
function ne(t) {
return t && t.split(/[?#]/)[0].split(".").pop() || ""
}
var oe = {
__proto__: null,
getFileExtension: ne
};
function re(t, e) {
var i = (new TextEncoder).encode(t);
return crypto.subtle.digest(e, i)
}
function se(t, e) {
return re(t, e).then((function(t) {
for (var e = new Uint8Array(t), i = "", n = 0; n < e.length; n++) {
var o = e[n].toString(16);
1 === o.length && (o = "0" + o),
i += o
}
return i
}
))
}
function ae(t, e) {
for (var i = 0, n = 0; n < t.length; n++)
i = (16 * i + parseInt(t.charAt(n), 16)) % e;
return i
}
var le = {
__proto__: null,
generate: re,
generateHex: se,
hexModulo: ae
};
function he(t) {
var e = [].slice.call(arguments, 1);
"string" == typeof t ? window[t] ? "function" == typeof window[t] ? window[t].apply(null, e) : console.log("[hCaptcha] Callback '" + t + "' is not a function.") : console.log("[hCaptcha] Callback '" + t + "' is not defined.") : "function" == typeof t ? t.apply(null, e) : console.log("[hcaptcha] Invalid callback '" + t + "'.")
}
var ce, ue = {
UUID: function(t) {
return /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i.test(t) || !1
},
UUIDv4: function(t) {
return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t) || !1
},
URL: function(t) {
var e = new RegExp("^(http|https)://")
, i = new RegExp("^((?!(data|javascript):).)*$");
return e.test(t) && i.test(t) && -1 === t.indexOf("#")
},
IMAGE: function(t) {
return (0 === t.indexOf("https://") || 0 === t.indexOf("/")) && t.endsWith(".png")
}
};
function pe(t) {
var e, i, n = "string" == typeof t ? t : JSON.stringify(t), o = -1;
for (ce = ce || function() {
var t, e, i, n = [];
for (e = 0; e < 256; e++) {
for (t = e,
i = 0; i < 8; i++)
t = 1 & t ? 3988292384 ^ t >>> 1 : t >>> 1;
n[e] = t
}
return n
}(),
e = 0,
i = n.length; e < i; e += 1)
o = o >>> 8 ^ ce[255 & (o ^ n.charCodeAt(e))];
return (-1 ^ o) >>> 0
}
var de = {
container: {},
set: function(t, e) {
this.container[t] = e
},
clear: function() {
this.container = {}
}
}
, fe = {
__proto__: null,
createErrorsAggregator: Ft,
uuid: function() {
return Math.random().toString(36).substr(2)
},
Render: Ht,
JWT: Pt,
Color: Bt,
Shuffle: Ot,
MathUtil: qt,
Storage: Zt,
Query: Kt,
TimeBuffer: Xt,
PromiseUtil: ie,
ErrorUtil: Wt,
UrlUtil: oe,
HashUtil: le,
_stackTraceSet: bt,
refineLine: kt,
toRefinedString: Et,
reportError: Ct,
errorWrapper: St,
initSentry: _t,
sentryMessage: Ut,
sentryError: Mt,
sentryBreadcrumb: Lt,
renderFallback: mt,
forEachCaptchaNode: yt,
callUserFunction: function() {
try {
he.apply(null, arguments)
} catch (Fs) {
console.error("[hCaptcha] There was an error in your callback."),
console.error(Fs)
}
},
composeParams: function(t, e) {
for (var i = ["hl", "custom", "andint", "tplinks", "sitekey", "theme", "type", "size", "tabindex", "callback", "expired-callback", "chalexpired-callback", "error-callback", "open-callback", "close-callback", "endpoint", "challenge-container", "confirm-nav", "orientation", "mode"], n = {}, o = 0; o < i.length; o++) {
var r = i[o]
, s = e && e[r];
s || (s = t.getAttribute("data-" + r)),
s && (n[r] = s)
}
return n
},
is: ue,
promiseRecursive: Qt,
promiseRetry: $t,
promiseRetryWithCancel: te,
withTimeout: ee,
crc32: pe,
TaskContext: de,
getFileExtension: ne,
generate: re,
generateHex: se,
hexModulo: ae
};
function me() {
var t = this;
this._bottom = 0,
this._top = 0,
this.storage = {},
this.add = function(e) {
return t.storage[t._top] = e,
t._top++,
e
}
,
this.remove = function() {
if (!t.empty()) {
var e = t._bottom
, i = t.storage[e];
return t.storage[e] = null,
t._bottom++,
i
}
}
,
this.empty = function() {
return t._top === t._bottom
}
,
this.size = function() {
return t._top - t._bottom
}
}
var ye = {
queue: me,
depth: function Ns(t, e, i) {
if ("object" == typeof t && t[e] && t[e].length > 0)
for (var n = t[e].length; --n > -1; )
Ns(t[e][n], e, i);
t !== undefined && i(t)
},
breathe: function(t, e, i) {
var n = new me
, o = null;
for (n.add(t),
o = n.remove(); o; ) {
for (var r = 0; r < o[e].length; r++)
n.add(o[e][r]);
i(o),
o = n.remove()
}
}
};
function ge() {
this.children = [],
this._events = []
}
function be(t) {
try {
if (!t)
throw new Error("Event object is required");
if (t.touches || t.changedTouches) {
var e = t.touches && t.touches.length >= 1 ? t.touches : t.changedTouches;
if (e && e[0])
return e[0].x = e[0].clientX,
e[0].y = e[0].clientY,
e[0]
}
var i = "number" == typeof t.pageX && "number" == typeof t.pageY
, n = "number" == typeof t.clientX && "number" == typeof t.clientY;
return i ? {
x: t.pageX,
y: t.pageY
} : n ? {
x: t.clientX,
y: t.clientY
} : null
} catch (Fs) {
return Ut("DomEvent Coords Error", "error", "core", {
error: Fs,
event: t
}),
null
}
}
function ve(t, e) {
var i = t;
"down" === t || "up" === t || "move" === t || "over" === t || "out" === t ? i = !(tt.System.mobile && "desktop" !== e || "mobile" === e) || "down" !== t && "up" !== t && "move" !== t ? "mouse" + t : "down" === t ? "touchstart" : "up" === t ? "touchend" : "touchmove" : "enter" === t && (i = "keydown");
return i
}
ge.prototype.initComponent = function(t, e) {
var i = new t(e);
return i._parent = this,
this.children.push(i),
i
}
,
ge.prototype.destroy = function() {
var t = this;
try {
ye.depth(this, "children", (function(e) {
if (t !== e)
for (var i = t.children.length; --i > -1; )
t.children[i] === e && t.children.splice(i, 1);
e._destroy && e._destroy(),
e = null
}
))
} catch (Zs) {
throw new Error("Trouble destroying nodes: " + Zs)
}
return null
}
,
ge.prototype._destroy = function() {
this.onDestroy && this.onDestroy();
for (var t = this._events.length || 0; --t > -1; )
this._events.splice(t, 1);
this.children = null,
this._destroy = null,
this._events = null,
this.destroy = null,
this.emit = null,
this.on = null,
this.off = null,
this.initComponent = null
}
,
ge.prototype.on = function(t, e) {
for (var i = this._events.length, n = !1; --i > -1 && !1 === n; )
this._events[i].event === t && (n = this._events[i]);
!1 === n && (n = {
event: t,
listeners: []
},
this._events.push(n)),
n.listeners.push(e)
}
,
ge.prototype.off = function(t, e) {
for (var i = this._events.length; --i > -1; )
if (this._events[i].event === t) {
for (var n = this._events[i].listeners.length; --n > -1; )
this._events[i].listeners[n] === e && this._events[i].listeners[n].splice(n, 1);
0 === this._events[i].listeners.length && this._events[i].splice(i, 1)
}
}
,
ge.prototype.emit = function(t) {
for (var e = Array.prototype.slice.call(arguments, 1), i = this._events.length; --i > -1; )
if (this._events[i].event === t)
for (var n = this._events[i].listeners.length; --n > -1; )
this._events[i].listeners[n].apply(this, e)
}
;
function we(t, e, i, n) {
var o = ve(e)
, r = e
, s = 0
, a = 0
, l = e.indexOf("swipe") >= 0
, h = 0;
function c(t) {
var e = be(t);
e && (s = e.pageX,
a = e.pageY,
h = Date.now())
}
function u(e) {
var n = be(e);
if (n) {
var r, l, c = n.pageX - s, u = n.pageY - a, p = Date.now() - h;
if (!(p > 300) && (c <= -25 ? r = "swipeleft" : c >= 25 && (r = "swiperight"),
u <= -25 ? l = "swipeup" : u >= 25 && (l = "swipedown"),
o === r || o === l)) {
var d = r === o ? r : l;
e.action = d,
e.targetElement = t,
e.swipeSpeed = Math.sqrt(c * c + u * u) / p,
e.deltaX = c,
e.deltaY = u,
i(e)
}
}
}
function p(n) {
try {
var o = function(t) {
var e = t ? t.type : "";
return "touchstart" === e || "mousedown" === e ? e = "down" : "touchmove" === e || "mousemove" === e ? e = "move" : "touchend" === e || "mouseup" === e ? e = "up" : "mouseover" === e ? e = "over" : "mouseout" === e && (e = "out"),
e
}(n);
if ((n = n || window.event) && "object" == typeof n || Lt("DomEvent Missing.", "core", "info", n = {}),
"down" === o || "move" === o || "up" === o || "over" === o || "out" === o || "click" === o) {
var r = be(n);
if (!r)
return;
var s = t.getBoundingClientRect();
n.windowX = r.x,
n.windowY = r.y,
n.elementX = n.windowX - (s.x || s.left),
n.elementY = n.windowY - (s.y || s.top)
}
if (n.keyNum = n.which || n.keyCode || 0,
"enter" === e && 13 !== n.keyNum && 32 !== n.keyNum)
return;
n.action = o,
n.targetElement = t,
i(n)
} catch (Fs) {
Ut("DomEvent Error", "error", "core", {
error: Fs,
event: n
})
}
}
return n || (n = {}),
l ? function() {
if (!("addEventListener"in t))
return;
t.addEventListener("mousedown", c, n),
t.addEventListener("mouseup", u, n),
t.addEventListener("touchstart", c, n),
t.addEventListener("touchend", u, n)
}() : function() {
if (!("addEventListener"in t))
return void t.attachEvent("on" + o, p);
t.addEventListener(o, p, n)
}(),
{
event: o,
rawEvent: r,
callback: i,
remove: function() {
l ? (t.removeEventListener("mousedown", c, n),
t.removeEventListener("mouseup", u, n),
t.removeEventListener("touchstart", c, n),
t.removeEventListener("touchend", u, n)) : "removeEventListener"in t ? t.removeEventListener(o, p, n) : t.detachEvent("on" + o, p)
}
}
}
var Ve = ["Webkit", "Moz", "ms"]
, xe = document.createElement("div").style
, ke = {};
function Ee(t) {
var e = ke[t];
return e || (t in xe ? t : ke[t] = function(t) {
for (var e = t[0].toUpperCase() + t.slice(1), i = Ve.length; i--; )
if ((t = Ve[i] + e)in xe)
return t
}(t) || t)
}
function Ae(t, e, i) {
if (this.dom = null,
this._clss = [],
this._nodes = [],
this._listeners = [],
this._frag = null,
t && "object" == typeof t) {
this.dom = t;
var n = []
, o = [];
"string" == typeof t.className && (o = t.className.split(" "));
for (var r = 0; r < o.length; r++)
"" !== o[r] && " " !== o[r] && n.push(o[r]);
this._clss = n
} else
i !== undefined && null !== i || (i = !0),
(!t || "string" == typeof t && (t.indexOf("#") >= 0 || t.indexOf(".") >= 0)) && (t && (e = t),
t = "div"),
this.dom = document.createElement(t),
e && (e.indexOf("#") >= 0 ? this.dom.id = e.split("#")[1] : (e.indexOf(".") >= 0 && (e = e.split(".")[1]),
this.addClass.call(this, e)));
!0 === i && (this._frag = document.createDocumentFragment(),
this._frag.appendChild(this.dom))
}
Ae.prototype.cloneNode = function(t) {
try {
return this.dom.cloneNode(t)
} catch (Zs) {
return Mt("element", Zs),
null
}
}
,
Ae.prototype.createElement = function(t, e) {
try {
var i = new Ae(t,e,!1);
return this.appendElement.call(this, i),
this._nodes.push(i),
i
} catch (Zs) {
return Mt("element", Zs),
null
}
}
,
Ae.prototype.appendElement = function(t) {
if (t === undefined)
return Ct({
name: "DomElement Add Child",
message: "Child Element is undefined"
});
var e;
e = t._frag !== undefined && null !== t._frag ? t._frag : t.dom !== undefined ? t.dom : t;
try {
t instanceof Ae && (t._parent = this),
this.dom.appendChild(e)
} catch (Zs) {
Ct({
name: "DomElement Add Child",
message: "Failed to append child."
})
}
return this
}
,
Ae.prototype.removeElement = function(t) {
try {
var e;
if (t._nodes)
for (e = t._nodes.length; e--; )
t.removeElement(t._nodes[e]);
for (e = this._nodes.length; --e > -1; )
this._nodes[e] === t && this._nodes.splice(e, 1);
var i = t instanceof Ae ? t.dom : t
, n = i.parentNode === this.dom ? this.dom : i.parentNode;
if (n.removeChild && n.removeChild(i),
!n)
throw new Error("Child component does not have correct setup");
t.__destroy && t.__destroy()
} catch (Zs) {
Ct({
name: "DomElement Remove Child",
message: Zs.message || "Failed to remove child."
})
}
}
,
Ae.prototype.addClass = function(t) {
return !1 === this.hasClass.call(this, t) && (this._clss.push(t),
this.dom.className = this._clss.join(" ")),
this
}
,
Ae.prototype.hasClass = function(t) {
for (var e = -1 !== this.dom.className.split(" ").indexOf(t), i = this._clss.length; i-- && !e; )
e = this._clss[i] === t;
return e
}
,
Ae.prototype.removeClass = function(t) {
for (var e = this._clss.length; --e > -1; )
this._clss[e] === t && this._clss.splice(e, 1);
return this.dom.className = this._clss.join(" "),
this
}
,
Ae.prototype.text = function(t) {
if (this && this.dom) {
if (!t)
return this.dom.textContent;
for (var e, i, n, o, r = /&(.*?);/g, s = /<[a-z][\s\S]*>/i; null !== (e = r.exec(t)); ) {
!1 === s.test(e[0]) ? (n = e[0],
o = void 0,
(o = document.createElement("div")).innerHTML = n,
i = o.textContent,
t = t.replace(new RegExp(e[0],"g"), i)) : t = t.replace(e[0], "")
}
return this.dom.textContent = t,
this
}
}
,
Ae.prototype.content = Ae.prototype.text,
Ae.prototype.css = function(t) {
var e, i = "ie" === tt.Browser.type && 8 === tt.Browser.version, n = "safari" === tt.Browser.type && 12 === Math.floor(tt.Browser.version);
for (var o in t) {
e = t[o];
try {
if ("transition" === o && n)
continue;
"opacity" !== o && "zIndex" !== o && "fontWeight" !== o && isFinite(e) && parseFloat(e) === e && (e += "px");
var r = Ee(o);
i && "opacity" === o ? this.dom.style.filter = "alpha(opacity=" + 100 * e + ")" : i && Bt.hasAlpha(e) ? this.dom.style[r] = new Bt(e).getHex() : this.dom.style[r] = e
} catch (Fs) {}
}
return this
}
,
Ae.prototype.backgroundImage = function(t, e, i, n) {
var o = e !== undefined && i !== undefined
, r = {
"-ms-high-contrast-adjust": "none"
};
if ("object" == typeof e && (n = e),
n === undefined && (n = {}),
o) {
var s = t.width / t.height
, a = e
, l = a / s;
n.cover && l < i && (a = (l = i) * s),
n.contain && l > i && (a = (l = i) * s),
r.width = a,
r.height = l,
n.center && (r.marginLeft = -a / 2,
r.marginTop = -l / 2,
r.position = "absolute",
r.left = "50%",
r.top = "50%"),
(n.left || n.right) && (r.left = n.left || 0,
r.top = n.top || 0)
}
"ie" === tt.Browser.type && 8 === tt.Browser.version ? r.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + t.src + "',sizingMethod='scale')" : (r.background = "url(" + t.src + ")",
r.backgroundPosition = "50% 50%",
r.backgroundRepeat = "no-repeat",
r.backgroundSize = o ? a + "px " + l + "px" : n.cover ? "cover" : n.contain ? "contain" : "100%"),
this.css.call(this, r)
}
,
Ae.prototype.setAttribute = function(t, e) {
var i;
if ("object" == typeof t)
for (var n in t)
i = t[n],
this.dom.setAttribute(n, i);
else
this.dom.setAttribute(t, e)
}
,
Ae.prototype.removeAttribute = function(t, e) {
var i;
if ("object" == typeof t)
for (var n in t)
i = t[n],
this.dom.removeAttribute(n, i);
else
this.dom.removeAttribute(t, e)
}
,
Ae.prototype.addEventListener = function(t, e, i) {
var n = new we(this.dom,t,e,i);
if (this._listeners.push(n),
t !== n.event && (n.event.indexOf("mouse") >= 0 || n.event.indexOf("touch") >= 0)) {
var o = ve(t, n.event.indexOf("touch") >= 0 ? "desktop" : "mobile");
if (o === n.event)
return;
this.addEventListener.call(this, o, e, i)
}
}
,
Ae.prototype.removeEventListener = function(t, e, i) {
for (var n, o = this._listeners.length, r = ve(t); --o > -1; )
(n = this._listeners[o]).event === r && n.callback === e && (this._listeners.splice(o, 1),
n.remove())
}
,
Ae.prototype.focus = function() {
this.dom.focus()
}
,
Ae.prototype.blur = function() {
this.dom.blur()
}
,
Ae.prototype.html = function(t) {
return t && (this.dom.innerHTML = t),
this.dom.innerHTML
}
,
Ae.prototype.__destroy = function() {
for (var t, e = this._listeners.length; --e > -1; )
t = this._listeners[e],
this._listeners.splice(e, 1),
this.dom.removeEventListener ? this.dom.removeEventListener(t.event, t.handler) : this.dom.detachEvent("on" + t.event, t.handler);
return this.dom = null,
this._clss = [],
this._nodes = [],
this._listeners = [],
this._frag = null,
t = null,
null
}
,
Ae.prototype.isConnected = function() {
return !!this.dom && ("isConnected"in this.dom ? this.dom.isConnected : !(this.dom.ownerDocument && this.dom.ownerDocument.compareDocumentPosition(this.dom) & this.dom.DOCUMENT_POSITION_DISCONNECTED))
}
;
var Ce = {
self: function(t, e) {
var i = {}
, n = Array.prototype.slice.call(arguments, 2);
for (var o in e.apply(t, n),
t)
i[o] = t[o]
},
proto: function(t, e) {
t.prototype = Object.create(e.prototype),
t.prototype.constructor = t
}
};
function Se(t, e) {
Ce.self(this, Ae, e || "div", t),
this.children = [],
this._events = []
}
Ce.proto(Se, Ae),
Se.prototype.initComponent = function(t, e, i) {
try {
var n = new t(e);
return n._parent = this,
this.children.push(n),
n.dom && (i !== undefined ? i.appendElement && i.appendElement(n) : this.appendElement(n)),
n
} catch (Zs) {
return Mt("component", Zs),
null
}
}
,
Se.prototype.removeComponent = function(t) {
for (var e = this.children.length; --e > -1; )
if (this.children[e] === t) {
this.children.splice(e, 1);
break
}
t._destroy && t._destroy(),
t = null
}
,
Se.prototype.removeAllComponents = function() {
for (var t = this.children.length; --t > -1; )
this.children[t]._destroy && this.children[t]._destroy();
this.children = []
}
,
Se.prototype.destroy = function() {
var t = this;
try {
ye.depth(this, "children", (function(e) {
if (t !== e)
for (var i = t.children.length; --i > -1; )
t.children[i] === e && t.children.splice(i, 1);
e._destroy && e._destroy(),
e = null
}
))
} catch (Zs) {
throw new Error("Trouble destroying nodes: " + Zs)
}
return null
}
,
Se.prototype._destroy = function() {
try {
this.onDestroy && this.onDestroy(),
this._parent.removeElement && this._parent.removeElement(this);
for (var t = this._events.length; --t > -1; )
this._events.splice(t, 1);
this.children = null,
this._destroy = null,
this._events = null,
this.destroy = null,
this.emit = null,
this.on = null,
this.off = null,
this.initComponent = null
} catch (Zs) {
Ct({
name: "DomComponent",
message: "Failed to destroy."
})
}
}
,
Se.prototype.on = function(t, e) {
for (var i = this._events.length, n = !1; --i > -1 && !1 === n; )
this._events[i].event === t && (n = this._events[i]);
!1 === n && (n = {
event: t,
listeners: []
},
this._events.push(n)),
n.listeners.push(e)
}
,
Se.prototype.off = function(t, e) {
for (var i = this._events.length; --i > -1; )
if (this._events[i].event === t) {
for (var n = this._events[i].listeners.length; --n > -1; )
this._events[i].listeners[n] === e && this._events[i].listeners.splice(n, 1);
0 === this._events[i].listeners.length && this._events.splice(i, 1)
}
}
,
Se.prototype.emit = function(t) {
for (var e = Array.prototype.slice.call(arguments, 1), i = this._events.length; --i > -1 && this._events; )
if (this._events[i].event === t)
for (var n = this._events[i].listeners.length; --n > -1; )
this._events[i].listeners[n].apply(this, e)
}
;
var Re = {
eventName: function(t, e) {
var i = t;
"down" === t || "up" === t || "move" === t || "over" === t || "out" === t ? i = !(tt.System.mobile && "desktop" !== e || "mobile" === e) || "down" !== t && "up" !== t && "move" !== t ? "mouse" + t : "down" === t ? "touchstart" : "up" === t ? "touchend" : "touchmove" : "enter" === t && (i = "keydown");
return i
},
actionName: function(t) {
var e = t;
return "touchstart" === e || "mousedown" === e ? e = "down" : "touchmove" === e || "mousemove" === e ? e = "move" : "touchend" === e || "mouseup" === e ? e = "up" : "mouseover" === e ? e = "over" : "mouseout" === e && (e = "out"),
e
},
eventCallback: function(t, e, i) {
var n = Re.actionName(t);
return function(o) {
try {
if (o = o || window.event,
"down" === n || "move" === n || "up" === n || "over" === n || "out" === n || "click" === n) {
var r = Re.eventCoords(o);
if (!r)
return;
var s = i.getBoundingClientRect();
o.windowX = r.x,
o.windowY = r.y,
o.elementX = o.windowX - (s.x || s.left),
o.elementY = o.windowY - (s.y || s.top)
}
if (o.keyNum = o.which || o.keyCode || 0,
"enter" === t && 13 !== o.keyNum && 32 !== o.keyNum)
return;
o.action = n,
o.targetElement = i,
e(o)
} catch (Fs) {
Ut("Normalize Error", "error", "core", {
error: Fs
})
}
}
},
eventCoords: function(t) {
try {
if (!t)
throw new Error("Event object is required");
var e = t;
if (t.touches || t.changedTouches) {
var i = t.touches && t.touches.length >= 1 ? t.touches : t.changedTouches;
i && i[0] && (e = i[0])
}
return "number" == typeof e.pageX && "number" == typeof e.pageY ? {
x: e.pageX,
y: e.pageY
} : "number" == typeof e.clientX && "number" == typeof e.clientY ? {
x: e.clientX,
y: e.clientY
} : null
} catch (Fs) {
return Ut("Normalize Coords Error", "error", "core", {
error: Fs,
event: t
}),
null
}
}
};
function Te(t) {
if (null === t)
return "";
var e = [];
return _e(t, e),
e.join("&")
}
function _e(t, e) {
var i, n;
if ("object" == typeof t)
for (n in t)
!0 === Ue(i = t[n]) ? _e(i, e) : e[e.length] = Me(n, i);
else if (!0 === Array.isArray(t))
for (var o = 0; o < t.length; o++)
!0 === Ue(i = t[o]) ? _e(t, e) : e[e.length] = Me(n, i);
else
e[e.length] = Me(t)
}
function Ue(t) {
return !0 === Array.isArray(t) || "object" == typeof t
}
function Me(t, e) {
return encodeURIComponent(t) + "=" + encodeURIComponent(null === e ? "" : e)
}
var Le = {
af: "Afrikaans",
sq: "Albanian",
am: "Amharic",
ar: "Arabic",
hy: "Armenian",
az: "Azerbaijani",
eu: "Basque",
be: "Belarusian",
bn: "Bengali",
bg: "Bulgarian",
bs: "Bosnian",
my: "Burmese",
ca: "Catalan",
ceb: "Cebuano",
zh: "Chinese",
"zh-CN": "Chinese Simplified",
"zh-TW": "Chinese Traditional",
co: "Corsican",
hr: "Croatian",
cs: "Czech",
da: "Danish",
nl: "Dutch",
en: "English",
eo: "Esperanto",
et: "Estonian",
fi: "Finnish",
fr: "French",
fy: "Frisian",
gd: "Gaelic",
gl: "Galacian",
ka: "Georgian",
de: "German",
el: "Greek",
gu: "Gujurati",
ht: "Haitian",
ha: "Hausa",
haw: "Hawaiian",
he: "Hebrew",
hi: "Hindi",
hmn: "Hmong",
hu: "Hungarian",
is: "Icelandic",
ig: "Igbo",
id: "Indonesian",
ga: "Irish",
it: "Italian",
ja: "Japanese",
jw: "Javanese",
kn: "Kannada",
kk: "Kazakh",
km: "Khmer",
rw: "Kinyarwanda",
ky: "Kirghiz",
ko: "Korean",
ku: "Kurdish",
lo: "Lao",
la: "Latin",
lv: "Latvian",
lt: "Lithuanian",
lb: "Luxembourgish",
mk: "Macedonian",
mg: "Malagasy",
ms: "Malay",
ml: "Malayalam",
mt: "Maltese",
mi: "Maori",
mr: "Marathi",
mn: "Mongolian",
ne: "Nepali",
no: "Norwegian",
ny: "Nyanja",
or: "Oriya",
fa: "Persian",
pl: "Polish",
"pt-BR": "Portuguese (Brazil)",
pt: "Portuguese (Portugal)",
ps: "Pashto",
pa: "Punjabi",
ro: "Romanian",
ru: "Russian",
sm: "Samoan",
sn: "Shona",
sd: "Sindhi",
si: "Sinhalese",
sr: "Serbian",
sk: "Slovak",
sl: "Slovenian",
so: "Somali",
st: "Southern Sotho",
es: "Spanish",
su: "Sundanese",
sw: "Swahili",
sv: "Swedish",
tl: "Tagalog",
tg: "Tajik",
ta: "Tamil",
tt: "Tatar",
te: "Teluga",
th: "Thai",
tr: "Turkish",
tk: "Turkmen",
ug: "Uyghur",
uk: "Ukrainian",
ur: "Urdu",
uz: "Uzbek",
vi: "Vietnamese",
cy: "Welsh",
xh: "Xhosa",
yi: "Yiddish",
yo: "Yoruba",
zu: "Zulu"
}
, We = {
zh: {
"I am human": "我是真实访客"
},
ar: {
"I am human": "أنا الإنسان"
},
af: {
"I am human": "Ek is menslike"
},
am: {
"I am human": "እኔ ሰው ነኝ"
},
hy: {
"I am human": "Ես մարդ եմ"
},
az: {
"I am human": "Mən insanam"
},
eu: {
"I am human": "Gizakia naiz"
},
bn: {
"I am human": "আমি মানব নই"
},
bg: {
"I am human": "Аз съм човек"
},
ca: {
"I am human": "Sóc humà"
},
hr: {
"I am human": "Ja sam čovjek"
},
cs: {
"I am human": "Jsem člověk"
},
da: {
"I am human": "Jeg er et menneske"
},
nl: {
"I am human": "Ik ben een mens"
},
et: {
"I am human": "Ma olen inimeste"
},
fi: {
"I am human": "Olen ihminen"
},
fr: {
"I am human": "Je suis humain"
},
gl: {
"I am human": "Eu son humano"
},
ka: {
"I am human": "მე ვარ ადამიანი"
},
de: {
"I am human": "Ich bin ein Mensch"
},
el: {
"I am human": "Είμαι άνθρωπος"
},
gu: {
"I am human": "હું માનવ છું"
},
iw: {
"I am human": ". אני אנושי"
},
hi: {
"I am human": "मैं मानव हूं"
},
hu: {
"I am human": "Nem vagyok robot"
},
is: {
"I am human": "Ég er manneskja"
},
id: {
"I am human": "Aku manusia"
},
it: {
"I am human": "Sono un essere umano"
},
ja: {
"I am human": "私は人間です"
},
kn: {
"I am human": "ನಾನು ಮಾನವನು"
},
ko: {
"I am human": "사람입니다"
},
lo: {
"I am human": "ຂ້ອຍເປັນມະນຸດ"
},
lv: {
"I am human": "Es esmu cilvēks"
},
lt: {
"I am human": "Aš esu žmogaus"
},
ms: {
"I am human": "Saya manusia"
},
ml: {
"I am human": "ഞാൻ മനുഷ്യനാണ്"
},
mr: {
"I am human": "मी मानवी आहे"
},
mn: {
"I am human": "Би бол хүн"
},
no: {
"I am human": "Jeg er et menneske"
},
fa: {
"I am human": "من انسانی هستم"
},
pl: {
"I am human": "Jestem człowiekiem"
},
pt: {
"I am human": "Sou humano"
},
ro: {
"I am human": "Eu sunt om"
},
ru: {
"I am human": "Я человек"
},
sr: {
"I am human": "Ja sam ljudski"
},
si: {
"I am human": "මම මිනිස්සු"
},
sk: {
"I am human": "Ja som človek"
},
sl: {
"I am human": "Jaz sem človeški"
},
es: {
"I am human": "Soy humano"
},
sw: {
"I am human": "Mimi ni binadamu"
},
sv: {
"I am human": "Jag är människa"
},
ta: {
"I am human": "நான் மனித"
},
te: {
"I am human": "నేను మనిషిని"
},
th: {
"I am human": "ผมมนุษย์"
},
tr: {
"I am human": "Ben bir insanım"
},
uk: {
"I am human": "Я людини"
},
ur: {
"I am human": "میں انسان ہوں"
},
vi: {
"I am human": "Tôi là con người"
},
zu: {
"I am human": "Ngingumuntu"
}
}
, Fe = null
, Ze = "ltr"
, Oe = {
translate: function(t, e) {
var i = Oe.getBestTrans(We)
, n = i && i[t];
if (n = n || t,
e)
for (var o = Object.keys(e), r = o.length; r--; )
n = n.replace(new RegExp("{{" + o[r] + "}}","g"), e[o[r]]);
return n
},
getBestTrans: function(t) {
var e = Oe.getLocale();
return e in t ? t[e] : Oe.getShortLocale(e)in t ? t[Oe.getShortLocale(e)] : "en"in t ? t.en : null
},
resolveLocale: function(t) {
var e = Oe.getShortLocale(t);
return "in" === e && (t = "id"),
"iw" === e && (t = "he"),
"nb" === e && (t = "no"),
"ji" === e && (t = "yi"),
"zh-CN" === t && (t = "zh"),
"jv" === e && (t = "jw"),
"me" === e && (t = "bs"),
Le[t] ? t : Le[e] ? e : "en"
},
getLocale: function() {
return Oe.resolveLocale(Fe || window.navigator.userLanguage || window.navigator.language)
},
setLocale: function(t) {
"zh-Hans" === t ? t = "zh-CN" : "zh-Hant" === t && (t = "zh-TW"),
Fe = t
},
getShortLocale: function(t) {
return t.indexOf("-") >= 0 ? t.substring(0, t.indexOf("-")) : t
},
getLangName: function(t) {
return Le[t]
},
isShortLocale: function(t) {
return 2 === t.length || 3 === t.length
},
addTable: function(t, e) {
if (e || (e = Object.create(null)),
We[t]) {
var i = We[t];
for (var n in e)
i[n] = e[n]
} else
We[t] = e;
return We[t]
},
getTable: function(t) {
return We[t]
},
addTables: function(t) {
for (var e in t)
Oe.addTable(e, t[e]);
return We
},
getTables: function() {
return We
},
getDirection: function() {
return Ze || "ltr"
},
isRTL: function() {
return "rtl" === Ze
},
setDirection: function(t, e) {
var i = e.split("-")[0];
Ze = -1 !== ["ar", "he", "fa", "ur", "ps", "dv", "yi"].indexOf(i) ? "rtl" : "ltr",
t.setAttribute("dir", Ze || "ltr"),
"ltr" === Ze ? t.css({
direction: "ltr",
textAlign: "left"
}) : t.css({
direction: "rtl",
textAlign: "right"
})
}
}
, Be = {
400: "Rate limited or network error. Please retry.",
429: "Your computer or network has sent too many requests.",
500: "Cannot contact hCaptcha. Check your connection and try again."
}
, Ne = function(t) {
try {
return Oe.translate(Be[t])
} catch (Zs) {
return !1
}
}
, Pe = "undefined" != typeof XDomainRequest && !("withCredentials"in XMLHttpRequest.prototype);
function He(t, e, i) {
i = i || {};
var n = {
url: e,
method: t.toUpperCase(),
responseType: i.responseType || "string",
dataType: i.dataType || null,
withCredentials: i.withCredentials || !1,
headers: i.headers || null,
data: i.data || null,
timeout: i.timeout || null,
pst: i.pst || null
};
n.legacy = n.withCredentials && Pe;
var o = "fetch"in window && n.pst ? Ie : Je;
return i.retry ? (i.retry.cancellable || !1 ? te : $t)((function() {
return i.data && (n.data = "function" == typeof i.data ? i.data() : i.data,
"json" === n.dataType && "object" == typeof n.data ? n.data = JSON.stringify(n.data) : "query" === n.dataType && (n.data = Te(n.data))),
o(n)
}
), i.retry) : (i.data && (n.data = "function" == typeof i.data ? i.data() : i.data,
"json" === n.dataType && "object" == typeof n.data ? n.data = JSON.stringify(n.data) : "query" === n.dataType && (n.data = Te(n.data))),
o(n))
}
function Je(t) {
var e = t.legacy ? new XDomainRequest : new XMLHttpRequest
, i = "function" == typeof t.url ? t.url() : t.url;
return new Promise((function(n, o) {
var r, s = function(r) {
return function() {
var s = e.response
, a = e.statusText || ""
, l = e.status
, h = e.readyState;
if (s || "" !== e.responseType && "text" !== e.responseType || (s = e.responseText),
4 === h || t.legacy) {
try {
if (s) {
var c = e.contentType;
e.getResponseHeader && (c = e.getResponseHeader("content-type"));
var u = -1 !== (c = c ? c.toLowerCase() : "").indexOf("application/json");
if ("ArrayBuffer"in window && s instanceof ArrayBuffer && u && (s = (new TextDecoder).decode(new Uint8Array(s))),
"string" == typeof s)
try {
s = JSON.parse(s)
} catch (p) {
u && Mt("http", p, {
url: i,
config: t,
responseType: e.responseType,
contentType: c,
response: s
})
}
}
} catch (p) {
return Mt("http", p, {
contentType: c
}),
void o({
event: it.NETWORK_ERROR,
endpoint: i,
response: s,
state: h,
status: l,
message: Ne(l || 400) || a
})
}
if ("error" === r || l >= 400 && l <= 511)
return void o({
event: it.NETWORK_ERROR,
endpoint: i,
response: s,
state: h,
status: l,
message: 409 === l && s.error || Ne(l || 400) || a
});
n({
state: h,
status: l,
body: s,
message: a
})
}
}
};
if ((e.onload = s("complete"),
e.onerror = e.ontimeout = s("error"),
e.open(t.method, i),
"arraybuffer" === t.responseType && (!t.legacy && "TextDecoder"in window && "ArrayBuffer"in window ? e.responseType = "arraybuffer" : (t.responseType = "json",
t.headers.accept = "application/json")),
t.timeout && (e.timeout = "function" == typeof t.timeout ? t.timeout(i) : t.timeout),
!t.legacy) && (e.withCredentials = t.withCredentials,
t.headers))
for (var a in t.headers)
r = t.headers[a],
e.setRequestHeader(a, r);
setTimeout((function() {
e.send(t.data)
}
), 0)
}
))
}
function Ie(t) {
var e, i = "function" == typeof t.url ? t.url() : t.url, n = new Headers;
if ("json" === t.responseType && n.set("content-type", "application/json"),
t.headers)
for (var o in t.headers)
e = t.headers[o],
n.set(o, e);
var r = {
method: t.method,
credentials: "include",
body: t.data,
headers: n
};
if (t.pst) {
var s = {};
"token-request" === t.pst ? s = {
version: 1,
operation: "token-request"
} : "token-redemption" === t.pst ? s = {
version: 1,
operation: "token-redemption",
refreshPolicy: "refresh"
} : "send-redemption-record" === t.pst && (s = {
version: 1,
operation: "send-redemption-record",
issuers: [ut.pstIssuer]
}),
r.privateToken = s
}
return new Promise((function(e, n) {
fetch(i, r).then((function(o) {
return 200 !== o.status ? n({
event: it.NETWORK_ERROR,
endpoint: i,
response: o,
state: 4,
status: o.status,
message: Ne(o.status || 400)
}) : ("arraybuffer" === t.responseType ? o.arrayBuffer() : "json" === t.responseType ? o.json() : o.text()).then((function(t) {
e({
state: 4,
status: o.status,
body: t,
message: Ne(o.status || 400)
})
}
))
}
))["catch"]((function(t) {
n({
event: it.NETWORK_ERROR,
endpoint: i,
response: t.error,
state: 4,
status: 400,
message: Ne(400)
})
}
))
}
))
}
var Ke = function(t, e) {
if ("object" == typeof t && e === undefined && (t = (e = t).url),
null === t)
throw new Error("Url missing");
return He("GET", t, e)
}
, De = function(t, e) {
if ("object" == typeof t && e === undefined && (t = (e = t).url),
null === t)
throw new Error("Url missing");
return He("POST", t, e)
}
, je = ["svg", "gif", "png"];
function ze(t, e) {
e = e || {};
var i, n = t;
if (0 === n.indexOf("data:image"))
for (var o = !1, r = je.length, s = -1; s++ < r && !o; )
(o = n.indexOf(je[s]) >= 0) && (i = je[s]);
else
i = n.substr(n.lastIndexOf(".") + 1, n.length);
!!(!document.createElementNS || !document.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGRect) && e.fallback && (e.fallback.indexOf(".") >= 0 ? i = (n = e.fallback).substr(n.lastIndexOf(".") + 1, n.length) : (n = t.substr(0, t.indexOf(i)) + e.fallback,
i = e.fallback)),
e.prefix && (n = e.prefix + "/" + n),
this.attribs = {
crossOrigin: e.crossOrigin || null
},
this.id = n,
this.src = function(t) {
if (ut.assethost && 0 === t.indexOf(ht.assetDomain))
return ut.assethost + t.replace(ht.assetDomain, "");
if (ut.imghost && t.indexOf("imgs") >= 0) {
var e = t.indexOf(".ai") >= 0 ? t.indexOf(".ai") + 3 : t.indexOf(".com") + 4;
return ut.imghost + t.substr(e, t.length)
}
return t
}(n),
this.ext = i,
this.width = 0,
this.height = 0,
this.aspect = 0,
this.loaded = !1,
this.error = !1,
this.element = null,
this.cb = {
load: [],
error: []
}
}
function Ye(t, e, i) {
for (var n = t[e], o = n.length, r = null; --o > -1; )
r = n[o],
n.splice(o, 1),
r(i);
"error" === e ? t.load = [] : t.error = []
}
function Ge(t, e) {
var i = t;
e || (e = {}),
e.prefix && (i = e.prefix + "/" + t),
this.attribs = {
defer: e.defer || null,
async: e.async || null,
crossOrigin: e.crossOrigin || null,
integrity: e.integrity || null
},
this.id = i,
this.src = function(t) {
if (ut.assethost && 0 === t.indexOf(ht.assetDomain))
return ut.assethost + t.replace(ht.assetDomain, "");
return t
}(i),
this.loaded = !1,
this.error = !1,
this.element = null,
this.cb = {
load: [],
error: []
}
}
function qe(t, e, i) {
for (var n = t[e], o = n.length, r = null; --o > -1; )
r = n[o],
n.splice(o, 1),
r(i);
"error" === e ? t.load = [] : t.error = []
}
function Xe(t, e) {
var i = t;
e || (e = {}),
e.prefix && (i = e.prefix + "/" + t),
this.responseType = e.responseType,
this.id = i,
this.src = function(t) {
if (ut.assethost && 0 === t.indexOf(ht.assetDomain))
return ut.assethost + t.replace(ht.assetDomain, "");
return t
}(i),
this.loaded = !1,
this.error = !1,
this.cb = {
load: [],
error: []
},
this.data = null
}
function Qe(t, e, i) {
for (var n = t[e], o = n.length, r = null; --o > -1; )
r = n[o],
n.splice(o, 1),
r(i);
"error" === e ? t.load = [] : t.error = []
}
function $e(t, e) {
e = e || {},
this._videoElement = document.createElement("video"),
this.attribs = {
crossOrigin: e.crossOrigin || null
};
var i, n = t;
i = "probably" === this._videoElement.canPlayType('video/webm; codecs="vp9, opus"') || "probably" === this._videoElement.canPlayType('video/webm; codecs="vp8, vorbis"') ? "webm" : "mp4",
e.prefix && (n = e.prefix + "/" + n),
this.id = n,
this.src = function(t) {
if (ut.assethost && 0 === t.indexOf(ht.assetDomain))
return ut.assethost + t.replace(ht.assetDomain, "");
if (ut.imghost && t.indexOf("imgs") >= 0) {
var e = t.indexOf(".ai") >= 0 ? t.indexOf(".ai") + 3 : t.indexOf(".com") + 4;
return ut.imghost + t.substr(e, t.length)
}
return t
}(n),
this.ext = i,
this.width = 0,
this.height = 0,
this.aspect = 0,
this.loaded = !1,
this.error = !1,
this.element = null,
this.callbacks = {
load: [],
error: []
}
}
function ti(t, e, i) {
for (var n = t[e], o = n.length, r = null; --o > -1; )
r = n[o],
n.splice(o, 1),
r(i);
"error" === e ? t.load = [] : t.error = []
}
ze.prototype.load = function() {
return ("svg" === this.ext ? this._loadSvg() : this._loadImg())["catch"]((function(t) {
throw Ut("Asset failed", "error", "assets", {
error: t
}),
t
}
))
}
,
ze.prototype._loadSvg = function() {
var t, e = this, i = this.src, n = this.id;
if (0 === i.indexOf("data:image/svg+xml")) {
var o = i.slice("data:image/svg+xml,".length);
t = Promise.resolve(decodeURIComponent(o))
} else
t = Ke(i).then((function(t) {
return t.body
}
));
return t.then((function(t) {
var i = (new DOMParser).parseFromString(t, "image/svg+xml").documentElement
, n = parseInt(i.getAttribute("width"))
, o = parseInt(i.getAttribute("height"));
return e._imgLoaded(i, n, o),
e
}
))["catch"]((function(t) {
e.error = !0;
var i = (t && t.message ? t.message : t || "Loading Error") + ": " + n;
throw Ye(e.cb, "error", i),
i
}
))
}
,
ze.prototype._loadImg = function() {
var t = this
, e = this.attribs
, i = this.src
, n = this.id;
return new Promise((function(o, r) {
function s() {
t.loaded || (t._imgLoaded(a, a.width, a.height),
a.onload = a.onerror = null,
o(t))
}
var a = new Image;
e.crossOrigin && (a.crossOrigin = e.crossOrigin),
a.onerror = function() {
t.error = !0,
a.onload = a.onerror = null;
var e = "Loading Error: " + n;
Ye(t.cb, "error", e),
r(e)
}
,
a.onload = s,
a.src = i,
a.complete && s()
}
))
}
,
ze.prototype._imgLoaded = function(t, e, i) {
this.element = new Ae(t),
this.width = e,
this.height = i,
this.aspect = e / i,
this.loaded = !0,
Ye(this.cb, "load", this)
}
,
ze.prototype.onload = function(t) {
this.error || (this.loaded ? t(this) : this.cb.load.push(t))
}
,
ze.prototype.onerror = function(t) {
this.loaded && !this.error || (this.error ? t(this) : this.cb.error.push(t))
}
,
Ge.prototype.load = function() {
var t = this
, e = this.attribs
, i = this.src
, n = this.id;
return new Promise((function(o, r) {
var s = document.createElement("script");
t.element = s,
s.onerror = function() {
t.error = !0,
s.onload = s.onreadystatechange = s.onerror = null;
var e = new Error("Loading Error: " + n);
qe(t.cb, "error", e),
r(e)
}
,
s.onload = s.onreadystatechange = function() {
this.loaded || s.readyState && "loaded" !== s.readyState && "complete" !== s.readyState || (t.loaded = !0,
s.onload = s.onreadystatechange = s.onerror = null,
document.body.removeChild(s),
qe(t.cb, "load", t),
o(t))
}
,
s.type = "text/javascript",
s.src = i,
e.crossOrigin && (s.crossorigin = e.crossOrigin),
e.async && (s.async = !0),
e.defer && (s.defer = !0),
e.integrity && (s.integrity = e.integrity),
document.body.appendChild(s),
s.complete && s.onload()
}
))
}
,
Ge.prototype.onload = function(t) {
this.error || (this.loaded ? t(this) : this.cb.load.push(t))
}
,
Ge.prototype.onerror = function(t) {
this.loaded && !this.error || (this.error ? t(this) : this.cb.error.push(t))
}
,
Xe.prototype.load = function() {
var t = this
, e = this.src
, i = this.id;
return new Promise((function(n, o) {
var r = {};
"arraybuffer" === t.responseType ? r.responseType = "arraybuffer" : e.indexOf("json") >= 0 && (r.responseType = "json"),
Ke(e, r).then((function(e) {
t.loaded = !0,
t.data = e.body,
Qe(t.cb, "load", t),
n(t)
}
))["catch"]((function(e) {
t.error = !0;
var n = (e && e.message ? e.message : "Loading Error") + ": " + i;
Qe(t.cb, "error", n),
o(n)
}
))
}
))
}
,
Xe.prototype.onload = function(t) {
this.error || (this.loaded ? t(this) : this.cb.load.push(t))
}
,
Xe.prototype.onerror = function(t) {
this.loaded && !this.error || (this.error ? t(this) : this.cb.error.push(t))
}
,
$e.prototype.load = function() {
var t = this
, e = this.attribs
, i = this.src
, n = this.id;
return new Promise((function(o, r) {
var s = t._videoElement;
e.crossOrigin && (s.crossOrigin = e.crossOrigin),
s.playsInline = !0,
s.preload = "metadata",
"ios" === tt.System.os && s.setAttribute("webkit-playsinline", ""),
s.src = i + "." + t.ext,
s.onerror = function() {
t.error = !0,
s.onloadedmetadata = s.onerror = null;
var e = "Loading Error: " + n;
ti(t.callbacks, "error", e),
r(e)
}
,
s.onloadedmetadata = function() {
if (!t.loaded) {
var e = s.videoWidth
, i = s.videoHeight;
t.element = new Ae(s),
t.width = e,
t.height = i,
t.aspect = e / i,
t.loaded = !0,
s.onloadedmetadata = s.onerror = null,
ti(t.callbacks, "load", t),
o(t)
}
}
,
s.load()
}
))["catch"]((function(t) {
throw Ut("Asset failed", "error", "assets", {
error: t
}),
t
}
))
}
,
$e.prototype.onload = function(t) {
this.error || (this.loaded ? t(this) : this.callbacks.load.push(t))
}
,
$e.prototype.onerror = function(t) {
this.loaded && !this.error || (this.error ? t(this) : this.callbacks.error.push(t))
}
;
var ei = []
, ii = {
image: function(t, e) {
var i = new ze(t,e);
return ei.push(i),
i.load()
},
video: function(t, e) {
var i = new $e(t,e);
return ei.push(i),
i.load()
},
script: function(t, e) {
var i = new Ge(t,e);
return ei.push(i),
i.load()
},
file: function(t, e) {
var i = new Xe(t,e);
return ei.push(i),
i.load()
},
retrieve: function(t) {
return new Promise((function(e, i) {
for (var n = ei.length, o = !1, r = null; --n > -1 && !o; )
o = (r = ei[n]).id === t || -1 !== r.id.indexOf("/" === t[0] ? "" : "/" + t);
if (!o)
return e(null);
r.onload(e),
r.onerror(i)
}
))
}
}
, ni = []
, oi = !1
, ri = !1;
function si() {
document.addEventListener ? (document.addEventListener("DOMContentLoaded", li),
window.addEventListener("load", li)) : (document.attachEvent("onreadystatechange", ai),
window.attachEvent("onload", li)),
oi = !0
}
function ai() {
"interactive" !== document.readyState && "loaded" !== document.readyState && "complete" !== document.readyState || li()
}
function li() {
if (!1 === ri) {
for (var t = 0; t < ni.length; t++)
ni[t].fn.apply(null, ni[t].args);
ni = []
}
ri = !0,
document.removeEventListener ? (document.removeEventListener("DOMContentLoaded", li),
window.removeEventListener("load", li)) : (document.detachEvent("onreadystatechange", ai),
window.detachEvent("onload", li))
}
var hi = new Ae(document)
, ci = {
__proto__: null,
Window: new Ae(window),
Document: hi,
Element: Ae,
Ready: function(t) {
var e = Array.prototype.slice.call(arguments, 1);
!0 !== ri && "interactive" !== document.readyState && "loaded" !== document.readyState && "complete" !== document.readyState ? (ni.push({
fn: t,
args: e
}),
!1 === oi && si()) : setTimeout((function() {
t(e)
}
), 1)
},
Find: function(t) {
for (var e, i, n = null, o = !1, r = t.split(" "), s = 0; s < r.length; s++)
if ((e = r[s]).indexOf("#") >= 0 && (n = document.getElementById(e.replace("#", ""))),
e.indexOf(".") >= 0)
if (null === n && (n = document),
o) {
for (var a = [], l = 0; l < n.length; l++) {
i = n[l].getElementsByClassName(e.replace(".", ""));
for (var h = 0; h < i.length; h++)
a.push(i[h])
}
n = a,
a = []
} else
n = n.getElementsByClassName(e.replace(".", "")),
o = !0;
if (!0 === o) {
if (1 === n.length)
return n[0];
for (var c = [], u = 0; u < n.length; u++)
c.push(n[u]);
return c
}
return n
}
}
, ui = {
__proto__: null,
Loader: ii,
BaseComponent: ge,
DomComponent: Se,
DomElement: Ae,
Extend: Ce,
Normalize: Re,
Dom: ci
}
, pi = {
touchstart: "ts",
touchend: "te",
touchmove: "tm",
touchcancel: "tc"
}
, di = {
mousedown: "md",
mouseup: "mu",
mousemove: "mm"
}
, fi = {
pointermove: "pm"
}
, mi = {
keydown: "kd",
keyup: "ku"
}
, yi = {
devicemotion: "dm"
}
, gi = function(t, e) {
var i = di[t]
, n = null;
return function(t) {
n = function(t) {
return [t.windowX, t.windowY, Date.now()]
}(t),
e(i, n)
}
}
, bi = function(t, e) {
var i = fi[t]
, n = null;
return function(t) {
n = function(t) {
var e = []
, i = [];
t.getCoalescedEvents && (i = t.getCoalescedEvents());
for (var n = 0; n < i.length; n++) {
var o = i[n];
e.push([o.x, o.y, Date.now()])
}
return e
}(t);
for (var o = 0; o < n.length; o++)
e(i, n[o])
}
}
, vi = function(t, e) {
var i = pi[t]
, n = null;
return function(t) {
n = function(t) {
var e = [];
try {
var i, n;
if (t.touches && t.touches.length >= 1 ? i = t.touches : t.changedTouches && t.changedTouches.length >= 1 && (i = t.changedTouches),
i) {
for (var o = 0; o < i.length; o++)
(n = Re.eventCoords(i[o])) && e.push([i[o].identifier, n.x, n.y]);
e.push(Date.now())
}
return e
} catch (Zs) {
return e
}
}(t),
e(i, n)
}
}
, wi = function(t, e) {
var i = mi[t]
, n = null;
return function(t) {
n = function(t) {
return [t.keyNum, Date.now()]
}(t),
e(i, n)
}
}
, Vi = function(t, e) {
var i = yi[t]
, n = null
, o = [];
return function(t) {
n = function(t, e) {
(t.acceleration === undefined || t.acceleration && t.acceleration.x === undefined) && (t.acceleration = {
x: 0,
y: 0,
z: 0
});
(t.rotationRate === undefined || t.rotationRate && t.rotationRate.alpha === undefined) && (t.rotationRate = {
alpha: 0,
beta: 0,
gamma: 0
});
var i = [t.acceleration.x, t.acceleration.y, t.acceleration.z, t.rotationRate.alpha, t.rotationRate.beta, t.rotationRate.gamma, Date.now()]
, n = [];
if (0 === e.length)
e = i,
n = i;
else {
for (var o, r = 0, s = 0; s < 6; s++)
o = e[s] - i[s],
n.push(i[s]),
r += Math.abs(o);
if (n.push(Date.now()),
e = i,
r <= 0)
return null
}
return {
motion: n,
prevmotion: e
}
}(t, o),
null !== n && (o = n.prevmotion,
n = n.motion,
e(i, n))
}
};
function xi() {
this._manifest = {},
this.state = {
timeBuffers: {},
loadTime: Date.now(),
recording: !1,
initRecord: !1,
record: {
mouse: !0,
touch: !0,
keys: !1,
motion: !1
}
},
this._recordEvent = this._recordEvent.bind(this)
}
xi.prototype.record = function(t, e, i, n) {
if (this._manifest.st = Date.now(),
this.state.record.mouse = t === undefined ? this.state.record.mouse : t,
this.state.record.touch = i === undefined ? this.state.record.touch : i,
this.state.record.keys = e === undefined ? this.state.record.keys : e,
this.state.record.motion = n === undefined ? this.state.record.motion : n,
!1 === this.state.initRecord) {
var o = new Ae(document.body);
this.state.record.mouse && (o.addEventListener("mousedown", gi("mousedown", this._recordEvent), !0),
o.addEventListener("mousemove", gi("mousemove", this._recordEvent), !0),
o.addEventListener("mouseup", gi("mouseup", this._recordEvent), !0),
o.addEventListener("pointermove", bi("pointermove", this._recordEvent), !0)),
!0 === this.state.record.keys && (o.addEventListener("keyup", wi("keyup", this._recordEvent), !0),
o.addEventListener("keydown", wi("keydown", this._recordEvent), !0)),
this.state.record.touch && !0 === tt.Browser.hasEvent("touchstart", document.body) && (o.addEventListener("touchstart", vi("touchstart", this._recordEvent), !0),
o.addEventListener("touchmove", vi("touchmove", this._recordEvent), !0),
o.addEventListener("touchend", vi("touchend", this._recordEvent), !0)),
this.state.record.motion && !0 === tt.Browser.hasEvent("devicemotion", window) && o.addEventListener("devicemotion", Vi("devicemotion", this._recordEvent), !0),
this.state.initRecord = !0
}
this.state.recording = !0
}
,
xi.prototype.stop = function() {
this.state.recording = !1
}
,
xi.prototype.time = function() {
return this.state.loadTime
}
,
xi.prototype.getData = function() {
for (var t in this.state.timeBuffers)
this._manifest[t] = this.state.timeBuffers[t].getData(),
this._manifest[t + "-mp"] = this.state.timeBuffers[t].getMeanPeriod();
return this._manifest
}
,
xi.prototype.setData = function(t, e) {
this._manifest[t] = e
}
,
xi.prototype.resetData = function() {
this._manifest = {},
this.state.timeBuffers = {}
}
,
xi.prototype.circBuffPush = function(t, e) {
this._recordEvent(t, e)
}
,
xi.prototype._recordEvent = function(t, e) {
if (!1 !== this.state.recording)
try {
var i = e[e.length - 1];
if (!this.state.timeBuffers[t]) {
var n = "mm" === t || "pm" === t ? 256 : 128;
this.state.timeBuffers[t] = new Xt(16,15e3,0,n)
}
this.state.timeBuffers[t].push(i, e)
} catch (Fs) {
Mt("motion", Fs)
}
}
;
var ki, Ei, Ai, Ci, Si, Ri, Ti, _i = new xi;
try {
ki = function() {
var t = {
_rlD4E1h: 0,
_MdjjIuS: 0,
_J1sWKyZL: [],
_Jri78Jxp6A: [],
_rxtJp: [],
_ESoAd2a: {},
_cOKyubcnpR: window,
_D7T5U: [function(t) {
throw t._J1sWKyZL.pop()
}
, function(t) {
t._J1sWKyZL.push(Ut)
}
, function(t) {
var e = t._j9JzR4[t._rlD4E1h++]
, i = t._j9JzR4[t._rlD4E1h++]
, n = t._j9JzR4[t._rlD4E1h++]
, o = -1 == e ? t._Jri78Jxp6A : t._rxtJp[e];
n ? t._J1sWKyZL.push(++o[i]) : t._J1sWKyZL.push(o[i]++)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i | e)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i - e)
}
, function(t) {
t._J1sWKyZL.push(null)
}
, function(t) {
t._ESoAd2a[t._J1sWKyZL[t._J1sWKyZL.length - 1]] = t._J1sWKyZL[t._J1sWKyZL.length - 2]
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i >>> e)
}
, function(t) {
t._J1sWKyZL.push(pe)
}
, function(t) {
t._J1sWKyZL.push(t._J1sWKyZL[t._J1sWKyZL.length - 1])
}
, function() {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop()
, n = !1;
e._l !== undefined && (n = !0,
i.splice(0, 0, {
_l: {}
}));
var o = new (Function.prototype.bind.apply(e, [null].concat(i)));
n && t._J1sWKyZL.pop(),
t._J1sWKyZL.push(o)
}
, function(t) {
t._J1sWKyZL.push(fe)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i / e)
}
, function(t) {
var e = t._j9JzR4[t._rlD4E1h++]
, i = t._j9JzR4[t._rlD4E1h++]
, n = -1 == e ? t._Jri78Jxp6A : t._rxtJp[e];
t._J1sWKyZL.push(n[i])
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i << e)
}
, function(t) {
t._J1sWKyZL.pop()
}
, function(t) {
var i = t._MdjjIuS
, n = t._j9JzR4[t._rlD4E1h++]
, o = t._J1sWKyZL.length;
try {
e(t)
} catch (r) {
t._J1sWKyZL.length = o,
t._J1sWKyZL.push(r),
t._rlD4E1h = n,
e(t)
}
t._MdjjIuS = i
}
, function(t) {
t._J1sWKyZL.push(Ae)
}
, function(t) {
t._J1sWKyZL.push(t._cOKyubcnpR)
}
, function(t) {
var e = t._J1sWKyZL.pop();
t._J1sWKyZL.push(-e)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i & e)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._j9JzR4[t._rlD4E1h++];
e || (t._rlD4E1h = i)
}
, function(t) {
for (var e = t._j9JzR4[t._rlD4E1h++], i = [], n = 0; n < e; n++)
i.push(t._J1sWKyZL.pop());
t._J1sWKyZL.push(i)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop()
, n = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i[e] = n)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i !== e)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i * e)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i === e)
}
, function(t) {
t._J1sWKyZL.push(!!t._j9JzR4[t._rlD4E1h++])
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop()
, n = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i[e] += n)
}
, function(t) {
var e = t._j9JzR4[t._rlD4E1h++];
t._MdjjIuS = e
}
, function(t) {
t._J1sWKyZL.push(fe)
}
, function(t) {
var e = t._J1sWKyZL.pop();
t._J1sWKyZL.push(typeof e)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._j9JzR4[t._rlD4E1h++]
, n = t._j9JzR4[t._rlD4E1h++]
, o = -1 == i ? t._Jri78Jxp6A : t._rxtJp[i];
t._J1sWKyZL.push(o[n] = e)
}
, function(t) {
t._J1sWKyZL.pop(),
t._J1sWKyZL.push(void 0)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i instanceof e)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._j9JzR4[t._rlD4E1h++]
, n = t._j9JzR4[t._rlD4E1h++];
(-1 == i ? t._Jri78Jxp6A : t._rxtJp[i])[n] = e
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i > e)
}
, function(t) {
t._J1sWKyZL.push(undefined)
}
, function(t) {
t._J1sWKyZL.push(t._j9JzR4[t._rlD4E1h++])
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop()
, n = i[e];
"function" == typeof n && Object.getPrototypeOf(i) !== Object.prototype && (n = n.bind(i)),
t._J1sWKyZL.push(n)
}
, function(t) {
t._J1sWKyZL.push(sentryError)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i in e)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._j9JzR4[t._rlD4E1h++]
, n = t._j9JzR4[t._rlD4E1h++]
, o = -1 == i ? t._Jri78Jxp6A : t._rxtJp[i];
t._J1sWKyZL.push(o[n] |= e)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._j9JzR4[t._rlD4E1h++]
, n = t._j9JzR4[t._rlD4E1h++]
, o = -1 == i ? t._Jri78Jxp6A : t._rxtJp[i];
t._J1sWKyZL.push(o[n] += e)
}
, function(t) {
var e = t._J1sWKyZL.pop();
t._J1sWKyZL.push(+e)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i == e)
}
, function(t) {
t._rlD4E1h = t._J1sWKyZL.splice(t._J1sWKyZL.length - 4, 1)[0],
t._cOKyubcnpR = t._J1sWKyZL.splice(t._J1sWKyZL.length - 3, 1)[0],
t._Jri78Jxp6A = t._J1sWKyZL.splice(t._J1sWKyZL.length - 2, 1)[0]
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._j9JzR4[t._rlD4E1h++]
, n = t._j9JzR4[t._rlD4E1h++]
, o = -1 == i ? t._Jri78Jxp6A : t._rxtJp[i];
t._J1sWKyZL.push(o[n] ^= e)
}
, function(t) {
for (var e = t._j9JzR4[t._rlD4E1h++], i = {}, n = 0; n < e; n++) {
var o = t._J1sWKyZL.pop();
i[t._J1sWKyZL.pop()] = o
}
t._J1sWKyZL.push(i)
}
, function() {
var e = t._J1sWKyZL.pop()
, i = t._j9JzR4[t._rlD4E1h++];
t._Jri78Jxp6A = e,
t._rxtJp[i] = e
}
, function(t) {
t._J1sWKyZL.push(Re)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i >= e)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
if (e && e._l !== undefined)
i.splice(0, 0, {
_l: {}
}),
e.apply(t._cOKyubcnpR, i);
else {
var n = e.apply(t._cOKyubcnpR, i);
t._J1sWKyZL.push(n)
}
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i < e)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i <= e)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(delete i[e])
}
, function(t) {
var i = t._J1sWKyZL.pop()
, n = function() {
var o = !1
, r = Array.prototype.slice.call(arguments);
r.length > 0 && r[0] && r[0]._l ? r = r.splice(1, r.length - 1) : o = !0;
var s = t._cOKyubcnpR
, a = t._MdjjIuS
, l = t._rxtJp;
if (t._J1sWKyZL.push(t._rlD4E1h),
t._J1sWKyZL.push(t._cOKyubcnpR),
t._J1sWKyZL.push(t._Jri78Jxp6A),
t._J1sWKyZL.push(r),
t._J1sWKyZL.push(n),
t._MdjjIuS = t._rlD4E1h,
t._rlD4E1h = i,
t._cOKyubcnpR = this,
t._rxtJp = n._r,
e(t),
t._cOKyubcnpR = s,
t._MdjjIuS = a,
t._rxtJp = l,
o)
return t._J1sWKyZL.pop()
};
n._l = {},
n._r = Array.prototype.slice.call(t._rxtJp),
t._J1sWKyZL.push(n)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._j9JzR4[t._rlD4E1h++]
, n = t._j9JzR4[t._rlD4E1h++];
t._Jri78Jxp6A[n] = e;
for (var o = 0; o < i; o++)
t._Jri78Jxp6A[t._j9JzR4[t._rlD4E1h++]] = e[o]
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i + e)
}
, function(t) {
t._J1sWKyZL.push(fe)
}
, function(t) {
for (var e = t._j9JzR4[t._rlD4E1h++], i = t._j9JzR4[t._rlD4E1h++], n = t._j9JzR4[t._rlD4E1h++], o = decodeURIComponent(atob(t._Kdj9u1.slice(e, e + i))), r = "", s = 0; s < o.length; s++)
r += String.fromCharCode((256 + o.charCodeAt(s) + n) % 256);
t._J1sWKyZL.push(r)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i ^ e)
}
, function(t) {
var e = t._J1sWKyZL.pop();
t._J1sWKyZL.push(window[e])
}
, function() {
var e = t._J1sWKyZL.pop()
, i = t._j9JzR4[t._rlD4E1h++];
t._rxtJp[i] ? t._Jri78Jxp6A = t._rxtJp[i] : (t._Jri78Jxp6A = e,
t._rxtJp[i] = e)
}
, function(t) {
var e = t._J1sWKyZL.pop()
, i = t._J1sWKyZL.pop();
t._J1sWKyZL.push(i != e)
}
, function(t) {
var e = t._J1sWKyZL.pop();
t._J1sWKyZL.push(!e)
}
],
_j9JzR4: [22, 0, 63, 0, 38, 14, 56, 35, -1, 0, 27, 0, 21, 113, 22, 0, 49, 1, 15, 57, 1, 0, 1, 13, -1, 1, 60, 7848, 20, 5, 26, 21, 44, 13, 0, 125, 27, 0, 21, 112, 27, 0, 21, 54, 13, -1, 1, 60, 2532, 12, -2, 26, 21, 65, 13, 0, 126, 27, 0, 21, 112, 27, 0, 21, 75, 13, -1, 1, 60, 7724, 20, 13, 26, 21, 86, 13, 0, 127, 27, 0, 21, 112, 27, 0, 21, 90, 27, 0, 21, 99, 5, 27, 0, 21, 112, 27, 0, 21, 103, 27, 0, 21, 90, 60, 1080, 20, 18, 62, 27, 0, 21, 112, 46, 38, 123, 56, 35, -1, 1, 27, 0, 21, 222, 22, 0, 49, 2, 15, 57, 1, 0, 1, 13, -1, 1, 60, 8348, 12, -1, 26, 21, 153, 13, 0, 128, 27, 0, 21, 221, 27, 0, 21, 163, 13, -1, 1, 60, 3152, 12, -9, 26, 21, 174, 13, 0, 129, 27, 0, 21, 221, 27, 0, 21, 184, 13, -1, 1, 60, 1376, 12, 2, 26, 21, 195, 13, 0, 130, 27, 0, 21, 221, 27, 0, 21, 199, 27, 0, 21, 208, 5, 27, 0, 21, 221, 27, 0, 21, 212, 27, 0, 21, 199, 60, 1080, 20, 18, 62, 27, 0, 21, 221, 46, 38, 232, 56, 35, -1, 2, 27, 0, 21, 310, 22, 0, 49, 3, 15, 57, 1, 0, 1, 13, -1, 1, 60, 8672, 12, 5, 26, 21, 262, 13, 0, 132, 27, 0, 21, 309, 27, 0, 21, 272, 13, -1, 1, 60, 4152, 8, 0, 26, 21, 283, 13, 0, 133, 27, 0, 21, 309, 27, 0, 21, 287, 27, 0, 21, 296, 5, 27, 0, 21, 309, 27, 0, 21, 300, 27, 0, 21, 287, 60, 1080, 20, 18, 62, 27, 0, 21, 309, 46, 38, 320, 56, 35, -1, 3, 27, 0, 21, 377, 22, 0, 49, 4, 15, 57, 1, 0, 1, 13, -1, 1, 60, 3048, 24, 16, 26, 21, 350, 13, 0, 134, 27, 0, 21, 376, 27, 0, 21, 354, 27, 0, 21, 363, 5, 27, 0, 21, 376, 27, 0, 21, 367, 27, 0, 21, 354, 60, 1080, 20, 18, 62, 27, 0, 21, 376, 46, 38, 387, 56, 35, -1, 4, 27, 0, 21, 427, 22, 0, 49, 5, 15, 57, 1, 0, 1, 13, -1, 1, 60, 7188, 20, -8, 26, 21, 417, 13, 0, 140, 27, 0, 21, 426, 27, 0, 21, 417, 60, 1080, 20, 18, 62, 27, 0, 21, 426, 46, 38, 437, 56, 35, -1, 5, 27, 0, 21, 788, 22, 0, 49, 6, 15, 57, 1, 0, 1, 13, -1, 1, 60, 8452, 4, -5, 26, 21, 467, 13, 0, 137, 27, 0, 21, 787, 27, 0, 21, 477, 13, -1, 1, 60, 6136, 12, -14, 26, 21, 488, 13, 0, 138, 27, 0, 21, 787, 27, 0, 21, 498, 13, -1, 1, 60, 3740, 4, -1, 26, 21, 509, 13, 0, 139, 27, 0, 21, 787, 27, 0, 21, 519, 13, -1, 1, 60, 8928, 4, 18, 26, 21, 530, 13, 0, 136, 27, 0, 21, 787, 27, 0, 21, 540, 13, -1, 1, 60, 10012, 8, -4, 26, 21, 551, 13, 0, 145, 27, 0, 21, 787, 27, 0, 21, 561, 13, -1, 1, 60, 2816, 4, 3, 26, 21, 572, 13, 0, 146, 27, 0, 21, 787, 27, 0, 21, 582, 13, -1, 1, 60, 10776, 24, -18, 26, 21, 593, 13, 0, 147, 27, 0, 21, 787, 27, 0, 21, 603, 13, -1, 1, 60, 100, 8, -5, 26, 21, 614, 13, 0, 148, 27, 0, 21, 787, 27, 0, 21, 624, 13, -1, 1, 60, 4808, 8, -6, 26, 21, 635, 13, 0, 149, 27, 0, 21, 787, 27, 0, 21, 645, 13, -1, 1, 60, 7184, 4, 16, 26, 21, 656, 13, 0, 142, 27, 0, 21, 787, 27, 0, 21, 666, 13, -1, 1, 60, 340, 4, 5, 26, 21, 677, 13, 0, 143, 27, 0, 21, 787, 27, 0, 21, 687, 13, -1, 1, 60, 7112, 8, 9, 26, 21, 698, 13, 0, 144, 27, 0, 21, 787, 27, 0, 21, 708, 13, -1, 1, 60, 1544, 4, 8, 26, 21, 719, 13, 0, 141, 27, 0, 21, 787, 27, 0, 21, 729, 13, -1, 1, 60, 4432, 4, -7, 26, 21, 740, 13, 0, 150, 27, 0, 21, 787, 27, 0, 21, 750, 13, -1, 1, 60, 8360, 12, -17, 26, 21, 761, 13, 0, 151, 27, 0, 21, 787, 27, 0, 21, 765, 27, 0, 21, 774, 5, 27, 0, 21, 787, 27, 0, 21, 778, 27, 0, 21, 765, 60, 1080, 20, 18, 62, 27, 0, 21, 787, 46, 38, 798, 56, 35, -1, 6, 27, 0, 21, 884, 22, 0, 49, 7, 15, 57, 2, 0, 1, 2, 38, 815, 56, 27, 0, 21, 879, 22, 0, 49, 8, 35, -1, 0, 57, 2, 1, 2, 3, 38, 834, 56, 27, 0, 21, 874, 22, 0, 49, 9, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 22, 1, 13, 7, 2, 52, 13, 8, 2, 22, 1, 13, 7, 1, 52, 22, 2, 13, 8, 3, 52, 27, 0, 21, 873, 46, 27, 0, 21, 878, 46, 27, 0, 21, 883, 46, 38, 894, 56, 35, -1, 7, 27, 0, 21, 1034, 22, 0, 49, 10, 15, 57, 2, 0, 1, 2, 38, 911, 56, 27, 0, 21, 1029, 22, 0, 49, 11, 35, -1, 0, 57, 2, 1, 2, 3, 38, 930, 56, 27, 0, 21, 1024, 22, 0, 49, 12, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 22, 1, 13, 10, 2, 52, 35, -1, 3, 13, -1, 3, 60, 10968, 8, 3, 39, 35, -1, 4, 38, 0, 35, -1, 5, 13, -1, 5, 13, -1, 4, 53, 21, 1014, 13, -1, 3, 13, -1, 5, 39, 13, 11, 2, 22, 1, 13, 10, 1, 52, 22, 2, 13, 11, 3, 52, 27, 0, 21, 1023, 38, 1, 43, -1, 5, 15, 27, 0, 21, 969, 60, 1080, 20, 18, 62, 27, 0, 21, 1023, 46, 27, 0, 21, 1028, 46, 27, 0, 21, 1033, 46, 38, 1044, 56, 35, -1, 8, 27, 0, 21, 1161, 22, 0, 49, 13, 15, 57, 1, 0, 1, 13, -1, 1, 60, 4028, 8, -6, 39, 13, -1, 1, 60, 5040, 12, 16, 39, 45, 9, 21, 1091, 15, 13, -1, 1, 60, 8148, 12, -15, 39, 13, -1, 1, 60, 3320, 16, 10, 39, 45, 35, -1, 2, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 13, -1, 2, 21, 1118, 38, 1, 27, 0, 21, 1120, 38, 0, 13, -1, 1, 60, 3236, 12, -3, 39, 21, 1136, 38, 1, 27, 0, 21, 1138, 38, 0, 13, -1, 1, 60, 6004, 20, -5, 39, 13, -1, 1, 60, 8164, 16, 19, 39, 22, 5, 27, 0, 21, 1160, 46, 38, 1171, 56, 35, -1, 9, 27, 0, 21, 1330, 22, 0, 49, 14, 15, 57, 1, 0, 1, 22, 0, 35, -1, 2, 22, 0, 35, -1, 3, 13, -1, 1, 60, 4952, 32, 16, 39, 21, 1215, 22, 0, 13, -1, 1, 60, 4952, 32, 16, 39, 52, 32, -1, 3, 15, 38, 0, 35, -1, 4, 13, -1, 4, 13, -1, 3, 60, 10968, 8, 3, 39, 53, 21, 1322, 13, -1, 3, 13, -1, 4, 39, 35, -1, 5, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 13, -1, 5, 60, 1688, 8, -21, 39, 22, 1, 60, 2760, 8, 16, 62, 60, 9836, 36, -19, 39, 52, 13, -1, 5, 60, 3736, 4, 18, 39, 22, 1, 60, 2760, 8, 16, 62, 60, 9836, 36, -19, 39, 52, 22, 3, 22, 1, 13, -1, 2, 60, 8340, 8, -3, 39, 52, 15, 2, -1, 4, 0, 15, 27, 0, 21, 1220, 13, -1, 2, 27, 0, 21, 1329, 46, 38, 1340, 56, 35, -1, 10, 27, 0, 21, 1371, 22, 0, 49, 15, 15, 57, 1, 0, 1, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 38, 0, 22, 2, 27, 0, 21, 1370, 46, 38, 1381, 56, 35, -1, 11, 27, 0, 21, 1669, 22, 0, 49, 16, 15, 57, 1, 0, 1, 22, 0, 35, -1, 2, 16, 1649, 13, -1, 1, 60, 6752, 32, -14, 39, 9, 21, 1425, 15, 13, -1, 1, 60, 6752, 32, -14, 39, 60, 10968, 8, 3, 39, 38, 1, 51, 21, 1443, 13, -1, 1, 60, 6752, 32, -14, 39, 32, -1, 3, 15, 27, 0, 21, 1485, 13, -1, 1, 60, 540, 24, 14, 39, 9, 21, 1471, 15, 13, -1, 1, 60, 540, 24, 14, 39, 60, 10968, 8, 3, 39, 38, 1, 51, 21, 1485, 13, -1, 1, 60, 540, 24, 14, 39, 32, -1, 3, 15, 13, -1, 3, 21, 1636, 38, 0, 35, -1, 5, 13, -1, 5, 13, -1, 3, 60, 10968, 8, 3, 39, 53, 21, 1611, 13, -1, 3, 13, -1, 5, 39, 22, 1, 50, 60, 760, 16, -2, 39, 52, 32, -1, 4, 15, 13, -1, 4, 21, 1602, 13, -1, 4, 60, 1688, 8, -21, 39, 22, 1, 60, 2760, 8, 16, 62, 60, 9836, 36, -19, 39, 52, 13, -1, 4, 60, 3736, 4, 18, 39, 22, 1, 60, 2760, 8, 16, 62, 60, 9836, 36, -19, 39, 52, 13, -1, 3, 13, -1, 5, 39, 60, 372, 16, -8, 39, 22, 3, 22, 1, 13, -1, 2, 60, 8340, 8, -3, 39, 52, 15, 2, -1, 5, 0, 15, 27, 0, 21, 1495, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 22, 1, 13, -1, 2, 60, 8340, 8, -3, 39, 52, 15, 13, -1, 2, 27, 0, 21, 1668, 29, 1645, 27, 0, 21, 1659, 35, -1, 6, 13, -1, 2, 27, 0, 21, 1668, 60, 1080, 20, 18, 62, 27, 0, 21, 1668, 46, 38, 1679, 56, 35, -1, 12, 27, 0, 21, 1962, 22, 0, 49, 17, 15, 57, 1, 0, 1, 13, -1, 1, 60, 4752, 24, 17, 39, 38, 0, 33, 26, 9, 65, 21, 1734, 15, 13, -1, 1, 60, 4752, 24, 17, 39, 9, 21, 1734, 15, 13, -1, 1, 60, 4752, 24, 17, 39, 60, 3736, 4, 18, 39, 38, 0, 33, 26, 21, 1765, 60, 1320, 4, 10, 38, 0, 60, 1688, 8, -21, 38, 0, 60, 3736, 4, 18, 38, 0, 48, 3, 13, -1, 1, 60, 4752, 24, 17, 23, 15, 13, -1, 1, 60, 10080, 44, -12, 39, 38, 0, 33, 26, 9, 65, 21, 1811, 15, 13, -1, 1, 60, 10080, 44, -12, 39, 9, 21, 1811, 15, 13, -1, 1, 60, 10080, 44, -12, 39, 60, 4464, 12, 15, 39, 38, 0, 33, 26, 21, 1842, 60, 4548, 8, -6, 38, 0, 60, 8260, 8, 17, 38, 0, 60, 4464, 12, 15, 38, 0, 48, 3, 13, -1, 1, 60, 10080, 44, -12, 23, 15, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 13, -1, 1, 60, 8684, 12, 0, 39, 9, 65, 21, 1871, 15, 38, 2, 19, 13, -1, 1, 60, 10080, 44, -12, 39, 60, 4548, 8, -6, 39, 13, -1, 1, 60, 10080, 44, -12, 39, 60, 8260, 8, 17, 39, 13, -1, 1, 60, 10080, 44, -12, 39, 60, 4464, 12, 15, 39, 13, -1, 1, 60, 4752, 24, 17, 39, 60, 1320, 4, 10, 39, 13, -1, 1, 60, 4752, 24, 17, 39, 60, 1688, 8, -21, 39, 13, -1, 1, 60, 4752, 24, 17, 39, 60, 3736, 4, 18, 39, 22, 8, 35, -1, 2, 13, -1, 2, 27, 0, 21, 1961, 46, 38, 1972, 56, 35, -1, 13, 27, 0, 21, 2187, 22, 0, 49, 18, 15, 57, 0, 0, 48, 0, 18, 60, 2560, 32, -15, 23, 15, 60, 0, 76, -18, 22, 0, 60, 7744, 8, -8, 60, 4816, 8, -1, 27, 1, 60, 5968, 8, 6, 27, 1, 60, 10720, 8, -5, 27, 1, 60, 1784, 12, 7, 27, 1, 48, 4, 60, 7372, 16, -3, 27, 0, 60, 2768, 24, 9, 27, 0, 60, 9512, 20, -16, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 60, 596, 24, 7, 48, 0, 48, 6, 18, 60, 6724, 28, -20, 23, 15, 48, 0, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 23, 15, 27, 1, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 161, 23, 15, 27, 1, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 162, 23, 15, 27, 1, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 163, 23, 15, 27, 1, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 164, 23, 15, 18, 22, 1, 18, 60, 2928, 24, 17, 39, 60, 10200, 16, -18, 39, 52, 18, 60, 2928, 24, 17, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 2186, 46, 38, 2197, 56, 35, -1, 14, 27, 0, 21, 2446, 22, 0, 49, 19, 15, 57, 1, 0, 1, 13, 0, 168, 21, 2244, 13, -1, 1, 22, 1, 13, 0, 168, 60, 10912, 4, 14, 39, 52, 35, -1, 2, 13, -1, 2, 38, 0, 33, 24, 21, 2244, 13, -1, 2, 27, 0, 21, 2445, 22, 0, 13, -1, 1, 60, 5988, 16, 20, 39, 60, 9904, 16, -1, 39, 52, 35, -1, 3, 13, -1, 1, 60, 3968, 4, 10, 39, 9, 65, 21, 2280, 15, 60, 6752, 0, -1, 35, -1, 4, 13, -1, 1, 60, 248, 8, 10, 39, 9, 65, 21, 2300, 15, 60, 6752, 0, -1, 35, -1, 5, 13, -1, 1, 60, 4476, 28, -16, 39, 9, 65, 21, 2320, 15, 60, 6752, 0, -1, 35, -1, 6, 13, -1, 1, 60, 8268, 20, 16, 39, 9, 65, 21, 2340, 15, 60, 6752, 0, -1, 35, -1, 7, 13, -1, 1, 60, 7072, 36, -18, 39, 9, 65, 21, 2360, 15, 60, 6752, 0, -1, 35, -1, 8, 13, -1, 1, 22, 1, 13, 0, 15, 52, 35, -1, 9, 13, -1, 3, 13, -1, 4, 58, 13, -1, 5, 58, 13, -1, 6, 58, 13, -1, 7, 58, 13, -1, 8, 58, 13, -1, 9, 58, 35, -1, 10, 13, -1, 10, 22, 1, 8, 52, 35, -1, 11, 13, 0, 168, 21, 2438, 13, -1, 11, 13, -1, 1, 22, 2, 13, 0, 168, 60, 10904, 8, -10, 39, 52, 15, 13, -1, 11, 27, 0, 21, 2445, 46, 38, 2456, 56, 35, -1, 15, 27, 0, 21, 2873, 22, 0, 49, 20, 15, 57, 1, 0, 1, 13, -1, 1, 60, 3968, 4, 10, 39, 60, 6752, 0, -1, 24, 21, 2502, 60, 4256, 28, 20, 13, -1, 1, 60, 3968, 4, 10, 39, 58, 60, 7716, 8, 17, 58, 27, 0, 21, 2872, 13, -1, 1, 60, 4928, 12, -4, 62, 60, 2792, 8, 2, 39, 26, 21, 2526, 60, 9088, 48, -22, 27, 0, 21, 2872, 60, 6752, 0, -1, 35, -1, 2, 38, 0, 35, -1, 3, 13, -1, 1, 60, 9340, 28, 18, 39, 21, 2865, 13, -1, 3, 13, 0, 166, 36, 21, 2561, 27, 0, 21, 2865, 38, 0, 35, -1, 4, 38, 0, 35, -1, 5, 13, -1, 1, 60, 9340, 28, 18, 39, 60, 8888, 16, -7, 39, 60, 10968, 8, 3, 39, 35, -1, 6, 13, 0, 167, 13, -1, 6, 22, 2, 60, 2760, 8, 16, 62, 60, 1016, 4, 7, 39, 52, 35, -1, 7, 38, 0, 35, -1, 8, 13, -1, 8, 13, -1, 7, 53, 21, 2700, 13, -1, 1, 60, 9340, 28, 18, 39, 60, 8888, 16, -7, 39, 13, -1, 8, 39, 35, -1, 9, 13, -1, 9, 60, 10216, 32, -19, 39, 13, -1, 1, 60, 10216, 32, -19, 39, 26, 21, 2691, 13, -1, 9, 13, -1, 1, 26, 21, 2686, 13, -1, 4, 38, 1, 58, 32, -1, 5, 15, 2, -1, 4, 0, 15, 2, -1, 8, 0, 15, 27, 0, 21, 2619, 60, 248, 8, 10, 22, 1, 13, -1, 1, 60, 4348, 16, -3, 39, 52, 9, 21, 2739, 15, 60, 248, 8, 10, 22, 1, 13, -1, 1, 60, 10248, 28, 9, 39, 52, 60, 6752, 0, -1, 24, 21, 2800, 60, 7108, 4, 6, 22, 0, 13, -1, 1, 60, 10216, 32, -19, 39, 60, 9904, 16, -1, 39, 52, 58, 60, 8188, 16, 15, 58, 60, 248, 8, 10, 22, 1, 13, -1, 1, 60, 10248, 28, 9, 39, 52, 58, 60, 7716, 8, 17, 58, 13, -1, 2, 58, 32, -1, 2, 15, 27, 0, 21, 2843, 60, 7108, 4, 6, 22, 0, 13, -1, 1, 60, 10216, 32, -19, 39, 60, 9904, 16, -1, 39, 52, 58, 60, 3304, 4, -18, 58, 13, -1, 5, 58, 60, 2820, 4, 7, 58, 13, -1, 2, 58, 32, -1, 2, 15, 13, -1, 1, 60, 9340, 28, 18, 39, 32, -1, 1, 15, 38, 1, 43, -1, 3, 15, 27, 0, 21, 2538, 13, -1, 2, 27, 0, 21, 2872, 46, 38, 2883, 56, 35, -1, 16, 27, 0, 21, 2905, 22, 0, 49, 21, 15, 57, 2, 0, 1, 2, 13, -1, 1, 13, -1, 2, 3, 27, 0, 21, 2904, 46, 38, 2915, 56, 35, -1, 17, 27, 0, 21, 3095, 22, 0, 49, 22, 15, 57, 1, 0, 1, 13, -1, 1, 22, 1, 13, 0, 14, 52, 35, -1, 2, 13, -1, 2, 22, 1, 13, 0, 180, 60, 10912, 4, 14, 39, 52, 35, -1, 3, 13, -1, 3, 21, 2965, 13, -1, 3, 27, 0, 21, 3094, 13, -1, 1, 60, 9624, 8, -12, 39, 21, 2981, 38, 1, 27, 0, 21, 2983, 38, 0, 13, -1, 1, 60, 9436, 16, -3, 39, 21, 2999, 38, 1, 27, 0, 21, 3001, 38, 0, 13, -1, 1, 60, 8288, 16, 15, 39, 21, 3017, 38, 1, 27, 0, 21, 3019, 38, 0, 13, -1, 1, 60, 5812, 24, 9, 39, 21, 3035, 38, 1, 27, 0, 21, 3037, 38, 0, 13, -1, 1, 22, 1, 13, 0, 20, 52, 13, -1, 1, 22, 1, 13, 0, 19, 52, 13, -1, 1, 22, 1, 13, 0, 18, 52, 22, 7, 35, -1, 4, 13, -1, 4, 13, -1, 2, 22, 2, 13, 0, 180, 60, 10904, 8, -10, 39, 52, 15, 13, -1, 4, 27, 0, 21, 3094, 46, 38, 3105, 56, 35, -1, 18, 27, 0, 21, 3674, 22, 0, 49, 23, 15, 57, 1, 0, 1, 13, -1, 1, 60, 4612, 12, -6, 39, 60, 2644, 16, -9, 39, 21, 3136, 13, 0, 179, 27, 0, 21, 3673, 13, -1, 1, 60, 7752, 8, 17, 39, 21, 3153, 13, 0, 177, 27, 0, 21, 3673, 22, 0, 13, -1, 1, 60, 5988, 16, 20, 39, 60, 9904, 16, -1, 39, 52, 35, -1, 2, 13, -1, 2, 60, 1388, 40, -16, 26, 21, 3189, 13, 0, 171, 27, 0, 21, 3673, 13, -1, 1, 60, 4476, 28, -16, 39, 21, 3219, 22, 0, 13, -1, 1, 60, 4476, 28, -16, 39, 60, 9904, 16, -1, 39, 52, 27, 0, 21, 3223, 60, 6752, 0, -1, 35, -1, 3, 13, -1, 2, 60, 2628, 16, 17, 26, 9, 65, 21, 3247, 15, 13, -1, 3, 60, 2628, 16, 17, 26, 21, 3256, 13, 0, 178, 27, 0, 21, 3673, 13, -1, 3, 60, 8132, 8, 0, 26, 21, 3277, 13, 0, 169, 27, 0, 21, 3673, 27, 0, 21, 3287, 13, -1, 3, 60, 9572, 52, -22, 26, 21, 3298, 13, 0, 170, 27, 0, 21, 3673, 27, 0, 21, 3308, 13, -1, 3, 60, 3580, 8, 3, 26, 21, 3319, 13, 0, 172, 27, 0, 21, 3673, 27, 0, 21, 3329, 13, -1, 3, 60, 1440, 8, 10, 26, 21, 3340, 13, 0, 174, 27, 0, 21, 3673, 27, 0, 21, 3350, 13, -1, 3, 60, 7868, 4, 9, 26, 21, 3361, 13, 0, 175, 27, 0, 21, 3673, 27, 0, 21, 3371, 13, -1, 3, 60, 180, 8, -1, 26, 21, 3382, 13, 0, 173, 27, 0, 21, 3673, 27, 0, 21, 3386, 27, 0, 21, 3660, 13, -1, 1, 60, 248, 8, 10, 39, 9, 65, 21, 3403, 15, 60, 6752, 0, -1, 60, 936, 4, 1, 58, 13, -1, 1, 60, 3968, 4, 10, 39, 9, 65, 21, 3425, 15, 60, 6752, 0, -1, 58, 60, 936, 4, 1, 58, 13, -1, 1, 60, 7072, 36, -18, 39, 9, 65, 21, 3448, 15, 60, 6752, 0, -1, 58, 60, 936, 4, 1, 58, 13, -1, 1, 60, 8268, 20, 16, 39, 9, 65, 21, 3471, 15, 60, 6752, 0, -1, 58, 35, -1, 4, 22, 0, 13, -1, 4, 60, 9904, 16, -1, 39, 52, 35, -1, 5, 13, 0, 174, 60, 8916, 12, -15, 22, 2, 13, 0, 170, 60, 9572, 52, -22, 22, 2, 13, 0, 169, 60, 8132, 8, 0, 22, 2, 22, 3, 35, -1, 6, 38, 0, 35, -1, 7, 13, -1, 6, 60, 10968, 8, 3, 39, 35, -1, 8, 13, -1, 7, 13, -1, 8, 53, 21, 3596, 13, -1, 6, 13, -1, 7, 39, 38, 0, 39, 22, 1, 13, -1, 5, 60, 152, 16, 16, 39, 52, 38, 1, 19, 24, 21, 3587, 13, -1, 6, 13, -1, 7, 39, 38, 1, 39, 27, 0, 21, 3673, 2, -1, 7, 0, 15, 27, 0, 21, 3537, 13, -1, 4, 22, 1, 60, 1556, 4, -14, 60, 5028, 12, 3, 22, 2, 60, 4108, 8, 14, 62, 10, 60, 2644, 16, -9, 39, 52, 21, 3632, 13, 0, 174, 27, 0, 21, 3673, 13, -1, 3, 60, 9680, 8, 15, 26, 21, 3649, 13, 0, 171, 27, 0, 21, 3652, 13, 0, 176, 27, 0, 21, 3673, 27, 0, 21, 3664, 27, 0, 21, 3386, 60, 1080, 20, 18, 62, 27, 0, 21, 3673, 46, 38, 3684, 56, 35, -1, 19, 27, 0, 21, 3830, 22, 0, 49, 24, 15, 57, 1, 0, 1, 60, 9136, 8, -6, 60, 940, 8, -3, 60, 7072, 36, -18, 60, 7480, 28, -22, 60, 248, 8, 10, 60, 3968, 4, 10, 22, 6, 35, -1, 2, 22, 0, 35, -1, 3, 13, -1, 2, 60, 10968, 8, 3, 39, 35, -1, 4, 38, 0, 35, -1, 5, 13, -1, 5, 13, -1, 4, 53, 21, 3822, 13, -1, 2, 13, -1, 5, 39, 35, -1, 6, 13, -1, 6, 22, 1, 13, -1, 1, 60, 4348, 16, -3, 39, 52, 21, 3800, 13, -1, 6, 22, 1, 13, -1, 1, 60, 10248, 28, 9, 39, 52, 22, 1, 8, 52, 27, 0, 21, 3801, 5, 22, 1, 13, -1, 3, 60, 8340, 8, -3, 39, 52, 15, 2, -1, 5, 0, 15, 27, 0, 21, 3743, 13, -1, 3, 27, 0, 21, 3829, 46, 38, 3840, 56, 35, -1, 20, 27, 0, 21, 4311, 22, 0, 49, 25, 15, 57, 1, 0, 1, 16, 4292, 27, 1, 21, 3861, 22, 0, 27, 0, 21, 4310, 13, -1, 1, 60, 3288, 16, 19, 39, 35, -1, 2, 13, -1, 2, 60, 10968, 8, 3, 39, 35, -1, 3, 22, 0, 35, -1, 4, 22, 0, 35, -1, 5, 38, 5, 35, -1, 6, 38, 0, 35, -1, 7, 38, 0, 35, -1, 8, 13, -1, 8, 13, -1, 3, 53, 21, 4067, 13, -1, 7, 13, -1, 6, 51, 9, 65, 21, 3941, 15, 13, -1, 5, 60, 10968, 8, 3, 39, 13, -1, 6, 51, 21, 3947, 27, 0, 21, 4067, 13, -1, 2, 13, -1, 8, 39, 35, -1, 9, 13, -1, 9, 60, 248, 8, 10, 39, 35, -1, 10, 60, 1140, 16, -20, 22, 1, 13, -1, 10, 60, 152, 16, 16, 39, 52, 38, 0, 26, 21, 4022, 13, -1, 9, 60, 248, 8, 10, 39, 22, 1, 8, 52, 22, 1, 13, -1, 4, 60, 8340, 8, -3, 39, 52, 15, 38, 1, 43, -1, 7, 15, 27, 0, 21, 4057, 60, 2476, 12, 10, 22, 1, 13, -1, 10, 60, 152, 16, 16, 39, 52, 38, 0, 26, 21, 4057, 13, -1, 9, 22, 1, 13, -1, 5, 60, 8340, 8, -3, 39, 52, 15, 38, 1, 43, -1, 8, 15, 27, 0, 21, 3908, 13, -1, 5, 60, 10968, 8, 3, 39, 35, -1, 11, 38, 0, 35, -1, 12, 13, -1, 12, 13, -1, 11, 53, 21, 4149, 13, -1, 7, 13, -1, 6, 51, 21, 4105, 27, 0, 21, 4149, 13, -1, 5, 13, -1, 12, 39, 60, 248, 8, 10, 39, 22, 1, 8, 52, 22, 1, 13, -1, 4, 60, 8340, 8, -3, 39, 52, 15, 38, 1, 43, -1, 7, 15, 38, 1, 43, -1, 12, 15, 27, 0, 21, 4083, 38, 0, 35, -1, 13, 13, -1, 13, 13, -1, 3, 53, 21, 4279, 13, -1, 7, 13, -1, 6, 51, 21, 4176, 27, 0, 21, 4279, 13, -1, 2, 13, -1, 13, 39, 32, -1, 9, 15, 60, 1140, 16, -20, 22, 1, 13, -1, 9, 60, 248, 8, 10, 39, 60, 152, 16, 16, 39, 52, 38, 0, 24, 9, 21, 4237, 15, 60, 2476, 12, 10, 22, 1, 13, -1, 9, 60, 248, 8, 10, 39, 60, 152, 16, 16, 39, 52, 38, 0, 24, 21, 4269, 13, -1, 9, 60, 248, 8, 10, 39, 22, 1, 8, 52, 22, 1, 13, -1, 4, 60, 8340, 8, -3, 39, 52, 15, 38, 1, 43, -1, 7, 15, 38, 1, 43, -1, 13, 15, 27, 0, 21, 4154, 13, -1, 4, 27, 0, 21, 4310, 29, 4288, 27, 0, 21, 4301, 35, -1, 14, 22, 0, 27, 0, 21, 4310, 60, 1080, 20, 18, 62, 27, 0, 21, 4310, 46, 38, 4321, 56, 35, -1, 21, 27, 0, 21, 4441, 22, 0, 49, 26, 15, 57, 1, 0, 1, 13, -1, 1, 60, 7848, 20, 5, 26, 21, 4351, 13, 0, 181, 27, 0, 21, 4440, 27, 0, 21, 4361, 13, -1, 1, 60, 2532, 12, -2, 26, 21, 4372, 13, 0, 182, 27, 0, 21, 4440, 27, 0, 21, 4382, 13, -1, 1, 60, 7724, 20, 13, 26, 21, 4393, 13, 0, 183, 27, 0, 21, 4440, 27, 0, 21, 4403, 13, -1, 1, 60, 8780, 44, -18, 26, 21, 4414, 13, 0, 184, 27, 0, 21, 4440, 27, 0, 21, 4418, 27, 0, 21, 4427, 5, 27, 0, 21, 4440, 27, 0, 21, 4431, 27, 0, 21, 4418, 60, 1080, 20, 18, 62, 27, 0, 21, 4440, 46, 38, 4451, 56, 35, -1, 22, 27, 0, 21, 4571, 22, 0, 49, 27, 15, 57, 1, 0, 1, 13, -1, 1, 60, 8348, 12, -1, 26, 21, 4481, 13, 0, 185, 27, 0, 21, 4570, 27, 0, 21, 4491, 13, -1, 1, 60, 3152, 12, -9, 26, 21, 4502, 13, 0, 186, 27, 0, 21, 4570, 27, 0, 21, 4512, 13, -1, 1, 60, 1376, 12, 2, 26, 21, 4523, 13, 0, 187, 27, 0, 21, 4570, 27, 0, 21, 4533, 13, -1, 1, 60, 508, 12, -4, 26, 21, 4544, 13, 0, 188, 27, 0, 21, 4570, 27, 0, 21, 4548, 27, 0, 21, 4557, 5, 27, 0, 21, 4570, 27, 0, 21, 4561, 27, 0, 21, 4548, 60, 1080, 20, 18, 62, 27, 0, 21, 4570, 46, 38, 4581, 56, 35, -1, 23, 27, 0, 21, 4659, 22, 0, 49, 28, 15, 57, 1, 0, 1, 13, -1, 1, 60, 8672, 12, 5, 26, 21, 4611, 13, 0, 189, 27, 0, 21, 4658, 27, 0, 21, 4621, 13, -1, 1, 60, 4152, 8, 0, 26, 21, 4632, 13, 0, 190, 27, 0, 21, 4658, 27, 0, 21, 4636, 27, 0, 21, 4645, 5, 27, 0, 21, 4658, 27, 0, 21, 4649, 27, 0, 21, 4636, 60, 1080, 20, 18, 62, 27, 0, 21, 4658, 46, 38, 4669, 56, 35, -1, 24, 27, 0, 21, 4701, 22, 0, 49, 29, 15, 57, 1, 0, 1, 13, -1, 1, 60, 9428, 8, 6, 26, 21, 4695, 13, 0, 191, 27, 0, 21, 4700, 5, 27, 0, 21, 4700, 46, 38, 4711, 56, 35, -1, 25, 27, 0, 21, 4789, 22, 0, 49, 30, 15, 57, 1, 0, 1, 13, -1, 1, 60, 4320, 8, 4, 26, 21, 4741, 13, 0, 192, 27, 0, 21, 4788, 27, 0, 21, 4751, 13, -1, 1, 60, 168, 12, 21, 26, 21, 4762, 13, 0, 193, 27, 0, 21, 4788, 27, 0, 21, 4766, 27, 0, 21, 4775, 5, 27, 0, 21, 4788, 27, 0, 21, 4779, 27, 0, 21, 4766, 60, 1080, 20, 18, 62, 27, 0, 21, 4788, 46, 38, 4799, 56, 35, -1, 26, 27, 0, 21, 4919, 22, 0, 49, 31, 15, 57, 1, 0, 1, 13, -1, 1, 60, 2412, 32, -21, 26, 21, 4829, 13, 0, 194, 27, 0, 21, 4918, 27, 0, 21, 4839, 13, -1, 1, 60, 1072, 8, -1, 26, 21, 4850, 13, 0, 195, 27, 0, 21, 4918, 27, 0, 21, 4860, 13, -1, 1, 60, 6408, 48, -16, 26, 21, 4871, 13, 0, 196, 27, 0, 21, 4918, 27, 0, 21, 4881, 13, -1, 1, 60, 1796, 24, 8, 26, 21, 4892, 13, 0, 197, 27, 0, 21, 4918, 27, 0, 21, 4896, 27, 0, 21, 4905, 5, 27, 0, 21, 4918, 27, 0, 21, 4909, 27, 0, 21, 4896, 60, 1080, 20, 18, 62, 27, 0, 21, 4918, 46, 38, 4929, 56, 35, -1, 27, 27, 0, 21, 5028, 22, 0, 49, 32, 15, 57, 1, 0, 1, 13, -1, 1, 60, 7436, 32, 18, 26, 21, 4959, 13, 0, 198, 27, 0, 21, 5027, 27, 0, 21, 4969, 13, -1, 1, 60, 272, 64, -18, 26, 21, 4980, 13, 0, 199, 27, 0, 21, 5027, 27, 0, 21, 4990, 13, -1, 1, 60, 3048, 24, 16, 26, 21, 5001, 13, 0, 200, 27, 0, 21, 5027, 27, 0, 21, 5005, 27, 0, 21, 5014, 5, 27, 0, 21, 5027, 27, 0, 21, 5018, 27, 0, 21, 5005, 60, 1080, 20, 18, 62, 27, 0, 21, 5027, 46, 38, 5038, 56, 35, -1, 28, 27, 0, 21, 5124, 22, 0, 49, 33, 15, 57, 2, 0, 1, 2, 38, 5055, 56, 27, 0, 21, 5119, 22, 0, 49, 34, 35, -1, 0, 57, 2, 1, 2, 3, 38, 5074, 56, 27, 0, 21, 5114, 22, 0, 49, 35, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 22, 1, 13, 33, 2, 52, 13, 34, 2, 22, 1, 13, 33, 1, 52, 22, 2, 13, 34, 3, 52, 27, 0, 21, 5113, 46, 27, 0, 21, 5118, 46, 27, 0, 21, 5123, 46, 38, 5134, 56, 35, -1, 29, 27, 0, 21, 5237, 22, 0, 49, 36, 15, 57, 1, 0, 1, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 13, -1, 1, 60, 4888, 8, 14, 39, 22, 1, 13, 0, 14, 52, 13, -1, 1, 60, 6004, 20, -5, 39, 21, 5192, 13, -1, 1, 60, 6004, 20, -5, 39, 27, 0, 21, 5200, 13, -1, 1, 60, 7308, 20, -16, 39, 13, -1, 1, 60, 8164, 16, 19, 39, 21, 5222, 13, -1, 1, 60, 8164, 16, 19, 39, 27, 0, 21, 5230, 13, -1, 1, 60, 3220, 16, 16, 39, 22, 4, 27, 0, 21, 5236, 46, 38, 5247, 56, 35, -1, 30, 27, 0, 21, 5358, 22, 0, 49, 37, 15, 57, 1, 0, 1, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 13, -1, 1, 60, 4888, 8, 14, 39, 22, 1, 13, 0, 14, 52, 13, -1, 1, 60, 2628, 16, 17, 39, 13, -1, 1, 60, 6004, 20, -5, 39, 21, 5313, 13, -1, 1, 60, 6004, 20, -5, 39, 27, 0, 21, 5321, 13, -1, 1, 60, 7308, 20, -16, 39, 13, -1, 1, 60, 8164, 16, 19, 39, 21, 5343, 13, -1, 1, 60, 8164, 16, 19, 39, 27, 0, 21, 5351, 13, -1, 1, 60, 3220, 16, 16, 39, 22, 5, 27, 0, 21, 5357, 46, 38, 5368, 56, 35, -1, 31, 27, 0, 21, 5631, 22, 0, 49, 38, 15, 57, 1, 0, 1, 38, 0, 35, -1, 2, 60, 11060, 16, 10, 13, 0, 222, 60, 2716, 20, -8, 13, 0, 221, 60, 11076, 20, 12, 13, 0, 220, 60, 10844, 40, -22, 13, 0, 219, 48, 4, 35, -1, 3, 60, 2444, 8, 12, 13, 0, 227, 60, 7468, 12, 0, 13, 0, 226, 60, 2452, 16, -9, 13, 0, 225, 60, 648, 8, -4, 13, 0, 224, 60, 8904, 4, -18, 13, 0, 223, 48, 5, 35, -1, 4, 13, -1, 3, 22, 1, 60, 1168, 12, 18, 62, 60, 5968, 8, 6, 39, 52, 35, -1, 5, 13, -1, 5, 60, 10968, 8, 3, 39, 35, -1, 6, 38, 0, 35, -1, 7, 13, -1, 7, 13, -1, 6, 53, 21, 5547, 13, -1, 5, 13, -1, 7, 39, 35, -1, 8, 13, -1, 1, 13, -1, 8, 39, 21, 5538, 13, -1, 3, 13, -1, 8, 39, 13, -1, 2, 22, 2, 13, 0, 16, 52, 32, -1, 2, 15, 2, -1, 7, 0, 15, 27, 0, 21, 5490, 13, -1, 4, 13, -1, 1, 60, 10960, 8, 8, 39, 39, 21, 5586, 13, -1, 4, 13, -1, 1, 60, 10960, 8, 8, 39, 39, 13, -1, 2, 22, 2, 13, 0, 16, 52, 32, -1, 2, 15, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 13, -1, 1, 60, 4888, 8, 14, 39, 22, 1, 13, 0, 14, 52, 13, -1, 2, 13, -1, 1, 60, 636, 12, 10, 39, 22, 4, 27, 0, 21, 5630, 46, 38, 5641, 56, 35, -1, 32, 27, 0, 21, 5983, 22, 0, 49, 39, 15, 57, 1, 0, 1, 22, 0, 35, -1, 2, 16, 5963, 13, -1, 1, 60, 6752, 32, -14, 39, 9, 21, 5685, 15, 13, -1, 1, 60, 6752, 32, -14, 39, 60, 10968, 8, 3, 39, 38, 1, 51, 21, 5703, 13, -1, 1, 60, 6752, 32, -14, 39, 32, -1, 3, 15, 27, 0, 21, 5745, 13, -1, 1, 60, 540, 24, 14, 39, 9, 21, 5731, 15, 13, -1, 1, 60, 540, 24, 14, 39, 60, 10968, 8, 3, 39, 38, 1, 51, 21, 5745, 13, -1, 1, 60, 540, 24, 14, 39, 32, -1, 3, 15, 13, -1, 3, 21, 5950, 13, -1, 3, 60, 10968, 8, 3, 39, 35, -1, 5, 38, 0, 35, -1, 6, 13, -1, 6, 13, -1, 5, 53, 21, 5899, 13, -1, 3, 13, -1, 6, 39, 22, 1, 50, 60, 760, 16, -2, 39, 52, 32, -1, 4, 15, 13, -1, 4, 21, 5890, 13, -1, 3, 13, -1, 6, 39, 60, 372, 16, -8, 39, 22, 1, 13, -1, 2, 60, 8340, 8, -3, 39, 52, 15, 13, -1, 4, 60, 3736, 4, 18, 39, 22, 1, 60, 2760, 8, 16, 62, 60, 9836, 36, -19, 39, 52, 22, 1, 13, -1, 2, 60, 8340, 8, -3, 39, 52, 15, 13, -1, 4, 60, 1688, 8, -21, 39, 22, 1, 60, 2760, 8, 16, 62, 60, 9836, 36, -19, 39, 52, 22, 1, 13, -1, 2, 60, 8340, 8, -3, 39, 52, 15, 2, -1, 6, 0, 15, 27, 0, 21, 5766, 13, -1, 1, 60, 4888, 8, 14, 39, 22, 1, 13, 0, 14, 52, 22, 1, 13, -1, 2, 60, 8340, 8, -3, 39, 52, 15, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 22, 1, 13, -1, 2, 60, 8340, 8, -3, 39, 52, 15, 13, -1, 2, 27, 0, 21, 5982, 29, 5959, 27, 0, 21, 5973, 35, -1, 7, 13, -1, 2, 27, 0, 21, 5982, 60, 1080, 20, 18, 62, 27, 0, 21, 5982, 46, 38, 5993, 56, 35, -1, 33, 27, 0, 21, 6036, 22, 0, 49, 40, 15, 57, 1, 0, 1, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 13, -1, 1, 60, 4888, 8, 14, 39, 22, 1, 13, 0, 14, 52, 22, 2, 27, 0, 21, 6035, 46, 38, 6046, 56, 35, -1, 34, 27, 0, 21, 6370, 22, 0, 49, 41, 15, 57, 1, 0, 1, 13, -1, 1, 60, 4888, 8, 14, 39, 35, -1, 2, 13, -1, 1, 60, 4476, 28, -16, 39, 60, 4320, 8, 4, 26, 21, 6088, 13, 0, 228, 27, 0, 21, 6091, 13, 0, 229, 35, -1, 3, 13, -1, 2, 60, 10588, 12, 5, 39, 9, 65, 21, 6111, 15, 60, 6752, 0, -1, 35, -1, 4, 13, -1, 1, 60, 8972, 24, 22, 39, 9, 65, 21, 6128, 15, 5, 35, -1, 5, 13, -1, 5, 9, 21, 6146, 15, 13, -1, 5, 60, 5676, 12, -2, 39, 21, 6167, 60, 9680, 8, 15, 22, 1, 13, -1, 5, 60, 5676, 12, -2, 39, 52, 27, 0, 21, 6171, 60, 6752, 0, -1, 35, -1, 6, 38, 0, 35, -1, 7, 13, -1, 3, 13, 0, 229, 26, 21, 6264, 13, -1, 2, 60, 5200, 28, -10, 39, 38, 0, 22, 2, 13, -1, 4, 60, 4036, 8, 18, 39, 52, 13, -1, 6, 58, 13, -1, 2, 60, 6492, 24, 11, 39, 22, 1, 13, -1, 4, 60, 4036, 8, 18, 39, 52, 58, 35, -1, 8, 13, -1, 6, 60, 10968, 8, 3, 39, 13, -1, 8, 60, 10968, 8, 3, 39, 12, 38, 100, 25, 32, -1, 7, 15, 27, 0, 21, 6318, 13, -1, 2, 60, 6492, 24, 11, 39, 13, -1, 2, 60, 5200, 28, -10, 39, 22, 2, 13, -1, 4, 60, 4036, 8, 18, 39, 52, 35, -1, 9, 13, -1, 9, 60, 10968, 8, 3, 39, 13, -1, 4, 60, 10968, 8, 3, 39, 12, 38, 100, 25, 32, -1, 7, 15, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 13, -1, 2, 22, 1, 13, 0, 14, 52, 13, -1, 3, 13, 0, 229, 26, 21, 6356, 38, 1, 19, 27, 0, 21, 6357, 5, 13, -1, 7, 13, -1, 3, 22, 5, 27, 0, 21, 6369, 46, 38, 6380, 56, 35, -1, 35, 27, 0, 21, 6597, 22, 0, 49, 42, 15, 57, 1, 0, 1, 38, 0, 35, -1, 2, 13, -1, 1, 60, 4888, 8, 14, 39, 60, 3488, 52, -13, 62, 34, 9, 65, 21, 6427, 15, 13, -1, 1, 60, 4888, 8, 14, 39, 60, 6996, 36, 13, 62, 34, 21, 6455, 13, -1, 1, 60, 4888, 8, 14, 39, 60, 10588, 12, 5, 39, 60, 10968, 8, 3, 39, 32, -1, 2, 15, 27, 0, 21, 6510, 13, -1, 1, 60, 4888, 8, 14, 39, 60, 8304, 24, -13, 62, 34, 9, 21, 6486, 15, 13, -1, 1, 60, 4888, 8, 14, 39, 60, 11172, 64, -17, 39, 21, 6510, 13, -1, 1, 60, 4888, 8, 14, 39, 60, 2304, 28, -9, 39, 60, 10968, 8, 3, 39, 32, -1, 2, 15, 13, -1, 1, 60, 4824, 8, 21, 39, 21, 6537, 13, -1, 1, 60, 4824, 8, 21, 39, 60, 10968, 8, 3, 39, 27, 0, 21, 6540, 38, 1, 19, 35, -1, 3, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 13, -1, 1, 60, 4888, 8, 14, 39, 22, 1, 13, 0, 14, 52, 13, -1, 1, 60, 4888, 8, 14, 39, 22, 1, 13, 0, 17, 52, 13, -1, 3, 13, -1, 2, 22, 5, 27, 0, 21, 6596, 46, 38, 6607, 56, 35, -1, 36, 27, 0, 21, 6859, 22, 0, 49, 43, 15, 57, 1, 0, 1, 13, -1, 1, 60, 4476, 28, -16, 39, 60, 3048, 24, 16, 26, 9, 21, 6641, 15, 13, -1, 1, 60, 4952, 32, 16, 39, 21, 6776, 22, 0, 13, -1, 1, 60, 4952, 32, 16, 39, 52, 35, -1, 2, 22, 0, 38, 6666, 56, 27, 0, 21, 6751, 22, 0, 49, 44, 35, -1, 0, 57, 1, 1, 2, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 13, -1, 2, 60, 4888, 8, 14, 39, 22, 1, 13, 0, 14, 52, 13, -1, 2, 60, 3200, 20, -8, 39, 13, -1, 2, 60, 7520, 24, 9, 39, 13, -1, 2, 60, 9492, 20, 17, 39, 13, -1, 2, 60, 7308, 20, -16, 39, 13, -1, 2, 60, 3220, 16, 16, 39, 22, 7, 27, 0, 21, 6750, 46, 22, 1, 13, -1, 2, 60, 8572, 4, 11, 39, 52, 60, 2332, 16, -16, 39, 52, 27, 0, 21, 6858, 27, 0, 21, 6849, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 13, -1, 1, 60, 4888, 8, 14, 39, 22, 1, 13, 0, 14, 52, 13, -1, 1, 60, 3200, 20, -8, 39, 13, -1, 1, 60, 7520, 24, 9, 39, 13, -1, 1, 60, 9492, 20, 17, 39, 13, -1, 1, 60, 7308, 20, -16, 39, 13, -1, 1, 60, 3220, 16, 16, 39, 22, 7, 27, 0, 21, 6858, 60, 1080, 20, 18, 62, 27, 0, 21, 6858, 46, 38, 6869, 56, 35, -1, 37, 27, 0, 21, 6984, 22, 0, 49, 45, 15, 57, 0, 0, 16, 6965, 60, 10020, 40, -19, 62, 60, 2660, 24, -9, 39, 5, 45, 21, 6899, 27, 0, 27, 0, 21, 6983, 60, 10600, 16, -20, 35, -1, 1, 13, -1, 1, 13, -1, 1, 22, 2, 60, 10020, 40, -19, 62, 60, 2660, 24, -9, 39, 60, 1196, 12, -1, 39, 52, 15, 13, -1, 1, 22, 1, 60, 10020, 40, -19, 62, 60, 2660, 24, -9, 39, 60, 5688, 40, -15, 39, 52, 15, 27, 1, 27, 0, 21, 6983, 29, 6961, 27, 0, 21, 6974, 35, -1, 2, 27, 0, 27, 0, 21, 6983, 60, 1080, 20, 18, 62, 27, 0, 21, 6983, 46, 38, 6994, 56, 35, -1, 38, 27, 0, 21, 7175, 22, 0, 49, 46, 15, 57, 0, 0, 13, 0, 233, 35, -1, 1, 60, 10020, 40, -19, 62, 38, 0, 33, 45, 21, 7026, 13, -1, 1, 27, 0, 21, 7174, 60, 10020, 40, -19, 62, 60, 628, 8, 0, 39, 21, 7045, 13, 0, 234, 42, -1, 1, 15, 60, 10020, 40, -19, 62, 60, 628, 8, 0, 39, 9, 21, 7074, 15, 60, 10020, 40, -19, 62, 60, 628, 8, 0, 39, 60, 2824, 8, 1, 39, 21, 7083, 13, 0, 235, 42, -1, 1, 15, 60, 10020, 40, -19, 62, 60, 9288, 20, 12, 39, 21, 7102, 13, 0, 236, 42, -1, 1, 15, 60, 10020, 40, -19, 62, 60, 7680, 16, 0, 39, 31, 60, 1080, 20, 18, 24, 21, 7127, 13, 0, 237, 42, -1, 1, 15, 16, 7164, 60, 10020, 40, -19, 62, 60, 2660, 24, -9, 39, 9, 21, 7149, 15, 22, 0, 13, 0, 37, 52, 21, 7158, 13, 0, 238, 42, -1, 1, 15, 29, 7160, 27, 0, 21, 7167, 35, -1, 2, 13, -1, 1, 27, 0, 21, 7174, 46, 38, 7185, 56, 35, -1, 39, 27, 0, 21, 7206, 22, 0, 49, 47, 15, 57, 1, 0, 1, 13, -1, 1, 13, 0, 239, 26, 27, 0, 21, 7205, 46, 38, 7216, 56, 35, -1, 40, 27, 0, 21, 7450, 22, 0, 49, 48, 15, 57, 1, 0, 1, 22, 0, 13, 0, 38, 52, 22, 1, 13, 0, 39, 52, 65, 18, 60, 76, 24, 7, 23, 15, 18, 60, 76, 24, 7, 39, 21, 7258, 37, 27, 0, 21, 7449, 5, 18, 60, 5844, 16, -16, 23, 15, 22, 0, 18, 60, 6560, 16, -12, 23, 15, 13, -1, 1, 18, 60, 8044, 52, -18, 23, 15, 22, 0, 18, 60, 388, 16, -17, 39, 52, 18, 60, 3176, 24, -22, 23, 15, 5, 18, 60, 860, 20, 2, 23, 15, 22, 0, 18, 60, 3252, 36, 16, 23, 15, 27, 0, 18, 60, 444, 36, 10, 23, 15, 18, 35, -1, 2, 60, 10020, 40, -19, 62, 60, 7900, 24, 3, 39, 21, 7440, 38, 7350, 56, 27, 0, 21, 7422, 22, 0, 49, 49, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 60, 10960, 8, 8, 39, 13, 48, 2, 60, 8044, 52, -18, 39, 26, 9, 21, 7390, 15, 13, -1, 2, 60, 8456, 12, 0, 39, 21, 7412, 13, -1, 2, 60, 8456, 12, 0, 39, 22, 1, 13, 48, 2, 60, 344, 28, -5, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 7421, 46, 60, 1020, 12, 16, 22, 2, 60, 10020, 40, -19, 62, 60, 7900, 24, 3, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 7449, 46, 38, 7460, 56, 35, -1, 41, 27, 0, 21, 7498, 22, 0, 49, 50, 15, 57, 1, 0, 1, 22, 0, 18, 60, 6560, 16, -12, 23, 15, 13, -1, 1, 18, 60, 8044, 52, -18, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 7497, 46, 38, 7508, 56, 35, -1, 42, 27, 0, 21, 7567, 22, 0, 49, 51, 15, 57, 1, 0, 1, 16, 7548, 13, -1, 1, 22, 1, 60, 6376, 8, 6, 62, 60, 11024, 12, -1, 39, 52, 15, 27, 0, 27, 0, 21, 7566, 29, 7544, 27, 0, 21, 7557, 35, -1, 2, 27, 1, 27, 0, 21, 7566, 60, 1080, 20, 18, 62, 27, 0, 21, 7566, 46, 38, 7577, 56, 35, -1, 43, 27, 0, 21, 8076, 22, 0, 49, 52, 15, 57, 3, 0, 1, 2, 3, 13, -1, 2, 5, 45, 21, 7602, 13, 0, 231, 32, -1, 2, 15, 13, -1, 3, 22, 1, 60, 5956, 12, 2, 62, 60, 8396, 16, 20, 39, 52, 65, 21, 7628, 13, 0, 274, 32, -1, 3, 15, 22, 0, 35, -1, 8, 48, 0, 35, -1, 9, 13, -1, 3, 60, 10968, 8, 3, 39, 35, -1, 10, 38, 0, 32, -1, 4, 15, 13, -1, 4, 13, -1, 10, 53, 21, 7698, 13, -1, 4, 13, -1, 9, 13, -1, 3, 13, -1, 4, 39, 23, 15, 22, 0, 13, -1, 8, 13, -1, 4, 23, 15, 2, -1, 4, 0, 15, 27, 0, 21, 7655, 13, -1, 1, 60, 10968, 8, 3, 39, 35, -1, 11, 38, 0, 32, -1, 4, 15, 13, -1, 4, 13, -1, 11, 53, 21, 7815, 13, -1, 1, 13, -1, 4, 39, 32, -1, 7, 15, 13, -1, 7, 38, 0, 39, 32, -1, 5, 15, 13, -1, 9, 13, -1, 5, 39, 38, 0, 33, 24, 21, 7806, 13, -1, 9, 13, -1, 5, 39, 32, -1, 6, 15, 60, 10752, 4, -3, 13, -1, 4, 60, 3692, 12, 18, 13, -1, 7, 48, 2, 13, -1, 8, 13, -1, 6, 39, 13, -1, 8, 13, -1, 6, 39, 60, 10968, 8, 3, 39, 23, 15, 2, -1, 4, 0, 15, 27, 0, 21, 7715, 13, -1, 8, 60, 10968, 8, 3, 39, 35, -1, 12, 22, 0, 35, -1, 13, 38, 0, 32, -1, 4, 15, 13, -1, 4, 13, -1, 12, 53, 21, 7955, 13, -1, 8, 13, -1, 4, 39, 35, -1, 14, 13, -1, 14, 60, 10968, 8, 3, 39, 35, -1, 15, 38, 0, 35, -1, 16, 13, -1, 16, 13, -1, 15, 53, 21, 7928, 13, -1, 14, 13, -1, 16, 39, 13, -1, 13, 13, -1, 13, 60, 10968, 8, 3, 39, 23, 15, 13, -1, 13, 60, 10968, 8, 3, 39, 13, -1, 2, 51, 21, 7919, 27, 0, 21, 7928, 2, -1, 16, 0, 15, 27, 0, 21, 7872, 13, -1, 13, 60, 10968, 8, 3, 39, 13, -1, 2, 51, 21, 7946, 27, 0, 21, 7955, 2, -1, 4, 0, 15, 27, 0, 21, 7837, 38, 7962, 56, 27, 0, 21, 7996, 22, 0, 49, 53, 35, -1, 0, 57, 2, 1, 2, 3, 13, -1, 2, 60, 10752, 4, -3, 39, 13, -1, 3, 60, 10752, 4, -3, 39, 4, 27, 0, 21, 7995, 46, 22, 1, 13, -1, 13, 60, 8380, 16, 22, 39, 52, 15, 13, -1, 13, 60, 10968, 8, 3, 39, 35, -1, 17, 22, 0, 35, -1, 18, 38, 0, 32, -1, 4, 15, 13, -1, 4, 13, -1, 17, 53, 21, 8068, 13, -1, 13, 13, -1, 4, 39, 60, 3692, 12, 18, 39, 13, -1, 18, 13, -1, 4, 23, 15, 2, -1, 4, 0, 15, 27, 0, 21, 8030, 13, -1, 18, 27, 0, 21, 8075, 46, 38, 8086, 56, 35, -1, 44, 27, 0, 21, 8128, 22, 0, 49, 54, 15, 57, 0, 0, 22, 0, 60, 2760, 8, 16, 62, 60, 5660, 16, 20, 39, 52, 38, 100, 25, 22, 1, 60, 2760, 8, 16, 62, 60, 10164, 36, -22, 39, 52, 27, 0, 21, 8127, 46, 38, 8138, 56, 35, -1, 45, 27, 0, 21, 8222, 22, 0, 49, 55, 15, 57, 0, 0, 38, 15, 38, 2, 22, 2, 38, 36, 22, 1, 22, 0, 60, 2760, 8, 16, 62, 60, 5660, 16, 20, 39, 52, 60, 1696, 16, 12, 39, 52, 60, 10336, 16, 2, 39, 52, 38, 15, 38, 2, 22, 2, 38, 36, 22, 1, 22, 0, 60, 2760, 8, 16, 62, 60, 5660, 16, 20, 39, 52, 60, 1696, 16, 12, 39, 52, 60, 10336, 16, 2, 39, 52, 58, 27, 0, 21, 8221, 46, 38, 8232, 56, 35, -1, 46, 27, 0, 21, 8291, 22, 0, 49, 56, 15, 57, 0, 0, 60, 10020, 40, -19, 62, 60, 636, 12, 10, 39, 60, 5896, 20, -12, 39, 60, 10076, 4, 16, 22, 1, 60, 10020, 40, -19, 62, 60, 636, 12, 10, 39, 60, 2468, 8, 20, 39, 60, 3940, 12, -8, 39, 52, 38, 0, 39, 58, 27, 0, 21, 8290, 46, 38, 8301, 56, 35, -1, 47, 27, 0, 21, 8423, 22, 0, 49, 57, 15, 57, 1, 0, 1, 60, 10020, 40, -19, 62, 60, 636, 12, 10, 39, 60, 7752, 8, 17, 39, 35, -1, 2, 13, -1, 2, 9, 21, 8338, 15, 13, -1, 1, 21, 8416, 27, 0, 35, -1, 3, 38, 0, 35, -1, 4, 13, -1, 4, 13, -1, 1, 60, 10968, 8, 3, 39, 53, 21, 8409, 13, -1, 1, 13, -1, 4, 39, 35, -1, 5, 13, -1, 2, 22, 1, 13, -1, 5, 60, 2644, 16, -9, 39, 52, 21, 8400, 27, 1, 32, -1, 3, 15, 27, 0, 21, 8409, 2, -1, 4, 0, 15, 27, 0, 21, 8350, 13, -1, 3, 27, 0, 21, 8422, 27, 0, 27, 0, 21, 8422, 46, 38, 8433, 56, 35, -1, 48, 27, 0, 21, 8637, 22, 0, 49, 58, 15, 57, 1, 0, 1, 13, -1, 1, 65, 9, 65, 21, 8460, 15, 13, -1, 1, 31, 60, 10460, 32, -17, 24, 21, 8469, 13, -1, 1, 27, 0, 21, 8636, 13, -1, 1, 35, -1, 2, 60, 8132, 8, 0, 13, 0, 267, 22, 2, 13, -1, 2, 60, 2852, 16, 16, 39, 52, 32, -1, 2, 15, 60, 8916, 12, -15, 13, 0, 268, 22, 2, 13, -1, 2, 60, 2852, 16, 16, 39, 52, 32, -1, 2, 15, 60, 8372, 8, -1, 13, 0, 269, 22, 2, 13, -1, 2, 60, 2852, 16, 16, 39, 52, 32, -1, 2, 15, 60, 10432, 4, -4, 13, 0, 270, 22, 2, 13, -1, 2, 60, 2852, 16, 16, 39, 52, 32, -1, 2, 15, 60, 8256, 4, 17, 13, 0, 271, 22, 2, 13, -1, 2, 60, 2852, 16, 16, 39, 52, 32, -1, 2, 15, 60, 1156, 12, -12, 13, 0, 272, 22, 2, 13, -1, 2, 60, 2852, 16, 16, 39, 52, 32, -1, 2, 15, 60, 3580, 8, 3, 13, 0, 273, 22, 2, 13, -1, 2, 60, 2852, 16, 16, 39, 52, 32, -1, 2, 15, 13, -1, 2, 27, 0, 21, 8636, 46, 38, 8647, 56, 35, -1, 49, 27, 0, 21, 8827, 22, 0, 49, 59, 15, 57, 1, 0, 1, 13, -1, 1, 65, 21, 8670, 60, 6400, 8, 3, 27, 0, 21, 8826, 38, 0, 35, -1, 2, 13, -1, 1, 60, 10968, 8, 3, 39, 35, -1, 3, 38, 0, 35, -1, 4, 13, -1, 4, 13, -1, 3, 53, 21, 8755, 13, -1, 4, 22, 1, 13, -1, 1, 60, 7216, 36, -19, 39, 52, 35, -1, 5, 13, -1, 2, 38, 5, 14, 13, -1, 2, 4, 13, -1, 5, 58, 32, -1, 2, 15, 13, -1, 2, 13, -1, 2, 20, 32, -1, 2, 15, 2, -1, 4, 0, 15, 27, 0, 21, 8691, 38, 16, 22, 1, 13, -1, 2, 38, 0, 7, 60, 1696, 16, 12, 39, 52, 35, -1, 6, 13, -1, 6, 60, 10968, 8, 3, 39, 38, 6, 53, 21, 8807, 60, 4328, 4, -19, 13, -1, 6, 58, 13, -1, 6, 58, 32, -1, 6, 15, 27, 0, 21, 8774, 38, 6, 38, 0, 22, 2, 13, -1, 6, 60, 10336, 16, 2, 39, 52, 27, 0, 21, 8826, 46, 38, 8837, 56, 35, -1, 50, 27, 0, 21, 8875, 22, 0, 49, 60, 15, 57, 1, 0, 1, 13, -1, 1, 31, 60, 10460, 32, -17, 26, 9, 21, 8870, 15, 13, -1, 1, 60, 10968, 8, 3, 39, 38, 0, 36, 27, 0, 21, 8874, 46, 38, 8885, 56, 35, -1, 51, 27, 0, 21, 8998, 22, 0, 49, 61, 15, 57, 1, 0, 1, 13, -1, 1, 22, 1, 13, 0, 50, 52, 65, 21, 8914, 60, 6752, 0, -1, 27, 0, 21, 8997, 22, 0, 60, 4364, 4, -14, 13, 0, 245, 22, 2, 60, 4364, 4, -14, 13, 0, 244, 22, 2, 60, 6752, 0, -1, 13, 0, 243, 22, 2, 13, -1, 1, 22, 1, 60, 4160, 12, 13, 62, 52, 60, 2852, 16, 16, 39, 52, 60, 2852, 16, 16, 39, 52, 60, 2852, 16, 16, 39, 52, 60, 9904, 16, -1, 39, 52, 35, -1, 2, 13, -1, 2, 9, 65, 21, 8993, 15, 60, 6752, 0, -1, 27, 0, 21, 8997, 46, 38, 9008, 56, 35, -1, 52, 27, 0, 21, 9145, 22, 0, 49, 62, 15, 57, 1, 0, 1, 13, -1, 1, 22, 1, 13, 0, 50, 52, 65, 21, 9035, 27, 0, 27, 0, 21, 9144, 13, -1, 1, 22, 1, 13, 0, 248, 60, 2644, 16, -9, 39, 52, 21, 9057, 27, 1, 27, 0, 21, 9144, 13, -1, 1, 22, 1, 13, 0, 249, 60, 2644, 16, -9, 39, 52, 9, 21, 9086, 15, 13, -1, 1, 60, 10968, 8, 3, 39, 38, 12, 36, 21, 9094, 27, 1, 27, 0, 21, 9144, 13, -1, 1, 22, 1, 13, 0, 250, 60, 2644, 16, -9, 39, 52, 21, 9116, 27, 1, 27, 0, 21, 9144, 13, -1, 1, 22, 1, 13, 0, 251, 60, 2644, 16, -9, 39, 52, 21, 9138, 27, 1, 27, 0, 21, 9144, 27, 0, 27, 0, 21, 9144, 46, 38, 9155, 56, 35, -1, 53, 27, 0, 21, 9211, 22, 0, 49, 63, 15, 57, 1, 0, 1, 13, -1, 1, 22, 1, 13, 0, 50, 52, 65, 21, 9182, 27, 0, 27, 0, 21, 9210, 13, -1, 1, 22, 1, 13, 0, 252, 60, 2644, 16, -9, 39, 52, 21, 9204, 27, 1, 27, 0, 21, 9210, 27, 0, 27, 0, 21, 9210, 46, 38, 9221, 56, 35, -1, 54, 27, 0, 21, 9421, 22, 0, 49, 64, 15, 57, 1, 0, 1, 13, -1, 1, 22, 1, 13, 0, 50, 52, 65, 21, 9248, 27, 0, 27, 0, 21, 9420, 13, -1, 1, 22, 1, 13, 0, 52, 52, 21, 9265, 27, 0, 27, 0, 21, 9420, 13, -1, 1, 22, 1, 13, 0, 53, 52, 21, 9282, 27, 0, 27, 0, 21, 9420, 13, -1, 1, 22, 1, 13, 0, 253, 60, 2644, 16, -9, 39, 52, 21, 9304, 27, 0, 27, 0, 21, 9420, 13, -1, 1, 22, 1, 13, 0, 254, 60, 2644, 16, -9, 39, 52, 21, 9326, 27, 0, 27, 0, 21, 9420, 13, -1, 1, 22, 1, 13, 0, 255, 60, 2644, 16, -9, 39, 52, 21, 9348, 27, 0, 27, 0, 21, 9420, 13, -1, 1, 22, 1, 13, 0, 256, 60, 2644, 16, -9, 39, 52, 21, 9370, 27, 0, 27, 0, 21, 9420, 13, -1, 1, 22, 1, 13, 0, 257, 60, 2644, 16, -9, 39, 52, 21, 9392, 27, 0, 27, 0, 21, 9420, 13, -1, 1, 22, 1, 13, 0, 258, 60, 2644, 16, -9, 39, 52, 21, 9414, 27, 0, 27, 0, 21, 9420, 27, 1, 27, 0, 21, 9420, 46, 38, 9431, 56, 35, -1, 55, 27, 0, 21, 9460, 22, 0, 49, 65, 15, 57, 2, 0, 1, 2, 13, -1, 2, 22, 1, 13, -1, 1, 60, 10248, 28, 9, 39, 52, 27, 0, 21, 9459, 46, 38, 9470, 56, 35, -1, 56, 27, 0, 21, 9524, 22, 0, 49, 66, 15, 57, 1, 0, 1, 60, 940, 8, -3, 13, -1, 1, 22, 2, 13, 0, 55, 52, 35, -1, 2, 13, -1, 2, 21, 9515, 22, 0, 13, -1, 2, 60, 9904, 16, -1, 39, 52, 27, 0, 21, 9519, 60, 6752, 0, -1, 27, 0, 21, 9523, 46, 38, 9534, 56, 35, -1, 57, 27, 0, 21, 9573, 22, 0, 49, 67, 15, 57, 1, 0, 1, 60, 7752, 8, 17, 13, -1, 1, 22, 2, 13, 0, 55, 52, 35, -1, 2, 13, -1, 2, 22, 1, 13, 0, 50, 52, 27, 0, 21, 9572, 46, 38, 9583, 56, 35, -1, 58, 27, 0, 21, 9666, 22, 0, 49, 68, 15, 57, 1, 0, 1, 13, -1, 1, 22, 1, 13, 0, 50, 52, 65, 21, 9611, 13, -1, 1, 27, 0, 21, 9665, 13, -1, 1, 22, 1, 13, 0, 52, 52, 9, 65, 21, 9634, 15, 13, -1, 1, 22, 1, 13, 0, 53, 52, 21, 9643, 13, -1, 1, 27, 0, 21, 9665, 60, 5876, 20, 20, 13, 0, 265, 22, 2, 13, -1, 1, 60, 2852, 16, 16, 39, 52, 27, 0, 21, 9665, 46, 38, 9676, 56, 35, -1, 59, 27, 0, 21, 10315, 22, 0, 49, 69, 15, 57, 1, 0, 1, 13, -1, 1, 22, 1, 13, 0, 50, 52, 65, 21, 9702, 5, 27, 0, 21, 10314, 13, -1, 1, 22, 1, 13, 0, 259, 60, 2644, 16, -9, 39, 52, 65, 21, 9724, 5, 27, 0, 21, 10314, 13, -1, 1, 22, 1, 13, 0, 260, 60, 2644, 16, -9, 39, 52, 9, 21, 9756, 15, 13, -1, 1, 22, 1, 13, 0, 261, 60, 2644, 16, -9, 39, 52, 9, 21, 9774, 15, 13, -1, 1, 22, 1, 13, 0, 262, 60, 2644, 16, -9, 39, 52, 21, 9781, 5, 27, 0, 21, 10314, 22, 0, 13, -1, 1, 60, 9904, 16, -1, 39, 52, 35, -1, 2, 60, 6784, 32, 15, 38, 1, 60, 6356, 20, -12, 38, 1, 60, 1712, 36, -17, 38, 1, 60, 7040, 20, 3, 38, 1, 60, 7824, 16, -4, 38, 1, 60, 6336, 20, -10, 38, 1, 60, 4576, 12, 0, 38, 1, 60, 4504, 44, -16, 38, 1, 60, 4332, 16, -1, 38, 1, 60, 8412, 40, -9, 38, 1, 60, 3788, 12, 3, 38, 1, 60, 3164, 12, -4, 38, 1, 60, 9196, 12, -1, 38, 1, 60, 432, 12, -5, 38, 1, 60, 8108, 12, 2, 38, 1, 60, 8288, 16, 15, 38, 1, 60, 6312, 12, 1, 38, 1, 60, 1820, 12, 18, 38, 1, 60, 2412, 32, -21, 38, 1, 60, 3480, 8, -13, 38, 1, 60, 9428, 8, 6, 38, 1, 60, 2628, 16, 17, 38, 1, 60, 7352, 4, -3, 38, 1, 48, 23, 35, -1, 3, 13, -1, 3, 13, -1, 2, 39, 21, 9952, 5, 27, 0, 21, 10314, 5, 35, -1, 4, 60, 2844, 8, 5, 22, 1, 13, -1, 1, 60, 152, 16, 16, 39, 52, 35, -1, 5, 13, -1, 5, 38, 0, 36, 21, 10055, 13, -1, 5, 38, 0, 22, 2, 13, -1, 1, 60, 10336, 16, 2, 39, 52, 35, -1, 6, 60, 10276, 4, -8, 22, 1, 13, -1, 6, 60, 152, 16, 16, 39, 52, 38, 1, 19, 36, 21, 10044, 60, 10276, 4, -8, 22, 1, 13, -1, 6, 60, 3940, 12, -8, 39, 52, 38, 0, 39, 27, 0, 21, 10047, 13, -1, 6, 32, -1, 4, 15, 27, 0, 21, 10247, 60, 10276, 4, -8, 22, 1, 13, -1, 1, 60, 152, 16, 16, 39, 52, 38, 1, 19, 36, 21, 10102, 60, 10276, 4, -8, 22, 1, 13, -1, 1, 60, 3940, 12, -8, 39, 52, 38, 0, 39, 32, -1, 4, 15, 27, 0, 21, 10247, 60, 3684, 8, -17, 22, 1, 13, -1, 1, 60, 152, 16, 16, 39, 52, 38, 1, 19, 36, 21, 10149, 60, 3684, 8, -17, 22, 1, 13, -1, 1, 60, 3940, 12, -8, 39, 52, 38, 0, 39, 32, -1, 4, 15, 27, 0, 21, 10247, 13, -1, 1, 22, 1, 13, 0, 262, 60, 2644, 16, -9, 39, 52, 9, 65, 21, 10187, 15, 60, 4364, 4, -14, 22, 1, 13, -1, 1, 60, 152, 16, 16, 39, 52, 38, 1, 19, 36, 9, 65, 21, 10211, 15, 60, 7872, 4, -5, 22, 1, 13, -1, 1, 60, 152, 16, 16, 39, 52, 38, 1, 19, 36, 21, 10224, 13, -1, 1, 32, -1, 4, 15, 27, 0, 21, 10247, 13, -1, 1, 22, 1, 13, 0, 263, 60, 2644, 16, -9, 39, 52, 21, 10247, 13, -1, 1, 32, -1, 4, 15, 13, -1, 4, 65, 21, 10258, 5, 27, 0, 21, 10314, 13, -1, 4, 22, 1, 13, 0, 58, 52, 32, -1, 4, 15, 13, -1, 4, 22, 1, 13, 0, 52, 52, 9, 65, 21, 10294, 15, 13, -1, 4, 22, 1, 13, 0, 53, 52, 21, 10301, 5, 27, 0, 21, 10314, 13, -1, 4, 22, 1, 13, 0, 51, 52, 27, 0, 21, 10314, 46, 38, 10325, 56, 35, -1, 60, 27, 0, 21, 10623, 22, 0, 49, 70, 15, 57, 1, 0, 1, 13, -1, 1, 60, 9688, 24, 5, 39, 9, 65, 21, 10355, 15, 13, -1, 1, 60, 2304, 28, -9, 39, 9, 65, 21, 10364, 15, 60, 6752, 0, -1, 35, -1, 2, 60, 6752, 0, -1, 13, 0, 247, 22, 2, 60, 6816, 4, 10, 13, 0, 246, 22, 2, 13, -1, 2, 60, 2852, 16, 16, 39, 52, 60, 2852, 16, 16, 39, 52, 32, -1, 2, 15, 60, 1560, 28, -16, 13, -1, 1, 22, 2, 13, 0, 55, 52, 21, 10445, 60, 1560, 28, -16, 13, -1, 1, 22, 2, 13, 0, 55, 52, 9, 65, 21, 10441, 15, 60, 6752, 0, -1, 32, -1, 2, 15, 13, -1, 2, 65, 21, 10477, 60, 7072, 36, -18, 13, -1, 1, 22, 2, 13, 0, 55, 52, 9, 65, 21, 10473, 15, 60, 6752, 0, -1, 32, -1, 2, 15, 13, -1, 2, 65, 21, 10536, 60, 7752, 8, 17, 13, -1, 1, 22, 2, 13, 0, 55, 52, 35, -1, 3, 13, -1, 3, 21, 10536, 60, 6752, 0, -1, 60, 7108, 4, 6, 22, 2, 13, -1, 3, 60, 2852, 16, 16, 39, 52, 9, 65, 21, 10532, 15, 60, 6752, 0, -1, 32, -1, 2, 15, 13, -1, 2, 65, 21, 10547, 5, 27, 0, 21, 10622, 13, -1, 2, 22, 1, 13, 0, 48, 52, 32, -1, 2, 15, 60, 6816, 4, 10, 22, 1, 13, -1, 2, 60, 3940, 12, -8, 39, 52, 35, -1, 4, 60, 4364, 4, -14, 22, 1, 13, 0, 277, 38, 0, 22, 2, 13, -1, 4, 60, 4036, 8, 18, 39, 52, 60, 8008, 24, -20, 39, 52, 35, -1, 5, 13, -1, 5, 22, 1, 13, 0, 51, 52, 27, 0, 21, 10622, 46, 38, 10633, 56, 35, -1, 61, 27, 0, 21, 10805, 22, 0, 49, 71, 15, 57, 1, 0, 1, 13, -1, 1, 60, 248, 8, 10, 39, 9, 65, 21, 10659, 15, 60, 6752, 0, -1, 35, -1, 2, 60, 6752, 0, -1, 13, 0, 247, 22, 2, 60, 6816, 4, 10, 13, 0, 246, 22, 2, 13, -1, 2, 60, 2852, 16, 16, 39, 52, 60, 2852, 16, 16, 39, 52, 32, -1, 2, 15, 13, -1, 2, 65, 21, 10731, 60, 4228, 28, 9, 13, -1, 1, 22, 2, 13, 0, 55, 52, 9, 65, 21, 10727, 15, 60, 6752, 0, -1, 32, -1, 2, 15, 13, -1, 2, 65, 21, 10742, 5, 27, 0, 21, 10804, 60, 6816, 4, 10, 22, 1, 13, -1, 2, 60, 3940, 12, -8, 39, 52, 35, -1, 3, 60, 4364, 4, -14, 22, 1, 13, 0, 277, 38, 0, 22, 2, 13, -1, 3, 60, 4036, 8, 18, 39, 52, 60, 8008, 24, -20, 39, 52, 35, -1, 4, 13, -1, 4, 22, 1, 13, 0, 51, 52, 27, 0, 21, 10804, 46, 38, 10815, 56, 35, -1, 62, 27, 0, 21, 11092, 22, 0, 49, 72, 15, 57, 2, 0, 1, 2, 13, -1, 1, 65, 9, 65, 21, 10843, 15, 13, -1, 1, 60, 1876, 72, -16, 39, 65, 21, 10850, 5, 27, 0, 21, 11091, 22, 0, 35, -1, 3, 13, -1, 2, 60, 10968, 8, 3, 39, 35, -1, 4, 38, 0, 35, -1, 5, 13, -1, 5, 13, -1, 4, 53, 21, 10918, 60, 3304, 4, -18, 13, -1, 2, 13, -1, 5, 39, 58, 60, 2820, 4, 7, 58, 22, 1, 13, -1, 3, 60, 8340, 8, -3, 39, 52, 15, 2, -1, 5, 0, 15, 27, 0, 21, 10871, 16, 10956, 60, 936, 4, 1, 22, 1, 13, -1, 3, 60, 8008, 24, -20, 39, 52, 22, 1, 13, -1, 1, 60, 1876, 72, -16, 39, 52, 32, -1, 6, 15, 29, 10952, 27, 0, 21, 10964, 35, -1, 7, 5, 27, 0, 21, 11091, 13, 0, 275, 13, -1, 6, 60, 10968, 8, 3, 39, 22, 2, 60, 2760, 8, 16, 62, 60, 1016, 4, 7, 39, 52, 35, -1, 8, 38, 0, 35, -1, 9, 13, -1, 9, 13, -1, 8, 53, 21, 11086, 13, -1, 6, 13, -1, 9, 39, 35, -1, 10, 38, 0, 35, -1, 11, 13, -1, 11, 13, -1, 4, 53, 21, 11077, 13, -1, 2, 13, -1, 11, 39, 22, 1, 13, -1, 10, 60, 10248, 28, 9, 39, 52, 35, -1, 12, 13, -1, 12, 22, 1, 13, 0, 54, 52, 21, 11068, 13, -1, 12, 27, 0, 21, 11091, 2, -1, 11, 0, 15, 27, 0, 21, 11020, 2, -1, 9, 0, 15, 27, 0, 21, 10996, 5, 27, 0, 21, 11091, 46, 38, 11102, 56, 35, -1, 63, 27, 0, 21, 11189, 22, 0, 49, 73, 15, 57, 2, 0, 1, 2, 13, -1, 1, 60, 2628, 16, 17, 26, 21, 11128, 27, 1, 27, 0, 21, 11188, 13, -1, 1, 60, 9428, 8, 6, 26, 9, 21, 11174, 15, 13, -1, 2, 60, 2628, 16, 17, 26, 9, 65, 21, 11161, 15, 13, -1, 2, 60, 6548, 12, 12, 26, 9, 65, 21, 11174, 15, 13, -1, 2, 60, 2544, 12, 8, 26, 21, 11182, 27, 1, 27, 0, 21, 11188, 27, 0, 27, 0, 21, 11188, 46, 38, 11199, 56, 35, -1, 64, 27, 0, 21, 11412, 22, 0, 49, 74, 15, 57, 4, 0, 1, 2, 3, 4, 13, -1, 2, 60, 9428, 8, 6, 26, 9, 21, 11236, 15, 13, -1, 3, 13, -1, 2, 22, 2, 13, 0, 63, 52, 65, 21, 11244, 27, 1, 27, 0, 21, 11411, 13, -1, 2, 60, 1388, 40, -16, 26, 9, 65, 21, 11265, 15, 13, -1, 2, 60, 6652, 8, 0, 26, 21, 11273, 27, 1, 27, 0, 21, 11411, 60, 1832, 8, 0, 60, 9544, 12, -10, 60, 232, 16, -3, 60, 5364, 12, 4, 60, 7412, 24, 16, 60, 948, 28, -14, 60, 9936, 20, 21, 60, 1608, 44, -19, 22, 8, 35, -1, 5, 13, -1, 4, 22, 1, 13, -1, 5, 60, 152, 16, 16, 39, 52, 38, 1, 19, 24, 21, 11336, 27, 1, 27, 0, 21, 11411, 60, 6660, 28, -7, 13, -1, 1, 22, 2, 13, 0, 55, 52, 35, -1, 6, 13, -1, 6, 60, 6752, 0, -1, 26, 9, 65, 21, 11373, 15, 13, -1, 6, 60, 9532, 8, 6, 26, 9, 21, 11385, 15, 13, -1, 4, 60, 2628, 16, 17, 24, 9, 21, 11397, 15, 13, -1, 4, 60, 5272, 8, 8, 24, 21, 11405, 27, 1, 27, 0, 21, 11411, 27, 0, 27, 0, 21, 11411, 46, 38, 11422, 56, 35, -1, 65, 27, 0, 21, 11575, 22, 0, 49, 75, 15, 57, 4, 0, 1, 2, 3, 4, 13, -1, 3, 13, -1, 2, 22, 2, 13, 0, 63, 52, 21, 11456, 60, 2628, 16, 17, 27, 0, 21, 11574, 13, -1, 2, 60, 9540, 4, 4, 26, 9, 21, 11477, 15, 13, -1, 1, 22, 1, 13, 0, 57, 52, 21, 11487, 60, 5272, 8, 8, 27, 0, 21, 11574, 13, -1, 4, 60, 2628, 16, 17, 26, 21, 11505, 60, 2628, 16, 17, 27, 0, 21, 11574, 13, -1, 4, 60, 5272, 8, 8, 26, 21, 11523, 60, 5272, 8, 8, 27, 0, 21, 11574, 13, -1, 4, 13, -1, 3, 13, -1, 2, 13, -1, 1, 22, 4, 13, 0, 64, 52, 21, 11551, 60, 9428, 8, 6, 27, 0, 21, 11574, 13, -1, 2, 60, 9540, 4, 4, 26, 21, 11569, 60, 5272, 8, 8, 27, 0, 21, 11574, 5, 27, 0, 21, 11574, 46, 38, 11585, 56, 35, -1, 66, 27, 0, 21, 11657, 22, 0, 49, 76, 15, 57, 1, 0, 1, 13, -1, 1, 60, 2628, 16, 17, 26, 21, 11612, 60, 7352, 4, -3, 27, 0, 21, 11656, 13, -1, 1, 60, 9428, 8, 6, 26, 21, 11630, 60, 9428, 8, 6, 27, 0, 21, 11656, 13, -1, 1, 60, 5272, 8, 8, 26, 21, 11648, 60, 5272, 8, 8, 27, 0, 21, 11656, 60, 6752, 0, -1, 27, 0, 21, 11656, 46, 38, 11667, 56, 35, -1, 67, 27, 0, 21, 11739, 22, 0, 49, 77, 15, 57, 2, 0, 1, 2, 13, -1, 2, 22, 1, 13, 0, 50, 52, 65, 21, 11694, 37, 27, 0, 21, 11738, 13, -1, 2, 22, 1, 13, -1, 1, 60, 152, 16, 16, 39, 52, 38, 1, 19, 26, 21, 11729, 13, -1, 2, 22, 1, 13, -1, 1, 60, 8340, 8, -3, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 11738, 46, 38, 11749, 56, 35, -1, 68, 27, 0, 21, 12228, 22, 0, 49, 78, 15, 57, 5, 0, 1, 2, 3, 4, 5, 13, -1, 2, 22, 1, 13, 0, 51, 52, 35, -1, 6, 13, -1, 6, 65, 21, 11785, 37, 27, 0, 21, 12227, 13, 0, 266, 22, 1, 13, -1, 6, 60, 3940, 12, -8, 39, 52, 35, -1, 7, 60, 4364, 4, -14, 22, 1, 13, 0, 277, 38, 0, 22, 2, 13, -1, 7, 60, 4036, 8, 18, 39, 52, 60, 8008, 24, -20, 39, 52, 35, -1, 8, 13, -1, 3, 22, 1, 13, 0, 66, 52, 35, -1, 9, 60, 6752, 0, -1, 35, -1, 10, 60, 6752, 0, -1, 35, -1, 11, 13, -1, 9, 65, 21, 11883, 13, -1, 8, 32, -1, 10, 15, 13, -1, 6, 32, -1, 11, 15, 27, 0, 21, 12157, 13, -1, 3, 60, 9428, 8, 6, 26, 21, 12015, 13, -1, 4, 9, 65, 21, 11905, 15, 60, 6752, 0, -1, 22, 1, 13, 0, 51, 52, 35, -1, 12, 13, -1, 12, 9, 21, 11929, 15, 13, -1, 12, 60, 9680, 8, 15, 24, 9, 21, 11951, 15, 13, -1, 12, 22, 1, 13, -1, 6, 60, 152, 16, 16, 39, 52, 38, 1, 19, 26, 35, -1, 13, 13, -1, 9, 13, 0, 276, 58, 35, -1, 14, 13, -1, 13, 21, 11989, 13, -1, 9, 13, 0, 276, 58, 13, -1, 12, 58, 60, 4364, 4, -14, 58, 32, -1, 14, 15, 13, -1, 14, 13, -1, 8, 58, 32, -1, 10, 15, 13, -1, 9, 13, -1, 6, 58, 32, -1, 11, 15, 27, 0, 21, 12157, 13, -1, 8, 35, -1, 15, 13, -1, 6, 35, -1, 16, 13, -1, 9, 13, 0, 276, 58, 22, 1, 13, -1, 16, 60, 152, 16, 16, 39, 52, 38, 0, 26, 21, 12127, 13, -1, 9, 60, 10968, 8, 3, 39, 38, 1, 58, 22, 1, 13, -1, 16, 60, 10336, 16, 2, 39, 52, 32, -1, 16, 15, 60, 4364, 4, -14, 22, 1, 13, -1, 16, 60, 3940, 12, -8, 39, 52, 32, -1, 7, 15, 60, 4364, 4, -14, 22, 1, 13, 0, 277, 38, 0, 22, 2, 13, -1, 7, 60, 4036, 8, 18, 39, 52, 60, 8008, 24, -20, 39, 52, 32, -1, 15, 15, 13, -1, 9, 13, 0, 276, 58, 13, -1, 15, 58, 32, -1, 10, 15, 13, -1, 9, 13, 0, 276, 58, 13, -1, 16, 58, 32, -1, 11, 15, 13, -1, 11, 35, -1, 17, 13, -1, 5, 22, 1, 13, 0, 50, 52, 21, 12185, 13, 0, 276, 13, -1, 5, 58, 43, -1, 17, 15, 13, -1, 17, 22, 1, 13, 0, 49, 52, 35, -1, 18, 13, -1, 10, 13, 0, 276, 58, 13, -1, 18, 58, 13, -1, 1, 22, 2, 13, 0, 67, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 12227, 46, 38, 12238, 56, 35, -1, 69, 27, 0, 21, 13153, 22, 0, 49, 79, 15, 57, 2, 0, 1, 2, 13, -1, 1, 65, 9, 65, 21, 12268, 15, 13, -1, 1, 60, 1180, 16, -4, 39, 38, 1, 24, 21, 12275, 5, 27, 0, 21, 13152, 22, 0, 35, -1, 3, 22, 0, 13, -1, 1, 60, 5988, 16, 20, 39, 60, 9904, 16, -1, 39, 52, 35, -1, 4, 22, 0, 60, 4476, 28, -16, 13, -1, 1, 22, 2, 13, 0, 55, 52, 9, 65, 21, 12323, 15, 60, 6752, 0, -1, 60, 9904, 16, -1, 39, 52, 35, -1, 5, 13, -1, 1, 22, 1, 13, 0, 56, 52, 35, -1, 6, 13, -1, 6, 13, -1, 5, 13, -1, 4, 13, -1, 1, 22, 4, 13, 0, 65, 52, 35, -1, 7, 13, -1, 7, 60, 5272, 8, 8, 26, 21, 12392, 60, 7752, 8, 17, 13, -1, 1, 22, 2, 13, 0, 55, 52, 27, 0, 21, 12393, 5, 35, -1, 8, 60, 5136, 48, 18, 60, 2348, 40, -11, 60, 10884, 20, -18, 60, 8536, 36, -18, 60, 8696, 28, -19, 60, 4400, 12, 12, 60, 7292, 16, -2, 60, 656, 44, -21, 60, 2952, 48, -19, 22, 9, 35, -1, 9, 13, -1, 9, 60, 10968, 8, 3, 39, 35, -1, 10, 38, 0, 35, -1, 11, 13, -1, 11, 13, -1, 10, 53, 21, 12525, 13, -1, 9, 13, -1, 11, 39, 13, -1, 1, 22, 2, 13, 0, 55, 52, 35, -1, 12, 13, -1, 12, 22, 1, 13, 0, 54, 52, 21, 12516, 5, 13, -1, 5, 13, -1, 7, 13, -1, 12, 13, -1, 3, 22, 5, 13, 0, 68, 52, 15, 27, 0, 21, 12525, 2, -1, 11, 0, 15, 27, 0, 21, 12453, 60, 3968, 4, 10, 13, -1, 1, 22, 2, 13, 0, 55, 52, 35, -1, 13, 13, -1, 13, 22, 1, 13, 0, 54, 52, 21, 12572, 5, 13, -1, 5, 13, -1, 7, 13, -1, 13, 13, -1, 3, 22, 5, 13, 0, 68, 52, 15, 13, -1, 7, 9, 21, 12590, 15, 13, -1, 3, 60, 10968, 8, 3, 39, 38, 0, 26, 21, 12638, 13, -1, 9, 13, -1, 1, 22, 2, 13, 0, 62, 52, 35, -1, 14, 13, -1, 14, 22, 1, 13, 0, 54, 52, 21, 12638, 5, 13, -1, 5, 13, -1, 7, 13, -1, 14, 13, -1, 3, 22, 5, 13, 0, 68, 52, 15, 13, -1, 3, 60, 10968, 8, 3, 39, 38, 0, 26, 21, 12770, 60, 2684, 16, 22, 60, 9712, 16, -11, 60, 6456, 36, -20, 60, 6112, 24, 9, 60, 4228, 28, 9, 60, 248, 8, 10, 22, 6, 35, -1, 15, 13, -1, 15, 60, 10968, 8, 3, 39, 35, -1, 16, 38, 0, 35, -1, 17, 13, -1, 17, 13, -1, 16, 53, 21, 12770, 13, -1, 15, 13, -1, 17, 39, 13, -1, 1, 22, 2, 13, 0, 55, 52, 35, -1, 18, 13, -1, 18, 22, 1, 13, 0, 54, 52, 21, 12761, 13, -1, 8, 13, -1, 5, 13, -1, 7, 13, -1, 18, 13, -1, 3, 22, 5, 13, 0, 68, 52, 15, 27, 0, 21, 12770, 2, -1, 17, 0, 15, 27, 0, 21, 12696, 13, -1, 3, 60, 10968, 8, 3, 39, 38, 0, 26, 21, 12951, 13, -1, 1, 60, 8268, 20, 16, 39, 35, -1, 19, 13, -1, 19, 31, 60, 10460, 32, -17, 26, 9, 21, 12818, 15, 13, -1, 19, 60, 10968, 8, 3, 39, 38, 0, 36, 21, 12951, 60, 6752, 0, -1, 60, 3424, 16, -21, 22, 2, 60, 4108, 8, 14, 62, 10, 22, 1, 13, -1, 19, 60, 3940, 12, -8, 39, 52, 35, -1, 20, 13, 0, 275, 13, -1, 20, 60, 10968, 8, 3, 39, 22, 2, 60, 2760, 8, 16, 62, 60, 1016, 4, 7, 39, 52, 35, -1, 21, 38, 0, 35, -1, 22, 13, -1, 22, 13, -1, 21, 53, 21, 12951, 13, -1, 20, 13, -1, 22, 39, 22, 1, 13, 0, 59, 52, 35, -1, 23, 13, -1, 23, 21, 12942, 13, -1, 8, 13, -1, 20, 58, 13, -1, 5, 13, -1, 7, 13, -1, 23, 13, -1, 3, 22, 5, 13, 0, 68, 52, 15, 27, 0, 21, 12951, 2, -1, 22, 0, 15, 27, 0, 21, 12882, 13, -1, 3, 60, 10968, 8, 3, 39, 38, 0, 26, 21, 13003, 13, -1, 1, 22, 1, 13, 0, 61, 52, 35, -1, 24, 13, -1, 24, 21, 13003, 13, -1, 8, 13, -1, 5, 13, -1, 7, 13, -1, 24, 13, -1, 3, 22, 5, 13, 0, 68, 52, 15, 13, -1, 3, 60, 10968, 8, 3, 39, 38, 0, 26, 21, 13055, 13, -1, 1, 22, 1, 13, 0, 60, 52, 35, -1, 25, 13, -1, 25, 21, 13055, 13, -1, 8, 13, -1, 5, 13, -1, 7, 13, -1, 25, 13, -1, 3, 22, 5, 13, 0, 68, 52, 15, 13, -1, 3, 60, 10968, 8, 3, 39, 38, 0, 26, 21, 13113, 13, -1, 7, 9, 65, 21, 13079, 15, 13, -1, 4, 13, 0, 276, 58, 60, 984, 12, 5, 58, 35, -1, 26, 13, -1, 8, 13, -1, 5, 13, -1, 7, 13, -1, 26, 13, -1, 3, 22, 5, 13, 0, 68, 52, 15, 13, -1, 2, 21, 13125, 13, -1, 3, 27, 0, 21, 13152, 13, -1, 3, 38, 0, 39, 35, -1, 27, 13, -1, 27, 65, 21, 13145, 5, 27, 0, 21, 13152, 13, -1, 27, 27, 0, 21, 13152, 46, 38, 13163, 56, 35, -1, 70, 27, 0, 21, 13247, 22, 0, 49, 80, 15, 57, 1, 0, 1, 13, -1, 1, 65, 9, 65, 21, 13192, 15, 13, -1, 1, 60, 10968, 8, 3, 39, 38, 0, 26, 21, 13201, 13, -1, 1, 27, 0, 21, 13246, 13, -1, 1, 60, 10968, 8, 3, 39, 38, 4, 54, 21, 13222, 60, 1208, 16, 17, 27, 0, 21, 13246, 13, -1, 1, 60, 10968, 8, 3, 39, 22, 1, 60, 6992, 4, 15, 60, 9144, 12, -8, 39, 52, 27, 0, 21, 13246, 46, 38, 13257, 56, 35, -1, 71, 27, 0, 21, 13433, 22, 0, 49, 81, 15, 57, 1, 0, 1, 13, -1, 1, 38, 0, 39, 35, -1, 2, 13, -1, 2, 13, 0, 279, 26, 21, 13303, 13, -1, 1, 38, 1, 39, 9, 65, 21, 13299, 15, 60, 6752, 0, -1, 27, 0, 21, 13432, 13, -1, 2, 13, 0, 278, 26, 21, 13424, 13, -1, 1, 38, 3, 39, 35, -1, 3, 13, -1, 3, 21, 13345, 13, -1, 1, 38, 2, 39, 9, 65, 21, 13341, 15, 60, 6752, 0, -1, 27, 0, 21, 13432, 13, -1, 1, 38, 4, 39, 35, -1, 4, 60, 6752, 0, -1, 35, -1, 5, 13, -1, 4, 21, 13417, 13, -1, 4, 60, 10968, 8, 3, 39, 35, -1, 6, 38, 0, 35, -1, 7, 13, -1, 7, 13, -1, 6, 53, 21, 13417, 13, -1, 4, 13, -1, 7, 39, 22, 1, 13, 0, 71, 52, 43, -1, 5, 15, 2, -1, 7, 0, 15, 27, 0, 21, 13382, 13, -1, 5, 27, 0, 21, 13432, 60, 6752, 0, -1, 27, 0, 21, 13432, 46, 38, 13443, 56, 35, -1, 72, 27, 0, 21, 13936, 22, 0, 49, 82, 15, 57, 2, 0, 1, 2, 38, 13463, 56, 35, -1, 3, 27, 0, 21, 13882, 22, 0, 49, 83, 15, 57, 1, 0, 1, 13, -1, 1, 65, 9, 65, 21, 13491, 15, 13, -1, 1, 60, 1180, 16, -4, 39, 5, 45, 21, 13509, 5, 27, 0, 60, 6752, 0, -1, 13, 0, 280, 22, 4, 27, 0, 21, 13881, 13, -1, 1, 60, 1180, 16, -4, 39, 35, -1, 2, 27, 0, 35, -1, 3, 13, -1, 2, 38, 3, 26, 21, 13615, 13, -1, 1, 60, 3744, 24, -13, 39, 9, 65, 21, 13550, 15, 60, 6752, 0, -1, 35, -1, 4, 13, -1, 4, 13, -1, 1, 22, 2, 13, 82, 2, 52, 32, -1, 3, 15, 13, -1, 3, 21, 13587, 13, -1, 4, 22, 1, 13, 0, 70, 52, 27, 0, 21, 13590, 13, -1, 4, 35, -1, 5, 13, -1, 1, 13, -1, 3, 13, -1, 5, 13, 0, 279, 22, 4, 27, 0, 21, 13881, 27, 0, 21, 13863, 13, -1, 2, 38, 1, 26, 21, 13863, 13, -1, 1, 35, -1, 6, 22, 0, 35, -1, 7, 13, -1, 6, 60, 8888, 16, -7, 39, 35, -1, 8, 60, 6752, 0, -1, 35, -1, 9, 13, -1, 8, 60, 10968, 8, 3, 39, 35, -1, 10, 38, 0, 35, -1, 11, 13, -1, 11, 13, -1, 10, 53, 21, 13730, 13, -1, 8, 13, -1, 11, 39, 22, 1, 13, 82, 3, 52, 35, -1, 12, 13, -1, 12, 22, 1, 13, -1, 7, 60, 8340, 8, -3, 39, 52, 15, 13, -1, 12, 22, 1, 13, 0, 71, 52, 43, -1, 9, 15, 2, -1, 11, 0, 15, 27, 0, 21, 13668, 13, -1, 6, 60, 5988, 16, 20, 39, 21, 13760, 22, 0, 13, -1, 6, 60, 5988, 16, 20, 39, 60, 9904, 16, -1, 39, 52, 27, 0, 21, 13764, 60, 6752, 0, -1, 35, -1, 13, 13, -1, 13, 60, 9428, 8, 6, 26, 9, 65, 21, 13788, 15, 13, -1, 13, 60, 1388, 40, -16, 26, 35, -1, 14, 13, -1, 14, 9, 65, 21, 13811, 15, 13, -1, 9, 13, -1, 6, 22, 2, 13, 82, 2, 52, 32, -1, 3, 15, 13, -1, 3, 21, 13833, 13, -1, 9, 22, 1, 13, 0, 70, 52, 27, 0, 21, 13836, 13, -1, 9, 35, -1, 15, 13, -1, 6, 13, -1, 7, 13, -1, 3, 13, -1, 15, 13, -1, 13, 13, 0, 278, 22, 6, 27, 0, 21, 13881, 13, -1, 1, 27, 0, 60, 6752, 0, -1, 13, 0, 280, 22, 4, 27, 0, 21, 13881, 46, 13, -1, 1, 65, 9, 65, 21, 13900, 15, 13, -1, 2, 31, 60, 8520, 16, -7, 24, 21, 13910, 60, 6752, 0, -1, 27, 0, 21, 13935, 13, -1, 1, 22, 1, 13, -1, 3, 52, 35, -1, 4, 13, -1, 4, 22, 1, 13, 0, 71, 52, 27, 0, 21, 13935, 46, 38, 13946, 56, 35, -1, 73, 27, 0, 21, 14117, 22, 0, 49, 84, 15, 57, 1, 0, 1, 13, -1, 1, 22, 1, 60, 5956, 12, 2, 62, 60, 8396, 16, 20, 39, 52, 65, 21, 13979, 5, 27, 0, 21, 14116, 22, 0, 13, -1, 1, 60, 4036, 8, 18, 39, 52, 35, -1, 2, 13, -1, 1, 60, 10968, 8, 3, 39, 35, -1, 3, 38, 0, 35, -1, 4, 13, -1, 4, 13, -1, 3, 53, 21, 14109, 13, -1, 1, 13, -1, 4, 39, 35, -1, 5, 13, -1, 5, 31, 60, 10460, 32, -17, 26, 9, 21, 14053, 15, 13, -1, 5, 60, 10968, 8, 3, 39, 13, 0, 232, 36, 21, 14100, 13, -1, 5, 22, 1, 13, 0, 264, 60, 2644, 16, -9, 39, 52, 21, 14076, 5, 27, 0, 21, 14116, 13, 0, 232, 38, 0, 22, 2, 13, -1, 5, 60, 4036, 8, 18, 39, 52, 13, -1, 2, 13, -1, 4, 23, 15, 2, -1, 4, 0, 15, 27, 0, 21, 14009, 13, -1, 2, 27, 0, 21, 14116, 46, 38, 14127, 56, 35, -1, 74, 27, 0, 21, 14405, 22, 0, 49, 85, 15, 57, 1, 0, 1, 22, 0, 13, 0, 38, 52, 18, 60, 6024, 28, 18, 23, 15, 18, 60, 6024, 28, 18, 39, 22, 1, 13, 0, 39, 52, 65, 21, 14178, 13, 0, 289, 18, 60, 8204, 8, -6, 23, 15, 27, 0, 21, 14188, 13, 0, 288, 18, 60, 8204, 8, -6, 23, 15, 13, -1, 1, 22, 1, 13, 0, 75, 52, 18, 60, 1032, 24, -5, 23, 15, 18, 22, 1, 18, 60, 5052, 28, 17, 39, 60, 10200, 16, -18, 39, 52, 18, 60, 4776, 32, 10, 23, 15, 18, 60, 8204, 8, -6, 39, 13, 0, 288, 26, 21, 14259, 60, 7336, 16, 19, 22, 1, 13, 0, 40, 10, 18, 60, 5236, 28, 8, 23, 15, 27, 0, 21, 14288, 18, 60, 8204, 8, -6, 39, 13, 0, 289, 26, 21, 14288, 60, 7336, 16, 19, 22, 1, 13, 0, 41, 10, 18, 60, 5236, 28, 8, 23, 15, 22, 0, 13, 0, 44, 52, 18, 60, 6296, 16, 7, 23, 15, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 18, 60, 5728, 16, 3, 23, 15, 16, 14392, 38, 14330, 56, 27, 0, 21, 14351, 22, 0, 49, 86, 35, -1, 0, 57, 1, 1, 2, 60, 1080, 20, 18, 62, 27, 0, 21, 14350, 46, 22, 1, 18, 60, 5728, 16, 3, 39, 22, 0, 13, 0, 46, 52, 22, 2, 13, 0, 201, 22, 2, 18, 60, 2928, 24, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 15, 29, 14388, 27, 0, 21, 14395, 35, -1, 2, 60, 1080, 20, 18, 62, 27, 0, 21, 14404, 46, 38, 14415, 56, 35, -1, 75, 27, 0, 21, 14805, 22, 0, 49, 87, 15, 57, 1, 0, 1, 22, 0, 35, -1, 2, 13, -1, 1, 60, 10948, 12, -8, 39, 13, -1, 2, 13, 0, 281, 23, 15, 13, -1, 1, 60, 10800, 20, 20, 39, 13, -1, 2, 13, 0, 284, 23, 15, 13, -1, 1, 60, 3588, 20, 11, 39, 13, -1, 2, 13, 0, 286, 23, 15, 38, 0, 33, 13, -1, 2, 13, 0, 282, 23, 15, 38, 0, 33, 13, -1, 2, 13, 0, 283, 23, 15, 13, -1, 1, 60, 2868, 24, 3, 39, 13, -1, 2, 13, 0, 285, 23, 15, 13, -1, 1, 60, 3588, 20, 11, 39, 13, -1, 2, 13, 0, 286, 23, 15, 13, -1, 1, 60, 2592, 36, -11, 39, 21, 14617, 38, 14548, 56, 27, 0, 21, 14593, 22, 0, 49, 88, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 31, 60, 10460, 32, -17, 26, 21, 14585, 13, -1, 2, 22, 1, 60, 4108, 8, 14, 62, 10, 27, 0, 21, 14592, 13, -1, 2, 27, 0, 21, 14592, 46, 22, 1, 13, -1, 1, 60, 2592, 36, -11, 39, 60, 8572, 4, 11, 39, 52, 13, -1, 2, 13, 0, 282, 23, 15, 13, -1, 1, 60, 4640, 60, -17, 39, 21, 14703, 38, 14634, 56, 27, 0, 21, 14679, 22, 0, 49, 89, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 31, 60, 10460, 32, -17, 26, 21, 14671, 13, -1, 2, 22, 1, 60, 4108, 8, 14, 62, 10, 27, 0, 21, 14678, 13, -1, 2, 27, 0, 21, 14678, 46, 22, 1, 13, -1, 1, 60, 4640, 60, -17, 39, 60, 8572, 4, 11, 39, 52, 13, -1, 2, 13, 0, 283, 23, 15, 13, -1, 1, 60, 10800, 20, 20, 39, 21, 14745, 60, 8140, 8, 17, 22, 1, 13, -1, 1, 60, 10800, 20, 20, 39, 60, 8008, 24, -20, 39, 52, 13, -1, 2, 13, 0, 285, 23, 15, 27, 0, 21, 14757, 60, 8932, 28, -11, 13, -1, 2, 13, 0, 285, 23, 15, 13, -1, 1, 60, 3588, 20, 11, 39, 21, 14787, 13, -1, 1, 60, 3588, 20, 11, 39, 13, -1, 2, 13, 0, 286, 23, 15, 27, 0, 21, 14797, 27, 0, 13, -1, 2, 13, 0, 286, 23, 15, 13, -1, 2, 27, 0, 21, 14804, 46, 38, 14815, 56, 35, -1, 76, 27, 0, 21, 15037, 22, 0, 49, 90, 15, 57, 3, 0, 1, 2, 3, 13, -1, 1, 65, 21, 14837, 5, 27, 0, 21, 15036, 13, -1, 3, 31, 60, 3580, 8, 3, 26, 21, 14855, 13, -1, 3, 27, 0, 21, 14857, 38, 2, 35, -1, 4, 13, -1, 1, 35, -1, 5, 38, 0, 35, -1, 6, 60, 5304, 12, 6, 62, 60, 2700, 16, -3, 39, 35, -1, 7, 13, -1, 7, 60, 5944, 12, 16, 39, 31, 60, 8520, 16, -7, 26, 21, 14908, 60, 5944, 12, 16, 27, 0, 21, 14957, 13, -1, 7, 60, 7876, 24, -2, 39, 31, 60, 8520, 16, -7, 26, 21, 14932, 60, 7876, 24, -2, 27, 0, 21, 14957, 13, -1, 7, 60, 8212, 44, -10, 39, 31, 60, 8520, 16, -7, 26, 21, 14956, 60, 8212, 44, -10, 27, 0, 21, 14957, 5, 35, -1, 8, 13, -1, 5, 9, 21, 14974, 15, 13, -1, 6, 13, -1, 4, 54, 21, 15031, 13, -1, 8, 65, 21, 14987, 5, 27, 0, 21, 15036, 13, -1, 2, 22, 1, 13, -1, 5, 13, -1, 8, 39, 52, 21, 15009, 13, -1, 5, 27, 0, 21, 15036, 13, -1, 5, 60, 4556, 20, 13, 39, 32, -1, 5, 15, 38, 1, 43, -1, 6, 15, 27, 0, 21, 14960, 5, 27, 0, 21, 15036, 46, 38, 15047, 56, 35, -1, 77, 27, 0, 21, 15286, 22, 0, 49, 91, 15, 57, 0, 0, 48, 0, 18, 60, 2560, 32, -15, 23, 15, 60, 0, 76, -18, 22, 0, 60, 9512, 20, -16, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 60, 10620, 28, 1, 38, 0, 60, 9644, 36, -18, 48, 0, 60, 720, 8, -18, 48, 0, 60, 596, 24, 7, 48, 0, 60, 7372, 16, -3, 27, 0, 60, 2768, 24, 9, 27, 0, 48, 8, 18, 60, 6724, 28, -20, 23, 15, 48, 0, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 23, 15, 27, 1, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 293, 23, 15, 27, 1, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 294, 23, 15, 27, 1, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 295, 23, 15, 27, 1, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 296, 23, 15, 27, 1, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 297, 23, 15, 27, 1, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 298, 23, 15, 18, 22, 1, 18, 60, 2928, 24, 17, 39, 60, 10200, 16, -18, 39, 52, 18, 60, 2928, 24, 17, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 15285, 46, 38, 15296, 56, 35, -1, 78, 27, 0, 21, 15324, 22, 0, 49, 92, 15, 57, 0, 0, 38, 0, 33, 18, 60, 3308, 12, -5, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 15323, 46, 38, 15334, 56, 35, -1, 79, 27, 0, 21, 15471, 22, 0, 49, 93, 15, 57, 0, 0, 60, 10020, 40, -19, 62, 60, 7264, 16, -11, 39, 35, -1, 1, 13, -1, 1, 65, 21, 15367, 38, 0, 27, 0, 21, 15470, 60, 6752, 0, -1, 35, -1, 2, 13, -1, 1, 22, 1, 60, 1168, 12, 18, 62, 60, 5968, 8, 6, 39, 52, 35, -1, 3, 13, -1, 3, 60, 10968, 8, 3, 39, 35, -1, 4, 38, 0, 35, -1, 5, 13, -1, 5, 13, -1, 4, 53, 21, 15457, 13, -1, 3, 13, -1, 5, 39, 35, -1, 6, 13, -1, 6, 60, 10616, 4, -1, 58, 13, -1, 1, 13, -1, 6, 39, 58, 43, -1, 2, 15, 2, -1, 5, 0, 15, 27, 0, 21, 15409, 13, -1, 2, 22, 1, 13, 0, 306, 52, 27, 0, 21, 15470, 46, 38, 15481, 56, 35, -1, 80, 27, 0, 21, 15574, 22, 0, 49, 94, 15, 57, 0, 0, 16, 15556, 60, 4436, 24, 19, 22, 1, 60, 5860, 16, -1, 62, 60, 128, 24, 0, 39, 52, 35, -1, 1, 13, -1, 1, 60, 10968, 8, 3, 39, 38, 0, 36, 21, 15543, 13, -1, 1, 38, 0, 39, 60, 5184, 16, 6, 39, 27, 0, 21, 15573, 27, 0, 21, 15550, 38, 1, 19, 27, 0, 21, 15573, 29, 15552, 27, 0, 21, 15564, 35, -1, 2, 5, 27, 0, 21, 15573, 60, 1080, 20, 18, 62, 27, 0, 21, 15573, 46, 38, 15584, 56, 35, -1, 81, 27, 0, 21, 15649, 22, 0, 49, 95, 15, 57, 0, 0, 16, 15631, 38, 150, 38, 0, 22, 2, 60, 10020, 40, -19, 62, 60, 636, 12, 10, 39, 60, 7752, 8, 17, 39, 60, 4036, 8, 18, 39, 52, 27, 0, 21, 15648, 29, 15627, 27, 0, 21, 15639, 35, -1, 1, 5, 27, 0, 21, 15648, 60, 1080, 20, 18, 62, 27, 0, 21, 15648, 46, 38, 15659, 56, 35, -1, 82, 27, 0, 21, 15708, 22, 0, 49, 96, 15, 57, 0, 0, 16, 15690, 22, 0, 13, 0, 165, 60, 5676, 12, -2, 39, 52, 27, 0, 21, 15707, 29, 15686, 27, 0, 21, 15698, 35, -1, 1, 5, 27, 0, 21, 15707, 60, 1080, 20, 18, 62, 27, 0, 21, 15707, 46, 38, 15718, 56, 35, -1, 83, 27, 0, 21, 15783, 22, 0, 49, 97, 15, 57, 0, 0, 16, 15765, 38, 150, 38, 0, 22, 2, 60, 4928, 12, -4, 62, 60, 636, 12, 10, 39, 60, 7752, 8, 17, 39, 60, 4036, 8, 18, 39, 52, 27, 0, 21, 15782, 29, 15761, 27, 0, 21, 15773, 35, -1, 1, 5, 27, 0, 21, 15782, 60, 1080, 20, 18, 62, 27, 0, 21, 15782, 46, 38, 15793, 56, 35, -1, 84, 27, 0, 21, 15842, 22, 0, 49, 98, 15, 57, 0, 0, 16, 15824, 22, 0, 13, 0, 303, 60, 5676, 12, -2, 39, 52, 27, 0, 21, 15841, 29, 15820, 27, 0, 21, 15832, 35, -1, 1, 5, 27, 0, 21, 15841, 60, 1080, 20, 18, 62, 27, 0, 21, 15841, 46, 38, 15852, 56, 35, -1, 85, 27, 0, 21, 15901, 22, 0, 49, 99, 15, 57, 0, 0, 16, 15883, 22, 0, 13, 0, 305, 60, 5676, 12, -2, 39, 52, 27, 0, 21, 15900, 29, 15879, 27, 0, 21, 15891, 35, -1, 1, 5, 27, 0, 21, 15900, 60, 1080, 20, 18, 62, 27, 0, 21, 15900, 46, 38, 15911, 56, 35, -1, 86, 27, 0, 21, 15955, 22, 0, 49, 100, 15, 57, 0, 0, 16, 15937, 22, 0, 13, 0, 79, 52, 27, 0, 21, 15954, 29, 15933, 27, 0, 21, 15945, 35, -1, 1, 5, 27, 0, 21, 15954, 60, 1080, 20, 18, 62, 27, 0, 21, 15954, 46, 38, 15965, 56, 35, -1, 87, 27, 0, 21, 15988, 22, 0, 49, 101, 15, 57, 0, 0, 60, 912, 24, -11, 62, 60, 10436, 24, -6, 39, 27, 0, 21, 15987, 46, 38, 15998, 56, 35, -1, 88, 27, 0, 21, 16021, 22, 0, 49, 102, 15, 57, 0, 0, 60, 912, 24, -11, 62, 60, 8484, 36, 17, 39, 27, 0, 21, 16020, 46, 38, 16031, 56, 35, -1, 89, 27, 0, 21, 16054, 22, 0, 49, 103, 15, 57, 0, 0, 60, 912, 24, -11, 62, 60, 8468, 16, 21, 39, 27, 0, 21, 16053, 46, 38, 16064, 56, 35, -1, 90, 27, 0, 21, 16087, 22, 0, 49, 104, 15, 57, 0, 0, 60, 912, 24, -11, 62, 60, 8328, 12, 0, 39, 27, 0, 21, 16086, 46, 38, 16097, 56, 35, -1, 91, 27, 0, 21, 16120, 22, 0, 49, 105, 15, 57, 0, 0, 60, 912, 24, -11, 62, 60, 7356, 16, 8, 39, 27, 0, 21, 16119, 46, 38, 16130, 56, 35, -1, 92, 27, 0, 21, 16153, 22, 0, 49, 106, 15, 57, 0, 0, 60, 7840, 8, 11, 62, 60, 480, 8, -3, 39, 27, 0, 21, 16152, 46, 38, 16163, 56, 35, -1, 93, 27, 0, 21, 16186, 22, 0, 49, 107, 15, 57, 0, 0, 60, 7840, 8, 11, 62, 60, 8580, 8, -4, 39, 27, 0, 21, 16185, 46, 38, 16196, 56, 35, -1, 94, 27, 0, 21, 16219, 22, 0, 49, 108, 15, 57, 0, 0, 60, 7840, 8, 11, 62, 60, 256, 16, 20, 39, 27, 0, 21, 16218, 46, 38, 16229, 56, 35, -1, 95, 27, 0, 21, 16252, 22, 0, 49, 109, 15, 57, 0, 0, 60, 7840, 8, 11, 62, 60, 11e3, 24, -11, 39, 27, 0, 21, 16251, 46, 38, 16262, 56, 35, -1, 96, 27, 0, 21, 16285, 22, 0, 49, 110, 15, 57, 0, 0, 60, 7840, 8, 11, 62, 60, 2904, 24, 10, 39, 27, 0, 21, 16284, 46, 38, 16295, 56, 35, -1, 97, 27, 0, 21, 16318, 22, 0, 49, 111, 15, 57, 0, 0, 60, 7840, 8, 11, 62, 60, 2488, 44, -18, 39, 27, 0, 21, 16317, 46, 38, 16328, 56, 35, -1, 98, 27, 0, 21, 16346, 22, 0, 49, 112, 15, 57, 0, 0, 60, 6820, 32, -7, 62, 27, 0, 21, 16345, 46, 38, 16356, 56, 35, -1, 99, 27, 0, 21, 16425, 22, 0, 49, 113, 15, 57, 0, 0, 27, 0, 35, -1, 1, 16, 16414, 60, 1748, 24, -7, 22, 1, 60, 4928, 12, -4, 62, 60, 8620, 16, -2, 39, 52, 65, 65, 9, 21, 16404, 15, 60, 9920, 16, -4, 60, 10020, 40, -19, 62, 41, 32, -1, 1, 15, 29, 16410, 27, 0, 21, 16417, 35, -1, 2, 13, -1, 1, 27, 0, 21, 16424, 46, 38, 16435, 56, 35, -1, 100, 27, 0, 21, 16458, 22, 0, 49, 114, 15, 57, 0, 0, 60, 912, 24, -11, 62, 60, 4832, 24, 6, 39, 27, 0, 21, 16457, 46, 38, 16468, 56, 35, -1, 101, 27, 0, 21, 16602, 22, 0, 49, 115, 15, 57, 0, 0, 60, 9632, 8, 0, 62, 31, 60, 1080, 20, 18, 26, 9, 65, 21, 16503, 15, 60, 9632, 8, 0, 62, 60, 9384, 28, 21, 39, 65, 21, 16510, 5, 27, 0, 21, 16601, 22, 0, 60, 9632, 8, 0, 62, 60, 9384, 28, 21, 39, 52, 35, -1, 1, 13, -1, 1, 60, 7388, 24, 13, 39, 31, 60, 8520, 16, -7, 24, 21, 16547, 5, 27, 0, 21, 16601, 22, 0, 13, -1, 1, 60, 7388, 24, 13, 39, 52, 35, -1, 2, 13, -1, 2, 9, 21, 16582, 15, 13, -1, 2, 60, 10416, 16, 7, 39, 31, 60, 10460, 32, -17, 26, 21, 16596, 13, -1, 2, 60, 10416, 16, 7, 39, 27, 0, 21, 16597, 5, 27, 0, 21, 16601, 46, 38, 16612, 56, 35, -1, 102, 27, 0, 21, 16746, 22, 0, 49, 116, 15, 57, 0, 0, 60, 9632, 8, 0, 62, 31, 60, 1080, 20, 18, 26, 9, 65, 21, 16647, 15, 60, 9632, 8, 0, 62, 60, 9384, 28, 21, 39, 65, 21, 16654, 5, 27, 0, 21, 16745, 22, 0, 60, 9632, 8, 0, 62, 60, 9384, 28, 21, 39, 52, 35, -1, 1, 13, -1, 1, 60, 7388, 24, 13, 39, 31, 60, 8520, 16, -7, 24, 21, 16691, 5, 27, 0, 21, 16745, 22, 0, 13, -1, 1, 60, 7388, 24, 13, 39, 52, 35, -1, 2, 13, -1, 2, 9, 21, 16726, 15, 13, -1, 2, 60, 6976, 16, 6, 39, 31, 60, 10460, 32, -17, 26, 21, 16740, 13, -1, 2, 60, 6976, 16, 6, 39, 27, 0, 21, 16741, 5, 27, 0, 21, 16745, 46, 38, 16756, 56, 35, -1, 103, 27, 0, 21, 16795, 22, 0, 49, 117, 15, 57, 0, 0, 60, 5976, 12, -20, 22, 1, 60, 1548, 8, 19, 62, 10, 35, -1, 1, 22, 0, 13, -1, 1, 60, 1104, 36, 7, 39, 52, 27, 0, 21, 16794, 46, 38, 16805, 56, 35, -1, 104, 27, 0, 21, 17046, 22, 0, 49, 118, 15, 57, 0, 0, 16, 17028, 60, 5976, 12, -20, 22, 1, 60, 1548, 8, 19, 62, 10, 35, -1, 1, 60, 7872, 4, -5, 22, 1, 38, 11, 38, 1, 22, 2, 13, -1, 1, 22, 1, 60, 6376, 8, 6, 62, 60, 11024, 12, -1, 39, 52, 60, 4036, 8, 18, 39, 52, 60, 3940, 12, -8, 39, 52, 35, -1, 2, 13, -1, 2, 38, 0, 39, 35, -1, 3, 13, -1, 2, 38, 1, 39, 35, -1, 4, 13, -1, 2, 38, 2, 39, 35, -1, 5, 60, 6752, 0, -1, 13, -1, 4, 58, 60, 7108, 4, 6, 58, 13, -1, 5, 58, 60, 7108, 4, 6, 58, 13, -1, 3, 58, 35, -1, 6, 60, 6752, 0, -1, 13, -1, 3, 58, 60, 7872, 4, -5, 58, 13, -1, 4, 58, 60, 7872, 4, -5, 58, 13, -1, 5, 58, 35, -1, 7, 13, -1, 6, 22, 1, 60, 1548, 8, 19, 62, 10, 44, 35, -1, 8, 13, -1, 7, 22, 1, 60, 1548, 8, 19, 62, 10, 44, 35, -1, 9, 13, -1, 8, 13, -1, 9, 4, 38, 6e4, 12, 44, 35, -1, 10, 13, -1, 10, 22, 1, 60, 2760, 8, 16, 62, 60, 10164, 36, -22, 39, 52, 27, 0, 21, 17045, 29, 17024, 27, 0, 21, 17036, 35, -1, 11, 5, 27, 0, 21, 17045, 60, 1080, 20, 18, 62, 27, 0, 21, 17045, 46, 38, 17056, 56, 35, -1, 105, 27, 0, 21, 17152, 22, 0, 49, 119, 15, 57, 0, 0, 38, 2018, 38, 1976, 38, 1952, 38, 1921, 38, 1879, 22, 5, 35, -1, 1, 38, 0, 35, -1, 2, 38, 0, 35, -1, 3, 13, -1, 3, 13, -1, 1, 60, 10968, 8, 3, 39, 53, 21, 17144, 60, 7252, 12, 16, 13, -1, 1, 13, -1, 3, 39, 58, 22, 1, 60, 1548, 8, 19, 62, 10, 22, 1, 60, 8908, 8, 1, 62, 52, 43, -1, 2, 15, 2, -1, 3, 0, 15, 27, 0, 21, 17089, 13, -1, 2, 27, 0, 21, 17151, 46, 38, 17162, 56, 35, -1, 106, 27, 0, 21, 17241, 22, 0, 49, 120, 15, 57, 0, 0, 60, 5976, 12, -20, 22, 1, 60, 1548, 8, 19, 62, 10, 22, 1, 60, 4160, 12, 13, 62, 52, 22, 1, 60, 6752, 0, -1, 60, 3668, 16, -7, 22, 2, 60, 4108, 8, 14, 62, 10, 60, 10012, 8, -4, 39, 52, 35, -1, 1, 13, -1, 1, 21, 17232, 13, -1, 1, 38, 1, 39, 27, 0, 21, 17236, 60, 6752, 0, -1, 27, 0, 21, 17240, 46, 38, 17251, 56, 35, -1, 107, 27, 0, 21, 17278, 22, 0, 49, 121, 15, 57, 0, 0, 38, 4, 18, 60, 7656, 24, 10, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 17277, 46, 38, 17288, 56, 35, -1, 108, 27, 0, 21, 17498, 22, 0, 49, 122, 15, 57, 2, 0, 1, 2, 60, 8180, 8, -1, 22, 1, 60, 4928, 12, -4, 62, 60, 10528, 60, -13, 39, 52, 35, -1, 3, 60, 4132, 20, 9, 13, -1, 2, 58, 32, -1, 7, 15, 60, 9380, 4, -14, 13, -1, 1, 58, 32, -1, 8, 15, 38, 0, 32, -1, 4, 15, 13, -1, 4, 13, -1, 3, 60, 10968, 8, 3, 39, 53, 21, 17492, 13, -1, 3, 13, -1, 4, 39, 32, -1, 5, 15, 13, -1, 5, 60, 10248, 28, 9, 39, 21, 17402, 60, 5836, 8, 3, 22, 1, 13, -1, 5, 60, 10248, 28, 9, 39, 52, 27, 0, 21, 17403, 5, 32, -1, 6, 15, 13, -1, 6, 65, 21, 17434, 13, -1, 5, 60, 5836, 8, 3, 39, 9, 65, 21, 17430, 15, 60, 6752, 0, -1, 32, -1, 6, 15, 13, -1, 7, 22, 1, 13, -1, 6, 60, 152, 16, 16, 39, 52, 38, 1, 19, 24, 9, 21, 17474, 15, 13, -1, 8, 22, 1, 13, -1, 6, 60, 152, 16, 16, 39, 52, 38, 1, 19, 24, 21, 17483, 13, -1, 5, 27, 0, 21, 17497, 2, -1, 4, 0, 15, 27, 0, 21, 17348, 5, 27, 0, 21, 17497, 46, 38, 17508, 56, 35, -1, 109, 27, 0, 21, 18001, 22, 0, 49, 123, 15, 57, 1, 0, 1, 16, 17957, 60, 232, 16, -3, 35, -1, 2, 5, 35, -1, 3, 13, -1, 1, 60, 4824, 8, 21, 39, 35, -1, 4, 13, -1, 4, 38, 0, 33, 24, 9, 21, 17564, 15, 13, -1, 4, 60, 10412, 4, 2, 39, 38, 0, 33, 24, 21, 17951, 13, -1, 4, 60, 10412, 4, 2, 39, 60, 9284, 4, 21, 26, 21, 17720, 13, -1, 1, 60, 3952, 16, -9, 39, 60, 10020, 40, -19, 62, 26, 21, 17683, 13, -1, 4, 60, 2892, 4, -5, 39, 38, 2, 26, 21, 17618, 60, 5316, 20, 11, 32, -1, 2, 15, 13, -1, 2, 13, -1, 4, 60, 1556, 4, -14, 39, 22, 2, 13, 0, 108, 52, 32, -1, 3, 15, 13, -1, 3, 5, 64, 21, 17679, 13, -1, 3, 60, 5836, 8, 3, 39, 13, -1, 3, 60, 6052, 52, -14, 39, 22, 2, 22, 1, 13, 0, 315, 38, 0, 39, 60, 8340, 8, -3, 39, 52, 15, 27, 0, 21, 17716, 13, -1, 1, 60, 620, 8, 5, 39, 13, -1, 1, 60, 3952, 16, -9, 39, 22, 2, 22, 1, 13, 0, 315, 38, 0, 39, 60, 8340, 8, -3, 39, 52, 15, 27, 0, 21, 17951, 13, -1, 4, 60, 10412, 4, 2, 39, 60, 7760, 12, -21, 26, 21, 17858, 13, -1, 1, 60, 3952, 16, -9, 39, 60, 10020, 40, -19, 62, 26, 21, 17829, 13, -1, 4, 60, 2892, 4, -5, 39, 38, 2, 26, 21, 17772, 60, 5316, 20, 11, 32, -1, 2, 15, 13, -1, 2, 13, -1, 4, 60, 1556, 4, -14, 39, 22, 2, 13, 0, 108, 52, 32, -1, 3, 15, 13, -1, 3, 5, 64, 21, 17825, 13, -1, 3, 60, 5836, 8, 3, 39, 13, -1, 3, 60, 6052, 52, -14, 39, 22, 2, 13, 0, 315, 38, 1, 23, 15, 27, 0, 21, 17854, 13, -1, 1, 60, 620, 8, 5, 39, 13, -1, 1, 60, 3952, 16, -9, 39, 22, 2, 13, 0, 315, 38, 1, 23, 15, 27, 0, 21, 17951, 13, -1, 4, 60, 10412, 4, 2, 39, 60, 336, 4, 21, 26, 21, 17951, 13, -1, 4, 60, 8160, 4, -12, 39, 5, 45, 21, 17890, 37, 27, 0, 21, 18e3, 13, 0, 315, 38, 2, 39, 13, -1, 4, 60, 8160, 4, -12, 39, 39, 5, 64, 21, 17951, 13, -1, 4, 60, 9284, 4, 21, 39, 13, -1, 4, 60, 880, 4, 22, 39, 22, 2, 22, 1, 13, 0, 315, 38, 2, 39, 13, -1, 4, 60, 8160, 4, -12, 39, 39, 60, 8340, 8, -3, 39, 52, 15, 29, 17953, 27, 0, 21, 17991, 35, -1, 5, 60, 8588, 12, 2, 13, -1, 5, 60, 8588, 12, 2, 39, 48, 1, 60, 888, 4, -8, 60, 2752, 8, -2, 60, 7924, 84, -17, 22, 4, 1, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 18e3, 46, 38, 18011, 56, 35, -1, 110, 27, 0, 21, 18349, 22, 0, 49, 124, 15, 57, 3, 0, 1, 2, 3, 16, 18305, 13, -1, 1, 60, 4824, 8, 21, 39, 35, -1, 4, 13, -1, 4, 38, 0, 33, 24, 9, 21, 18058, 15, 13, -1, 4, 60, 10412, 4, 2, 39, 38, 0, 33, 24, 21, 18299, 13, -1, 4, 60, 10412, 4, 2, 39, 60, 3248, 4, 17, 26, 21, 18299, 13, -1, 4, 60, 1556, 4, -14, 39, 5, 64, 9, 21, 18101, 15, 13, -1, 4, 60, 1556, 4, -14, 39, 13, -1, 3, 24, 21, 18108, 37, 27, 0, 21, 18348, 38, 18115, 56, 27, 0, 21, 18165, 22, 0, 49, 125, 15, 57, 1, 0, 1, 60, 8588, 12, 2, 13, -1, 1, 60, 8588, 12, 2, 39, 48, 1, 60, 888, 4, -8, 60, 2752, 8, -2, 60, 4908, 20, 7, 22, 4, 1, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 18164, 46, 22, 1, 38, 18174, 56, 27, 0, 21, 18278, 22, 0, 49, 126, 15, 57, 0, 0, 60, 6992, 4, 15, 60, 8160, 4, -12, 13, 124, 4, 60, 8160, 4, -12, 39, 60, 9284, 4, 21, 13, 0, 307, 22, 1, 60, 6376, 8, 6, 62, 60, 11024, 12, -1, 39, 52, 22, 1, 13, 0, 112, 52, 60, 880, 4, 22, 13, 124, 2, 60, 10412, 4, 2, 60, 336, 4, 21, 60, 3952, 16, -9, 60, 7264, 16, -11, 48, 5, 22, 2, 60, 10020, 40, -19, 62, 60, 5228, 8, -5, 39, 60, 1976, 20, 12, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 18277, 46, 22, 1, 22, 0, 13, 0, 111, 52, 60, 9208, 8, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 15, 29, 18301, 27, 0, 21, 18339, 35, -1, 5, 60, 8588, 12, 2, 13, -1, 5, 60, 8588, 12, 2, 39, 48, 1, 60, 888, 4, -8, 60, 2752, 8, -2, 60, 4368, 32, -8, 22, 4, 1, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 18348, 46, 38, 18359, 56, 35, -1, 111, 27, 0, 21, 18723, 22, 0, 49, 127, 15, 57, 0, 0, 38, 18377, 56, 35, -1, 1, 27, 0, 21, 18626, 22, 0, 49, 128, 15, 57, 2, 0, 1, 2, 38, 18394, 56, 27, 0, 21, 18459, 22, 0, 49, 129, 15, 57, 2, 0, 1, 2, 38, 25, 38, 18413, 56, 27, 0, 21, 18440, 22, 0, 49, 130, 15, 57, 0, 0, 60, 3608, 28, -22, 22, 1, 60, 4940, 12, 15, 62, 10, 22, 1, 13, 129, 2, 52, 46, 22, 2, 60, 4984, 44, -12, 62, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 18458, 46, 22, 1, 60, 9892, 12, -3, 62, 10, 35, -1, 3, 38, 18477, 56, 27, 0, 21, 18529, 22, 0, 49, 131, 35, -1, 0, 57, 1, 1, 2, 60, 8588, 12, 2, 13, -1, 2, 60, 8588, 12, 2, 39, 48, 1, 60, 888, 4, -8, 60, 2752, 8, -2, 60, 4868, 20, -10, 22, 4, 1, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 18528, 46, 22, 1, 38, 18538, 56, 27, 0, 21, 18570, 22, 0, 49, 132, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 13, 0, 307, 13, 128, 2, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 18569, 46, 22, 1, 13, -1, 3, 22, 0, 13, -1, 1, 52, 22, 1, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 22, 2, 22, 1, 60, 9892, 12, -3, 62, 60, 4896, 12, 3, 39, 52, 60, 9208, 8, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 27, 0, 21, 18625, 46, 22, 0, 35, -1, 2, 38, 0, 35, -1, 3, 13, -1, 3, 13, 0, 308, 60, 10968, 8, 3, 39, 53, 21, 18702, 13, 0, 308, 13, -1, 3, 39, 31, 60, 8520, 16, -7, 26, 21, 18693, 13, -1, 3, 13, 0, 308, 13, -1, 3, 39, 22, 2, 13, -1, 1, 52, 22, 1, 13, -1, 2, 60, 8340, 8, -3, 39, 52, 15, 2, -1, 3, 0, 15, 27, 0, 21, 18636, 13, -1, 2, 22, 1, 60, 9892, 12, -3, 62, 60, 1100, 4, 20, 39, 52, 27, 0, 21, 18722, 46, 38, 18733, 56, 35, -1, 112, 27, 0, 21, 18750, 22, 0, 49, 133, 15, 57, 1, 0, 1, 13, -1, 1, 27, 0, 21, 18749, 46, 38, 18760, 56, 35, -1, 113, 27, 0, 21, 18902, 22, 0, 49, 134, 15, 57, 2, 0, 1, 2, 38, 18777, 56, 27, 0, 21, 18843, 22, 0, 49, 135, 15, 57, 2, 0, 1, 2, 13, 134, 2, 38, 18797, 56, 27, 0, 21, 18824, 22, 0, 49, 136, 15, 57, 0, 0, 60, 8576, 4, 13, 22, 1, 60, 4940, 12, 15, 62, 10, 22, 1, 13, 135, 2, 52, 46, 22, 2, 60, 4984, 44, -12, 62, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 18842, 46, 22, 1, 60, 9892, 12, -3, 62, 10, 35, -1, 3, 22, 0, 13, -1, 1, 52, 22, 1, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 35, -1, 4, 13, -1, 3, 13, -1, 4, 22, 2, 22, 1, 60, 9892, 12, -3, 62, 60, 4896, 12, 3, 39, 52, 27, 0, 21, 18901, 46, 38, 18912, 56, 35, -1, 114, 27, 0, 21, 19249, 22, 0, 49, 137, 15, 57, 4, 0, 1, 2, 3, 4, 60, 3e3, 4, -2, 32, 0, 316, 15, 13, -1, 1, 31, 60, 3580, 8, 3, 24, 9, 65, 21, 18952, 15, 13, -1, 1, 38, 2, 36, 21, 18960, 38, 0, 32, -1, 1, 15, 13, -1, 4, 21, 18975, 13, -1, 1, 38, 1, 58, 27, 0, 21, 18977, 38, 1, 35, -1, 5, 38, 18987, 56, 27, 0, 21, 19236, 22, 0, 49, 138, 35, -1, 0, 57, 2, 1, 2, 3, 38, 19009, 56, 35, -1, 4, 27, 0, 21, 19223, 22, 0, 49, 139, 15, 57, 1, 0, 1, 60, 9640, 4, 0, 13, -1, 1, 58, 32, 0, 316, 15, 16, 19200, 13, 0, 315, 38, 2, 39, 13, 137, 3, 39, 35, -1, 2, 13, -1, 2, 60, 10968, 8, 3, 39, 13, 137, 5, 24, 35, -1, 3, 13, -1, 2, 38, 0, 33, 26, 9, 65, 21, 19075, 15, 13, -1, 3, 35, -1, 4, 13, -1, 4, 9, 21, 19091, 15, 13, -1, 1, 38, 30, 53, 21, 19163, 13, -1, 1, 38, 10, 53, 21, 19107, 38, 1, 27, 0, 21, 19109, 38, 3, 35, -1, 5, 13, -1, 5, 38, 19122, 56, 27, 0, 21, 19150, 22, 0, 49, 140, 35, -1, 0, 57, 0, 1, 13, 139, 1, 13, 139, 5, 58, 22, 1, 13, 138, 4, 52, 27, 0, 21, 19149, 46, 22, 2, 60, 4984, 44, -12, 62, 52, 15, 27, 0, 21, 19194, 60, 6160, 20, -17, 32, 0, 316, 15, 13, -1, 2, 22, 1, 60, 6376, 8, 6, 62, 60, 11024, 12, -1, 39, 52, 22, 1, 13, 138, 2, 52, 15, 29, 19196, 27, 0, 21, 19213, 35, -1, 6, 13, -1, 6, 22, 1, 13, 138, 3, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 19222, 46, 38, 0, 22, 1, 13, -1, 4, 52, 27, 0, 21, 19235, 46, 22, 1, 60, 9892, 12, -3, 62, 10, 27, 0, 21, 19248, 46, 38, 19259, 56, 35, -1, 116, 27, 0, 21, 19403, 22, 0, 49, 141, 15, 57, 2, 0, 1, 2, 38, 0, 35, -1, 3, 38, 0, 35, -1, 4, 13, -1, 4, 13, 0, 315, 38, 0, 39, 60, 10968, 8, 3, 39, 53, 21, 19395, 13, 0, 315, 38, 0, 39, 13, -1, 4, 39, 38, 0, 39, 5, 64, 21, 19386, 13, 0, 315, 38, 0, 39, 13, -1, 4, 39, 38, 1, 39, 60, 8160, 4, -12, 13, -1, 2, 60, 1556, 4, -14, 13, -1, 1, 60, 10412, 4, 2, 60, 3248, 4, 17, 60, 3952, 16, -9, 60, 7264, 16, -11, 48, 4, 22, 2, 13, 0, 315, 38, 0, 39, 13, -1, 4, 39, 38, 0, 39, 60, 1976, 20, 12, 39, 52, 15, 38, 1, 43, -1, 3, 15, 2, -1, 4, 0, 15, 27, 0, 21, 19279, 13, -1, 3, 27, 0, 21, 19402, 46, 38, 19413, 56, 35, -1, 117, 27, 0, 21, 19800, 22, 0, 49, 142, 15, 57, 4, 0, 1, 2, 3, 4, 13, -1, 2, 5, 45, 21, 19437, 37, 27, 0, 21, 19799, 16, 19709, 38, 0, 35, -1, 5, 13, -1, 3, 9, 21, 19455, 15, 13, -1, 4, 65, 21, 19473, 13, -1, 2, 13, -1, 1, 22, 2, 13, 0, 116, 52, 32, -1, 5, 15, 60, 2556, 4, 11, 32, 0, 316, 15, 22, 0, 13, 0, 111, 52, 35, -1, 6, 38, 19497, 56, 27, 0, 21, 19542, 22, 0, 49, 143, 15, 57, 1, 0, 1, 60, 2752, 8, -2, 13, -1, 1, 48, 1, 60, 888, 4, -8, 60, 2752, 8, -2, 60, 10672, 40, -11, 22, 4, 1, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 19541, 46, 22, 1, 38, 19551, 56, 27, 0, 21, 19682, 22, 0, 49, 144, 35, -1, 0, 57, 0, 1, 60, 6852, 4, -17, 32, 0, 316, 15, 13, 0, 307, 22, 1, 60, 6376, 8, 6, 62, 60, 11024, 12, -1, 39, 52, 22, 1, 13, 0, 112, 52, 38, 0, 22, 2, 22, 1, 13, 0, 315, 38, 2, 39, 13, 142, 2, 39, 60, 8340, 8, -3, 39, 52, 15, 13, 142, 4, 21, 19659, 13, 0, 315, 38, 2, 39, 13, 142, 2, 39, 22, 1, 60, 6376, 8, 6, 62, 60, 11024, 12, -1, 39, 52, 22, 1, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 19681, 13, 142, 3, 13, 142, 2, 13, 142, 1, 13, 142, 5, 22, 4, 13, 0, 114, 52, 27, 0, 21, 19681, 46, 22, 1, 13, -1, 6, 60, 9208, 8, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 27, 0, 21, 19799, 29, 19705, 27, 0, 21, 19790, 35, -1, 7, 60, 8588, 12, 2, 13, -1, 7, 60, 8588, 12, 2, 39, 48, 1, 60, 888, 4, -8, 60, 2752, 8, -2, 60, 6688, 36, 14, 22, 4, 1, 52, 15, 38, 19750, 56, 27, 0, 21, 19778, 22, 0, 49, 145, 35, -1, 0, 57, 1, 1, 2, 22, 0, 13, -1, 2, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 19777, 46, 22, 1, 60, 9892, 12, -3, 62, 10, 27, 0, 21, 19799, 60, 1080, 20, 18, 62, 27, 0, 21, 19799, 46, 38, 19810, 56, 35, -1, 118, 27, 0, 21, 19858, 22, 0, 49, 146, 15, 57, 0, 0, 38, 15, 38, 2, 22, 2, 38, 36, 22, 1, 22, 0, 60, 2760, 8, 16, 62, 60, 5660, 16, 20, 39, 52, 60, 1696, 16, 12, 39, 52, 60, 10336, 16, 2, 39, 52, 27, 0, 21, 19857, 46, 38, 19868, 56, 35, -1, 119, 27, 0, 21, 19952, 22, 0, 49, 147, 15, 57, 0, 0, 60, 9892, 12, -3, 62, 31, 60, 1080, 20, 18, 24, 9, 21, 19907, 15, 60, 9892, 12, -3, 62, 60, 4896, 12, 3, 39, 31, 60, 8520, 16, -7, 26, 9, 21, 19927, 15, 60, 9892, 12, -3, 62, 60, 1100, 4, 20, 39, 31, 60, 8520, 16, -7, 26, 9, 21, 19947, 15, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 31, 60, 8520, 16, -7, 26, 27, 0, 21, 19951, 46, 38, 19962, 56, 35, -1, 120, 27, 0, 21, 20261, 22, 0, 49, 148, 15, 57, 4, 0, 1, 2, 3, 4, 22, 0, 13, 0, 119, 52, 65, 21, 19988, 5, 27, 0, 21, 20260, 13, -1, 4, 38, 0, 33, 24, 9, 21, 20008, 15, 13, -1, 4, 22, 1, 13, 0, 121, 52, 21, 20015, 5, 27, 0, 21, 20260, 13, -1, 3, 31, 60, 4700, 36, -21, 24, 21, 20032, 27, 0, 32, -1, 3, 15, 13, -1, 2, 31, 60, 4700, 36, -21, 24, 21, 20049, 27, 1, 32, -1, 2, 15, 22, 0, 13, 0, 118, 52, 35, -1, 5, 22, 0, 13, 0, 315, 38, 2, 39, 13, -1, 5, 23, 15, 38, 20078, 56, 27, 0, 21, 20158, 22, 0, 49, 149, 35, -1, 0, 57, 1, 1, 2, 60, 2556, 4, 11, 32, 0, 316, 15, 60, 6516, 4, 1, 13, 0, 316, 60, 4432, 4, -7, 13, 148, 2, 60, 2752, 8, -2, 13, -1, 2, 48, 3, 60, 888, 4, -8, 60, 2752, 8, -2, 60, 3636, 32, 21, 22, 4, 1, 52, 15, 13, 0, 315, 38, 2, 39, 13, 148, 5, 55, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 20157, 46, 22, 1, 38, 20167, 56, 27, 0, 21, 20197, 22, 0, 49, 150, 35, -1, 0, 57, 1, 1, 2, 13, 0, 315, 38, 2, 39, 13, 148, 5, 55, 15, 13, -1, 2, 27, 0, 21, 20196, 46, 22, 1, 38, 90, 38, 20208, 56, 27, 0, 21, 20238, 22, 0, 49, 151, 35, -1, 0, 57, 0, 1, 13, 148, 2, 13, 148, 5, 13, 148, 1, 22, 3, 13, 0, 117, 52, 27, 0, 21, 20237, 46, 22, 2, 13, 0, 113, 52, 60, 9208, 8, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 27, 0, 21, 20260, 46, 38, 20271, 56, 35, -1, 121, 27, 0, 21, 20378, 22, 0, 49, 152, 15, 57, 1, 0, 1, 13, -1, 1, 5, 45, 21, 20306, 60, 700, 20, -16, 60, 9820, 16, 5, 22, 2, 1, 52, 15, 27, 0, 27, 0, 21, 20377, 13, 0, 317, 60, 10968, 8, 3, 39, 35, -1, 2, 38, 0, 35, -1, 3, 13, -1, 3, 13, -1, 2, 53, 21, 20371, 38, 8, 38, 0, 22, 2, 13, -1, 1, 60, 4036, 8, 18, 39, 52, 13, 0, 317, 13, -1, 3, 39, 26, 21, 20362, 27, 1, 27, 0, 21, 20377, 2, -1, 3, 0, 15, 27, 0, 21, 20322, 27, 0, 27, 0, 21, 20377, 46, 38, 20388, 56, 35, -1, 122, 27, 0, 21, 20470, 22, 0, 49, 153, 15, 57, 1, 0, 1, 13, -1, 1, 38, 0, 26, 21, 20430, 13, 0, 109, 60, 8588, 12, 2, 22, 2, 60, 10020, 40, -19, 62, 60, 1456, 44, 10, 39, 52, 15, 27, 0, 21, 20460, 13, 0, 319, 38, 0, 33, 24, 21, 20460, 13, 0, 319, 60, 8588, 12, 2, 22, 2, 60, 10020, 40, -19, 62, 60, 1456, 44, 10, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 20469, 46, 38, 20480, 56, 35, -1, 123, 27, 0, 21, 20760, 22, 0, 49, 154, 15, 57, 2, 0, 1, 2, 13, -1, 1, 22, 1, 13, 0, 318, 60, 152, 16, 16, 39, 52, 38, 1, 19, 24, 21, 20515, 37, 27, 0, 21, 20759, 13, -1, 1, 22, 1, 13, 0, 318, 60, 8340, 8, -3, 39, 52, 15, 13, -1, 1, 38, 0, 26, 21, 20563, 13, 0, 109, 60, 8588, 12, 2, 22, 2, 60, 10020, 40, -19, 62, 60, 7900, 24, 3, 39, 52, 15, 27, 0, 21, 20750, 38, 20570, 56, 27, 0, 21, 20607, 22, 0, 49, 155, 35, -1, 0, 57, 1, 1, 2, 13, 154, 2, 13, 154, 1, 13, -1, 2, 22, 3, 13, 0, 110, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 20606, 46, 32, 0, 319, 15, 13, 0, 319, 60, 8588, 12, 2, 22, 2, 60, 10020, 40, -19, 62, 60, 7900, 24, 3, 39, 52, 15, 60, 6992, 4, 15, 60, 1556, 4, -14, 13, -1, 2, 60, 2892, 4, -5, 13, -1, 1, 60, 10412, 4, 2, 60, 9284, 4, 21, 60, 3952, 16, -9, 60, 7264, 16, -11, 48, 4, 22, 2, 60, 10020, 40, -19, 62, 60, 5228, 8, -5, 39, 60, 1976, 20, 12, 39, 52, 15, 13, -1, 1, 38, 2, 26, 21, 20750, 60, 6992, 4, 15, 60, 1556, 4, -14, 13, -1, 2, 60, 2892, 4, -5, 13, -1, 1, 60, 10412, 4, 2, 60, 7760, 12, -21, 60, 3952, 16, -9, 60, 7264, 16, -11, 48, 4, 22, 2, 60, 10020, 40, -19, 62, 60, 5228, 8, -5, 39, 60, 1976, 20, 12, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 20759, 46, 38, 100, 35, -1, 125, 38, 101, 35, -1, 126, 38, 102, 35, -1, 127, 38, 110, 35, -1, 128, 38, 111, 35, -1, 129, 38, 112, 35, -1, 130, 38, 113, 35, -1, 131, 38, 120, 35, -1, 132, 38, 121, 35, -1, 133, 38, 130, 35, -1, 134, 38, 131, 35, -1, 135, 38, 140, 35, -1, 136, 38, 150, 35, -1, 137, 38, 151, 35, -1, 138, 38, 152, 35, -1, 139, 38, 160, 35, -1, 140, 38, 161, 35, -1, 141, 38, 162, 35, -1, 142, 38, 164, 35, -1, 143, 38, 165, 35, -1, 144, 38, 170, 35, -1, 145, 38, 171, 35, -1, 146, 38, 172, 35, -1, 147, 38, 173, 35, -1, 148, 38, 174, 35, -1, 149, 38, 180, 35, -1, 150, 38, 181, 35, -1, 151, 13, -1, 11, 13, -1, 0, 22, 2, 13, -1, 6, 52, 35, -1, 152, 13, -1, 8, 13, -1, 1, 22, 2, 13, -1, 6, 52, 35, -1, 153, 13, -1, 10, 13, -1, 2, 22, 2, 13, -1, 6, 52, 35, -1, 154, 13, -1, 9, 13, -1, 3, 22, 2, 13, -1, 7, 52, 35, -1, 155, 13, -1, 12, 13, -1, 4, 22, 2, 13, -1, 6, 52, 35, -1, 156, 38, 16, 35, -1, 157, 38, 15, 38, 1e3, 25, 35, -1, 158, 38, 12, 35, -1, 159, 38, 256, 35, -1, 160, 38, 1, 35, -1, 161, 38, 2, 35, -1, 162, 38, 3, 35, -1, 163, 38, 4, 35, -1, 164, 38, 21020, 56, 27, 0, 21, 21556, 22, 0, 49, 156, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 9, 65, 21, 21041, 15, 48, 0, 32, -1, 2, 15, 48, 0, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 23, 15, 13, -1, 2, 13, 0, 161, 39, 27, 0, 24, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 161, 23, 15, 13, -1, 2, 13, 0, 162, 39, 27, 0, 24, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 162, 23, 15, 13, -1, 2, 13, 0, 163, 39, 27, 0, 24, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 163, 23, 15, 13, -1, 2, 13, 0, 164, 39, 27, 0, 24, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 164, 23, 15, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 18, 60, 6724, 28, -20, 39, 60, 4736, 16, 16, 23, 15, 18, 60, 6724, 28, -20, 39, 60, 4736, 16, 16, 39, 18, 60, 2560, 32, -15, 39, 13, 0, 137, 23, 15, 18, 60, 6724, 28, -20, 39, 60, 7372, 16, -3, 39, 27, 0, 26, 21, 21532, 60, 4928, 12, -4, 62, 60, 2792, 8, 2, 39, 22, 1, 17, 10, 35, -1, 3, 13, 0, 156, 60, 7188, 20, -8, 13, 0, 164, 22, 3, 13, 0, 152, 60, 2532, 12, -2, 13, 0, 163, 22, 3, 13, 0, 152, 60, 7724, 20, 13, 13, 0, 163, 22, 3, 13, 0, 152, 60, 7848, 20, 5, 13, 0, 163, 22, 3, 13, 0, 154, 60, 8672, 12, 5, 13, 0, 162, 22, 3, 13, 0, 154, 60, 4152, 8, 0, 13, 0, 162, 22, 3, 13, 0, 155, 60, 3048, 24, 16, 13, 0, 161, 22, 3, 13, 0, 153, 60, 1376, 12, 2, 13, 0, 161, 22, 3, 13, 0, 153, 60, 3152, 12, -9, 13, 0, 161, 22, 3, 13, 0, 153, 60, 8348, 12, -1, 13, 0, 161, 22, 3, 22, 10, 35, -1, 4, 13, -1, 4, 60, 10968, 8, 3, 39, 35, -1, 5, 38, 0, 35, -1, 6, 13, -1, 6, 13, -1, 5, 53, 21, 21518, 13, -1, 4, 13, -1, 6, 39, 35, -1, 7, 13, -1, 7, 38, 1, 39, 35, -1, 8, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, -1, 7, 38, 0, 39, 39, 27, 1, 26, 21, 21509, 18, 60, 2928, 24, 17, 39, 13, -1, 8, 22, 2, 13, -1, 7, 38, 2, 39, 52, 35, -1, 9, 27, 1, 13, -1, 9, 13, -1, 8, 22, 3, 13, -1, 3, 60, 7900, 24, 3, 39, 52, 15, 27, 1, 13, -1, 9, 13, -1, 8, 13, -1, 3, 22, 4, 22, 1, 18, 60, 6724, 28, -20, 39, 60, 0, 76, -18, 39, 60, 8340, 8, -3, 39, 52, 15, 2, -1, 6, 0, 15, 27, 0, 21, 21384, 27, 1, 18, 60, 6724, 28, -20, 39, 60, 7372, 16, -3, 23, 15, 27, 1, 18, 60, 6724, 28, -20, 39, 60, 2768, 24, 9, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 21555, 46, 13, -1, 13, 60, 2700, 16, -3, 39, 60, 7744, 8, -8, 23, 15, 38, 21577, 56, 27, 0, 21, 21753, 22, 0, 49, 157, 35, -1, 0, 57, 0, 1, 18, 60, 6724, 28, -20, 39, 60, 0, 76, -18, 39, 21, 21729, 18, 60, 6724, 28, -20, 39, 60, 0, 76, -18, 39, 35, -1, 2, 38, 0, 35, -1, 3, 13, -1, 3, 13, -1, 2, 60, 10968, 8, 3, 39, 53, 21, 21715, 13, -1, 2, 13, -1, 3, 39, 38, 0, 39, 35, -1, 4, 13, -1, 2, 13, -1, 3, 39, 38, 1, 39, 35, -1, 5, 13, -1, 2, 13, -1, 3, 39, 38, 2, 39, 35, -1, 6, 13, -1, 2, 13, -1, 3, 39, 38, 3, 39, 35, -1, 7, 13, -1, 7, 13, -1, 6, 13, -1, 5, 22, 3, 13, -1, 4, 60, 1456, 44, 10, 39, 52, 15, 2, -1, 3, 0, 15, 27, 0, 21, 21619, 22, 0, 18, 60, 6724, 28, -20, 39, 60, 0, 76, -18, 23, 15, 27, 0, 18, 60, 6724, 28, -20, 39, 60, 2768, 24, 9, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 21752, 46, 13, -1, 13, 60, 2700, 16, -3, 39, 60, 6104, 8, 9, 23, 15, 38, 21774, 56, 27, 0, 21, 21800, 22, 0, 49, 158, 35, -1, 0, 57, 0, 1, 18, 60, 6724, 28, -20, 39, 60, 9512, 20, -16, 39, 27, 0, 21, 21799, 46, 13, -1, 13, 60, 2700, 16, -3, 39, 60, 8032, 12, -13, 23, 15, 38, 21821, 56, 27, 0, 21, 22055, 22, 0, 49, 159, 35, -1, 0, 57, 0, 1, 18, 60, 6724, 28, -20, 39, 60, 596, 24, 7, 39, 22, 1, 60, 1168, 12, 18, 62, 60, 5968, 8, 6, 39, 52, 35, -1, 2, 13, -1, 2, 60, 10968, 8, 3, 39, 35, -1, 3, 38, 0, 35, -1, 4, 13, -1, 4, 13, -1, 3, 53, 21, 22044, 13, -1, 2, 13, -1, 4, 39, 35, -1, 5, 22, 0, 18, 60, 6724, 28, -20, 39, 60, 596, 24, 7, 39, 13, -1, 5, 39, 60, 5676, 12, -2, 39, 52, 18, 60, 2560, 32, -15, 39, 13, -1, 5, 23, 15, 13, -1, 5, 13, 0, 130, 45, 21, 21970, 22, 0, 18, 60, 6724, 28, -20, 39, 60, 596, 24, 7, 39, 13, -1, 5, 39, 60, 1348, 28, 17, 39, 52, 18, 60, 2560, 32, -15, 39, 13, 0, 131, 23, 15, 13, -1, 5, 13, 0, 134, 45, 21, 22013, 22, 0, 18, 60, 6724, 28, -20, 39, 60, 596, 24, 7, 39, 13, -1, 5, 39, 60, 1348, 28, 17, 39, 52, 18, 60, 2560, 32, -15, 39, 13, 0, 135, 23, 15, 13, -1, 5, 13, 0, 134, 45, 21, 22035, 22, 0, 18, 60, 2560, 32, -15, 39, 13, 0, 134, 23, 15, 2, -1, 4, 0, 15, 27, 0, 21, 21874, 18, 60, 2560, 32, -15, 39, 27, 0, 21, 22054, 46, 13, -1, 13, 60, 2700, 16, -3, 39, 60, 5676, 12, -2, 23, 15, 38, 22076, 56, 27, 0, 21, 22138, 22, 0, 49, 160, 35, -1, 0, 57, 2, 1, 2, 3, 13, -1, 2, 22, 1, 60, 9556, 16, -19, 62, 52, 21, 22114, 13, -1, 2, 22, 1, 13, 0, 5, 52, 32, -1, 2, 15, 13, -1, 3, 18, 60, 2560, 32, -15, 39, 13, -1, 2, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 22137, 46, 13, -1, 13, 60, 2700, 16, -3, 39, 60, 4856, 12, -10, 23, 15, 38, 22159, 56, 27, 0, 21, 22202, 22, 0, 49, 161, 35, -1, 0, 57, 0, 1, 48, 0, 18, 60, 2560, 32, -15, 23, 15, 48, 0, 18, 60, 6724, 28, -20, 39, 60, 596, 24, 7, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 22201, 46, 13, -1, 13, 60, 2700, 16, -3, 39, 60, 8096, 12, -3, 23, 15, 38, 22223, 56, 27, 0, 21, 22261, 22, 0, 49, 162, 35, -1, 0, 57, 2, 1, 2, 3, 13, -1, 3, 13, -1, 2, 22, 2, 18, 60, 2928, 24, 17, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 22260, 46, 13, -1, 13, 60, 2700, 16, -3, 39, 60, 3972, 32, 8, 23, 15, 38, 22282, 56, 27, 0, 21, 22602, 22, 0, 49, 163, 35, -1, 0, 57, 2, 1, 2, 3, 18, 60, 6724, 28, -20, 39, 60, 2768, 24, 9, 39, 27, 0, 26, 21, 22315, 37, 27, 0, 21, 22601, 16, 22572, 13, -1, 2, 22, 1, 60, 9556, 16, -19, 62, 52, 21, 22343, 13, -1, 2, 22, 1, 13, 0, 5, 52, 32, -1, 2, 15, 38, 10, 13, -1, 2, 22, 2, 60, 1996, 16, 14, 62, 52, 32, -1, 2, 15, 13, -1, 3, 60, 10968, 8, 3, 39, 38, 1, 4, 35, -1, 4, 13, -1, 3, 13, -1, 4, 39, 18, 60, 6724, 28, -20, 39, 60, 4736, 16, 16, 39, 4, 35, -1, 5, 18, 60, 6724, 28, -20, 39, 60, 596, 24, 7, 39, 13, -1, 2, 39, 65, 21, 22509, 13, -1, 2, 13, 0, 130, 26, 9, 65, 21, 22433, 15, 13, -1, 2, 13, 0, 134, 26, 21, 22441, 27, 1, 27, 0, 21, 22443, 27, 0, 35, -1, 6, 13, -1, 6, 21, 22458, 13, 0, 160, 27, 0, 21, 22461, 13, 0, 159, 35, -1, 7, 13, -1, 7, 18, 60, 6724, 28, -20, 39, 60, 4736, 16, 16, 39, 13, 0, 158, 13, 0, 157, 22, 4, 30, 60, 8864, 24, 7, 39, 10, 18, 60, 6724, 28, -20, 39, 60, 596, 24, 7, 39, 13, -1, 2, 23, 15, 13, -1, 3, 13, -1, 4, 39, 18, 60, 6724, 28, -20, 39, 60, 4736, 16, 16, 39, 4, 13, -1, 3, 13, -1, 4, 23, 15, 13, -1, 3, 13, -1, 5, 22, 2, 18, 60, 6724, 28, -20, 39, 60, 596, 24, 7, 39, 13, -1, 2, 39, 60, 8340, 8, -3, 39, 52, 15, 29, 22568, 27, 0, 21, 22592, 35, -1, 8, 13, -1, 8, 60, 4816, 8, -1, 22, 2, 30, 60, 9872, 20, -2, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 22601, 46, 13, -1, 13, 60, 2700, 16, -3, 39, 60, 2928, 24, 17, 23, 15, 22, 0, 13, -1, 13, 10, 35, -1, 165, 38, 1, 35, -1, 166, 38, 2, 35, -1, 167, 60, 6384, 16, 18, 62, 31, 60, 1080, 20, 18, 24, 21, 22660, 22, 0, 60, 6384, 16, 18, 62, 10, 27, 0, 21, 22661, 5, 35, -1, 168, 38, 0, 35, -1, 169, 38, 1, 35, -1, 170, 38, 2, 35, -1, 171, 38, 3, 35, -1, 172, 38, 4, 35, -1, 173, 38, 5, 35, -1, 174, 38, 6, 35, -1, 175, 38, 7, 35, -1, 176, 38, 8, 35, -1, 177, 38, 9, 35, -1, 178, 38, 10, 35, -1, 179, 22, 0, 38, 22728, 56, 27, 0, 21, 22828, 22, 0, 49, 164, 35, -1, 0, 57, 0, 1, 48, 0, 35, -1, 2, 60, 10904, 8, -10, 38, 22754, 56, 27, 0, 21, 22787, 22, 0, 49, 165, 35, -1, 0, 57, 2, 1, 2, 3, 13, -1, 3, 13, 164, 2, 13, -1, 2, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 22786, 46, 60, 10912, 4, 14, 38, 22798, 56, 27, 0, 21, 22821, 22, 0, 49, 166, 35, -1, 0, 57, 1, 1, 2, 13, 164, 2, 13, -1, 2, 39, 27, 0, 21, 22820, 46, 48, 2, 27, 0, 21, 22827, 46, 52, 35, -1, 180, 38, 0, 35, -1, 181, 38, 1, 35, -1, 182, 38, 2, 35, -1, 183, 38, 3, 35, -1, 184, 38, 10, 35, -1, 185, 38, 11, 35, -1, 186, 38, 12, 35, -1, 187, 38, 13, 35, -1, 188, 38, 20, 35, -1, 189, 38, 21, 35, -1, 190, 38, 30, 35, -1, 191, 38, 40, 35, -1, 192, 38, 41, 35, -1, 193, 38, 50, 35, -1, 194, 38, 51, 35, -1, 195, 38, 52, 35, -1, 196, 38, 53, 35, -1, 197, 38, 60, 35, -1, 198, 38, 61, 35, -1, 199, 38, 62, 35, -1, 200, 38, 70, 35, -1, 201, 38, 71, 35, -1, 202, 38, 72, 35, -1, 203, 38, 73, 35, -1, 204, 38, 74, 35, -1, 205, 38, 75, 35, -1, 206, 38, 76, 35, -1, 207, 38, 77, 35, -1, 208, 38, 78, 35, -1, 209, 38, 89, 35, -1, 210, 13, -1, 29, 13, -1, 22, 22, 2, 13, -1, 28, 52, 35, -1, 211, 13, -1, 30, 13, -1, 22, 22, 2, 13, -1, 28, 52, 35, -1, 212, 13, -1, 32, 13, -1, 21, 22, 2, 13, -1, 28, 52, 35, -1, 213, 13, -1, 31, 13, -1, 23, 22, 2, 13, -1, 28, 52, 35, -1, 214, 13, -1, 33, 13, -1, 26, 22, 2, 13, -1, 28, 52, 35, -1, 215, 13, -1, 34, 13, -1, 25, 22, 2, 13, -1, 28, 52, 35, -1, 216, 13, -1, 35, 13, -1, 24, 22, 2, 13, -1, 28, 52, 35, -1, 217, 13, -1, 36, 13, -1, 27, 22, 2, 13, -1, 28, 52, 35, -1, 218, 38, 1, 38, 0, 14, 35, -1, 219, 38, 1, 38, 1, 14, 35, -1, 220, 38, 1, 38, 2, 14, 35, -1, 221, 38, 1, 38, 3, 14, 35, -1, 222, 38, 1, 38, 4, 14, 35, -1, 223, 38, 1, 38, 5, 14, 35, -1, 224, 38, 1, 38, 6, 14, 35, -1, 225, 38, 1, 38, 7, 14, 35, -1, 226, 38, 1, 38, 8, 14, 35, -1, 227, 38, 0, 35, -1, 228, 38, 1, 35, -1, 229, 38, 300, 35, -1, 230, 38, 100, 35, -1, 231, 38, 128, 35, -1, 232, 38, 0, 35, -1, 233, 38, 1, 38, 0, 14, 35, -1, 234, 38, 1, 38, 1, 14, 35, -1, 235, 38, 1, 38, 2, 14, 35, -1, 236, 38, 1, 38, 3, 14, 35, -1, 237, 38, 1, 38, 4, 14, 35, -1, 238, 13, -1, 234, 13, -1, 235, 3, 13, -1, 236, 3, 13, -1, 237, 3, 13, -1, 238, 3, 35, -1, 239, 60, 10020, 40, -19, 62, 60, 820, 40, 15, 39, 31, 60, 8520, 16, -7, 26, 21, 23298, 60, 10020, 40, -19, 62, 60, 820, 40, 15, 39, 27, 0, 21, 23334, 38, 23305, 56, 27, 0, 21, 23334, 22, 0, 49, 167, 35, -1, 0, 57, 1, 1, 2, 38, 50, 13, -1, 2, 22, 2, 60, 4984, 44, -12, 62, 52, 27, 0, 21, 23333, 46, 35, -1, 240, 60, 10020, 40, -19, 62, 60, 3440, 40, 15, 39, 31, 60, 8520, 16, -7, 26, 21, 23369, 60, 10020, 40, -19, 62, 60, 3440, 40, 15, 39, 27, 0, 21, 23409, 38, 23376, 56, 27, 0, 21, 23409, 22, 0, 49, 168, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 22, 1, 60, 9064, 24, 7, 62, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 23408, 46, 35, -1, 241, 38, 212, 38, 81, 38, 127, 38, 16, 38, 59, 38, 17, 38, 231, 38, 255, 38, 172, 38, 102, 38, 136, 38, 155, 38, 103, 38, 126, 38, 36, 38, 6, 38, 52, 38, 69, 38, 137, 38, 139, 38, 158, 38, 214, 38, 78, 38, 237, 38, 128, 38, 162, 38, 26, 38, 135, 38, 42, 38, 253, 38, 125, 38, 205, 22, 32, 35, -1, 242, 38, 23488, 56, 27, 0, 21, 23576, 22, 0, 49, 169, 35, -1, 0, 57, 0, 1, 18, 35, -1, 2, 38, 23509, 56, 27, 0, 21, 23548, 22, 0, 49, 170, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 13, 169, 2, 60, 5844, 16, -16, 23, 15, 22, 0, 13, 169, 2, 60, 2268, 16, -17, 39, 52, 27, 0, 21, 23547, 46, 22, 1, 18, 60, 3004, 44, -16, 39, 22, 1, 18, 60, 5280, 24, 18, 39, 52, 60, 9208, 8, 17, 39, 52, 27, 0, 21, 23575, 46, 13, -1, 40, 60, 2700, 16, -3, 39, 60, 388, 16, -17, 23, 15, 38, 23597, 56, 27, 0, 21, 23667, 22, 0, 49, 171, 35, -1, 0, 57, 0, 1, 60, 6520, 12, -6, 60, 6324, 12, 2, 22, 2, 27, 0, 60, 248, 8, 10, 60, 2288, 16, 15, 48, 1, 13, 0, 242, 22, 1, 60, 9288, 20, 12, 62, 10, 60, 1056, 16, -9, 22, 5, 60, 628, 8, 0, 62, 60, 2824, 8, 1, 39, 60, 9956, 48, -17, 39, 52, 27, 0, 21, 23666, 46, 13, -1, 40, 60, 2700, 16, -3, 39, 60, 5280, 24, 18, 23, 15, 38, 23688, 56, 27, 0, 21, 24124, 22, 0, 49, 172, 35, -1, 0, 57, 1, 1, 2, 18, 35, -1, 3, 18, 60, 444, 36, 10, 39, 21, 23716, 37, 27, 0, 21, 24123, 27, 1, 18, 60, 444, 36, 10, 23, 15, 18, 60, 860, 20, 2, 39, 5, 24, 21, 23756, 18, 60, 860, 20, 2, 39, 22, 1, 13, 0, 241, 52, 15, 5, 18, 60, 860, 20, 2, 23, 15, 38, 23763, 56, 27, 0, 21, 24093, 22, 0, 49, 173, 35, -1, 0, 57, 0, 1, 22, 0, 13, 172, 3, 60, 6560, 16, -12, 39, 60, 4036, 8, 18, 39, 52, 35, -1, 2, 38, 23799, 56, 27, 0, 21, 23833, 22, 0, 49, 174, 35, -1, 0, 57, 0, 1, 27, 0, 13, 172, 3, 60, 444, 36, 10, 23, 15, 13, 172, 3, 60, 6560, 16, -12, 39, 27, 0, 21, 23832, 46, 22, 1, 38, 23842, 56, 27, 0, 21, 24060, 22, 0, 49, 175, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 22, 1, 60, 5956, 12, 2, 62, 60, 8396, 16, 20, 39, 52, 65, 21, 23878, 22, 0, 32, -1, 2, 15, 13, 173, 2, 13, -1, 2, 22, 2, 13, 172, 3, 60, 6532, 16, 2, 39, 52, 35, -1, 3, 13, -1, 3, 13, 172, 3, 60, 6560, 16, -12, 23, 15, 13, 173, 2, 60, 10968, 8, 3, 39, 38, 0, 36, 21, 24036, 38, 23930, 56, 27, 0, 21, 23964, 22, 0, 49, 176, 35, -1, 0, 57, 0, 1, 27, 0, 13, 172, 3, 60, 444, 36, 10, 23, 15, 13, 172, 3, 60, 6560, 16, -12, 39, 27, 0, 21, 23963, 46, 22, 1, 38, 23973, 56, 27, 0, 21, 24007, 22, 0, 49, 177, 35, -1, 0, 57, 0, 1, 27, 0, 13, 172, 3, 60, 444, 36, 10, 23, 15, 13, 172, 3, 60, 6560, 16, -12, 39, 27, 0, 21, 24006, 46, 22, 1, 22, 0, 13, 172, 3, 60, 10756, 20, -3, 39, 52, 60, 9208, 8, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 27, 0, 21, 24059, 27, 0, 13, 172, 3, 60, 444, 36, 10, 23, 15, 13, 172, 3, 60, 6560, 16, -12, 39, 27, 0, 21, 24059, 46, 22, 1, 13, 172, 2, 22, 1, 13, 172, 3, 60, 9784, 20, -7, 39, 52, 60, 9208, 8, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 27, 0, 21, 24092, 46, 22, 1, 18, 60, 3176, 24, -22, 39, 60, 9208, 8, 17, 39, 52, 18, 60, 3176, 24, -22, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 24123, 46, 13, -1, 40, 60, 2700, 16, -3, 39, 60, 344, 28, -5, 23, 15, 38, 24145, 56, 27, 0, 21, 24391, 22, 0, 49, 178, 35, -1, 0, 57, 2, 1, 2, 3, 22, 0, 35, -1, 4, 48, 0, 35, -1, 5, 13, -1, 3, 60, 10968, 8, 3, 39, 35, -1, 6, 38, 0, 35, -1, 7, 13, -1, 7, 13, -1, 6, 53, 21, 24275, 13, -1, 3, 13, -1, 7, 39, 35, -1, 8, 13, -1, 8, 9, 21, 24217, 15, 13, -1, 8, 60, 3968, 4, 10, 39, 9, 21, 24234, 15, 13, -1, 5, 13, -1, 8, 60, 3968, 4, 10, 39, 39, 65, 21, 24266, 13, -1, 8, 22, 1, 13, -1, 4, 60, 8340, 8, -3, 39, 52, 15, 27, 1, 13, -1, 5, 13, -1, 8, 60, 3968, 4, 10, 39, 23, 15, 2, -1, 7, 0, 15, 27, 0, 21, 24183, 13, -1, 2, 60, 10968, 8, 3, 39, 35, -1, 9, 38, 0, 35, -1, 10, 13, -1, 10, 13, -1, 9, 53, 21, 24383, 13, -1, 2, 13, -1, 10, 39, 35, -1, 11, 13, -1, 11, 9, 21, 24325, 15, 13, -1, 11, 60, 3968, 4, 10, 39, 9, 21, 24342, 15, 13, -1, 5, 13, -1, 11, 60, 3968, 4, 10, 39, 39, 65, 21, 24374, 13, -1, 11, 22, 1, 13, -1, 4, 60, 8340, 8, -3, 39, 52, 15, 27, 1, 13, -1, 5, 13, -1, 11, 60, 3968, 4, 10, 39, 23, 15, 2, -1, 10, 0, 15, 27, 0, 21, 24291, 13, -1, 4, 27, 0, 21, 24390, 46, 13, -1, 40, 60, 2700, 16, -3, 39, 60, 6532, 16, 2, 23, 15, 38, 24412, 56, 27, 0, 21, 24706, 22, 0, 49, 179, 35, -1, 0, 57, 1, 1, 2, 16, 24673, 18, 35, -1, 3, 22, 0, 60, 7680, 16, 0, 62, 10, 35, -1, 4, 38, 12, 22, 1, 60, 9288, 20, 12, 62, 10, 22, 1, 60, 628, 8, 0, 62, 60, 6576, 32, -10, 39, 52, 35, -1, 5, 13, -1, 2, 22, 1, 60, 6376, 8, 6, 62, 60, 11024, 12, -1, 39, 52, 22, 1, 13, -1, 4, 60, 9804, 16, 17, 39, 52, 35, -1, 6, 38, 24503, 56, 27, 0, 21, 24609, 22, 0, 49, 180, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 22, 1, 60, 9288, 20, 12, 62, 10, 35, -1, 3, 13, 179, 5, 5, 22, 2, 60, 4160, 12, 13, 62, 60, 8724, 56, -21, 39, 60, 10004, 8, 9, 39, 52, 22, 1, 60, 10020, 40, -19, 62, 60, 10728, 8, 10, 39, 52, 60, 884, 4, 16, 58, 13, -1, 3, 5, 22, 2, 60, 4160, 12, 13, 62, 60, 8724, 56, -21, 39, 60, 10004, 8, 9, 39, 52, 22, 1, 60, 10020, 40, -19, 62, 60, 10728, 8, 10, 39, 52, 58, 27, 0, 21, 24608, 46, 22, 1, 13, -1, 6, 13, -1, 3, 60, 5844, 16, -16, 39, 60, 7280, 12, -22, 13, -1, 5, 60, 248, 8, 10, 60, 2288, 16, 15, 48, 2, 22, 3, 60, 628, 8, 0, 62, 60, 2824, 8, 1, 39, 60, 6324, 12, 2, 39, 52, 60, 9208, 8, 17, 39, 52, 27, 0, 21, 24705, 29, 24669, 27, 0, 21, 24696, 35, -1, 7, 13, -1, 7, 22, 1, 60, 9892, 12, -3, 62, 60, 10352, 12, 18, 39, 52, 27, 0, 21, 24705, 60, 1080, 20, 18, 62, 27, 0, 21, 24705, 46, 13, -1, 40, 60, 2700, 16, -3, 39, 60, 1592, 16, 9, 23, 15, 38, 24727, 56, 27, 0, 21, 25156, 22, 0, 49, 181, 35, -1, 0, 57, 1, 1, 2, 18, 35, -1, 3, 13, -1, 2, 65, 21, 24767, 22, 0, 22, 1, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 25155, 16, 25124, 60, 884, 4, 16, 22, 1, 13, -1, 2, 60, 3940, 12, -8, 39, 52, 35, -1, 4, 38, 24794, 56, 27, 0, 21, 24823, 22, 0, 49, 182, 35, -1, 0, 57, 1, 1, 2, 38, 0, 22, 1, 13, -1, 2, 60, 7216, 36, -19, 39, 52, 27, 0, 21, 24822, 46, 22, 1, 60, 6752, 0, -1, 22, 1, 13, -1, 4, 38, 0, 39, 22, 1, 60, 10020, 40, -19, 62, 60, 5264, 8, 3, 39, 52, 60, 3940, 12, -8, 39, 52, 60, 8572, 4, 11, 39, 52, 22, 1, 60, 9288, 20, 12, 62, 10, 35, -1, 5, 38, 24880, 56, 27, 0, 21, 24909, 22, 0, 49, 183, 35, -1, 0, 57, 1, 1, 2, 38, 0, 22, 1, 13, -1, 2, 60, 7216, 36, -19, 39, 52, 27, 0, 21, 24908, 46, 22, 1, 60, 6752, 0, -1, 22, 1, 13, -1, 4, 38, 1, 39, 22, 1, 60, 10020, 40, -19, 62, 60, 5264, 8, 3, 39, 52, 60, 3940, 12, -8, 39, 52, 60, 8572, 4, 11, 39, 52, 22, 1, 60, 9288, 20, 12, 62, 10, 35, -1, 6, 38, 24966, 56, 27, 0, 21, 24983, 22, 0, 49, 184, 35, -1, 0, 57, 0, 1, 22, 0, 27, 0, 21, 24982, 46, 22, 1, 38, 24992, 56, 27, 0, 21, 25054, 22, 0, 49, 185, 35, -1, 0, 57, 1, 1, 2, 22, 0, 60, 2800, 16, 2, 62, 10, 35, -1, 3, 13, -1, 2, 22, 1, 60, 9288, 20, 12, 62, 10, 22, 1, 13, -1, 3, 60, 7328, 8, -8, 39, 52, 22, 1, 60, 6376, 8, 6, 62, 60, 8120, 12, -12, 39, 52, 27, 0, 21, 25053, 46, 22, 1, 13, -1, 6, 13, -1, 3, 60, 5844, 16, -16, 39, 60, 7280, 12, -22, 13, -1, 5, 60, 248, 8, 10, 60, 2288, 16, 15, 48, 2, 22, 3, 60, 628, 8, 0, 62, 60, 2824, 8, 1, 39, 60, 6520, 12, -6, 39, 52, 60, 9208, 8, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 27, 0, 21, 25155, 29, 25120, 27, 0, 21, 25146, 35, -1, 7, 22, 0, 22, 1, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 25155, 60, 1080, 20, 18, 62, 27, 0, 21, 25155, 46, 13, -1, 40, 60, 2700, 16, -3, 39, 60, 9784, 20, -7, 23, 15, 38, 25177, 56, 27, 0, 21, 25293, 22, 0, 49, 186, 35, -1, 0, 57, 0, 1, 18, 35, -1, 2, 18, 60, 8044, 52, -18, 39, 22, 1, 60, 10020, 40, -19, 62, 60, 2660, 24, -9, 39, 60, 6632, 20, 10, 39, 52, 35, -1, 3, 38, 25225, 56, 27, 0, 21, 25268, 22, 0, 49, 187, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 9, 65, 21, 25246, 15, 22, 0, 13, 186, 2, 60, 6560, 16, -12, 23, 15, 13, 186, 2, 60, 6560, 16, -12, 39, 27, 0, 21, 25267, 46, 22, 1, 13, -1, 3, 22, 1, 18, 60, 9784, 20, -7, 39, 52, 60, 9208, 8, 17, 39, 52, 27, 0, 21, 25292, 46, 13, -1, 40, 60, 2700, 16, -3, 39, 60, 2268, 16, -17, 23, 15, 38, 25314, 56, 27, 0, 21, 25902, 22, 0, 49, 188, 35, -1, 0, 57, 0, 1, 18, 35, -1, 2, 18, 60, 3252, 36, 16, 39, 65, 21, 25346, 22, 0, 18, 60, 3252, 36, 16, 23, 15, 38, 25353, 56, 27, 0, 21, 25889, 22, 0, 49, 189, 35, -1, 0, 57, 2, 1, 2, 3, 60, 10352, 12, 18, 13, -1, 3, 60, 4044, 16, 9, 13, -1, 2, 48, 2, 22, 1, 13, 188, 2, 60, 3252, 36, 16, 39, 60, 8340, 8, -3, 39, 52, 15, 13, 188, 2, 60, 860, 20, 2, 39, 5, 24, 21, 25435, 13, 188, 2, 60, 860, 20, 2, 39, 22, 1, 13, 0, 241, 52, 15, 5, 13, 188, 2, 60, 860, 20, 2, 23, 15, 38, 25442, 56, 27, 0, 21, 25864, 22, 0, 49, 190, 35, -1, 0, 57, 0, 1, 16, 25789, 5, 13, 188, 2, 60, 860, 20, 2, 23, 15, 13, 188, 2, 60, 6560, 16, -12, 39, 60, 10968, 8, 3, 39, 13, 0, 230, 36, 21, 25512, 13, 0, 230, 19, 22, 1, 13, 188, 2, 60, 6560, 16, -12, 39, 60, 4036, 8, 18, 39, 52, 13, 188, 2, 60, 6560, 16, -12, 23, 15, 38, 25519, 56, 27, 0, 21, 25616, 22, 0, 49, 191, 35, -1, 0, 57, 1, 1, 2, 13, 188, 2, 60, 3252, 36, 16, 39, 9, 65, 21, 25545, 15, 22, 0, 35, -1, 3, 22, 0, 13, 188, 2, 60, 3252, 36, 16, 23, 15, 38, 0, 35, -1, 4, 13, -1, 4, 13, -1, 3, 60, 10968, 8, 3, 39, 53, 21, 25606, 13, -1, 2, 22, 1, 13, -1, 3, 13, -1, 4, 39, 60, 10352, 12, 18, 39, 52, 15, 2, -1, 4, 0, 15, 27, 0, 21, 25564, 60, 1080, 20, 18, 62, 27, 0, 21, 25615, 46, 22, 1, 38, 25625, 56, 27, 0, 21, 25749, 22, 0, 49, 192, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 13, 188, 2, 60, 8044, 52, -18, 39, 22, 2, 60, 10020, 40, -19, 62, 60, 2660, 24, -9, 39, 60, 1196, 12, -1, 39, 52, 15, 13, 188, 2, 60, 3252, 36, 16, 39, 9, 65, 21, 25681, 15, 22, 0, 35, -1, 3, 22, 0, 13, 188, 2, 60, 3252, 36, 16, 23, 15, 38, 0, 35, -1, 4, 13, -1, 4, 13, -1, 3, 60, 10968, 8, 3, 39, 53, 21, 25739, 22, 0, 13, -1, 3, 13, -1, 4, 39, 60, 4044, 16, 9, 39, 52, 15, 2, -1, 4, 0, 15, 27, 0, 21, 25700, 60, 1080, 20, 18, 62, 27, 0, 21, 25748, 46, 22, 1, 13, 188, 2, 60, 6560, 16, -12, 39, 22, 1, 13, 188, 2, 60, 1592, 16, 9, 39, 52, 60, 9208, 8, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 15, 29, 25785, 27, 0, 21, 25854, 35, -1, 2, 13, -1, 2, 60, 4940, 12, 15, 62, 34, 9, 21, 25825, 15, 60, 1668, 12, 11, 22, 1, 13, -1, 2, 60, 8588, 12, 2, 39, 60, 1652, 16, 10, 39, 52, 21, 25842, 13, -1, 2, 22, 1, 13, 189, 3, 52, 15, 37, 27, 0, 21, 25863, 13, -1, 2, 60, 6180, 16, -20, 22, 2, 40, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 25863, 46, 22, 1, 13, 0, 240, 52, 13, 188, 2, 60, 860, 20, 2, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 25888, 46, 22, 1, 60, 9892, 12, -3, 62, 10, 27, 0, 21, 25901, 46, 13, -1, 40, 60, 2700, 16, -3, 39, 60, 10756, 20, -3, 23, 15, 38, 25923, 56, 27, 0, 21, 26016, 22, 0, 49, 193, 35, -1, 0, 57, 0, 1, 18, 35, -1, 2, 38, 25944, 56, 27, 0, 21, 25997, 22, 0, 49, 194, 35, -1, 0, 57, 0, 1, 13, 193, 2, 60, 444, 36, 10, 39, 21, 25981, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 25996, 22, 0, 13, 193, 2, 60, 10756, 20, -3, 39, 52, 27, 0, 21, 25996, 46, 22, 1, 18, 60, 3176, 24, -22, 39, 60, 9208, 8, 17, 39, 52, 27, 0, 21, 26015, 46, 13, -1, 40, 60, 2700, 16, -3, 39, 60, 7628, 8, 16, 23, 15, 38, 26037, 56, 27, 0, 21, 26310, 22, 0, 49, 195, 35, -1, 0, 57, 1, 1, 2, 18, 60, 76, 24, 7, 39, 21, 26073, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 26309, 13, -1, 2, 5, 45, 9, 65, 21, 26093, 15, 13, -1, 2, 60, 3968, 4, 10, 39, 5, 45, 21, 26112, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 26309, 18, 35, -1, 3, 38, 26123, 56, 27, 0, 21, 26291, 22, 0, 49, 196, 35, -1, 0, 57, 0, 1, 16, 26258, 27, 0, 35, -1, 2, 38, 0, 35, -1, 3, 13, -1, 3, 13, 195, 3, 60, 6560, 16, -12, 39, 60, 10968, 8, 3, 39, 53, 21, 26211, 13, 195, 3, 60, 6560, 16, -12, 39, 13, -1, 3, 39, 60, 3968, 4, 10, 39, 13, 195, 2, 60, 3968, 4, 10, 39, 26, 21, 26202, 27, 1, 32, -1, 2, 15, 27, 0, 21, 26211, 2, -1, 3, 0, 15, 27, 0, 21, 26145, 13, -1, 2, 65, 21, 26252, 13, 195, 2, 22, 1, 13, 195, 3, 60, 6560, 16, -12, 39, 60, 8340, 8, -3, 39, 52, 15, 22, 0, 13, 195, 3, 60, 7628, 8, 16, 39, 52, 27, 0, 21, 26290, 29, 26254, 27, 0, 21, 26281, 35, -1, 4, 13, -1, 4, 22, 1, 60, 9892, 12, -3, 62, 60, 10352, 12, 18, 39, 52, 27, 0, 21, 26290, 60, 1080, 20, 18, 62, 27, 0, 21, 26290, 46, 22, 1, 18, 60, 3176, 24, -22, 39, 60, 9208, 8, 17, 39, 52, 27, 0, 21, 26309, 46, 13, -1, 40, 60, 2700, 16, -3, 39, 60, 6156, 4, -15, 23, 15, 38, 26331, 56, 27, 0, 21, 26419, 22, 0, 49, 197, 35, -1, 0, 57, 0, 1, 18, 60, 76, 24, 7, 39, 21, 26366, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 26418, 18, 35, -1, 2, 38, 26377, 56, 27, 0, 21, 26400, 22, 0, 49, 198, 35, -1, 0, 57, 0, 1, 13, 197, 2, 60, 6560, 16, -12, 39, 27, 0, 21, 26399, 46, 22, 1, 18, 60, 3176, 24, -22, 39, 60, 9208, 8, 17, 39, 52, 27, 0, 21, 26418, 46, 13, -1, 40, 60, 2700, 16, -3, 39, 60, 1448, 8, 0, 23, 15, 38, 26440, 56, 27, 0, 21, 26544, 22, 0, 49, 199, 35, -1, 0, 57, 0, 1, 18, 60, 76, 24, 7, 39, 21, 26475, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 26543, 18, 35, -1, 2, 38, 26486, 56, 27, 0, 21, 26512, 22, 0, 49, 200, 35, -1, 0, 57, 0, 1, 22, 0, 13, 199, 2, 60, 2268, 16, -17, 39, 52, 27, 0, 21, 26511, 46, 22, 1, 18, 60, 3176, 24, -22, 39, 60, 9208, 8, 17, 39, 52, 18, 60, 3176, 24, -22, 23, 15, 18, 60, 3176, 24, -22, 39, 27, 0, 21, 26543, 46, 13, -1, 40, 60, 2700, 16, -3, 39, 60, 1224, 8, -8, 23, 15, 38, 26565, 56, 27, 0, 21, 26667, 22, 0, 49, 201, 35, -1, 0, 57, 0, 1, 18, 60, 76, 24, 7, 39, 21, 26600, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 26666, 18, 35, -1, 2, 38, 26611, 56, 27, 0, 21, 26648, 22, 0, 49, 202, 35, -1, 0, 57, 0, 1, 22, 0, 13, 201, 2, 60, 6560, 16, -12, 23, 15, 22, 0, 13, 201, 2, 60, 7628, 8, 16, 39, 52, 27, 0, 21, 26647, 46, 22, 1, 18, 60, 3176, 24, -22, 39, 60, 9208, 8, 17, 39, 52, 27, 0, 21, 26666, 46, 13, -1, 40, 60, 2700, 16, -3, 39, 60, 10712, 8, 7, 23, 15, 38, 26688, 56, 27, 0, 21, 26922, 22, 0, 49, 203, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 5, 45, 9, 65, 21, 26719, 15, 13, -1, 2, 60, 3968, 4, 10, 39, 5, 45, 21, 26738, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 26921, 13, -1, 2, 22, 1, 13, 0, 42, 52, 21, 26766, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 26921, 27, 0, 35, -1, 3, 38, 0, 35, -1, 4, 13, -1, 4, 18, 60, 6560, 16, -12, 39, 60, 10968, 8, 3, 39, 53, 21, 26838, 18, 60, 6560, 16, -12, 39, 13, -1, 4, 39, 60, 3968, 4, 10, 39, 13, -1, 2, 60, 3968, 4, 10, 39, 26, 21, 26829, 27, 1, 32, -1, 3, 15, 27, 0, 21, 26838, 2, -1, 4, 0, 15, 27, 0, 21, 26776, 13, -1, 3, 65, 21, 26904, 13, -1, 2, 22, 1, 18, 60, 6560, 16, -12, 39, 60, 8340, 8, -3, 39, 52, 15, 18, 60, 6560, 16, -12, 39, 60, 10968, 8, 3, 39, 13, 0, 230, 36, 21, 26904, 13, 0, 230, 19, 22, 1, 18, 60, 6560, 16, -12, 39, 60, 4036, 8, 18, 39, 52, 18, 60, 6560, 16, -12, 23, 15, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 26921, 46, 13, -1, 41, 60, 2700, 16, -3, 39, 60, 6156, 4, -15, 23, 15, 38, 26943, 56, 27, 0, 21, 26977, 22, 0, 49, 204, 35, -1, 0, 57, 0, 1, 18, 60, 6560, 16, -12, 39, 22, 1, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 26976, 46, 13, -1, 41, 60, 2700, 16, -3, 39, 60, 1448, 8, 0, 23, 15, 38, 26998, 56, 27, 0, 21, 27032, 22, 0, 49, 205, 35, -1, 0, 57, 0, 1, 18, 60, 6560, 16, -12, 39, 22, 1, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 27031, 46, 13, -1, 41, 60, 2700, 16, -3, 39, 60, 1224, 8, -8, 23, 15, 38, 27053, 56, 27, 0, 21, 27090, 22, 0, 49, 206, 35, -1, 0, 57, 0, 1, 22, 0, 18, 60, 6560, 16, -12, 23, 15, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 27089, 46, 13, -1, 41, 60, 2700, 16, -3, 39, 60, 10712, 8, 7, 23, 15, 60, 2388, 4, -13, 60, 10916, 32, -7, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 243, 60, 2388, 4, -13, 60, 10820, 24, -22, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 244, 60, 2388, 4, -13, 60, 4116, 8, 12, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 245, 60, 2388, 4, -13, 60, 3424, 16, -21, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 246, 60, 2388, 4, -13, 60, 892, 20, 2, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 247, 60, 1556, 4, -14, 60, 7588, 40, 21, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 248, 60, 1556, 4, -14, 60, 4412, 20, 3, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 249, 60, 1556, 4, -14, 60, 3352, 72, -17, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 250, 60, 1556, 4, -14, 60, 7772, 52, 9, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 251, 60, 6752, 0, -1, 60, 7120, 64, 18, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 252, 60, 6752, 0, -1, 60, 2832, 12, -6, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 253, 60, 6752, 0, -1, 60, 488, 20, -4, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 254, 60, 6752, 0, -1, 60, 10648, 24, -21, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 255, 60, 6752, 0, -1, 60, 3704, 32, 8, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 256, 60, 6752, 0, -1, 60, 4624, 16, 20, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 257, 60, 6752, 0, -1, 60, 10976, 24, -14, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 258, 60, 6752, 0, -1, 60, 1948, 20, -6, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 259, 60, 6752, 0, -1, 60, 188, 44, -9, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 260, 60, 6752, 0, -1, 60, 8960, 12, 6, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 261, 60, 6752, 0, -1, 60, 2896, 8, -7, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 262, 60, 6752, 0, -1, 60, 5916, 28, -4, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 263, 60, 1556, 4, -14, 60, 3800, 140, -9, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 264, 60, 2388, 4, -13, 60, 3092, 40, -20, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 265, 60, 6752, 0, -1, 60, 6148, 8, 11, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 266, 60, 2388, 4, -13, 60, 6856, 120, -21, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 267, 60, 2388, 4, -13, 60, 2012, 256, 14, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 268, 60, 2388, 4, -13, 60, 8996, 68, 3, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 269, 60, 2388, 4, -13, 60, 1232, 88, -7, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 270, 60, 2388, 4, -13, 60, 9452, 40, 19, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 271, 60, 2388, 4, -13, 60, 6212, 84, -3, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 272, 60, 2388, 4, -13, 60, 5336, 28, 11, 22, 2, 60, 4108, 8, 14, 62, 10, 35, -1, 273, 13, -1, 202, 13, -1, 207, 13, -1, 209, 13, -1, 208, 13, -1, 206, 13, -1, 205, 13, -1, 203, 13, -1, 204, 13, -1, 210, 13, -1, 201, 22, 10, 35, -1, 274, 38, 3, 35, -1, 275, 60, 4100, 8, -7, 35, -1, 276, 38, 4, 35, -1, 277, 38, 0, 35, -1, 278, 38, 1, 35, -1, 279, 38, 2, 35, -1, 280, 38, 0, 35, -1, 281, 38, 1, 35, -1, 282, 38, 2, 35, -1, 283, 38, 3, 35, -1, 284, 38, 4, 35, -1, 285, 38, 5, 35, -1, 286, 38, 6, 35, -1, 287, 38, 1, 35, -1, 288, 38, 2, 35, -1, 289, 38, 27812, 56, 27, 0, 21, 27914, 22, 0, 49, 207, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 22, 1, 13, 0, 75, 52, 18, 60, 1032, 24, -5, 23, 15, 18, 60, 1032, 24, -5, 39, 13, 0, 281, 39, 65, 21, 27880, 18, 60, 4776, 32, 10, 39, 60, 4124, 8, -7, 22, 2, 60, 4928, 12, -4, 62, 60, 1456, 44, 10, 39, 52, 15, 27, 0, 21, 27904, 18, 60, 4776, 32, 10, 39, 60, 4124, 8, -7, 22, 2, 60, 4928, 12, -4, 62, 60, 7900, 24, 3, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 27913, 46, 13, -1, 74, 60, 2700, 16, -3, 39, 60, 11096, 76, -13, 23, 15, 38, 27935, 56, 27, 0, 21, 28004, 22, 0, 49, 208, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 13, 0, 299, 39, 21, 27965, 22, 0, 18, 60, 10364, 48, 21, 39, 52, 15, 13, -1, 2, 13, 0, 300, 39, 21, 27994, 22, 0, 18, 60, 5764, 48, 12, 39, 52, 15, 22, 0, 18, 60, 4060, 40, 14, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 28003, 46, 13, -1, 74, 60, 2700, 16, -3, 39, 60, 7744, 8, -8, 23, 15, 38, 28025, 56, 27, 0, 21, 28231, 22, 0, 49, 209, 35, -1, 0, 57, 0, 1, 18, 35, -1, 2, 38, 28046, 56, 27, 0, 21, 28203, 22, 0, 49, 210, 35, -1, 0, 57, 0, 1, 16, 28190, 60, 4928, 12, -4, 62, 60, 9624, 8, -12, 39, 21, 28129, 38, 28077, 56, 27, 0, 21, 28098, 22, 0, 49, 211, 35, -1, 0, 57, 1, 1, 2, 60, 1080, 20, 18, 62, 27, 0, 21, 28097, 46, 22, 1, 38, 0, 22, 1, 13, 0, 209, 22, 2, 13, 209, 2, 60, 2928, 24, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 15, 27, 0, 21, 28184, 38, 28136, 56, 27, 0, 21, 28157, 22, 0, 49, 212, 35, -1, 0, 57, 1, 1, 2, 60, 1080, 20, 18, 62, 27, 0, 21, 28156, 46, 22, 1, 38, 1, 22, 1, 13, 0, 209, 22, 2, 13, 209, 2, 60, 2928, 24, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 15, 29, 28186, 27, 0, 21, 28193, 35, -1, 2, 60, 1080, 20, 18, 62, 27, 0, 21, 28202, 46, 60, 9728, 56, -17, 22, 2, 60, 4928, 12, -4, 62, 60, 7900, 24, 3, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 28230, 46, 13, -1, 74, 60, 2700, 16, -3, 39, 60, 10364, 48, 21, 23, 15, 38, 28252, 56, 27, 0, 21, 28942, 22, 0, 49, 213, 35, -1, 0, 57, 0, 1, 18, 35, -1, 2, 38, 28273, 56, 27, 0, 21, 28364, 22, 0, 49, 214, 35, -1, 0, 57, 1, 1, 2, 16, 28351, 38, 28293, 56, 27, 0, 21, 28314, 22, 0, 49, 215, 35, -1, 0, 57, 1, 1, 2, 60, 1080, 20, 18, 62, 27, 0, 21, 28313, 46, 22, 1, 22, 0, 13, 0, 46, 52, 22, 1, 13, 0, 204, 22, 2, 13, 213, 2, 60, 2928, 24, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 15, 29, 28347, 27, 0, 21, 28354, 35, -1, 3, 60, 1080, 20, 18, 62, 27, 0, 21, 28363, 46, 60, 1324, 16, 7, 22, 2, 60, 10020, 40, -19, 62, 60, 7900, 24, 3, 39, 52, 15, 38, 28389, 56, 27, 0, 21, 28480, 22, 0, 49, 216, 35, -1, 0, 57, 1, 1, 2, 16, 28467, 38, 28409, 56, 27, 0, 21, 28430, 22, 0, 49, 217, 35, -1, 0, 57, 1, 1, 2, 60, 1080, 20, 18, 62, 27, 0, 21, 28429, 46, 22, 1, 22, 0, 13, 0, 46, 52, 22, 1, 13, 0, 203, 22, 2, 13, 213, 2, 60, 2928, 24, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 15, 29, 28463, 27, 0, 21, 28470, 35, -1, 3, 60, 1080, 20, 18, 62, 27, 0, 21, 28479, 46, 60, 8824, 40, -20, 22, 2, 60, 10020, 40, -19, 62, 60, 7900, 24, 3, 39, 52, 15, 60, 6196, 16, 21, 62, 60, 3072, 20, 19, 39, 35, -1, 3, 60, 6196, 16, 21, 62, 60, 6608, 24, 6, 39, 35, -1, 4, 38, 28531, 56, 27, 0, 21, 28717, 22, 0, 49, 218, 35, -1, 0, 57, 3, 1, 2, 3, 4, 16, 28578, 13, -1, 4, 13, -1, 3, 13, -1, 2, 60, 6196, 16, 21, 62, 22, 4, 13, 213, 3, 60, 108, 8, 9, 39, 52, 15, 29, 28574, 27, 0, 21, 28588, 35, -1, 6, 13, -1, 6, 32, -1, 5, 15, 16, 28695, 38, 28597, 56, 27, 0, 21, 28618, 22, 0, 49, 219, 35, -1, 0, 57, 1, 1, 2, 60, 1080, 20, 18, 62, 27, 0, 21, 28617, 46, 22, 1, 60, 10020, 40, -19, 62, 60, 636, 12, 10, 39, 60, 5896, 20, -12, 39, 60, 10076, 4, 16, 22, 1, 60, 10020, 40, -19, 62, 60, 636, 12, 10, 39, 60, 2468, 8, 20, 39, 60, 3940, 12, -8, 39, 52, 38, 0, 39, 58, 22, 1, 13, 0, 205, 22, 2, 13, 213, 2, 60, 2928, 24, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 15, 29, 28691, 27, 0, 21, 28698, 35, -1, 7, 13, -1, 5, 21, 28707, 13, -1, 5, 0, 60, 1080, 20, 18, 62, 27, 0, 21, 28716, 46, 60, 6196, 16, 21, 62, 60, 3072, 20, 19, 23, 15, 38, 28735, 56, 27, 0, 21, 28921, 22, 0, 49, 220, 35, -1, 0, 57, 3, 1, 2, 3, 4, 16, 28782, 13, -1, 4, 13, -1, 3, 13, -1, 2, 60, 6196, 16, 21, 62, 22, 4, 13, 213, 4, 60, 108, 8, 9, 39, 52, 15, 29, 28778, 27, 0, 21, 28792, 35, -1, 6, 13, -1, 6, 32, -1, 5, 15, 16, 28899, 38, 28801, 56, 27, 0, 21, 28822, 22, 0, 49, 221, 35, -1, 0, 57, 1, 1, 2, 60, 1080, 20, 18, 62, 27, 0, 21, 28821, 46, 22, 1, 60, 10020, 40, -19, 62, 60, 636, 12, 10, 39, 60, 5896, 20, -12, 39, 60, 10076, 4, 16, 22, 1, 60, 10020, 40, -19, 62, 60, 636, 12, 10, 39, 60, 2468, 8, 20, 39, 60, 3940, 12, -8, 39, 52, 38, 0, 39, 58, 22, 1, 13, 0, 206, 22, 2, 13, 213, 2, 60, 2928, 24, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 15, 29, 28895, 27, 0, 21, 28902, 35, -1, 7, 13, -1, 5, 21, 28911, 13, -1, 5, 0, 60, 1080, 20, 18, 62, 27, 0, 21, 28920, 46, 60, 6196, 16, 21, 62, 60, 6608, 24, 6, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 28941, 46, 13, -1, 74, 60, 2700, 16, -3, 39, 60, 5764, 48, 12, 23, 15, 38, 28963, 56, 27, 0, 21, 29481, 22, 0, 49, 222, 35, -1, 0, 57, 1, 1, 2, 18, 35, -1, 3, 16, 29468, 13, -1, 3, 60, 1032, 24, -5, 39, 35, -1, 4, 13, -1, 4, 13, 0, 281, 39, 65, 21, 29006, 37, 27, 0, 21, 29480, 13, -1, 4, 13, 0, 282, 39, 5, 64, 9, 21, 29033, 15, 13, -1, 4, 13, 0, 282, 39, 22, 1, 13, 0, 47, 52, 65, 21, 29040, 37, 27, 0, 21, 29480, 13, -1, 4, 13, 0, 283, 39, 5, 64, 9, 21, 29066, 15, 13, -1, 4, 13, 0, 283, 39, 22, 1, 13, 0, 47, 52, 21, 29073, 37, 27, 0, 21, 29480, 38, 2, 13, -1, 4, 13, 0, 285, 39, 13, -1, 2, 60, 4888, 8, 14, 39, 22, 3, 13, 0, 76, 52, 35, -1, 5, 13, -1, 5, 5, 45, 21, 29111, 37, 27, 0, 21, 29480, 13, -1, 5, 22, 1, 13, 0, 69, 52, 35, -1, 6, 38, 20, 38, 0, 22, 2, 60, 4476, 28, -16, 22, 1, 13, -1, 5, 60, 10248, 28, 9, 39, 52, 9, 65, 21, 29153, 15, 60, 6752, 0, -1, 60, 4036, 8, 18, 39, 52, 35, -1, 7, 38, 20, 38, 0, 22, 2, 60, 1560, 28, -16, 22, 1, 13, -1, 5, 60, 10248, 28, 9, 39, 52, 9, 65, 21, 29192, 15, 60, 6752, 0, -1, 60, 4036, 8, 18, 39, 52, 35, -1, 8, 38, 20, 38, 0, 22, 2, 60, 1428, 12, -8, 22, 1, 13, -1, 5, 60, 10248, 28, 9, 39, 52, 9, 65, 21, 29231, 15, 60, 6752, 0, -1, 60, 4036, 8, 18, 39, 52, 35, -1, 9, 38, 20, 38, 0, 22, 2, 13, 0, 290, 22, 1, 13, -1, 5, 60, 10248, 28, 9, 39, 52, 9, 65, 21, 29269, 15, 60, 6752, 0, -1, 60, 4036, 8, 18, 39, 52, 35, -1, 10, 38, 50, 38, 0, 22, 2, 38, 29291, 56, 27, 0, 21, 29373, 22, 0, 49, 223, 35, -1, 0, 57, 2, 1, 2, 3, 13, 222, 3, 60, 1032, 24, -5, 39, 13, 0, 286, 39, 21, 29327, 27, 1, 27, 0, 21, 29372, 27, 0, 21, 29366, 13, 222, 3, 60, 1032, 24, -5, 39, 13, 0, 287, 39, 21, 29366, 13, -1, 3, 13, -1, 2, 22, 2, 13, 222, 3, 60, 1032, 24, -5, 39, 13, 0, 287, 39, 52, 27, 0, 21, 29372, 27, 0, 27, 0, 21, 29372, 46, 13, -1, 5, 22, 2, 13, 0, 72, 52, 60, 4036, 8, 18, 39, 52, 35, -1, 11, 38, 29398, 56, 27, 0, 21, 29419, 22, 0, 49, 224, 35, -1, 0, 57, 1, 1, 2, 60, 1080, 20, 18, 62, 27, 0, 21, 29418, 46, 22, 1, 13, -1, 11, 13, -1, 10, 13, -1, 8, 13, -1, 9, 13, -1, 7, 13, -1, 6, 22, 6, 13, 0, 210, 22, 2, 13, -1, 3, 60, 2928, 24, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 15, 29, 29464, 27, 0, 21, 29471, 35, -1, 12, 60, 1080, 20, 18, 62, 27, 0, 21, 29480, 46, 13, -1, 74, 60, 2700, 16, -3, 39, 60, 5052, 28, 17, 23, 15, 60, 728, 32, 7, 35, -1, 290, 38, 29509, 56, 27, 0, 21, 29571, 22, 0, 49, 225, 35, -1, 0, 57, 0, 1, 18, 60, 1032, 24, -5, 39, 13, 0, 281, 39, 65, 21, 29537, 37, 27, 0, 21, 29570, 18, 60, 4776, 32, 10, 39, 60, 4124, 8, -7, 22, 2, 60, 4928, 12, -4, 62, 60, 7900, 24, 3, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 29570, 46, 13, -1, 74, 60, 2700, 16, -3, 39, 60, 4060, 40, 14, 23, 15, 38, 29592, 56, 27, 0, 21, 29778, 22, 0, 49, 226, 35, -1, 0, 57, 2, 1, 2, 3, 18, 60, 5236, 28, 8, 39, 5, 45, 21, 29635, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 29777, 27, 0, 21, 29667, 18, 60, 5236, 28, 8, 39, 60, 6156, 4, -15, 39, 5, 45, 21, 29667, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 29777, 13, -1, 3, 22, 1, 13, 0, 73, 52, 35, -1, 4, 13, -1, 4, 5, 26, 21, 29703, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 29777, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 18, 60, 5728, 16, 3, 39, 4, 35, -1, 5, 60, 10588, 12, 5, 13, -1, 5, 18, 60, 6296, 16, 7, 39, 13, -1, 4, 13, -1, 2, 22, 4, 60, 3968, 4, 10, 22, 0, 13, 0, 45, 52, 48, 2, 22, 1, 18, 60, 5236, 28, 8, 39, 60, 6156, 4, -15, 39, 52, 27, 0, 21, 29777, 46, 13, -1, 74, 60, 2700, 16, -3, 39, 60, 2928, 24, 17, 23, 15, 38, 29799, 56, 27, 0, 21, 30361, 22, 0, 49, 227, 35, -1, 0, 57, 0, 1, 18, 35, -1, 2, 18, 60, 5236, 28, 8, 39, 5, 26, 21, 29850, 22, 0, 22, 0, 22, 2, 22, 1, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 30360, 27, 0, 21, 29888, 18, 60, 5236, 28, 8, 39, 60, 1448, 8, 0, 39, 5, 26, 21, 29888, 22, 0, 22, 0, 22, 2, 22, 1, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 30360, 16, 30325, 38, 29897, 56, 27, 0, 21, 30293, 22, 0, 49, 228, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 5, 45, 21, 29938, 22, 0, 22, 0, 22, 2, 22, 1, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 30292, 38, 29945, 56, 27, 0, 21, 29969, 22, 0, 49, 229, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 60, 10588, 12, 5, 39, 27, 0, 21, 29968, 46, 22, 1, 13, -1, 2, 60, 8572, 4, 11, 39, 52, 35, -1, 3, 13, 0, 231, 13, -1, 3, 22, 2, 13, 0, 43, 52, 35, -1, 4, 22, 0, 35, -1, 5, 48, 0, 35, -1, 6, 13, -1, 4, 60, 10968, 8, 3, 39, 35, -1, 7, 38, 0, 35, -1, 8, 13, -1, 8, 13, -1, 7, 53, 21, 30268, 13, -1, 4, 13, -1, 8, 39, 35, -1, 9, 13, -1, 9, 38, 1, 39, 22, 1, 60, 5956, 12, 2, 62, 60, 8396, 16, 20, 39, 52, 65, 21, 30069, 27, 0, 21, 30259, 13, -1, 9, 38, 1, 39, 35, -1, 10, 13, -1, 10, 60, 10968, 8, 3, 39, 35, -1, 11, 38, 0, 35, -1, 12, 13, -1, 12, 13, -1, 11, 53, 21, 30259, 13, -1, 10, 13, -1, 12, 39, 35, -1, 13, 13, -1, 13, 31, 60, 10460, 32, -17, 45, 9, 21, 30144, 15, 13, -1, 13, 22, 1, 13, -1, 5, 60, 152, 16, 16, 39, 52, 38, 1, 19, 26, 21, 30197, 13, -1, 13, 22, 1, 13, -1, 5, 60, 8340, 8, -3, 39, 52, 15, 13, -1, 13, 22, 1, 8, 52, 35, -1, 14, 13, -1, 14, 13, -1, 6, 13, -1, 13, 23, 15, 13, -1, 14, 13, -1, 10, 13, -1, 12, 23, 15, 27, 0, 21, 30250, 13, -1, 6, 13, -1, 13, 39, 32, -1, 14, 15, 13, -1, 14, 38, 0, 33, 26, 21, 30239, 13, -1, 13, 22, 1, 8, 52, 32, -1, 14, 15, 13, -1, 14, 13, -1, 6, 13, -1, 13, 23, 15, 13, -1, 14, 13, -1, 10, 13, -1, 12, 23, 15, 2, -1, 12, 0, 15, 27, 0, 21, 30094, 2, -1, 8, 0, 15, 27, 0, 21, 30024, 22, 0, 13, 227, 2, 60, 8096, 12, -3, 39, 52, 15, 13, -1, 5, 13, -1, 4, 22, 2, 27, 0, 21, 30292, 46, 22, 1, 22, 0, 18, 60, 5236, 28, 8, 39, 60, 1448, 8, 0, 39, 52, 60, 9208, 8, 17, 39, 52, 27, 0, 21, 30360, 29, 30321, 27, 0, 21, 30351, 35, -1, 3, 22, 0, 22, 0, 22, 2, 22, 1, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 30360, 60, 1080, 20, 18, 62, 27, 0, 21, 30360, 46, 13, -1, 74, 60, 2700, 16, -3, 39, 60, 5676, 12, -2, 23, 15, 38, 30382, 56, 27, 0, 21, 30507, 22, 0, 49, 230, 35, -1, 0, 57, 0, 1, 18, 60, 5236, 28, 8, 39, 5, 26, 21, 30419, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 30506, 18, 60, 5236, 28, 8, 39, 60, 10712, 8, 7, 39, 5, 26, 21, 30451, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 30506, 16, 30477, 22, 0, 18, 60, 5236, 28, 8, 39, 60, 10712, 8, 7, 39, 52, 27, 0, 21, 30506, 29, 30473, 27, 0, 21, 30497, 35, -1, 2, 22, 0, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 30506, 60, 1080, 20, 18, 62, 27, 0, 21, 30506, 46, 13, -1, 74, 60, 2700, 16, -3, 39, 60, 8096, 12, -3, 23, 15, 38, 16, 35, -1, 291, 38, 150, 38, 1e3, 25, 35, -1, 292, 38, 1, 35, -1, 293, 38, 2, 35, -1, 294, 38, 3, 35, -1, 295, 38, 4, 35, -1, 296, 38, 5, 35, -1, 297, 38, 6, 35, -1, 298, 38, 7, 35, -1, 299, 38, 8, 35, -1, 300, 38, 64, 35, -1, 301, 38, 16, 35, -1, 302, 38, 30591, 56, 27, 0, 21, 31004, 22, 0, 49, 231, 35, -1, 0, 57, 0, 1, 18, 35, -1, 2, 60, 4928, 12, -4, 62, 60, 2792, 8, 2, 39, 65, 9, 65, 21, 30637, 15, 60, 4928, 12, -4, 62, 60, 2792, 8, 2, 39, 60, 1180, 16, -4, 39, 65, 21, 30644, 37, 27, 0, 21, 31003, 38, 30651, 56, 27, 0, 21, 30839, 22, 0, 49, 232, 35, -1, 0, 57, 1, 1, 2, 38, 30669, 56, 27, 0, 21, 30817, 22, 0, 49, 233, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 60, 4476, 28, -16, 39, 60, 2736, 16, -11, 26, 21, 30807, 13, -1, 2, 60, 11040, 20, 17, 39, 35, -1, 3, 13, -1, 3, 60, 10968, 8, 3, 39, 13, 0, 302, 36, 21, 30727, 13, 0, 302, 27, 0, 21, 30735, 13, -1, 3, 60, 10968, 8, 3, 39, 35, -1, 4, 38, 0, 35, -1, 5, 13, -1, 5, 13, -1, 4, 53, 21, 30807, 13, -1, 3, 13, -1, 5, 39, 35, -1, 6, 13, -1, 6, 60, 1180, 16, -4, 39, 60, 116, 12, 7, 62, 60, 404, 28, -22, 39, 26, 21, 30798, 13, -1, 6, 22, 1, 13, 231, 2, 60, 1840, 36, 6, 39, 52, 15, 2, -1, 5, 0, 15, 27, 0, 21, 30743, 60, 1080, 20, 18, 62, 27, 0, 21, 30816, 46, 22, 1, 13, -1, 2, 60, 7544, 12, 2, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 30838, 46, 35, -1, 3, 60, 10736, 16, 20, 62, 31, 60, 1340, 8, -2, 26, 9, 21, 30873, 15, 60, 10736, 16, 20, 62, 60, 7696, 20, 8, 39, 31, 60, 8520, 16, -7, 26, 21, 30909, 13, -1, 3, 22, 1, 60, 10124, 40, 20, 62, 22, 2, 60, 10736, 16, 20, 62, 60, 7696, 20, 8, 39, 52, 18, 60, 5744, 20, 4, 23, 15, 27, 0, 21, 30927, 13, -1, 3, 22, 1, 60, 10124, 40, 20, 62, 10, 18, 60, 5744, 20, 4, 23, 15, 16, 30974, 60, 9328, 12, -2, 27, 1, 60, 2736, 16, -11, 27, 1, 48, 2, 60, 4928, 12, -4, 62, 60, 2792, 8, 2, 39, 22, 2, 18, 60, 5744, 20, 4, 39, 60, 4284, 36, -17, 39, 52, 15, 29, 30970, 27, 0, 21, 30994, 35, -1, 4, 13, -1, 4, 60, 10280, 56, -7, 22, 2, 59, 60, 9872, 20, -2, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 31003, 46, 13, -1, 77, 60, 2700, 16, -3, 39, 60, 7556, 32, -6, 23, 15, 38, 31025, 56, 27, 0, 21, 31177, 22, 0, 49, 234, 35, -1, 0, 57, 0, 1, 48, 0, 35, -1, 2, 18, 60, 6724, 28, -20, 39, 60, 720, 8, -18, 39, 22, 1, 60, 1168, 12, 18, 62, 60, 5968, 8, 6, 39, 52, 35, -1, 3, 13, -1, 3, 60, 10968, 8, 3, 39, 35, -1, 4, 38, 0, 35, -1, 5, 13, -1, 5, 13, -1, 4, 53, 21, 31169, 13, -1, 3, 13, -1, 5, 39, 35, -1, 6, 13, -1, 6, 18, 60, 6724, 28, -20, 39, 60, 9644, 36, -18, 39, 41, 21, 31160, 18, 60, 6724, 28, -20, 39, 60, 9644, 36, -18, 39, 13, -1, 6, 39, 35, -1, 7, 18, 60, 6724, 28, -20, 39, 60, 720, 8, -18, 39, 13, -1, 6, 39, 13, -1, 2, 13, -1, 7, 23, 15, 2, -1, 5, 0, 15, 27, 0, 21, 31083, 13, -1, 2, 27, 0, 21, 31176, 46, 13, -1, 77, 60, 2700, 16, -3, 39, 60, 4172, 44, 13, 23, 15, 38, 31198, 56, 27, 0, 21, 31428, 22, 0, 49, 235, 35, -1, 0, 57, 1, 1, 2, 18, 60, 6724, 28, -20, 39, 60, 720, 8, -18, 39, 65, 21, 31237, 48, 0, 18, 60, 6724, 28, -20, 39, 60, 720, 8, -18, 23, 15, 18, 60, 6724, 28, -20, 39, 60, 9644, 36, -18, 39, 65, 21, 31279, 48, 0, 18, 60, 6724, 28, -20, 39, 60, 9644, 36, -18, 23, 15, 38, 0, 18, 60, 6724, 28, -20, 39, 60, 10620, 28, 1, 23, 15, 18, 60, 6724, 28, -20, 39, 60, 10620, 28, 1, 39, 13, 0, 301, 51, 21, 31301, 37, 27, 0, 21, 31427, 13, -1, 2, 60, 1876, 72, -16, 39, 31, 60, 8520, 16, -7, 26, 21, 31340, 60, 1500, 44, -3, 22, 1, 13, -1, 2, 60, 1876, 72, -16, 39, 52, 32, -1, 3, 15, 27, 0, 21, 31346, 22, 0, 32, -1, 3, 15, 13, -1, 3, 60, 10968, 8, 3, 39, 35, -1, 4, 38, 0, 35, -1, 5, 13, -1, 5, 13, -1, 4, 53, 21, 31418, 18, 60, 6724, 28, -20, 39, 60, 10620, 28, 1, 39, 13, 0, 301, 51, 21, 31392, 27, 0, 21, 31418, 13, -1, 3, 13, -1, 5, 39, 22, 1, 18, 60, 8636, 36, 7, 39, 52, 15, 2, -1, 5, 0, 15, 27, 0, 21, 31362, 60, 1080, 20, 18, 62, 27, 0, 21, 31427, 46, 13, -1, 77, 60, 2700, 16, -3, 39, 60, 1840, 36, 6, 23, 15, 38, 31449, 56, 27, 0, 21, 31594, 22, 0, 49, 236, 35, -1, 0, 57, 1, 1, 2, 18, 60, 6724, 28, -20, 39, 60, 10620, 28, 1, 39, 13, 0, 301, 51, 21, 31482, 37, 27, 0, 21, 31593, 13, -1, 2, 22, 1, 13, 0, 14, 52, 35, -1, 3, 13, -1, 3, 18, 60, 6724, 28, -20, 39, 60, 720, 8, -18, 39, 41, 65, 21, 31584, 13, -1, 2, 22, 1, 13, 0, 17, 52, 35, -1, 4, 13, -1, 4, 18, 60, 6724, 28, -20, 39, 60, 720, 8, -18, 39, 13, -1, 3, 23, 15, 18, 60, 6724, 28, -20, 39, 60, 10620, 28, 1, 39, 18, 60, 6724, 28, -20, 39, 60, 9644, 36, -18, 39, 13, -1, 3, 23, 15, 38, 1, 18, 60, 6724, 28, -20, 39, 60, 10620, 28, 1, 28, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 31593, 46, 13, -1, 77, 60, 2700, 16, -3, 39, 60, 8636, 36, 7, 23, 15, 38, 31615, 56, 27, 0, 21, 32494, 22, 0, 49, 237, 35, -1, 0, 57, 2, 1, 2, 3, 13, -1, 2, 9, 65, 21, 31637, 15, 48, 0, 32, -1, 2, 15, 13, -1, 3, 5, 45, 21, 31674, 60, 10800, 20, 20, 60, 9540, 4, 4, 60, 2628, 16, 17, 22, 2, 60, 10948, 12, -8, 27, 1, 48, 2, 32, -1, 3, 15, 13, -1, 2, 13, 0, 300, 39, 27, 1, 26, 9, 21, 31698, 15, 18, 60, 4436, 24, 19, 39, 38, 0, 33, 26, 21, 31716, 13, -1, 3, 22, 1, 13, 0, 74, 10, 18, 60, 4436, 24, 19, 23, 15, 48, 0, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 23, 15, 13, -1, 2, 13, 0, 293, 39, 27, 0, 24, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 293, 23, 15, 13, -1, 2, 13, 0, 294, 39, 27, 0, 24, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 294, 23, 15, 13, -1, 2, 13, 0, 295, 39, 27, 0, 24, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 295, 23, 15, 13, -1, 2, 13, 0, 296, 39, 27, 0, 24, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 296, 23, 15, 13, -1, 2, 13, 0, 297, 39, 27, 0, 24, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 297, 23, 15, 13, -1, 2, 13, 0, 298, 39, 27, 0, 24, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 298, 23, 15, 13, -1, 2, 13, 0, 299, 39, 22, 1, 60, 10060, 16, 14, 62, 52, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 299, 23, 15, 13, -1, 2, 13, 0, 300, 39, 22, 1, 60, 10060, 16, 14, 62, 52, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, 0, 300, 23, 15, 22, 0, 60, 1548, 8, 19, 62, 60, 2284, 4, 8, 39, 52, 18, 60, 6724, 28, -20, 39, 60, 4736, 16, 16, 23, 15, 22, 0, 18, 60, 7556, 32, -6, 39, 52, 15, 60, 4928, 12, -4, 62, 60, 2792, 8, 2, 39, 22, 1, 18, 60, 1840, 36, 6, 39, 52, 15, 18, 60, 6724, 28, -20, 39, 60, 7372, 16, -3, 39, 27, 0, 26, 21, 32433, 60, 4928, 12, -4, 62, 60, 2792, 8, 2, 39, 22, 1, 17, 10, 35, -1, 4, 13, 0, 216, 60, 168, 12, 21, 13, 0, 298, 22, 3, 13, 0, 216, 60, 4320, 8, 4, 13, 0, 298, 22, 3, 13, 0, 217, 60, 9428, 8, 6, 13, 0, 297, 22, 3, 13, 0, 215, 60, 1796, 24, 8, 13, 0, 296, 22, 3, 13, 0, 215, 60, 6408, 48, -16, 13, 0, 296, 22, 3, 13, 0, 215, 60, 1072, 8, -1, 13, 0, 296, 22, 3, 13, 0, 215, 60, 2412, 32, -21, 13, 0, 296, 22, 3, 13, 0, 213, 60, 2532, 12, -2, 13, 0, 295, 22, 3, 13, 0, 213, 60, 7724, 20, 13, 13, 0, 295, 22, 3, 13, 0, 213, 60, 7848, 20, 5, 13, 0, 295, 22, 3, 13, 0, 214, 60, 8672, 12, 5, 13, 0, 294, 22, 3, 13, 0, 214, 60, 4152, 8, 0, 13, 0, 294, 22, 3, 13, 0, 212, 60, 508, 12, -4, 13, 0, 293, 22, 3, 13, 0, 212, 60, 3152, 12, -9, 13, 0, 293, 22, 3, 13, 0, 211, 60, 1376, 12, 2, 13, 0, 293, 22, 3, 13, 0, 212, 60, 8348, 12, -1, 13, 0, 293, 22, 3, 13, 0, 218, 60, 272, 64, -18, 13, 0, 293, 22, 3, 13, 0, 218, 60, 3048, 24, 16, 13, 0, 293, 22, 3, 13, 0, 218, 60, 7436, 32, 18, 13, 0, 293, 22, 3, 22, 19, 35, -1, 5, 13, -1, 5, 60, 10968, 8, 3, 39, 35, -1, 6, 38, 0, 35, -1, 7, 13, -1, 7, 13, -1, 6, 53, 21, 32419, 13, -1, 5, 13, -1, 7, 39, 35, -1, 8, 13, -1, 8, 38, 1, 39, 35, -1, 9, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 13, -1, 8, 38, 0, 39, 39, 27, 1, 26, 21, 32410, 18, 60, 2928, 24, 17, 39, 13, -1, 9, 22, 2, 13, -1, 8, 38, 2, 39, 52, 35, -1, 10, 27, 1, 13, -1, 10, 13, -1, 9, 22, 3, 13, -1, 4, 60, 7900, 24, 3, 39, 52, 15, 27, 1, 13, -1, 10, 13, -1, 9, 13, -1, 4, 22, 4, 22, 1, 18, 60, 6724, 28, -20, 39, 60, 0, 76, -18, 39, 60, 8340, 8, -3, 39, 52, 15, 2, -1, 7, 0, 15, 27, 0, 21, 32285, 27, 1, 18, 60, 6724, 28, -20, 39, 60, 7372, 16, -3, 23, 15, 27, 1, 18, 60, 6724, 28, -20, 39, 60, 2768, 24, 9, 23, 15, 18, 60, 4436, 24, 19, 39, 21, 32484, 16, 32481, 13, -1, 2, 22, 1, 18, 60, 4436, 24, 19, 39, 60, 7744, 8, -8, 39, 52, 15, 29, 32477, 27, 0, 21, 32484, 35, -1, 11, 60, 1080, 20, 18, 62, 27, 0, 21, 32493, 46, 13, -1, 77, 60, 2700, 16, -3, 39, 60, 7744, 8, -8, 23, 15, 38, 32515, 56, 27, 0, 21, 32714, 22, 0, 49, 238, 35, -1, 0, 57, 0, 1, 18, 60, 5744, 20, 4, 39, 21, 32548, 22, 0, 18, 60, 5744, 20, 4, 39, 60, 2392, 20, 22, 39, 52, 15, 18, 60, 6724, 28, -20, 39, 60, 0, 76, -18, 39, 21, 32690, 18, 60, 6724, 28, -20, 39, 60, 0, 76, -18, 39, 35, -1, 2, 38, 0, 35, -1, 3, 13, -1, 3, 13, -1, 2, 60, 10968, 8, 3, 39, 53, 21, 32676, 13, -1, 2, 13, -1, 3, 39, 38, 0, 39, 35, -1, 4, 13, -1, 2, 13, -1, 3, 39, 38, 1, 39, 35, -1, 5, 13, -1, 2, 13, -1, 3, 39, 38, 2, 39, 35, -1, 6, 13, -1, 2, 13, -1, 3, 39, 38, 3, 39, 35, -1, 7, 13, -1, 7, 13, -1, 6, 13, -1, 5, 22, 3, 13, -1, 4, 60, 1456, 44, 10, 39, 52, 15, 2, -1, 3, 0, 15, 27, 0, 21, 32580, 22, 0, 18, 60, 6724, 28, -20, 39, 60, 0, 76, -18, 23, 15, 27, 0, 18, 60, 6724, 28, -20, 39, 60, 2768, 24, 9, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 32713, 46, 13, -1, 77, 60, 2700, 16, -3, 39, 60, 6104, 8, 9, 23, 15, 38, 32735, 56, 27, 0, 21, 33051, 22, 0, 49, 239, 35, -1, 0, 57, 0, 1, 48, 0, 35, -1, 2, 18, 60, 6724, 28, -20, 39, 60, 596, 24, 7, 39, 22, 1, 60, 1168, 12, 18, 62, 60, 5968, 8, 6, 39, 52, 35, -1, 3, 13, -1, 3, 60, 10968, 8, 3, 39, 35, -1, 4, 38, 0, 35, -1, 5, 13, -1, 5, 13, -1, 4, 53, 21, 32852, 13, -1, 3, 13, -1, 5, 39, 35, -1, 6, 22, 0, 18, 60, 6724, 28, -20, 39, 60, 596, 24, 7, 39, 13, -1, 6, 39, 60, 5676, 12, -2, 39, 52, 13, -1, 2, 13, -1, 6, 23, 15, 2, -1, 5, 0, 15, 27, 0, 21, 32793, 18, 60, 6724, 28, -20, 39, 60, 4736, 16, 16, 39, 22, 0, 18, 60, 4172, 44, 13, 39, 52, 13, -1, 2, 22, 0, 18, 60, 9156, 40, 16, 39, 52, 22, 4, 35, -1, 7, 18, 60, 4436, 24, 19, 39, 21, 33030, 16, 33027, 38, 32906, 56, 27, 0, 21, 32925, 22, 0, 49, 240, 35, -1, 0, 57, 1, 1, 2, 13, 239, 7, 27, 0, 21, 32924, 46, 22, 1, 38, 32934, 56, 27, 0, 21, 32989, 22, 0, 49, 241, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 38, 0, 39, 22, 1, 13, 239, 7, 60, 8340, 8, -3, 39, 52, 15, 13, -1, 2, 38, 1, 39, 22, 1, 13, 239, 7, 60, 8340, 8, -3, 39, 52, 15, 13, 239, 7, 27, 0, 21, 32988, 46, 22, 1, 22, 0, 18, 60, 4436, 24, 19, 39, 60, 5676, 12, -2, 39, 52, 60, 9208, 8, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 27, 0, 21, 33050, 29, 33023, 27, 0, 21, 33030, 35, -1, 8, 13, -1, 7, 22, 1, 60, 9892, 12, -3, 62, 60, 4044, 16, 9, 39, 52, 27, 0, 21, 33050, 46, 13, -1, 77, 60, 2700, 16, -3, 39, 60, 5676, 12, -2, 23, 15, 38, 33072, 56, 27, 0, 21, 33108, 22, 0, 49, 242, 35, -1, 0, 57, 2, 1, 2, 3, 13, -1, 3, 18, 60, 2560, 32, -15, 39, 13, -1, 2, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 33107, 46, 13, -1, 77, 60, 2700, 16, -3, 39, 60, 4856, 12, -10, 23, 15, 38, 33129, 56, 27, 0, 21, 33172, 22, 0, 49, 243, 35, -1, 0, 57, 0, 1, 48, 0, 18, 60, 2560, 32, -15, 23, 15, 48, 0, 18, 60, 6724, 28, -20, 39, 60, 596, 24, 7, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 33171, 46, 13, -1, 77, 60, 2700, 16, -3, 39, 60, 8096, 12, -3, 23, 15, 38, 33193, 56, 27, 0, 21, 33640, 22, 0, 49, 244, 35, -1, 0, 57, 2, 1, 2, 3, 18, 60, 6724, 28, -20, 39, 60, 2768, 24, 9, 39, 27, 0, 26, 21, 33226, 37, 27, 0, 21, 33639, 16, 33610, 38, 10, 13, -1, 2, 22, 2, 60, 1996, 16, 14, 62, 52, 32, -1, 2, 15, 13, -1, 3, 60, 10968, 8, 3, 39, 38, 1, 4, 35, -1, 4, 13, -1, 3, 13, -1, 4, 39, 18, 60, 6724, 28, -20, 39, 60, 4736, 16, 16, 39, 4, 35, -1, 5, 13, -1, 3, 13, -1, 3, 60, 10968, 8, 3, 39, 38, 2, 4, 39, 35, -1, 6, 13, -1, 2, 13, 0, 191, 51, 9, 21, 33317, 15, 13, -1, 2, 13, 0, 192, 53, 21, 33377, 13, -1, 3, 38, 2, 39, 35, -1, 7, 13, -1, 7, 18, 60, 6724, 28, -20, 39, 60, 720, 8, -18, 39, 13, -1, 6, 23, 15, 13, -1, 3, 38, 4, 39, 13, -1, 3, 38, 3, 39, 13, -1, 3, 38, 1, 39, 13, -1, 3, 38, 0, 39, 22, 4, 32, -1, 3, 15, 13, -1, 3, 60, 10968, 8, 3, 39, 38, 1, 4, 32, -1, 4, 15, 13, -1, 3, 13, -1, 4, 39, 18, 60, 6724, 28, -20, 39, 60, 4736, 16, 16, 39, 4, 13, -1, 3, 13, -1, 4, 23, 15, 13, -1, 3, 60, 10968, 8, 3, 39, 38, 2, 4, 35, -1, 8, 18, 60, 6724, 28, -20, 39, 60, 9644, 36, -18, 39, 13, -1, 6, 39, 35, -1, 9, 13, -1, 9, 13, -1, 3, 13, -1, 8, 23, 15, 18, 60, 6724, 28, -20, 39, 60, 720, 8, -18, 39, 13, -1, 6, 39, 35, -1, 10, 13, -1, 10, 65, 21, 33491, 37, 27, 0, 21, 33639, 13, -1, 10, 38, 0, 39, 35, -1, 11, 13, -1, 11, 13, 0, 176, 26, 21, 33514, 37, 27, 0, 21, 33639, 18, 60, 6724, 28, -20, 39, 60, 596, 24, 7, 39, 13, -1, 2, 39, 65, 21, 33574, 18, 60, 6724, 28, -20, 39, 60, 4736, 16, 16, 39, 13, 0, 292, 13, 0, 291, 22, 3, 59, 60, 8864, 24, 7, 39, 10, 18, 60, 6724, 28, -20, 39, 60, 596, 24, 7, 39, 13, -1, 2, 23, 15, 13, -1, 3, 13, -1, 5, 22, 2, 18, 60, 6724, 28, -20, 39, 60, 596, 24, 7, 39, 13, -1, 2, 39, 60, 8340, 8, -3, 39, 52, 15, 29, 33606, 27, 0, 21, 33630, 35, -1, 12, 13, -1, 12, 60, 4004, 24, 15, 22, 2, 59, 60, 9872, 20, -2, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 33639, 46, 13, -1, 77, 60, 2700, 16, -3, 39, 60, 2928, 24, 17, 23, 15, 38, 33661, 56, 27, 0, 21, 33699, 22, 0, 49, 245, 35, -1, 0, 57, 2, 1, 2, 3, 13, -1, 3, 13, -1, 2, 22, 2, 18, 60, 2928, 24, 17, 39, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 33698, 46, 13, -1, 77, 60, 2700, 16, -3, 39, 60, 776, 44, -13, 23, 15, 38, 33720, 56, 27, 0, 21, 33901, 22, 0, 49, 246, 35, -1, 0, 57, 0, 1, 38, 0, 35, -1, 2, 18, 60, 6724, 28, -20, 39, 60, 7744, 8, -8, 39, 35, -1, 3, 13, -1, 3, 13, 0, 293, 39, 21, 33767, 38, 1, 38, 0, 14, 42, -1, 2, 15, 13, -1, 3, 13, 0, 294, 39, 21, 33785, 38, 1, 38, 1, 14, 42, -1, 2, 15, 13, -1, 3, 13, 0, 295, 39, 21, 33803, 38, 1, 38, 2, 14, 42, -1, 2, 15, 13, -1, 3, 13, 0, 296, 39, 21, 33821, 38, 1, 38, 3, 14, 42, -1, 2, 15, 13, -1, 3, 13, 0, 297, 39, 21, 33839, 38, 1, 38, 4, 14, 42, -1, 2, 15, 13, -1, 3, 13, 0, 298, 39, 21, 33857, 38, 1, 38, 5, 14, 42, -1, 2, 15, 13, -1, 3, 13, 0, 299, 39, 21, 33875, 38, 1, 38, 6, 14, 42, -1, 2, 15, 13, -1, 3, 13, 0, 300, 39, 21, 33893, 38, 1, 38, 7, 14, 42, -1, 2, 15, 13, -1, 2, 27, 0, 21, 33900, 46, 13, -1, 77, 60, 2700, 16, -3, 39, 60, 9156, 40, 16, 23, 15, 22, 0, 13, -1, 77, 10, 35, -1, 303, 38, 33931, 56, 27, 0, 21, 33961, 22, 0, 49, 247, 35, -1, 0, 57, 0, 1, 38, 0, 33, 18, 60, 3308, 12, -5, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 33960, 46, 13, -1, 78, 60, 2700, 16, -3, 39, 60, 8600, 20, 8, 23, 15, 38, 33982, 56, 27, 0, 21, 34013, 22, 0, 49, 248, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 18, 60, 3308, 12, -5, 23, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 34012, 46, 13, -1, 78, 60, 2700, 16, -3, 39, 60, 3540, 40, -13, 23, 15, 38, 34034, 56, 27, 0, 21, 34055, 22, 0, 49, 249, 35, -1, 0, 57, 0, 1, 18, 60, 3308, 12, -5, 39, 27, 0, 21, 34054, 46, 13, -1, 78, 60, 2700, 16, -3, 39, 60, 5676, 12, -2, 23, 15, 13, -1, 78, 35, -1, 304, 22, 0, 13, -1, 304, 10, 35, -1, 305, 38, 34091, 56, 27, 0, 21, 34363, 22, 0, 49, 250, 15, 57, 2, 0, 1, 2, 13, -1, 2, 38, 0, 33, 26, 21, 34116, 38, 0, 32, -1, 2, 15, 38, 3735928559, 13, -1, 2, 61, 35, -1, 3, 38, 1103547991, 13, -1, 2, 61, 35, -1, 4, 60, 2760, 8, 16, 62, 60, 7208, 8, 8, 39, 35, -1, 5, 13, -1, 1, 22, 1, 13, -1, 1, 60, 7216, 36, -19, 39, 60, 10200, 16, -18, 39, 52, 35, -1, 6, 13, -1, 1, 60, 10968, 8, 3, 39, 35, -1, 7, 38, 0, 35, -1, 8, 13, -1, 8, 13, -1, 7, 53, 21, 34254, 13, -1, 8, 22, 1, 13, -1, 6, 52, 32, -1, 9, 15, 38, 2654435761, 13, -1, 3, 13, -1, 9, 61, 22, 2, 13, -1, 5, 52, 32, -1, 3, 15, 38, 1597334677, 13, -1, 4, 13, -1, 9, 61, 22, 2, 13, -1, 5, 52, 32, -1, 4, 15, 2, -1, 8, 0, 15, 27, 0, 21, 34185, 38, 2246822507, 13, -1, 3, 13, -1, 3, 38, 16, 7, 61, 22, 2, 13, -1, 5, 52, 32, -1, 3, 15, 38, 3266489909, 13, -1, 4, 13, -1, 4, 38, 13, 7, 61, 22, 2, 13, -1, 5, 52, 47, -1, 3, 15, 38, 2246822507, 13, -1, 4, 13, -1, 4, 38, 16, 7, 61, 22, 2, 13, -1, 5, 52, 32, -1, 4, 15, 38, 3266489909, 13, -1, 3, 13, -1, 3, 38, 13, 7, 61, 22, 2, 13, -1, 5, 52, 47, -1, 4, 15, 38, 4294967296, 38, 2097151, 13, -1, 4, 20, 25, 13, -1, 3, 38, 0, 7, 58, 27, 0, 21, 34362, 46, 35, -1, 306, 60, 5376, 284, 19, 38, 1, 19, 38, 1, 19, 38, 1, 19, 22, 0, 13, -1, 83, 52, 38, 1, 19, 22, 0, 13, -1, 81, 52, 22, 0, 13, -1, 80, 52, 22, 8, 35, -1, 307, 38, 34412, 56, 27, 0, 21, 34427, 22, 0, 49, 251, 15, 57, 0, 0, 22, 0, 13, 0, 86, 52, 46, 38, 34434, 56, 27, 0, 21, 34449, 22, 0, 49, 252, 15, 57, 0, 0, 22, 0, 13, 0, 85, 52, 46, 38, 34456, 56, 27, 0, 21, 34471, 22, 0, 49, 253, 15, 57, 0, 0, 22, 0, 13, 0, 84, 52, 46, 5, 38, 34479, 56, 27, 0, 21, 34494, 22, 0, 49, 254, 15, 57, 0, 0, 22, 0, 13, 0, 82, 52, 46, 5, 5, 22, 7, 35, -1, 308, 13, -1, 89, 13, -1, 91, 13, -1, 90, 13, -1, 88, 13, -1, 87, 22, 5, 35, -1, 309, 13, -1, 98, 13, -1, 100, 13, -1, 99, 13, -1, 97, 13, -1, 96, 13, -1, 95, 13, -1, 94, 13, -1, 93, 13, -1, 92, 22, 9, 35, -1, 310, 13, -1, 102, 13, -1, 106, 13, -1, 105, 13, -1, 103, 13, -1, 104, 13, -1, 101, 22, 6, 35, -1, 311, 13, -1, 311, 22, 1, 13, -1, 310, 22, 1, 13, -1, 309, 60, 1772, 12, -7, 39, 52, 60, 1772, 12, -7, 39, 52, 35, -1, 312, 38, 34611, 56, 27, 0, 21, 34749, 22, 0, 49, 255, 35, -1, 0, 57, 1, 1, 2, 22, 0, 35, -1, 3, 13, -1, 2, 60, 976, 8, 7, 39, 35, -1, 4, 38, 0, 35, -1, 5, 13, -1, 5, 13, 0, 312, 60, 10968, 8, 3, 39, 53, 21, 34726, 16, 34705, 22, 0, 13, 0, 312, 13, -1, 5, 39, 52, 35, -1, 6, 13, -1, 6, 31, 60, 1080, 20, 18, 26, 21, 34688, 5, 27, 0, 21, 34691, 13, -1, 6, 13, -1, 3, 13, -1, 5, 23, 15, 29, 34701, 27, 0, 21, 34717, 35, -1, 7, 5, 13, -1, 3, 13, -1, 5, 23, 15, 2, -1, 5, 0, 15, 27, 0, 21, 34643, 13, -1, 4, 22, 1, 13, -1, 3, 60, 8340, 8, -3, 39, 52, 15, 13, -1, 3, 27, 0, 21, 34748, 46, 13, -1, 107, 60, 2700, 16, -3, 39, 60, 9216, 68, -19, 23, 15, 38, 34770, 56, 27, 0, 21, 34830, 22, 0, 49, 256, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 22, 1, 18, 60, 9216, 68, -19, 39, 52, 35, -1, 3, 60, 9308, 20, 14, 13, -1, 3, 22, 1, 60, 6376, 8, 6, 62, 60, 11024, 12, -1, 39, 52, 22, 2, 11, 60, 564, 32, 9, 39, 52, 27, 0, 21, 34829, 46, 13, -1, 107, 60, 2700, 16, -3, 39, 60, 4588, 24, -15, 23, 15, 38, 34851, 56, 27, 0, 21, 34934, 22, 0, 49, 257, 35, -1, 0, 57, 1, 1, 2, 18, 35, -1, 3, 38, 34873, 56, 27, 0, 21, 34909, 22, 0, 49, 258, 35, -1, 0, 57, 1, 1, 2, 13, 257, 3, 60, 7656, 24, 10, 39, 13, -1, 2, 22, 2, 11, 60, 9412, 16, -3, 39, 52, 27, 0, 21, 34908, 46, 22, 1, 13, -1, 2, 22, 1, 18, 60, 4588, 24, -15, 39, 52, 60, 9208, 8, 17, 39, 52, 27, 0, 21, 34933, 46, 13, -1, 107, 60, 2700, 16, -3, 39, 60, 520, 20, 19, 23, 15, 38, 34955, 56, 27, 0, 21, 35216, 22, 0, 49, 259, 35, -1, 0, 57, 1, 1, 2, 18, 35, -1, 3, 38, 34977, 56, 27, 0, 21, 35203, 22, 0, 49, 260, 35, -1, 0, 57, 2, 1, 2, 3, 16, 35180, 13, 259, 2, 60, 1680, 8, -9, 39, 65, 21, 35015, 5, 22, 1, 13, -1, 2, 52, 15, 37, 27, 0, 21, 35202, 13, 259, 2, 60, 1968, 8, -3, 39, 31, 60, 3580, 8, 3, 26, 21, 35051, 13, 259, 2, 60, 1968, 8, -3, 39, 22, 1, 13, -1, 2, 52, 15, 37, 27, 0, 21, 35202, 38, 35058, 56, 27, 0, 21, 35105, 22, 0, 49, 261, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 60, 1680, 8, -9, 22, 2, 11, 60, 9872, 20, -2, 39, 52, 15, 38, 0, 22, 1, 13, 260, 2, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 35104, 46, 22, 1, 38, 35114, 56, 27, 0, 21, 35145, 22, 0, 49, 262, 35, -1, 0, 57, 1, 1, 2, 13, -1, 2, 22, 1, 13, 260, 2, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 35144, 46, 22, 1, 13, 259, 2, 22, 1, 13, 259, 3, 60, 520, 20, 19, 39, 52, 60, 9208, 8, 17, 39, 52, 60, 7508, 12, -9, 39, 52, 15, 29, 35176, 27, 0, 21, 35193, 35, -1, 4, 13, -1, 4, 22, 1, 13, -1, 3, 52, 15, 60, 1080, 20, 18, 62, 27, 0, 21, 35202, 46, 22, 1, 60, 9892, 12, -3, 62, 10, 27, 0, 21, 35215, 46, 13, -1, 107, 60, 2700, 16, -3, 39, 60, 5080, 56, -18, 23, 15, 13, -1, 107, 35, -1, 313, 22, 0, 13, -1, 313, 10, 35, -1, 314, 48, 0, 38, 0, 33, 22, 0, 22, 3, 35, -1, 315, 5, 35, -1, 316, 60, 3336, 16, 6, 60, 996, 20, -6, 60, 3132, 20, 7, 60, 9368, 12, 13, 60, 7636, 20, 5, 60, 7060, 12, 2, 60, 4216, 12, 2, 60, 3776, 12, -19, 22, 8, 35, -1, 317, 22, 0, 35, -1, 318, 13, -1, 305, 60, 9540, 4, 4, 6, 13, -1, 303, 60, 11036, 4, 4, 6, 13, -1, 120, 60, 10492, 36, -13, 6, 13, -1, 314, 60, 1680, 8, -9, 6, 13, -1, 121, 60, 4460, 4, 16, 6, 13, -1, 165, 60, 1588, 4, 6, 6, 13, -1, 120, 60, 7032, 8, -16, 6, 13, -1, 122, 60, 8452, 4, -5, 6, 13, -1, 123, 60, 3768, 8, -2, 6],
_Kdj9u1: atob("ZDM1M0pUZEdkeVZETWlVNE1DVkRNaVU0TmlVMVJTVTNRaVZETWlVNE5TVkRNaVU0Tm5jbFF6SWxPREIzSlVNeUpUZzBKVU15SlRnMVdHNW5iRzVwYVdocmJTVTFSU1UxUkE9PWVXMXFjbW89V2xoall3PT1SMmdsTlVRbE5VVT1aMlYwUlc1MGNtbGxjMEo1Vkhsd1pRPT1XU1UxUlZSVmFDVXpSbFk9SlRWQ1RDVTFSVjlRZEdaaWMyUnBaMlJLTm1OcU5pVkRNaVU0TTJZbFF6SWxPRFFsTTBRMVFTVkRNaVU0TmkwPVptdG9abTVsY2lVM1FnPT1aRmRqSlRWQ1RXSk5WVmhEVlZBbE5qQlVKVU15SlRneUpVTXlKVGd4SlRkQ0pVTXlKVGd3SlVNeUpUZzJkeVZETWlVNE5DVkRNaVU0TnlWRE1pVTRNZz09VGc9PVgyMD1aRzFtYzJseGFsaDVkSGRtYkdwS0pUZENhbk41Y1d4dGRpVTNRM0Z1Y1cxNmNIb2xOMFo2SlVNeUpUZzFKVFZDWWlVMVFtTWxOVUprYW5Wa1pWb2xOVUk9ZUdwb2RITnBabmQrVldnbE5VSmlaVmRhSlROR1pFWm9aU1UxUkdnbE5VSnBhUT09ZW14bmQycz1ZblpwWldkNE1YZHBjR2xuZURFPWFHWndaM0J0WjI4PVRGUlNZVEFsTTBZMkpUVkNVVkpsVlZwVEpUWXdXVmRXUm1GblZWcFhaUT09SlRWRkpUVkRaU1UxUTJsWWF5VTFReVV6UmlVMVEyOD1iV0ptSlRWRkpUTkNibDlmSlRWRmEydz1hbTFrWW1ScFkzSjVjSFJ2WW1WWlYycGZaV1E9U0dsd2FYaHBlWFlsUXpJbE9EbDJRaVZETWlVNE9Yb2xReklsT0RnbFF6SWxPRGxDZm5rPUpVTXlKVGczY1NWRE1pVTRNbjQ9ZUNVM1JnPT1KVFZFV20xYUpUSTJKVFZGYjIxbFdpVTFRaVUxUldVPVozaG5jSFpGY1hGMFpuVT1KVGRFSlVNeUpUZ3lKVU15SlRnd2RWSWxReklsT0ROeUpUZENKVU15SlRneFkxWmlabFprWlNVelFWVWxOVVJXTkZJbE5VUWxOVVJUVWxRbE5VTT1KVFZFY1Y5MFkwWmZiR0pxWXc9PVVBPT1LZz09YVhoeEpUVkRXbkVwZWxweEtTVXlNZz09ZVd3bFF6SWxPREYwY213bE4wWjZKVGRFSlRKQ2RYSnZhQT09Y1NVM1JDVTNRbkFsTjBSd0pUZEVKVU15SlRnMkpUVkRhMWhzY0dsbWFXcHlhUT09Tm1nbE0wSnFPU1V6UVNVelFUYz1abUpuWTJSZllsRlhWUT09WkdaNmVYUklablY1ZW5kcVNIUnphMjVzSlRkQ2FpVkRNaVU0TUE9PVkyMTJjdz09WXlVMVExSlRWRmNsTlVOVFVnPT1UVmhZSlRZd0pUVkZiVTFpWmlVMVJYTm9aeVUxUlVoZlgyd2xOVVZ0ZFNWRE1pVTROaVUzUkhWQmNHMGxReklsT0RCeEpUTkVVRmhUVVdJPWNuTm9hVmdsTjBSMGFRPT1kR1oxU25WbWJnPT1KVEU1SlRFNUpURTVKVEU1ZW0xMGQybHNZMmtsTWtaR1FXTnJKVU15SlRneU9ETWxNMEVsUXpJbE9EUmpOVEFsUXpJbE9ESWxNMEVsUXpJbE9EUmpheVZETWlVNE1qZ3pKVE5CSlVNeUpUZzBZMms9Y0E9PWFXaHBiRzFhYlNVMVJRPT1jV1JzWjJWMlZsUmpKVE5EVkZBbE5VUWxNMFpVWVZnbE5VVlRhMjF6Y1dOcmJYUmpKVU15SlRnMGRTVkRNaVU0T0NWRE1pVTROSEVsUXpJbE9ESjFjUT09SlRkRGNTVTNRM1J0YWlVMVFtST1jbVZoWkE9PWFDVTFRbU5sYkNVMVFpVXpRbXdsTlVKa2FrSmZhV29sTlVKa0pUVkNhQT09YkhGemVIY2xNa1lsTWpOMmFHOW9abmNsTWtZbE1qTjNhQ1UzUW5ka2RXaGtaMm89TVU1aFVnPT1kdz09Y1NWRE1pVTRNbmx4SlRORUpUZERjWEoxSlRkRFp3PT1WaVUxUTJWYWFYQm5hdz09SlVNeUpUZzNlQ1ZETWlVNFFpVkRNaVU0TjNVbFF6SWxPRElsUXpJbE9FST1YMlJaWW10YUpUVkNhUT09V0c1WVlTVTFSVmc9YkNVM1FnPT1KVU15SlRoRmFHTkhhR1lsTlVSaUpUVkNlaVZETWlVNE5DVXpSWEowSlVNeUpUZzFlaVZETWlVNE4zWT1KVFZDZGlVM1EycHZUQ1UzUkd4MUpUZENhbloxYW1nbE4wST1abWh1YkNVMVJRPT1aV2R0YXlVMVJHUWxOVVJaYmlVMVJBPT1WMUVsTlVRbE5VTT1jM2RwZEdOb2FpVTFRbXh0WDBoZmNTVTBNR2xzWnlVelJtWmZaMTlvYm0wPUpVTXlKVGd4SlVNeUpUZzFkU1ZETWlVNE1pVkRNaVU0T1dOMUpUZERkWE1sUXpJbE9EUWxOMFlsUXpJbE9ESlJKVGRESlRkRFlXY3pKVU15SlRnd1J6TWxOakJqWm5WaWJBPT1aR05uYUVGWloyZFZKVFZDV1E9PVlsTmtaVmNsTTBJbE5qQm1KVEZCTVNVeVExQnVUVkFsTWpJbE1VWWxNa0pQSlRGQ0pURkJKVEZCTVNVeVEwNGxNVVJOSlRJeUpURkdKVEpDVDIwbE1qTWxNVVVsTWpWdlRTVXhSaVV5TUU1bFR6RWxNVUl4SlRGQk1TVXlRMDRsTVVFeFRTVXlNaVV4UmlVeVFrOXRKVEkxYjA0bE1VSXhUU1V4UmlVeU1FNWxUekVsTVVJeFRTVXlNaVV4UmlVeVFrOXRKVEkxYjAwbE1VWWxNakJPWlU4eFRTVXlNaVV4UmlVeVFrOXRKVEkyYnlVeFFpVXhRVEVsTVROTkpUSXlKVEZHSlRKQ1R5VXhRZz09Y0NVM1JDVkRNaVU0TUhKMVptZHZNalpFSlRGRk9EUWxNMFU9Y25kM2JpVTNRaVUxUkc0bFF6SWxPREVsTjBRPWRpVTNRM0VsUXpJbE9EUT1iMndsTjBac09Hd2xReklsT0RBbE4wWjZlR3dsTjBaMGVuazRkRzg9ZEE9PVRsTWxOVVJOV1ZoWVQwMGxOVVU9SlRkQ0pVTXlKVGcwZUNWRE1pVTRRU1ZETWlVNE9BPT1PV0pvV1dZPVMycHNkQ1UzUTNscWJHND1WRTFmVkE9PVdsZHFWeVV5TXc9PUpVTXlKVGd5SlRkQ0pVTXlKVGhCZDM1V2R5VkRNaVU0TWlWRE1pVTRObm89ZG5GM1pXcG5jR1k9YWlVMVJHc2xOVVJzSlRJMmJpVTNRM0FsTjBSNGRYUWxReklsT0RJbFF6SWxPRE09SlVNeUpUZ3dKVGRFZDB4M2Qzb2xReklsT0RKWGRINGxOMFk9VVdSall5VTFSU1UxUkE9PUpUZEViaVUzUXlVM1JBPT1kWGhzYW5VbE5VTWxOMFI0SlRkQ2FuQnVUa3NsTlVWTEpURTNWVTlqYzNWeWQzSjNKVGREYzJnPWFYUWxOME5UYlNWRE1pVTRNUT09Ym5OMGQyOVhkSDRsTjBZPVozUjBjWFE9SlRORVVXUllhU1UxUTFwbWFTVTFRaVUyTUdVbE5VVT1KVFl3YldKM1VtTjJja0pqWVcxaVkzQT1iV0pwVmc9PWNuUmhjMnRrWkd0emFHdDRNdz09YmlVMVJTZz1ZbFVsTmpBbE5VTlJVMVU9WW1saWFtSnJjVkJpYVdJbE5qQnhiRzg9YTI0PVlrZzBZV1E9V1dWaVpXZ2xNMEVsTlVKbWFpVTFSUT09VG1GVVVpVTFSV0ZUTkdWVUpUVkVZdz09ZDNRbFF6SWxPRGQwSlRRd0pVTXlKVGczZUNWRE1pVTROaVZETWlVNE55VTNRM2M9ZFdzPWJ5VTNRblVsUXpJbE9Ea2xOVVJ4SlVNeUpUZzBkU1ZETWlVNE1ubHhKVGRESlRZd1gxa2xOVVZrVldJbE5VUmZabFU9SlRWRVlpVTJNRlVsTkRCaFRtRlNKVE5EYjNWQkpVTXlKVGhGUkVGTmNTVXpSQ1V6UTI5VlFXNXhKVE5FTVNrbE1rWWxOVU1xWDE4bE1rTT1kbmgrSlRkRGJuNTVaM055ZUdWdGNtbDJkU1ZETWlVNE9DVTNRbmQ2SlVNeUpUaEdlSHB0SlRkQ0pUZENKVGRFZW0wPVV5VTFRMWxWSlRWRlpFZz1iSFpYZFhoMmQyaG5ZVkk9VHlVMk1GVWxOVVZVV1NVMVJWY2xOREJpWHlVMVJGbGpWV009VG1GaFgxWlBZbUZTSlRZd2JRPT1abk40SlRkRGFuZDRhVmxvSlRWQ0pUVkNaRTQ9SlRWQ0tpb2xOakF4S2lvdGJFRWxNMFZLY2lVelJYZHVKVU15SlRoRFNTVkRNaVU0UlNVelJXeEJKVE5GU25JbE0wVjNiaVZETWlVNFEwVWxReklsT0VVPWNTVkRNaVU0T0NVME1BPT1WRkpmVkZZbE5VUWxNMEZWSlRWRVZqUlNKVFZFSlRWRVUxSlVKVFZEYzNaeWVYRT1WV0ZhV1ZZbE4wSWxOMFFsUXpJbE9ESWxReklsT0RGU2VYSjZjaVUzUWlWRE1pVTRNUT09SlVNeUpUZ3dKVU15SlRneEpUZERKVGRHY2xGdUpVTXlKVGd4Ymc9PWEzSnFYMkp2WWxab0pUWXdObUZoU1ZwdGFRPT1lVU1sUXpJbE9FRWxOMFlsUXpJbE9ETWxOMEk9WDFkaFdDVXhPQ1UxUlNVMk1FMVlWRjhsTVRoZldnPT1ZeVV5UmlVeVJqVXlNR013SlRORkpUTkZVMlJUSlRWRFlnPT1WaVUyTUNVMVJGa2xOVU5rSlRWRWEydHRZU1V5TlE9PVpnPT1iWEYxSlRkQ0pUZERjWEpqYm5rbFF6SWxPREp5ZFhaamRIWT1SMGxHZFV4RVNuZz1kRzhsTlVWdGJXSnZaekZJUTJScU5pVkRNaVU0TTJaa2FqWWxReklsT0RNNU5rSTBOelptTTBObE9HVTRKVU15SlRnMVpUaGxPQ1ZETWlVNE5XVTRKVU15SlRnMUpUSkRKVU15SlRnMVpVZ2xReklsT0RWa2FqWWxReklsT0RNNU5rSTNhRFptTkdVNFpHZGxKVGREWmpNeUpUZENlSFJ4SlRkREpUZERlSDRsTjBKc2JnPT1YMW89SlRWQ1lXb2xOVUlsTTBGdEpUVkZKVFZGU0cxckpUWXdNeVV6UVNVelJTVTJNR1ZhSlRZd1h3PT1kbWR0YTE4PVlWcFhVVk09YVNVMVEycG1ZMjBsTlVNPVVWVmtWMU5tVnpkb1Z5VTJNR1lsTTBVbE5VSmxabGNsTmpCWFpHVT1KVU15SlRnelJGZFpOMnBpVXlVeFJnPT1hbk53YW5JPUpURkJKVFZFYVZoa0pUVkROQT09YTJWNWRYQT1SbWRsSlRWRFlWbz1XbGhuT1NVMk1FWm5WR2RZU2lVMVEyY2xOVUlsTTBOaFZ5VTFRMVpZWmc9PU1ESmpZaTR1TkRJPUpUVkVabWxrV21abGEybG1ZMlZZWkNVMVF3PT1KVEZDSlRGQ0pURTJSeVV5UTFWUUtTVXdSUT09SlVNeUpUZ3djeVZETWlVNE5IWWxReklsT0RNbFF6SWxPRGQyWDJ0c2RRPT1Rdz09YjJndWRtOTFjSFprYVdabGEyUjJSSGQzZFd4bGVIZG9iUT09SlRkRGRINTFOV3QzZEhSdGF5VTNRelZ0ZW5wM2VnPT1XRlZvVlNGWGJRPT1XQzBxTmlVMVJTcGpXbmcxS1hvPUpUZEVKVFZDVG1OV1ZFNWhWaVUxUXlVMVFnPT1WQT09VWlVMVJHRlpVZz09SlVNeUpUZzBKVU15SlRnNUpVTXlKVGd3ZFE9PWZuY2xNMFFsUXpJbE9EQWxReklsT0RKNUpVTXlKVGd6SlVNeUpUZzBlWDUxYldkemMyYz1ZMVJsV0dGbk9GOVlKVFl3V0dGbmJtY3RkbUZzYVdRPWJuWjBKVU15SlRnelYzQWxReklsT0RKM2FtZDZaM2xyZWc9PVNpVTFSVTFRVldRbE1Uaz1KVU15SlRnMkpVTXlKVGd6SlRkRVV5VTNSQ1ZETWlVNE1IUWxOME1sTlVSNkpVTXlKVGcwSlVNeUpUZzFkeVZETWlVNE5DVkRNaVU0TkNWRE1pVTRNWHAySlVNeUpUZ3pZbFZUWDJKVVJGa2xOVVJWVUZKU1ZDVTFRbFJoVUdOWUpUVkZKVFZFVlZobGEyUmFPV0pmV1dFbE0wVlhaRnBpSlRWQ2FBPT1iM1FsTjBNPWJuQjFhbkJ2VDB4ZlRBPT1aeVUxUW5KT2FXOGxOVVJpU21samFHNXRKVGRFYjM1T2EzNXJmbllsUXpJbE9EQjNOMjEyYkE9PVpsTmtXVmRtYnlVMVJTVTJNR0k9YldWdlppVXlOaVUxUTJVbE5VTT1hSE5uZVhGcGNuZz1ObU5qSlRZd1l3PT1WMVZrTTE5UkpUVkRWV05UVlZRMVpsVWxOVVZrWXc9PUpUZEdjU1ZETWlVNE1DVTJNSFY1Y1NVM1FpVkRNaVU0TVNWRE1pVTRNQT09V1Y5eFltbFpYdz09WTFOaVZWVWxOVVZKVGxJbE5VSllVbG8zVUNVMVJGTWxOVUpVWVE9PUpVTXlKVGd5SlVNeUpUZzBKVU15SlRneGRYY2xReklsT0RVbFF6SWxPRFVsTlVJbE4wWnplWGM9VWs5aVR5VXhRbEpRSlRGQ1R5VTFRMDlhWjJKWFVXRWxNVUlsTlVOUEpUVkNVdz09SlRWRmIyd2xOVUp1WTJsb0pUZEViM1p2Ylg1emVYZ2xOVVIrYXlVM1EzND1kV1ozYW5ONVZ5VTFSRzRsTlVSbWJHdExiR2RxV1Y4bE5VUT1KVFZGY1d4ZlpHRm1Zdz09VFZjbE5VSWxOVVVsTlVRbE5qQmlPVk5uSlROR1psOW5YMmh1V0NVMVJGWmhZVnBqSlRWRFdnPT1VVmRRSlRJMUpUSXlMbEp3SlRKQ0lYSlJWdz09YjJobEpUWXdZVzQ9SlRJMkpUTkNNU1V4UmlVeU1qTm5OU1UxUkdZbE1qVlNRaVV4UmxJbE1VVWxNa1pHUnlVMVJTNUdORkppSVNVeFJWTTBKVEU0VWw5VE1XY3VKVE5EWXk0bE0wUTBaaVV5Tmw5UFZpVXlOVE0zSlRJMEpUVkNWQ1V5Tmw5VE5qUlhNU1UyTUNVeFJqTlZZU1V5TkdOUlpFYzRaVmtsTWpKVVZTVXpReVV5TTBFbE0wUmlSVUZPSlRJMkpURTRVR00zVGlVeU5pVTBNQ0VsTWpWVFgwZENVbVU1UXlVeU5GQWxNakFsTWtaWlFTVXpSbWNsTWpZelFVRWxNVVlsTTBZMlJDVTFRMlZPSlRZd1VqSmtKVEZHSlRKR1pVOD1KVFZGVFZwUUpUVkNXUT09YVdkMlJtTjJZdz09SlVNeUpUZ3hkQ1UzUTM0bFF6SWxPRFYwV0NWRE1pVTRNM1FsTjBNPWNIRWxOVVZ2Y1ZGbWFtST1KVFZDYXlVMVJXOWhibkpoYmc9PVUxZG1XVlZvV1VKVmFpVTFSQ1UxUWxWb0pUVkVZMklsTkRBbE5VUm5hRmxpV1dabmFTVTFRMmhzSlRZd2FTVTFReVUxUWc9PWNHOGxOakE9YnlVM1FuVWxReklsT0RrPWNXWnpaM0J6Ym1KdlpHWT1KVEV3SlRGRVN5VXhNQ1V4UlE9PUpUZERiU1ZETWlVNE1IUjZiWGx4WWw5bE1YNWhKVGRHTnpBM05DVkRNaVU0TVNnPUpUVkVVV1JUV0ZWakpUTkdjSEJmZHc9PVpWOXpiUT09UlVORlEwVk5TMFE9SlRZd1RWTWxNMEZOV1ZFPUpUZERibk5wZENVM1F5VTFSUT09VFdGakpUVkZKVFZGSlRWRUpUWXdZalJhVDFVPWNTVTNSQ1UzUXlWRE1pVTRNbk1sTjBNbFF6SWxPREpsZHlVM1EzSWxOMFFsUXpJbE9EVT1hbXRtWnc9PVpTVTFSU1V5TkdSbUpUVkNKVFZEWXc9PWNuRWxReklsT0RJPVVDVXlSbFJTY0hOekpVTXlKVGcwSlVNeUpUZzBlZz09SlRkRWVDVkRNaVU0TUhrPVUxUWxOVVZmV2lVMVJHUT1YMlZmWjM0MEpUSkdOU1ZETWlVNE1DVTFSVEF5SlRZd1gyZCtOQ1V5UmpVbFF6SWxPREFsTlVVd01pVTJNRjluZmpVbE1rWTNKVU15SlRnd1gyVT1XRzFhSlRWQ1FpVTFSQT09SlRZd1luTm9kV1E9WTJ4aGNIZHVjZz09ZUhFM2JuTWxOME4rSlVNeUpUZ3pkU1UzUmpsd2RTVTNSbTF1ZUhGd1JFMUpTQT09UlZOUFdTVXpRazhsTlVVPUxTMHRMUzB0SlRkRUpUZEdKVU15SlRnMUpVTXlKVGd6ZFhWK0pVTXlKVGcwZFNWRE1pVTRNZz09SlVNeUpUaERRU1ZETWlVNE1TVkRNaVU0TTNoNUpVTXlKVGd3YUZwaFdsaHBKVFZGWkdNbE0wRmpXUT09WkhJPWFtdHBlQ1UzUm5aNkpUVkVhMk53WldOQ1gzSmZaMmxXWVNVMVJHZz1hM0J0SlVNeUpUZ3diUT09Y1c5K0pUVkRhM2h1ZVhjbE5qQnJkaVUzUm04bE4wUT1iRjlxWmlVMVFpVTFSRjlOYmlVMVFtNWZKVFZFSlRWQ2FpVXpSbW9sTlVKamMyVnNaV04wYW5aMUpUZENiSFVsTjBKc2EzQWxOMEpvYVhOc1ppVTFSV2hmSlRGR1pXZFVYeVUxUW1ZbE1VWlhaR1JoWkE9PUpVTXlKVGczSlVNeUpUZzRkU1ZETWlVNE9Iaz1KVU15SlRneUpUZEVKVU15SlRnemNYWnpKVU15SlRneFZ5VTJNR01sTlVVbE1VVlVKVFl3WDJWakpUWXdKVFZFSlRFMmEyd2xOMFJ3YW14WGNDVTNSbXh6V1dnbE4wSndkZz09UXc9PWNYZHdWa0p2ZGtJbFF6SWxPRVpGUWs1RGRDVXpRU1UwTUVKeUpUUXdWWEJXUW05MlFpVkRNaVU0UmtWQ1RrTkNjaVUwTUhGRGNGWkNieVZETWlVNU1YWkNKVU15SlRoR2NpVkRNaVU1TUVkQkpVTXlKVGt5Y1hjPVpta2xOVVFsTlVKbVh3PT1KVEZDSlROQ1J5VTBNQ1V6UmtkWWEyYzBaVmhVT0Y5WUpUWXdXR0ZuSlVNeUpUZ3pZMndsTmpCeWNDcHpabkJtWDJsaVkyRTBNVFV6TWpRPUpVTXlKVGd5Zm5OMWQzb2xReklsT0RGK2RuY2xReklsT0RRPUtRPT1iaVUyTUE9PVRFa2xNa1lsTVVKSVR5VXhRbWdsTVVVbE1VSW5KVEU1SlRGRVN5VXhPU1V5UW1rbE1VVWxNVUVsTWpCckpURXlZMU09YkcxK2NXdHRkWGNsTjBOeGQzWT1ZV1Z0WkE9PWRpVTNRblFsUXpJbE9EVldKVU15SlRneWQzaFVKVU15SlRnM0p5VXhSaUVsTVVZPWMyNXNKVGRDSlRkR2JuTnNKVGRHSlVNeUpUaERabU4yWXlVeVJuWm5kWFk9Y3lVM1EzbDFmaVZETWlVNE5Haz1iRzFyZDJ4dFZWQk9KVFZFVEdKWFRGST1aWGR4WkZsbVgyMVpYeVUxUkdzPWJIRnNkMVZvWm5KMVp3PT1aVmhtWWw5cFdGZENZMmNsTlVOaVlXWT1ZeVUyTUZrbE5VVlNaV1JrWHlVMVJRPT1KVFZGSlRWRVZ5VTFRMkpUSlRZd1VpVTFSR1VsTlVNPVEyRndjMHh2WTJzPWVTVkRNaVU0TW5jbFF6SWxPRGtsUXpJbE9Eaz1iR29sTjBSc2NRPT1aMllsTmpCbGF5VTFRMmtsTkRBbE5VST1aRzF3UTE5aFpnPT1iM1J2ZWxNbE4wSjZaM3B2ZFhSVmFIbHJlQ1UzUTJ0NFNVWWxNVUlsTVRnbE1qUk1KVEU0VVVobUpUSXpKVEUzYUNVd1JnPT1UMk5SWmxVPU5ETXpMaVUxUkNVeVF6TWxOVVE9U2tWS04wSlZKVE5HUXpjbE0wUWxNMEpKVkdWNGRFVnVZMjlrWlhJPUpUVkNaMlpyYkdwdEpUVkNiQT09SlRFeFRBPT1aMkpvVmlVMVFpVTJNR0pwV0E9PWVtMXJkM3BzVjJGVVZRPT1KVU15SlRnM2ZnPT1KVEZHVmxaekpUSTBKVEkwSlRJd1VpY2xNalF3V0NVeU5IRlVjaVV5UXlVeU0zUWxNVUk9Y21zeGJYSjZaWEJ0YUE9PWFGaG5XbHBqYjJwd0pUVkZZMjV2SlRWRGJXOD1iR2xqTWc9PWIzVlBZM1psYW1kMVZXZHVaMlYyY1hRPUpUVkZZV0ZDYzJKcmNVbG1jSEZpYTJKdkpVTXlKVGcxSlRkRUpVTXlKVGczZmlVelJTVkRNaVU0TTNaMEpVTXlKVGczSlRORmRpVkRNaVU0TXlWRE1pVTRNeVZETWlVNE1DVkRNaVU0TXc9PWZpVkRNaVU0TXlVM1JDVkRNaVU0TWc9PUpVTXlKVGd4ZG5weWNTVkRNaVU0TlNWRE1pVTROaVZETWlVNE1TVkRNaVU0TkhONWR5VTFSSGNsUXpJbE9FST1kV2gyYUhkSFpIZGtibkJuYTE5d2R3PT1KVGREYlg0bE4wWnhaVzFoYVd3PUpURkNKVEJHSlRkR2NIWjBadz09Y1E9PVpGWWxOVUpSSlRWRFpFVT1hbWR6WW01bVRERmZVaVUxUlZZdUpURXpaWE4xYW1zPUpVTXlKVGd4YjJ4MWMzNVhhMzV0Y204bE4wUWxOVVJ2ZG05dGZua2xOME09YVZoZlVWUmpVQT09VXlVMVExRmpZeVV6UlZFbE5VUlZWVnBrVWxNbE5VUldWUT09VldGYVdWSjVjbnB5SlRkQ0pVTXlKVGd4YkdGdVozVmhaMlU9YzNoMmF3PT1ibkIyZEdabGNIaHZKVU15SlRnMWRBPT1aR0p6WlE9PUpUVkVXU1UxUXlVMVJRPT1WVjh0SlRWRkpUVkZUV1U9ZDNBMkpUZERKVGRFYWlVM1FqWnlkeVUzUTI0bE4wSWxOMFJ1YlE9PWVIaz1ibVYzVm1Gc2RXVT1KVFZDVjB4ZlVWb2xOVVJZVjFCaFUyWlFZVlF5SlRWRkpUVkVVbVJoWVZRbE5VUlNhQT09YlNVM1EzVnFKVGRDY0haMWRuTWxReklsT0RaekpUTkdKVU15SlRnemN5VXpSaVUzUW5ZPVlsWmxhbWRpYkdsdGEyeDRhMk54Y1Y5bFl3PT1KVFZDWkNVMVJGbHFKVE5EV1d4WlpYUm5ZM1puUjNobmNIWT1XaVUxUkNVMVJDVXpSbWhyWmlVelJXVWxOVVZtSlRWRloyMD1aaVUyTUhSZmFuSnBhVzUwWlhKMllXdz1kM1FsUXpJbE9EZDBKVFF3SlVNeUpUZzBkQT09SlRkQ0pVTXlKVGczSlVNeUpUZzBKVU15SlRneVdDVTNSSFlsUXpJbE9EZFlKVU15SlRnMGVYbz1KVU15SlRnMkpVTXlKVGd4SlVNeUpUZzNkWHAxY3lWRE1pVTRNSFYzZmc9PUpUZERkU1ZETWlVNE55VTNRM2NsTjBOMUpVTXlKVGd5SlRkQ2VRPT1UV0ptSlRWRkpUTkNibDlmSlRWRmF3PT1hbTl3YzJ0VmRtdHNlZz09Wm5OMFRYUnNZV1J4SlRkR2QzNGxOMFIwWm1jPWJTVkRNaVU0TUNVM1JpVTNSbnA1TnlVeVFtdz1WU1UxUWlkMFZ3PT1UVlpUV2t4WlN5VTFRMDR1U3lVMVJVcz1XVjlaWVhneGVsZ3FXWEJhSlRORFdXRjRNWHBZS2xsd1dpVXpRMWxoZURGNldDcFpjRm9sTTBOWllYZ3dLVEY2V1Y4PUpUVkRaU1UxUlZwclRXSm1KVFZGYUc1dFJYNGxReklsT0VFbFF6SWxPRE1sUXpJbE9ESkZlQ1ZETWlVNE5Yb2xReklsT0VZPWNtZG9hM0k9ZW0xNGJXa2xOME09VDFVbE5VVlRYMVJWTTE4bE5VVldXVmRFWHpKWlpGWWxOVU5SVjJNPWRXWnpkV3BpYzNvPVkxZFVKVFZFY25wNEpVTXlKVGczVmlVM1JpVTNRM2dsUXpJbE9ERWxReklsT0RkbUpUZERlaVZETWlVNE1YUWxOMFlsUXpJbE9EWT1KVFZFU1NVMVJHSm9KVEpETldabVZXMD1SU1V6UVRNbE1VWWxNalFuS0E9PWRYZGtkblJuWnc9PUpUVkZUeVUyTUZNbE5VTmlKVE5ESlRWRVVsTT1LQ2xVS1NoWEtWUT1kM0pMSlRKR1RGOVFKVE5HVkZoUU1Wb2xOVVJZVEY4PWEyZ2xOMEpRY21kNGIzST1ZMmhxYjI0PWRXaGtaMUp4YnlVM1F3PT1TVTlKVVdnbE1qSnFKVEUxSlRGQlNWRm9JV29sTVRZbE1rTkpUdz09WHlVMVJWZ2xOVVJqVkdGRGFGOVVKVGRESlRkR2NYUmtlU1UzUkhVPWJteHZYdz09SlRWRUpUZERhMjV6ZVE9PUpUZERKVU15SlRnMllYUmhKVU15SlRnMmR5VkRNaVU0T1NWRE1pVTRPU1ZETWlVNFJDVkRNaVU0TlNWRE1pVTRPSG89ZEhWd2NIRjZTVzUwYkE9PWR3PT1lQ1UzUm5GNmN5VkRNaVU0TlhweEpUZEdjeVZETWlVNE1nPT1aVlpwWlE9PWJ5VTJNSE52SlRORmFtbHZKVFl3YVc4PWIyd2xOMFpzT0hGMGNIZHZKVU15SlRnM2VpVkRNaVU0TkhwemVpVTNSSG9sUXpJbE9EVWxReklsT0VGMGVYSWxOMFo0ZGc9PVptdHNhbmtsUXpJbE9EQjNKVGRDVkNVMVJGSWxOVVZUVkE9PWIyZHhhQ2h1WmlocGNHZG5KVU15SlRnMUpVTXlKVGd5SlVNeUpUZzRKVU15SlRneGR3PT1kV2R3ZG5RbE4wSkhkSFJ4ZEE9PVUzVnljR3gyYUE9PWRYQk5jSGhtYzBSaWRHWT1jM0o0YzNsbmJIZDRaWFo0SlRWRlVFd2xOVVJPVTAxYVl3PT1lbjRsUXpJbE9ERWxReklsT0RBbFF6SWxPRE1sUXpJbE9EVWxOVU4ySlVNeUpUaEJXR2RuWTNBPWFTVTNRMmxuSlVNeUpUaEJKVGRESlVNeUpUZ3hkeVZETWlVNE1pVkRNaVU0UVE9PU5HRmhKVFZGVjFNbE5qQT1KVEpHZmlVM1FpVkRNaVU0TUcwbFF6SWxPREIxSlRkQ2VpVTFSVzBsUXpJbE9EQnhPV0VsTmpCTkpUWXdWU1UxUWxvbE0wSk9YMUVsTlVWaVVTVTFSUT09SlRkREpVTXlKVGd5SlVNeUpUZzFKVU15SlRnMUpVTXlKVGc0ZENVM1FpVkRNaVU0TUhZPUpVTXlKVGd4SlVNeUpUZ3lkM2hoZENWRE1pVTRNSGc9SlRWRkpUVkRhemhyYTJrbE5qQlpiR3NsTlVNPVoyYz1TVkJVZGlVM1FuQjJkVUVuY0hWd0pUZENWQ1UzUXlVM1FtZ2xOMEp3ZG5WV2FYcHNlU1UzUkd4NWNYTWxOakJ4Y25CbmJHVT1KVFl3VTFoVFVXST1TazRsTlVSUVRGOVFRVlFsTlVWVVRWUlhWRjlrTjFRbE5VVmZVRmxRSlRWRUpUVkZjZz09YldKbUpUVkZVMmhuSlRWRmJYUT1hbXNsTjBOdmFXdFRhM04xZUNVM1JnPT1KVU15SlRnMEpVTXlKVGcxSlVNeUpUZ3plaVUzUm5nPWNDVTNRM2w1Y25BbFF6SWxPREZqZWxGdUpVTXlKVGd4Ymc9PWRISWxReklsT0RGU2VYSjZjaVUzUWlWRE1pVTRNU1ZETWlVNE1FOGxReklsT0RaaGJuUWxOVUp1ZW5JPWNTVTFRMmR3SlRZd1JYWkhSVVlsTjBSMlJ3PT1KVEJDWld3bE5VVm5KVFl3Y21jbE5VVm9iV05rZHc9PWN5VkRNaVU0UWlWRE1pVTRPSEJGUWs1eUpUZEdkeVZETWlVNE1YZzRiWE1sTjBJNGNDVTNSQ1UzUkhvbE4wUT1jR0pwSlRWRmVYUjZhRzA9V0dwbFZ3PT1KVE5GVVZKWVVVOGxOakE9Y213PVluWmtlV2hIYkhWb1puZHZKVGRESlVNeUpUZzFKVGRDSlVNeUpUaERkdz09VVZoUldWRmFKVFl3T0ZWZkpUWXdjWFIzUXlWRE1pVTVNRmREY0VaRFQzTkJlU1ZETWlVNFFTVkRNaVU0T0NWRE1pVTRNbUVsTjBJbFF6SWxPRVk9ZG5NbFF6SWxPRFp6SlROR2QwUjNKVGRFYjM0PVdWZG1aV0pqZW1aa01pVkRNaVU0TTJKamVtWmtNaVV5UWc9PWJYWnBhblJ0YkE9PVl5VTFSSEU9YVdKclpIRmxiSEIzSlVNeUpUZ3lKVU15SlRneEpUTkNiQ1ZETWlVNE1XeDBkMU53ZEhKekpUZEdkSFZ6YW05b2FtZDZKVFZGVUZOVFZGTWxNMFFsTlVWVFZHST1ZeVUxUW1wWFFTVTFRbTg9WnlVMVF5VTFSRnBvSlROR1dXMD1jSFZ1SlRkQ2RISk9KVU15SlRneUpVTXlKVGd4SlRkRFVHNGxOMFFsUXpJbE9ERWxReklsT0RJbE4wWnlVQ1UzUXlVM1FuTjJkQT09ZWlWRE1pVTRORlFsUXpJbE9EQWxOMFlsUXpJbE9EVjJKVGRHSlVNeUpUZzFWblY2SlVNeUpUZzFjbk1sTjBSMg==")
};
function e(t) {
for (; t._rlD4E1h !== t._MdjjIuS; ) {
var e = t._j9JzR4[t._rlD4E1h++]
, i = t._D7T5U[e];
if ("function" != typeof i)
return void Ut("ooga", "warn", "api", {
c: t._rlD4E1h,
e: t._MdjjIuS
});
i(t)
}
}
return t._MdjjIuS = t._j9JzR4.length,
e(t),
t._ESoAd2a
}(),
ki.s,
Ei = ki.m,
Ai = ki.b,
Ci = ki.a,
Si = ki.start,
ki.stop,
ki.j,
Ti = ki.d,
Ri = ki.cr
} catch (Bs) {
Ut("ob-error", "error", "api", {
message: Bs.message
});
var Ui = function() {};
Ui,
Ti = Ui,
function() {
return Promise.resolve(null)
}
,
Ei = {
record: Ui,
resetData: Ui,
setData: Ui,
getData: Ui,
stop: Ui,
circBuffPush: Ui
},
Ai = {
record: Ui,
stop: Ui
},
Ci = {
storeData: Ui,
clearData: Ui,
getData: Ui
},
{},
Ri = {
processImage: function() {
return Promise.resolve()
},
getData: Ui
},
Si = Ui
}
function Mi(t) {
t = t || {},
this.x = t.x || 0,
this.y = t.y || 0,
this.rotate = this.rotate.bind(this),
this.getDistance = this.getDistance.bind(this),
this.radius = 0,
this.tolerance = 0,
this.fill = !1,
this.stroke = !1,
this.fillColor = "#fff",
this.strokeColor = "#fff",
this.strokeWidth = 1
}
function Li(t, e, i) {
Ce.self(this, Mi, t),
this.handleIn = new Mi(e),
this.handleOut = new Mi(i),
this.prev = null,
this.next = null,
this.index = 0
}
function Wi(t) {
this._closed = !1,
this.stroke = !1,
this.fill = !1,
this.fillColor = "#fff",
this.strokeColor = "#fff",
this.strokeWidth = 1,
this.showPoints = !1,
this.pointRadius = 0,
this._head = null,
this._tail = null,
this.segments = [],
this.addPoint = this.addPoint.bind(this),
this.removePoint = this.removePoint.bind(this),
this.forEachPoint = this.forEachPoint.bind(this),
this.getBounding = this.getBounding.bind(this),
this.getCenter = this.getCenter.bind(this),
this.destroy = this.destroy.bind(this),
t && t.length && this.addPoints(t)
}
function Fi(t, e) {
if (e.y <= t.y) {
if (e.next.y > t.y && Zi(e, e.next, t) > 0)
return 1
} else if (e.next.y <= t.y && Zi(e, e.next, t) < 0)
return -1;
return 0
}
function Zi(t, e, i) {
return (e.x - t.x) * (i.y - t.y) - (i.x - t.x) * (e.y - t.y)
}
function Oi(t) {
Ce.self(this, Wi),
this.bounding = {
left: 0,
top: 0,
width: 0,
height: 0
},
this.svgData = function(t) {
if ("string" != typeof t)
return null;
var e = decodeURIComponent(t)
, i = e.indexOf('d="') + 3
, n = e.indexOf('"', i)
, o = t.slice(i, n)
, r = function(t) {
var e = 0
, i = 0
, n = 0
, o = 0
, r = t.match(/<svg[^>]*width=['"]([^'"]+)['"]/)
, s = t.match(/<svg[^>]*height=['"]([^'"]+)['"]/);
if (r && s && (n = parseFloat(r[1]),
o = parseFloat(s[1]),
!isNaN(n) && !isNaN(o)))
return {
left: e,
top: i,
width: n,
height: o
};
var a = t.match(/<svg[^>]*viewBox=['"]([^'"]+)['"]/);
if (a) {
var l = a[1].split(" ");
if (e = parseFloat(l[0]),
i = parseFloat(l[1]),
n = parseFloat(l[2]),
o = parseFloat(l[3]),
!(isNaN(e) || isNaN(i) || isNaN(n) || isNaN(o)))
return {
left: e,
top: i,
width: n,
height: o
}
}
return {
left: 0,
top: 0,
width: 0,
height: 0
}
}(e);
return {
pathCommands: Bi(o),
viewport: r
}
}(t),
this.svgData && (this.bounding.width = this.svgData.viewport.width,
this.bounding.height = this.svgData.viewport.height)
}
function Bi(t) {
for (var e = t.match(/[a-df-zA-DF-Z][^a-df-zA-DF-Z]*/g) || [], i = [], n = 0; n < e.length; ) {
for (var o = e[n], r = o[0], s = o.slice(1).trim().split(/[\s,]+/), a = [], l = 0; l < s.length; )
a.push(parseFloat(s[l])),
l++;
i.push({
type: r,
params: a
}),
n++
}
return i
}
Mi.prototype.rotate = function(t, e) {
var i = zt(e)
, n = Math.sin(i)
, o = Math.cos(i)
, r = this.x - t.x
, s = this.y - t.y;
this.x = r * o - s * n + t.x,
this.y = r * n + s * o + t.y
}
,
Mi.prototype.getDistance = function(t) {
return Math.sqrt(Math.pow(this.x - t.x, 2) + Math.pow(this.y - t.y, 2))
}
,
Mi.prototype.getAngle = function(t) {
var e = t.x - this.x
, i = t.y - this.y
, n = Yt(Math.atan2(i, e));
return n < 0 && (n += 360),
n
}
,
Mi.prototype.hitTest = function(t) {
return this.radius + this.tolerance >= this.getDistance(t)
}
,
Mi.prototype.restrict = function(t, e, i, n) {
if ("x" !== t && "y" !== t)
throw new Error("Point.restrict requires a value: x or y");
return e + this[t] < i ? e = this[t] - i : e + this[t] > n && (e = n - this[t]),
this[t] + e
}
,
Mi.prototype.draw = function(t) {
t.ctx.beginPath(),
t.ctx.arc(this.x, this.y, this.radius / t.scale, 0, 2 * Math.PI, !1),
this.fill && (t.ctx.fillStyle = this.fillColor,
t.ctx.fill()),
this.stroke && (t.ctx.strokeStyle = this.strokeColor,
t.ctx.lineWidth = this.strokeWidth / t.scale,
t.ctx.stroke())
}
,
Ce.proto(Li, Mi),
Li.prototype.set = function(t, e, i) {
this.x = t.x || this.x,
this.y = t.y || this.y,
e === undefined ? (this.handleIn.x = this.x,
this.handleIn.y = this.y) : (this.handleIn.x = e.x,
this.handleIn.y = e.y),
i === undefined ? (this.handleOut.x = this.x,
this.handleOut.y = this.y) : (this.handleOut.x = i.x,
this.handleOut.y = i.y)
}
,
Li.prototype.clone = function() {
var t = {
x: this.x,
y: this.y
}
, e = {
x: this.handleIn.x,
y: this.handleIn.y
}
, i = {
x: this.handleOut.x,
y: this.handleOut.y
}
, n = new Li;
return e.x === i.x && e.y === i.y ? n.set(t) : n.set(t, e, i),
n.index = this.index,
n.prev = this.prev,
n.next = this.next,
n.radius = this.radius,
n.tolerance = this.tolerance,
n.fill = this.fill,
n.stroke = this.stroke,
n.fillColor = this.fillColor,
n.strokeColor = this.strokeColor,
n.strokeWidth = this.strokeWidth,
n
}
,
Li.prototype.move = function(t, e) {
this.x += t,
this.y += e,
this.handleIn.x += t,
this.handleIn.y += e,
this.handleOut.x += t,
this.handleOut.y += e
}
,
Li.prototype.render = function(t) {
this.handleIn.x !== this.x && this.handleIn.y !== this.y && this.handleIn.draw(t),
this.handleOut.x !== this.x && this.handleOut.y !== this.y && this.handleOut.draw(t),
this.draw(t)
}
,
Wi.prototype.addPoint = function(t) {
var e;
return t instanceof Li ? e = t.clone() : ((e = new Li).set(t),
e.radius = this.pointRadius),
e.index = this.segments.length,
null === this._head ? (this._head = e,
this._tail = e) : (e.prev = this._tail,
this._tail.next = e,
this._tail = e),
this._head.prev = this._tail,
this._tail.next = this._head,
this.segments.push(e),
e
}
,
Wi.prototype.addPoints = function(t) {
for (var e = 0; e < t.length; e++)
this.addPoint(t[e]);
t = null
}
,
Wi.prototype.setPoints = function(t, e) {
e === undefined && (e = 0);
for (var i = e; i < t.length; i++)
this.segments[i] === undefined ? this.addPoint(t[i]) : this.segments[i].set(t[i]);
t = null,
e = null
}
,
Wi.prototype.setPointRadius = function(t) {
for (var e = -1; ++e < this.segments.length; )
undefined.radius = t
}
,
Wi.prototype.removePoint = function(t) {
for (var e = this.segments.length, i = null; --e > -1 && null === i; )
i = this.segments[e],
t.x === i.x && t.y === i.y && (this.segments.splice(e, 1),
i === this._head && i === this._tail ? (this._head = null,
this._tail = null) : i === this.head ? (this._head = this._head.next,
this._head.prev = null) : i === this._tail ? (this._tail = this._tail.prev,
this._tail.next = null) : (i.prev.next = i.next,
i.next.prev = i.prev));
return i
}
,
Wi.prototype.forEachPoint = function(t, e) {
if (0 !== this.segments.length && this.segments)
for (var i, n = !1, o = this.segments.length; --o > -1 && !n; )
i = this.segments[e ? this.segments.length - 1 - o : o],
t && (n = t(i))
}
,
Wi.prototype.close = function(t) {
this._closed = t
}
,
Wi.prototype.isClosed = function() {
return this._closed
}
,
Wi.prototype.start = function() {
return this._head
}
,
Wi.prototype.end = function() {
return this._tail
}
,
Wi.prototype.rotate = function(t, e) {
e === undefined && (e = this.getCenter());
for (var i, n = -1; ++n < this.segments.length; )
(i = this.segments[n]).handleIn.rotate(e, t),
i.rotate(e, t),
i.handleOut.rotate(e, t)
}
,
Wi.prototype.move = function(t, e) {
for (var i = -1; ++i < this.segments.length; )
this.segments[i].move(t, e)
}
,
Wi.prototype.getPoint = function(t) {
return this.segments[t]
}
,
Wi.prototype.getLength = function() {
return this.segments.length
}
,
Wi.prototype.getCenter = function() {
var t = this.getBounding();
return {
x: (t.right - t.left) / 2 + t.left,
y: (t.bottom - t.top) / 2 + t.top
}
}
,
Wi.prototype.getDimensions = function() {
var t = this.getBounding();
return {
width: t.right - t.left,
height: t.bottom - t.top
}
}
,
Wi.prototype.getBounding = function() {
for (var t, e = null, i = null, n = null, o = null, r = -1; ++r < this.segments.length; )
t = this.segments[r],
(null === e || t.x < e) && (e = t.x),
(null === i || t.x > i) && (i = t.x),
(null === n || t.y < n) && (n = t.y),
(null === o || t.y > o) && (o = t.y);
return {
left: e,
top: n,
bottom: o,
right: i
}
}
,
Wi.prototype.draw = function(t) {
t.ctx.beginPath();
for (var e = -1, i = this.segments.length; ++e < i; ) {
var n = this.segments[e]
, o = n.x !== n.handleIn.x || n.y !== n.handleIn.y || n.prev.x !== n.prev.handleOut.x || n.prev.y !== n.prev.handleOut.y;
if (0 === n.index)
t.ctx.moveTo(n.x, n.y);
else if (o) {
t.ctx.bezierCurveTo(n.prev.handleOut.x, n.prev.handleOut.y, n.handleIn.x, n.handleIn.y, n.x, n.y),
(n.next.x !== n.next.handleIn.x || n.next.y !== n.next.handleIn.y) && this._closed && this._tail === n && t.ctx.bezierCurveTo(n.handleOut.x, n.handleOut.y, n.next.handleIn.x, n.next.handleIn.y, n.next.x, n.next.y)
} else
t.ctx.lineTo(n.x, n.y)
}
this._closed && t.ctx.closePath(),
this.fill && (t.ctx.fillStyle = this.fillColor,
t.ctx.fill()),
this.stroke && (t.ctx.strokeStyle = this.strokeColor,
t.ctx.lineWidth = this.strokeWidth / t.scale,
t.ctx.stroke()),
!0 === this.showPoints && this.forEachPoint((function(e) {
e.fill = !0,
e.render(t)
}
))
}
,
Wi.prototype.hitTest = function(t, e) {
e === undefined && (e = {});
var i, n = !1, o = 0, r = !1;
e.segment = e.segment === undefined || e.segment,
e.path = e.path === undefined || e.path;
for (var s = -1; ++s < this.segments.length; )
i = this.segments[s],
e.path && this._closed && (o += Fi(t, i)),
e.segment && i.hitTest(t) && (r = i);
return e.path && 0 !== o && !1 === r ? n = {
type: "path",
geometry: this
} : r && (n = {
type: "segment",
geometry: r
}),
n
}
,
Wi.prototype.destroy = function() {
for (var t = this.segments.length; --t > -1; )
this.segments.splice(t, 1);
return this._head = null,
this._tail = null,
this.segments = [],
null
}
,
Ce.proto(Oi, Wi),
Oi.prototype.size = function(t, e) {
t ? (e || (e = t),
this.bounding.width = t,
this.bounding.height = e) : (this.bounding.width = this.svgData.viewport.width,
this.bounding.height = this.svgData.viewport.height)
}
,
Oi.prototype.move = function(t, e) {
t && (e || (e = t),
this.bounding.left = t,
this.bounding.top = e)
}
,
Oi.prototype.destroy = function() {
this.bounding = {
left: 0,
top: 0,
width: 0,
height: 0
},
this.svgData = null
}
,
Oi.prototype.getBounding = function() {
return this.bounding
}
,
Oi.prototype.drawSVG = function(t) {
Ni(t, this.svgData, this.bounding)
}
;
var Ni = function(t, e, i) {
if (t && e && i) {
var n = t.ctx
, o = 0
, r = 0
, s = e.pathCommands
, a = e.viewport
, l = i.width / a.width
, h = i.height / a.height
, c = Math.min(l, h);
n.translate(i.left + a.left, i.top + a.top),
n.beginPath();
for (var u = 0; u < s.length; ) {
var p = s[u].params;
switch (s[u].type) {
case "M":
n.moveTo(p[0] * c, p[1] * c),
o = p[0] * c,
r = p[1] * c;
break;
case "m":
n.moveTo(o + p[0] * c, r + p[1] * c),
o += p[0] * c,
r += p[1] * c;
break;
case "L":
n.lineTo(p[0] * c, p[1] * c),
o = p[0] * c,
r = p[1] * c;
break;
case "l":
n.lineTo(o + p[0] * c, r + p[1] * c),
o += p[0] * c,
r += p[1] * c;
break;
case "H":
n.lineTo(p[0] * c, r),
o = p[0] * c;
break;
case "h":
n.lineTo(o + p[0] * c, r),
o += p[0] * c;
break;
case "V":
n.lineTo(o, p[0] * c),
r = p[0] * c;
break;
case "v":
n.lineTo(o, r + p[0] * c),
r += p[0] * c;
break;
case "C":
n.bezierCurveTo(p[0] * c, p[1] * c, p[2] * c, p[3] * c, p[4] * c, p[5] * c),
o = p[4] * c,
r = p[5] * c;
break;
case "c":
n.bezierCurveTo(o + p[0] * c, r + p[1] * c, o + p[2] * c, r + p[3] * c, o + p[4] * c, r + p[5] * c),
o += p[4] * c,
r += p[5] * c;
break;
case "Z":
case "z":
n.closePath()
}
u++
}
n.stroke()
}
};
function Pi() {
Ce.self(this, Mi),
this.radius = 0,
this.tolerance = 0,
this.fill = !1,
this.stroke = !1,
this.fillColor = "#fff",
this.strokeWidth = 1,
this.hoveredProgress = 0,
this.showProgress = 0,
this.outerRadius = 20,
this.hovered = !1,
this.complete = !1
}
function Hi() {
Ce.self(this, Ae, "canvas");
var t = this;
this.element = this.dom,
this.ctx = this.element.getContext("2d"),
this.scale = 1,
this.dpr = window.devicePixelRatio || 1,
this.clearColor = "#fff",
this.ctx.roundedRect = function(e, i, n, o, r) {
var s = n > 0 ? r : -r
, a = o > 0 ? r : -r;
t.ctx.beginPath(),
t.ctx.moveTo(e + s, i),
t.ctx.lineTo(e + n - s, i),
t.ctx.quadraticCurveTo(e + n, i, e + n, i + a),
t.ctx.lineTo(e + n, i + o - a),
t.ctx.quadraticCurveTo(e + n, i + o, e + n - s, i + o),
t.ctx.lineTo(e + s, i + o),
t.ctx.quadraticCurveTo(e, i + o, e, i + o - a),
t.ctx.lineTo(e, i + a),
t.ctx.quadraticCurveTo(e, i, e + s, i),
t.ctx.closePath()
}
}
function Ji() {
this._events = Object.create(null)
}
function Ii(t, e, i, n) {
this._events[t] || (this._events[t] = []),
this._events[t].unshift({
fn: e,
once: n,
context: i
})
}
function Ki(t, e, i) {
this.target = t,
this.setTargetOrigin(i),
this.id = e,
this.messages = [],
this.incoming = [],
this.waiting = [],
this.isReady = !0,
this.queue = []
}
Ce.proto(Pi, Mi),
Pi.prototype.draw = function(t) {
var e = this.radius / t.scale
, i = this.outerRadius / t.scale;
if (t.ctx.save(),
t.ctx.beginPath(),
t.ctx.arc(this.x, this.y, (e + 2) * this.showProgress, 0, 2 * Math.PI),
t.ctx.strokeStyle = ct.white,
t.ctx.fillStyle = ct.white,
t.ctx.lineWidth = 2,
t.ctx.stroke(),
t.ctx.fill(),
t.ctx.beginPath(),
t.ctx.arc(this.x, this.y, (e + 3) * this.showProgress, 0, 2 * Math.PI),
t.ctx.strokeStyle = ct.outline,
t.ctx.lineWidth = 1,
t.ctx.stroke(),
t.ctx.restore(),
t.ctx.beginPath(),
t.ctx.arc(this.x, this.y, e + i * this.showProgress, 0, 2 * Math.PI),
t.ctx.strokeStyle = ct.white,
t.ctx.lineWidth = 2 * this.hoveredProgress,
t.ctx.stroke(),
this.hovered && (t.ctx.globalAlpha = .7 * this.hoveredProgress,
t.ctx.fill(),
t.ctx.globalAlpha = 1),
t.ctx.beginPath(),
t.ctx.arc(this.x, this.y, e + (i + 1) * this.showProgress, 0, 2 * Math.PI),
t.ctx.strokeStyle = ct.outline,
t.ctx.lineWidth = 1 * this.hoveredProgress,
t.ctx.stroke(),
this.hoveredProgress = Gt(this.hoveredProgress, 1, .1),
this.showProgress = Gt(this.showProgress, 1, .25),
!this.complete) {
var n = 2.5
, o = [2.5, 4];
t.ctx.beginPath(),
t.ctx.arc(this.x, this.y, 1.5, 0, 2 * Math.PI, !1),
t.ctx.strokeStyle = ct.white,
t.ctx.lineWidth = .5,
t.ctx.fillStyle = this.fillColor,
t.ctx.fill(),
t.ctx.strokeStyle = ct.outline,
t.ctx.lineWidth = .5,
t.ctx.stroke(),
t.ctx.beginPath(),
t.ctx.arc(this.x, this.y, e + 2, 0, 2 * Math.PI),
t.ctx.strokeStyle = ct.white,
t.ctx.lineWidth = 2,
t.ctx.stroke(),
t.ctx.beginPath(),
t.ctx.arc(this.x, this.y, e + 3, 0, 2 * Math.PI),
t.ctx.strokeStyle = ct.outline,
t.ctx.lineWidth = 1,
t.ctx.stroke(),
t.ctx.fillStyle = ct.outline,
t.ctx.roundedRect(this.x - (e + 5), this.y - 2, o[0], o[1], 2),
t.ctx.fill(),
t.ctx.fillStyle = ct.white,
t.ctx.roundedRect(this.x - (e + 5 - 1), this.y - 1, o[0], o[1] / 2, 1),
t.ctx.fill(),
t.ctx.fillStyle = ct.outline,
t.ctx.roundedRect(this.x + e + n, this.y - 2, o[0], o[1], 2),
t.ctx.fill(),
t.ctx.fillStyle = ct.white,
t.ctx.roundedRect(this.x + e + n - 1, this.y - 1, o[0], o[1] / 2, 1),
t.ctx.fill(),
t.ctx.fillStyle = ct.outline,
t.ctx.roundedRect(this.x - 2, this.y - e - 5, o[1], o[0], 2),
t.ctx.fill(),
t.ctx.fillStyle = ct.white,
t.ctx.roundedRect(this.x - 1, this.y - e - 5 + 1, o[1] / 2, o[0], 1),
t.ctx.fill(),
t.ctx.fillStyle = ct.outline,
t.ctx.roundedRect(this.x - 2, this.y + e + n, o[1], o[0], 2),
t.ctx.fill(),
t.ctx.fillStyle = ct.white,
t.ctx.roundedRect(this.x - 1, this.y + e + n - 1, o[1] / 2, o[0], 1),
t.ctx.fill()
}
}
,
Ce.proto(Hi, Ae),
Hi.prototype.dimensions = function(t, e) {
this.css({
width: t,
height: e
}),
this.element.width = Math.round(t / this.scale) * this.dpr,
this.element.height = Math.round(e / this.scale) * this.dpr,
this.ctx.scale(this.dpr, this.dpr),
this.width = Math.round(t / this.scale),
this.height = Math.round(e / this.scale)
}
,
Hi.prototype.clear = function() {
this.ctx && this.ctx.clearRect(0, 0, this.element.width, this.element.height)
}
,
Hi.prototype.draw = function() {
this.ctx && (this.ctx.fillStyle = this.clearColor,
this.ctx.fillRect(0, 0, this.element.width, this.element.height))
}
,
Hi.prototype._destroy = function() {
this.__destroy(),
this.element = null,
this.ctx = null,
this.width = null,
this.height = null
}
,
Ji.prototype.on = function(t, e, i) {
Ii.call(this, t, e, i, !1)
}
,
Ji.prototype.once = function(t, e, i) {
Ii.call(this, t, e, i, !0)
}
,
Ji.prototype.off = function(t, e) {
var i = this._events[t];
if (i) {
for (var n = i.length; --n > -1; )
i[n].fn === e && i.splice(n, 1);
0 === i.length && delete this._events[t]
}
}
,
Ji.prototype.emit = function(t) {
var e = this._events[t];
if (e) {
for (var i, n = Array.prototype.slice.call(arguments, 1), o = e.length; --o > -1; )
(i = e[o]).fn.apply(i.context, n),
i.once && e.splice(o, 1);
0 === e.length && delete this._events[t]
}
}
,
Ji.prototype.removeAllListeners = function() {
this._events = Object.create(null)
}
,
Ki.prototype._sendMessage = function(t, e) {
var i = t instanceof HTMLIFrameElement;
try {
i ? t.contentWindow.postMessage(JSON.stringify(e), this.targetOrigin) : t.postMessage(JSON.stringify(e), this.targetOrigin)
} catch (Fs) {
Mt("messaging", Fs),
"*" !== this.targetOrigin && (this.setTargetOrigin("*"),
this._sendMessage(t, e))
}
}
,
Ki.prototype.setReady = function(t) {
var e = this;
e.isReady = t,
e.isReady && e.queue.length && (e.queue.forEach((function(t) {
e._sendMessage.apply(e, t)
}
)),
e.clearQueue())
}
,
Ki.prototype.clearQueue = function() {
this.queue = []
}
,
Ki.prototype.setID = function(t) {
this.id = t
}
,
Ki.prototype.setTargetOrigin = function(t) {
this.targetOrigin = "*"
}
,
Ki.prototype.contact = function(t, e) {
if (!this.id)
throw new Error("Chat requires unique id to communicate between windows");
var i = this
, n = Math.random().toString(36).substr(2)
, o = {
source: "hcaptcha",
label: t,
id: this.id,
promise: "create",
lookup: n
};
if (e) {
if ("object" != typeof e)
throw new Error("Message must be an object.");
o.contents = e
}
return new Promise((function(e, r) {
i.waiting.push({
label: t,
reject: r,
resolve: e,
lookup: n
}),
i._addToQueue(i.target, o)
}
))
}
,
Ki.prototype.listen = function(t, e) {
if (!this.id)
throw new Error("Chat requires unique id to communicate between windows");
for (var i = this.messages.length, n = !1; --i > -1 && !1 === n; )
this.messages[i].label === t && (n = this.messages[i]);
!1 === n && (n = {
label: t,
listeners: []
},
this.messages.push(n)),
n.listeners.push(e)
}
,
Ki.prototype.answer = function(t, e) {
if (!this.id)
throw new Error("Chat requires unique id to communicate between windows");
for (var i = this.incoming.length, n = !1; --i > -1 && !1 === n; )
this.incoming[i].label === t && (n = this.incoming[i]);
!1 === n && (n = {
label: t,
listeners: []
},
this.incoming.push(n)),
n.listeners.push(e)
}
,
Ki.prototype.send = function(t, e) {
var i = this;
if (!i.id)
throw new Error("Chat requires unique id to communicate between windows");
var n = {
source: "hcaptcha",
label: t,
id: i.id
};
if (e) {
if ("object" != typeof e)
throw new Error("Message must be an object.");
n.contents = e
}
i._addToQueue(i.target, n)
}
,
Ki.prototype.check = function(t, e) {
for (var i = [].concat.apply([], [this.messages, this.incoming, this.waiting]), n = [], o = -1; ++o < i.length; )
if (i[o].label === t) {
if (e && i[o].lookup && e !== i[o].lookup)
continue;
n.push(i[o])
}
return n
}
,
Ki.prototype.respond = function(t) {
for (var e, i, n = -1, o = 0, r = [].concat.apply([], [this.messages, this.incoming, this.waiting]); ++n < r.length; )
if (r[n].label === t.label) {
if (t.lookup && r[n].lookup && t.lookup !== r[n].lookup)
continue;
var s = [];
if (e = r[n],
t.error && s.push(t.error),
t.contents && s.push(t.contents),
t.promise && "create" !== t.promise) {
e[t.promise].apply(e[t.promise], s);
for (var a = this.waiting.length, l = !1; --a > -1 && !1 === l; )
this.waiting[a].label === e.label && this.waiting[a].lookup === e.lookup && (l = !0,
this.waiting.splice(a, 1));
continue
}
for (o = 0; o < e.listeners.length; o++) {
if (i = e.listeners[o],
"create" === t.promise) {
var h = this._contactPromise(e.label, t.lookup);
s.push(h)
}
try {
i.apply(i, s)
} catch (Fs) {
Mt("chat-cb", Fs)
}
}
}
r = null
}
,
Ki.prototype.destroy = function() {
return this.clearQueue(),
this.messages = null,
this.incoming = null,
this.waiting = null,
this.isReady = !1,
null
}
,
Ki.prototype._contactPromise = function(t, e) {
var i = this
, n = {}
, o = new Promise((function(t, e) {
n.resolve = t,
n.reject = e
}
))
, r = {
source: "hcaptcha",
label: t,
id: i.id,
promise: null,
lookup: e
};
return o.then((function(t) {
r.promise = "resolve",
null !== t && (r.contents = t),
i._addToQueue(i.target, r)
}
))["catch"]((function(t) {
r.promise = "reject",
null !== t && (r.error = t),
i._addToQueue(i.target, r)
}
)),
n
}
,
Ki.prototype._addToQueue = function(t, e) {
this.isReady ? this._sendMessage(t, e) : this.queue.push([t, e])
}
;
var Di = {
chats: [],
messages: [],
globalEnabled: !1,
isSupported: function() {
return !!window.postMessage
},
createChat: function(t, e, i) {
var n = new Ki(t,e,i);
return Di.chats.push(n),
n
},
addChat: function(t) {
Di.chats.push(t)
},
removeChat: function(t) {
for (var e = !1, i = Di.chats.length; --i > -1 && !1 === e; )
t.id === Di.chats[i].id && t.target === Di.chats[i].target && (e = Di.chats[i],
Di.chats.splice(i, 1));
return e
},
consumeMessages: function() {
var t = Di.messages;
return Di.messages = [],
t
},
handleGlobal: function(t) {
if (Di.globalEnabled) {
var e = Di.messages;
if (e.length >= 10)
Di.globalEnabled = !1;
else {
var i = e.some((function(e) {
return JSON.stringify(e.data) === JSON.stringify(t.data)
}
));
i || e.push(t)
}
}
},
handle: function(t) {
var e = t.data
, i = "string" == typeof e && e.indexOf("hcaptcha") >= 0 || "object" == typeof e && JSON.stringify(e).indexOf("hcaptcha") >= 0;
try {
if (!i)
return void Di.handleGlobal(t);
"string" == typeof e && (e = JSON.parse(e)),
"d" === e.t && Di.messages.push(t);
for (var n, o = Di.chats, r = -1; ++r < o.length; ) {
var s = "*" === (n = o[r]).targetOrigin || t.origin === n.targetOrigin;
n.id === e.id && s && n.respond(e)
}
} catch (Fs) {
Lt("postMessage handler error", "postMessage", "debug", {
event: t,
error: Fs
})
}
}
};
window.addEventListener ? window.addEventListener("message", Di.handle) : window.attachEvent("onmessage", Di.handle);
var ji = new Ki(window.parent);
ji.init = function(t, e) {
ji.setID(t),
ji.setTargetOrigin(e),
Di.globalEnabled = !0,
Di.addChat(ji)
}
;
var zi = null;
function Yi(t) {
zi && ut.confirmNav ? zi.display("link", {
url: t
}) : window.open(t, "_blank")
}
function Gi(t, e) {
for (var i in e) {
var n = e[i];
switch (typeof n) {
case "string":
t[i] = n;
break;
case "object":
t[i] = t[i] || {},
Gi(t[i], n);
break;
default:
throw new Error("Source theme contains invalid data types. Only string and object types are supported.")
}
}
}
function qi(t, e) {
try {
return t in e
} catch (i) {
return !1
}
}
function Xi(t) {
return !!t && "object" == typeof t
}
function Qi(t) {
return Xi(t) ? $i({}, t) : t
}
function $i(t, e) {
var i, n = {}, o = Object.keys(t);
for (i = 0; i < o.length; i++)
n[o[i]] = Qi(t[o[i]]);
var r, s, a = Object.keys(e);
for (i = 0; i < a.length; i++) {
var l = a[i];
if (!(!qi(r = l, s = t) || Object.hasOwnProperty.call(s, r) && Object.propertyIsEnumerable.call(s, r)))
return;
qi(l, t) && Xi(t[l]) ? n[l] = $i(t[l], e[l]) : n[l] = Qi(e[l])
}
return n
}
var tn = {
transparent: "transparent",
white: "#ffffff",
black: "#000000",
grey: "#707070"
}
, en = {
100: "#fafafa",
200: "#f5f5f5",
300: "#E0E0E0",
400: "#D7D7D7",
500: "#BFBFBF",
600: "#919191",
700: "#555555",
800: "#333333",
900: "#222222",
1e3: "#14191F"
}
, nn = {
300: "#4DE1D2",
500: "#00838F"
}
, on = {
300: "#BF1722",
500: "#BF1722",
700: "#9D1B1B"
}
, rn = {
__proto__: null,
common: tn,
grey: en,
teal: nn,
red: on
}
, sn = {
mode: "light",
grey: en,
primary: {
main: nn[500]
},
secondary: {
main: nn[300]
},
warn: {
light: on[300],
main: on[500],
dark: on[700]
},
text: {
heading: en[800],
body: en[800]
}
}
, an = {
mode: "dark",
grey: en,
primary: {
main: nn[500]
},
secondary: {
main: nn[300]
},
text: {
heading: en[200],
body: en[200]
}
};
function ln(t, e) {
return "dark" === e && t in an ? an[t] : sn[t]
}
function hn() {
this._themes = Object.create(null),
this._active = "light",
this.add("light", {}),
this.add("dark", {
palette: {
mode: "dark"
}
})
}
hn.prototype.get = function(t) {
if (!t)
return this._themes[this._active];
var e = this._themes[t];
if (!e)
throw new Error("Cannot find theme with name: " + t);
return e
}
,
hn.prototype.use = function(t) {
this._themes[t] ? this._active = t : console.error("Cannot find theme with name: " + t)
}
,
hn.prototype.active = function() {
return this._active
}
,
hn.prototype.add = function(t, e) {
e || (e = {}),
e.palette = function(t) {
t || (t = {});
var e = t.mode || "light"
, i = t.primary || ln("primary", e)
, n = t.secondary || ln("secondary", e)
, o = t.warn || ln("warn", e)
, r = t.grey || ln("grey", e)
, s = t.text || ln("text", e);
return $i({
common: tn,
mode: e,
primary: i,
secondary: n,
grey: r,
warn: o,
text: s
}, t)
}(e.palette),
e.component = e.component || Object.create(null),
this._themes[t] = e
}
,
hn.prototype.extend = function(t, e) {
"string" == typeof e && (e = JSON.parse(e));
var i = JSON.parse(JSON.stringify(this.get(t)));
return Gi(i, e),
i
}
,
hn.merge = function(t, e) {
return $i(t, e || {})
}
;
var cn = {
__proto__: null,
Colors: rn,
Theme: hn
}
, un = new hn;
function pn(t) {
var e = t.palette
, i = t.component;
return hn.merge({
focus: {
outline: e.primary.main
}
}, i.link)
}
function dn(t) {
Ce.self(this, Se, "link", "a"),
this.config = {
url: t.url,
text: t.text,
textLabel: t.textLabel || "",
underline: t.underline || !1,
theme: t.theme,
linkToLocale: t.linkToLocale,
onDarkBg: t.onDarkBg
},
this.state = {
locked: !1
},
this.setAttribute("tabindex", 0),
this.config.url && (this.setAttribute("href", this.config.url),
this.setAttribute("target", "_blank")),
this.onSelect = this.onSelect.bind(this),
this.onHover = this.onHover.bind(this),
this.onFocus = this.onFocus.bind(this),
this.onBlur = this.onBlur.bind(this),
this.addEventListener("click", this.onSelect),
this.addEventListener("enter", this.onSelect),
this.addEventListener("over", this.onHover),
this.addEventListener("out", this.onHover),
this.addEventListener("focus", this.onFocus),
this.addEventListener("blur", this.onBlur),
this.translate()
}
function fn(t) {
Ce.self(this, Se, null, "span"),
this.config = {
text: t.text,
bold: t.bold
},
this.text(this.config.text)
}
function mn(t) {
Ce.self(this, Se, t.selector || null, t.element || "div"),
this.state = {
theme: t.theme
}
}
function yn(t) {
if ("string" != typeof t.src && !(t.src instanceof HTMLElement))
throw new TypeError("Graphic src must be string or HTMLElement. Passed src: " + t.src);
Ce.self(this, Se, t.selector || ".graphic"),
this.state = {
loaded: !1
},
this.config = {
src: t.src,
fallback: t.fallback || !1,
width: t.width || 0,
height: t.height || t.width || 0,
fill: t.fill,
stroke: t.stroke,
label: t.label
},
this.image = null,
(t.autoLoad || t.autoLoad === undefined) && this.load()
}
function gn(t, e) {
var i = t.nodeName;
if ("svg" === i || "g" === i || "clipPath" === i) {
var n = t && (t.children || t.childNodes);
if (!n)
return;
for (var o = 0; o < n.length; o++)
gn(n[o], e)
} else if (t && t.style && ("path" === i || "rect" === i || "circle" === i || "polygon" === i)) {
var r = !!t.getAttribute("stroke")
, s = !!t.getAttribute("fill");
r && (t.style.stroke = e),
s && (t.style.fill = e),
s || r || (t.style.fill = e)
}
}
function bn(t) {
var e = t.palette
, i = t.component;
return hn.merge({
main: {
fill: e.common.white,
icon: e.grey[700],
text: e.text.main
},
hover: {
fill: e.grey[200],
icon: e.primary.main,
text: e.text.main
},
focus: {
icon: e.primary.main,
outline: e.primary.main
},
active: {
icon: e.grey[700]
}
}, i.button)
}
function vn(t) {
Ce.self(this, Se, t.selector, t.tag || "div"),
this._theme = t.theme,
this.state = {
selectable: !1 !== t.selectable,
title: t.title,
label: t.label,
labelLive: t.labelLive || "",
value: t.value,
visible: !0,
locked: !1,
mobile: !1,
selected: !1,
width: t.width,
height: t.height,
closedAt: Date.now(),
downAt: 0,
style: bn(this._theme.get())
},
this.addClass("button"),
this.setAttribute("tabindex", 0),
this.setAttribute("role", "button"),
this.setAttribute("aria-live", "polite"),
this.onDown = this.onDown.bind(this),
this.onHover = this.onHover.bind(this),
this.onSelect = this.onSelect.bind(this),
this.onFocus = this.onFocus.bind(this),
this.onBlur = this.onBlur.bind(this),
this.addEventListener("down", this.onDown),
this.addEventListener("click", this.onSelect),
this.addEventListener("enter", this.onSelect),
this.addEventListener("focus", this.onFocus),
this.addEventListener("blur", this.onBlur),
!1 === tt.System.mobile && (this.addEventListener("over", this.onHover),
this.addEventListener("out", this.onHover)),
this.setCopy()
}
un.add("contrast", {
component: {
prompt: {
main: {
fill: "#fff",
text: "#000"
}
},
expandButton: {
main: {
fill: "#000"
}
}
}
}),
un.add("grey-red", {
component: {
breadcrumb: {
active: {
fill: "#FF0000"
}
},
prompt: {
main: {
fill: "#6a6a6a"
}
},
task: {
selected: {
border: "#ff1f17"
}
},
expandButton: {
main: {
fill: "#6a6a6a"
}
},
verifyButton: {
main: {
fill: "#ff1f17"
},
hover: {
fill: "#ff1f17"
}
},
skipButton: {
main: {
fill: "#6a6a6a"
},
hover: {
fill: "#6a6a6a"
}
}
}
}),
Ce.proto(dn, Se),
dn.prototype.style = function(t) {
var e = t.fontSize || 12
, i = t.color || "inherit"
, n = pn(this.config.theme.get());
this.css({
color: i,
fontWeight: 500,
fontSize: e,
cursor: "pointer",
textDecoration: this.config.underline ? "underline" : "none",
outlineColor: n.focus.outline,
display: "inline-block",
lineHeight: e
})
}
,
dn.prototype.setLock = function(t) {
this.state.locked = t,
this.setAttribute("aria-disabled", t ? "true" : "false")
}
,
dn.prototype.translate = function() {
var t = Oe.translate(this.config.text)
, e = Oe.translate(this.config.textLabel);
this.content(t),
this.config.linkToLocale && this.setAttribute("href", this.config.url + "&hl=" + Oe.getLocale()),
this.setAttribute("aria-label", e)
}
,
dn.prototype.onHover = function(t) {
if (!this.state.locked) {
var e = "over" === t.action;
this.css({
textDecoration: e || this.config.underline ? "underline" : "none"
})
}
}
,
dn.prototype.onSelect = function(t) {
this.state.locked || this.emit("click", t)
}
,
dn.prototype.onFocus = function(t) {
var e = pn(this.config.theme.get()).focus.outline;
this.css({
outline: "2px solid " + e
})
}
,
dn.prototype.onBlur = function(t) {
this.css({
outline: "none"
})
}
,
Ce.proto(fn, Se),
fn.prototype.style = function(t) {
var e = t.fontSize || 12
, i = t.lineHeight || e
, n = t.color || "#000";
this.css({
color: n,
fontWeight: this.config.bold ? 700 : 500,
fontSize: e,
lineHeight: i
})
}
,
fn.prototype.translate = function() {
var t = Oe.translate(this.config.text);
this.text(t)
}
,
Ce.proto(mn, Se),
mn.prototype.style = function(t) {
for (var e = this.children.length; --e > -1; )
this.children[e].style(t)
}
,
mn.prototype.parseText = function(t) {
var e, i, n = [{
type: "BOLD",
regex: /\*\*([^*]*)\*\*/g
}, {
type: "LINK",
regex: /\[([^[]+)]\(([^)]*)\)/g
}], o = [];
for (e = n.length; --e > -1; )
for (; null != (i = n[e].regex.exec(t)); )
i.type = n[e].type,
o.push(i);
o = o.sort((function(t, e) {
return t.index - e.index
}
)),
this.removeAllComponents();
var r = 0;
for (e = 0; e < o.length; e++)
switch (i = o[e],
this.initComponent(fn, {
text: t.substring(r, i.index)
}),
r = i.index + i[0].length,
i.type) {
case "BOLD":
this.initComponent(fn, {
text: i[1],
bold: !0
});
break;
case "LINK":
this.initComponent(dn, {
text: i[1],
url: i[2],
underline: !0,
onDarkBg: !0,
theme: this.state.theme
})
}
r < t.length && this.initComponent(fn, {
text: t.substring(r)
}),
this.style({
fontSize: "inherit",
color: "inherit"
})
}
,
Ce.proto(yn, Se),
yn.prototype.load = function() {
if (this.state.loaded)
return Promise.resolve();
this.state.loaded = !0;
var t = this
, e = this.config.src;
return ii.image(e, {
fallback: this.config.fallback
}).then((function(e) {
t.image = e,
t.appendElement(e.element),
t.size(),
t.fill(),
t.translate()
}
))["catch"]((function() {
Lt("graphic failed to load", "image", "info", {
src: e
})
}
))
}
,
yn.prototype.size = function(t, e) {
this.config.width = t || this.config.width,
this.config.height = e || t || this.config.height,
this.css({
width: this.config.width,
height: this.config.height
}),
this.image && this.image.element.css({
width: this.config.width,
height: this.config.height,
display: "block"
})
}
,
yn.prototype.translate = function() {
var t = this.config.label;
t && this.image && this.image.element && this.image.element.setAttribute("alt", Oe.translate(t))
}
,
yn.prototype.fill = function(t) {
(this.config.fill = t || this.config.fill,
this.image && "svg" === this.image.ext && this.config.fill) && gn(this.image.element.dom, this.config.fill)
}
,
Ce.proto(vn, Se),
vn.prototype.style = function(t) {
this.state.mobile = t,
this.state.style = bn(this._theme.get()),
this.css({
width: this.state.width,
height: this.state.height,
cursor: this.state.locked ? "default" : "pointer",
display: this.state.visible ? "inline-block" : "none",
color: this.state.style.main.text,
backgroundColor: this.state.style.main.fill,
outlineColor: this.state.style.focus.outline,
border: "1px solid " + this.state.style.main.border,
borderRadius: 4
}),
this.emit("style")
}
,
vn.prototype.getWidth = function() {
return this.state.width
}
,
vn.prototype.getHeight = function() {
return this.state.height
}
,
vn.prototype._updateStyle = function(t) {
this.state.style = bn(this._theme.get());
var e = t ? "hover" : "main";
this.css({
backgroundColor: this.state.style[e].fill,
borderColor: this.state.style[e].border,
color: this.state.style[e].text
}),
this.emit("style-update", t)
}
,
vn.prototype.onDown = function() {
this.state.downAt = Date.now()
}
,
vn.prototype.onHover = function(t) {
null === this.emit || !0 === this.state.locked || this.state.selected || (this.emit("hover", t),
this._updateStyle("over" === t.action))
}
,
vn.prototype.onSelect = function(t) {
this.emit && !0 !== this.state.locked && (Math.abs(this.state.downAt - this.state.closedAt) < 30 || (this._setState(!!this.state.selectable && !this.state.selected),
this.emit("click", {
selected: this.state.selected,
usingKb: "enter" === t.action
})))
}
,
vn.prototype.onFocus = function(t) {
if (!this.state.locked) {
var e = this.state.style.focus.outline;
this.css({
outline: "2px solid " + e
})
}
this.emit("focus", t)
}
,
vn.prototype.onBlur = function(t) {
this.css({
outline: "none"
}),
this.emit("blur", t)
}
,
vn.prototype.setLock = function(t) {
this.state.locked = t,
this.css({
cursor: t ? "default" : "pointer"
})
}
,
vn.prototype.enable = function(t) {
this.state.visible = t,
this.css({
display: t ? "inline-block" : "none"
}),
this.setLock.call(this, !t)
}
,
vn.prototype.reset = function() {
this._setState(!1)
}
,
vn.prototype._setState = function(t) {
this.state.style = bn(this._theme.get()),
this.state.selected = t,
this.css({
backgroundColor: this.state.style.main.fill
}),
t ? this._updateStyle(!0) : this.state.closedAt = Date.now(),
this.emit("state-changed", t)
}
,
vn.prototype.setLabel = function(t) {
t && (this.state.label = t),
this.state.label && this.setAttribute("aria-label", Oe.translate(this.state.label))
}
,
vn.prototype.setLabelLive = function(t) {
var e = this
, i = "number" == typeof t ? t : 2e3;
this.state.labelLive && "" !== this.state.labelLive && (this._labelLiveTimeout && clearTimeout(this._labelLiveTimeout),
this.setAttribute("aria-label", Oe.translate(this.state.labelLive)),
this._labelLiveTimeout = setTimeout((function() {
e.setLabel(),
e._labelLiveTimeout = null
}
), i))
}
,
vn.prototype.setTitle = function(t) {
t && (this.state.title = t),
this.state.title && this.setAttribute("title", Oe.translate(this.state.title))
}
,
vn.prototype.setCopy = function() {
this.setLabel(),
this.setTitle()
}
,
vn.prototype.controlsMenu = function(t) {
var e = this;
this.setAttribute("aria-controls", t.dom.id),
this.setAttribute("aria-expanded", "false"),
this.setAttribute("role", "button"),
this.on("state-changed", (function(t) {
e.dom.setAttribute("aria-expanded", t ? "true" : "false")
}
)),
t.setAttribute("role", "menu"),
t.setAttribute("aria-labelledby", this.dom.id);
var i = "android" === tt.System.os;
t.setAttribute("tabindex", i ? "0" : "-1"),
t.setAttribute("aria-hidden", i ? "false" : "true")
}
,
vn.prototype.ownsListBox = function(t) {
this.setAttribute("aria-haspopup", "listbox"),
t.setAttribute("aria-labelledby", this.dom.id),
t.setAttribute("aria-expanded", !1),
t.setAttribute("aria-owns", this.dom.id),
this.on("state-changed", (function(e) {
t.setAttribute("aria-expanded", e)
}
))
}
,
vn.prototype.getValue = function() {
return this.state.value
}
,
vn.prototype.onDestroy = function() {
this._labelLiveTimeout && clearTimeout(this._labelLiveTimeout)
}
;
var wn = "https://newassets.hcaptcha.com/captcha/v1/d067130695f80003c94cd7a16954f23aa0ed457d/static/images";
function Vn(t) {
t.selector = t.selector || t.name,
Ce.self(this, vn, t),
this.$on = this.initComponent(yn, {
selector: "." + t.name + "-on",
src: t.src,
fallback: wn + "/" + t.name + "-on.png",
autoLoad: !1
}),
this.$off = this.initComponent(yn, {
selector: "." + t.name + "-off",
src: t.src,
fallback: wn + "/" + t.name + "-off.png",
autoLoad: !1
}),
this.$on.setAttribute("aria-hidden", "true"),
this.$off.setAttribute("aria-hidden", "true"),
this.on("state-changed", this._onStateChange.bind(this)),
this.on("style", this._onStyle.bind(this)),
this.on("style-update", this._onStyleUpdate.bind(this))
}
function xn(t) {
Ce.self(this, vn, t),
this.state.text = t.text,
this.$text = this.createElement(".text"),
this.on("style", this._onStyle.bind(this)),
this.setText()
}
function kn(t) {
var e = t.offsetHeight
, i = t.cloneNode(!1);
i.style.padding = "0px",
i.style.border = "none",
i.innerHTML = ". <br> . <br> . <br> . <br> . <br>",
t.parentNode.insertBefore(i, t);
var n = i.offsetHeight / 4;
return t.parentNode.removeChild(i),
!n || n <= 0 ? 1 : Math.round(e / n)
}
Ce.proto(Vn, vn),
Vn.prototype.load = function() {
return Promise.all([this.$on.load(), this.$off.load()])
}
,
Vn.prototype._onStyle = function() {
var t = this.getWidth()
, e = t - 10
, i = (t - e) / 2;
this.$on.size(e),
this.$on.css({
"-ms-high-contrast-adjust": "none",
position: "absolute",
top: i,
left: i
}),
this.$off.size(e),
this.$off.css({
"-ms-high-contrast-adjust": "none",
position: "absolute",
top: i,
left: i
}),
tt.System.highContrast ? (this.$on.fill("#ffffff"),
this.$off.fill("#ffffff")) : (this.$on.fill(this.state.style.main.icon),
this.$off.fill(this.state.style.main.icon))
}
,
Vn.prototype._onStyleUpdate = function(t) {
"ie" === tt.Browser.type && 8 === tt.Browser.version ? (this.$on.css({
display: t ? "block" : "none"
}),
this.$off.css({
display: t ? "none" : "block"
})) : (this.$on.css({
opacity: t ? 1 : 0
}),
this.$off.css({
opacity: t ? 0 : 1
}))
}
,
Vn.prototype._onStateChange = function(t) {
"ie" === tt.Browser.type && 8 === tt.Browser.version ? (this.$on.css({
display: t ? "block" : "none"
}),
this.$off.css({
display: t ? "none" : "block"
})) : (this.$on.css({
opacity: t ? 1 : 0
}),
this.$off.css({
opacity: t ? 0 : 1
}))
}
,
Ce.proto(xn, vn),
xn.prototype.setText = function(t) {
this.$text.text(t || this.state.text || this.state.title)
}
,
xn.prototype._onStyle = function() {
this.css({
cursor: "pointer"
}),
this.$text.css({
width: "100%",
height: "100%",
textAlign: "center",
fontSize: 11,
fontWeight: 600,
lineHeight: this.state.height,
position: "absolute"
})
}
;
var En = new Image(200,200);
function An() {
Ce.self(this, Se, "loading-indicator"),
this.$icon = this.createElement(".icon")
}
function Cn(t) {
Ce.self(this, Se, "image-wrapper"),
this.width = 0,
this.height = 0,
this.state = {
timer: null,
visible: !1,
theme: t.theme || {}
},
this.timer = null,
this._image = null,
this._result = null,
this.loader = this.initComponent(An, null),
this.loader.display(!1),
this.$image = this.createElement(".image")
}
function Sn(t) {
Ce.self(this, Se, "challenge-example"),
this.state = {
visible: !1
},
this.image = this.initComponent(Cn, {
theme: t.theme
}),
this.image.setAttribute("role", "img"),
this.image.setAttribute("aria-label", Oe.translate("Example image {{id}}", {
id: t.index + 1
})),
this.image.setAttribute("aria-hidden", !0),
this.visible(!1)
}
En.src = "data:image/gif;base64,R0lGODlhyADIAPQZAPb29vX19e3t7fT09Orq6vLy8u7u7vv7++np6ezs7Ovr6+jo6O/v7/r6+vj4+Pf39/Pz8/n5+fDw8PHx8fz8/P39/efn5/7+/v///+bm5gAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDM1MiwgMjAyMC8wMS8zMC0xNTo1MDozOCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjEgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTkwREY1NTQ4MUJFMTFFQTlBREQ5NURDNTBBRjJEQzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTkwREY1NTU4MUJFMTFFQTlBREQ5NURDNTBBRjJEQzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFOTBERjU1MjgxQkUxMUVBOUFERDk1REM1MEFGMkRDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFOTBERjU1MzgxQkUxMUVBOUFERDk1REM1MEFGMkRDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAQDAP8AIf4ZT3B0aW1pemVkIHVzaW5nIGV6Z2lmLmNvbQAsAAAAAMgAyAAABf9gJo5kaZ5oqq5s675wLM90bd94ru987//AoHBILBqPyKRyyWw6n9CodEqtWq/YrHbL7Xq/4LB4TC6bz+i0es1uu9/wuHxOr9vv+Lx+z+/7/4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09SpBhMQ2ddgCd3e3N8LUgAVGObn5wACWdfa7toE7AXv7/FLBgfo+vsGVRL0AOFR+ReQnr0jDvYp3IcgCoOCEC04hFhQYpFyCzOe6+ZkHsWKTzx+BNhQCD6NKM3/9bsnciTJJi1d1hOSsiYGjkliypypROdOgT8w2kRZEuHPiDmPguyRcGhNJA+VLi0SVerLHSedplxJ1WrAg0S8fuWRT+vTrmKvDiGYlmcOszbXhW1rEC1doDjIwU2pbu1dt0Ha/cVrQ+hejXMHE/7hk66Ow2dNKl7sYzJlGVkhZ+QKxPJlrJ7B0pigGeUEv6Fppr4BobRGCKgtx56c1/Xm2YpxD65tW+Fp1as7B6+RufdG3XdFVx5ewzhD5I6htxXH27m5xLSlp9Wh13pfybK1i91hXaXdv8oZZ39c3ghb9OeTY7XOWfzR9MLhk3UOVb97//vZVtR/0fVXoA8CsrSdo4LjBVZafQZahV989/l1GE4MKjVghj9tGERTWnnIoUsWhaRhf0NBaCKJ/sg0oYWbyXWFYGrN2Ng8L0aITY4thvOFj9UEKeSQRBZp5JFIJqnkkkw26eSTUEYp5ZRUVmnllVhmqeWWXHbp5ZdghinmmGSWaeaZaKap5ppstunmm3DGKeecdNZp55145qnnnnz26eefgAYq6KCEFmrooYgmqigbIQAAIfkEBQMAAAAsDABSALAAJAAABf8gII5kKRaFqa5s676jAgjCDN94rsq2/l7AINBHLMZaDKPyhpihntAesSGsWpfY3W2S7ZKgYHDRSq56sRJf+qwMu8U4SnkuZNvv58l7H3UJ6IBBNXgvEG2EMHp8i1wtgY8XiEhokiyKjIsscpCBlZ6fTpiYK5yPoCd5p6GimSalkKqxXqysJVSvpp6NqZ+0ora4ubLDar6sTSLBwohJd82Sxr8jyp3E1jiX0a3Uy9feO9qjANzVhDx45+jhjMnkdN/wJgrrrO5zKebM0PR8M/b3+vIx47en3b8r8RKuIuhm3EGEAtHtYxjG4MMgChVSbGjxYUaNG+E4vBip0jM2J81thURBguSQj/EQrESBbOTFXnZ2mQzp6iZMkBtVeDy1pkvRXhRJHfz5MRs9TfaGGVoyNZZTbUjcDZJVdYq1q75gbArGtOzCsHFexVQTz9gUThl1ToorbkkZsylL5F0LlmXNLCzN6nUiRXCPdC9CAAAh+QQFAwAAACwNAFIArwAkAAAF/yAgjmRpnmiqrmzrvnA8KoqsBlSl73tg/z/IYEgkAo8wgWTCbDqPvGgUST3RithsrcoFMJzgcOwhLUu7x8Uyy8Yu0EBDeC52me87uI0gbPuJBHpjdIRPK3iIeYIuf41GiywIhZNNCCmJmBWQKnyOnoGbKZSUKpmJoVZ9no5vqCRro6QlZKaYrq+rnrczsb2ztba3Crm5W669viTAwcfEucLIyQDLmbfOz83RoyI41Ik+qNer2drbOd6noarijeHlsdPo6Zvs4+rvowvy85D1uvf4Ru3D487fn4IBJw28g9Agm1BXEipcWKahQywQJU6keAbgxSwWNYLh2JHex4ceRZGOJDkl5ckhIVXqY8kj5kebGr3Q1AHO5U2cEkXs1ETuJTSVTZSx3FXg5SOg+JSSZOp0gDGo2n5N3aXzJ1WkJyhyFaHmZKuvOcMuHEv2Iyi2QUvtY4vLH922CS0dona3Lru3d2FlbUELWF8SZa+dPSxnMIxqh1MVi2ziC7wg58r0pIxiHUbOogTXAU26dAsaMUIAACH5BAUDAAQALAwAUgCwACQAAAX/ICGOZElIU2qubOu+8KkIRj3HeK6XyOzvrUTgQCkajwmgcokaOp+SpXQnbFpRSWbkyO0KpmAWBEp+hs+k3nVtRegWgK68u0CDU+W8035n+605RHODRnxaeogDhkoMf44oMYSShYs4ComYAQqVlo+eL5OhFJwwmZmkL56qUStwoqF1qCYDpqeys6uqK3GvobckeLWYvyM0ubrAvaJfxMKmxDLHqyRbyr6/Y862tzbSnyJC1rDY2tuy3tMj4tfn5c/t6MiC65Lc7uacjfHf9Oz595ncoNonr189eAD1nCOYyyAhVv8SJkLI8I/DhwMlTsxY0dHFQRM4asxDsSObj3Igq1aiMZKkSJOACKCUY68llIUw2cicyaWkTU0+YYqYx/NAzZ9DaubEoq7oqKNI7S1lesIphSwUWzabqrIaz61RyU1NxpOZWK3E1CwtwQsltKo23xoTyoOowVjQaI18C47urot81WkM3LciKIOECwPclNhwKXqJk7mLXGxfJ3F4KQcTRhkYOipeJ5ntXKwWaR7dPAkEEg7j6V16Xb42UeUPn5izU/nollv37hwhAAAh+QQFAwAIACwMAFIAsAAkAAAE/xDJSaugt+rNu/9gKI4kR0hn6Q0N1wxqLEsBYN/3rKtM7/c7hEM0DBoruGTyyJz8ns+mdEpTWpVUGXQbFSlasYYiO6pdzzlyaGHgursr3UEdQtsBdNB77/N8gwdjeRt3d4MbbHyKCy5HYIdVhYWQTouKlIMFkpuYlpeYdJuckJ6LSFNFmaKTpKV8oGSro3mupjRZMLSyrLq1exOPUsG4u5KZvr+wwsW8scivGbihzIahz8nKjtR2dATXr9lG29zW31zh2uNXveZQ6OLq62re7W7z0/FY5fU/74D5+ubx6zKMSUFUAJew4+dEmq6EeI4NZOAPHsRDE4EAQ0UqIaWJFVLT5fs4MKTFkSTbNRIHyoy6lvVMzNkRSNk4ZYnMxZkxMxs1dN/0HKwjyCczoG2QmSQmK6SrMESWRiIn1RbPoS+kIjmjVcO5JtEQhO1KlgcKEhEAACH5BAUDAAUALAwAUgCwACQAAAX/YCGOZFkwUmqubOu+sJgYchLfeF5atay3kMhhSCRCfsikYgJ4OJ9QRXKKWywN2Kx2MYUWv0SqmDXzmqPjNEmwbWt/AbAcrE6f78/6eObuZ3FCc4Jhekl4hw+FU36MNDAJDYOSQzaKN02IiJZVjZ0vkZOTmzCYmZqjLp2qjiuBoaKoLKamsUCrjbKvurUls7O8a7erJrq7wJC+s5W8wsMkZsWDwAPJvsfNziLRxrFL1cq1VtjOQduhR93f4N3j5OavtaXqp6jtzu/wsfO/9fbD+KHS7cu0bJM/TwwATmJQbyBBdgf9nFAoSYI+h4cgRmREcZBFVBgz9tvIseMchqMMq4TEw8ogSTfaTMoRuNJMQUsvYRaQOfNiTS8ac75xxXNIvJ9AgwqVUdTIUaR5lOYc0dRoOKhOpEh9SbXqNKzXhAroVRTYRKQ3R3Ily9NszJVuTywlJjPuW4d2a0R0AUph3rN485JM1fddWrPy1P3Vay8G0WiLnymOPKJdjjjbKEtOprnyODjcOsv1dTgym2xIyp0UvcIbS62sPXtSg0JF7EeOsNxO1aMAjxghAAAh+QQFAwADACwMAFIAsAAkAAAF/+AgjiSJlMOJrmzrvnDKxHRtt6p6v03v97ugcEgssgTIpNL4azaNUFSANo1GFwmldrvYOb9PaxHiFRMV3PSyBm77zEJAHL5T25NUt55uexD9fDBYd4RdLnqIDYEwgH+LLoWFh4mIjyxyUJiWJpGSK5SUmyRkVqSiaJ2eo6Choq50g6mqIqytm1ViuI9ZsrO1oK/Bpb2+v4nCyGPEhKvGe8nQN8uRKc6UOtHZONPMA9bH2uFH3He038/i6SII5Mzn6HwzgfLz7Wrm72C7i/Tx9mn48jlRR5DdP4AC9RFUd5BLtYROsC3M1nDLCIg/JjKsuMYbRiAa03FE0gxjSJEjS198dKUrSst6HFWaPCkuVkMpCYOZyvQK1cFL+ZBpGiPsZot30BoNUdrTHiNr2ZjekOrK5rQYzsIN7aONW59aIsuE85kqiC11Ly8V5EXtzxeacAXdu4JCIlwG/eKu21sjBAAh+QQFAwABACwMAFIAsAAkAAAF/2AgjmSZkGeprmzrvnAsz/S6BAiC161SOJGgcKjgGY8/oHJZODprhJQqQXAmAMOsVvrsqphgpXdMlg20aG3ZG26L1/C1O52NQx/zfNE+49L8LHSCdXwwV3mIgIWLK4OOQowsPoiUe5GXI5SPQZgkeJqInSOKRopnm5uiAaCUqoyHqI+kdqyaroVYsamYta23cZO6spe9tr9ywqiRScWhr3xVq8m7i5/NecvQItPUuNfOx16w3IKzZN/g2oU35I7L6HPh5+2C7/Btz+vS9Gn292D5tPGj4+/fEnniBqYxN8ZgmIB22ClUw8ghQIRdLBKqpvHNIoZWtk3c6K1jE4hromAFG2mJo0aMDUdy4mUR5phxA0GWeWmTzUhVDnvOG+jKGjxXOmPMIor0X0uhGdsdw1ksKVQz3OSt7PUUKZIZp3TZ7HV1Xa5hQo2V/chs4dq2D9dGkRTtJoq1eEvh0HFDRggAIfkEBQMAAgAsDABSAGoAJAAABf+gII5kKRhMaq5s677wmEpMbIuPo+/77f8wXmRIBJYCwiTPyLwBiNBo8QdRWpfNrGkg7Uqd17BOSxaIvdPX+Vxuot9R9ZrdpsLvw1ZuTq/H+HgrVYB9fnp4iHlHhIWGgomIi4yNjjKQiSSTa5WPl4EjmpScnpE4oaKGp3emqlecmaSlrWGvoLGBBrNXBrUMt3gpulY1rxK/dzTCSsScxsdvycpCvMXP0GbSWLXWaKzZDrXe3FDi0uHY43Hluufr1rDZ7ejpEfDm7U/0AJLC8u6/W+7J45Ku0yx/trgdaoXQHkAXDBs6JPUnlMSAscAwumgQEhAkczhCxJRljxKRGrsLGEKhAqWRGcxihAAAIfkEBQMAAwAsDQBSAK8AJAAABf/gII5kaZ5oqq6sKZBvK890iQwEgdfpBDzAoJBHLCYgkYZyyUwUnzRFzKWACq9XqLaHZXof0614zO2aH+Rt4Mv+pt9jwu9MB+jgtGR7v8TXwlErCnWEYH4tfIl9h4yChYV3jSaKlA2SlyVzj3WYJHqViZ0jgE+kA5uFoqeglaqMqI+dAqyVpq5isKmYdLRet3C5sZJHvZROv3HBwq/FrY1VeFWaynSSn818w34v1LrM2KHIuN2cjLPgibZx5uTl3+ht4uPtZtbwe8/s9PWN9/jm+vZhsefPjTwtArs8K8hGnZgbhxAkHNiPoa+DViYOqWhxEcBoqzQa4tgRgjaQISddXiJWEqMalbtaukQIc6XMmRn3qVrDEOdLnTsLunIYyMW+SKL8+UxGDtoteEvJyKGG9Cm2g0R7zMg1kyetqIeWzTxXC2zALhPMstxzLKoUFAKcmj0pIivOGzl2yAgBACH5BAUDAAoALAwAUgCwACQAAAT/UMlJqzTG6s27/5dFgGRpikR6rmzrVkcsx29tYnievQPZ20DYbDgLGhUIgW6pOxVWzyOPSC1KXQmmNlcKtLzXVXUsC0O3aAwIwDN3yXA3KJmuIzrsWl7OgfsPfB12dn1BYIFCf3GIFYODGlGGjBOKipMXjo+XfJWVk3SZhJRXP4idloxKoaKbYaeeiKuaraSvf6mydbSutn6xuay7NgS9iiNywMHCesW+fMm6y0DNzm4p0NFmO27Ui8jYacic3WOB4FvS0+RVz+fo6VPrRObuS/AvxPJEx9b1Tffx9AGi5w8HwID6cBU8iFCeQn8UShmROC7hw3oMG3b7VPBOxCORSRhZ5IjRwiE9tNbRKgnJxp5WG3ed8/ASirRmy0Al+3DyBrxe8Hb6sHnvFcAsq4jyzKgA1UGdyphyoyK10TuQ26o2EqEVhYoSEQAAIfkEBQMABQAsDABSALAAJAAABf9gIY5kqQhGqpRs675w/EpTLd94Di/i2eszGmBILBKAyORo0KA4n8+BcqpDJBjYrPaqPBW/4BV13HJAz2iy2rRta5Pg+HetHqLvZ/oY5e5ndXKBRHpTTXiHT4Rdfow4AYKQQ4o5AgeIl04Ck46MnVgxj5GRmzKWmJikoJ6rMKKiqS+Gp6iwLausLq6utSV2s6e8S7fDbLquYry/v8E9w7e9xrrBZsqzwSrOuAUE0bpHtdXLtVbZxNvd0rBM4adSsFflzwWh6KPq7Nbv8fL1u7D4+Ugt2FeuHyRkmwAC00fwlsGDqSQoxCSBYUM/Ih5CujcR0YSIFx1qlMOxI56PAkO0rhopRxMpiSZPWlTZh2UchJNi4hlHsw8Cm3HA6UyTamBPN/OAzik51AnPo2+SKh3EdKg7kFD/nJsK4Nu/pk6fZkUgbOo0sA6ujSWhYCrOVGCZnTtaxqbcpEPl8umZa+TdjDr/zr3Yyq9gUxMFD26oyqDicxNdCg7JqdtjErLCXRZWDojlzUvYgW7WuQoEb6Mxi0tNWhsSbvRusmaxTuZstvAaqTmB7bYMIRV9v+CxTQxxGSEAACH5BAUDAAAALA0AUgCvACQAAAX/ICCOZGmeaKqurGmQbyvPtCsq9ToEfN/nwKCIhzoEhMiaZMlcJgG+aPRJNUVk16oW2uw2cxOpWLotm88jr7o7243fP7QscQgeEvIWgrHus3VwgXktFEiFgyp+ikyAgYKIJ3RPFHiQMIuYTlaOnESWI3VUoZ9cmYsunamkq2ammJupnKyzVK6ZJbGdn1lbvIi2r2m5urTFYMDBpcOPg0dnzs3Ip8rLzHKjZdhy0tPVxMbggNyK1N5jzXkx2+Pk5o7h8CgK7Jnub/H4uPR95fY++QCV7WPj717AePMG+ilIJp3DdAq99GN4EF9EiW4Y/kP3DNJFRkM0xuHYyuNHCcJEZEKrCO8kypQULfmqMhNiRH0aWQL8iDOmTosKT2S0x0qbEKO/ghZxR0tSEkqs9gxM5A3cITvG6LEYmguc0xx3svLh1iLMsJ9oQ7oC8i1fzSIHbyHhupGlp01o16T1CGNvmhs0QgAAIfkEBQMAAAAsDABSALAAJAAABf8gII4kuQCJoKJl675wLL9TYc94rsuEufOQgXBI/BmPIwGAUmk6nSykVKeqWa9KqY3I5U6/tMZzTDaAz0kGdo39SbrwLvqLeJDvZMR8amD7r1RxgkV7R0x4iFCFRm9/jhIzBIOTQz2LOYmZipc4j54TMpSiA5wzmqcVpUCfjzBBo5SqLnWop3qyJY2srS26sJO4JHa1p8Fpu5+9v6LGKMSoZsGSyKzCy6PGYs/F0tTVSdfMuALb0N3ensfhsbjl3LJV6OnO6+yqh+6Z4/LJC/WiJ+7l07SPH69/9koNJKhqmsFHKRAOStBwYSZQFR/+QSERWKkCFhMVgKdxY7yOcFS3gQyJZ2TGkms4ooRD8SPLliRhxgQwM6Wsm3dy6lzjryeXgAqBjik41IqIV0aFtFP6hGlTSDKjMghGtcm5q1l4apXWtULYl0OtRc3W1Ziaq7mMNjNANZpVnXF7NuOpdG+ftMpQ7qXH8tZcvGEkDh7BcvHTkjEc1rPk2KJjdfI61bssLB9nzNQCXfsMrpzhz39Du4FFWlktu62zfqLMCKrP2L2WIIqCO+/GMyciUkTaO/KW4p185AgBACH5BAUDAAEALA0AUgCvACQAAAX/YCCOZGmeaKqubOu+cDwmibwWUK7rdt8DlYtwOAT4ji/DBMdsGnqE5W46JSCvJ6JWi+2SJM5wE2YBU89V79GxbW/VR4Z4PmYh6Og0XObuD/c2Unh0LHmGU4Avfot/iXaCg3RWJ3eHljkIjiqMnBeaN5GDKGWXpRafWZ2LqCeQoXitpZesJGyqnLQicq+vX7Kyk6y3nbkBvLy+v6W5w7i0ZsehM8rLws3OqNHIutSz2decRp9K2r3lsqhB4IzZ59Ld6J/r2I7u7/DemvPs4/aDUfgspdvnp50/QgEFyiPYp9/Bh90GMmzjEKLFavomUqx4EYexhIYkaiRisCMOgCDRjogcKaSkyY8pz6xk6bIjt5g7WAFhKUScJnImn8DEmYMWz5Y6g04jWtQozWdKbxINNpNgsZcliBYz9hTqxRKkYp7aOnGr1IOUxJoNUHbt0HOgAroVYdUtSndUTVSCl2ku3Wt+l5ZrEVbZ2MC2hgUWfIyMK0N5F7OlJ/msKB+wKqPY6can5mSEPosePaoGjBAAIfkEBQMAAAAsDABSALAAJAAABf8gII5kSSQoWq5s677wC0Fxbd91muCxIfPA4ApDLBKFSOCpMGs6DQSk5El1Jq+ug3HLxXpX1WqQES7Pvl6ueov2msPteLyyrhvlQOa7nNu/8TYGdoNFPoA9fmYweol8hy+EkRiPMo2KlJgsdJKEmSWMlnBgoXueI5yRpiOkl6qUqJKqrH8kU7Otr7CxnreOroC6u5RLvWFRAAbFuIfBqZnKor9yzZ2YoNBW0m3Uzo/YcMTfT7ncdtbi49po5YPD6FQo79mAEOx2NN7yTfH6O4f19tbg+9dP3bqAatz141fwEcKElPoNNHjlYZeIDSlisVjkWcNk+jJxPOLxncYvIydkYQon7hgyeZ60cDRl8iRKi7LQjRLn6uEvnjYPBvz5zcW1WdqGSjvKalExdYLKGVr6NCieTcE0Mk10gwypoLqsfs3TyKoImd3E+rkylUVbs6cgwh3BEp5LtjruznU7ca/bFDhCAAAh+QQFAwAAACwMAFIAsAAkAAAF/yAgjmQJKCJqrmzrvvBYFHFt3ywqCCfeIqeZcNjzGY+Ai3KpRDpxDFfUOaxWn1hWg8ntZr+y2sRoLV/B2K6ai35KfG+xeU5s+yjrPNPOp9L/M30xAnqFSzyCLxBUioCOiS6GkheQLYtulo6alSZ4k4acoTKaj6Iin5KmRV9xJKSkpqiTqpCvm6FbsqmcY229QbaaQJW6s7R8wbfExaCVU3ZTE8nKiczNx2jT1H3Wu9is2oDL3Xq1iQro4eLV5OXf4Opzte16NIKIfTzxdPP0a/b5zqXbZwaSvzXv4BE8w+4gm3MQF5YZ53BJwizSJNYxWLHJRYwaA3Hq6NEcshQhZ2UM49jxo0KConJVDPULTE1gC2PNdPlSHS2HqlphXJFx38+DPLMZPeYP2yVGUnw6bYeP1lMyg7Rd9FQs6TlbSXXxFCqGTCmvMq+NLXsESFErq7yOQCi3xDOi2VLUhSFyb44gcV+EAAAh+QQFAwAAACwMAFIArwAkAAAF/yAgjmQpKoqprmzrvnAsz3T9CtKk77zt2wFKZUgkBn7IGWTAbDaRDJ50mqyuilisdTtCOb/glMwwLVO5yEd2nUX/Fjmw/LuAxc14ndvH7hP3NQRLc4RNBC0IeYo7CIAxfpB/jnaFlUwui4uTL5GdFZssgpajhyZ3mYqgV56QqiZwo7F1JGSoqK4jaqyduLmxo6a2t727nr0Kv79iAFHCw67FvLgFyb++zpm40cau1dbM2LaqQduRR+PewODh2aBC5ZHo6aTsz5Pw0pvzsvXtm/jxQO2j1y+VO4B+5A0k5KVgnoMI2ShcKKehQzMQI7YRSJHhRTyqNErk2LHiR4wZRZRK0lfS5Mkz/1RqIdnSybqXO0LKLDKxJoSbOAWM2znkHM2a13BqIzrN56UTQRkQk3nMaQFaSqeqrOpzGdCLvQDoEhn260AVpwqWFaFxLaySs4L1W5srIl1RFEvJ7deIrliAfkVQvFEvMIlyhqHu04soXOK60R6blaVEnOQS3C4rpmwDx0PNpt6tMQoa6xw3KEqrlhwCACH5BAUDAAQALAwAUgCwACQAAAX/ICGOZIkoKFqubOu+sCtNdGzf+HsKRq/mMsZsSEwAj8hRInCgOJ9QY3KKGzKv2OmuyB0iqGCWIAItmwXhNAmCbbuPvK58qAYvAOa8eVGn0tyAbVVzhDN9SU16ik+HSAOBkFkxhZQSjTmLmYyXNgqRn1cKOpWUnDGaqBSmMKCtAUGkpasrd6mofLMlj66gYrGkuWu2qcFKvK4mv7HFY8O3xQTHyGvKwMFkzqjM0tMi1dazS9nPudzdS9+V1+OawVbmn97p6rOJ7Jnl8K3y84Xl9+1WIdDXaks/f6sABkxI8FOKg4TCKcxkydSYhpHiQJwjcaKiCQIxOtzIcdUEjx9DrYqE9JBkkY4oz6hc6UajSy71YprJR1NQtJsvc+qEEq5nzZ9A6Qgd6oSnUSb8kkpZqtPdUyYVkQK1ypTCVIZPqSUthm3otrDGxnLViYasUVpboeGpKvctXJLQRNRCiavuSlgH85JAKXjE31H9Cg9WqJgfQVGs5jVezG6yYX2Dqlk2Nq6v5T/SgBik9GUzNVttTXPep0VISdVw7eX5Cnt1oDpbftSe9Gf3pJa6YYQAACH5BAUDAAgALAwAUgCvACQAAAT/EMlJKyIS2827/+BFCWFpnmhaMWzLqnA8NFwzxPgZAHzf565gMEeslRzFJMXHZKqE0KFySq1aCs1sM7QwRL9SK5emaijEpp12/fuA3y106ICjy0HsPMDThfsXdxsKdnVngRt6eh1ef3CHFWREkY8IaomKV42OlJxWWJeXK5p+naVKoKCio2+USFSuh6ihE6t/prcysrMXtZt3N56xuom0vayBk1PJnsOhxqS40UfNxM++YiRo2WjUiQTW19LiV915vOBR4+qI5Wzn6ELr8rTta9/w6fPr9Wvv+HFytgWTw0+Lv38M9MkrmCUDwhfIxCyrYokhD4cPY0kUZnEPRoQKXOd1vFjsXyuKrSyqwhdSX8dM8Fq6VLkSXKmJZW4WFMSy0yBJhnR2c2MtGqGcRqmB6GMs2s8yQW9VlJVmlMyrS4alsOXyiMJdMqBgnVEDWMupPqZo0ICV1oi2OSIAACH5BAUDAAUALAwAUgCwACQAAAX/YCGOJGmJBIGWbOu+cOwyUi3feB4nBprosIXCQCwah8CkcgSJHJ5QKGRJ1Q0Bj6x2q6AKjmBjdfzaRs9Qsto0MLu5QF54XlyTA+g82n5/+7NxdIJ8VE56h2mESn+MDziCkHWKjw2Ilk8/kzdYjY07kaCaMpWXl6IxnJ2eL6Chpy6GpaavLaqqM625tCR4srK7vLa3LLm6wAW+vscJwsKZPsWtwG7JiNPNwiNC0cav1cq0CtjO0Nyup03fpVOvE+PZBebdorHqlrSp754W8vOT9r+86RvW7xw9gLNEMRvY6UfBSO0QXmKAjmHDFA8hVZSISIJAi3/iZdSokGPHjyDfrZQbeSSiST0US6b004PlHHwv87ic6UaOzTAocybayHPLyp89ggqNgLOoUZFIJRFdym6q06M/dy0dekqc0yxdsI68tpXsVTZZj5UFtrDoM7EFjyFbKnfuTFZj69o1qXcvwyB59ZKS2NfvwE9xC7cF+LZuvnePzBUuUa/a5GDjrEi+zEQdZ8zwAkn7TBkcaRRtbDXOsY3k6dKHqr7W5o5R2DEnRK6YjTgmb8A+coQAACH5BAUDAAMALAwAUgCwACQAAAX/4CCOZDkgImqubOu+sErKcG3fLMPgtuD/QJ5wuGoYj0aicslcLRLAqHTRrJaQWKx1KwrYvDzFdBzkLrNorVkJEbZ75LhvPUzbj3Q3ERCT++d5NXeDDYFfZy9/f4YvhISMLg9NkjmKi5Amjo6YmVZ8JmKWl5wDmpqkXVxvI0+iiqSmpqiMUK6jkLGnnGCqM7a3hrmys3m/wIHCusRmxq+4yY/LzM1+tNCaNNJM1NWM15vaVQjc3cjfg+FW5HHP53a0hjvrZO3uaPCBOvP0wfZp6eL2SannDwnAJgIHxiuIJtvBMAnLeGOI5+G2iAJ2UUxicQnGjJg2cuxIpFZCWBRhT63hdQIjSoYkLwqcBRPVqio3We1b5o+npxbztLkTOslFK27hvqWjtKcGtYPQoDaFY8uiMKt6cBx11lFZ10Me+cW8cm+sNBUOzaYApbYSjxAAIfkEBQMAAQAsDABSAK8AJAAABf9gII5kuSAoWq5s675wm5BzbN94rsv1mhC7oFBRcESOyKRCyMwVjdBooUmtMhOApHbbs3qlYKh3TGYNtuhtuRlui29d53rnTmvnzkd9v8T7cXaBd38vWHuHcYSKI4KNSIs+h5IOfSZeiYqTjg6QJHqae52LZ5ubogGgh6d/hqWOmHipkquxrqWdsqq0ZUS2m5V/ubMBQHPFwb63hE/CobBVz2PNjpnTobtfyabL1nULrKzav9zdbdjZ4oLV5WEI4MjpgevsUu5+9n7x6uT0UedW+uTx62fk271wAdNEA0jQ3z8qCdPMa0gMz0KGEQfBa/igorGJGacMJPiQSq+QEYBb5eNYskoWlLhItjSJ8qI0mTPZhDzVj4VNGz/J9ORJLye6eLROWlNplIk+bK2aLQxq6d+0f0plMW0KMdlMWVwtvnzVdFITArB+hCXGTOHatmEupVCx1geNul5CAAAh+QQFAwACACxSAFIAagAkAAAF/6AgjmQpGExqrmzrvvCYSkxsi4+j7/vt/zBeZEgElgLCJM/IvAGI0GjxB1Fal82saSDtSp3XsE5LFoi909f5XG6i31H1mt2mwu/DVm5Or8f4eCtVgH1+eniIeUeEhYaCiYiLjI2OMpCJJJNrlY+XgSOalJyekTihooand6aqV5yZpKWtYa+gsYEGs1cGtQy3eCm6VjWvEr93NMJKxJzGx2/JykK8xc/QZtJYtdZorNkOtd7cUOLS4djjceW65+vWsNnt6OkR8ObtT/QAksLy7r9b7snjkq7TLH+2uB1qhdAeQBcMGzok9SeUxICxwDC6aBASECRzOELElGWPEpEauwsYQqECpZEZzGKEAAAh+QQFAwADACwMAFIAsAAkAAAF/+AgjmSJDASBlmzrvnAsz3RtuwKZ36+yswIFb0hEAR7IpLLIpCUgkYZ0Sk00r1iicrvNeo3UsPj3LX+56K5ZK26La2RbfB0jHNP4pIpOi7r/U3yCcHmFeoMwgIqBiI1AhpAPe44ji5YNPVlziHeRhZSVl5agjp6QpAGil6SDppGUAqqXm6xZrqelsqu1ZreviE+6llYra0Ktvr+CUMKjxWa0Z8m4y83OvLbThpzWi8/GyNp5g7HditHYN+Kf4eZu39Dt61zc7u+T4NXzaPX2b+lY9qXp548KvDIn9AlcorBgFYBXFtKT5xDTQU0EJWZ0KOJYPIoLNxaEGFAikkbBKl82IEayiUlKJqW0LBnSUTmH6GbWqAmzYouccFh1Wid0pE4sdubh6+nuqBcF6zwW7TYDKA6ASZMtnSrMKZ1bM1Pp8toQj9Obw4r4wCH17NCJXlP+YdnkRIqLZPM60VEjBAAh+QQFAwAKACwMAFIAsAAkAAAE/1DJSasimNjNu/8gZRhhaZ6bVqkoN74w2c50bd/boe/6jQixYAxHFJUGxaSEx2TOEsIoTGkrtKzUWnPrNEm/r+yVFhC3uOhd6AduI8whQBV+TNtBbjfdI7/19xx2ggceeXmAFmVEiogUg4MuhoeNClhFlo2PjxZsknqUoFSamiuek4BIopSjmyKmn6GxfqytEq+wsrlntJC2t7i6wSC8vZW/bcLJhcSPGcdgytE5zIJAz8jS2QrUgr7XUXsyZuJm3HfG30LhdORi5mkX6VLa2e9o3vJT9NL2XPj5I/ZFI9BviwaAQwRGK8jDFUKF/Bj2mIAwIERlEif+k5cpSypEElJLPbyIkSEngKAw4VCJql+kdLEY+ZFlr9C3XH+06DL3odOxnXOCUTvyK5nME0dx8joBxVQ0lngijmrhE5jRI/tq1fhCsiufLVmceS011hanEhEAACH5BAUDAAUALAwAUgCwACQAAAX/YCGOJLmIioKWbOu+cNymqCrfeA5LU6/HiARjSCwKf8hkLQBoOp8EpVQ3aFCuWOxgajB6i9OwSwF5ms82sVrkyLrfSMF3Dl6Lz3iz/f7uw3N0gQx7U3mGToRKVn6MWDeCkIOJgIeVTZM4AgeNnFcCO5GQmDJMlpajMZudnaChgag7pqewLYurrCxyrpG0JbKyvSRNt7e5u7zBZL+yabTExCVdx8i0ZcvAvW3PxUvT1KME179RztvcBULe35g84tioVearW+jq65Ol7rPw8sUL9qFg6Xs3qh83gKJQKRtYqRk+g7gQCoKliWFDfhA58ZA4kZ9FQxQzaiTDkY7AjyAxsIr0M6FeSS8hUeb5BG4lIwkuX9apKROPw0Q2/eTUuZNdzzPlgrrpRlSSx6OIBCpdOpRoNahPrk71xNRqTKzkpG410dRAMGtQz251EM1rr4U9fxacakxnsBFH77KhO4OjXmEo/+61+aKk4L0fDxdQlREIQsWIB0KuCJGm42mQfbnLjNcgIG+cAS8L3dlcHFekyY5LXXqVlCAJWY8Il8+nbM0315yot+J2YZpyfF/GmSMEACH5BAUDAAAALAwAUgCwACQAAAX/ICCOZAkoImqubOu+cCzPdGyQd/1KfM/rwCAuQCwWhUgakXUIJH1QaHLaMlqt1CwpIuPqomCp9nktX8doLYIRbovTs4F5boTTEofgIQFz+3t2cXSDgV1IFC5rf4sIhS6DkE6OLHhTFHwrbIx/kyZykZGdJXlUpJ6bnKIpoKyqnaiMrqytro6wi7KzoaJeY70nt7ivuqC1gcHCk8TFynaSwMhuw8u7haZopNHJx9TVxmrafsrdkLaFBgrhqdzkdN9o6tK27e7v4PFg4/Rm9lnp+GHm7SvTzx/AKPoGYjnH8CBCgQrrFKTiEFDCiEscXfM1ouKPaRhfOevokRfGjBMpXDrMFVHVrywvK7JUmHLMwVoTQtY0iM/Yp30+YVIC+I7eu0pJLj0KV5Bc00N9NCFr2q0gUh17BKHamZPYTlGxvpIsJxbAyypTApY9xW9tx40jmthM4bYukhx0ZYQAACH5BAUDAAAALAwAUgCwACQAAAX/ICCOZEmQZ6mubOu+6gIkQj3DeK67U+HvsFpvSBQAj0gUZMBsOpPQnZFSqVqtNySBUewWo2CWz0kmh8+oxnXNNgAN3jgRHZaU72V6FPFg+9kIOXZyhBJ6SUt4ik2HSFR/kFhBhZSNOluLmUwpljCRn5ItlKMTnZOamqYvoKwVoqSjqmKotLIxj62fgSawpLZptLW/In25rLy9vsPBwcMzxq1uI1zJsb9jzKjL0K3A1YXL2cKyAtzRIkLfleTizbbmx+jq1qqJ7amyuPCR8vPgqgvu0ZKhah8rTP7WmRKoLZ/BT/0SxmHHMFOCeg8/lZJIiGLFRRgzQirwjKMXjx/xtoQU6YekyYkAUyq6uJDlnwkIX36pJ/POO5tsIursgbJnE4KmgAadMXROUaM/lUpK19QWNaOMoir1pjMc1gHXpFYxIvSlV6zbpCqpelamMwNSpU0b6qxkz7rFbK4YxLFuWYZ++djcpcKk37kfDxMT+UKi4r/iOB3OiINvtcck7InDPEIftEvfOHN1J1owN8KVr1KSLBqyytZpcsk9QvUk7FkgbxcG4PlKljoodAdhagOp8Fc/dIQAACH5BAUDAAEALAwAUgCvACQAAAX/YCCOZCkmiamubOu+cCzPdP0aU6HvvO37PIhw+CvOAJWLcrkE/CTBaM9ILRFyw6xWSKh6R8xwuMaQmqdfnyWwbWsD6zRQTBfHsOe8nJx3ZxF7NXWDSzdsfXpdgTB+jW+LMISShS2IiJAuCI6bQ4CYK5OhFyt4ln2fJhamnAVxqCSikyplq5avJKyst2CxoiW1prtXuayKr72+I1DAtq+lxI67yKG4zM2o0Lm308k41teY2brY3KFOz99m2OLjmEnlsungi+ztkPDU8pef9Zyo+PH06eHXL9ongJJQCBwIqaBBdwgHKVyoLpxDP/8i1jlEMcq6i20yarTTUcpHkI8glI4cU9IjQZQp761k2RJNQ5gxF72bqYRjTQPOcApxxlOJE58lbwkdeqyosp9Kl0qb+aulMKHGRI6smnQX0oJe2VDlujCsKpSupiKspC/s04uewmpk0UUeHLdv6+Hlhe9Gur15xcUFXE4GLWCASazJdjexCAfcaCyb5xgOOj9ZKz+m9uTyDs1s3YBmgWTQUS8oRqteHQIAIfkEBQMAAAAsDABSALAAJAAABf8gII5kCSRoYq5s676wSKRobN84C0H5Oxe7oNBA6BmPBlfyyOxhntBnczSsBqdYnXWb7Y4O0bDYuC3zvFOGuYyeit9hHHDNbtvv3gp8H43N6XV4MH+AVoKDfIlQS1qFZodKjo+QLIqWGC2EkoaUnZ56l4qNm1yeMqRrpiKhliuoqaqxaKyXJq+TnRK3uJBgtK2nu2VFssVMv7VUwqWQBsuBh8jAJ8/Mxtc30qIi1dbY3y3alj/dVc3lnILiikTo5uDwK+uJ3O5Xhyj293gQ83z6Qs4BVCGonz84A/fFWwjgIJx6+gTqI6bO4RhqERlqtHhRUzmNIDlCIZFRortOIqVlBHNHEWS8lJhIojOl6yTKlCVsutzI0VW3WGo+qrI4atnOnaD8ZXpmzCMqYwdfOJWEbaqjawbmMVr66qjXL9rkbFoYdOxLWkgAuayplmcyI+SGHd1q62vDN3Zo2C3xI8XenGduhAAAIfkEBQMAAAAsDABSALAAJAAABf8gII5kqQCCgJZs675w/J6rbN+4XBS5zcC/nnAoQqB2yGSNyMxdntBnUzS5VafYVnK7zXpJjah4LJSUv1iuuouejt/itvw7WduVcyd8H/U1IXlWd4M7gTp8iFAqL4BTjYYudYSEkC+JlxeVmiySk5SbIxSYl1poZqBHnp+oo6SolaqqrK2uI1emoLGeoGG0ta9tCLqqRpW+mLZ5QZDDu5rHv8B0zc6Q0InSctTVgdekNMrM26vd3ojZ0+Pkc+bni+GG6oPM7XyFge/K8nb09XA86NLsu2PN35slc8DpG8jFmEEyAbMwVOPwYZ+IAifiKWgxExV44jQCrGgRYxZhIgtmFONYMlmbW7A08urYwKQXkbMecsKFaiIwnTbT7ftpkFGabJ3GZfMX49EQp8CSNkMnoF2+oEKHYRQFDcepHF8xag3q66kVrLYmoRXRK1qPZaXWFklFcaVcAHCCHUF418TcvoxG3ggBACH5BAUDAAAALA0AUgCuACQAAAX/ICCOZGmeaKquLKoobSzPdF1CQ67rdt8LkolwSPQZZQFKZclkBmyvnXQKO1pvxKz2yiU1v9/ZIjgtSxddo0HL3qZ9D7AczCLgzHgd4V0jt/9CfDZzhEwseYg8gi0IgI5DCIsthZSGJ3aJmXuSKo+PnCuVohUmY5mnaKBYnp6qJ6OVJ6enriRrrKy1InGwoiMKs7NVrri4ugC9o7/Bs7UMxca1yb67zLTE0Lmu08oA1tegQNnanEnclQF334mqfuOOqkrn6OuZ7e+toPOi9fbh+J/07aPUj90/gIDiDSxUENFBhAk5LWTYEM9DiG0ETpRT0eJFjEU0bvzS0cw9kG4kjI4EU7LMSZQhVa5soq5ljpcwA4mcSeGZzZs4cyrkWSEApp/OcuocOrMaUmxKdfFcZnNYUIjHptoqecybUKlNqXZMpcsdwq67Jl4ai9YpvrZpF6ZoCBdAI4SR4MpNcfTbprpmi9X1wo1RYE2DxQpOHDeZjCioGK/KJ5lwLDgeK6+NqPmGPI6dAVsN/SYEACH5BAUDAAQALAwAUgCwACQAAAX/ICGOJIkogqGiZeu+cCy7J8rOeK7H0uTvs15gSCwCj0gTQ8jsJZLQXWJIqVqvzySkyO1Gv69ac+xEgM8jQeTKbguAvq6ciwanyHhnPboAtP9tCzkDc4VGe0hLeYsMiEgHgJFXQYaVRAqOOoybEpk6kqBWMpakAZ6UnIyno6GtMISllqthqZyzLX2tuoIlcbGyt2m1qcEjfrq6Lb+lxQRiw5vFasi7JFvLpNLQxMFr1MnG2NnB29yzU9/VzuLM5+Xmq+ngBLDslbeK76qzkPKuCPZImVmlzxY/f67oBbxHsKDBUwhbqVhY6U1Dh3nORQzVhOIcdxjxaNwoyZfHjxdDso4ZSRKQyZNcLJ5SKZJgy0gdYRIBSbPJQIg3/0zUGZNnzx63gv4RUY/oAHxHmSRVyoap051Gj3ajWsXaVW1RyXGtkkWhU7Bat3LtRbTZM5rSuMq0qrPZup52jwV10XShXasq/+a6yUuZx7/CMCIWcZMHRUyL7+qLzHgjjr6/KCcup7myP03iOm8eJnqdvMKDYpVWUutn6WnqEmE+tBpXPjK1cVHBeebtjdwwnrkGTuuHjhAAIfkEBQMACAAsDQBSAK8AJAAABP8QyUmrvTjrzS9RYCeOpEcJpRYAbNumcHwydM3IeDk0WDPgrmAwR8zYjseikuIQNUkFoVS4JCKvyap2uZp6X1vSwoAtZ8MdBQ/WUHC+cAB6ZK7X5p0DcBOP4zVjdoILfx56OQduFl19foUVZIN2jxVrRJYTUY2NlJmSk52Fm5uhn4Ohf6OcnaaCnU9VsKqkj62nqGGzq6K2oKloP4y6cLW9dY+YsQjDu3PGrrixzI54z77A1dPUaB/Wx9FK2sSp3mXgXOJevOVX5+HpU3/d7O3uiPBS6/Q28tn4VOT28bN375+LYgJviMK2zCALSglp1GLo8CFCgQTf/SuFkRIsLkxUDHLcl1EjPlQkS5oUhytSOVzJZMTMpA1coJcoDwFR1IOZPW/udLJ549PdzV5GZ+bhqUKXylYqPfaJOuOayo8qgKijaggJ10VKfXxtCYLAWCMnRkQAACH5BAUDAAUALAwAUgCwACQAAAX/YCGOZJkYKFqubOu+MGuJBEHHeK6/jOTvMMUE8CgajwqgckkTpp5PpnQHiRyuWCxEejp6v4mpuCWAmqPjNOmYbWOX37hXnT6d7ym6OODuu6lygUV6U3iGBoRMVn6MbzFEgpEAiVSHlpQ5CQ2NnFdhLpCSkZgxlqaIpC+bnZ2qopKpPKeHsS2LrK0sr6+1JrOnvSN8uLgmu7ufvb/AwQXExCUDx7vBZcumwWzPnCNC069JsQvXs73b0DTf1OLkzKlV56xbzuq87O2Xsbfx3PT1sKks4HOHiR+uGv9EJcM0MF8qg/IMJJSEilRDWu8gduoxcVTAixgZauTko6OgeyDvtGQcyaikSTkVGaY8I45lS00v4yykNJOmPpt9ROSMg7InGlJAg/obaqSWUSi19iWNkI5p06JGnU7VUtVquI9PVUTdemCN1QHVwmYjSwLn0J1gZzZbalNXzrkF7MhtNgyoLZN4u4EMTFcjKMCEUxIuzA9GqHqL0w2M7NYgXLvfIvu6plmYQUDHOrclJ1poPCCVKZYeTXC1tkZchgj6ulqww9qeW9LRKxa3ixl5beT1HcQHgx0hAAAh+QQFAwADACwMAFIAsAAkAAAF/+AgjmQpMoyprmzrviRywnRtm3KZ33zv/4KgcPgr8hrIJNI4CNCczOhokRharwuptqnsKnuQ47aowJqJ45933bUBfO/07UwXyo/s/BL2KPbvL1R1g1mAL3qIDYdMf4YrhISOLYmJk1JxkjGQkZkllJSPW2GdA2WbnKSfn6SZgqeokqqqnmlQklWvsI6yq6yGuZCdvLO+d8C6gMO9xWPHwbHKlczNzoOOCNGfO9NM1da72dLc3d7fyeGIpb/X5WfQ6HnqgCm/7Wbv8GvjUQj27ob54u0j588KvoBfBhopeOUawjXbFPJgaPAgQokEGQp7mATjQooCNnJUNMKWFpP1KFKm4ujxo0qRF2mdZGXKn6+HKzAZ0dmpILOAlnZOs8cN3iI13FxVGxfuCZyBSwdGcyNGYc1TGIeBcepRKTKpoFrS/CfWk75a9Mq2yBFR7RQcNEIAACH5BAUDAAEALA0AUgCvACQAAAX/YCCOZGmeaKqurLkECAK3dG27ZHKnxeP8wOBuSITpTglCcUlT9CLQqFRRDFqtzKx2u00ApODwsXYtY7notNo0CLvDLad5HqSua+Nb/s6iv6UrXn6De3yGhyh/imA8g44OdoiSk4uVUYmPjpM5XZsjmZYnoIOepWptlqkDJaOapq9MgqqWea2ksLhDX7Opn7a3ucEscry0AU+/fohKa8yGyMWVx8nAfIWdh9TS2srC3pjRodx0hy/Wz+GpsuNX3+6s6dvsZeWGMujxitPzZ+f+fPkW7eMH5J3BgQHhEOx3x1xDfAndrFt48F3ENwgJLnuY7aLChQXrNUMEzWMBESAdXVR8R8xkJIorLZqEQgJmzG8TE+7hd9Mgqots5pm6NoQoxIBI2EXq6S5iI21GmeZCqqJlq6WvolYVRo3MKKlMf87a8Qgs2JyKtD6dc5MA0SQxrUo0+zDGDLN51I4IAQAh+QQFAwACACwMAFIAsAAkAAAF/6AgjmQpMFJqrmzrvnAsz/RsoEYNO1Hv+7qgcEgsrh68pLII+Dmfxqh0Sgwor1jd4MmFUr/g8AlLzsrKXa94za4h0fBHLE13tu94VnzveNX/QHmCd3x8LYWAfYOLYG+IcEeJkoyUURCPhiWSk5WdQpiZI02biZ6mNqChAqScp66HqXskrKWvtiaxsiK5gLe+q7xxu7S1v6/BwsDEf8a2yJAMy4AMzacGz2g30n8S1abR2GQo23Xd3p3g4Vfj5GnU55XX6uvK7WrwlPNXw/b3+Iv6ltTrF+gfI0f6RBEsaPBgwFkLezSsFFARv4UT8z2ESDAjxXm4MHp0qC6SvZEfsS/BIoeyk0oXLFu6DDZnmUxTCDGhYnXTWiotrXr6LMQkjdBmOQVOwfHu6LkbKGiEAAAh+QQFAwADACwMAFIArwAkAAAF/+AgjmQpkGeprmzrvisyEMQM33iu72wCRY2gcJjgGY+KlEqgODp3E8BjSq0iq8OsUPnser/gAXZM5QW0aG14zW6vyPAyDpiuC91QJD5HkMb/ADUudoR3e4eIMAqAjA9NLIWRDYmUlSJ9jYyCJXSShJYjXE+ilH6ZgCpnnpGgrW2njSarkqSutmawsSN/s1m3v0e5ujO9tMDHc8K6P8WsiI9t0HtRyrGdzXaJtV/ba6bVf2LYhcjlLeCNAuOF3dyHMofojOLrdeb3nPLh9dnv/vH64tDjp+Yfnk14AgokmAafw4EKq6hjqKWdF3gHEUUkA5HipIf3No7pSFFbRo0irW0w8xjEpBtpCVOW8cGyQRGQIWXuqonTYUoULC32bPWThCqGQ31GfIO0lVAcT9l8kweJX9KHmPQhzDfuKshF8mCmwoYs6pJjWZVtrdrL61VhUHhlMev2WCYnNO3c/LqNyVBqAt2FqmuDhg3CRkIAACH5BAUDAAoALAwAUgCwACQAAAT/UMlJKanq4s27/yAhamBpnp9hoOfhvi4rz5tq3yut7/wG/7+esIIQ4I64oXJgYsqA0KCSl0Bab9NdQbZtRb+x7OxKtom5tEATzD6fiuU4wl0CaEHs/IEeksf5HnY8ghx6eoAcfn6IGGpCjo2Gh4wTVYpylBJdQ5sTkpKZcJeYmYCfhqGji4xOU60Kp6CsqqSlbrGos7RltnS4k4C7q71KBL+GJG7CtcRDx8B0y3/NS89tfCPSZNTO1mCI2tvY497fweFWweTlUefo6dw97O3u71jxVPNQyWf2R/iP9L3Q5U8FQHkCw4ArmOPgjoQK69lziFBfqoKUXnGqkPCiP4oVU8vZsvSuVKceJz2J7DXRFqRBgaxRQ9eMkA6bhY5xE7WMGk4WP3PGAtgz3ksURz8MPUjyElM0T6AxNaIIpMYOV6MCAZnoCldi/DJ87ZBtbIqGJiIAACH5BAUDAAUALAwAUgCwACQAAAX/YCGOZFlIU2qubOu+cLGIikLHeK6XteHbu9agQSkajYOgcolIMJ7QqHNJzRFQgKx2S6A6juBwdSyUmqPkNEkB2brfwFw2TAeryYKzHn0fv/9uOkR1hEZ9VHuJDIdegI5ZMQIHhZRFAoxWipqYco+ekC6TlZWcMJqni6Whn6xCo6+qZaiJsa6snixzr6O1a7OovSS3tyu7u8E0v6fIbMO3cQVfxrC9P8qb1c7DwtPUsU3XwN/aw13R3a9J4+HL4+TE5+i86+yKtQHv8PLenAv14qXy6dtHit4/Pe4EempGkJIEgwfNJFToKE9Dh6p6RNwTi+LCCRcLTci4kZYqj498q4Qk9JBkSYkZUVaUtJLOvZcwSzGU6aZGTZsucUrpyPONiEE/DUHEebPolqNJkdRyIhRKU6eg4iWtVtXqxKLmtP4MZo1pNqwloiI7IZQZVmhiQ67NYxZZ0Vw1144oqXcvylUX+yaLKPicRxc0CV4qTLiwYYExkHZz7OsaZW7kBKG7vDccZ7/OlEib97kzwNI7P8HVzLL0CnD2XFeeeQdLS9mIk93A3UJjnhwhAAAh+QQFAwAAACwMAFIArwAkAAAF/yAgjmRpkGeprmzrvqwiynBt33jeBgd7BLqgcCQpGovDpG7AazqTEVtUSV0dr9eq1uTsPrfgMApLPoqHE6/aW0v0gofE+YZglO/ZuXTN/7ooUHpteIRIgjB9iUAtblQUcocqdYWUCJE+iok7Wm+XRJWUniiZpKKeoKGmaaSlpoKolaqsrSJTYLaRsKmns5muerqxl72stXOLh8G7ycS+AJ1h0MDKhMPNtL9a1MvH19hiKdPbeLneitlbCuOFzOZ96Onrd+XufPDa8mX09Wr3VOr59L3iZw9Yu4BmDhL04w8NwjwDF3Z5dszaQwkWJTaheAZZxIe8NHps6PBiSI0jcF9xEmWSJUqSVVqeJAgTXz5XqxaqkDaEJz15v5jQlARIyaNfk4Bmq/eiqBCnS8f5MwejERxI6JIqm+qt5kdhJHPOyqFyk9cZ3Gp+I+vz2cizaLHAtVIwJoq5LmjQwLslBAAh+QQFAwAAACwMAFIAsAAkAAAF/yAgjmQJTEVqrmzrvrBIkHNs3zh9Cjyw5CwBgFIpGo0noHLJQzmfwqUUx4AMrtis1NA4er+GqXhFqELPztp4LUpl3+8c4vGtfxFssQHNf+b1cIFwN0R2hkh/ShJ9jCiJioKRWjCHlYiPNo2aE5iZkp9YaiuWpBWdMJubpy+grQNBhaWVeKsmi6matStWrqC7sqW6NLipwiO3vb40wKVhwmXExcbJriVdzKTT0dK6btTKJ9jNz9uqwt/VI+LZ3eXcp2boyrHrh+3uubW88p8i9eyr8JmDx6/Vj3+WakET2EhfwX4TEFbiFJAhI4cPJSUoIPFQAYwW0YDMKKmjnY8VQ7GKTEmypEkwI1U6idky1JCXXxTK5EOzpj+cXu7tnLlqQc1AB4EeETpUAtOjENQpNfV0Z1Wf4aZG6WlRG9RXUpV6HTr26DKgznQttFqWpC2gxtqQjYus5duXtOjKjHsM66iOfId1DSw34wuJhAXjSywjoygW9JgxVrxtcl95NuaIy2t5T2XLl6nJuUYqLejGuB6f9gYOiJDIS7eetlX3zOwW8QT98XM7s47eL35s7PEjRggAIfkEBQMAAQAsDQBSAK4AJAAABf9gII5kaZ5oqq4smiRtLM90TQLVpe87YP82w6RALBqByJkRwmwieVBocupaWo/UbIAwbHq/TILMES1HtUnGdY1FByXgONjSMtt37l+Xzc/TEHxyXggqd4Z4fi1cgYxiiSyCkV8ph5UXj5CMgZgqgJKfYSeWh5xVmpqlJRanoAV0I2SjlakjaqyotCKtrSWylrkBt6e5i7ugjgG+s7Rwwrile8afIsq/qc7D19KtXNWVPpxC2M+Y28bey+Xj5InroOjpj+6M0Oat8KTh83369p/4hurtWyPQXySAd/oNJKjO4EGEZhQutCLRIRiIEStOLFDQ4kWMZzRO7OjRC8iQDTeIFiFZkkmOk4hSqpzAsiUOmBfAyVSpzSYTajiZzeTY0yesk8SGCvVJEyhIYDOT+kQWCyNUnldLikIIrNZIYKtaviIBseuNeWZFeLJIaCu8tGqjYUNm1iILb3BLyL2VN66/toWq9T3rbLDfbWPrxDPsNRvjw8ds3DSj87HevW0sX5ajue+Lzo9CAAAh+QQFAwAAACwMAFIAsAAkAAAF/yAgjmQpQpCprmzrvmQiJ3Bt3yoxy/iL/cBfb0gU6QqopNJAKDprhla0eAhar8/saslNar+xrnh4LVvBWrE6hXYy1mpbxUwPtodIePzOJxrqgEBTfS55enuEhYdrLoGOGIlSi3CRLIaTXSxzj4GVJpeYmZ6jIpyOpCOhlKhvqowlpo+srq+ohFWxp6O0tZUSvL25sr7Aa022fMK6xMWikQbNiMqdzNFcyHfTy4TWY9ho2tSJ3c59R+RLAOGAz+jX32nrdWzc7l7j9kvydPR9+Sjt/tHYZybgP3hfCJap5s6gPR0KsThEhxBMRCCeQJGrmPAipIz2QD4c4fHjxG7HOFw+wRWRVMNdIUlcnLVRpUWCyGq6pGhik7yc3Wy22fdNo6ui0aSsGwQUGEKjmGD4zMUR6iGhkagKVbX1KA6W4rAuwppqUpaCZEucU5MyLdNPbQCmfbFjrpQdbV2EAAA7",
Ce.proto(An, Se),
An.prototype.style = function(t) {
var e = t ? 30 : 36;
this.css({
width: e,
height: e,
position: "absolute",
top: "50%",
left: "50%",
marginTop: -e / 2,
marginLeft: -e / 2
}),
this.$icon.css({
width: e,
height: e
}),
this.$icon.backgroundImage(En, e, e, {
contain: !0
})
}
,
An.prototype.display = function(t) {
this.css({
opacity: t ? 1 : 0
})
}
,
Ce.proto(Cn, Se),
Cn.prototype.style = function(t, e, i) {
if (this.state.theme) {
var n = this.state.theme.get().palette;
this.css({
width: t,
height: e,
borderRadius: 2,
right: 0,
top: 0,
position: "absolute",
backgroundColor: n.grey[300],
overflow: "hidden"
}),
this.loader.style(i),
this.loader.css({
zIndex: 1
}),
this.$image.css({
"-ms-high-contrast-adjust": "none",
position: "absolute",
top: 0,
left: 0,
zIndex: 5
}),
null !== this._image && this.$image.backgroundImage(this._image, t, e, {
cover: !0,
center: !0
}),
null !== this._result && this.positionImage(this._result),
this.width = t,
this.height = e
}
}
,
Cn.prototype.load = function(t) {
var e = this;
return this.state.timer = setTimeout((function() {
e.loader.display(!0)
}
), 250),
ii.image(t).then((function(t) {
null !== e.dom && (e.loader.display(!1),
e._image = t,
e.$image.backgroundImage(e._image, e.height, e.height, {
cover: !0,
center: !0
}))
}
))["catch"]((function(t) {}
))["finally"]((function() {
e.state.timer && (clearTimeout(e.state.timer),
e.state.timer = null)
}
))
}
,
Cn.prototype.positionImage = function(t) {
var e = this.height
, i = -e / 2;
this.$image.css({
marginTop: i - t * e + "px"
}),
this._result = t
}
,
Cn.prototype.visible = function(t) {
this.state.visible = t,
this.css({
opacity: t ? 1 : 0
})
}
,
Cn.prototype.onDestroy = function() {
this.state.timer && (clearTimeout(this.state.timer),
this.state.timer = null)
}
,
Ce.proto(Sn, Se),
Sn.prototype.style = function(t, e) {
this.css({
width: t,
height: t,
position: "absolute",
right: 0
}),
this.image.style(t, t, e)
}
,
Sn.prototype.load = function(t, e, i) {
var n = this;
return this.image.load(t).then((function() {
if (i && e.requestConfig)
return i.processImage(e.requestConfig)
}
)).then((function(t) {
return n.image.positionImage(t)
}
))
}
,
Sn.prototype.visible = function(t) {
this.state.visible = t,
this.image.setAttribute("aria-hidden", !t)
}
;
function Rn(t) {
Ce.self(this, Se, "examples"),
this.state = {
examplesLength: 1,
visible: !1,
size: 90,
open: !1,
landscape: !1,
theme: t.theme
},
this.$container = this.createElement(".example-wrapper")
}
function Tn(t) {
Ce.self(this, Se, "challenge-prompt"),
this.resizeTextTimeout = null,
this.state = {
visible: !1,
open: !1,
question: {},
skipText: !1,
theme: t.theme
},
this.$wrapper = this.createElement(".prompt-padding"),
this.$copy = this.initComponent(mn, {
element: "h2",
selector: ".prompt-text",
theme: t.theme
}, this.$wrapper),
this.$skip = this.$wrapper.createElement("p", ".skip"),
this.$bg = this.createElement(".prompt-bg"),
this.examples = this.initComponent(Rn, t)
}
function _n(t) {
Ce.self(this, Se, "challenge-report"),
this.width = 0,
this.height = 0,
this.state = {
visible: !1,
theme: t.theme
},
this.$copy = this.createElement("h2", ".report-text"),
this.$bg = this.createElement(".report-bg"),
this.$copy.setAttribute("tabindex", 0)
}
function Un(t) {
Ce.self(this, Se, "challenge-header"),
this.config = {
orientation: "portrait"
},
this.prompt = this.initComponent(Tn, t),
this.report = this.initComponent(_n, t),
this.setAttribute("tabindex", "0"),
this.report.visible(!1)
}
function Mn(t) {
Ce.self(this, vn, t),
this.state.text = t.text,
this.state.type = t.type || "confirm",
this.$text = this.createElement(".text"),
this.on("style", this._onStyle.bind(this)),
this.setText()
}
function Ln(t) {
var e = t.palette
, i = t.component;
return hn.merge({
main: {
fill: e.grey[200],
border: e.grey[600]
},
selected: {
check: e.primary.main
},
focus: {
outline: e.primary.main
}
}, i.radio)
}
function Wn(t) {
Ce.self(this, Se, "radio-button"),
this.state = {
theme: t.theme,
locked: !1,
selected: !1,
text: t.text,
value: t.value
},
this.$wrapper = this.createElement(".wrapper"),
this.$radio = this.$wrapper.createElement(".radio"),
this.$radio.bg = this.$radio.createElement(".radio-bg"),
this.$radio.check = this.$radio.createElement(".radio-indicator"),
this.$radio.check.css({
opacity: 0
}),
this.$text = this.$wrapper.createElement(".radio-text"),
this.$text.dom.id = "RadioButton-" + this.state.value,
this.$radio.setAttribute("tabindex", "0"),
this.$radio.setAttribute("role", "radio"),
this.$radio.setAttribute("aria-checked", !1),
this.$radio.setAttribute("aria-labelledby", this.$text.dom.id),
this.onSelect = this.onSelect.bind(this),
this.onFocus = this.onFocus.bind(this),
this.onBlur = this.onBlur.bind(this),
this.$radio.addEventListener("click", this.onSelect),
this.$radio.addEventListener("enter", this.onSelect),
this.$radio.addEventListener("focus", this.onFocus),
this.$radio.addEventListener("blur", this.onBlur)
}
function Fn(t) {
var e = t.palette
, i = t.component
, n = "light" === e.mode;
return hn.merge({
main: {
fill: e.grey[100],
border: e.grey[n ? 600 : 200]
},
focus: {
fill: e.grey[200],
outline: e.grey[n ? 800 : 100]
},
disabled: {
fill: e.grey[300]
}
}, i.textarea)
}
function Zn(t) {
Ce.self(this, Se, "input-textarea");
var e = this;
this.state = {
visible: !1,
placeholder: t.placeholder,
label: t.label,
theme: t.theme,
componentId: t.componentId || ""
},
this.$label = this.createElement("label", ".textarea-label"),
this.$textarea = this.createElement("textarea", ".textarea");
var i = "textarea-label-" + t.componentId;
this.$textarea.setAttribute("id", i),
this.$label.setAttribute("for", i),
this.setLabelText.call(this),
this.setPlaceholder.call(this),
this.$textarea.addEventListener("input", (function(t) {
e.emit("change", t.target.value)
}
))
}
function On(t) {
Ce.self(this, Se, t.selector || "list-native", "select");
var e = this;
this._options = [],
this._selected = null,
this.setAttribute("tabindex", 0),
this.addEventListener("change", (function() {
e.dom.value && e.select(e.dom.value)
}
)),
this.addEventListener("focus", (function() {
e.emit("focus")
}
)),
this.addEventListener("blur", (function() {
e.emit("blur")
}
))
}
Ce.proto(Rn, Se),
Rn.prototype.style = function(t, e, i, n) {
var o, r, s = this.state.landscape ? 60 : n ? 70 : 90;
if (this.state.size = s,
!this.state.visible)
return this.state.size = 0,
{
width: 0,
height: 0
};
this.css({
width: t,
height: e,
position: "absolute",
top: 0,
right: 0
});
for (var a = -1, l = this.state.examplesLength; ++a < l; )
this.children[a].style(s, n),
r = l - 1 - a,
o = i + (this.state.open ? s * r + 10 * r : 0),
this.children[a].css({
zIndex: 10 * (l - a),
position: "absolute",
top: i - (this.state.landscape ? 4 : 0),
right: o,
transition: "none"
});
return {
width: s,
height: s
}
}
,
Rn.prototype.load = function(t, e, i) {
!1 === Array.isArray(t) && (t = t ? [t] : []),
"landscape" === e.orientation && (this.state.landscape = !0),
this.state.examplesLength = 1,
t.length < this.state.examplesLength && (this.state.examplesLength = t.length);
var n, o = [], r = -1;
if (this.children.length > 0)
for (r = this.children.length; --r > -1; )
n = this.children[r],
this.children.splice(r, 1),
n.destroy();
for (r = -1; ++r < this.state.examplesLength; )
n = this.initComponent(Sn, {
index: r,
theme: this.state.theme
}, this.$container),
o.push(n.load(t[r], e, i));
return Promise.all(o)
}
,
Rn.prototype.open = function() {
var t;
this.state.open = !0;
for (var e = this.state.examplesLength, i = e; i--; )
t = e - 1 - i,
this.children[i].visible(!0),
this.children[i].css({
right: this.state.size * t + 10 * t + 10,
transition: "right 0.3s cubic-bezier(0.65, 0, 0.35, 1)"
})
}
,
Rn.prototype.close = function() {
this.state.open = !1;
for (var t = this.state.examplesLength; t--; )
0 !== t && this.children[t].visible(!1),
this.children[t].css({
right: 10,
transition: "right 0.25s cubic-bezier(0.33, 1, 0.68, 1)"
})
}
,
Rn.prototype.visible = function(t) {
this.state.visible = t,
this.css({
display: t ? "block" : "none"
})
}
,
Rn.prototype.getTotal = function() {
return this.state.visible ? this.children.length : 0
}
,
Ce.proto(Tn, Se),
Tn.prototype.style = function(t, e, i, n) {
if (this.state.theme) {
var o = n ? 15 : 18
, r = n ? 12 : 14
, s = this.examples.state.landscape
, a = function(t) {
var e = t.palette
, i = t.component;
return hn.merge({
main: {
fill: e.primary.main,
border: e.primary.main,
text: e.common.white
}
}, i.prompt)
}(this.state.theme.get())
, l = this.examples.style(t, e, i, n)
, h = Math.min(t - l.width - 3 * i, s ? 280 : 250);
0 === this.examples.getTotal() && (h = t - 2 * i),
this.css({
width: t,
height: e,
textAlign: "left",
position: "absolute",
top: 0
}),
this.$wrapper.css({
width: t - 2 * i,
height: e - 2 * i,
top: i,
left: i,
position: "absolute"
}),
this.$copy.css({
fontSize: o,
lineHeight: "normal",
fontWeight: "normal",
margin: 0,
width: h,
color: a.main.text,
verticalAlign: "top",
display: "table-cell",
position: "absolute",
zIndex: 5,
transition: "opacity 0.3s cubic-bezier(0.65, 0, 0.35, 1)"
}),
this.$skip.css({
width: h,
color: a.main.text,
fontSize: r,
verticalAlign: "bottom",
display: "table-cell",
position: "absolute",
margin: 0,
bottom: 0,
zIndex: 5,
transition: "opacity 0.3s cubic-bezier(0.65, 0, 0.35, 1)"
}),
this.$bg.css({
opacity: this._visible ? 0 : 1,
position: "absolute",
top: 0,
left: 0,
zIndex: -1,
width: t - 2,
height: e - 4,
backgroundColor: a.main.fill,
borderRadius: 4,
borderWidth: 1,
borderColor: a.main.border,
borderStyle: "solid"
})
}
}
,
Tn.prototype.load = function(t, e, i, n) {
return this.state.question = t,
this.state.skipText = i.skipText,
e && (Array.isArray(e) || "string" == typeof e) && e.length > 0 ? (this.examples.visible(!0),
this.examples.load(e, i, n)) : (this.examples.visible(!1),
Promise.resolve())
}
,
Tn.prototype.visible = function(t) {
this.state.visible = t,
this.css({
display: t ? "table" : "none"
})
}
,
Tn.prototype.setCopy = function() {
this.$copy.parseText(Oe.getBestTrans(this.state.question)),
Oe.setDirection(this.$copy, Oe.getLocale()),
this.state.skipText && this.$skip.text(Oe.translate("If there are None, click Skip")),
this.resizeText()
}
,
Tn.prototype._scheduleResize = function(t) {
return "function" == typeof window.requestAnimationFrame ? window.requestAnimationFrame(t) : setTimeout(t, 50)
}
,
Tn.prototype._cancelResize = function(t) {
"function" != typeof window.cancelAnimationFrame ? clearTimeout(t) : window.cancelAnimationFrame(t)
}
,
Tn.prototype.resizeText = function() {
var t = this;
this.resizeTextTimeout && (this._cancelResize(this.resizeTextTimeout),
this.resizeTextTimeout = null),
this.resizeTextTimeout = this._scheduleResize((function() {
try {
if (!t || !t.$copy.dom)
return;
for (var e = 0, i = 0, n = t.$copy.dom; kn(n) < 2 && parseInt(n.style.fontSize) < 14 && i < 10; )
n.style.fontSize = parseInt(n.style.fontSize) + 1 + "px",
i++;
for (; kn(n) > 2 && parseInt(n.style.fontSize) > 10 && e < 10; )
n.style.fontSize = parseInt(n.style.fontSize) - 1 + "px",
e++
} catch (Bs) {}
}
))
}
,
Tn.prototype.onDestroy = function() {
this.resizeTextTimeout && (this._cancelResize(this.resizeTextTimeout),
this.resizeTextTimeout = null)
}
,
Ce.proto(_n, Se),
_n.prototype.style = function(t, e, i) {
if (this.state.theme) {
var n = i ? 16 : 18
, o = this.state.theme.get().palette;
this.css({
fontSize: n,
width: t,
height: e,
textAlign: "center",
position: "absolute",
top: 0
}),
this.$copy.css({
fontSize: "inherit",
fontWeight: "inherit",
opacity: 1,
height: e,
verticalAlign: "middle",
display: "table-cell",
color: o.common.white,
textAlign: "center",
zIndex: 5
}),
this.$bg.css({
opacity: this._visible ? 0 : 1,
position: "absolute",
top: 0,
left: 0,
zIndex: -1,
width: t,
height: e,
backgroundColor: o.warn.main,
borderRadius: 2,
borderStyle: "solid"
}),
this.height = e,
this.width = t
}
}
,
_n.prototype.visible = function(t) {
this.state.visible = t,
this.css({
display: t ? "table" : "none"
}),
t && this.$copy.focus()
}
,
_n.prototype.setCopy = function() {
this.$copy.text(Oe.translate("Please select an image to report."))
}
,
Ce.proto(Un, Se),
Un.prototype.style = function(t, e, i) {
var n = i ? 90 : 110;
return "landscape" === this.config.orientation && (n = 72),
this.prompt.style(t, n, e, i),
this.report.style(t, n, i),
this.prompt.css({
zIndex: 0
}),
this.css({
position: "relative",
display: "block",
width: t,
height: n,
marginBottom: e
}),
{
width: t,
height: n
}
}
,
Un.prototype.load = function(t, e, i, n) {
return this.config.orientation = i.orientation,
this.setAttribute("aria-label", Oe.getBestTrans(t)),
this.prompt.visible(!0),
this.prompt.load(t, e, i, n)
}
,
Un.prototype.displayReport = function(t) {
this.prompt.visible(!t),
this.report.visible(t)
}
,
Un.prototype.display = function(t) {
this.css({
display: t ? "block" : "none"
})
}
,
Un.prototype.setCopy = function() {
this.prompt.setCopy(),
this.report.setCopy()
}
,
Un.prototype.focus = function() {
this.dom.focus()
}
,
Ce.proto(Mn, vn),
Mn.prototype.setText = function(t) {
t && (this.state.text = t),
this.$text.text(Oe.translate(this.state.text || this.state.title)),
this.setCopy()
}
,
Mn.prototype._onStyle = function() {
var t = this._theme.get().palette
, e = "light" === t.mode
, i = "warn" === this.state.type ? t.warn.main : t.primary.main;
this.css({
width: "auto",
height: 15,
cursor: this.state.locked ? "default" : "pointer",
display: "block",
margin: "0 auto",
textAlign: "center",
lineHeight: 15,
borderRadius: 4,
padding: "10px 15px"
}),
this.$text.css({
color: this.state.locked ? e ? t.text.body : t.grey[700] : i,
fontSize: 15,
fontWeight: 500,
display: "inline-block"
})
}
,
Mn.prototype.lock = function(t) {
var e = this._theme.get().palette
, i = "warn" === this.state.type ? e.warn.main : e.primary.main
, n = "light" === e.mode;
this.state.locked = t,
this.css({
cursor: t ? "default" : "pointer"
}),
this.$text.css({
color: t ? n ? e.text.body : e.grey[700] : i
}),
t ? this.setAttribute("aria-disabled", t) : this.removeAttribute("aria-disabled")
}
,
Ce.proto(Wn, Se),
Wn.prototype.style = function(t) {
var e = jt(t, 125, 150, 13, 14)
, i = 15
, n = t - 27
, o = this.state.theme
, r = Ln(o.get())
, s = o.get().palette
, a = "light" === s.mode
, l = Oe.isRTL()
, h = l ? "right" : "left"
, c = l ? "left" : "right"
, u = l ? {
marginRight: 10,
marginLeft: 0
} : {
marginLeft: 10,
marginRight: 0
};
this.css({
height: "auto",
marginTop: 5,
marginBottom: 5,
position: "relative"
}),
this.$wrapper.css({
cursor: "pointer",
height: "auto",
width: "auto",
position: "relative",
display: "inline-block"
}),
this.$radio.css({
position: "relative",
display: "inline-block",
width: i,
height: i,
borderRadius: 2,
overflow: "hidden",
border: "1px solid " + r.main.border,
float: h
}),
this.$radio.check.css({
position: "absolute",
top: 2,
left: 2,
zIndex: 10,
width: 11,
height: 11,
borderRadius: 1,
backgroundColor: r.selected.check
}),
this.$radio.bg.css({
position: "absolute",
top: 0,
left: 0,
zIndex: 0,
width: i,
height: i,
backgroundColor: r.main.fill
}),
this.$text.css({
position: "relative",
display: "inline-block",
width: n,
fontSize: e,
fontWeight: 400,
color: a ? s.text.body : s.grey[700],
float: c,
marginTop: 1,
wordBreak: "break-word"
}),
this.$text.css(u)
}
,
Wn.prototype.toggle = function(t) {
this.state.locked || (this.state.selected = t,
this.$radio.check.css({
opacity: t ? 1 : 0
}),
this.$radio.setAttribute("aria-checked", t))
}
,
Wn.prototype.lock = function(t) {
this.state.locked = t
}
,
Wn.prototype.setCopy = function() {
var t = Oe.translate(this.state.text);
Oe.setDirection(this.$wrapper, Oe.getLocale()),
this.$text.text(t)
}
,
Wn.prototype.onSelect = function(t) {
this.emit("select", this)
}
,
Wn.prototype.onFocus = function(t) {
var e = Ln(this.state.theme.get()).focus.outline;
this.$radio.css({
outline: "2px solid " + e
})
}
,
Wn.prototype.onBlur = function(t) {
this.$radio.css({
outline: "none"
})
}
,
Ce.proto(Zn, Se),
Zn.prototype.style = function(t, e) {
var i = this.state.theme
, n = Fn(i.get())
, o = i.get().palette
, r = "light" === o.mode;
this.$label.css({
width: t - 30,
height: 20,
color: r ? o.text.body : o.grey[700],
fontSize: e ? 11 : 12,
lineHeight: "20px",
fontWeight: 600,
position: "absolute",
left: "50%",
top: 0,
marginLeft: -(t - 30) / 2,
display: "block"
}),
this.$textarea.css({
width: t - 30,
height: 50,
borderRadius: 4,
backgroundColor: n.main.fill,
color: r ? o.text.body : o.grey[700],
border: "1px solid " + n.main.border,
fontSize: e ? 12 : 14,
lineHeight: e ? 16 : 18,
fontWeight: 500,
boxSizing: "border-box",
MozBoxSizing: "border-box",
padding: "8px 12px",
position: "absolute",
left: "50%",
top: 25,
marginLeft: -(t - 30) / 2
}),
this.css({
height: 75,
width: t,
position: "relative"
}),
this.visible(this.state.visible)
}
,
Zn.prototype.visible = function(t) {
this.state.visible = t,
this.css({
display: t ? "block" : "none"
})
}
,
Zn.prototype.disable = function(t) {
if (this.state.visible) {
var e = this.state.theme
, i = Fn(e.get())
, n = e.get().palette
, o = "light" === n.mode;
this.$textarea.dom.disabled = !t,
this.$textarea.css({
backgroundColor: t ? i.main.fill : i.disabled.fill
}),
this.$label.css({
color: t ? o ? n.text.body : n.grey[700] : n.grey[400]
})
}
}
,
Zn.prototype.getValue = function() {
return this.$textarea.dom.value
}
,
Zn.prototype.setValue = function(t) {
this.$textarea.dom.value = t
}
,
Zn.prototype.setPlaceholder = function() {
this.$textarea.setAttribute("placeholder", Oe.translate(this.state.placeholder)),
Oe.setDirection(this.$textarea, Oe.getLocale())
}
,
Zn.prototype.setLabelText = function() {
this.$label.text(Oe.translate(this.state.label)),
Oe.setDirection(this.$label, Oe.getLocale())
}
,
Ce.proto(On, Se),
On.prototype.getSelected = function() {
return this._selected
}
,
On.prototype.setCopy = function() {
for (var t = this._options.length; t--; )
this._options[t].element.text(Oe.translate(this._options[t].text))
}
,
On.prototype.setOptions = function(t) {
for (var e, i = this._options.length; i--; )
this.removeElement(this._options[i].element);
for (this._options = t,
i = 0; i < t.length; i++)
(e = this.createElement("option", t[i].selector || ".option")).dom.value = t[i].value,
e.text(t[i].text),
this._options[i].element = e
}
,
On.prototype.select = function(t) {
for (var e = null, i = this._options.length; i--; )
t === this._options[i].value && (e = this._options[i]);
if (!e)
throw new Error("Cannot select a missing option value: " + t);
this._selected && this._selected.element.removeAttribute("selected"),
e.element.setAttribute("selected", "selected"),
this._selected = e,
this.dom.value = e.value,
this.emit("hide"),
this.emit("select", e)
}
,
On.prototype.deselect = function() {
this._selected && this._selected.element.removeAttribute("selected"),
this._selected = null,
this.dom.value = null
}
,
On.prototype.style = function() {
this.css({
width: "100%",
height: "100%",
position: "absolute",
top: 0,
left: 0,
opacity: 0,
zIndex: 50
})
}
;
var Bn = 37
, Nn = 39
, Pn = 38
, Hn = 40
, Jn = ("onwheel"in document || document,
document,
"ontouchstart"in document)
, In = navigator.maxTouchPoints && navigator.maxTouchPoints > 1
, Kn = !!window.navigator.msPointerEnabled
, Dn = "onkeydown"in document;
function jn(t) {
this.state = {
pause: !1,
action: null,
position: {
x: 0,
y: 0
},
delta: {
x: 0,
y: 0
},
created: !1
},
this.config = {
arrowScrolling: !1 !== t.arrowScrolling,
keyStep: t.keyStep || 120,
firefoxMult: t.firefoxMult || 15,
touchMult: t.touchMult || 2,
mouseMult: t.mouseMult || 1
};
var e = t.element || document.body;
e instanceof Ae || (e = new Ae(e),
this.state.created = !0),
this.element = e,
this.msBodyTouch = null,
this.clamp = {
enabled: !1,
min: {
x: 0,
y: 0
},
max: {
x: 0,
y: 0
}
},
this.onWheel = this.onWheel.bind(this),
this.onKey = this.onKey.bind(this),
this.onTouch = this.onTouch.bind(this),
this.destroy = this.destroy.bind(this),
this._addListeners()
}
function zn() {
Ce.self(this, Se, "scroll-container")
}
function Yn(t) {
Ce.self(this, Se, t.selector || "list-custom"),
this.state = {
skipAnimationOnce: !1
},
this.scroll = new jn({
element: this,
arrowScrolling: !1,
mouseMult: .5,
keyStep: 46
}),
this._container = this.initComponent(zn),
"android" === tt.System.os && this._container.dom.setAttribute("tabindex", "0"),
this._handle = this.createElement("div"),
this.on("scroll-update", this._onScrollUpdate.bind(this))
}
function Gn(t) {
var e = t.palette
, i = t.component;
return hn.merge({
main: {
fill: e.common.transparent,
line: e.grey[200],
text: e.grey[700]
},
hover: {
fill: e.grey[200],
text: e.grey[900],
border: e.primary.main + "b3"
},
selected: {
fill: "#5C6F8A",
text: e.grey[100]
}
}, i.listItem)
}
function qn(t) {
Ce.self(this, Se, t.option.selector || ".option");
var e = this;
this.state = {
style: Gn(t.theme.get()),
selected: !1,
usingKb: !1,
isLast: !1,
size: t.size,
option: t.option,
theme: t.theme,
isMenu: t.isMenu,
height: t.height
},
this.text = this.text.bind(this),
this._text = this.createElement("span"),
this._separator = this.createElement("div"),
this.addEventListener("click", this.select.bind(this)),
this.addEventListener("enter", this.select.bind(this)),
this.addEventListener("over", this._onHover.bind(this, !0)),
this.addEventListener("out", this._onHover.bind(this, !1)),
this.addEventListener("blur", (function() {
e.updateStyle(!1),
e.emit("blur")
}
)),
this.addEventListener("focus", (function() {
e.updateStyle(e.state.usingKb),
e.emit("focus")
}
)),
this.state.isMenu ? (this.setAttribute("tabindex", -1),
this.setAttribute("role", "menuitem")) : (this.setAttribute("tabindex", 0),
this.setAttribute("aria-selected", this.state.selected),
this.setAttribute("aria-setsize", this.state.size),
this.setAttribute("role", "option")),
this.setCopy()
}
function Xn(t) {
Ce.self(this, Yn, {
selector: t.selector || "list-custom"
}),
this.state = {
theme: t.theme,
isMenu: t.isMenu,
usingKb: !1,
visible: !1,
centerOnce: !1,
search: "",
focusedId: -1,
selected: null,
optionStyle: null,
searchTimer: null,
optionsVisible: t.optionsVisible || 6,
optionHeight: t.optionHeight || 46,
hasItemsNavigation: !1
},
this._options = [];
var e = "android" === tt.System.os;
this.setAttribute("tabindex", e ? 0 : -1),
this.setAttribute("aria-expanded", !1),
this.setAttribute("role", this.state.isMenu ? "presentation" : "listbox"),
this.addEventListener("keydown", this.onKeyPress.bind(this))
}
function Qn(t) {
Ce.self(this, Se, (t = t || {}).selector || ".box-container"),
this._theme = t.theme,
this._tabbable = "boolean" != typeof t.tabbable || t.tabbable,
this.boxState = {
ariaLabel: t.ariaLabel,
visible: !0,
css: {
boxSizing: t.boxSizing,
width: t.width,
height: t.height,
padding: t.padding,
margin: t.margin,
borderWidth: t.borderWidth,
borderStyle: t.borderStyle,
borderRadius: t.borderRadius,
borderColor: t.borderColor,
backgroundColor: t.backgroundColor,
cursor: t.cursor
}
},
this.setStyle(this.boxState),
this.setAriaLabel(),
this.setVisible(!0)
}
function $n(t) {
Ce.self(this, Se, t.selector || ".border"),
this.state = {
visible: t.visible === undefined || t.visible,
thickness: t.thickness || 1,
color: t.color || "#000000",
rounded: t.rounded || 0
},
this.$top = this.createElement("div"),
this.$right = this.createElement("div"),
this.$left = this.createElement("div"),
this.$bottom = this.createElement("div")
}
function to(t) {
var e = t.palette
, i = t.component;
return hn.merge({
focus: {
outline: e.primary.main
}
}, i.link)
}
function eo(t) {
Ce.self(this, Se, "logo", "a"),
this.state = {
theme: t.theme,
url: t.url || "",
width: t.width || 0,
height: t.height || 0
},
this.setAttribute("tabindex", 0),
this.setAttribute("role", "button"),
this.setAttribute("target", "_blank"),
this.setAttribute("href", this.state.url);
var e = {
selector: ".logo-graphic",
src: t.src,
fallback: t.fallback,
autoLoad: t.autoLoad
};
this.graphic = this.initComponent(yn, e),
this.graphic.css({
cursor: "pointer",
"-ms-high-contrast-adjust": "none"
}),
this.onFocus = this.onFocus.bind(this),
this.onBlur = this.onBlur.bind(this),
this.addEventListener("focus", this.onFocus),
this.addEventListener("blur", this.onBlur)
}
function io(t) {
Ce.self(this, Se, t.selector || "spinner"),
this.config = {
src: t.src
},
this.state = {
visible: !1
},
this._angle = 0,
this._timer = null,
this._interval = 16,
this.icon = this.initComponent(yn, {
selector: "spinner-icon",
src: t.src,
fallback: !1,
autoLoad: !0
}),
this.icon.css({
"-ms-high-contrast-adjust": "none"
}),
this.css({
display: "none"
})
}
function no(t, e) {
e = e || {},
this._element = t,
this._isPlaying = !1,
this.config = {
autoplay: e.autoplay || !1,
muted: e.muted || !1,
loop: e.loop || !1
},
this._element.dom && (this._element.dom.playsinline = !0,
this._element.dom.controls = !1,
this.config.muted && (this._element.dom.muted = !0),
this.config.loop && (this._element.dom.loop = !0),
this.config.autoplay && (this._element.dom.autoplay = !0,
this._isPlaying = !0))
}
function oo(t) {
var e = t.palette
, i = t.component;
return hn.merge({
main: {
fill: e.primary.main,
icon: e.common.white
}
}, i.badge)
}
function ro(t) {
if (Ce.self(this, Se, t.selector || ".badge"),
t || (t = {}),
this._theme = t.theme,
this._style = oo(this._theme.get()),
this._timer = null,
this.state = {
loaded: !1,
visible: !1
},
this.config = {
icon: t.icon,
value: t.value,
size: t.size || 0
},
t.icon) {
var e, i = t.icon;
"object" == typeof t.icon && (i = t.icon.src,
e = t.icon.fallback),
this.$wrapper = this.createElement(".badge-icon-wrapper"),
this.icon = this.initComponent(yn, {
selector: ".icon",
src: i,
fallback: e
}, this.$wrapper)
}
this.$fill = this.createElement(".badge-fill"),
this.$radial = this.createElement(".badge-radial")
}
function so(t) {
var e = t.palette
, i = t.component;
return hn.merge({
main: {
background: "#47566B",
text: e.common.white
}
}, i.tooltip)
}
function ao(t) {
Ce.self(this, Se, t.selector || ".tooltip"),
this._theme = t.theme,
this._style = so(this._theme.get()),
this._mobile = tt.System.mobile,
this._tooltipId = t.id || "",
this._anchor = t.anchor,
this.state = {
visible: !1,
locked: !1,
text: t.text
},
this.config = {
position: t.position || "top",
delay: t.delay || 300,
maxWidth: t.maxWidth || 200,
offset: t.offset || 8,
customPosition: t.customPosition || !1
},
this._showTimeout = null,
this._hideTimeout = null,
this._initializeComponents(),
this._setupAccessibility(),
this._bindEventHandlers(),
this._setupEventListeners(),
this.translate(),
this.style()
}
jn.prototype.pause = function(t) {
this.state.pause = t
}
,
jn.prototype.update = function(t) {
if (!this.state.pause) {
var e = this.state.position
, i = this.state.delta
, n = this.state.action;
e.x += i.x,
e.y += i.y,
this.clamp.enabled ? (e.x = Dt(e.x, this.clamp.min.x, this.clamp.max.x),
e.y = Dt(e.y, this.clamp.min.y, this.clamp.max.y)) : console.log(e.y, this.element.dom.scrollHeight),
this.element.emit("scroll-update", {
x: e.x,
y: e.y,
delta: i,
action: n,
original: t
})
}
}
,
jn.prototype._addListeners = function() {
var t = {
passive: !1
};
("ie" !== tt.Browser.type || "ie" === tt.Browser.type && 8 !== tt.Browser.version) && (this.element.addEventListener("DOMMouseScroll", this.onWheel),
this.element.addEventListener("wheel", this.onWheel, t)),
this.element.addEventListener("mousewheel", this.onWheel, t),
Jn && (this.element.addEventListener("touchstart", this.onTouch),
this.element.addEventListener("touchmove", this.onTouch)),
Kn && In && (this.msBodyTouch = document.body.style.msTouchAction,
document.body.style.msTouchAction = "none",
this.element.addEventListener("MSPointerDown", this.onTouch, !0),
this.element.addEventListener("MSPointerMove", this.onTouch, !0)),
this.config.arrowScrolling && Dn && this.element.addEventListener("keydown", this.onKey)
}
,
jn.prototype._removeListeners = function() {
var t = {
passive: !1
};
("ie" !== tt.Browser.type || "ie" === tt.Browser.type && 8 !== tt.Browser.version) && (this.element.removeEventListener("DOMMouseScroll", this.onWheel),
this.element.removeEventListener("wheel", this.onWheel, t)),
this.element.removeEventListener("mousewheel", this.onWheel, t),
Jn && (this.element.removeEventListener("touchstart", this.onTouch),
this.element.removeEventListener("touchmove", this.onTouch)),
Kn && In && (this.msBodyTouch = document.body.style.msTouchAction,
document.body.style.msTouchAction = "none",
this.element.removeEventListener("MSPointerDown", this.onTouch, !0),
this.element.removeEventListener("MSPointerMove", this.onTouch, !0)),
this.config.arrowScrolling && Dn && this.element.removeEventListener("keydown", this.onKey)
}
,
jn.prototype.onWheel = function(t) {
if (!this.state.pause) {
(t = window.event || t).preventDefault && t.preventDefault();
var e = this.state.delta
, i = this.config.mouseMult
, n = this.config.firefoxMult;
"detail"in t && "wheel" !== t.type && 0 !== t.detail ? (e.y = -1 * t.detail,
e.y *= n) : "wheelDelta"in t && !("wheelDeltaY"in t) ? e.y = -1 * t.wheelDelta : (e.x = -1 * (t.deltaX || t.wheelDeltaX),
e.y = -1 * (t.deltaY || t.wheelDeltaY),
"firefox" === tt.Browser.type && 1 === t.deltaMode && n && (e.x *= n,
e.y *= n)),
i && (e.x *= i,
e.y *= i),
this.state.action = "wheel",
this.update.call(this, t)
}
}
,
jn.prototype.onTouch = function(t) {
if (!this.state.pause) {
var e = this.state.position
, i = this.state.delta
, n = this.config.touchMult
, o = t.targetTouches[0];
"move" === t.action ? (i.x = (o.pageX - e.x) * n,
i.y = (o.pageY - e.y) * n) : (i.x = 0,
i.y = 0),
this.state.action = "touch",
this.update.call(this, t)
}
}
,
jn.prototype.onKey = function(t) {
if (!this.state.pause && !t.metaKey) {
var e = this.state.delta
, i = this.config.keyStep;
switch (t.keyCode) {
case Hn:
t.preventDefault && t.preventDefault(),
e.x = 0,
e.y = -i;
break;
case Pn:
t.preventDefault && t.preventDefault(),
e.x = 0,
e.y = i;
break;
case Bn:
e.x = -i,
e.y = 0;
break;
case Nn:
e.x = i,
e.y = 0;
break;
default:
return e.x = 0,
void (e.y = 0)
}
this.state.action = "keypress",
this.update.call(this, t)
}
}
,
jn.prototype.clampX = function(t, e, i) {
this.clamp.enabled = t,
this.clamp.min.x = e || 0,
this.clamp.max.x = i || 0
}
,
jn.prototype.clampY = function(t, e, i) {
this.clamp.enabled = t,
this.clamp.min.y = e || 0,
this.clamp.max.y = i || 0
}
,
jn.prototype.reset = function() {
this.state.position = {
x: 0,
y: 0
},
this.state.delta = {
x: 0,
y: 0
}
}
,
jn.prototype.setPosX = function(t) {
this.setPos(t, this.state.position.y)
}
,
jn.prototype.setPosY = function(t) {
this.setPos(this.state.position.x, t)
}
,
jn.prototype.moveYBy = function(t) {
this.setPos(this.state.position.x, this.state.position.y + t)
}
,
jn.prototype.getY = function() {
return this.state.position.y
}
,
jn.prototype.setPos = function(t, e) {
this.clamp.enabled && (t = Dt(t, this.clamp.min.x, this.clamp.max.x),
e = Dt(e, this.clamp.min.y, this.clamp.max.y)),
this.state.position = {
x: t,
y: e
},
this.state.delta = {
x: 0,
y: 0
},
this.element.emit("scroll-update", {
x: t,
y: e,
delta: this.state.delta,
action: null
})
}
,
jn.prototype.destroy = function() {
var t = this.state.created;
this._removeListeners(),
this.state = {
pause: !1,
action: null,
position: {
x: 0,
y: 0
},
delta: {
x: 0,
y: 0
},
created: !1
},
t && (this.element = this.element.destroy())
}
,
Ce.proto(zn, Se),
Ce.proto(Yn, Se),
Yn.prototype.getContainer = function() {
return this._container
}
,
Yn.prototype.scrollInView = function(t, e, i) {
this.dom.scrollTop = 0,
this.state.skipAnimationOnce = i;
var n = -t.offsetTop
, o = t.offsetHeight
, r = this.dom.clientHeight
, s = this._container.dom.scrollHeight
, a = this.scroll.getY()
, l = a - r;
this._handle.css({
display: s <= r ? "none" : "block"
}),
this.scroll.clampY(!0, r - s, 0),
e ? this.scroll.setPosY(n + r / 2 - o / 2) : n > a ? this.scroll.setPosY(n) : n - o < l && this.scroll.setPosY(n + r - o)
}
,
Yn.prototype._onScrollUpdate = function(t) {
var e = t.y
, i = this._handle.dom.offsetHeight
, n = this.dom.clientHeight
, o = (jt(e, 0, n - this._container.dom.scrollHeight, 0, 1) || 0) * (n - i - 4);
"ie" === tt.Browser.type && 8 === tt.Browser.version ? (this._container.css({
top: e
}),
this._handle.css({
top: o
})) : (this._container.css({
transform: "translateY(" + e + "px)",
transition: this.state.skipAnimationOnce ? "none" : "transform 300ms"
}),
this._handle.css({
transform: "translateY(" + o + "px)",
transition: this.state.skipAnimationOnce ? "none" : "transform 300ms"
}),
this.state.skipAnimationOnce = !1)
}
,
Yn.prototype.baseStyle = function() {
this._container.css({
width: "100%",
position: "absolute",
overflowY: "hidden"
}),
this._handle.css({
position: "absolute",
willChange: "transform",
width: 3,
height: 40,
top: 2,
right: 5,
borderRadius: 4,
backgroundColor: "#6E829E"
})
}
,
Yn.prototype.onDestroy = function() {
this.scroll.destroy && this.scroll.destroy()
}
,
Ce.proto(qn, Se),
qn.prototype.setUsingKb = function(t) {
this.state.usingKb = t
}
,
qn.prototype.select = function() {
this.state.selected = !0,
this.state.isMenu || this.setAttribute("aria-selected", this.state.selected),
this.updateStyle(this.state.usingKb),
this.emit("select", this)
}
,
qn.prototype.deselect = function() {
this.state.selected = !1,
this.dom && (this.state.isMenu || this.setAttribute("aria-selected", this.state.selected),
this.updateStyle())
}
,
qn.prototype.focus = function() {
this.dom && (this.dom.focus(),
this.emit("focus"))
}
,
qn.prototype.getOptionData = function() {
return this.state.option
}
,
qn.prototype.setCopy = function() {
this._text.text(Oe.translate(this.state.option.text))
}
,
qn.prototype._onHover = function(t) {
this.emit("hover", t),
this.setUsingKb(!1),
this.updateStyle(t)
}
,
qn.prototype.updateStyle = function(t) {
if (this.dom) {
var e = this.state.theme.get().palette
, i = this.state.style;
tt.System.highContrast ? this.css({
borderColor: this.state.usingKb && t ? "CanvasText" : "none",
borderWidth: this.state.usingKb && t ? 1 : 0,
borderStyle: "solid"
}) : this.css({
borderColor: this.state.usingKb && t ? i.hover.border : "transparent"
}),
this.css({
background: this.state.selected ? i.selected.fill : t ? i.hover.fill : i.main.fill,
color: this.state.option.warn ? e.warn.main : this.state.selected ? i.selected.text : t ? i.hover.text : i.main.text
}),
this._separator.css({
display: this.state.isLast || this.state.selected || t ? "none" : "block"
})
}
}
,
qn.prototype.text = function() {
return this._text.text()
}
,
qn.prototype.style = function(t) {
this.state.isLast = t,
this.state.style = Gn(this.state.theme.get());
this.css({
position: "relative",
cursor: "pointer",
height: this.state.height - 6,
fontSize: 14,
fontWeight: 400
}),
tt.System.highContrast || this.css({
borderWidth: 3,
borderStyle: "solid",
borderColor: "transparent"
}),
this._separator.css({
position: "absolute",
height: 1,
bottom: -4,
left: 10,
right: 10,
background: this.state.style.main.line
}),
this.updateStyle()
}
,
Ce.proto(Xn, Yn),
Xn.prototype.getSelected = function() {
return this.state.selected && this.state.selected.getOptionData()
}
,
Xn.prototype.setCopy = function() {
for (var t = this._options.length; t--; )
this._options[t].setCopy()
}
,
Xn.prototype.setOptions = function(t) {
for (var e, i = this._options.length; i--; )
this.getContainer().removeElement(this._options[i]);
for (this._options = [],
i = 0; i < t.length; i++) {
e = this.getContainer().initComponent(qn, {
theme: this.state.theme,
isMenu: this.state.isMenu,
size: t.length,
height: this.state.optionHeight,
option: t[i]
});
var n = i === t.length - 1
, o = !!t[i].label;
if (e.setUsingKb(this.state.usingKb),
e.style(n),
o) {
var r = Oe.translate(t[i].label);
this.state.isMenu && (r = r + ", " + (i + 1) + " of " + t.length),
e.setAttribute("aria-label", r)
}
this._options.push(e),
e.on("select", this._onOptionSelect.bind(this, e)),
e.on("focus", this._onOptionFocus.bind(this, i)),
e.on("blur", this._onOptionBlur.bind(this, i)),
e.on("hover", this._onOptionHover.bind(this))
}
var s = -1 === this.state.optionsVisible ? this._options.length : this.state.optionsVisible;
this.css({
height: s * this.state.optionHeight
})
}
,
Xn.prototype.select = function(t) {
for (var e = null, i = this._options.length; i--; )
t === this._options[i].getOptionData().value && (e = this._options[i]);
if (!e)
throw new Error("Cannot select a missing option value: " + t);
e.select()
}
,
Xn.prototype.deselect = function() {
this.state.selected && this.state.selected.deselect(),
this.state.selected = null
}
,
Xn.prototype._onOptionSelect = function(t) {
this.hide(),
this.state.selected && this.state.selected !== t && this.state.selected.deselect(),
this.state.selected = t,
this.emit("select", t.getOptionData())
}
,
Xn.prototype._onOptionFocus = function(t) {
this.state.focusedId = t;
var e = this._options[t]
, i = !this.state.centerOnce && e === this.state.selected;
i && (this.state.centerOnce = !0),
this.scrollInView(e.dom, i, i)
}
,
Xn.prototype._onOptionHover = function() {
for (var t = this._options.length; t--; )
this._options[t].updateStyle(!1)
}
,
Xn.prototype._onOptionBlur = function() {
var t = this;
this.state.hasItemsNavigation = this.state.focusedId > 0,
this.state.focusedId = -1,
setTimeout((function() {
var e = "android" !== tt.System.os || t.state.hasItemsNavigation;
t.dom && -1 === t.state.focusedId && e && t.hide()
}
), 0)
}
,
Xn.prototype.isVisible = function() {
return this.state.visible
}
,
Xn.prototype.hide = function() {
this.state.visible && (this.state.visible = !1,
this.setAttribute("aria-expanded", !1),
this.setAttribute("tabindex", "-1"),
this.setAttribute("aria-hidden", "true"),
this.css({
display: "none"
}),
this.emit("hide"),
this.state.hasItemsNavigation = !1)
}
,
Xn.prototype.open = function() {
if (!this.state.visible) {
this.state.centerOnce = !1,
this.state.visible = !0,
this.setCopy(),
this.setAttribute("aria-expanded", !0),
this.setAttribute("tabindex", "0"),
this.setAttribute("aria-hidden", "false"),
this.css({
display: "block"
});
var t = this.state.selected ? this.state.selected : this._options[0];
t && t.focus(),
this.emit("open")
}
}
,
Xn.prototype.setInitialA11YState = function() {
this.setAttribute("aria-expanded", !0),
this.setAttribute("tabindex", "0")
}
,
Xn.prototype.setUsingKb = function(t) {
this.state.usingKb = t;
for (var e = this._options.length; e--; )
this._options[e].setUsingKb(t)
}
,
Xn.prototype.style = function(t) {
var e = function(t) {
var e = t.palette
, i = t.component;
return hn.merge({
main: {
fill: e.common.white,
border: "#6E829E"
}
}, i.list)
}(this.state.theme.get());
this.css({
width: t || 160,
display: this.isVisible() ? "block" : "none",
zIndex: 100,
background: e.main.fill,
boxShadow: "rgba(0, 0, 0, 0.3) 0px 0px 4px",
borderWidth: 1,
borderRadius: 4,
borderStyle: "solid",
borderColor: e.main.border,
position: "absolute",
overflow: "hidden",
left: 0
}),
this.getContainer().css({
lineHeight: this.state.optionHeight - 6,
whiteSpace: "nowrap",
textAlign: "center"
});
for (var i = this._options.length; --i > -1; )
this._options[i].style(i === this._options.length - 1, t);
this.baseStyle()
}
,
Xn.prototype.onKeyPress = function(t) {
var e = this;
if (27 === t.keyNum)
return t.stopPropagation && t.stopPropagation(),
t.preventDefault && t.preventDefault(),
e.emit("blur"),
void e.hide();
if (-1 === [13, 32, 107].indexOf(t.keyNum)) {
if (this.setUsingKb(!0),
-1 !== [38, 40].indexOf(t.keyNum)) {
var i = (e.state.focusedId + (38 === t.keyNum ? -1 : 1)) % e._options.length;
return -1 === i && (i = e._options.length - 1),
t.stopPropagation && t.stopPropagation(),
t.preventDefault && t.preventDefault(),
void e._options[i].focus()
}
if (9 === t.keyNum && -1 === (i = (e.state.focusedId + (t.shiftKey ? -1 : 1)) % e._options.length))
return t.stopPropagation && t.stopPropagation(),
t.preventDefault && t.preventDefault(),
void e.emit("blur");
var n;
this.state.searchTimer && clearTimeout(this.state.searchTimer),
this.state.searchTimer = setTimeout((function() {
e.state.search = ""
}
), 500),
n = t.keyCode >= 96 && t.keyCode <= 105 ? String.fromCharCode(t.keyCode - 48) : String.fromCharCode(t.keyCode),
this.state.search += n;
var o = this._findByValue(this.state.search);
o && o.focus()
}
}
,
Xn.prototype._findByValue = function(t) {
t = t.toLowerCase();
for (var e = null, i = this._options.length; i--; )
0 === this._options[i].text().toLowerCase().indexOf(t) && (e = this._options[i]);
return e
}
,
Ce.proto(Qn, Se),
Qn.prototype.setStyle = function(t) {
t = t || {};
var e = function(t) {
var e = t.palette
, i = t.component
, n = "light" === e.mode;
return hn.merge({
main: {
fill: e.grey[n ? 100 : 800],
border: e.grey[n ? 300 : 200]
},
hover: {
fill: e.grey[n ? 200 : 900]
}
}, i.box)
}(this._theme.get());
this.boxState.css.boxSizing = t.boxSizing || this.boxState.css.boxSizing || "content-box",
this.boxState.css.width = t.width || this.boxState.css.width || "100%",
this.boxState.css.height = t.height || this.boxState.css.height || "100%",
this.boxState.css.padding = t.padding || this.boxState.css.padding || 0,
this.boxState.css.margin = t.margin || this.boxState.css.margin || 0,
this.boxState.css.borderWidth = t.borderWidth || this.boxState.css.borderWidth || 0,
this.boxState.css.borderRadius = t.borderRadius || this.boxState.css.borderRadius || 0,
this.boxState.css.borderStyle = t.borderStyle || this.boxState.css.borderStyle || "solid",
this.boxState.css.borderColor = t.borderColor || this.boxState.css.borderColor || e.main.border,
this.boxState.css.backgroundColor = t.backgroundColor || this.boxState.css.backgroundColor || e.main.fill,
this.boxState.css.cursor = t.cursor || this.boxState.css.cursor || "default",
this.css(this.boxState.css)
}
,
Qn.prototype.setVisible = function(t) {
this.boxState.visible = t,
this.css({
display: t ? "block" : "none"
}),
this._tabbable && (this.setAttribute("aria-hidden", !t),
this.setAttribute("tabindex", t ? "0" : "-1"))
}
,
Qn.prototype.setAriaLabel = function(t) {
t ? this.setAttribute("aria-label", t) : this.boxState.ariaLabel && this.setAttribute("aria-label", Oe.translate(this.boxState.ariaLabel))
}
,
Ce.proto($n, Se),
$n.prototype.style = function(t, e, i) {
e || (e = t),
i !== undefined && (this.state.thickness = i),
this.css({
width: t,
height: e,
opacity: this.state.visible ? 1 : 0,
position: "absolute",
left: 0,
top: 0,
overflow: "hidden",
borderRadius: this.state.rounded
}),
this.$top.css({
position: "absolute",
left: 0,
top: 0,
width: t,
height: this.state.thickness,
backgroundColor: this.state.color
}),
this.$bottom.css({
position: "absolute",
left: 0,
bottom: 0,
width: t,
height: this.state.thickness,
backgroundColor: this.state.color
}),
this.$right.css({
position: "absolute",
right: 0,
top: 0,
width: this.state.thickness,
height: e,
backgroundColor: this.state.color
}),
this.$left.css({
position: "absolute",
left: 0,
top: 0,
width: this.state.thickness,
height: e,
backgroundColor: this.state.color
})
}
,
$n.prototype.setVisibility = function(t) {
this.state.visible = t,
this.css({
opacity: t ? 1 : 0
})
}
,
$n.prototype.setColor = function(t) {
this.state.color = t,
this.$top.css({
backgroundColor: this.state.color
}),
this.$bottom.css({
backgroundColor: this.state.color
}),
this.$right.css({
backgroundColor: this.state.color
}),
this.$left.css({
backgroundColor: this.state.color
})
}
,
$n.prototype.isVisible = function() {
return this.state.visible
}
,
Ce.proto(eo, Se),
eo.prototype.setUrl = function(t) {
this.state.url = t
}
,
eo.prototype.getUrl = function() {
return this.state.url
}
,
eo.prototype.size = function(t, e) {
var i = to(this.state.theme.get());
t && (this.state.width = t),
e ? this.state.height = e : t && (this.state.height = t),
this.css({
outlineColor: i.focus.outline,
display: "block",
width: this.state.width,
height: this.state.height
}),
this.graphic.size(this.state.width, this.state.height)
}
,
eo.prototype.onFocus = function(t) {
var e = to(this.state.theme.get()).focus.outline;
this.css({
outline: "2px solid " + e
})
}
,
eo.prototype.onBlur = function(t) {
this.css({
outline: "none"
})
}
,
Ce.proto(io, Se),
io.prototype.setVisible = function(t) {
this.state.visible = t,
this.css({
display: t ? "block" : "none"
})
}
,
io.prototype.style = function(t, e) {
var i = t
, n = t;
return this.icon.size(i, n),
this.icon.fill(e),
this.css({
width: i,
height: n
}),
{
width: i,
height: n
}
}
,
io.prototype.spin = function() {
this._angle = (this._angle + 8) % 360,
this.icon.css({
transform: "android" === tt.System.os ? "rotate(" + this._angle + "deg)" : "rotate(" + this._angle + "deg) translateZ(1px)"
})
}
,
io.prototype.startSpinning = function() {
var t = this;
t.stopSpinning(),
function e() {
t.spin(),
t._timer = setTimeout(e, t._interval)
}()
}
,
io.prototype.stopSpinning = function() {
this._timer && (clearTimeout(this._timer),
this._timer = null)
}
,
io.prototype.onDestroy = function() {
this.stopSpinning()
}
,
no.prototype.play = function() {
this._element.dom && !this._isPlaying && (this._element.dom.play(),
this._isPlaying = !0)
}
,
no.prototype.pause = function() {
this._element.dom && this._isPlaying && (this._element.dom.pause(),
this._isPlaying = !1)
}
,
no.prototype.stop = function() {
this._element.dom && (this._element.dom.pause(),
this._element.dom.currentTime = 0,
this._isPlaying = !1)
}
,
no.prototype.isPlaying = function() {
return this._isPlaying
}
,
no.prototype.getVideoElement = function() {
return this._element.dom
}
,
Ce.proto(ro, Se),
ro.prototype.size = function(t, e) {
this.config.size = t || this.config.size,
this._style = oo(this._theme.get());
var i = e || this._style.main.fill
, n = this.state.visible ? 1 : 1.2;
if (this.css({
width: this.config.size,
height: this.config.size,
borderRadius: "50%",
opacity: this.state.visible ? 1 : 0,
transition: "none"
}),
this.$fill.css({
backgroundColor: i,
width: this.config.size,
height: this.config.size,
position: "absolute",
transform: "scale(" + n + ")",
top: 0,
left: 0,
zIndex: 5,
transition: "none",
borderRadius: "50%",
border: 1,
borderColor: "#fff"
}),
this.$radial.css({
backgroundColor: i,
width: this.config.size,
height: this.config.size,
transform: "scale(1)",
position: "absolute",
opacity: .5,
top: 0,
left: 0,
zIndex: 0,
transition: "none",
borderRadius: "50%"
}),
this.icon) {
var o = this._style.main.icon;
this.$wrapper.css({
width: this.config.size,
height: this.config.size,
overflow: "hidden"
}),
this.icon.fill(o),
this.icon.size(this.config.size, this.config.size),
this.icon.css({
position: "absolute",
top: 0,
left: 0,
zIndex: 15
})
}
}
,
ro.prototype.display = function(t, e) {
this._timer && (this._timer = clearTimeout(this._timer)),
this.resetAnimation(),
e ? this._timer = setTimeout(function() {
this.state.visible = t,
t ? this.animateIn() : this.animateOut()
}
.bind(this), 16) : this.reset(t)
}
,
ro.prototype.reset = function(t) {
this.state.visible = t,
this.css({
transition: "none",
opacity: t ? 1 : 0
}),
this.icon.css({
top: t ? 0 : this.config.size / 4,
opacity: t ? 1 : 0,
transition: "none"
}),
this.$radial.css({
opacity: 0,
transition: "none"
}),
this.$fill.css({
transition: "none",
transform: "scale(1)"
})
}
,
ro.prototype.resetAnimation = function() {
var t = this.state.visible ? 1 : .75;
this.$fill.css({
transition: "none",
transform: "scale(" + t + ")"
}),
this.$radial.css({
opacity: .25,
transition: "none",
transform: "scale(1)"
}),
this.icon.css({
top: this.state.visible ? 0 : this.config.size / 4,
opacity: this.state.visible ? 1 : 0,
transition: "none"
})
}
,
ro.prototype.animateIn = function() {
var t = "android" === tt.System.os && (window.navigator.userAgent.indexOf("wv") > 0 || window.navigator.userAgent.indexOf("webview") > 0);
this.css({
transition: t ? "none" : "all 0.25s cubic-bezier(0.33, 1, 0.68, 1)",
opacity: 1
}),
this.$fill.css({
transition: t ? "none" : "all 0.25s cubic-bezier(.18,1.78,.66,.84) 0.05s",
transform: "scale(1)"
}),
this.$radial.css({
opacity: 0,
transition: t ? "none" : "all 0.35s cubic-bezier(0.33, 1, 0.68, 1) 0.05s",
transform: "scale(1.5)"
}),
this.icon.css({
top: 0,
opacity: 1,
transition: t ? "none" : "all 0.25s cubic-bezier(0.33, 1, 0.68, 1) 0.05s"
})
}
,
ro.prototype.animateOut = function() {
var t = "android" === tt.System.os && (window.navigator.userAgent.indexOf("wv") > 0 || window.navigator.userAgent.indexOf("webview") > 0);
this.css({
transition: t ? "none" : "opacity 0.2s cubic-bezier(0.25, 1, 0.5, 1) 0.05s",
opacity: 0
}),
this.$fill.css({
transition: t ? "none" : "transform 0.2s cubic-bezier(0.25, 1, 0.5, 1) 0.05s",
transform: "scale(0.65)"
}),
this.$radial.css({
opacity: 0,
transition: "none"
}),
this.icon.css({
top: -this.config.size / 4,
opacity: 0,
transition: t ? "none" : "all 0.2s cubic-bezier(0.25, 1, 0.5, 1)"
})
}
,
ro.prototype.fill = function(t) {
this.$fill.css({
backgroundColor: t,
transition: "none"
}),
this.$radial.css({
backgroundColor: t,
transition: "none"
})
}
,
Ce.proto(ao, Se),
ao.prototype._initializeComponents = function() {
this.markdownContent = this.initComponent(mn, {
theme: this._theme
}),
this.arrow = this.initComponent(Se, ".tooltip-arrow")
}
,
ao.prototype._setupAccessibility = function() {
this.setAttribute("role", "tooltip"),
this.setAttribute("id", this._tooltipId),
this.setAttribute("aria-hidden", "true"),
this.setAttribute("tabindex", "-1"),
this.arrow.setAttribute("aria-hidden", "true")
}
,
ao.prototype._bindEventHandlers = function() {
this.onAnchorHover = this.onAnchorHover.bind(this),
this.onAnchorFocus = this.onAnchorFocus.bind(this),
this.onAnchorBlur = this.onAnchorBlur.bind(this),
this.onTooltipHover = this.onTooltipHover.bind(this)
}
,
ao.prototype._setupEventListeners = function() {
this._mobile || (this._anchor.addEventListener("over", this.onAnchorHover),
this._anchor.addEventListener("out", this.onAnchorHover),
this.addEventListener("over", this.onTooltipHover),
this.addEventListener("out", this.onTooltipHover)),
this._anchor.addEventListener("focus", this.onAnchorFocus),
this._anchor.addEventListener("blur", this.onAnchorBlur)
}
,
ao.prototype.style = function() {
this.state.style = so(this._theme.get());
var t = this.state.style.main
, e = this.state.visible
, i = this.config.maxWidth;
this.css({
visibility: e ? "visible" : "hidden",
opacity: e ? 1 : 0,
backgroundColor: t.background,
color: t.text,
position: "fixed",
zIndex: 30,
borderRadius: 6,
padding: 8,
fontSize: 12,
fontWeight: 500,
lineHeight: 14,
wordWrap: "break-word",
textAlign: "left",
whiteSpace: "pre-wrap",
maxWidth: i - 16,
transition: "opacity 0.2s ease-in-out, visibility 0.2s ease-in-out"
}),
this.arrow.css({
position: "absolute",
width: 0,
height: 0,
borderStyle: "solid"
}),
this.state.visible && this._positionTooltip()
}
,
ao.prototype.onAnchorHover = function(t) {
this.state.locked || ("over" === t.action ? this._scheduleShow() : this._scheduleHide())
}
,
ao.prototype.onTooltipHover = function(t) {
"over" === t.action ? this._clearHideTimeout() : this._scheduleHide()
}
,
ao.prototype.onAnchorFocus = function() {
this.state.locked || this.show()
}
,
ao.prototype.onAnchorBlur = function() {
this.state.locked || this.hide()
}
,
ao.prototype.show = function() {
this.state.visible || (this.state.visible = !0,
this._clearShowTimeout(),
this._clearHideTimeout(),
this.style(),
this.emit("show"))
}
,
ao.prototype.hide = function() {
this.state.visible && (this.state.visible = !1,
this._clearShowTimeout(),
this._clearHideTimeout(),
this.style(),
this.emit("hide"))
}
,
ao.prototype.setText = function(t) {
this.state.text = t,
this.translate()
}
,
ao.prototype.translate = function() {
var t = Oe.translate(this.state.text);
this.markdownContent.parseText(t)
}
,
ao.prototype._scheduleShow = function() {
var t = this;
this._clearShowTimeout(),
this._clearHideTimeout(),
this._showTimeout = setTimeout((function() {
t.show()
}
), this.config.delay)
}
,
ao.prototype._scheduleHide = function() {
var t = this;
this._clearHideTimeout(),
this.state.visible ? this._hideTimeout = setTimeout((function() {
t.hide()
}
), 200) : this._clearShowTimeout()
}
,
ao.prototype._clearShowTimeout = function() {
this._showTimeout && (clearTimeout(this._showTimeout),
this._showTimeout = null)
}
,
ao.prototype._clearHideTimeout = function() {
this._hideTimeout && (clearTimeout(this._hideTimeout),
this._hideTimeout = null)
}
,
ao.prototype._positionTooltip = function() {
if (this._anchor) {
var t = this._anchor.dom.getBoundingClientRect()
, e = this.config.position
, i = this.config.offset
, n = {};
switch (e) {
default:
n.left = t.left + t.width / 2 + "px",
n.top = t.top - i + "px",
n.transform = "translate(-50%, -100%)";
break;
case "bottom":
n.left = t.left + t.width / 2 + "px",
n.top = t.bottom + i + "px",
n.transform = "translate(-50%, 0)";
break;
case "left":
n.left = t.left - i + "px",
n.top = t.top + t.height / 2 + "px",
n.transform = "translate(-100%, -50%)";
break;
case "right":
n.left = t.right + i + "px",
n.top = t.top + t.height / 2 + "px",
n.transform = "translate(0, -50%)"
}
this.config.customPosition || this.css(n),
this._positionArrow(t, e)
}
}
,
ao.prototype._positionArrow = function(t, e) {
var i = this.dom.getBoundingClientRect()
, n = this.state.style.main
, o = {}
, r = 0
, s = 0;
switch (e) {
default:
r = t.left + t.width / 2 - i.left - 6,
o.left = r + "px",
o.bottom = "-6px",
o.borderWidth = "6px 6px 0 6px",
o.borderColor = n.background + " transparent transparent transparent";
break;
case "bottom":
r = t.left + t.width / 2 - i.left - 6,
o.left = r + "px",
o.top = "-6px",
o.borderWidth = "0 6px 6px 6px",
o.borderColor = "transparent transparent " + n.background + " transparent";
break;
case "left":
s = t.top + t.height / 2 - i.top - 6,
o.top = s + "px",
o.right = "-6px",
o.borderWidth = "6px 0 6px 6px",
o.borderColor = "transparent transparent transparent " + n.background;
break;
case "right":
s = t.top + t.height / 2 - i.top - 6,
o.top = s + "px",
o.left = "-6px",
o.borderWidth = "6px 6px 6px 0",
o.borderColor = "transparent " + n.background + " transparent transparent"
}
this.arrow.css(o)
}
,
ao.prototype.onDestroy = function() {
this._clearShowTimeout(),
this._clearHideTimeout()
}
;
var lo = {
__proto__: null,
Graphic: yn,
ListNative: On,
ListCustom: Xn,
ListCustomOption: qn,
Link: dn,
LoadingIndicator: An,
Logo: eo,
Span: fn,
Markdown: mn,
IconButton: Vn,
TextButton: xn,
ActionButton: Mn,
RadioButton: Wn,
TextArea: Zn,
Box: Qn,
Border: $n,
Badge: ro,
Spinner: io,
Button: vn,
Video: no,
Tooltip: ao,
ChallengeHeader: Un,
Image: Cn,
countLines: kn
};
function ho() {
Ce.self(this, Vn, {
title: "Close Modal",
name: "close",
src: "data:image/svg+xml,%3csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M17.5669 4.17308C17.1764 3.78256 16.5432 3.78256 16.1527 4.17308L11 9.32578L5.84731 4.17309C5.45678 3.78257 4.82362 3.78257 4.43309 4.17309L4.17308 4.43311C3.78256 4.82363 3.78256 5.4568 4.17308 5.84732L9.32577 11L4.17309 16.1527C3.78257 16.5432 3.78257 17.1764 4.17309 17.5669L4.4331 17.8269C4.82363 18.2174 5.45679 18.2174 5.84732 17.8269L11 12.6742L16.1527 17.8269C16.5432 18.2174 17.1764 18.2174 17.5669 17.8269L17.8269 17.5669C18.2174 17.1764 18.2174 16.5432 17.8269 16.1527L12.6742 11L17.8269 5.84731C18.2174 5.45678 18.2174 4.82362 17.8269 4.43309L17.5669 4.17308Z'/%3e%3c/svg%3e",
theme: un,
width: 30,
height: 30
})
}
function co() {
Ce.self(this, Se, "header", "h2"),
this.state = {
visible: !0
},
this.$title = this.createElement("span", "#modal-title"),
this.$underline = this.createElement(".underline")
}
function uo(t) {
var e = t.palette
, i = t.component
, n = "light" === e.mode;
return hn.merge({
main: {
fill: e.common.white,
border: e.grey[n ? 300 : 200]
},
hover: {
fill: e.grey[n ? 200 : 700]
},
focus: {
outline: e.primary.main
}
}, i.modal)
}
function po() {
Ce.self(this, Se, "modal");
var t = this;
this.state = {
visible: !1,
curr: null,
prev: null
},
this._style = uo(un.get()),
this.addClass("no-outline"),
this.setAttribute("role", "dialog"),
this.setAttribute("aria-modal", !0),
this.setAttribute("tabindex", "0"),
this.header = this.initComponent(co),
this.header.setAttribute("aria-level", "1"),
this.header.on("close", (function() {
t.emit("close")
}
)),
this.$content = this.createElement("#modal-content"),
this.$content.addClass("content"),
this.setAttribute("aria-describedby", "modal-content"),
this.close = this.initComponent(ho),
this.close.on("click", (function() {
t.emit("close")
}
)),
this.addEventListener("keydown", (function(e) {
if (t.dom && 9 === e.keyNum) {
var i = function(t) {
var e = [];
try {
for (var i = document.createTreeWalker(t, NodeFilter.SHOW_ELEMENT, {
acceptNode: function(t) {
return null !== t.offsetParent && ("BUTTON" === t.tagName || "A" === t.tagName && t.hasAttribute("href") || "INPUT" === t.tagName || "SELECT" === t.tagName || "TEXTAREA" === t.tagName || t.hasAttribute("tabindex") && "-1" !== t.getAttribute("tabindex")) && !t.disabled ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP
}
}, !1), n = i.nextNode(); n; )
e.push(n),
n = i.nextNode();
return e
} catch (Bs) {
return Lt("Modal a11y getFocusableElements", "challenge", "info", Bs),
null
}
}(t.dom);
if (i) {
var n = i[0]
, o = i[i.length - 1];
e.shiftKey ? document.activeElement === n && o && (o.focus(),
e.preventDefault()) : document.activeElement === o && n && (n.focus(),
e.preventDefault())
}
}
}
)),
this.addEventListener("focus", (function() {
t.css({
border: "2px solid " + t._style.focus.outline
})
}
)),
this.addEventListener("blur", (function() {
t.css({
border: "none"
})
}
))
}
function fo(t) {
Ce.self(this, Se, "copy", "p");
var e = this;
t || (t = {}),
this.state = {
text: t.text || "",
linkUnderline: t.linkUnderline || !1,
linkTranslate: t.linkTranslate || !1,
link: t.link || !1,
linkText: t.linkText || "",
linkTextLabel: t.linkTextLabel || "",
linkTo: t.linkTo || null,
replaceText: t.replaceText || null
},
this.state.link && (this.link = new dn({
theme: un,
text: this.state.linkText,
url: this.state.linkTo,
textLabel: this.state.linkTextLabel,
underline: this.state.linkUnderline,
linkToLocale: this.state.linkTranslate
}),
this.state.linkTo && this.link.on("click", (function(t) {
e.emit("click", t)
}
)))
}
Ce.proto(ho, Vn),
ho.size = ho.prototype.size = 30,
Ce.proto(co, Se),
co.prototype.style = function(t, e) {
var i = e ? 40 : 44
, n = un.get().palette
, o = "light" === n.mode;
return this.$title.css({
color: o ? n.text.heading : n.grey[700],
fontWeight: 600,
fontSize: e ? 15 : 16,
display: this.state.visible ? "table-cell" : "none",
verticalAlign: "middle",
paddingTop: 2,
height: i,
width: t - ho.size
}),
Oe.isRTL() ? this.$title.css({
paddingRight: "40px"
}) : this.$title.css({
paddingRight: 0
}),
this.$underline.css({
backgroundColor: n.primary.main,
width: t,
height: 1,
top: i,
position: "absolute"
}),
this.css({
width: t,
height: i,
position: "relative",
top: 0
}),
{
height: i,
width: t
}
}
,
co.prototype.setCopy = function(t) {
var e = Oe.translate(t);
Oe.setDirection(this.$title, Oe.getLocale()),
this.$title.text(e)
}
,
co.prototype.display = function(t) {
this.state.visible = t,
this.css({
display: t ? "table-cell" : "none"
})
}
,
co.prototype.isVisible = function() {
return this.state.visible
}
,
Ce.proto(po, Se),
po.prototype.load = function() {
this.close.load()
}
,
po.prototype.style = function(t, e) {
var i = t < 300;
this._style = uo(un.get()),
this.css({
width: t,
maxHeight: e,
position: "relative",
margin: "0 auto",
backgroundColor: this._style.main.fill,
display: this.header ? "block" : "table",
borderRadius: 4,
zIndex: 10,
overflow: "hidden",
border: "1px solid " + this._style.main.border,
boxShadow: "rgba(0, 0, 0, 0.15) 0px 0px 2px",
padding: "0px 15px 15px"
}),
this.header.isVisible() ? (this.header.style(t, i),
this.$content.css({
display: "block",
height: "auto",
marginTop: 10
})) : this.$content.css({
display: "table-cell",
verticalAlign: "middle",
marginTop: 0,
height: e
}),
this.close.style(),
this.close.css({
position: "absolute",
right: 20,
top: i ? 5 : 7
})
}
,
po.prototype.setTitle = function(t) {
t ? (this.header.display(!0),
this.header.setCopy(t),
this.close.setTitle()) : this.header.display(!1),
Oe.setDirection(this, Oe.getLocale())
}
,
Ce.proto(fo, Se),
fo.prototype.style = function(t, e) {
var i = un.get().palette
, n = "light" === i.mode;
e || (e = "center"),
this.css({
width: "100%",
fontSize: t,
textAlign: e,
fontWeight: 400,
color: n ? i.text.body : i.grey[700],
lineHeight: t + 6,
display: "inline"
}),
this.state.link && (this.link.style(t),
this.link.css({
display: "inline"
}))
}
,
fo.prototype.translate = function() {
var t = Oe.translate(this.state.text);
if (this.state.link)
if (this.link.translate(),
this.state.replaceText) {
var e = t.split("{{" + Oe.translate(this.state.replaceText) + "}}")
, i = document.createTextNode(e[0]);
if (this.appendElement(i),
this.appendElement(this.link),
"" !== e[1]) {
var n = document.createTextNode(e[1]);
this.appendElement(n)
}
} else {
var o = document.createTextNode(t + " ");
this.appendElement(o),
this.appendElement(this.link)
}
else
this.content(t)
}
;
function mo() {
Ce.self(this, Se, "instructions");
var t = this;
this.copy = this.initComponent(fo, {
text: "hCaptcha is a service that reduces bots and spam by asking simple questions. Please follow the instructions at the top of the screen for each challenge. For more information visit {{site-url}}",
link: !0,
linkText: "hcaptcha.com",
linkTextLabel: "hcaptcha.com. Opens in a new tab.",
linkUnderline: !0,
linkTo: "https://www.hcaptcha.com/what-is-hcaptcha-about?ref=" + ht.host + "&utm_campaign=" + ht.sitekey + "&utm_medium=embed_about",
linkTranslate: !0,
replaceText: "site-url"
}),
this.copy.on("click", (function(e) {
e.preventDefault(),
Yi(t.copy.state.linkTo)
}
))
}
function yo() {
Ce.self(this, Se, "feedback");
var t = this;
this.info = this.initComponent(fn, {
text: "Having a problem?"
}),
this.link = this.initComponent(dn, {
theme: un,
underline: !0,
text: "Provide Feedback."
}),
this.link.on("click", (function() {
t.emit("click")
}
))
}
function go() {
Ce.self(this, Se, "information");
var t = this;
this.instructions = this.initComponent(mo, null, this.$content),
this.feedback = this.initComponent(yo, null, this.$content),
this.feedback.on("click", (function() {
t.emit("change", "feedback")
}
))
}
function bo() {
Ce.self(this, Se, "actions");
var t = this;
this.palette = un.get().palette,
this.cancel = this.initComponent(Mn, {
theme: un,
selector: "button-cancel",
title: "Cancel",
type: "warn"
}),
this.send = this.initComponent(Mn, {
theme: un,
selector: "button-send",
title: "Send",
type: "confirm"
}),
this.cancel.on("click", (function() {
t.emit("cancel")
}
)),
this.send.on("click", (function() {
t.emit("confirm")
}
)),
this.send.on("style", (function() {
t.send.css({
background: t.palette.grey[100],
opacity: .6
})
}
))
}
Ce.proto(mo, Se),
mo.prototype.style = function(t) {
this.copy.style(t, "left")
}
,
mo.prototype.setCopy = function() {
this.copy.translate()
}
,
Ce.proto(yo, Se),
yo.prototype.style = function(t) {
var e = Math.floor(jt(t, 250, 300, 11, 13))
, i = un.get().palette
, n = "light" === i.mode;
this.css({
textAlign: "center",
color: n ? i.text.body : i.grey[700],
fontSize: e,
fontWeight: 500,
width: t,
margin: "0 auto"
}),
this.link.css({
fontWeight: 500,
marginLeft: 3,
textDecoration: "underline",
cursor: "pointer"
})
}
,
yo.prototype.setCopy = function() {
var t = Oe.translate("Provide Feedback.");
this.info.translate(),
this.link.translate(),
this.link.setAttribute("aria-label", t)
}
,
Ce.proto(go, Se),
go.prototype.style = function(t, e, i) {
var n = Math.floor(jt(t, 250, 275, 12, 14));
this.instructions.style(n),
this.instructions.css({
marginBottom: 10
}),
this.feedback.style(t)
}
,
go.prototype.setCopy = function() {
this.instructions.setCopy(),
this.feedback.setCopy()
}
,
Ce.proto(bo, Se),
bo.prototype.style = function(t, e, i) {
this.send.style(),
this.cancel.style(t, i),
this.cancel.css({
position: "absolute"
}),
this.send.css({
position: "absolute"
}),
Oe.isRTL() ? (this.cancel.css({
right: 0
}),
this.send.css({
left: 0
})) : (this.cancel.css({
left: 0
}),
this.send.css({
right: 0
}))
}
,
bo.prototype.setCopy = function() {
this.cancel.setText(),
this.send.setText()
}
,
bo.prototype.lockSend = function(t) {
this.send.lock(t),
t ? (this.send.setLabel("Please select an option to send response."),
this.send.css({
background: this.palette.grey[100],
opacity: .6
})) : (this.send.removeAttribute("aria-label"),
this.send.css({
background: this.send.state.style.main.fill,
opacity: 1
}))
}
,
bo.prototype.visible = function(t) {
this.cancel.enable(t),
this.send.enable(t)
}
;
function vo() {
Ce.self(this, Se, "instructions"),
this.copy = this.initComponent(fo, {
text: "Please select Confirm to follow the link, or Cancel to stay on the current screen."
})
}
function wo(t) {
Ce.self(this, Se, "navigation");
var e = this;
this.confirmation = this.initComponent(vo),
this.actions = this.initComponent(bo),
this.actions.on("confirm", (function() {
window.open(t.url, "_blank"),
e.emit("close")
}
)),
this.actions.on("cancel", (function() {
e.emit("close")
}
))
}
function Vo(t) {
Ce.self(this, Se, "options"),
this.state = {
visible: !0,
radioFocusedIndex: 0
},
this.handeSelect = this.handeSelect.bind(this),
this.$wrapper = this.createElement(".column-wrapper"),
this.$left = this.$wrapper.createElement(".column-left"),
this.$right = this.$wrapper.createElement(".column-right"),
this.options = [];
for (var e = null, i = null, n = null, o = 0; o < t.length; o++)
n = t[o],
i = o >= t.length / 2 ? this.$right : this.$left,
(e = this.initComponent(Wn, {
theme: un,
text: n.text,
value: n.value
}, i)).setCopy(),
e.on("select", this.handeSelect),
this.options.push(e);
var r = this;
this.addEventListener("keydown", (function(t) {
var e = t.keyNum;
if (38 === e || 40 === e) {
t.preventDefault && t.preventDefault();
var i = 38 === e ? -1 : 1
, n = r.state.radioFocusedIndex + i;
n < 0 ? n = r.options.length - 1 : n >= r.options.length && (n = 0),
r.state.radioFocusedIndex = n;
var o = r.options[n];
o && o.$radio && o.$radio.focus()
}
}
))
}
Ce.proto(vo, Se),
vo.prototype.style = function(t) {
this.copy.style(t, "left")
}
,
vo.prototype.setCopy = function() {
this.copy.translate()
}
,
Ce.proto(wo, Se),
wo.prototype.style = function(t, e, i) {
var n = Math.floor(jt(t, 250, 275, 12, 14));
this.confirmation.style(n),
this.confirmation.css({
marginBottom: 10
}),
this.actions.style(t, i),
this.actions.css({
width: i ? 200 : 220,
height: 35,
position: "relative",
margin: "10px auto 0px"
})
}
,
wo.prototype.setCopy = function() {
this.confirmation.setCopy(),
this.actions.setCopy()
}
,
Ce.proto(Vo, Se),
Vo.prototype.style = function(t, e) {
var i = Math.floor(t / 2);
this.$left.css({
width: "50%",
display: "inline-block"
}),
this.$right.css({
width: "50%",
display: "inline-block"
});
for (var n = 0; n < this.options.length; n++)
this.options[n].style(i)
}
,
Vo.prototype.handeSelect = function(t) {
if (this.state.visible) {
for (var e = !1, i = 0; i < this.options.length; i++)
(e = this.options[i] === t) && e === t.state.selected && (e = !e),
this.options[i].toggle(e);
this.emit("update", t)
}
}
,
Vo.prototype.visible = function(t) {
this.state.visible = t,
this.css({
display: t ? "inline-block" : "none"
});
for (var e = 0; e < this.options.length; e++)
this.options[e].lock(!t)
}
,
Vo.prototype.setCopy = function() {
for (var t = 0; t < this.options.length; t++)
this.options[t].setCopy()
}
;
var xo = "Please describe your issue."
, ko = "Provide details"
, Eo = [{
text: "Can't Solve",
value: "captcha_solve"
}, {
text: "Can't Click",
value: "captcha_usability"
}, {
text: "Off Screen",
value: "captcha_position"
}, {
text: "Other",
value: "other"
}]
, Ao = "Please describe your issue."
, Co = [{
text: "Inappropriate",
value: "inappropriate"
}, {
text: "Violent",
value: "violent"
}, {
text: "Too Difficult",
value: "difficulty"
}, {
text: "Other",
value: "other"
}]
, So = "Please describe your issue."
, Ro = "Provide details"
, To = [{
text: "Inappropriate",
value: "content"
}, {
text: "Software Bug",
value: "software"
}, {
text: "Too Difficult",
value: "difficulty"
}, {
text: "Other",
value: "other"
}];
function _o(t) {
Ce.self(this, Se, "report");
var e = this;
this.state = {
selected: null,
taskKey: t.key,
type: t.type
};
var i, n, o, r, s = (i = t.type,
n = So,
o = Ro,
r = To,
"bug" === i ? (o = ko,
n = xo,
r = Eo) : "image" === i && (n = Ao,
r = Co),
{
prompt: n,
label: o,
options: r
});
this.options = this.initComponent(Vo, s.options),
this.comment = this.initComponent(Zn, {
placeholder: s.prompt,
theme: un,
label: s.label,
componentId: t.type
}),
this.comment.on("change", (function(t) {
if (e.comment.state.visible) {
var i = 0 === e.comment.getValue().trim().length && (!e.state.selected || "other" === e.state.selected.state.value);
e.actions.lockSend(i)
}
}
)),
this.actions = this.initComponent(bo),
this.actions.lockSend(!0),
this.options.on("update", this.storeAnswer.bind(this)),
this.actions.on("confirm", this.sendMessage.bind(this)),
this.actions.on("cancel", (function() {
e.emit("close")
}
)),
this.setAttribute("role", "radiogroup")
}
function Uo() {
Ce.self(this, Se, "thanks-feedback"),
this.$copy = this.createElement(".feedback-thanks"),
this.$resolve = this.createElement(".feedback-resolve"),
this.$option = this.createElement(".accessibility-option"),
this.$option.content = this.initComponent(fn, {
theme: un,
text: "Please also try turning off your ad blocker."
}, this.$option),
this.$option.link = this.initComponent(dn, {
theme: un,
text: "Our accessibility option may help.",
url: "https://hcaptcha.com/accessibility?hl=" + Oe.getLocale(),
underline: !0
}, this.$option),
this.$bug = this.createElement(".feedback-bug"),
this.$bug.content = this.initComponent(fn, {
theme: un,
text: "Reporting a functionality issue?"
}, this.$bug),
this.$bug.link = this.initComponent(dn, {
theme: un,
text: "See how to report issues with detailed logs.",
url: "https://www.hcaptcha.com/reporting-bugs?hl=" + Oe.getLocale(),
underline: !0
}, this.$bug)
}
function Mo() {
Ce.self(this, Se, "thanks-accessibility");
var t = this;
this.$sorry = this.createElement(".accessibility-text"),
this.$option = this.createElement(".accessibility-option"),
this.$avoid = this.createElement(".accessibility-avoid");
var e = function(t) {
Yi("https://hcaptcha.com/accessibility")
};
if (this.$option.addEventListener("enter", e),
this.$option.addEventListener("down", e),
!1 === tt.System.mobile) {
var i = function(e) {
var i = un.get().palette
, n = "light" === i.mode;
t.$option.css("over" === e.action ? {
color: i.primary.main,
textDecoration: "underline"
} : {
color: n ? i.text.body : i.grey[700],
textDecoration: "none"
})
};
this.$option.addEventListener("over", i),
this.$option.addEventListener("out", i)
}
}
function Lo() {
Ce.self(this, Se, "thanks-feedback"),
this.$copy = this.createElement(".feedback-thanks"),
this.$resolve = this.createElement(".feedback-resolve")
}
function Wo(t) {
Ce.self(this, Se, "thanks"),
"accessibility" === t.response ? this.copy = this.initComponent(Mo, null, this.$content) : "image" === t.response ? this.copy = this.initComponent(Lo, null, this.$content) : this.copy = this.initComponent(Uo, null, this.$content)
}
Ce.proto(_o, Se),
_o.prototype.style = function(t, e, i) {
this.options.style(t, i),
this.options.css({
marginBottom: 10
}),
this.comment.style(t, i),
this.comment.css({
marginTop: 10
}),
this.actions.style(t, i),
this.actions.css({
width: i ? 200 : 220,
height: 35,
position: "relative",
margin: "10px auto 0px"
})
}
,
_o.prototype.sendMessage = function() {
var t = ""
, e = this.comment.getValue();
this.state.selected && (t = this.state.selected.state.text),
this.comment.setValue(""),
this.comment.visible(!1),
this.options.visible(!1),
this.actions.visible(!1),
this.emit("report", {
reason: t,
comment: e,
key: this.state.taskKey
}),
this.emit("change", "thanks", {
response: this.state.type
})
}
,
_o.prototype.storeAnswer = function(t) {
var e = t.state.selected
, i = "other" === t.state.value && e;
this.comment.visible(i),
this.state.selected = e ? t : null;
var n = null === this.state.selected || i && 0 === this.comment.getValue().trim().length;
this.actions.lockSend(n)
}
,
_o.prototype.setCopy = function(t) {
this.options.setCopy(),
this.comment.setPlaceholder(),
this.actions.setCopy()
}
,
Ce.proto(Uo, Se),
Uo.prototype.style = function(t, e) {
var i = jt(t, 280, 310, 260, 310)
, n = jt(t, 280, 300, 12, 13)
, o = n + 4
, r = un.get().palette
, s = "light" === r.mode;
this.css({
fontWeight: 500,
textAlign: "center",
fontSize: n + 1,
lineHeight: n + 4,
color: s ? r.text.body : r.grey[700],
width: t
}),
this.$copy.css({
width: i,
margin: "0 auto",
fontWeight: 600,
marginBottom: 2
}),
this.$resolve.css({
fontSize: n,
lineHeight: o,
width: i,
margin: "0 auto",
marginBottom: 10
}),
this.$option.css({
fontSize: n,
lineHeight: o,
marginBottom: 10
}),
this.$option.content.css({
marginRight: 2
}),
this.$option.link.css({
fontSize: n,
lineHeight: o,
cursor: "pointer",
color: "inherit"
}),
this.$bug.css({
fontSize: n - 1,
lineHeight: o - 1,
width: i,
margin: "0 auto",
marginBottom: -2
}),
this.$bug.content.css({
marginRight: 2
}),
this.$bug.link.css({
fontSize: n - 1,
lineHeight: o - 1,
width: i,
margin: "0 auto",
cursor: "pointer",
color: "inherit"
})
}
,
Uo.prototype.setCopy = function() {
var t = Oe.translate("Thank you for your feedback.")
, e = Oe.translate("We'll resolve your issue as quickly as we can.");
this.$copy.text(t),
this.$resolve.text(e),
this.$bug.content.translate(),
this.$bug.link.translate(),
this.$option.content.translate(),
this.$option.link.translate();
var i = Oe.translate("Please also try turning off your ad blocker. Our accessibility option may help.")
, n = Oe.translate("Reporting a functionality issue? See how to report issues with detailed logs.");
this.$option.link.setAttribute("aria-label", i),
this.$bug.link.setAttribute("aria-label", n)
}
,
Ce.proto(Mo, Se),
Mo.prototype.style = function(t, e) {
var i = jt(t, 280, 310, 260, 310)
, n = jt(t, 280, 300, 12, 13)
, o = n + 4
, r = un.get().palette
, s = "light" === r.mode;
this.css({
fontWeight: 500,
fontSize: n + 1,
lineHeight: o,
textAlign: "center",
color: s ? r.text.body : r.grey[700],
width: t
}),
this.$sorry.css({
fontWeight: 600,
width: i,
margin: "0 auto",
marginBottom: 2
}),
this.$option.css({
fontSize: n,
lineHeight: o,
color: s ? r.text.body : r.grey[700],
cursor: "pointer",
marginBottom: 10
}),
this.$avoid.css({
width: i,
textAlign: "center",
fontSize: n,
lineHeight: o,
margin: "0 auto"
})
}
,
Mo.prototype.setCopy = function() {
var t = Oe.translate("Sorry to hear that!")
, e = Oe.translate("Our accessibility option may help.")
, i = Oe.translate("This lets you avoid future questions by registering and setting a cookie.")
, n = Oe.translate("Please also try turning off your ad blocker.");
this.$sorry.text(t + " "),
this.$option.text(e),
this.$avoid.text(i + " " + n)
}
,
Ce.proto(Lo, Se),
Lo.prototype.style = function(t, e) {
var i = jt(t, 280, 310, 260, 310)
, n = jt(t, 280, 300, 12, 13)
, o = n + 4
, r = un.get().palette
, s = "light" === r.mode;
this.css({
fontWeight: 500,
textAlign: "center",
fontSize: n + 1,
lineHeight: n + 4,
color: s ? r.text.body : r.grey[700],
width: t
}),
this.$copy.css({
width: i,
margin: "0 auto",
fontWeight: 600,
marginBottom: 2
}),
this.$resolve.css({
fontSize: n,
lineHeight: o,
width: i,
margin: "0 auto",
marginBottom: 10
})
}
,
Lo.prototype.setCopy = function() {
var t = {
thanks: Oe.translate("Thank you for your feedback."),
resolve: Oe.translate("We will look into the issue immediately.")
};
this.$copy.text(t.thanks),
this.$resolve.text(t.resolve)
}
,
Ce.proto(Wo, po),
Wo.prototype.style = function(t, e, i) {
this.copy.style(t, i)
}
,
Wo.prototype.setCopy = function() {
this.copy.setCopy()
}
,
Wo.prototype.setFocus = function() {
this.copy.focus()
}
;
var Fo = "https://newassets.hcaptcha.com/captcha/v1/d067130695f80003c94cd7a16954f23aa0ed457d/static/images";
function Zo() {
Ce.self(this, Se, "cookie-icon"),
this.$none = this.initComponent(yn, {
selector: ".icon-none",
src: "data:image/svg+xml,%3csvg width='155' height='155' viewBox='0 0 155 155' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cmask id='mask0' mask-type='alpha' maskUnits='userSpaceOnUse' x='3' y='4' width='150' height='149'%3e%3cpath d='M153 78C153 119.421 119.421 153 78 153C36.5786 153 3 119.421 3 78C3 42.6044 27.5196 12.9356 60.5 5.0526C66.1145 3.71061 68 4 69.5 5.0526C71.6884 6.5883 62.5 20 69.5 31.5C76.5 43 89.5 39.5 101.5 53C107.488 59.7371 105.376 73.2409 117.5 79C137.5 88.5 151 71 153 78Z' fill='%23555555'/%3e%3c/mask%3e%3cg mask='url(%23mask0)'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M78 153C119.421 153 153 119.421 153 78C153 36.5786 119.421 3 78 3C36.5786 3 3 36.5786 3 78C3 119.421 36.5786 153 78 153ZM57 41.5C57 45.6421 53.6421 49 49.5 49C45.3579 49 42 45.6421 42 41.5C42 37.3579 45.3579 34 49.5 34C53.6421 34 57 37.3579 57 41.5ZM83 74C83 79.5228 78.5228 84 73 84C67.4772 84 63 79.5228 63 74C63 68.4772 67.4772 64 73 64C78.5228 64 83 68.4772 83 74ZM54 117C54 122.523 49.5229 127 44 127C38.4772 127 34 122.523 34 117C34 111.477 38.4772 107 44 107C49.5229 107 54 111.477 54 117ZM119.5 122C123.642 122 127 118.642 127 114.5C127 110.358 123.642 107 119.5 107C115.358 107 112 110.358 112 114.5C112 118.642 115.358 122 119.5 122ZM32 83C34.7614 83 37 80.7614 37 78C37 75.2386 34.7614 73 32 73C29.2386 73 27 75.2386 27 78C27 80.7614 29.2386 83 32 83ZM88 111C88 113.761 85.7614 116 83 116C80.2386 116 78 113.761 78 111C78 108.239 80.2386 106 83 106C85.7614 106 88 108.239 88 111Z' fill='%23555555'/%3e%3c/g%3e%3c/svg%3e",
fallback: Fo + "/cookie-none.png",
width: 18
}),
this.$blocked = this.initComponent(yn, {
selector: ".icon-blocked",
src: "data:image/svg+xml,%3csvg width='155' height='155' viewBox='0 0 155 155' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cmask id='mask0' mask-type='alpha' maskUnits='userSpaceOnUse' x='3' y='4' width='150' height='149'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M78 153C119.421 153 153 119.421 153 78C152.203 75.2117 149.582 76.3107 145.452 78.0421C139.214 80.6575 129.534 84.7159 117.5 79C115.427 78.0152 113.77 76.804 112.418 75.4389L43.3324 144.524C53.7009 149.939 65.4929 153 78 153ZM26.783 132.789L103.528 56.0443C102.962 54.931 102.304 53.9045 101.5 53C95.5 46.25 89.25 43.75 83.625 41.5C78 39.25 73 37.25 69.5 31.5C64.8464 23.8548 67.3474 15.3646 68.904 10.0807C69.6888 7.41648 70.2336 5.56736 69.5 5.05259C68 3.99999 66.1145 3.7106 60.5 5.05259C27.5196 12.9356 3 42.6044 3 78C3 99.6193 12.1474 119.102 26.783 132.789Z' fill='%23EB4040'/%3e%3c/mask%3e%3cg mask='url(%23mask0)'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M78 153C119.421 153 153 119.421 153 78C153 36.5786 119.421 3 78 3C36.5786 3 3 36.5786 3 78C3 119.421 36.5786 153 78 153ZM57 41.5C57 45.6421 53.6421 49 49.5 49C45.3579 49 42 45.6421 42 41.5C42 37.3579 45.3579 34 49.5 34C53.6421 34 57 37.3579 57 41.5ZM83 74C83 79.5228 78.5228 84 73 84C67.4772 84 63 79.5228 63 74C63 68.4772 67.4772 64 73 64C78.5228 64 83 68.4772 83 74ZM54 117C54 122.523 49.5229 127 44 127C38.4772 127 34 122.523 34 117C34 111.477 38.4772 107 44 107C49.5229 107 54 111.477 54 117ZM119.5 122C123.642 122 127 118.642 127 114.5C127 110.358 123.642 107 119.5 107C115.358 107 112 110.358 112 114.5C112 118.642 115.358 122 119.5 122ZM32 83C34.7614 83 37 80.7614 37 78C37 75.2386 34.7614 73 32 73C29.2386 73 27 75.2386 27 78C27 80.7614 29.2386 83 32 83ZM88 111C88 113.761 85.7614 116 83 116C80.2386 116 78 113.761 78 111C78 108.239 80.2386 106 83 106C85.7614 106 88 108.239 88 111Z' fill='%23E25C5C'/%3e%3c/g%3e%3crect x='140.572' y='19' width='13' height='179' transform='rotate(45 140.572 19)' fill='%23555555'/%3e%3c/svg%3e",
fallback: Fo + "/cookie-blocked.png",
width: 18
}),
this.$found = this.initComponent(yn, {
selector: ".icon-found",
src: "data:image/svg+xml,%3csvg width='155' height='155' viewBox='0 0 155 155' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cmask id='mask0' mask-type='alpha' maskUnits='userSpaceOnUse' x='3' y='4' width='150' height='149'%3e%3cpath d='M153 78C153 119.421 119.421 153 78 153C36.5786 153 3 119.421 3 78C3 42.6044 27.5196 12.9356 60.5 5.05259C66.1145 3.7106 68 3.99999 69.5 5.05259C71.6884 6.58829 62.5 20 69.5 31.5C76.5 43 89.5 39.5 101.5 53C107.488 59.737 105.376 73.2409 117.5 79C137.5 88.5 151 71 153 78Z' fill='%23555555'/%3e%3c/mask%3e%3cg mask='url(%23mask0)'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M78 153C119.421 153 153 119.421 153 78C153 36.5786 119.421 3 78 3C36.5786 3 3 36.5786 3 78C3 119.421 36.5786 153 78 153ZM57 41.5C57 45.6421 53.6421 49 49.5 49C45.3579 49 42 45.6421 42 41.5C42 37.3579 45.3579 34 49.5 34C53.6421 34 57 37.3579 57 41.5ZM83 74C83 79.5228 78.5228 84 73 84C67.4772 84 63 79.5228 63 74C63 68.4772 67.4772 64 73 64C78.5228 64 83 68.4772 83 74ZM54 117C54 122.523 49.5229 127 44 127C38.4772 127 34 122.523 34 117C34 111.477 38.4772 107 44 107C49.5229 107 54 111.477 54 117ZM119.5 122C123.642 122 127 118.642 127 114.5C127 110.358 123.642 107 119.5 107C115.358 107 112 110.358 112 114.5C112 118.642 115.358 122 119.5 122ZM32 83C34.7614 83 37 80.7614 37 78C37 75.2386 34.7614 73 32 73C29.2386 73 27 75.2386 27 78C27 80.7614 29.2386 83 32 83ZM88 111C88 113.761 85.7614 116 83 116C80.2386 116 78 113.761 78 111C78 108.239 80.2386 106 83 106C85.7614 106 88 108.239 88 111Z' fill='%2300838f'/%3e%3c/g%3e%3c/svg%3e",
fallback: Fo + "/cookie-found.png",
width: 18
}),
"ie" === tt.Browser.type && 8 === tt.Browser.version ? (this.$none.css({
display: "none"
}),
this.$blocked.css({
display: "none"
}),
this.$found.css({
display: "none"
})) : (this.$none.css({
opacity: 0
}),
this.$blocked.css({
opacity: 0
}),
this.$found.css({
opacity: 0
}))
}
Ce.proto(Zo, Se),
Zo.prototype.style = function() {
this.css({
width: 18,
height: 18,
display: "inline",
position: "relative",
background: "rgba(0,0,0,0)"
});
var t = {
"-ms-high-contrast-adjust": "none",
position: "absolute",
left: 0,
top: 0
};
this.$none.css(t),
this.$blocked.css(t),
this.$found.css(t)
}
,
Zo.prototype.display = function(t) {
"ie" === tt.Browser.type && 8 === tt.Browser.version ? (this.$none.css({
display: "none" === t ? "block" : "none"
}),
this.$blocked.css({
display: "blocked" === t ? "block" : "none"
}),
this.$found.css({
display: "found" === t ? "block" : "none"
})) : (this.$none.css({
opacity: "none" === t ? 1 : 0
}),
this.$blocked.css({
opacity: "blocked" === t ? 1 : 0
}),
this.$found.css({
opacity: "found" === t ? 1 : 0
}))
}
;
var Oo = {
noAccess: "Accessibility cookie is not set. {{retrieve-cookie}}",
hasAccess: "Cookies are disabled or the accessibility cookie is not set. {{enable-cookies}}"
}
, Bo = "Accessibility cookie is set. For help, please email {{support}}"
, No = "support@hcaptcha.com";
function Po() {
Ce.self(this, Se, "status");
var t = this;
this.state = {
hasCookie: !1,
hasAccess: !1,
allowedAccess: !1
},
this.$header = this.createElement(".header"),
this.$header.copy = this.$header.createElement(".text"),
this.icon = this.initComponent(Zo, null, this.$header),
this.retrieve = this.initComponent(fo, {
text: Oo.noAccess,
link: !0,
linkText: "Retrieve accessibility cookie.",
linkTextLabel: "Retrieve accessibility cookie. Opens in a new tab.",
linkUnderline: !0,
linkTranslate: !0,
linkTo: "https://dashboard.hcaptcha.com/signup?type=accessibility",
replaceText: "retrieve-cookie"
}),
this.disabled = this.initComponent(fo, {
text: Oo.hasAccess,
link: !0,
linkText: "Enable cross-site cookies.",
linkUnderline: !0,
replaceText: "enable-cookies"
}),
this.help = this.initComponent(fo, {
text: Bo,
link: !0,
linkText: No,
linkUnderline: !0,
linkTo: "mailto:" + No,
replaceText: "support"
}),
this.retrieve.dom.id = "status-retrieve",
this.disabled.dom.id = "status-disabled",
this.help.dom.id = "status-help",
this.disabled.on("click", (function() {
Zt.requestAccess().then((function() {
t.setType()
}
))
}
))
}
Ce.proto(Po, Se),
Po.prototype.style = function(t) {
var e = un.get().palette
, i = "light" === e.mode;
this.css({
fontSize: t,
color: i ? e.text.body : e.grey[700]
}),
this.$header.css({
fontWeight: 600,
marginBottom: 5
}),
this.$header.copy.css({
display: "inline",
position: "relative"
}),
this.icon.style(),
Oe.isRTL() ? (this.icon.css({
top: -2,
marginRight: 22
}),
this.retrieve.style(t, "right"),
this.disabled.style(t, "right"),
this.help.style(t, "right")) : (this.icon.css({
top: -2,
marginLeft: 5
}),
this.retrieve.style(t, "left"),
this.disabled.style(t, "left"),
this.help.style(t, "left"));
var n = this.state.hasCookie;
this.help.css({
display: n ? "block" : "none"
});
var o = !this.state.hasCookie && (!this.hasAccess || this.state.hasAccess && !this.state.allowedAccess);
this.retrieve.css({
display: o ? "block" : "none"
});
var r = !this.state.hasCookie && this.state.hasAccess && !this.state.allowedAccess;
this.disabled.css({
display: r ? "block" : "none"
})
}
,
Po.prototype.checkAccess = function() {
var t = this;
ji.contact("get-ac").then((function(e) {
t.state.hasCookie = !!e,
Zt.supportsAPI() ? (t.state.hasAccess = !0,
Zt.hasAccess().then((function(e) {
t.state.allowedAccess = e,
t.setType()
}
))) : (t.state.hasAccess = !1,
t.setType())
}
))["catch"]((function(t) {
Mt("get-ac", t)
}
))
}
,
Po.prototype.setType = function() {
this.$header.copy.text(Oe.translate("Status:"));
var t = this.state.hasCookie;
this.help.css({
display: t ? "block" : "none"
});
var e = !this.state.hasCookie && (!this.hasAccess || this.state.hasAccess && !this.state.allowedAccess);
this.retrieve.css({
display: e ? "block" : "none"
});
var i = !this.state.hasCookie && this.state.hasAccess && !this.state.allowedAccess;
this.disabled.css({
display: i ? "block" : "none"
});
var n = this.state.hasCookie ? "found" : this.state.hasAccess ? "blocked" : "none";
this.icon.display(n)
}
,
Po.prototype.translate = function() {
this.$header.copy.text(Oe.translate("Status:")),
this.retrieve.translate(),
this.disabled.translate(),
this.help.translate(),
Oe.setDirection(this.$header.copy, Oe.getLocale())
}
;
function Ho() {
Ce.self(this, Se, "accessibility");
var t = this;
this.copy = this.initComponent(fo, {
text: "To bypass our visual challenge, we offer an accessibility cookie.",
link: !0,
linkText: "Learn more about hCaptcha Accessibility.",
linkTextLabel: "Learn more about hCaptcha Accessibility. Opens in a new tab.",
linkUnderline: !0,
linkTranslate: !0,
linkTo: "https://hcaptcha.com/accessibility?ref=" + ht.host + "&utm_campaign=" + ht.sitekey + "&utm_medium=challenge"
}),
this.copy.on("click", (function(e) {
e.preventDefault(),
Yi(t.copy.state.linkTo)
}
)),
this.status = this.initComponent(Po),
this.status.checkAccess()
}
function Jo() {
Ce.self(this, Se, "challenge-modal"),
this.modalContent = null,
this.state = {
visible: !1,
curr: null,
prev: null
},
this.config = {
width: 0,
height: 0,
mobile: !1
},
this.display = this.display.bind(this),
this.close = this.close.bind(this),
this.$container = this.createElement(".container"),
this.modal = this.initComponent(po, null, this.$container),
this.modal.on("close", this.close),
this.$bg = this.createElement(".modal-bg"),
this.$bg.addEventListener("click", this.close);
var t = "ie" === tt.Browser.type && 8 === tt.Browser.version;
this.css({
visibility: "hidden",
display: t ? "none" : "table",
zIndex: -1
})
}
function Io() {
Ce.self(this, Se, null, ".challenge-container"),
this.handleResize = null,
this.handleCheck = null,
this.handleFocus = null,
this.handleSubmit = null
}
function Ko() {
Ce.self(this, Se, "display-error"),
this.visible = !1,
this.setAttribute("aria-hidden", !0),
this.setAttribute("role", "alert"),
this.copy = this.createElement(".error-text"),
this.appendElement(this.copy),
this.setCopy.call(this),
this.css({
opacity: 0
})
}
function Do() {
Ce.self(this, Se, "Crumb"),
this.$bg = this.createElement(".crumb-bg")
}
function jo() {
Ce.self(this, Se, "challenge-breadcrumbs"),
this.width = 0,
this.size = 0,
this.crumbs = [],
this.currentIndex = 0,
this.$wrapper = this.createElement(".crumbs-wrapper")
}
Ce.proto(Ho, Se),
Ho.prototype.style = function(t) {
var e = Math.floor(jt(t, 250, 275, 12, 14));
this.copy.style(e, "left"),
this.copy.css({
position: "relative",
display: "inline"
}),
this.status.style(e),
this.status.css({
marginTop: 10
})
}
,
Ho.prototype.setCopy = function() {
this.copy.translate(),
this.status.translate()
}
,
Ce.proto(Jo, Se),
Jo.prototype.load = function() {
this.modal.load()
}
,
Jo.prototype.style = function(t, e, i) {
var n = jt(t, 300, 450, 290, 375)
, o = jt(e, 275, 300, 260, 275)
, r = n - 2 * jt(t, 300, 450, 20, 25)
, s = "ie" === tt.Browser.type && 8 === tt.Browser.version;
this.css({
position: "absolute",
width: "100%",
height: "100%",
display: s && !this.state.visible ? "none" : "table",
top: 0,
left: 0
}),
this.$container.css({
display: "table-cell",
verticalAlign: "middle"
}),
this.$bg.css({
position: "fixed",
width: "100%",
height: "100%",
top: 0,
left: 0,
backgroundColor: "#000",
opacity: 0,
zindex: 0,
cursor: "pointer"
}),
this.config.width = r,
this.config.height = o,
this.config.mobile = i,
this._styleContent()
}
,
Jo.prototype._styleContent = function() {
this.modal.style(this.config.width, this.config.height),
this.modalContent && this.modalContent.style(this.config.width, this.config.height, this.config.mobile)
}
,
Jo.prototype.close = function() {
if (this.state.visible) {
this.state.visible = !1,
this.modalContent && (this.modalContent.off("close", this.close),
this.modalContent = this.modalContent.destroy());
var t = "ie" === tt.Browser.type && 8 === tt.Browser.version;
this.css({
visibility: "hidden",
display: t ? "none" : "table",
zIndex: -1
}),
"report_image" === this.state.prev && "thanks" === this.state.curr && this.emit("refresh"),
this.emit("close")
}
}
,
Jo.prototype.display = function(t, e) {
var i = this
, n = null;
e || (e = {}),
this.modalContent && (this.modalContent = this.modalContent.destroy()),
this.state.prev = this.state.curr,
this.state.curr = t;
var o = null;
"info" === t ? (n = go,
o = "Information") : "link" === t ? (n = wo,
o = "Confirm Navigation") : "feedback" === t ? (n = _o,
o = "Feedback",
e.type = "feedback") : "report_bug" === t ? (n = _o,
o = "Software Bug",
e.type = "bug") : "report_image" === t ? (n = _o,
o = "Tell Us Why",
e.type = "image") : t.indexOf("thanks") >= 0 ? n = Wo : t.indexOf("accessibility") >= 0 && (n = Ho,
o = "Accessibility"),
this.state.visible && (this.modal.destroy(),
this.modal = this.initComponent(po, null, this.$container),
this.modal.load(),
this.modal.on("close", this.close)),
this.modalContent = this.initComponent(n, e, this.modal.$content),
this.modal.setTitle(o),
this.modalContent.setCopy(),
this.modalContent.on("close", this.close),
this.modalContent.on("change", this.display),
this.modalContent.on("report", (function(t) {
i.emit("report", t)
}
)),
this._styleContent(),
this.css({
visibility: "visible",
display: "table",
zIndex: 200
}),
this.modal.focus(),
this.state.visible = !0,
this.emit("open")
}
,
Jo.prototype.isOpen = function() {
return this.state.visible
}
,
Ce.proto(Io, Se),
Io.prototype.style = function(t, e) {
this.css({
width: t,
height: e,
position: "relative",
zIndex: 0
})
}
,
Io.prototype.mount = function(t) {
var e = this;
this.appendElement(t),
this.handleResize = function() {
e.emit("resize")
}
,
this.handleSetAction = function(t) {
e.emit("action-changed", t)
}
,
this.handleSetActionLock = function(t) {
e.emit("action-locked", t)
}
,
this.handleCheck = function(i) {
var n = "skip";
i ? n = t.breadcrumbs && t.served < t.breadcrumbs ? "next" : "check" : "landscape" === ht.orientation && t.breadcrumbs && t.served === t.breadcrumbs && (n = "check"),
e.emit("action-changed", n)
}
,
this.handleFocus = function() {
e.emit("focus-check")
}
,
this.handleElementFocus = function(t) {
e.emit("focus-frame-element", t)
}
,
this.handleSubmit = function() {
e.emit("submit")
}
,
this.handleResetExpiration = function() {
e.emit("reset-expiration")
}
,
t.on && t.on("set-action", this.handleSetAction),
t.on && t.on("set-action-lock", this.handleSetActionLock),
t.on && t.on("display-check", this.handleCheck),
t.on && t.on("challenge-resize", this.handleResize),
t.on && t.on("focus-check", this.handleFocus),
t.on && t.on("focus-frame-element", this.handleElementFocus),
t.on && t.on("submit", this.handleSubmit),
t.on && t.on("reset-expiration", this.handleResetExpiration),
this.isMounted = !0
}
,
Io.prototype.unmount = function(t) {
if (t.destroy)
try {
t.off && t.off("set-action", this.handleSetAction),
t.off && t.off("set-action-lock", this.handleSetActionLock),
t.off && t.off("display-check", this.handleCheck),
t.off && t.off("challenge-resize", this.handleResize),
t.off && t.off("focus-check", this.handleFocus),
t.off && t.off("focus-frame-element", this.handleElementFocus),
t.off && t.off("submit", this.handleSubmit),
t.off && t.off("reset-expiration", this.handleResetExpiration),
t.destroy()
} catch (Fs) {}
else
this.removeElement(t);
return this.isMounted = !1,
null
}
,
Ce.proto(Ko, Se),
Ko.prototype.style = function(t) {
var e = un.get().palette
, i = "landscape" === ht.orientation && ("image_label_binary" === ht.challenge_type || "image_label_area_select" === ht.challenge_type || "image_drag_drop" === ht.challenge_type || "mfa" === ht.challenge_type || "smsin" === ht.challenge_type || "emailout" === ht.challenge_type);
this.copy.css({
display: "table-cell",
verticalAlign: "middle"
}),
this.css({
display: "table",
fontSize: t,
color: e.warn.main,
width: "100%",
textAlign: i ? "left" : "right"
})
}
,
Ko.prototype.display = function(t) {
this.css({
opacity: t ? 1 : 0
}),
this.visible = t,
this.setAttribute("aria-hidden", !t)
}
,
Ko.prototype.setCopy = function(t) {
var e = t || Oe.translate("Please try again.");
this.copy.text(e + " ⚠️")
}
,
Ce.proto(Do, Se),
Do.prototype.style = function(t, e) {
this.css({
width: e ? 3 * t : t,
height: t,
overflow: "hidden",
borderRadius: .5 * t,
transition: "all 0.5s"
}),
this.$bg.css({
width: e ? 3 * t : t,
height: t,
transition: "all 0.5s"
})
}
,
Do.prototype.active = function(t, e) {
var i = function(t) {
var e = t.component;
return hn.merge({
main: {
fill: "#8495ad"
},
active: {
fill: "#3D4A5C"
}
}, e.breadcrumb)
}(un.get())
, n = e ? 3 * t : t;
this.css({
width: n
}),
tt.System.highContrast ? this.$bg.css({
backgroundColor: "CanvasText",
width: n
}) : this.$bg.css({
backgroundColor: e ? i.active.fill : i.main.fill,
width: n
})
}
,
Do.prototype.hide = function() {
this.css({
opacity: 0
})
}
,
Ce.proto(jo, Se),
jo.prototype.createCrumbs = function(t) {
this.display = !0;
for (var e = null, i = 0; i < t; i++)
e = this.initComponent(Do, null, this.$wrapper),
this.crumbs.push(e)
}
,
jo.prototype.removeCrumbs = function() {
if (this.display = !1,
0 !== this.crumbs.length) {
for (var t = -1; ++t < this.crumbs.length; )
this.crumbs[t].destroy();
this.crumbs = []
}
}
,
jo.prototype.style = function(t, e) {
var i = e ? 6 : 8
, n = e ? 6 : 8;
this.setSizes(i, 0),
this.css({
width: t,
height: i
});
var o = this.crumbs.length * i + n * (this.crumbs.length - 1) + n;
this.$wrapper.css({
width: o,
height: i,
position: "absolute",
left: (t - o) / 2
}),
this.size = i,
this.width = t,
this.mobile = e
}
,
jo.prototype.setIndex = function(t) {
for (var e = -1; ++e < this.crumbs.length; )
this.crumbs[e].active(this.size, e <= t),
this.setSizes(this.size, t);
this.currentIndex = t
}
,
jo.prototype.setSizes = function(t, e) {
for (var i = this.mobile ? 4 : 5, n = -1; ++n < this.crumbs.length; ) {
this.crumbs[n].style(t, e === n);
for (var o = 0, r = 0; r < n; r++) {
o += (r === e ? 3 * t : t) + i
}
this.crumbs[n].css({
left: o,
top: 0,
position: "absolute"
})
}
}
,
jo.prototype.hide = function() {
for (var t = -1; ++t < this.crumbs.length; )
this.crumbs[t].hide()
}
;
function zo() {
var t = Oe.translate("About hCaptcha & Accessibility Options");
Ce.self(this, Vn, {
selector: "#menu-info",
title: t,
name: "info",
src: "data:image/svg+xml,%3csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='12.5' cy='21.6' r='2' fill='%23787878'/%3e%3ccircle cx='12.5' cy='12.5' r='2' fill='%23787878'/%3e%3ccircle cx='12.5' cy='3.40002' r='2' fill='%23787878'/%3e%3c/svg%3e",
theme: un,
width: 35,
height: 35,
tag: "button"
}),
this._ignoreHighlight = !1,
this.dom.setAttribute("aria-label", t),
this.css({
border: "none"
})
}
Ce.proto(zo, Vn),
zo.prototype.focus = function(t) {
this._ignoreHighlight = t,
this.dom.focus()
}
,
zo.prototype.onFocus = function(t) {
if (this._ignoreHighlight)
this._ignoreHighlight = !1;
else {
var e = this.state.style.focus.outline;
this.css({
outline: "2px solid " + e
})
}
}
,
zo.prototype.onBlur = function(t) {
this.css({
outline: "none"
})
}
;
function Yo() {
Ce.self(this, Vn, {
title: "Refresh Challenge.",
label: "Refresh Challenge.",
labelLive: "Challenge refreshed.",
name: "refresh",
src: "data:image/svg+xml,%3csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M20.9148 19.6529C20.9994 19.7239 21.0106 19.8501 20.9381 19.9335C19.5234 21.5598 17.6702 22.7467 15.5981 23.3506C13.4619 23.9733 11.1891 23.9485 9.06708 23.2794C6.94502 22.6103 5.06902 21.327 3.67632 19.5917C2.28361 17.8564 1.43675 15.7471 1.24283 13.5306C1.0489 11.314 1.51662 9.08969 2.58684 7.13894C3.65706 5.18818 5.28171 3.5986 7.25535 2.57119C9.22898 1.54378 11.463 1.12469 13.6748 1.36692C15.8203 1.6019 17.8514 2.44889 19.527 3.80487C19.6129 3.87435 19.6238 4.00065 19.5528 4.08527L18.3637 5.50245C18.2927 5.58707 18.1666 5.5979 18.0805 5.5288C16.746 4.45867 15.1329 3.79007 13.4298 3.60355C11.6604 3.40977 9.87319 3.74503 8.29428 4.56696C6.71537 5.38889 5.41565 6.66056 4.55948 8.22116C3.7033 9.78176 3.32913 11.5612 3.48427 13.3345C3.63941 15.1077 4.3169 16.7952 5.43106 18.1834C6.54522 19.5716 8.04602 20.5982 9.74367 21.1335C11.4413 21.6688 13.2596 21.6886 14.9685 21.1905C16.6133 20.7111 18.0858 19.7725 19.2142 18.4869C19.287 18.4039 19.413 18.3927 19.4976 18.4637L20.9148 19.6529Z' fill='%23787878'/%3e%3cpath d='M22.7248 7.93974C22.7557 8.07007 22.6522 8.19336 22.5185 8.18555L14.9712 7.74462C14.807 7.73502 14.7239 7.54239 14.8297 7.4164L20.6321 0.501257C20.7379 0.375269 20.942 0.423631 20.98 0.583657L22.7248 7.93974Z' fill='%23787878'/%3e%3c/svg%3e",
theme: un,
width: 35,
height: 35,
selectable: !1
})
}
Ce.proto(Yo, Vn);
function Go(t) {
var e = t.palette
, i = t.component;
return hn.merge({
main: {
fill: e.primary.main,
text: e.common.white,
border: e.primary.main
},
hover: {
fill: e.primary.main,
text: e.common.white,
border: e.primary.main
},
focus: {
outline: e.primary.main
},
disabled: {
fill: e.grey[700],
text: e.common.white,
border: e.primary.main
}
}, i.verifyButton)
}
function qo(t) {
var e = t.palette
, i = t.component;
return hn.merge({
main: {
fill: e.grey[700],
text: e.common.white,
border: e.grey[700]
},
hover: {
fill: e.grey[800],
text: e.common.white,
border: e.grey[800]
},
focus: {
outline: e.primary.main
},
disabled: {
fill: e.grey[700],
text: e.common.white,
border: e.grey[700]
}
}, i.skipButton)
}
function Xo() {
Ce.self(this, Se, "button-submit"),
this.state = {
text: "Check",
type: "check",
label: "Verify Answers",
locked: !1
},
this._verifyStyle = Go(un.get()),
this._skipStyle = qo(un.get()),
this.copy = this.createElement(".text"),
this.spinner = this.initComponent(io, {
src: "data:image/svg+xml,%3csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cmask id='spinner-mask-1' fill='white'%3e%3cpath d='M8.5 0C10.0823 1.88682e-08 11.629 0.469192 12.9446 1.34824C14.2602 2.2273 15.2855 3.47673 15.891 4.93854C16.4965 6.40035 16.655 8.00888 16.3463 9.56073C16.0376 11.1126 15.2757 12.538 14.1568 13.6569C13.038 14.7757 11.6126 15.5376 10.0607 15.8463C8.50886 16.155 6.90033 15.9965 5.43852 15.391C3.97671 14.7855 2.72728 13.7601 1.84824 12.4446C0.969186 11.129 0.499997 9.58224 0.5 7.99998L2.9 7.99999C2.9 9.10756 3.22843 10.1903 3.84377 11.1112C4.4591 12.0321 5.3337 12.7499 6.35697 13.1737C7.38023 13.5976 8.5062 13.7085 9.5925 13.4924C10.6788 13.2763 11.6766 12.743 12.4598 11.9598C13.243 11.1766 13.7763 10.1788 13.9924 9.09251C14.2085 8.00622 14.0976 6.88024 13.6737 5.85698C13.2499 4.83371 12.5321 3.95911 11.6112 3.34377C10.6903 2.72843 9.60758 2.4 8.5 2.4V0Z'/%3e%3c/mask%3e%3cpath d='M8.5 0C10.0823 1.88682e-08 11.629 0.469192 12.9446 1.34824C14.2602 2.2273 15.2855 3.47673 15.891 4.93854C16.4965 6.40035 16.655 8.00888 16.3463 9.56073C16.0376 11.1126 15.2757 12.538 14.1568 13.6569C13.038 14.7757 11.6126 15.5376 10.0607 15.8463C8.50886 16.155 6.90033 15.9965 5.43852 15.391C3.97671 14.7855 2.72728 13.7601 1.84824 12.4446C0.969186 11.129 0.499997 9.58224 0.5 7.99998L2.9 7.99999C2.9 9.10756 3.22843 10.1903 3.84377 11.1112C4.4591 12.0321 5.3337 12.7499 6.35697 13.1737C7.38023 13.5976 8.5062 13.7085 9.5925 13.4924C10.6788 13.2763 11.6766 12.743 12.4598 11.9598C13.243 11.1766 13.7763 10.1788 13.9924 9.09251C14.2085 8.00622 14.0976 6.88024 13.6737 5.85698C13.2499 4.83371 12.5321 3.95911 11.6112 3.34377C10.6903 2.72843 9.60758 2.4 8.5 2.4V0Z' stroke='%23262D38' stroke-width='8' mask='url(%23spinner-mask-1)'/%3e%3c/svg%3e",
selector: ".button-submit-spinner"
}),
this.addClass("button"),
this.setAttribute("tabindex", 0),
this.setAttribute("role", "button"),
this.setAttribute("aria-live", "polite"),
this.setLabel.call(this),
this.onHover = this.onHover.bind(this),
this.onSelect = this.onSelect.bind(this),
this.onFocus = this.onFocus.bind(this),
this.onBlur = this.onBlur.bind(this),
this.addEventListener("click", this.onSelect),
this.addEventListener("enter", this.onSelect),
this.addEventListener("focus", this.onFocus),
this.addEventListener("blur", this.onBlur),
!1 === tt.System.mobile && (this.addEventListener("over", this.onHover),
this.addEventListener("out", this.onHover))
}
function Qo() {
Ce.self(this, Se, "interface-challenge");
var t = this;
this.state = {
loaded: !1,
action: null,
locked: !1,
visible: !1,
whiteLabel: !1
},
this.text = this.initComponent(Ko),
this.breadcrumbs = this.initComponent(jo),
this.submit = this.initComponent(Xo),
this.submit.on("click", (function() {
t.emit("submit")
}
))
}
function $o(t) {
Ce.self(this, xn, {
selector: "#display-language",
theme: un,
width: 26,
height: 16
}),
this.$text.setAttribute("aria-hidden", !0);
var e = this;
this._theme = t.theme,
this.on("style", (function() {
e.css({
display: "block"
})
}
))
}
function tr() {
Ce.self(this, Se, "language-selector");
var t = this;
this.state = {
locked: !1
},
this.useNativeList = tt.System.mobile,
this.list = this.initComponent(this.useNativeList ? On : Xn, {
theme: un,
selector: "#language-list",
optionsVisible: 5
}),
this.display = this.initComponent($o, {
theme: un
}),
this.display.ownsListBox(this.list);
var e = [];
for (var i in Le)
e.push({
value: i,
text: Le[i]
});
this.list.setOptions(e),
this.list.on("select", (function(e) {
t.display.setLocale(e.value),
e.value !== Oe.getLocale() && (Oe.setLocale(e.value),
ji.send("challenge-language", {
locale: e.value
}))
}
)),
this.useNativeList ? (this.display.setAttribute("tabindex", "-1"),
this.display.setAttribute("aria-hidden", "true")) : this.display.on("click", (function(e) {
e.selected ? (t.list.setUsingKb && t.list.setUsingKb(e.usingKb),
t.list.open()) : t.list.hide()
}
)),
this.list.on("blur", (function() {
t.useNativeList || t.display.focus()
}
)),
this.list.on("hide", (function() {
t.display.reset()
}
)),
this.style(),
this.updateLocale()
}
Ce.proto(Xo, Se),
Xo.prototype.style = function(t) {
var e = t ? 30 : 35
, i = this.state.type
, n = "check" === i || "next" === i || "confirm-code" === i || "verify-phone" === i || "submit-email" === i || "loading" === i;
this._verifyStyle = Go(un.get()),
this._skipStyle = qo(un.get());
var o = function(t) {
try {
var e = t.palette;
return t.component && t.component.challenge ? t.component.challenge.main.fill : e.common && e.common.white ? e.common.white : "#FFF"
} catch (Fs) {
return "#FFF"
}
}(un.get());
this.css({
height: e,
cursor: "pointer",
minWidth: t ? 50 : 70,
padding: "0px 5px",
outlineColor: "none",
borderRadius: 4,
border: "2px solid " + o,
position: "relative"
});
var r = n ? this._verifyStyle.main.text : this._skipStyle.main.text;
this.copy.css({
color: r,
width: "100%",
height: "100%",
textAlign: "center",
position: "relative",
pointerEvents: "none",
lineHeight: e,
fontSize: 14,
fontWeight: 600,
zIndex: 5
}),
this.spinner.style(16, ct.white),
this.spinner.css({
position: "absolute",
left: "50%",
top: "50%",
marginLeft: -8,
marginTop: -8,
zIndex: 6
}),
this.height = e
}
,
Xo.prototype.showLoader = function() {
this.spinner.setVisible(!0),
this.spinner.startSpinning(),
this.copy.css({
display: "none"
})
}
,
Xo.prototype.hideLoader = function() {
this.spinner.setVisible(!1),
this.spinner.stopSpinning(),
this.copy.css({
display: "block"
})
}
,
Xo.prototype.action = function(t) {
var e, i = t.charAt(0).toUpperCase() + t.slice(1), n = "check" === t || "next" === t || "report" === t || "confirm-code" === t || "verify-phone" === t || "submit-email" === t || "loading" === t;
this._verifyStyle = Go(un.get()),
this._skipStyle = qo(un.get());
var o = n ? this._verifyStyle.main.fill : this._skipStyle.main.fill
, r = n ? this._verifyStyle.main.text : this._skipStyle.main.text
, s = this._parent.breadcrumbs && this._parent.breadcrumbs.crumbs
, a = this._parent.breadcrumbs && this._parent.breadcrumbs.currentIndex + 1;
if ("loading" === t)
e = "Loading",
this.showLoader();
else
switch (this.hideLoader(),
t) {
case "check":
e = "Verify Answers";
break;
case "next":
e = s.length < 1 ? "Next Challenge" : Oe.translate("Next Challenge, page {{current}} of {{total}}", {
current: a,
total: s.length
});
break;
case "verify-phone":
i = "Next",
e = "Verify Phone Number";
break;
case "submit-email":
i = "Next",
e = "Submit Email";
break;
case "report":
e = "Report Images";
break;
case "confirm":
e = "Confirm";
break;
case "confirm-code":
i = "Confirm",
e = "Confirm Code";
break;
default:
e = s.length < 1 ? "Skip Challenge" : Oe.translate("Skip Challenge, page {{current}} of {{total}}", {
current: a,
total: s.length
}),
t = "skip"
}
this.state.type = t,
this.state.text = i,
this.state.label = e,
this.css({
backgroundColor: o
}),
this.copy.css({
color: r
}),
this.setLabel.call(this)
}
,
Xo.prototype.onHover = function(t) {
if (null !== this.emit && !0 !== this.state.locked) {
var e = "over" === t.action
, i = this.state.type
, n = "check" === i || "next" === i || "confirm-code" === i || "verify-phone" === i || "submit-email" === i || "loading" === i ? this._verifyStyle : this._skipStyle
, o = e ? "hover" : "main";
this.css({
backgroundColor: n[o].fill
})
}
}
,
Xo.prototype.onSelect = function(t) {
null !== this.emit && !0 !== this.state.locked && this.emit("click", t)
}
,
Xo.prototype.onFocus = function(t) {
var e = "check" === this.state.type ? "_verifyStyle" : "_skipStyle"
, i = this[e].focus.border || this[e].focus.outline;
this.css({
outline: "2px solid " + i
})
}
,
Xo.prototype.onBlur = function(t) {
this.css({
outline: "none"
})
}
,
Xo.prototype.setLock = function(t) {
this.state.locked = t;
var e = this.state.type;
if ("loading" !== e) {
var i = "check" === e || "next" === e || "confirm-code" === e || "verify-phone" === e || "submit-email" === e ? this._verifyStyle : this._skipStyle;
this.css({
cursor: t ? "default" : "pointer",
backgroundColor: t ? i.disabled.fill : i.main.fill
}),
this.copy.css({
color: t ? i.disabled.text : i.main.text
}),
this.setAttribute("aria-disabled", t ? "true" : "false")
}
}
,
Xo.prototype.setLabel = function() {
var t = Oe.translate(this.state.text)
, e = Oe.translate(this.state.label);
Oe.getLocale().indexOf("en") >= 0 && "check" === this.state.type && (t = "Verify"),
this.copy.text(t),
this.setAttribute("title", e),
this.setAttribute("aria-label", e)
}
,
Xo.prototype.getElement = function() {
return this && this.dom || null
}
,
Xo.prototype.removeAnimation = function() {
this.spinner.stopSpinning()
}
,
Ce.proto(Qo, Se),
Qo.prototype.removeCrumbs = function() {
this.breadcrumbs.removeCrumbs()
}
,
Qo.prototype.style = function(t, e, i) {
var n = "landscape" === ht.orientation && ("image_label_binary" === ht.challenge_type || "image_label_area_select" === ht.challenge_type || "image_drag_drop" === ht.challenge_type || "mfa" === ht.challenge_type || "smsin" === ht.challenge_type || "emailout" === ht.challenge_type)
, o = n ? e : 16;
this.breadcrumbs.display && (this.breadcrumbs.style(t, i),
this.breadcrumbs.css({
position: "absolute",
top: (o - this.breadcrumbs.size) / 2
}));
var r = i ? 11 : 12;
return this.text.style(r),
this.text.css({
position: "absolute",
height: o,
top: 0,
right: n ? "auto" : 0,
left: n ? 0 : "auto",
width: n ? 140 : "90%",
lineHeight: 11
}),
this.submit.style(i),
this.submit.css({
position: "absolute",
bottom: 0,
zIndex: 100
}),
Oe.isRTL() ? this.submit.css({
right: "initial",
left: 0
}) : this.submit.css({
right: 0,
left: "initial"
}),
this.css({
width: t,
height: e
}),
{
width: t,
height: e
}
}
,
Qo.prototype.setAction = function(t) {
this.state.action = t,
this.submit.action(t)
}
,
Qo.prototype.getAction = function() {
return this.state.action
}
,
Qo.prototype.displayTryAgain = function(t, e) {
this.text.setCopy(e),
this.text.display(t)
}
,
Qo.prototype.setWhiteLabelEnabled = function(t) {
this.state.whiteLabel = t
}
,
Qo.prototype.translate = function() {
this.text.setCopy(),
this.submit.setLabel(),
Oe.setDirection(this, Oe.getLocale())
}
,
Qo.prototype.setLock = function(t) {
this.state.locked = t,
this.submit.setLock(t)
}
,
Qo.prototype.isLocked = function() {
return this.state.locked
}
,
Qo.prototype.removeAnimations = function() {
this.submit.removeAnimation()
}
,
Ce.proto($o, xn),
$o.prototype.setLocale = function(t) {
this.setText(Oe.getShortLocale(t).toUpperCase())
}
,
$o.prototype.style = function() {
var t = function(t) {
var e = t.palette
, i = t.component;
return hn.merge({
focus: {
outline: e.primary.main
},
main: {
fill: e.common.white,
icon: e.grey[700],
text: e.text.main
}
}, i.button)
}(this._theme.get())
, e = "landscape" === ht.orientation && ("image_label_binary" === ht.challenge_type || "image_label_area_select" === ht.challenge_type || "image_drag_drop" === ht.challenge_type || "mfa" === ht.challenge_type || "smsin" === ht.challenge_type || "emailout" === ht.challenge_type)
, i = e ? 14 : 11
, n = e ? 35 : 26
, o = e ? 35 : 16;
this.state.width = n,
this.state.height = o,
this.css({
display: "table",
cursor: "pointer",
textAlign: "center",
fontWeight: 600,
width: n,
height: o,
fontSize: i,
color: t.main.text,
backgroundColor: t.main.fill,
outlineColor: t.focus.outline,
borderRadius: 4
}),
this.$text.css({
display: "table-cell",
verticalAlign: "middle"
})
}
,
Ce.proto(tr, Se),
tr.prototype.style = function(t) {
var e = "landscape" === ht.orientation && ("image_label_binary" === ht.challenge_type || "image_label_area_select" === ht.challenge_type || "image_drag_drop" === ht.challenge_type || "mfa" === ht.challenge_type || "smsin" === ht.challenge_type || "emailout" === ht.challenge_type);
this.display.style(),
this.css({
position: "relative",
display: "inline-block",
top: t ? 5 : 10,
left: 0,
zIndex: 100
}),
this.list.style(),
Oe.isRTL() ? this.list.css({
bottom: e ? -128 : 30,
right: e ? 45 : "auto",
left: ""
}) : this.list.css({
bottom: e ? -128 : 30,
left: e ? 45 : "auto",
right: ""
})
}
,
tr.prototype.getDimensions = function() {
return {
width: this.display.getWidth(),
height: this.display.getHeight()
}
}
,
tr.prototype.focus = function() {
this.useNativeList ? this.list.focus() : this.display.focus()
}
,
tr.prototype.setLabel = function() {
var t = this.list.getSelected().text
, e = Oe.getShortLocale(Oe.getLocale()).toUpperCase()
, i = Oe.translate("{{locale}} - {{language}}, Select a language", {
locale: e,
language: t
});
this.display.setLabel(i),
this.display.setAttribute("aria-label", i)
}
,
tr.prototype.updateLocale = function() {
this.list.select(Oe.getLocale())
}
,
tr.prototype.setVisible = function(t) {
this.css({
display: t ? "block" : "none "
})
}
,
tr.prototype.getActionableDomElement = function() {
return this.useNativeList ? this.list.dom : this.display.dom
}
,
tr.prototype.setLock = function(t) {
this.state.locked = t,
t ? this.list.setAttribute("disabled", t) : this.list.removeAttribute("disabled")
}
;
function er(t) {
Ce.self(this, Se, "hcaptcha-logo-icon"),
this.mobile = !1,
this.charity = t;
var e = this.charity ? "data:image/svg+xml,%3csvg id='logo_charity' role='img' aria-hidden='true' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500'%3e%3crect x='306.25' y='418.75' width='56.25' height='56.25' style='fill:%230074bf%3bopacity:0.5%3bisolation:isolate'/%3e%3crect x='250' y='418.75' width='56.25' height='56.25' style='fill:%230074bf%3bopacity:0.699999988079071%3bisolation:isolate'/%3e%3crect x='193.75' y='418.75' width='56.25' height='56.25' style='fill:%230074bf%3bopacity:0.699999988079071%3bisolation:isolate'/%3e%3crect x='137.5' y='418.75' width='56.25' height='56.25' style='fill:%230074bf%3bopacity:0.5%3bisolation:isolate'/%3e%3crect x='362.5' y='362.5' width='56.25' height='56.25' style='fill:%230082bf%3bopacity:0.699999988079071%3bisolation:isolate'/%3e%3crect x='306.25' y='362.5' width='56.25' height='56.25' style='fill:%230082bf%3bopacity:0.800000011920929%3bisolation:isolate'/%3e%3crect x='250' y='362.5' width='56.25' height='56.25' style='fill:%230082bf'/%3e%3crect x='193.75' y='362.5' width='56.25' height='56.25' style='fill:%230082bf'/%3e%3crect x='137.5' y='362.5' width='56.25' height='56.25' style='fill:%230082bf%3bopacity:0.800000011920929%3bisolation:isolate'/%3e%3crect x='81.25' y='362.5' width='56.25' height='56.25' style='fill:%230082bf%3bopacity:0.699999988079071%3bisolation:isolate'/%3e%3crect x='418.75' y='306.25' width='56.25' height='56.25' style='fill:%23008fbf%3bopacity:0.5%3bisolation:isolate'/%3e%3crect x='362.5' y='306.25' width='56.25' height='56.25' style='fill:%23008fbf%3bopacity:0.800000011920929%3bisolation:isolate'/%3e%3crect x='306.25' y='306.25' width='56.25' height='56.25' style='fill:%23008fbf'/%3e%3crect x='250' y='306.25' width='56.25' height='56.25' style='fill:%23008fbf'/%3e%3crect x='193.75' y='306.25' width='56.25' height='56.25' style='fill:%23008fbf'/%3e%3crect x='137.5' y='306.25' width='56.25' height='56.25' style='fill:%23008fbf'/%3e%3crect x='81.25' y='306.25' width='56.25' height='56.25' style='fill:%23008fbf%3bopacity:0.800000011920929%3bisolation:isolate'/%3e%3crect x='25' y='306.25' width='56.25' height='56.25' style='fill:%23008fbf%3bopacity:0.5%3bisolation:isolate'/%3e%3crect x='418.75' y='250' width='56.25' height='56.25' style='fill:%23009dbf%3bopacity:0.699999988079071%3bisolation:isolate'/%3e%3crect x='362.5' y='250' width='56.25' height='56.25' style='fill:%23009dbf'/%3e%3crect x='306.25' y='250' width='56.25' height='56.25' style='fill:%23009dbf'/%3e%3crect x='250' y='250' width='56.25' height='56.25' style='fill:%23009dbf'/%3e%3crect x='193.75' y='250' width='56.25' height='56.25' style='fill:%23009dbf'/%3e%3crect x='137.5' y='250' width='56.25' height='56.25' style='fill:%23009dbf'/%3e%3crect x='81.25' y='250' width='56.25' height='56.25' style='fill:%23009dbf'/%3e%3crect x='25' y='250' width='56.25' height='56.25' style='fill:%23009dbf%3bopacity:0.699999988079071%3bisolation:isolate'/%3e%3crect x='418.75' y='193.75' width='56.25' height='56.25' style='fill:%2300abbf%3bopacity:0.699999988079071%3bisolation:isolate'/%3e%3crect x='362.5' y='193.75' width='56.25' height='56.25' style='fill:%2300abbf'/%3e%3crect x='306.25' y='193.75' width='56.25' height='56.25' style='fill:%2300abbf'/%3e%3crect x='250' y='193.75' width='56.25' height='56.25' style='fill:%2300abbf'/%3e%3crect x='193.75' y='193.75' width='56.25' height='56.25' style='fill:%2300abbf'/%3e%3crect x='137.5' y='193.75' width='56.25' height='56.25' style='fill:%2300abbf'/%3e%3crect x='81.25' y='193.75' width='56.25' height='56.25' style='fill:%2300abbf'/%3e%3crect x='25' y='193.75' width='56.25' height='56.25' style='fill:%2300abbf%3bopacity:0.699999988079071%3bisolation:isolate'/%3e%3crect x='418.75' y='137.5' width='56.25' height='56.25' style='fill:%2300b9bf%3bopacity:0.5%3bisolation:isolate'/%3e%3crect x='362.5' y='137.5' width='56.25' height='56.25' style='fill:%2300b9bf%3bopacity:0.800000011920929%3bisolation:isolate'/%3e%3crect x='306.25' y='137.5' width='56.25' height='56.25' style='fill:%2300b9bf'/%3e%3crect x='250' y='137.5' width='56.25' height='56.25' style='fill:%2300b9bf'/%3e%3crect x='193.75' y='137.5' width='56.25' height='56.25' style='fill:%2300b9bf'/%3e%3crect x='137.5' y='137.5' width='56.25' height='56.25' style='fill:%2300b9bf'/%3e%3crect x='81.25' y='137.5' width='56.25' height='56.25' style='fill:%2300b9bf%3bopacity:0.800000011920929%3bisolation:isolate'/%3e%3crect x='25' y='137.5' width='56.25' height='56.25' style='fill:%2300b9bf%3bopacity:0.5%3bisolation:isolate'/%3e%3crect x='362.5' y='81.25' width='56.25' height='56.25' style='fill:%2300c6bf%3bopacity:0.699999988079071%3bisolation:isolate'/%3e%3crect x='306.25' y='81.25' width='56.25' height='56.25' style='fill:%2300c6bf%3bopacity:0.800000011920929%3bisolation:isolate'/%3e%3crect x='250' y='81.25' width='56.25' height='56.25' style='fill:%2300c6bf'/%3e%3crect x='193.75' y='81.25' width='56.25' height='56.25' style='fill:%2300c6bf'/%3e%3crect x='137.5' y='81.25' width='56.25' height='56.25' style='fill:%2300c6bf%3bopacity:0.800000011920929%3bisolation:isolate'/%3e%3crect x='81.25' y='81.25' width='56.25' height='56.25' style='fill:%2300c6bf%3bopacity:0.699999988079071%3bisolation:isolate'/%3e%3crect x='306.25' y='25' width='56.25' height='56.25' style='fill:%2300d4bf%3bopacity:0.5%3bisolation:isolate'/%3e%3crect x='250' y='25' width='56.25' height='56.25' style='fill:%2300d4bf%3bopacity:0.699999988079071%3bisolation:isolate'/%3e%3crect x='193.75' y='25' width='56.25' height='56.25' style='fill:%2300d4bf%3bopacity:0.699999988079071%3bisolation:isolate'/%3e%3crect x='137.5' y='25' width='56.25' height='56.25' style='fill:%2300d4bf%3bopacity:0.5%3bisolation:isolate'/%3e%3cpath d='M190.87%2c158.6c36.33%2c0%2c46.52%2c26.05%2c59.6%2c34.41%2c12.11-8.36%2c22.29-34.41%2c59.59-34.41%2c36.34%2c0%2c65.18%2c29.8%2c66%2c67%2c2.78%2c54-90.26%2c135.93-125.63%2c159.19-36.34-23.26-128.42-105.16-126.6-159.19C125.69%2c188.4%2c153.56%2c158.6%2c190.87%2c158.6Z' style='fill:white'/%3e%3c/svg%3e" : "data:image/svg+xml,%3csvg width='32' height='32' viewBox='0 0 32 32' role='img' aria-hidden='true' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath opacity='0.5' d='M24 28H20V32H24V28Z' fill='%230074BF'/%3e%3cpath opacity='0.7' d='M20 28H16V32H20V28Z' fill='%230074BF'/%3e%3cpath opacity='0.7' d='M16 28H12V32H16V28Z' fill='%230074BF'/%3e%3cpath opacity='0.5' d='M12 28H8V32H12V28Z' fill='%230074BF'/%3e%3cpath opacity='0.7' d='M28 24H24V28H28V24Z' fill='%230082BF'/%3e%3cpath opacity='0.8' d='M24 24H20V28H24V24Z' fill='%230082BF'/%3e%3cpath d='M20 24H16V28H20V24Z' fill='%230082BF'/%3e%3cpath d='M16 24H12V28H16V24Z' fill='%230082BF'/%3e%3cpath opacity='0.8' d='M12 24H8V28H12V24Z' fill='%230082BF'/%3e%3cpath opacity='0.7' d='M8 24H4V28H8V24Z' fill='%230082BF'/%3e%3cpath opacity='0.5' d='M32 20H28V24H32V20Z' fill='%23008FBF'/%3e%3cpath opacity='0.8' d='M28 20H24V24H28V20Z' fill='%23008FBF'/%3e%3cpath d='M24 20H20V24H24V20Z' fill='%23008FBF'/%3e%3cpath d='M20 20H16V24H20V20Z' fill='%23008FBF'/%3e%3cpath d='M16 20H12V24H16V20Z' fill='%23008FBF'/%3e%3cpath d='M12 20H8V24H12V20Z' fill='%23008FBF'/%3e%3cpath opacity='0.8' d='M8 20H4V24H8V20Z' fill='%23008FBF'/%3e%3cpath opacity='0.5' d='M4 20H0V24H4V20Z' fill='%23008FBF'/%3e%3cpath opacity='0.7' d='M32 16H28V20H32V16Z' fill='%23009DBF'/%3e%3cpath d='M28 16H24V20H28V16Z' fill='%23009DBF'/%3e%3cpath d='M24 16H20V20H24V16Z' fill='%23009DBF'/%3e%3cpath d='M20 16H16V20H20V16Z' fill='%23009DBF'/%3e%3cpath d='M16 16H12V20H16V16Z' fill='%23009DBF'/%3e%3cpath d='M12 16H8V20H12V16Z' fill='%23009DBF'/%3e%3cpath d='M8 16H4V20H8V16Z' fill='%23009DBF'/%3e%3cpath opacity='0.7' d='M4 16H0V20H4V16Z' fill='%23009DBF'/%3e%3cpath opacity='0.7' d='M32 12H28V16H32V12Z' fill='%2300ABBF'/%3e%3cpath d='M28 12H24V16H28V12Z' fill='%2300ABBF'/%3e%3cpath d='M24 12H20V16H24V12Z' fill='%2300ABBF'/%3e%3cpath d='M20 12H16V16H20V12Z' fill='%2300ABBF'/%3e%3cpath d='M16 12H12V16H16V12Z' fill='%2300ABBF'/%3e%3cpath d='M12 12H8V16H12V12Z' fill='%2300ABBF'/%3e%3cpath d='M8 12H4V16H8V12Z' fill='%2300ABBF'/%3e%3cpath opacity='0.7' d='M4 12H0V16H4V12Z' fill='%2300ABBF'/%3e%3cpath opacity='0.5' d='M32 8H28V12H32V8Z' fill='%2300B9BF'/%3e%3cpath opacity='0.8' d='M28 8H24V12H28V8Z' fill='%2300B9BF'/%3e%3cpath d='M24 8H20V12H24V8Z' fill='%2300B9BF'/%3e%3cpath d='M20 8H16V12H20V8Z' fill='%2300B9BF'/%3e%3cpath d='M16 8H12V12H16V8Z' fill='%2300B9BF'/%3e%3cpath d='M12 8H8V12H12V8Z' fill='%2300B9BF'/%3e%3cpath opacity='0.8' d='M8 8H4V12H8V8Z' fill='%2300B9BF'/%3e%3cpath opacity='0.5' d='M4 8H0V12H4V8Z' fill='%2300B9BF'/%3e%3cpath opacity='0.7' d='M28 4H24V8H28V4Z' fill='%2300C6BF'/%3e%3cpath opacity='0.8' d='M24 4H20V8H24V4Z' fill='%2300C6BF'/%3e%3cpath d='M20 4H16V8H20V4Z' fill='%2300C6BF'/%3e%3cpath d='M16 4H12V8H16V4Z' fill='%2300C6BF'/%3e%3cpath opacity='0.8' d='M12 4H8V8H12V4Z' fill='%2300C6BF'/%3e%3cpath opacity='0.7' d='M8 4H4V8H8V4Z' fill='%2300C6BF'/%3e%3cpath opacity='0.5' d='M24 0H20V4H24V0Z' fill='%2300D4BF'/%3e%3cpath opacity='0.7' d='M20 0H16V4H20V0Z' fill='%2300D4BF'/%3e%3cpath opacity='0.7' d='M16 0H12V4H16V0Z' fill='%2300D4BF'/%3e%3cpath opacity='0.5' d='M12 0H8V4H12V0Z' fill='%2300D4BF'/%3e%3cpath d='M10.5141 14.9697L11.6379 12.4572C12.0459 11.8129 11.9958 11.0255 11.5449 10.5745C11.4876 10.5173 11.416 10.46 11.3444 10.4171C11.0366 10.2238 10.6572 10.1808 10.3065 10.2954C9.91993 10.4171 9.58349 10.6748 9.36875 11.0184C9.36875 11.0184 7.82972 14.6046 7.26421 16.2153C6.69871 17.8259 6.92062 20.7822 9.12536 22.987C11.4661 25.3277 14.8448 25.8575 17.0066 24.2397C17.0997 24.1967 17.1784 24.1395 17.2572 24.0751L23.9072 18.5202C24.2293 18.2554 24.7089 17.7042 24.2794 17.0743C23.8642 16.4586 23.0697 16.881 22.7404 17.0886L18.9107 19.8731C18.8391 19.9304 18.7318 19.9232 18.6673 19.8517C18.6673 19.8517 18.6673 19.8445 18.6602 19.8445C18.56 19.7228 18.5456 19.4079 18.696 19.2862L24.5657 14.304C25.074 13.8459 25.1456 13.1802 24.7304 12.7292C24.3295 12.2854 23.6924 12.2997 23.1842 12.7578L17.9157 16.881C17.8155 16.9597 17.6652 16.9454 17.5864 16.8452L17.5793 16.838C17.4719 16.7235 17.4361 16.5231 17.5506 16.4014L23.535 10.596C24.0074 10.1522 24.036 9.4149 23.5922 8.94245C23.3775 8.72054 23.084 8.59169 22.7762 8.59169C22.4612 8.59169 22.1606 8.70623 21.9387 8.92813L15.8255 14.6691C15.6823 14.8122 15.396 14.6691 15.3602 14.4973C15.3459 14.4328 15.3674 14.3684 15.4103 14.3255L20.0918 8.99972C20.5571 8.56306 20.5858 7.83292 20.1491 7.36763C19.7124 6.90234 18.9823 6.87371 18.517 7.31036C18.4955 7.32468 18.4812 7.34615 18.4597 7.36763L11.3659 15.2203C11.1082 15.478 10.736 15.4851 10.557 15.342C10.4425 15.2489 10.4282 15.0843 10.5141 14.9697Z' fill='white'/%3e%3c/svg%3e"
, i = "https://newassets.hcaptcha.com/captcha/v1/d067130695f80003c94cd7a16954f23aa0ed457d/static/images" + (this.charity ? "/icon-charity" : "/icon") + ".png";
this.color = this.initComponent(yn, {
selector: ".logo",
src: e,
width: 32,
fallback: i,
autoLoad: !1
})
}
function ir(t) {
var e = t.palette
, i = t.component;
return hn.merge({
focus: {
outline: e.primary.main
}
}, i.logo)
}
function nr(t) {
Ce.self(this, Se, "hcaptcha-logo", "a"),
t || (t = {}),
this._theme = t.theme || un,
this.state = {
label: "hCaptcha",
ariaLabel: "hCaptcha logo, opens new window with more information",
style: ir(this._theme.get())
},
this.padding = 1.5,
this.mobile = !1,
this.link = "https://www.hcaptcha.com/what-is-hcaptcha-about?ref=" + ht.host + "&utm_campaign=" + ht.sitekey + "&utm_medium=challenge&hl=" + Oe.getLocale(),
this.icon = this.initComponent(er, !!t.charity),
this.setAttribute("tabindex", "0"),
this.setAttribute("role", "button"),
this.setAttribute("target", "_blank"),
this.setAttribute("href", this.link),
this.onFocus = this.onFocus.bind(this),
this.onBlur = this.onBlur.bind(this),
this.addEventListener("focus", this.onFocus),
this.addEventListener("blur", this.onBlur)
}
Ce.proto(er, Se),
er.prototype.load = function() {
this.color.load()
}
,
er.prototype.style = function(t) {
this.mobile = t;
var e = 32
, i = this._parent && this._parent.padding || 0;
return this.css({
width: e,
height: e,
position: "absolute",
top: i,
left: i
}),
this.color.css({
"-ms-high-contrast-adjust": "none",
width: e,
height: e,
position: "absolute",
top: 0,
left: 0,
zIndex: 5
}),
{
width: e,
height: e
}
}
,
Ce.proto(nr, Se),
nr.prototype.load = function() {
this.icon.load()
}
,
nr.prototype.focus = function() {
this.dom.focus()
}
,
nr.prototype.style = function(t, e) {
t !== undefined && (this.mobile = t);
var i = this.icon.style(this.mobile)
, n = 2 * this.padding;
this.css({
display: e ? "block" : "none",
width: i.width + n,
height: i.height + n,
left: "50%",
marginLeft: -i.width / 2,
cursor: "pointer",
position: "absolute",
borderRadius: 4
}),
this.height = i.height
}
,
nr.prototype.onFocus = function() {
var t = this.state.style.focus.outline;
this.css({
outline: "2px solid " + t
})
}
,
nr.prototype.onBlur = function() {
this.css({
outline: "none"
})
}
,
nr.prototype.translate = function() {
var t = this.state.ariaLabel;
this.setAttribute("title", Oe.translate(t)),
this.setAttribute("href", this.link.split("&hl=")[0] + "&hl=" + Oe.getLocale())
}
;
var or = [{
text: "Accessibility Cookie",
label: "Retrieve hCaptcha Accessibility Cookie",
value: "accessibility",
selector: "#accessibility",
type: "modal"
}, {
text: "Report Image",
label: "Report Image to hCaptcha",
value: "report_image",
selector: "#report_image",
type: "custom",
warn: !0
}, {
text: "Report Bug",
label: "Report Bug to hCaptcha",
value: "report_bug",
selector: "#report_bug",
type: "modal"
}, {
text: "Information",
label: "Information About hCaptcha",
value: "info",
selector: "#info",
type: "modal"
}, {
text: "Close",
label: "Close",
value: "close",
selector: "#close",
type: "action"
}]
, rr = {
visual_challenge: {
text: "Visual Challenge",
label: "Visual Challenge",
value: "visual_challenge",
selector: "#visual_challenge",
type: "challenge"
},
text_challenge: {
text: "Accessibility Challenge",
label: "Display hCaptcha Accessibility Challenge",
value: "text_challenge",
selector: "#text_challenge",
type: "challenge"
}
};
function sr() {
Ce.self(this, Xn, {
isMenu: !0,
theme: un,
selector: "#menu",
optionsVisible: -1
}),
this.width = 250,
this.state.a11yChallenge = !1,
this.options = [],
this.on("select", (function(t) {
t && ("link" === t.type ? Yi(t.value) : "modal" === t.type ? this.emit("display", t.value) : "challenge" === t.type ? ("text_challenge" === t.value && (ht.a11y_tfe = !0,
this.emit("refresh")),
"visual_challenge" === t.value && (ht.a11y_tfe = !1,
this.emit("refresh"))) : "action" === t.type && "close" === t.value && this.emit("hide"))
}
)),
"android" === tt.System.os && (this._setOptions(!0),
this.deselect(),
this.setInitialA11YState())
}
function ar() {
Ce.self(this, Se, "interface-user");
var t = this;
this.state = {
isRq: !1,
loaded: !1,
locked: !1,
visible: !1,
whiteLabel: !1
},
this.language = this.initComponent(tr),
this.menu = this.initComponent(zo),
this.menuList = this.initComponent(sr),
this.refresh = this.initComponent(Yo),
this.logo = this.initComponent(nr),
this.menu.controlsMenu(this.menuList),
this.menu.on("click", (function(e) {
t.menuList.setUsingKb(e.usingKb),
t.menuList.visible(e.selected, t.state.isRq),
t.menu.state.visible && t.menuList.dom.children && t.menuList.dom.children[0] && t.menuList.dom.children[0].focus()
}
)),
this.menuList.on("hide", (function() {
t.menu.reset()
}
)),
this.menuList.on("blur", (function() {
t.menu.focus()
}
)),
this.refresh.on("click", (function() {
t.emit("refresh"),
t.refresh.setLabelLive()
}
)),
this.menuList.on("select", (function(e) {
e && "report_image" === e.value && t.emit("report")
}
)),
this.menuList.on("refresh", (function() {
t.refresh.dom.click()
}
)),
this.menuList.on("display", (function(e) {
t.emit("display", e)
}
))
}
Ce.proto(sr, Xn),
sr.prototype.setA11yChallenge = function(t) {
this.state.a11yChallenge = t
}
,
sr.prototype._setOptions = function(t) {
var e, i = "mfa" === ht.challenge_type || "smsin" === ht.challenge_type || "emailout" === ht.challenge_type;
this.options = [];
var n = tt.System.mobile ? or.length : or.length - 1;
for (e = 0; e < n; e++)
"report_image" === or[e].value && (t || i) || "accessibility" === or[e].value && i || this.options.push(or[e]);
this.state.a11yChallenge && this.options.splice(1, 0, ht.a11y_tfe ? rr.visual_challenge : rr.text_challenge),
this.style(this.width),
this.setOptions(this.options)
}
,
sr.prototype.visible = function(t, e) {
t ? (this._setOptions(e),
this.deselect(),
this.open()) : this.hide()
}
,
Ce.proto(ar, Se),
ar.prototype.refresh = function() {
this.refresh.dom.click()
}
,
ar.prototype.close = function() {
this.menu.state.visible && this.menuList.visible(!1)
}
,
ar.prototype.load = function(t) {
this.state.isRq = t,
this.state.loaded || (this.menu.load(),
this.refresh.load(),
this.logo.load())
}
,
ar.prototype.setupLogo = function(t, e) {
t && (this.logo.destroy(),
this.logo = this.initComponent(nr, {
charity: t,
theme: un
}),
this.logo.load()),
this.logo.link = e || this.logo.link
}
,
ar.prototype.style = function(t, e, i) {
var n = "landscape" === ht.orientation && ("image_label_binary" === ht.challenge_type || "image_label_area_select" === ht.challenge_type || "image_drag_drop" === ht.challenge_type || "mfa" === ht.challenge_type || "smsin" === ht.challenge_type || "emailout" === ht.challenge_type)
, o = !this.state.whiteLabel
, r = !this.state.whiteLabel
, s = Oe.isRTL();
if (this.language.style(i),
this.refresh.style(i),
this.menu.style(i, o),
this.logo.style(t < 400, r),
n) {
var a = this.language.getDimensions()
, l = (e - (this.refresh.getHeight() + 16 + a.height)) / 2;
this.language.css({
top: l,
left: (t - a.width) / 2,
position: "absolute"
}),
this.refresh.css({
position: "absolute",
top: l + 16 + a.height,
bottom: "auto",
left: o ? (t - this.refresh.getWidth()) / 2 : 0,
zIndex: 90
}),
this.menu.css({
position: "absolute",
bottom: 0,
zIndex: 90
}),
this.menuList.css({
position: "absolute",
zIndex: 1e3,
bottom: 0
}),
s ? (this.menu.css({
right: (t - this.menu.getWidth()) / 2
}),
this.menuList.css({
right: this.menu.getWidth() + 10
})) : (this.menu.css({
left: (t - this.menu.getWidth()) / 2
}),
this.menuList.css({
left: this.menu.getWidth() + 10
})),
this.logo.css({
top: 0,
bottom: "auto"
})
} else
this.language.css({
top: 0,
position: "absolute"
}),
this.refresh.css({
position: "absolute",
top: "auto",
bottom: (40 - this.menu.getHeight()) / 2,
zIndex: 100
}),
this.menu.css({
position: "absolute",
bottom: (40 - this.menu.getHeight()) / 2,
zIndex: 100
}),
this.menuList.css({
position: "absolute",
zIndex: 1e3,
bottom: this.menu.getHeight() + 10
}),
s ? (this.language.css({
right: 0
}),
this.refresh.css({
right: o ? this.menu.getWidth() + 10 : 0
}),
this.menu.css({
right: 0
}),
this.menuList.css({
right: 0
})) : (this.language.css({
left: 0
}),
this.refresh.css({
left: o ? this.menu.getWidth() + 10 : 0
}),
this.menu.css({
left: 0
}),
this.menuList.css({
left: 0
})),
this.logo.css({
top: "auto",
bottom: (40 - this.logo.height) / 2
});
return this.css({
width: t,
height: e
}),
{
width: t,
height: e
}
}
,
ar.prototype.focus = function(t) {
switch (t) {
case "menu":
this.menu.focus();
break;
case "language":
this.language.focus();
break;
case "logo":
this.logo.focus();
break;
default:
return
}
}
,
ar.prototype.displayLanguage = function(t) {
this.language.setVisible(t)
}
,
ar.prototype.setWhiteLabel = function(t) {
this.state.whiteLabel = t
}
,
ar.prototype.enableRefresh = function(t) {
this.refresh.enable(t)
}
,
ar.prototype.translate = function() {
this.language.updateLocale(),
this.language.setLabel(),
this.menu.setCopy(),
this.refresh.setCopy(),
this.logo.translate(),
Oe.setDirection(this, Oe.getLocale())
}
,
ar.prototype.setLock = function(t) {
this.state.locked = t,
this.language.setLock(t),
this.menu.setLock(t),
this.refresh.setLock(t)
}
,
ar.prototype.isLocked = function() {
return this.state.locked
}
;
var lr = null;
function hr(t, e) {
var i = this;
e || (e = {}),
ht.host = e.host ? e.host : "",
ht.sitekey = e.sitekey ? e.sitekey : "",
ht.charity = !!e.charity,
ht.orientation = e.orientation;
var n = new Ji
, o = {
visible: !1,
create: !1,
locked: !1,
expiration: null,
timer: null,
timerExpired: !1,
preventClose: !1,
focus: "challenge",
interaction: "mouse",
a11yChallenge: !1
}
, r = null;
t instanceof Ae || (t = new Ae(t));
var s = new Ae(".interface-wrapper")
, a = new Io
, l = new Qo
, h = new ar
, c = new Jo;
function u(t) {
if ("mfa" !== ht.challenge_type && "smsin" !== ht.challenge_type && "emailout" !== ht.challenge_type || 9 !== t.keyNum)
return !1;
var e = !t.shiftKey
, n = t.shiftKey;
return t.target === l.submit.dom ? (e ? h.focus("language") : n && i.focus(-1),
t.preventDefault(),
t.stopPropagation(),
!0) : t.target === h.logo.dom && e ? (i.focus(0),
t.preventDefault(),
t.stopPropagation(),
!0) : !(t.target !== h.language.getActionableDomElement() || !n) && (l.submit.focus(),
t.preventDefault(),
t.stopPropagation(),
!0)
}
return function() {
try {
!function() {
t.appendElement(s),
s.appendElement(a),
s.appendElement(h),
s.appendElement(l),
s.appendElement(c),
h.on("display", c.display),
a.on("open-modal", c.display),
t.setAttribute("aria-hidden", !0),
e = c,
zi = e;
var e;
try {
Si(2)
} catch (Fs) {
Mt("vm", Fs)
}
}(),
c.on("open", (function() {
o.preventClose = !0
}
)),
c.on("close", (function(t) {
o.visible && h.menu.focus(),
i.hideReport(!1),
o.preventClose && (o.preventClose = !1,
o.timerExpired && (o.timerExpired = !1,
n.emit("refresh")))
}
)),
a.on("action-changed", (function(t) {
l.setAction(t)
}
)),
a.on("action-locked", (function(t) {
l.setLock(t)
}
)),
a.on("submit", (function() {
n.emit("submit")
}
)),
a.on("focus-frame-element", (function(t) {
"logo" === t ? h.focus("logo") : n.emit("focus-check")
}
)),
a.on("focus-check", (function() {
n.emit("focus-check")
}
)),
a.on("resize", (function() {
n.emit("resize")
}
)),
a.on("reset-expiration", (function() {
i.setChallengeRejectTimeout()
}
)),
l.on("submit", (function() {
n.emit("submit"),
h.close()
}
)),
h.on("refresh", (function() {
n.emit("refresh"),
h.close()
}
)),
h.on("report", (function() {
n.emit("report")
}
)),
c.on("report", (function(t) {
n.emit("report-submission", t)
}
)),
s.addEventListener("keydown", (function(t) {
o.interaction = "keyboard"
}
)),
s.addEventListener("click", (function(t) {
o.interaction = "mouse"
}
)),
l.addEventListener("keydown", u),
h.addEventListener("keydown", u)
} catch (Fs) {
Mt("challenge", Fs)
}
}(),
i.events = n,
i.addTheme = function(t, e) {
un.add(t, e)
}
,
i.useTheme = function(t) {
un.use(t)
}
,
i.size = function(t, e) {
return i.style(t, e)
}
,
i.create = function(t) {
o.create = !0,
h.load(!!t.rq),
h.displayLanguage(!t.rq),
h.enableRefresh(!t.rq)
}
,
i.isMounted = function() {
return !!lr
}
,
i.init = function(t) {
var e = t.charity && !0 === t.charity;
h.setupLogo(e, t.link),
t.a11yChallenge && (h.menuList.setA11yChallenge(t.a11yChallenge),
o.a11yChallenge = t.a11yChallenge),
"keydown" === t.action && (o.interaction = "keyboard",
h.menu.onFocus())
}
,
i.setWhiteLabel = function(t) {
h.setWhiteLabel(t)
}
,
i.setup = function(t, e) {
return new Promise((function(i, n) {
try {
lr && lr.type !== e.request_type && (a.unmount(lr),
lr = null),
lr || (ht.challenge_type = e.request_type,
lr = new t({
theme: {
name: un.active(),
config: un.get()
},
a11yChallenge: o.a11yChallenge
}),
a.mount(lr)),
l.removeCrumbs(),
lr.setup(e, ht.orientation).then(i)["catch"]((function(t) {
var e = t;
t instanceof Error && (e = {
event: it.CHALLENGE_ERROR,
message: "Challenge encountered an error during setup.",
reason: t.toString()
}),
n(e)
}
)),
lr.breadcrumbs && "number" == typeof lr.breadcrumbs && lr.breadcrumbs > 1 && (l.breadcrumbs.createCrumbs(lr.breadcrumbs),
l.breadcrumbs.setIndex(lr.served))
} catch (Fs) {
a.isMounted || (lr = null),
n({
event: it.CHALLENGE_ERROR,
message: "Creating challenge failed.",
reason: Fs.toString()
})
}
}
))
}
,
i.show = function(e) {
if (!o.create)
return Promise.reject(new Error(et.CHALLENGE_ALREADY_CLOSED));
o.visible = !0,
o.expiration = e.expiration,
t.removeAttribute("aria-hidden");
try {
var n = Date.now();
_i.resetData(),
_i.record(!0, !0, !0, !1),
_i.setData("dct", n),
Ti(ht.sitekey) || (Ei.resetData(),
Ei.record({
1: !0,
2: !0,
3: !0,
4: !1
}),
Ei.setData("dct", Date.now()))
} catch (Fs) {
Ut("Set MD Failed", "error", "challenge", Fs)
}
var s = i.setup(e.bundle, e.bundleData)
, a = i.style(e.width, e.height).then((function(n) {
o.visible && (l.setLock(!1),
h.setLock(!1),
"mfa" !== e.challengeType && "smsin" !== e.challengeType && "emailout" !== e.challengeType || h.menu.onBlur(),
ji.contact("challenge-ready", n).then((function() {
if ("mfa" !== e.challengeType && "smsin" !== e.challengeType && "emailout" !== e.challengeType) {
var n = t.hasClass("using-kb");
h.menu.focus(!n)
}
i.focus()
}
))["catch"]((function(t) {
Mt("challenge-ready", t)
}
)))
}
));
return new Promise((function(t, e) {
a["catch"](e),
s.then(t, e),
r = e,
i.setChallengeRejectTimeout()
}
))
}
,
i.setChallengeRejectTimeout = function() {
o.timer && clearTimeout(o.timer),
o.timer = setTimeout((function() {
o.timerExpired = !0,
o.preventClose || r({
event: et.CHALLENGE_EXPIRED
})
}
), o.expiration)
}
,
i.style = function(e, i) {
return lr ? new Promise((function(n, o) {
try {
lr.style(e, i).then((function(e) {
var i = 10
, o = e.mobile ? 60 : 70
, r = e.width
, u = e.height + i + o;
a.style(e.width, e.height, i),
"landscape" !== ht.orientation || "image_label_binary" !== ht.challenge_type && "image_label_area_select" !== ht.challenge_type && "image_drag_drop" !== ht.challenge_type && "mfa" !== ht.challenge_type && "smsin" !== ht.challenge_type && "emailout" !== ht.challenge_type ? (l.style(e.width, o, e.mobile),
l.css({
position: "absolute",
left: 0,
bottom: 0
}),
h.style(e.width, o),
h.css({
position: "absolute",
left: 0,
bottom: 0
}),
a.css({
position: "relative",
marginBottom: i,
right: "auto"
})) : (o = 35,
r = e.width + o + i,
u = e.height + o + i,
l.style(e.width, o, e.mobile),
l.css({
position: "absolute",
bottom: 0
}),
h.style(o, u),
h.css({
position: "absolute",
bottom: 0
}),
a.css({
position: "absolute",
top: 0
}),
Oe.isRTL() ? (l.css({
right: "initial",
left: 0
}),
h.css({
right: 0,
left: "initial"
}),
a.css({
right: o + i,
left: "initial"
})) : (l.css({
right: 0,
left: "initial"
}),
h.css({
right: "initial",
left: 0
}),
a.css({
right: "initial",
left: o + i
}))),
s.css({
width: r,
height: u,
margin: i,
position: "relative"
}),
t.css({
width: r + 20,
height: u + 20
}),
c.style(r, u, e.mobile),
c.load(),
n({
width: r + 20,
height: u + 20,
mobile: e.mobile
})
}
))["catch"]((function(t) {
o({
event: it.CHALLENGE_ERROR,
message: "Error occurred in promise of .style()",
reason: t.toString()
})
}
))
} catch (Fs) {
o({
event: it.CHALLENGE_ERROR,
message: "Error when calling .style()",
reason: Fs.toString()
})
}
}
)) : Promise.resolve({
width: 0,
height: 0,
mobile: !1
})
}
,
i.submit = function() {
return i.hasBreadcrumbs() && i.getTotalServed() !== i.getTotalBreadcrumbs() || "skip" !== l.getAction() ? new Promise((function(t, e) {
try {
if (lr && lr.submit(),
i.hasBreadcrumbs()) {
var n = i.getTotalServed();
l.breadcrumbs.setIndex(n)
}
t("challenge-complete"),
null !== o._timer && "check" === l.getAction() && (clearTimeout(o._timer),
o._timer = null)
} catch (Fs) {
e(Fs)
}
}
)) : Promise.resolve("challenge-skip")
}
,
i.displayReport = function(t) {
return new Promise((function(e, n) {
try {
if (!i.isMounted())
return e();
if (!i.canReport()) {
var o;
if ("fallback" === t.request_type)
o = t.key;
else {
var r = i.hasBreadcrumbs() ? i.getTotalServed() - 1 : 0;
o = t.tasklist[r].task_key
}
return e(o)
}
i.report().then(e),
l.breadcrumbs && l.breadcrumbs.hide()
} catch (Zs) {
n(Zs)
}
}
))
}
,
i.hideReport = function() {
lr && lr.report && lr.report(!1)
}
,
i.close = function() {
lr && (lr = a.unmount(lr)),
o.timer && clearTimeout(o.timer),
o.timer = null,
t.setAttribute("aria-hidden", !0),
l.displayTryAgain(!1),
l.removeCrumbs(),
l.removeAnimations(),
c.close(),
h.close(),
o.visible = !1,
o.create = !1
}
,
i.translateInterface = function(t) {
if (t && t.locale && t.table)
try {
t.table && (Oe.setLocale(t.locale),
Oe.addTable(t.locale, t.table)),
lr && lr.translate && lr.translate(),
l.translate(),
h.translate(),
document.documentElement.setAttribute("lang", Oe.getLocale())
} catch (Fs) {
Mt("translation", Fs)
}
}
,
i.translateBundle = function() {
lr && lr.translate && lr.translate()
}
,
i.isVisible = function() {
return o.visible
}
,
i.setFocus = function(t) {
o.focus = t
}
,
i.triggerFocus = function(t, e) {
"submit" === t ? l.submit.focus() : i.focus(e)
}
,
i.closeUserPanel = function() {
h && h.close()
}
,
i.isInterfaceLocked = function() {
return o.locked
}
,
i.lockInterface = function(t) {
o.locked = t,
l.setLock(t),
h.setLock(t)
}
,
i.hasActiveElement = function() {
return document.activeElement === l.submit.dom || document.activeElement === h.refresh.dom || document.activeElement === h.menu.dom
}
,
i.getActiveElement = function() {
return document.activeElement === l.submit.dom ? "submit" : document.activeElement === h.refresh.dom ? "refresh" : document.activeElement === h.menu.dom ? "menu" : null
}
,
i.getModal = function() {
return c
}
,
i.getTotalServed = function() {
return lr.served
}
,
i.getTotalBreadcrumbs = function() {
return lr ? lr.breadcrumbs : 0
}
,
i.hasBreadcrumbs = function() {
return !(!lr || !lr.breadcrumbs)
}
,
i.canReport = function() {
return lr.report && "function" == typeof lr.report
}
,
i.report = function() {
return new Promise((function(t) {
var e = function(i) {
lr.off("report-image", e),
t(i)
};
lr.report(!0),
lr.on("report-image", e)
}
))
}
,
i.focus = function(t) {
lr && lr.setFocus && lr.setFocus(t || 0, o.interaction)
}
,
i.displayTryAgain = function(t, e) {
l.displayTryAgain(t, e)
}
,
i.enableA11yChallenge = function(t) {
h.menuList.setA11yChallenge(t)
}
,
i
}
!function(t) {
if ("object" == typeof exports && "undefined" != typeof module)
module.exports = t();
else if ("function" == typeof define && define.amd)
define("raven-js", t);
else {
("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).msgpack = t()
}
}((function() {
return function t(e, i, n) {
function o(s, a) {
if (!i[s]) {
if (!e[s]) {
var l = "function" == typeof require && require;
if (!a && l)
return l(s, !0);
if (r)
return r(s, !0);
var h = new Error("Cannot find module '" + s + "'");
throw h.code = "MODULE_NOT_FOUND",
h
}
var c = i[s] = {
exports: {}
};
e[s][0].call(c.exports, (function(t) {
var i = e[s][1][t];
return o(i || t)
}
), c, c.exports, t, e, i, n)
}
return i[s].exports
}
for (var r = "function" == typeof require && require, s = 0; s < n.length; s++)
o(n[s]);
return o
}({
1: [function(t, e, i) {
i.encode = t("./encode").encode,
i.decode = t("./decode").decode,
i.Encoder = t("./encoder").Encoder,
i.Decoder = t("./decoder").Decoder,
i.createCodec = t("./ext").createCodec,
i.codec = t("./codec").codec
}
, {
"./codec": 10,
"./decode": 12,
"./decoder": 13,
"./encode": 15,
"./encoder": 16,
"./ext": 20
}],
2: [function(t, e, i) {
(function(t) {
function i(t) {
return t && t.isBuffer && t
}
e.exports = i(void 0 !== t && t) || i(this.Buffer) || i("undefined" != typeof window && window.Buffer) || this.Buffer
}
).call(this, t("buffer").Buffer)
}
, {
buffer: 29
}],
3: [function(t, e, i) {
i.copy = function(t, e, i, n) {
var o;
i || (i = 0),
n || 0 === n || (n = this.length),
e || (e = 0);
var r = n - i;
if (t === this && i < e && e < n)
for (o = r - 1; o >= 0; o--)
t[o + e] = this[o + i];
else
for (o = 0; o < r; o++)
t[o + e] = this[o + i];
return r
}
,
i.toString = function(t, e, i) {
var n = this
, o = 0 | e;
i || (i = n.length);
for (var r = "", s = 0; o < i; )
(s = n[o++]) < 128 ? r += String.fromCharCode(s) : (192 == (224 & s) ? s = (31 & s) << 6 | 63 & n[o++] : 224 == (240 & s) ? s = (15 & s) << 12 | (63 & n[o++]) << 6 | 63 & n[o++] : 240 == (248 & s) && (s = (7 & s) << 18 | (63 & n[o++]) << 12 | (63 & n[o++]) << 6 | 63 & n[o++]),
s >= 65536 ? (s -= 65536,
r += String.fromCharCode(55296 + (s >>> 10), 56320 + (1023 & s))) : r += String.fromCharCode(s));
return r
}
,
i.write = function(t, e) {
for (var i = this, n = e || (e |= 0), o = t.length, r = 0, s = 0; s < o; )
(r = t.charCodeAt(s++)) < 128 ? i[n++] = r : r < 2048 ? (i[n++] = 192 | r >>> 6,
i[n++] = 128 | 63 & r) : r < 55296 || r > 57343 ? (i[n++] = 224 | r >>> 12,
i[n++] = 128 | r >>> 6 & 63,
i[n++] = 128 | 63 & r) : (r = 65536 + (r - 55296 << 10 | t.charCodeAt(s++) - 56320),
i[n++] = 240 | r >>> 18,
i[n++] = 128 | r >>> 12 & 63,
i[n++] = 128 | r >>> 6 & 63,
i[n++] = 128 | 63 & r);
return n - e
}
}
, {}],
4: [function(t, e, i) {
function n(t) {
return new Array(t)
}
var o = t("./bufferish");
(i = e.exports = n(0)).alloc = n,
i.concat = o.concat,
i.from = function(t) {
if (!o.isBuffer(t) && o.isView(t))
t = o.Uint8Array.from(t);
else if (o.isArrayBuffer(t))
t = new Uint8Array(t);
else {
if ("string" == typeof t)
return o.from.call(i, t);
if ("number" == typeof t)
throw new TypeError('"value" argument must not be a number')
}
return Array.prototype.slice.call(t)
}
}
, {
"./bufferish": 8
}],
5: [function(t, e, i) {
function n(t) {
return new r(t)
}
var o = t("./bufferish")
, r = o.global;
(i = e.exports = o.hasBuffer ? n(0) : []).alloc = o.hasBuffer && r.alloc || n,
i.concat = o.concat,
i.from = function(t) {
if (!o.isBuffer(t) && o.isView(t))
t = o.Uint8Array.from(t);
else if (o.isArrayBuffer(t))
t = new Uint8Array(t);
else {
if ("string" == typeof t)
return o.from.call(i, t);
if ("number" == typeof t)
throw new TypeError('"value" argument must not be a number')
}
return r.from && 1 !== r.from.length ? r.from(t) : new r(t)
}
}
, {
"./bufferish": 8
}],
6: [function(t, e, i) {
function n(t, e, i, n) {
var a = s.isBuffer(this)
, l = s.isBuffer(t);
if (a && l)
return this.copy(t, e, i, n);
if (h || a || l || !s.isView(this) || !s.isView(t))
return r.copy.call(this, t, e, i, n);
var c = i || null != n ? o.call(this, i, n) : this;
return t.set(c, e),
c.length
}
function o(t, e) {
var i = this.slice || !h && this.subarray;
if (i)
return i.call(this, t, e);
var o = s.alloc.call(this, e - t);
return n.call(this, o, 0, t, e),
o
}
var r = t("./buffer-lite");
i.copy = n,
i.slice = o,
i.toString = function(t, e, i) {
var n = !l && s.isBuffer(this) ? this.toString : r.toString;
return n.apply(this, arguments)
}
,
i.write = function(t) {
return function() {
var e = this[t] || r[t];
return e.apply(this, arguments)
}
}("write");
var s = t("./bufferish")
, a = s.global
, l = s.hasBuffer && "TYPED_ARRAY_SUPPORT"in a
, h = l && !a.TYPED_ARRAY_SUPPORT
}
, {
"./buffer-lite": 3,
"./bufferish": 8
}],
7: [function(t, e, i) {
function n(t) {
return new Uint8Array(t)
}
var o = t("./bufferish");
(i = e.exports = o.hasArrayBuffer ? n(0) : []).alloc = n,
i.concat = o.concat,
i.from = function(t) {
if (o.isView(t)) {
var e = t.byteOffset
, n = t.byteLength;
(t = t.buffer).byteLength !== n && (t.slice ? t = t.slice(e, e + n) : (t = new Uint8Array(t)).byteLength !== n && (t = Array.prototype.slice.call(t, e, e + n)))
} else {
if ("string" == typeof t)
return o.from.call(i, t);
if ("number" == typeof t)
throw new TypeError('"value" argument must not be a number')
}
return new Uint8Array(t)
}
}
, {
"./bufferish": 8
}],
8: [function(t, e, i) {
function n(t) {
return r(this).alloc(t)
}
function o(t) {
var e = 3 * t.length
, i = n.call(this, e)
, o = g.write.call(i, t);
return e !== o && (i = g.slice.call(i, 0, o)),
i
}
function r(t) {
return p(t) ? m : d(t) ? y : u(t) ? f : h ? m : c ? y : f
}
function s() {
return !1
}
function a(t, e) {
return t = "[object " + t + "]",
function(i) {
return null != i && {}.toString.call(e ? i[e] : i) === t
}
}
var l = i.global = t("./buffer-global")
, h = i.hasBuffer = l && !!l.isBuffer
, c = i.hasArrayBuffer = "undefined" != typeof ArrayBuffer
, u = i.isArray = t("isarray");
i.isArrayBuffer = c ? function(t) {
return t instanceof ArrayBuffer || b(t)
}
: s;
var p = i.isBuffer = h ? l.isBuffer : s
, d = i.isView = c ? ArrayBuffer.isView || a("ArrayBuffer", "buffer") : s;
i.alloc = n,
i.concat = function(t, e) {
e || (e = 0,
Array.prototype.forEach.call(t, (function(t) {
e += t.length
}
)));
var o = this !== i && this || t[0]
, r = n.call(o, e)
, s = 0;
return Array.prototype.forEach.call(t, (function(t) {
s += g.copy.call(t, r, s)
}
)),
r
}
,
i.from = function(t) {
return "string" == typeof t ? o.call(this, t) : r(this).from(t)
}
;
var f = i.Array = t("./bufferish-array")
, m = i.Buffer = t("./bufferish-buffer")
, y = i.Uint8Array = t("./bufferish-uint8array")
, g = i.prototype = t("./bufferish-proto")
, b = a("ArrayBuffer")
}
, {
"./buffer-global": 2,
"./bufferish-array": 4,
"./bufferish-buffer": 5,
"./bufferish-proto": 6,
"./bufferish-uint8array": 7,
isarray: 34
}],
9: [function(t, e, i) {
function n(t) {
return this instanceof n ? (this.options = t,
void this.init()) : new n(t)
}
function o(t, e) {
return t && e ? function() {
return t.apply(this, arguments),
e.apply(this, arguments)
}
: t || e
}
function r(t) {
return new n(t)
}
var s = t("isarray");
i.createCodec = r,
i.install = function(t) {
for (var e in t)
n.prototype[e] = o(n.prototype[e], t[e])
}
,
i.filter = function(t) {
return s(t) ? function(t) {
function e(t, e) {
return e(t)
}
return t = t.slice(),
function(i) {
return t.reduce(e, i)
}
}(t) : t
}
;
var a = t("./bufferish");
n.prototype.init = function() {
var t = this.options;
return t && t.uint8array && (this.bufferish = a.Uint8Array),
this
}
,
i.preset = r({
preset: !0
})
}
, {
"./bufferish": 8,
isarray: 34
}],
10: [function(t, e, i) {
t("./read-core"),
t("./write-core"),
i.codec = {
preset: t("./codec-base").preset
}
}
, {
"./codec-base": 9,
"./read-core": 22,
"./write-core": 25
}],
11: [function(t, e, i) {
function n(t) {
if (!(this instanceof n))
return new n(t);
if (t && (this.options = t,
t.codec)) {
var e = this.codec = t.codec;
e.bufferish && (this.bufferish = e.bufferish)
}
}
i.DecodeBuffer = n;
var o = t("./read-core").preset;
t("./flex-buffer").FlexDecoder.mixin(n.prototype),
n.prototype.codec = o,
n.prototype.fetch = function() {
return this.codec.decode(this)
}
}
, {
"./flex-buffer": 21,
"./read-core": 22
}],
12: [function(t, e, i) {
i.decode = function(t, e) {
var i = new n(e);
return i.write(t),
i.read()
}
;
var n = t("./decode-buffer").DecodeBuffer
}
, {
"./decode-buffer": 11
}],
13: [function(t, e, i) {
function n(t) {
return this instanceof n ? void r.call(this, t) : new n(t)
}
i.Decoder = n;
var o = t("event-lite")
, r = t("./decode-buffer").DecodeBuffer;
n.prototype = new r,
o.mixin(n.prototype),
n.prototype.decode = function(t) {
arguments.length && this.write(t),
this.flush()
}
,
n.prototype.push = function(t) {
this.emit("data", t)
}
,
n.prototype.end = function(t) {
this.decode(t),
this.emit("end")
}
}
, {
"./decode-buffer": 11,
"event-lite": 31
}],
14: [function(t, e, i) {
function n(t) {
if (!(this instanceof n))
return new n(t);
if (t && (this.options = t,
t.codec)) {
var e = this.codec = t.codec;
e.bufferish && (this.bufferish = e.bufferish)
}
}
i.EncodeBuffer = n;
var o = t("./write-core").preset;
t("./flex-buffer").FlexEncoder.mixin(n.prototype),
n.prototype.codec = o,
n.prototype.write = function(t) {
this.codec.encode(this, t)
}
}
, {
"./flex-buffer": 21,
"./write-core": 25
}],
15: [function(t, e, i) {
i.encode = function(t, e) {
var i = new n(e);
return i.write(t),
i.read()
}
;
var n = t("./encode-buffer").EncodeBuffer
}
, {
"./encode-buffer": 14
}],
16: [function(t, e, i) {
function n(t) {
return this instanceof n ? void r.call(this, t) : new n(t)
}
i.Encoder = n;
var o = t("event-lite")
, r = t("./encode-buffer").EncodeBuffer;
n.prototype = new r,
o.mixin(n.prototype),
n.prototype.encode = function(t) {
this.write(t),
this.emit("data", this.read())
}
,
n.prototype.end = function(t) {
arguments.length && this.encode(t),
this.flush(),
this.emit("end")
}
}
, {
"./encode-buffer": 14,
"event-lite": 31
}],
17: [function(t, e, i) {
i.ExtBuffer = function o(t, e) {
return this instanceof o ? (this.buffer = n.from(t),
void (this.type = e)) : new o(t,e)
}
;
var n = t("./bufferish")
}
, {
"./bufferish": 8
}],
18: [function(t, e, i) {
function n(e) {
return a || (a = t("./encode").encode),
a(e)
}
function o(t) {
return t.valueOf()
}
function r(t) {
(t = RegExp.prototype.toString.call(t).split("/")).shift();
var e = [t.pop()];
return e.unshift(t.join("/")),
e
}
function s(t) {
var e = {};
for (var i in u)
e[i] = t[i];
return e
}
i.setExtPackers = function(t) {
t.addExtPacker(14, Error, [s, n]),
t.addExtPacker(1, EvalError, [s, n]),
t.addExtPacker(2, RangeError, [s, n]),
t.addExtPacker(3, ReferenceError, [s, n]),
t.addExtPacker(4, SyntaxError, [s, n]),
t.addExtPacker(5, TypeError, [s, n]),
t.addExtPacker(6, URIError, [s, n]),
t.addExtPacker(10, RegExp, [r, n]),
t.addExtPacker(11, Boolean, [o, n]),
t.addExtPacker(12, String, [o, n]),
t.addExtPacker(13, Date, [Number, n]),
t.addExtPacker(15, Number, [o, n]),
"undefined" != typeof Uint8Array && (t.addExtPacker(17, Int8Array, c),
t.addExtPacker(18, Uint8Array, c),
t.addExtPacker(19, Int16Array, c),
t.addExtPacker(20, Uint16Array, c),
t.addExtPacker(21, Int32Array, c),
t.addExtPacker(22, Uint32Array, c),
t.addExtPacker(23, Float32Array, c),
"undefined" != typeof Float64Array && t.addExtPacker(24, Float64Array, c),
"undefined" != typeof Uint8ClampedArray && t.addExtPacker(25, Uint8ClampedArray, c),
t.addExtPacker(26, ArrayBuffer, c),
t.addExtPacker(29, DataView, c)),
l.hasBuffer && t.addExtPacker(27, h, l.from)
}
;
var a, l = t("./bufferish"), h = l.global, c = l.Uint8Array.from, u = {
name: 1,
message: 1,
stack: 1,
columnNumber: 1,
fileName: 1,
lineNumber: 1
}
}
, {
"./bufferish": 8,
"./encode": 15
}],
19: [function(t, e, i) {
function n(e) {
return l || (l = t("./decode").decode),
l(e)
}
function o(t) {
return RegExp.apply(null, t)
}
function r(t) {
return function(e) {
var i = new t;
for (var n in u)
i[n] = e[n];
return i
}
}
function s(t) {
return function(e) {
return new t(e)
}
}
function a(t) {
return new Uint8Array(t).buffer
}
i.setExtUnpackers = function(t) {
t.addExtUnpacker(14, [n, r(Error)]),
t.addExtUnpacker(1, [n, r(EvalError)]),
t.addExtUnpacker(2, [n, r(RangeError)]),
t.addExtUnpacker(3, [n, r(ReferenceError)]),
t.addExtUnpacker(4, [n, r(SyntaxError)]),
t.addExtUnpacker(5, [n, r(TypeError)]),
t.addExtUnpacker(6, [n, r(URIError)]),
t.addExtUnpacker(10, [n, o]),
t.addExtUnpacker(11, [n, s(Boolean)]),
t.addExtUnpacker(12, [n, s(String)]),
t.addExtUnpacker(13, [n, s(Date)]),
t.addExtUnpacker(15, [n, s(Number)]),
"undefined" != typeof Uint8Array && (t.addExtUnpacker(17, s(Int8Array)),
t.addExtUnpacker(18, s(Uint8Array)),
t.addExtUnpacker(19, [a, s(Int16Array)]),
t.addExtUnpacker(20, [a, s(Uint16Array)]),
t.addExtUnpacker(21, [a, s(Int32Array)]),
t.addExtUnpacker(22, [a, s(Uint32Array)]),
t.addExtUnpacker(23, [a, s(Float32Array)]),
"undefined" != typeof Float64Array && t.addExtUnpacker(24, [a, s(Float64Array)]),
"undefined" != typeof Uint8ClampedArray && t.addExtUnpacker(25, s(Uint8ClampedArray)),
t.addExtUnpacker(26, a),
t.addExtUnpacker(29, [a, s(DataView)])),
h.hasBuffer && t.addExtUnpacker(27, s(c))
}
;
var l, h = t("./bufferish"), c = h.global, u = {
name: 1,
message: 1,
stack: 1,
columnNumber: 1,
fileName: 1,
lineNumber: 1
}
}
, {
"./bufferish": 8,
"./decode": 12
}],
20: [function(t, e, i) {
t("./read-core"),
t("./write-core"),
i.createCodec = t("./codec-base").createCodec
}
, {
"./codec-base": 9,
"./read-core": 22,
"./write-core": 25
}],
21: [function(t, e, i) {
function n() {
if (!(this instanceof n))
return new n
}
function o() {
if (!(this instanceof o))
return new o
}
function r() {
throw new Error("method not implemented: write()")
}
function s() {
throw new Error("method not implemented: fetch()")
}
function a() {
return this.buffers && this.buffers.length ? (this.flush(),
this.pull()) : this.fetch()
}
function l(t) {
(this.buffers || (this.buffers = [])).push(t)
}
function h() {
return (this.buffers || (this.buffers = [])).shift()
}
function c(t) {
return function(e) {
for (var i in t)
e[i] = t[i];
return e
}
}
i.FlexDecoder = n,
i.FlexEncoder = o;
var u = t("./bufferish")
, p = 2048
, d = 65536
, f = "BUFFER_SHORTAGE";
n.mixin = c({
bufferish: u,
write: function(t) {
var e = this.offset ? u.prototype.slice.call(this.buffer, this.offset) : this.buffer;
this.buffer = e ? t ? this.bufferish.concat([e, t]) : e : t,
this.offset = 0
},
fetch: s,
flush: function() {
for (; this.offset < this.buffer.length; ) {
var t, e = this.offset;
try {
t = this.fetch()
} catch (t) {
if (t && t.message != f)
throw t;
this.offset = e;
break
}
this.push(t)
}
},
push: l,
pull: h,
read: a,
reserve: function(t) {
var e = this.offset
, i = e + t;
if (i > this.buffer.length)
throw new Error(f);
return this.offset = i,
e
},
offset: 0
}),
n.mixin(n.prototype),
o.mixin = c({
bufferish: u,
write: r,
fetch: function() {
var t = this.start;
if (t < this.offset) {
var e = this.start = this.offset;
return u.prototype.slice.call(this.buffer, t, e)
}
},
flush: function() {
for (; this.start < this.offset; ) {
var t = this.fetch();
t && this.push(t)
}
},
push: l,
pull: function() {
var t = this.buffers || (this.buffers = [])
, e = t.length > 1 ? this.bufferish.concat(t) : t[0];
return t.length = 0,
e
},
read: a,
reserve: function(t) {
var e = 0 | t;
if (this.buffer) {
var i = this.buffer.length
, n = 0 | this.offset
, o = n + e;
if (o < i)
return this.offset = o,
n;
this.flush(),
t = Math.max(t, Math.min(2 * i, this.maxBufferSize))
}
return t = Math.max(t, this.minBufferSize),
this.buffer = this.bufferish.alloc(t),
this.start = 0,
this.offset = e,
0
},
send: function(t) {
var e = t.length;
if (e > this.minBufferSize)
this.flush(),
this.push(t);
else {
var i = this.reserve(e);
u.prototype.copy.call(t, this.buffer, i)
}
},
maxBufferSize: d,
minBufferSize: p,
offset: 0,
start: 0
}),
o.mixin(o.prototype)
}
, {
"./bufferish": 8
}],
22: [function(t, e, i) {
function n() {
var t = this.options;
return this.decode = function(t) {
var e = a.getReadToken(t);
return function(t) {
var i = s(t)
, n = e[i];
if (!n)
throw new Error("Invalid type: " + (i ? "0x" + i.toString(16) : i));
return n(t)
}
}(t),
t && t.preset && r.setExtUnpackers(this),
this
}
var o = t("./ext-buffer").ExtBuffer
, r = t("./ext-unpacker")
, s = t("./read-format").readUint8
, a = t("./read-token")
, l = t("./codec-base");
l.install({
addExtUnpacker: function(t, e) {
(this.extUnpackers || (this.extUnpackers = []))[t] = l.filter(e)
},
getExtUnpacker: function(t) {
return (this.extUnpackers || (this.extUnpackers = []))[t] || function(e) {
return new o(e,t)
}
},
init: n
}),
i.preset = n.call(l.preset)
}
, {
"./codec-base": 9,
"./ext-buffer": 17,
"./ext-unpacker": 19,
"./read-format": 23,
"./read-token": 24
}],
23: [function(t, e, i) {
function n(t, e) {
var i, n = {}, o = new Array(e), r = new Array(e), s = t.codec.decode;
for (i = 0; i < e; i++)
o[i] = s(t),
r[i] = s(t);
for (i = 0; i < e; i++)
n[o[i]] = r[i];
return n
}
function o(t, e) {
var i, n = new Map, o = new Array(e), r = new Array(e), s = t.codec.decode;
for (i = 0; i < e; i++)
o[i] = s(t),
r[i] = s(t);
for (i = 0; i < e; i++)
n.set(o[i], r[i]);
return n
}
function r(t, e) {
for (var i = new Array(e), n = t.codec.decode, o = 0; o < e; o++)
i[o] = n(t);
return i
}
function s(t, e) {
var i = t.reserve(e)
, n = i + e;
return R.toString.call(t.buffer, "utf-8", i, n)
}
function a(t, e) {
var i = t.reserve(e)
, n = i + e
, o = R.slice.call(t.buffer, i, n);
return S.from(o)
}
function l(t, e) {
var i = t.reserve(e)
, n = i + e
, o = R.slice.call(t.buffer, i, n);
return S.Uint8Array.from(o).buffer
}
function h(t, e) {
var i = t.reserve(e + 1)
, n = t.buffer[i++]
, o = i + e
, r = t.codec.getExtUnpacker(n);
if (!r)
throw new Error("Invalid ext type: " + (n ? "0x" + n.toString(16) : n));
return r(R.slice.call(t.buffer, i, o))
}
function c(t) {
var e = t.reserve(1);
return t.buffer[e]
}
function u(t) {
var e = t.reserve(1)
, i = t.buffer[e];
return 128 & i ? i - 256 : i
}
function p(t) {
var e = t.reserve(2)
, i = t.buffer;
return i[e++] << 8 | i[e]
}
function d(t) {
var e = t.reserve(2)
, i = t.buffer
, n = i[e++] << 8 | i[e];
return 32768 & n ? n - 65536 : n
}
function f(t) {
var e = t.reserve(4)
, i = t.buffer;
return 16777216 * i[e++] + (i[e++] << 16) + (i[e++] << 8) + i[e]
}
function m(t) {
var e = t.reserve(4)
, i = t.buffer;
return i[e++] << 24 | i[e++] << 16 | i[e++] << 8 | i[e]
}
function y(t, e) {
return function(i) {
var n = i.reserve(t);
return e.call(i.buffer, n, _)
}
}
function g(t) {
return new A(this,t).toNumber()
}
function b(t) {
return new C(this,t).toNumber()
}
function v(t) {
return new A(this,t)
}
function w(t) {
return new C(this,t)
}
function V(t) {
return k.read(this, t, !1, 23, 4)
}
function x(t) {
return k.read(this, t, !1, 52, 8)
}
var k = t("ieee754")
, E = t("int64-buffer")
, A = E.Uint64BE
, C = E.Int64BE;
i.getReadFormat = function(t) {
var e = S.hasArrayBuffer && t && t.binarraybuffer
, i = t && t.int64;
return {
map: T && t && t.usemap ? o : n,
array: r,
str: s,
bin: e ? l : a,
ext: h,
uint8: c,
uint16: p,
uint32: f,
uint64: y(8, i ? v : g),
int8: u,
int16: d,
int32: m,
int64: y(8, i ? w : b),
float32: y(4, V),
float64: y(8, x)
}
}
,
i.readUint8 = c;
var S = t("./bufferish")
, R = t("./bufferish-proto")
, T = "undefined" != typeof Map
, _ = !0
}
, {
"./bufferish": 8,
"./bufferish-proto": 6,
ieee754: 32,
"int64-buffer": 33
}],
24: [function(t, e, i) {
function n(t) {
var e, i = new Array(256);
for (e = 0; e <= 127; e++)
i[e] = o(e);
for (e = 128; e <= 143; e++)
i[e] = s(e - 128, t.map);
for (e = 144; e <= 159; e++)
i[e] = s(e - 144, t.array);
for (e = 160; e <= 191; e++)
i[e] = s(e - 160, t.str);
for (i[192] = o(null),
i[193] = null,
i[194] = o(!1),
i[195] = o(!0),
i[196] = r(t.uint8, t.bin),
i[197] = r(t.uint16, t.bin),
i[198] = r(t.uint32, t.bin),
i[199] = r(t.uint8, t.ext),
i[200] = r(t.uint16, t.ext),
i[201] = r(t.uint32, t.ext),
i[202] = t.float32,
i[203] = t.float64,
i[204] = t.uint8,
i[205] = t.uint16,
i[206] = t.uint32,
i[207] = t.uint64,
i[208] = t.int8,
i[209] = t.int16,
i[210] = t.int32,
i[211] = t.int64,
i[212] = s(1, t.ext),
i[213] = s(2, t.ext),
i[214] = s(4, t.ext),
i[215] = s(8, t.ext),
i[216] = s(16, t.ext),
i[217] = r(t.uint8, t.str),
i[218] = r(t.uint16, t.str),
i[219] = r(t.uint32, t.str),
i[220] = r(t.uint16, t.array),
i[221] = r(t.uint32, t.array),
i[222] = r(t.uint16, t.map),
i[223] = r(t.uint32, t.map),
e = 224; e <= 255; e++)
i[e] = o(e - 256);
return i
}
function o(t) {
return function() {
return t
}
}
function r(t, e) {
return function(i) {
var n = t(i);
return e(i, n)
}
}
function s(t, e) {
return function(i) {
return e(i, t)
}
}
var a = t("./read-format");
i.getReadToken = function(t) {
var e = a.getReadFormat(t);
return t && t.useraw ? function(t) {
var e, i = n(t).slice();
for (i[217] = i[196],
i[218] = i[197],
i[219] = i[198],
e = 160; e <= 191; e++)
i[e] = s(e - 160, t.bin);
return i
}(e) : n(e)
}
}
, {
"./read-format": 23
}],
25: [function(t, e, i) {
function n() {
var t = this.options;
return this.encode = function(t) {
var e = s.getWriteType(t);
return function(t, i) {
var n = e[typeof i];
if (!n)
throw new Error('Unsupported type "' + typeof i + '": ' + i);
n(t, i)
}
}(t),
t && t.preset && r.setExtPackers(this),
this
}
var o = t("./ext-buffer").ExtBuffer
, r = t("./ext-packer")
, s = t("./write-type")
, a = t("./codec-base");
a.install({
addExtPacker: function(t, e, i) {
function n(e) {
return i && (e = i(e)),
new o(e,t)
}
i = a.filter(i);
var r = e.name;
r && "Object" !== r ? (this.extPackers || (this.extPackers = {}))[r] = n : (this.extEncoderList || (this.extEncoderList = [])).unshift([e, n])
},
getExtPacker: function(t) {
var e = this.extPackers || (this.extPackers = {})
, i = t.constructor
, n = i && i.name && e[i.name];
if (n)
return n;
for (var o = this.extEncoderList || (this.extEncoderList = []), r = o.length, s = 0; s < r; s++) {
var a = o[s];
if (i === a[0])
return a[1]
}
},
init: n
}),
i.preset = n.call(a.preset)
}
, {
"./codec-base": 9,
"./ext-buffer": 17,
"./ext-packer": 18,
"./write-type": 27
}],
26: [function(t, e, i) {
function n() {
var t = y.slice();
return t[196] = o(196),
t[197] = r(197),
t[198] = s(198),
t[199] = o(199),
t[200] = r(200),
t[201] = s(201),
t[202] = a(202, 4, w.writeFloatBE || c, !0),
t[203] = a(203, 8, w.writeDoubleBE || u, !0),
t[204] = o(204),
t[205] = r(205),
t[206] = s(206),
t[207] = a(207, 8, l),
t[208] = o(208),
t[209] = r(209),
t[210] = s(210),
t[211] = a(211, 8, h),
t[217] = o(217),
t[218] = r(218),
t[219] = s(219),
t[220] = r(220),
t[221] = s(221),
t[222] = r(222),
t[223] = s(223),
t
}
function o(t) {
return function(e, i) {
var n = e.reserve(2)
, o = e.buffer;
o[n++] = t,
o[n] = i
}
}
function r(t) {
return function(e, i) {
var n = e.reserve(3)
, o = e.buffer;
o[n++] = t,
o[n++] = i >>> 8,
o[n] = i
}
}
function s(t) {
return function(e, i) {
var n = e.reserve(5)
, o = e.buffer;
o[n++] = t,
o[n++] = i >>> 24,
o[n++] = i >>> 16,
o[n++] = i >>> 8,
o[n] = i
}
}
function a(t, e, i, n) {
return function(o, r) {
var s = o.reserve(e + 1);
o.buffer[s++] = t,
i.call(o.buffer, r, s, n)
}
}
function l(t, e) {
new f(this,e,t)
}
function h(t, e) {
new m(this,e,t)
}
function c(t, e) {
p.write(this, t, e, !1, 23, 4)
}
function u(t, e) {
p.write(this, t, e, !1, 52, 8)
}
var p = t("ieee754")
, d = t("int64-buffer")
, f = d.Uint64BE
, m = d.Int64BE
, y = t("./write-uint8").uint8
, g = t("./bufferish")
, b = g.global
, v = g.hasBuffer && "TYPED_ARRAY_SUPPORT"in b && !b.TYPED_ARRAY_SUPPORT
, w = g.hasBuffer && b.prototype || {};
i.getWriteToken = function(t) {
return t && t.uint8array ? function() {
var t = n();
return t[202] = a(202, 4, c),
t[203] = a(203, 8, u),
t
}() : v || g.hasBuffer && t && t.safe ? function() {
var t = y.slice();
return t[196] = a(196, 1, b.prototype.writeUInt8),
t[197] = a(197, 2, b.prototype.writeUInt16BE),
t[198] = a(198, 4, b.prototype.writeUInt32BE),
t[199] = a(199, 1, b.prototype.writeUInt8),
t[200] = a(200, 2, b.prototype.writeUInt16BE),
t[201] = a(201, 4, b.prototype.writeUInt32BE),
t[202] = a(202, 4, b.prototype.writeFloatBE),
t[203] = a(203, 8, b.prototype.writeDoubleBE),
t[204] = a(204, 1, b.prototype.writeUInt8),
t[205] = a(205, 2, b.prototype.writeUInt16BE),
t[206] = a(206, 4, b.prototype.writeUInt32BE),
t[207] = a(207, 8, l),
t[208] = a(208, 1, b.prototype.writeInt8),
t[209] = a(209, 2, b.prototype.writeInt16BE),
t[210] = a(210, 4, b.prototype.writeInt32BE),
t[211] = a(211, 8, h),
t[217] = a(217, 1, b.prototype.writeUInt8),
t[218] = a(218, 2, b.prototype.writeUInt16BE),
t[219] = a(219, 4, b.prototype.writeUInt32BE),
t[220] = a(220, 2, b.prototype.writeUInt16BE),
t[221] = a(221, 4, b.prototype.writeUInt32BE),
t[222] = a(222, 2, b.prototype.writeUInt16BE),
t[223] = a(223, 4, b.prototype.writeUInt32BE),
t
}() : n()
}
}
, {
"./bufferish": 8,
"./write-uint8": 28,
ieee754: 32,
"int64-buffer": 33
}],
27: [function(t, e, i) {
var n = t("isarray")
, o = t("int64-buffer")
, r = o.Uint64BE
, s = o.Int64BE
, a = t("./bufferish")
, l = t("./bufferish-proto")
, h = t("./write-token")
, c = t("./write-uint8").uint8
, u = t("./ext-buffer").ExtBuffer
, p = "undefined" != typeof Uint8Array
, d = "undefined" != typeof Map
, f = [];
f[1] = 212,
f[2] = 213,
f[4] = 214,
f[8] = 215,
f[16] = 216,
i.getWriteType = function(t) {
function e(t, e) {
if (null === e)
return i(t, e);
if (v(e))
return w(t, e);
if (n(e))
return function(t, e) {
var i = e.length;
y[i < 16 ? 144 + i : i <= 65535 ? 220 : 221](t, i);
for (var n = t.codec.encode, o = 0; o < i; o++)
n(t, e[o])
}(t, e);
if (r.isUint64BE(e))
return function(t, e) {
y[207](t, e.toArray())
}(t, e);
if (s.isInt64BE(e))
return function(t, e) {
y[211](t, e.toArray())
}(t, e);
var o = t.codec.getExtPacker(e);
return o && (e = o(e)),
e instanceof u ? function(t, e) {
var i = e.buffer
, n = i.length
, o = f[n] || (n < 255 ? 199 : n <= 65535 ? 200 : 201);
y[o](t, n),
c[e.type](t),
t.send(i)
}(t, e) : void V(t, e)
}
function i(t, e) {
y[192](t, e)
}
function o(t, e) {
var i = e.length;
y[i < 255 ? 196 : i <= 65535 ? 197 : 198](t, i),
t.send(e)
}
function m(t, e) {
var i = Object.keys(e)
, n = i.length;
y[n < 16 ? 128 + n : n <= 65535 ? 222 : 223](t, n);
var o = t.codec.encode;
i.forEach((function(i) {
o(t, i),
o(t, e[i])
}
))
}
var y = h.getWriteToken(t)
, g = t && t.useraw
, b = p && t && t.binarraybuffer
, v = b ? a.isArrayBuffer : a.isBuffer
, w = b ? function(t, e) {
o(t, new Uint8Array(e))
}
: o
, V = d && t && t.usemap ? function(t, e) {
if (!(e instanceof Map))
return m(t, e);
var i = e.size;
y[i < 16 ? 128 + i : i <= 65535 ? 222 : 223](t, i);
var n = t.codec.encode;
e.forEach((function(e, i, o) {
n(t, i),
n(t, e)
}
))
}
: m
, x = {
boolean: function(t, e) {
y[e ? 195 : 194](t, e)
},
"function": i,
number: function(t, e) {
var i = 0 | e;
return e !== i ? void y[203](t, e) : void y[-32 <= i && i <= 127 ? 255 & i : 0 <= i ? i <= 255 ? 204 : i <= 65535 ? 205 : 206 : -128 <= i ? 208 : -32768 <= i ? 209 : 210](t, i)
},
object: g ? function(t, i) {
return v(i) ? function(t, e) {
var i = e.length;
y[i < 32 ? 160 + i : i <= 65535 ? 218 : 219](t, i),
t.send(e)
}(t, i) : void e(t, i)
}
: e,
string: function(t) {
return function(e, i) {
var n = i.length
, o = 5 + 3 * n;
e.offset = e.reserve(o);
var r = e.buffer
, s = t(n)
, a = e.offset + s;
n = l.write.call(r, i, a);
var h = t(n);
if (s !== h) {
var c = a + h - s
, u = a + n;
l.copy.call(r, r, c, a, u)
}
y[1 === h ? 160 + n : h <= 3 ? 215 + h : 219](e, n),
e.offset += n
}
}(g ? function(t) {
return t < 32 ? 1 : t <= 65535 ? 3 : 5
}
: function(t) {
return t < 32 ? 1 : t <= 255 ? 2 : t <= 65535 ? 3 : 5
}
),
symbol: i,
undefined: i
};
return x
}
}
, {
"./bufferish": 8,
"./bufferish-proto": 6,
"./ext-buffer": 17,
"./write-token": 26,
"./write-uint8": 28,
"int64-buffer": 33,
isarray: 34
}],
28: [function(t, e, i) {
function n(t) {
return function(e) {
var i = e.reserve(1);
e.buffer[i] = t
}
}
for (var o = i.uint8 = new Array(256), r = 0; r <= 255; r++)
o[r] = n(r)
}
, {}],
29: [function(t, e, i) {
(function(e) {
function n() {
return r.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823
}
function o(t, e) {
if (n() < e)
throw new RangeError("Invalid typed array length");
return r.TYPED_ARRAY_SUPPORT ? (t = new Uint8Array(e)).__proto__ = r.prototype : (null === t && (t = new r(e)),
t.length = e),
t
}
function r(t, e, i) {
if (!(r.TYPED_ARRAY_SUPPORT || this instanceof r))
return new r(t,e,i);
if ("number" == typeof t) {
if ("string" == typeof e)
throw new Error("If encoding is specified then the first argument must be a string");
return l(this, t)
}
return s(this, t, e, i)
}
function s(t, e, i, n) {
if ("number" == typeof e)
throw new TypeError('"value" argument must not be a number');
return "undefined" != typeof ArrayBuffer && e instanceof ArrayBuffer ? function(t, e, i, n) {
if (e.byteLength,
i < 0 || e.byteLength < i)
throw new RangeError("'offset' is out of bounds");
if (e.byteLength < i + (n || 0))
throw new RangeError("'length' is out of bounds");
return e = void 0 === i && void 0 === n ? new Uint8Array(e) : void 0 === n ? new Uint8Array(e,i) : new Uint8Array(e,i,n),
r.TYPED_ARRAY_SUPPORT ? (t = e).__proto__ = r.prototype : t = h(t, e),
t
}(t, e, i, n) : "string" == typeof e ? function(t, e, i) {
if ("string" == typeof i && "" !== i || (i = "utf8"),
!r.isEncoding(i))
throw new TypeError('"encoding" must be a valid string encoding');
var n = 0 | u(e, i)
, s = (t = o(t, n)).write(e, i);
return s !== n && (t = t.slice(0, s)),
t
}(t, e, i) : function(t, e) {
if (r.isBuffer(e)) {
var i = 0 | c(e.length);
return 0 === (t = o(t, i)).length || e.copy(t, 0, 0, i),
t
}
if (e) {
if ("undefined" != typeof ArrayBuffer && e.buffer instanceof ArrayBuffer || "length"in e)
return "number" != typeof e.length || function(t) {
return t != t
}(e.length) ? o(t, 0) : h(t, e);
if ("Buffer" === e.type && H(e.data))
return h(t, e.data)
}
throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")
}(t, e)
}
function a(t) {
if ("number" != typeof t)
throw new TypeError('"size" argument must be a number');
if (t < 0)
throw new RangeError('"size" argument must not be negative')
}
function l(t, e) {
if (a(e),
t = o(t, e < 0 ? 0 : 0 | c(e)),
!r.TYPED_ARRAY_SUPPORT)
for (var i = 0; i < e; ++i)
t[i] = 0;
return t
}
function h(t, e) {
var i = e.length < 0 ? 0 : 0 | c(e.length);
t = o(t, i);
for (var n = 0; n < i; n += 1)
t[n] = 255 & e[n];
return t
}
function c(t) {
if (t >= n())
throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + n().toString(16) + " bytes");
return 0 | t
}
function u(t, e) {
if (r.isBuffer(t))
return t.length;
if ("undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(t) || t instanceof ArrayBuffer))
return t.byteLength;
"string" != typeof t && (t = "" + t);
var i = t.length;
if (0 === i)
return 0;
for (var n = !1; ; )
switch (e) {
case "ascii":
case "latin1":
case "binary":
return i;
case "utf8":
case "utf-8":
case void 0:
return Z(t).length;
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return 2 * i;
case "hex":
return i >>> 1;
case "base64":
return O(t).length;
default:
if (n)
return Z(t).length;
e = ("" + e).toLowerCase(),
n = !0
}
}
function p(t, e, i) {
var n = !1;
if ((void 0 === e || e < 0) && (e = 0),
e > this.length)
return "";
if ((void 0 === i || i > this.length) && (i = this.length),
i <= 0)
return "";
if ((i >>>= 0) <= (e >>>= 0))
return "";
for (t || (t = "utf8"); ; )
switch (t) {
case "hex":
return C(this, e, i);
case "utf8":
case "utf-8":
return k(this, e, i);
case "ascii":
return E(this, e, i);
case "latin1":
case "binary":
return A(this, e, i);
case "base64":
return x(this, e, i);
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return S(this, e, i);
default:
if (n)
throw new TypeError("Unknown encoding: " + t);
t = (t + "").toLowerCase(),
n = !0
}
}
function d(t, e, i) {
var n = t[e];
t[e] = t[i],
t[i] = n
}
function f(t, e, i, n, o) {
if (0 === t.length)
return -1;
if ("string" == typeof i ? (n = i,
i = 0) : i > 2147483647 ? i = 2147483647 : i < -2147483648 && (i = -2147483648),
i = +i,
isNaN(i) && (i = o ? 0 : t.length - 1),
i < 0 && (i = t.length + i),
i >= t.length) {
if (o)
return -1;
i = t.length - 1
} else if (i < 0) {
if (!o)
return -1;
i = 0
}
if ("string" == typeof e && (e = r.from(e, n)),
r.isBuffer(e))
return 0 === e.length ? -1 : m(t, e, i, n, o);
if ("number" == typeof e)
return e &= 255,
r.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? o ? Uint8Array.prototype.indexOf.call(t, e, i) : Uint8Array.prototype.lastIndexOf.call(t, e, i) : m(t, [e], i, n, o);
throw new TypeError("val must be string, number or Buffer")
}
function m(t, e, i, n, o) {
function r(t, e) {
return 1 === a ? t[e] : t.readUInt16BE(e * a)
}
var s, a = 1, l = t.length, h = e.length;
if (void 0 !== n && ("ucs2" === (n = String(n).toLowerCase()) || "ucs-2" === n || "utf16le" === n || "utf-16le" === n)) {
if (t.length < 2 || e.length < 2)
return -1;
a = 2,
l /= 2,
h /= 2,
i /= 2
}
if (o) {
var c = -1;
for (s = i; s < l; s++)
if (r(t, s) === r(e, -1 === c ? 0 : s - c)) {
if (-1 === c && (c = s),
s - c + 1 === h)
return c * a
} else
-1 !== c && (s -= s - c),
c = -1
} else
for (i + h > l && (i = l - h),
s = i; s >= 0; s--) {
for (var u = !0, p = 0; p < h; p++)
if (r(t, s + p) !== r(e, p)) {
u = !1;
break
}
if (u)
return s
}
return -1
}
function y(t, e, i, n) {
i = Number(i) || 0;
var o = t.length - i;
n ? (n = Number(n)) > o && (n = o) : n = o;
var r = e.length;
if (r % 2 != 0)
throw new TypeError("Invalid hex string");
n > r / 2 && (n = r / 2);
for (var s = 0; s < n; ++s) {
var a = parseInt(e.substr(2 * s, 2), 16);
if (isNaN(a))
return s;
t[i + s] = a
}
return s
}
function g(t, e, i, n) {
return B(Z(e, t.length - i), t, i, n)
}
function b(t, e, i, n) {
return B(function(t) {
for (var e = [], i = 0; i < t.length; ++i)
e.push(255 & t.charCodeAt(i));
return e
}(e), t, i, n)
}
function v(t, e, i, n) {
return b(t, e, i, n)
}
function w(t, e, i, n) {
return B(O(e), t, i, n)
}
function V(t, e, i, n) {
return B(function(t, e) {
for (var i, n, o, r = [], s = 0; s < t.length && !((e -= 2) < 0); ++s)
i = t.charCodeAt(s),
n = i >> 8,
o = i % 256,
r.push(o),
r.push(n);
return r
}(e, t.length - i), t, i, n)
}
function x(t, e, i) {
return 0 === e && i === t.length ? N.fromByteArray(t) : N.fromByteArray(t.slice(e, i))
}
function k(t, e, i) {
i = Math.min(t.length, i);
for (var n = [], o = e; o < i; ) {
var r, s, a, l, h = t[o], c = null, u = h > 239 ? 4 : h > 223 ? 3 : h > 191 ? 2 : 1;
if (o + u <= i)
switch (u) {
case 1:
h < 128 && (c = h);
break;
case 2:
128 == (192 & (r = t[o + 1])) && ((l = (31 & h) << 6 | 63 & r) > 127 && (c = l));
break;
case 3:
r = t[o + 1],
s = t[o + 2],
128 == (192 & r) && 128 == (192 & s) && ((l = (15 & h) << 12 | (63 & r) << 6 | 63 & s) > 2047 && (l < 55296 || l > 57343) && (c = l));
break;
case 4:
r = t[o + 1],
s = t[o + 2],
a = t[o + 3],
128 == (192 & r) && 128 == (192 & s) && 128 == (192 & a) && ((l = (15 & h) << 18 | (63 & r) << 12 | (63 & s) << 6 | 63 & a) > 65535 && l < 1114112 && (c = l))
}
null === c ? (c = 65533,
u = 1) : c > 65535 && (c -= 65536,
n.push(c >>> 10 & 1023 | 55296),
c = 56320 | 1023 & c),
n.push(c),
o += u
}
return function(t) {
var e = t.length;
if (e <= J)
return String.fromCharCode.apply(String, t);
for (var i = "", n = 0; n < e; )
i += String.fromCharCode.apply(String, t.slice(n, n += J));
return i
}(n)
}
function E(t, e, i) {
var n = "";
i = Math.min(t.length, i);
for (var o = e; o < i; ++o)
n += String.fromCharCode(127 & t[o]);
return n
}
function A(t, e, i) {
var n = "";
i = Math.min(t.length, i);
for (var o = e; o < i; ++o)
n += String.fromCharCode(t[o]);
return n
}
function C(t, e, i) {
var n = t.length;
(!e || e < 0) && (e = 0),
(!i || i < 0 || i > n) && (i = n);
for (var o = "", r = e; r < i; ++r)
o += F(t[r]);
return o
}
function S(t, e, i) {
for (var n = t.slice(e, i), o = "", r = 0; r < n.length; r += 2)
o += String.fromCharCode(n[r] + 256 * n[r + 1]);
return o
}
function R(t, e, i) {
if (t % 1 != 0 || t < 0)
throw new RangeError("offset is not uint");
if (t + e > i)
throw new RangeError("Trying to access beyond buffer length")
}
function T(t, e, i, n, o, s) {
if (!r.isBuffer(t))
throw new TypeError('"buffer" argument must be a Buffer instance');
if (e > o || e < s)
throw new RangeError('"value" argument is out of bounds');
if (i + n > t.length)
throw new RangeError("Index out of range")
}
function _(t, e, i, n) {
e < 0 && (e = 65535 + e + 1);
for (var o = 0, r = Math.min(t.length - i, 2); o < r; ++o)
t[i + o] = (e & 255 << 8 * (n ? o : 1 - o)) >>> 8 * (n ? o : 1 - o)
}
function U(t, e, i, n) {
e < 0 && (e = 4294967295 + e + 1);
for (var o = 0, r = Math.min(t.length - i, 4); o < r; ++o)
t[i + o] = e >>> 8 * (n ? o : 3 - o) & 255
}
function M(t, e, i, n, o, r) {
if (i + n > t.length)
throw new RangeError("Index out of range");
if (i < 0)
throw new RangeError("Index out of range")
}
function L(t, e, i, n, o) {
return o || M(t, 0, i, 4),
P.write(t, e, i, n, 23, 4),
i + 4
}
function W(t, e, i, n, o) {
return o || M(t, 0, i, 8),
P.write(t, e, i, n, 52, 8),
i + 8
}
function F(t) {
return t < 16 ? "0" + t.toString(16) : t.toString(16)
}
function Z(t, e) {
e = e || 1 / 0;
for (var i, n = t.length, o = null, r = [], s = 0; s < n; ++s) {
if ((i = t.charCodeAt(s)) > 55295 && i < 57344) {
if (!o) {
if (i > 56319) {
(e -= 3) > -1 && r.push(239, 191, 189);
continue
}
if (s + 1 === n) {
(e -= 3) > -1 && r.push(239, 191, 189);
continue
}
o = i;
continue
}
if (i < 56320) {
(e -= 3) > -1 && r.push(239, 191, 189),
o = i;
continue
}
i = 65536 + (o - 55296 << 10 | i - 56320)
} else
o && (e -= 3) > -1 && r.push(239, 191, 189);
if (o = null,
i < 128) {
if ((e -= 1) < 0)
break;
r.push(i)
} else if (i < 2048) {
if ((e -= 2) < 0)
break;
r.push(i >> 6 | 192, 63 & i | 128)
} else if (i < 65536) {
if ((e -= 3) < 0)
break;
r.push(i >> 12 | 224, i >> 6 & 63 | 128, 63 & i | 128)
} else {
if (!(i < 1114112))
throw new Error("Invalid code point");
if ((e -= 4) < 0)
break;
r.push(i >> 18 | 240, i >> 12 & 63 | 128, i >> 6 & 63 | 128, 63 & i | 128)
}
}
return r
}
function O(t) {
return N.toByteArray(function(t) {
if ((t = function(t) {
return t.trim ? t.trim() : t.replace(/^\s+|\s+$/g, "")
}(t).replace(I, "")).length < 2)
return "";
for (; t.length % 4 != 0; )
t += "=";
return t
}(t))
}
function B(t, e, i, n) {
for (var o = 0; o < n && !(o + i >= e.length || o >= t.length); ++o)
e[o + i] = t[o];
return o
}
var N = t("base64-js")
, P = t("ieee754")
, H = t("isarray");
i.Buffer = r,
i.SlowBuffer = function(t) {
return +t != t && (t = 0),
r.alloc(+t)
}
,
i.INSPECT_MAX_BYTES = 50,
r.TYPED_ARRAY_SUPPORT = void 0 !== e.TYPED_ARRAY_SUPPORT ? e.TYPED_ARRAY_SUPPORT : function() {
try {
var t = new Uint8Array(1);
return t.__proto__ = {
__proto__: Uint8Array.prototype,
foo: function() {
return 42
}
},
42 === t.foo() && "function" == typeof t.subarray && 0 === t.subarray(1, 1).byteLength
} catch (t) {
return !1
}
}(),
i.kMaxLength = n(),
r.poolSize = 8192,
r._augment = function(t) {
return t.__proto__ = r.prototype,
t
}
,
r.from = function(t, e, i) {
return s(null, t, e, i)
}
,
r.TYPED_ARRAY_SUPPORT && (r.prototype.__proto__ = Uint8Array.prototype,
r.__proto__ = Uint8Array,
"undefined" != typeof Symbol && Symbol.species && r[Symbol.species] === r && Object.defineProperty(r, Symbol.species, {
value: null,
configurable: !0
})),
r.alloc = function(t, e, i) {
return function(t, e, i, n) {
return a(e),
e <= 0 ? o(t, e) : void 0 !== i ? "string" == typeof n ? o(t, e).fill(i, n) : o(t, e).fill(i) : o(t, e)
}(null, t, e, i)
}
,
r.allocUnsafe = function(t) {
return l(null, t)
}
,
r.allocUnsafeSlow = function(t) {
return l(null, t)
}
,
r.isBuffer = function(t) {
return !(null == t || !t._isBuffer)
}
,
r.compare = function(t, e) {
if (!r.isBuffer(t) || !r.isBuffer(e))
throw new TypeError("Arguments must be Buffers");
if (t === e)
return 0;
for (var i = t.length, n = e.length, o = 0, s = Math.min(i, n); o < s; ++o)
if (t[o] !== e[o]) {
i = t[o],
n = e[o];
break
}
return i < n ? -1 : n < i ? 1 : 0
}
,
r.isEncoding = function(t) {
switch (String(t).toLowerCase()) {
case "hex":
case "utf8":
case "utf-8":
case "ascii":
case "latin1":
case "binary":
case "base64":
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return !0;
default:
return !1
}
}
,
r.concat = function(t, e) {
if (!H(t))
throw new TypeError('"list" argument must be an Array of Buffers');
if (0 === t.length)
return r.alloc(0);
var i;
if (void 0 === e)
for (e = 0,
i = 0; i < t.length; ++i)
e += t[i].length;
var n = r.allocUnsafe(e)
, o = 0;
for (i = 0; i < t.length; ++i) {
var s = t[i];
if (!r.isBuffer(s))
throw new TypeError('"list" argument must be an Array of Buffers');
s.copy(n, o),
o += s.length
}
return n
}
,
r.byteLength = u,
r.prototype._isBuffer = !0,
r.prototype.swap16 = function() {
var t = this.length;
if (t % 2 != 0)
throw new RangeError("Buffer size must be a multiple of 16-bits");
for (var e = 0; e < t; e += 2)
d(this, e, e + 1);
return this
}
,
r.prototype.swap32 = function() {
var t = this.length;
if (t % 4 != 0)
throw new RangeError("Buffer size must be a multiple of 32-bits");
for (var e = 0; e < t; e += 4)
d(this, e, e + 3),
d(this, e + 1, e + 2);
return this
}
,
r.prototype.swap64 = function() {
var t = this.length;
if (t % 8 != 0)
throw new RangeError("Buffer size must be a multiple of 64-bits");
for (var e = 0; e < t; e += 8)
d(this, e, e + 7),
d(this, e + 1, e + 6),
d(this, e + 2, e + 5),
d(this, e + 3, e + 4);
return this
}
,
r.prototype.toString = function() {
var t = 0 | this.length;
return 0 === t ? "" : 0 === arguments.length ? k(this, 0, t) : p.apply(this, arguments)
}
,
r.prototype.equals = function(t) {
if (!r.isBuffer(t))
throw new TypeError("Argument must be a Buffer");
return this === t || 0 === r.compare(this, t)
}
,
r.prototype.inspect = function() {
var t = ""
, e = i.INSPECT_MAX_BYTES;
return this.length > 0 && (t = this.toString("hex", 0, e).match(/.{2}/g).join(" "),
this.length > e && (t += " ... ")),
"<Buffer " + t + ">"
}
,
r.prototype.compare = function(t, e, i, n, o) {
if (!r.isBuffer(t))
throw new TypeError("Argument must be a Buffer");
if (void 0 === e && (e = 0),
void 0 === i && (i = t ? t.length : 0),
void 0 === n && (n = 0),
void 0 === o && (o = this.length),
e < 0 || i > t.length || n < 0 || o > this.length)
throw new RangeError("out of range index");
if (n >= o && e >= i)
return 0;
if (n >= o)
return -1;
if (e >= i)
return 1;
if (this === t)
return 0;
for (var s = (o >>>= 0) - (n >>>= 0), a = (i >>>= 0) - (e >>>= 0), l = Math.min(s, a), h = this.slice(n, o), c = t.slice(e, i), u = 0; u < l; ++u)
if (h[u] !== c[u]) {
s = h[u],
a = c[u];
break
}
return s < a ? -1 : a < s ? 1 : 0
}
,
r.prototype.includes = function(t, e, i) {
return -1 !== this.indexOf(t, e, i)
}
,
r.prototype.indexOf = function(t, e, i) {
return f(this, t, e, i, !0)
}
,
r.prototype.lastIndexOf = function(t, e, i) {
return f(this, t, e, i, !1)
}
,
r.prototype.write = function(t, e, i, n) {
if (void 0 === e)
n = "utf8",
i = this.length,
e = 0;
else if (void 0 === i && "string" == typeof e)
n = e,
i = this.length,
e = 0;
else {
if (!isFinite(e))
throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");
e |= 0,
isFinite(i) ? (i |= 0,
void 0 === n && (n = "utf8")) : (n = i,
i = void 0)
}
var o = this.length - e;
if ((void 0 === i || i > o) && (i = o),
t.length > 0 && (i < 0 || e < 0) || e > this.length)
throw new RangeError("Attempt to write outside buffer bounds");
n || (n = "utf8");
for (var r = !1; ; )
switch (n) {
case "hex":
return y(this, t, e, i);
case "utf8":
case "utf-8":
return g(this, t, e, i);
case "ascii":
return b(this, t, e, i);
case "latin1":
case "binary":
return v(this, t, e, i);
case "base64":
return w(this, t, e, i);
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return V(this, t, e, i);
default:
if (r)
throw new TypeError("Unknown encoding: " + n);
n = ("" + n).toLowerCase(),
r = !0
}
}
,
r.prototype.toJSON = function() {
return {
type: "Buffer",
data: Array.prototype.slice.call(this._arr || this, 0)
}
}
;
var J = 4096;
r.prototype.slice = function(t, e) {
var i, n = this.length;
if ((t = ~~t) < 0 ? (t += n) < 0 && (t = 0) : t > n && (t = n),
(e = void 0 === e ? n : ~~e) < 0 ? (e += n) < 0 && (e = 0) : e > n && (e = n),
e < t && (e = t),
r.TYPED_ARRAY_SUPPORT)
(i = this.subarray(t, e)).__proto__ = r.prototype;
else {
var o = e - t;
i = new r(o,void 0);
for (var s = 0; s < o; ++s)
i[s] = this[s + t]
}
return i
}
,
r.prototype.readUIntLE = function(t, e, i) {
t |= 0,
e |= 0,
i || R(t, e, this.length);
for (var n = this[t], o = 1, r = 0; ++r < e && (o *= 256); )
n += this[t + r] * o;
return n
}
,
r.prototype.readUIntBE = function(t, e, i) {
t |= 0,
e |= 0,
i || R(t, e, this.length);
for (var n = this[t + --e], o = 1; e > 0 && (o *= 256); )
n += this[t + --e] * o;
return n
}
,
r.prototype.readUInt8 = function(t, e) {
return e || R(t, 1, this.length),
this[t]
}
,
r.prototype.readUInt16LE = function(t, e) {
return e || R(t, 2, this.length),
this[t] | this[t + 1] << 8
}
,
r.prototype.readUInt16BE = function(t, e) {
return e || R(t, 2, this.length),
this[t] << 8 | this[t + 1]
}
,
r.prototype.readUInt32LE = function(t, e) {
return e || R(t, 4, this.length),
(this[t] | this[t + 1] << 8 | this[t + 2] << 16) + 16777216 * this[t + 3]
}
,
r.prototype.readUInt32BE = function(t, e) {
return e || R(t, 4, this.length),
16777216 * this[t] + (this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3])
}
,
r.prototype.readIntLE = function(t, e, i) {
t |= 0,
e |= 0,
i || R(t, e, this.length);
for (var n = this[t], o = 1, r = 0; ++r < e && (o *= 256); )
n += this[t + r] * o;
return n >= (o *= 128) && (n -= Math.pow(2, 8 * e)),
n
}
,
r.prototype.readIntBE = function(t, e, i) {
t |= 0,
e |= 0,
i || R(t, e, this.length);
for (var n = e, o = 1, r = this[t + --n]; n > 0 && (o *= 256); )
r += this[t + --n] * o;
return r >= (o *= 128) && (r -= Math.pow(2, 8 * e)),
r
}
,
r.prototype.readInt8 = function(t, e) {
return e || R(t, 1, this.length),
128 & this[t] ? -1 * (255 - this[t] + 1) : this[t]
}
,
r.prototype.readInt16LE = function(t, e) {
e || R(t, 2, this.length);
var i = this[t] | this[t + 1] << 8;
return 32768 & i ? 4294901760 | i : i
}
,
r.prototype.readInt16BE = function(t, e) {
e || R(t, 2, this.length);
var i = this[t + 1] | this[t] << 8;
return 32768 & i ? 4294901760 | i : i
}
,
r.prototype.readInt32LE = function(t, e) {
return e || R(t, 4, this.length),
this[t] | this[t + 1] << 8 | this[t + 2] << 16 | this[t + 3] << 24
}
,
r.prototype.readInt32BE = function(t, e) {
return e || R(t, 4, this.length),
this[t] << 24 | this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3]
}
,
r.prototype.readFloatLE = function(t, e) {
return e || R(t, 4, this.length),
P.read(this, t, !0, 23, 4)
}
,
r.prototype.readFloatBE = function(t, e) {
return e || R(t, 4, this.length),
P.read(this, t, !1, 23, 4)
}
,
r.prototype.readDoubleLE = function(t, e) {
return e || R(t, 8, this.length),
P.read(this, t, !0, 52, 8)
}
,
r.prototype.readDoubleBE = function(t, e) {
return e || R(t, 8, this.length),
P.read(this, t, !1, 52, 8)
}
,
r.prototype.writeUIntLE = function(t, e, i, n) {
(t = +t,
e |= 0,
i |= 0,
n) || T(this, t, e, i, Math.pow(2, 8 * i) - 1, 0);
var o = 1
, r = 0;
for (this[e] = 255 & t; ++r < i && (o *= 256); )
this[e + r] = t / o & 255;
return e + i
}
,
r.prototype.writeUIntBE = function(t, e, i, n) {
(t = +t,
e |= 0,
i |= 0,
n) || T(this, t, e, i, Math.pow(2, 8 * i) - 1, 0);
var o = i - 1
, r = 1;
for (this[e + o] = 255 & t; --o >= 0 && (r *= 256); )
this[e + o] = t / r & 255;
return e + i
}
,
r.prototype.writeUInt8 = function(t, e, i) {
return t = +t,
e |= 0,
i || T(this, t, e, 1, 255, 0),
r.TYPED_ARRAY_SUPPORT || (t = Math.floor(t)),
this[e] = 255 & t,
e + 1
}
,
r.prototype.writeUInt16LE = function(t, e, i) {
return t = +t,
e |= 0,
i || T(this, t, e, 2, 65535, 0),
r.TYPED_ARRAY_SUPPORT ? (this[e] = 255 & t,
this[e + 1] = t >>> 8) : _(this, t, e, !0),
e + 2
}
,
r.prototype.writeUInt16BE = function(t, e, i) {
return t = +t,
e |= 0,
i || T(this, t, e, 2, 65535, 0),
r.TYPED_ARRAY_SUPPORT ? (this[e] = t >>> 8,
this[e + 1] = 255 & t) : _(this, t, e, !1),
e + 2
}
,
r.prototype.writeUInt32LE = function(t, e, i) {
return t = +t,
e |= 0,
i || T(this, t, e, 4, 4294967295, 0),
r.TYPED_ARRAY_SUPPORT ? (this[e + 3] = t >>> 24,
this[e + 2] = t >>> 16,
this[e + 1] = t >>> 8,
this[e] = 255 & t) : U(this, t, e, !0),
e + 4
}
,
r.prototype.writeUInt32BE = function(t, e, i) {
return t = +t,
e |= 0,
i || T(this, t, e, 4, 4294967295, 0),
r.TYPED_ARRAY_SUPPORT ? (this[e] = t >>> 24,
this[e + 1] = t >>> 16,
this[e + 2] = t >>> 8,
this[e + 3] = 255 & t) : U(this, t, e, !1),
e + 4
}
,
r.prototype.writeIntLE = function(t, e, i, n) {
if (t = +t,
e |= 0,
!n) {
var o = Math.pow(2, 8 * i - 1);
T(this, t, e, i, o - 1, -o)
}
var r = 0
, s = 1
, a = 0;
for (this[e] = 255 & t; ++r < i && (s *= 256); )
t < 0 && 0 === a && 0 !== this[e + r - 1] && (a = 1),
this[e + r] = (t / s >> 0) - a & 255;
return e + i
}
,
r.prototype.writeIntBE = function(t, e, i, n) {
if (t = +t,
e |= 0,
!n) {
var o = Math.pow(2, 8 * i - 1);
T(this, t, e, i, o - 1, -o)
}
var r = i - 1
, s = 1
, a = 0;
for (this[e + r] = 255 & t; --r >= 0 && (s *= 256); )
t < 0 && 0 === a && 0 !== this[e + r + 1] && (a = 1),
this[e + r] = (t / s >> 0) - a & 255;
return e + i
}
,
r.prototype.writeInt8 = function(t, e, i) {
return t = +t,
e |= 0,
i || T(this, t, e, 1, 127, -128),
r.TYPED_ARRAY_SUPPORT || (t = Math.floor(t)),
t < 0 && (t = 255 + t + 1),
this[e] = 255 & t,
e + 1
}
,
r.prototype.writeInt16LE = function(t, e, i) {
return t = +t,
e |= 0,
i || T(this, t, e, 2, 32767, -32768),
r.TYPED_ARRAY_SUPPORT ? (this[e] = 255 & t,
this[e + 1] = t >>> 8) : _(this, t, e, !0),
e + 2
}
,
r.prototype.writeInt16BE = function(t, e, i) {
return t = +t,
e |= 0,
i || T(this, t, e, 2, 32767, -32768),
r.TYPED_ARRAY_SUPPORT ? (this[e] = t >>> 8,
this[e + 1] = 255 & t) : _(this, t, e, !1),
e + 2
}
,
r.prototype.writeInt32LE = function(t, e, i) {
return t = +t,
e |= 0,
i || T(this, t, e, 4, 2147483647, -2147483648),
r.TYPED_ARRAY_SUPPORT ? (this[e] = 255 & t,
this[e + 1] = t >>> 8,
this[e + 2] = t >>> 16,
this[e + 3] = t >>> 24) : U(this, t, e, !0),
e + 4
}
,
r.prototype.writeInt32BE = function(t, e, i) {
return t = +t,
e |= 0,
i || T(this, t, e, 4, 2147483647, -2147483648),
t < 0 && (t = 4294967295 + t + 1),
r.TYPED_ARRAY_SUPPORT ? (this[e] = t >>> 24,
this[e + 1] = t >>> 16,
this[e + 2] = t >>> 8,
this[e + 3] = 255 & t) : U(this, t, e, !1),
e + 4
}
,
r.prototype.writeFloatLE = function(t, e, i) {
return L(this, t, e, !0, i)
}
,
r.prototype.writeFloatBE = function(t, e, i) {
return L(this, t, e, !1, i)
}
,
r.prototype.writeDoubleLE = function(t, e, i) {
return W(this, t, e, !0, i)
}
,
r.prototype.writeDoubleBE = function(t, e, i) {
return W(this, t, e, !1, i)
}
,
r.prototype.copy = function(t, e, i, n) {
if (i || (i = 0),
n || 0 === n || (n = this.length),
e >= t.length && (e = t.length),
e || (e = 0),
n > 0 && n < i && (n = i),
n === i)
return 0;
if (0 === t.length || 0 === this.length)
return 0;
if (e < 0)
throw new RangeError("targetStart out of bounds");
if (i < 0 || i >= this.length)
throw new RangeError("sourceStart out of bounds");
if (n < 0)
throw new RangeError("sourceEnd out of bounds");
n > this.length && (n = this.length),
t.length - e < n - i && (n = t.length - e + i);
var o, s = n - i;
if (this === t && i < e && e < n)
for (o = s - 1; o >= 0; --o)
t[o + e] = this[o + i];
else if (s < 1e3 || !r.TYPED_ARRAY_SUPPORT)
for (o = 0; o < s; ++o)
t[o + e] = this[o + i];
else
Uint8Array.prototype.set.call(t, this.subarray(i, i + s), e);
return s
}
,
r.prototype.fill = function(t, e, i, n) {
if ("string" == typeof t) {
if ("string" == typeof e ? (n = e,
e = 0,
i = this.length) : "string" == typeof i && (n = i,
i = this.length),
1 === t.length) {
var o = t.charCodeAt(0);
o < 256 && (t = o)
}
if (void 0 !== n && "string" != typeof n)
throw new TypeError("encoding must be a string");
if ("string" == typeof n && !r.isEncoding(n))
throw new TypeError("Unknown encoding: " + n)
} else
"number" == typeof t && (t &= 255);
if (e < 0 || this.length < e || this.length < i)
throw new RangeError("Out of range index");
if (i <= e)
return this;
var s;
if (e >>>= 0,
i = void 0 === i ? this.length : i >>> 0,
t || (t = 0),
"number" == typeof t)
for (s = e; s < i; ++s)
this[s] = t;
else {
var a = r.isBuffer(t) ? t : Z(new r(t,n).toString())
, l = a.length;
for (s = 0; s < i - e; ++s)
this[s + e] = a[s % l]
}
return this
}
;
var I = /[^+\/0-9A-Za-z-_]/g
}
).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
}
, {
"base64-js": 30,
ieee754: 32,
isarray: 34
}],
30: [function(t, e, i) {
function n(t) {
var e = t.length;
if (e % 4 > 0)
throw new Error("Invalid string. Length must be a multiple of 4");
return "=" === t[e - 2] ? 2 : "=" === t[e - 1] ? 1 : 0
}
function o(t) {
return s[t >> 18 & 63] + s[t >> 12 & 63] + s[t >> 6 & 63] + s[63 & t]
}
function r(t, e, i) {
for (var n, r = [], s = e; s < i; s += 3)
n = (t[s] << 16) + (t[s + 1] << 8) + t[s + 2],
r.push(o(n));
return r.join("")
}
i.byteLength = function(t) {
return 3 * t.length / 4 - n(t)
}
,
i.toByteArray = function(t) {
var e, i, o, r, s, h, c = t.length;
s = n(t),
h = new l(3 * c / 4 - s),
o = s > 0 ? c - 4 : c;
var u = 0;
for (e = 0,
i = 0; e < o; e += 4,
i += 3)
r = a[t.charCodeAt(e)] << 18 | a[t.charCodeAt(e + 1)] << 12 | a[t.charCodeAt(e + 2)] << 6 | a[t.charCodeAt(e + 3)],
h[u++] = r >> 16 & 255,
h[u++] = r >> 8 & 255,
h[u++] = 255 & r;
return 2 === s ? (r = a[t.charCodeAt(e)] << 2 | a[t.charCodeAt(e + 1)] >> 4,
h[u++] = 255 & r) : 1 === s && (r = a[t.charCodeAt(e)] << 10 | a[t.charCodeAt(e + 1)] << 4 | a[t.charCodeAt(e + 2)] >> 2,
h[u++] = r >> 8 & 255,
h[u++] = 255 & r),
h
}
,
i.fromByteArray = function(t) {
for (var e, i = t.length, n = i % 3, o = "", a = [], l = 16383, h = 0, c = i - n; h < c; h += l)
a.push(r(t, h, h + l > c ? c : h + l));
return 1 === n ? (e = t[i - 1],
o += s[e >> 2],
o += s[e << 4 & 63],
o += "==") : 2 === n && (e = (t[i - 2] << 8) + t[i - 1],
o += s[e >> 10],
o += s[e >> 4 & 63],
o += s[e << 2 & 63],
o += "="),
a.push(o),
a.join("")
}
;
for (var s = [], a = [], l = "undefined" != typeof Uint8Array ? Uint8Array : Array, h = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", c = 0, u = h.length; c < u; ++c)
s[c] = h[c],
a[h.charCodeAt(c)] = c;
a["-".charCodeAt(0)] = 62,
a["_".charCodeAt(0)] = 63
}
, {}],
31: [function(t, e, i) {
!function(t) {
function i(t) {
for (var e in s)
t[e] = s[e];
return t
}
function n(t, e) {
function i(t) {
return t !== e && t.originalListener !== e
}
var s, a = this;
if (arguments.length) {
if (e) {
if (s = o(a, t, !0)) {
if (!(s = s.filter(i)).length)
return n.call(a, t);
a[r][t] = s
}
} else if ((s = a[r]) && (delete s[t],
!Object.keys(s).length))
return n.call(a)
} else
delete a[r];
return a
}
function o(t, e, i) {
if (!i || t[r]) {
var n = t[r] || (t[r] = {});
return n[e] || (n[e] = [])
}
}
void 0 !== e && (e.exports = t);
var r = "listeners"
, s = {
on: function(t, e) {
return o(this, t).push(e),
this
},
once: function(t, e) {
function i() {
n.call(r, t, i),
e.apply(this, arguments)
}
var r = this;
return i.originalListener = e,
o(r, t).push(i),
r
},
off: n,
emit: function(t, e) {
function i(t) {
t.call(s)
}
function n(t) {
t.call(s, e)
}
function r(t) {
t.apply(s, h)
}
var s = this
, a = o(s, t, !0);
if (!a)
return !1;
var l = arguments.length;
if (1 === l)
a.forEach(i);
else if (2 === l)
a.forEach(n);
else {
var h = Array.prototype.slice.call(arguments, 1);
a.forEach(r)
}
return !!a.length
}
};
i(t.prototype),
t.mixin = i
}((function n() {
if (!(this instanceof n))
return new n
}
))
}
, {}],
32: [function(t, e, i) {
i.read = function(t, e, i, n, o) {
var r, s, a = 8 * o - n - 1, l = (1 << a) - 1, h = l >> 1, c = -7, u = i ? o - 1 : 0, p = i ? -1 : 1, d = t[e + u];
for (u += p,
r = d & (1 << -c) - 1,
d >>= -c,
c += a; c > 0; r = 256 * r + t[e + u],
u += p,
c -= 8)
;
for (s = r & (1 << -c) - 1,
r >>= -c,
c += n; c > 0; s = 256 * s + t[e + u],
u += p,
c -= 8)
;
if (0 === r)
r = 1 - h;
else {
if (r === l)
return s ? NaN : 1 / 0 * (d ? -1 : 1);
s += Math.pow(2, n),
r -= h
}
return (d ? -1 : 1) * s * Math.pow(2, r - n)
}
,
i.write = function(t, e, i, n, o, r) {
var s, a, l, h = 8 * r - o - 1, c = (1 << h) - 1, u = c >> 1, p = 23 === o ? Math.pow(2, -24) - Math.pow(2, -77) : 0, d = n ? 0 : r - 1, f = n ? 1 : -1, m = e < 0 || 0 === e && 1 / e < 0 ? 1 : 0;
for (e = Math.abs(e),
isNaN(e) || e === 1 / 0 ? (a = isNaN(e) ? 1 : 0,
s = c) : (s = Math.floor(Math.log(e) / Math.LN2),
e * (l = Math.pow(2, -s)) < 1 && (s--,
l *= 2),
(e += s + u >= 1 ? p / l : p * Math.pow(2, 1 - u)) * l >= 2 && (s++,
l /= 2),
s + u >= c ? (a = 0,
s = c) : s + u >= 1 ? (a = (e * l - 1) * Math.pow(2, o),
s += u) : (a = e * Math.pow(2, u - 1) * Math.pow(2, o),
s = 0)); o >= 8; t[i + d] = 255 & a,
d += f,
a /= 256,
o -= 8)
;
for (s = s << o | a,
h += o; h > 0; t[i + d] = 255 & s,
d += f,
s /= 256,
h -= 8)
;
t[i + d - f] |= 128 * m
}
}
, {}],
33: [function(t, e, i) {
(function(t) {
!function(e) {
function i(t, i, v) {
function x(t, e, i, n) {
return this instanceof x ? function(t, e, i, n, o) {
if (y && g && (e instanceof g && (e = new y(e)),
n instanceof g && (n = new y(n))),
!(e || i || n || d))
return void (t.buffer = l(b, 0));
if (!s(e, i)) {
o = i,
n = e,
i = 0,
e = new (d || Array)(8)
}
t.buffer = e,
t.offset = i |= 0,
f !== typeof n && ("string" == typeof n ? function(t, e, i, n) {
var o = 0
, r = i.length
, s = 0
, a = 0;
"-" === i[0] && o++;
for (var l = o; o < r; ) {
var h = parseInt(i[o++], n);
if (!(h >= 0))
break;
a = a * n + h,
s = s * n + Math.floor(a / w),
a %= w
}
l && (s = ~s,
a ? a = w - a : s++),
E(t, e + C, s),
E(t, e + S, a)
}(e, i, n, o || 10) : s(n, o) ? a(e, i, n, o) : "number" == typeof o ? (E(e, i + C, n),
E(e, i + S, o)) : n > 0 ? M(e, i, n) : n < 0 ? L(e, i, n) : a(e, i, b, 0))
}(this, t, e, i, n) : new x(t,e,i,n)
}
function k() {
var t = this.buffer
, e = this.offset
, i = A(t, e + C)
, n = A(t, e + S);
return v || (i |= 0),
i ? i * w + n : n
}
function E(t, e, i) {
t[e + U] = 255 & i,
i >>= 8,
t[e + _] = 255 & i,
i >>= 8,
t[e + T] = 255 & i,
i >>= 8,
t[e + R] = 255 & i
}
function A(t, e) {
return t[e + R] * V + (t[e + T] << 16) + (t[e + _] << 8) + t[e + U]
}
var C = i ? 0 : 4
, S = i ? 4 : 0
, R = i ? 0 : 3
, T = i ? 1 : 2
, _ = i ? 2 : 1
, U = i ? 3 : 0
, M = i ? h : u
, L = i ? c : p
, W = x.prototype
, F = "is" + t
, Z = "_" + F;
return W.buffer = void 0,
W.offset = 0,
W[Z] = !0,
W.toNumber = k,
W.toString = function(t) {
var e = this.buffer
, i = this.offset
, n = A(e, i + C)
, o = A(e, i + S)
, r = ""
, s = !v && 2147483648 & n;
for (s && (n = ~n,
o = w - o),
t = t || 10; ; ) {
var a = n % t * w + o;
if (n = Math.floor(n / t),
o = Math.floor(a / t),
r = (a % t).toString(t) + r,
!n && !o)
break
}
return s && (r = "-" + r),
r
}
,
W.toJSON = k,
W.toArray = n,
m && (W.toBuffer = o),
y && (W.toArrayBuffer = r),
x[F] = function(t) {
return !(!t || !t[Z])
}
,
e[t] = x,
x
}
function n(t) {
var e = this.buffer
, i = this.offset;
return d = null,
!1 !== t && 0 === i && 8 === e.length && v(e) ? e : l(e, i)
}
function o(e) {
var i = this.buffer
, n = this.offset;
if (d = m,
!1 !== e && 0 === n && 8 === i.length && t.isBuffer(i))
return i;
var o = new m(8);
return a(o, 0, i, n),
o
}
function r(t) {
var e = this.buffer
, i = this.offset
, n = e.buffer;
if (d = y,
!1 !== t && 0 === i && n instanceof g && 8 === n.byteLength)
return n;
var o = new y(8);
return a(o, 0, e, i),
o.buffer
}
function s(t, e) {
var i = t && t.length;
return e |= 0,
i && e + 8 <= i && "string" != typeof t[e]
}
function a(t, e, i, n) {
e |= 0,
n |= 0;
for (var o = 0; o < 8; o++)
t[e++] = 255 & i[n++]
}
function l(t, e) {
return Array.prototype.slice.call(t, e, e + 8)
}
function h(t, e, i) {
for (var n = e + 8; n > e; )
t[--n] = 255 & i,
i /= 256
}
function c(t, e, i) {
var n = e + 8;
for (i++; n > e; )
t[--n] = 255 & -i ^ 255,
i /= 256
}
function u(t, e, i) {
for (var n = e + 8; e < n; )
t[e++] = 255 & i,
i /= 256
}
function p(t, e, i) {
var n = e + 8;
for (i++; e < n; )
t[e++] = 255 & -i ^ 255,
i /= 256
}
var d, f = "undefined", m = f !== typeof t && t, y = f !== typeof Uint8Array && Uint8Array, g = f !== typeof ArrayBuffer && ArrayBuffer, b = [0, 0, 0, 0, 0, 0, 0, 0], v = Array.isArray || function(t) {
return !!t && "[object Array]" == Object.prototype.toString.call(t)
}
, w = 4294967296, V = 16777216;
i("Uint64BE", !0, !0),
i("Int64BE", !0, !1),
i("Uint64LE", !1, !0),
i("Int64LE", !1, !1)
}("object" == typeof i && "string" != typeof i.nodeName ? i : this || {})
}
).call(this, t("buffer").Buffer)
}
, {
buffer: 29
}],
34: [function(t, e, i) {
var n = {}.toString;
e.exports = Array.isArray || function(t) {
return "[object Array]" == n.call(t)
}
}
, {}]
}, {}, [1])(1)
}
));
var cr = Object.create(null)
, ur = window.msgpack;
delete window.msgpack;
var pr = null
, dr = null
, fr = []
, mr = null
, yr = null
, gr = null;
function br(t) {
if (Array.isArray(t) && 0 !== t.length) {
t.forEach((function(t) {
-1 === fr.indexOf(t) && fr.push(t)
}
))
}
}
var vr = [];
function wr(t) {
var e;
return t && "string" == typeof t.message ? (e = t.message,
"string" == typeof t.stack && (e += "\n" + t.stack)) : e = t && "toString"in t ? t.toString() : JSON.stringify(t),
(e = e.replace(/\b[a-z][a-z0-9+.-]*:\/\/[^\s)"']*/gi, (function(t) {
try {
var e = new URL(t)
, i = e.origin + e.pathname;
return e.search && (i += "?***"),
e.hash && (i += "#***"),
i
} catch (n) {
return t.replace(/\?[^\s)"']*/g, "?***").replace(/#[^\s)"']*/g, "#***")
}
}
))).length > 1e3 && (e = e.slice(0, 1e3) + "...max-length..."),
e
}
function Vr(t, e) {
try {
Array.isArray(vr) || (vr = []);
var i = "";
e && (i = e + ":");
try {
i += "undefined" != typeof document && document.hidden ? "[h]:" : "[v]:"
} catch (o) {}
try {
i = Date.now() + ":" + i
} catch (o) {}
var n = wr(t);
n.length > 1e3 && (n = n.slice(0, 1e3)),
vr.push(i + n)
} catch (Zs) {
Mt("proof:p-error", Zs)
}
}
function xr() {
return !(!pr || !dr) && (-1 !== ["hsw", "hsj", "hsl"].indexOf(pr.type) && (!("n"in dr.payload) || dr.payload.n === pr.type))
}
var kr = function(t) {
if (Lt("Set spec", "proof", "info", t),
t) {
pr = t,
dr = null;
try {
Lr(dr = Pt.decode(t.req))["catch"]((function() {}
))
} catch (Fs) {
Mt("proof", Fs)
}
}
}
, Er = function(t) {
t && (mr = t)
}
, Ar = function(t) {
yr = t
}
, Cr = function(t) {
gr = t
}
, Sr = function() {
return new Promise((function(t) {
var e, i = pr, n = dr;
if (i)
try {
if (Lt("Solve Proof", "proof", "info", i),
!xr())
return Ut("proof:invalid-file", "error", "proof", {
seen: i && i.type,
wanted: n && n.n
}),
void t({
solved: null,
spec: i
});
Promise.resolve().then((function() {
return Lr(n)
}
)).then((function(n) {
if ("function" != typeof n)
return Promise.reject(new Error("Script is not a function"));
var o = {
assethost: ut.assethost,
fetchAsset: function(t) {
return ii.retrieve(t).then((function(e) {
return e || ii.file(t, {
responseType: "arraybuffer"
})
}
)).then((function(t) {
return t.data
}
))
},
href: mr,
ardata: null,
vm_data: yr,
uj_data: gr
};
return fr.length && (o.errors = fr),
Di.messages.length && (o.messages = Di.consumeMessages()),
e = setTimeout((function() {
Ut("proof:exec-timeout", "error", "proof", {
type: i.type,
req: i.req
}),
Vr(new Error("p:e_t"), i && i.type),
t({
solved: "fail",
spec: i
})
}
), 1e4),
n(i.req, o)
}
)).then((function(n) {
clearTimeout(e),
t({
solved: n,
spec: i
})
}
))["catch"]((function(n) {
try {
clearTimeout(e)
} catch (r) {}
var o = "string" == typeof n ? n : n && n.message;
"string" == typeof o && -1 !== o.indexOf("http") ? Ut("proof:asset-error", "error", "proof", {
error: n
}) : Mt("proof", n),
Vr(n, i && i.type),
t({
solved: "fail",
spec: i
})
}
))
} catch (Fs) {
Mt("proof", Fs),
Vr(Fs, i && i.type),
t({
solved: null,
spec: i
})
}
else
t({
solved: null,
spec: null
})
}
))
}
, Rr = function() {
if (!vr.length)
return undefined;
var t = vr;
return t.length > 5 && (t = t.slice(-5)).push("p_m_c"),
t
}
, Tr = function() {
vr = []
}
, _r = function(t) {
return new Promise((function(e) {
if (Lt("d0", "proof", "info", pr),
!xr())
return Ut("proof:invalid-file", "error", "proof", {
seen: pr && pr.type,
wanted: dr && dr.n
}),
e(undefined);
Lr(dr).then((function(e) {
return "function" != typeof e ? Promise.reject(new Error("Script is not a function")) : e(0, t)
}
)).then((function(t) {
e(ur.decode(t))
}
))["catch"]((function(t) {
Mt("d0", t),
e(undefined)
}
))
}
))
}
, Ur = function(t) {
return new Promise((function(e) {
if (Lt("e1", "proof", "info", pr),
!xr())
return Ut("proof:invalid-file", "error", "proof", {
seen: pr && pr.type,
wanted: dr && dr.n
}),
e(undefined);
Lr(dr).then((function(e) {
return "function" != typeof e ? Promise.reject(new Error("Script is not a function")) : e(1, ur.encode(t))
}
)).then((function(t) {
e(t)
}
))["catch"]((function(t) {
Mt("e1", t),
e(undefined)
}
))
}
))
}
, Mr = function(t) {
return ur.encode(t)
};
function Lr(t) {
var e = t.payload.l;
"/" === e[0] && (e = ht.assetDomain + e);
var i = t.payload.i
, n = t.payload.n;
".js" !== e.slice(-3) && (e += "/" + n + ".js");
var o = cr[n];
if (o && o.location === e)
return o.promise;
var r = ii.script(e, {
integrity: i
}).then((function() {
var t = window[n];
try {
t("IiI=.eyJzIjowLCJmIjowLCJjIjowfQ==.")["catch"]((function() {}
))
} catch (Zs) {}
return t
}
));
return cr[n] = {
location: e,
promise: r
},
r
}
var Wr = null
, Fr = null;
function Zr(t) {
Fr && (Fr.e = Date.now() - Fr.s,
Fr.r = t,
Wr = Fr)
}
function Or(t) {
return isNaN(t) ? -1 : t
}
function Br(t) {
null !== t ? ("string" == typeof t.mfa_phone && (ht.mfaData.phone = t.mfa_phone),
"string" == typeof t.mfa_phoneprefix && (ht.mfaData.phoneprefix = t.mfa_phoneprefix)) : ht.mfaData = {}
}
function Nr() {
return -1 !== ["pt-BR", "es-BR"].indexOf(navigator.language)
}
var Pr = null
, Hr = null
, Jr = null
, Ir = null
, Kr = {}
, Dr = null
, jr = !1
, zr = !1
, Yr = !1
, Gr = null
, qr = !1
, Xr = 100
, Qr = {
logAction: function(t) {
Dr = t
},
setEncryptionSupport: function(t) {
jr = t
},
getTaskData: function(t, e, i, n, o, r) {
t === undefined && (t = {});
var s = e.proof
, a = {
v: "d067130695f80003c94cd7a16954f23aa0ed457d",
sitekey: ht.sitekey,
host: ht.host,
hl: Oe.getLocale()
};
o && (a.r = o),
ut.se && (a.se = ut.se),
!0 === ht.a11y_tfe && (a.a11y_tfe = !0),
null !== Dr && (a.action = Dr,
Dr = null),
null !== Ir && (a.extraData = JSON.stringify(Ir),
Ir = null),
t && (a.motionData = JSON.stringify(t)),
i && (a.pd = JSON.stringify(i)),
n && (a.pdc = JSON.stringify(n));
var l = function() {
if (!performance || !performance.getEntriesByType)
return null;
var t, e, i = {}, n = performance.getEntriesByType("resource");
for (t = 0; t < n.length; t += 1)
-1 !== (e = n[t]).name.indexOf("checksiteconfig") ? (i.csc = e.duration,
i.csch = (e.name.split("://")[1] || "").split("/")[0],
i.cscrt = Or(e.responseStart - e.requestStart),
i.cscft = Or(e.responseEnd - e.fetchStart)) : -1 !== e.name.indexOf("getcaptcha") && (i.gc = e.duration,
i.gch = (e.name.split("://")[1] || "").split("/")[0],
i.gcrt = Or(e.responseStart - e.requestStart),
i.gcft = Or(e.responseEnd - e.fetchStart));
return i
}();
return l && (a.pem = JSON.stringify(l)),
null !== Pr && (Hr = Pr,
a.old_ekey = Pr),
null !== Gr && (a.rqdata = Gr),
s && (a.n = s.solved || null,
a.c = s.spec ? JSON.stringify(s.spec) : null),
e.authToken && (a.auth_token = e.authToken),
e.hasPst !== undefined && (a.pst = e.hasPst),
r && (a.p_e = JSON.stringify(r)),
new Promise((function(t, i) {
try {
var n = "arraybuffer"
, o = "query"
, r = {
accept: "application/json, application/octet-stream",
"content-type": "application/x-www-form-urlencoded"
};
zr && (n = "json",
r.accept = "application/json");
var s, l = a;
// if ("ArrayBuffer"in window || (jr = !1),
// jr) {
// Fr && (Fr.gces = Date.now() - Fr.s,
// Fr.gcee = null);
// var h = JSON.parse(JSON.stringify(a));
// delete h.c,
// s = Ur(h).then((function(t) {
// t ? (Fr && (Fr.gcee = Date.now() - Fr.s),
// l = Mr([a.c, t]),
// o = "arraybuffer",
// r["content-type"] = "application/octet-stream") : jr = !1
// }
// ))
// } else
// s = Promise.resolve();
s.then((function() {
return De({
url: ut.endpoint + "/getcaptcha/" + a.sitekey,
data: l,
dataType: o,
responseType: n,
withCredentials: !0,
pst: e.hasPst ? "send-redemption-record" : null,
headers: r
})
}
)).then((function(t) {
var e = t.body || null;
if (!e)
throw new Error("Missing response body.");
if ("ArrayBuffer"in window && e instanceof ArrayBuffer)
return Fr && (Fr.gcds = Date.now() - Fr.s,
Fr.gcde = null),
_r(new Uint8Array(e)).then((function(t) {
if (!t)
throw new Error("error-parse-body");
return Fr && (Fr.gcde = Date.now() - Fr.s),
t
}
));
if ("string" == typeof e)
throw new Error("unhandled-getcaptcha-res-type-string");
return e
}
)).then((function(e) {
if (!1 === e.success) {
var i = e["error-codes"] || [];
return !1 === Yr && !0 === zr && 0 === i.length && (i.push("expired-session"),
Yr = !0),
-1 !== i.indexOf("invalid-data") && Ut("invalid-data", "error", "api", {
motionData: a.motionData
}),
void t(e)
}
Qr.setData(e),
t(e)
}
))["catch"]((function(t) {
zr = !0,
jr = !1,
i(t)
}
))
} catch (Zs) {
i(Zs)
}
}
))
},
loadBundle: function(t) {
return new Promise((function(e, i) {
if (Kr[t])
e(Kr[t]);
else {
var n = Qr.createBundleUrl(t);
ii.script(n).then((function() {
Kr[t] = window[t],
e(Kr[t])
}
))["catch"]((function(t) {
i({
event: it.BUNDLE_ERROR,
message: "Failed to get challenge bundle.",
reason: t
})
}
))
}
}
))
},
createBundleUrl: function(t) {
return (ut.assethost || ht.assetDomain) + "/captcha/v1/d067130695f80003c94cd7a16954f23aa0ed457d/challenge/" + t + "/challenge.js"
},
checkAnswers: function(t, e, i, n) {
var o = Ir.key
, r = {
v: "d067130695f80003c94cd7a16954f23aa0ed457d",
job_mode: Ir.request_type,
answers: t,
serverdomain: ht.host,
sitekey: ht.sitekey,
motionData: JSON.stringify(e)
};
ut.se && (r.se = ut.se),
i && (r.n = i.solved,
r.c = JSON.stringify(i.spec)),
n && (r.p_e = JSON.stringify(n));
var s = 0;
return new Promise((function(t, e) {
try {
De({
url: function() {
return ut.endpoint + "/checkcaptcha/" + r.sitekey + "/" + o
},
data: function() {
return s > 0 && (r.r = s),
r
},
dataType: "json",
responseType: "json",
withCredentials: !0,
headers: {
"Content-type": "application/json;charset=UTF-8"
},
retry: {
attempts: 4,
delay: Xr,
onFail: function(t, e) {
s += 1,
Lt("checkcaptcha", "api", "debug", t);
var i = t && 0 === t.status;
return e > 1 && !i ? {
retry: !0,
delay: Xr
} : 0 === e && -1 !== at.indexOf(ut.endpoint) ? (ut.endpoint = nt,
{
retry: !0,
delay: 0
}) : ut.endpoint === st || ut.endpoint === nt ? (ut.endpoint = ot,
{
retry: !0,
delay: 0
}) : ut.endpoint === ot ? Nr() ? {
retry: !0,
delay: Xr
} : (ut.endpoint = rt,
{
retry: !0,
delay: 0
}) : ut.endpoint === rt ? (ut.endpoint = ot,
{
retry: !0,
delay: 0
}) : (Ut("api:checkcaptcha failed", "error", "challenge", {
error: t
}),
{
retry: !0,
delay: Xr
})
}
}
}).then((function(e) {
var i = e.body || null;
if (!i)
throw new Error("Missing response body.");
if (!1 === i.success) {
var n = i["error-codes"] || [""];
-1 !== n.indexOf("invalid-data") && Ut("invalid-data", "error", "api", {
motionData: r.motionData
});
var o = n.join(", ");
throw new Error(o)
}
t(i)
}
))["catch"](e)
} catch (Zs) {
e(Zs)
}
}
))
},
reportIssue: function(t, e, i) {
var n = {
taskdata: Ir,
on_url: ht.url,
report_category: t,
sid: Jr
};
if (e && (n.user_comments = e),
Hr && (n.last_ekey = Hr),
i && Ir && "fallback" !== Ir.request_type) {
for (var o = Ir.tasklist, r = null, s = -1; ++s < o.length && !r; )
o[s].task_key === i && (r = o[s]);
n.taskdata.tasklist = [r]
}
return De({
url: ut.reportapi + "/bug-report",
data: n,
dataType: "json",
responseType: "json",
withCredentials: !0,
headers: {
"Content-type": "application/json;charset=UTF-8"
}
})
},
getEKey: function() {
return Pr
},
setData: function(t) {
Ir = t,
Pr = t.key,
qr = !!t.rq,
Jr || (Jr = Pr)
},
setRqData: function(t) {
Gr = t
},
getRqData: function() {
return Gr
},
hasPrivateStateToken: function() {
return document.hasPrivateToken && ut.isSecure ? new Promise((function(t) {
document.hasRedemptionRecord(ut.pstIssuer).then((function(e) {
e ? t(!0) : document.hasPrivateToken(ut.pstIssuer, "private-state-token").then((function(e) {
if (e) {
var i = {
v: "d067130695f80003c94cd7a16954f23aa0ed457d",
sitekey: ht.sitekey,
host: ht.host
};
De({
url: ut.pstIssuer + "/pst/redemption",
data: i,
dataType: "json",
responseType: "json",
timeout: 1500,
pst: "token-redemption",
headers: {
Accept: "application/json",
"Content-Type": "application/json"
}
}).then((function() {
t(!0)
}
))["catch"]((function(e) {
Ct(e),
t(undefined)
}
))
} else
t(!1)
}
))["catch"]((function(e) {
Ct(e),
t(undefined)
}
))
}
))["catch"]((function(e) {
Ct(e),
t(undefined)
}
))
}
)) : Promise.resolve(undefined)
},
isRqChl: function() {
return qr
},
getData: function() {
return Ir
},
authenticate: function(t, e) {
var i = {
v: "d067130695f80003c94cd7a16954f23aa0ed457d",
sitekey: ht.sitekey,
host: ht.host
}
, n = -1 === at.indexOf(ut.endpoint) ? ut.endpoint : ot;
return ut.se && (i.se = ut.se),
t && (i.n = t.solved || null,
i.c = t.spec ? JSON.stringify(t.spec) : null),
e && (i.andint = e),
De({
url: n + "/authenticate",
data: i,
dataType: "json",
responseType: "json",
withCredentials: !0,
timeout: 1500,
headers: {
Accept: "application/json",
"Content-Type": "application/json"
}
}).then((function(t) {
return t.body
}
))["catch"]((function(t) {
if (401 === t.status)
return t.response;
throw t
}
))
}
}
, $r = null;
function ts() {
"android"in window && "webview"in window.android && "getExperimentalMediaIntegrityTokenProvider"in window.android.webview && window.android.webview.getExperimentalMediaIntegrityTokenProvider({
cloudProjectNumber: 88399247179
}).then((function(t) {
$r = t
}
))["catch"]((function(t) {
Ct(t),
$r = null
}
))
}
var es = Ft()
, is = 100;
var ns = ["10000000-ffff-ffff-ffff-000000000001", "20000000-ffff-ffff-ffff-000000000002", "30000000-ffff-ffff-ffff-000000000003"]
, os = {
sitekey: function(t) {
return ue.UUIDv4(t) || "00000000-0000-0000-0000-000000000000" === t || -1 !== ns.indexOf(t)
},
dummykey: function(t) {
return -1 !== ns.indexOf(t)
},
logo: function(t) {
if ("string" == typeof t)
return ue.IMAGE(t);
if (t && "object" == typeof t && !Array.isArray(t)) {
for (var e in t) {
var i = t[e];
if ("string" == typeof i && !ue.IMAGE(i))
return !1
}
return !0
}
return !1
}
};
function rs() {
var t, e, i, n, o, r = os.dummykey(ht.sitekey);
if ("localhost" === ht.host && !r) {
var s = "Warning: localhost detected. Please use a valid host.";
return console.error(s),
Promise.reject(new Error(s))
}
return (t = ht.sitekey,
e = ht.host,
i = tt.Browser.supportsCanvas() >>> 0,
n = tt.Browser.supportsWebAssembly() >>> 0,
o = tt.Browser.supportsPST() >>> 0,
new Promise((function(r, s) {
var a = {
v: "d067130695f80003c94cd7a16954f23aa0ed457d",
host: e,
sitekey: t,
sc: i,
swa: n,
spst: o
};
ut.se && (a.se = ut.se);
var l = 0;
De({
url: function() {
var e = ut.endpoint;
return e === ot && 0 === l && !Nr() && Math.random() < .01 && -1 === t.indexOf("-0000-0000-0000-") && (e = rt),
l > 0 && (a.r = l),
e + "/checksiteconfig?" + It(a)
},
responseType: "json",
withCredentials: !0,
timeout: function(t) {
return t && -1 !== t.indexOf(rt) ? 3e3 : 5e3
},
headers: {
Accept: "application/json",
"Content-Type": "text/plain"
},
retry: {
attempts: 4,
delay: is,
onFail: function(t, e) {
l += 1,
Lt("challenge", "api", "debug", t);
var i = t && (0 === t.status || 477 === t.status);
return e > 1 && !i ? {
retry: !0,
delay: is
} : 0 === e && -1 !== at.indexOf(ut.endpoint) ? (ut.endpoint = nt,
{
retry: !0,
delay: 0
}) : ut.endpoint === st || ut.endpoint === nt ? (ut.endpoint = ot,
{
retry: !0,
delay: 0
}) : ut.endpoint === ot ? Nr() ? {
retry: !0,
delay: is
} : (ut.endpoint = rt,
{
retry: !0,
delay: 0
}) : ut.endpoint === rt ? (ut.endpoint = ot,
{
retry: !0,
delay: 0
}) : (Ut("api:checksiteconfig-status-" + (t && t.status), "error", "challenge", {
error: t
}),
{
retry: t instanceof Error || 400 === t.status,
delay: is
})
}
}
}).then((function(t) {
var e = t.body || null;
if (e)
if (!1 === e.success) {
var i = (e["error-codes"] || []).join(", ");
s({
message: i,
body: e
})
} else
!e.pass && e.error ? s({
message: e.error,
body: e
}) : r(e);
else
s({
message: "Missing response body.",
body: e
})
}
))["catch"](s)
}
))).then((function(t) {
return Lt("/checksiteconfig success", "request", "info", t),
t.endpoint && -1 !== at.indexOf(ut.endpoint) ? (ut.endpoint = t.endpoint,
rs()) : (t.endpoint && -1 !== at.indexOf(ut.endpoint) && (ut.endpoint = t.endpoint),
delete t.endpoint,
t)
}
))
}
var ss = new hn;
ss.add("contrast", {}),
ss.add("grey-red", {
component: {
checkbox: {
main: {
border: "#6a6a6a"
}
}
}
});
function as() {
Ce.self(this, Se, "#a11y-label"),
this.state = {
ticked: !1
},
this.setAttribute("aria-hidden", !0),
this.css({
display: "none"
}),
this.translate()
}
function ls(t) {
var e = t.get()
, i = e.palette
, n = e.component
, o = "light" === i.mode;
return hn.merge({
main: {
fill: i.grey[100],
border: i.grey[o ? 700 : 200]
},
focus: {
fill: i.grey[200],
border: i.grey[o ? 800 : 100],
outline: "dark" === t.active() ? i.secondary.main : i.primary.main
}
}, n.input)
}
function hs() {
Ce.self(this, Se, "#checkbox"),
this.state = {
disabled: !1,
focused: !1,
visible: !0,
passed: !1
},
this._style = ls(ss),
this.setAttribute("aria-haspopup", !0),
this.setAttribute("aria-checked", !1),
this.setAttribute("role", "checkbox"),
this.setAttribute("tabindex", "0"),
this.setAttribute("aria-live", "assertive"),
this.setAttribute("aria-labelledby", "a11y-label"),
this.onOver = this.onOver.bind(this),
this.onOut = this.onOut.bind(this),
this.onFocus = this.onFocus.bind(this),
this.onBlur = this.onBlur.bind(this),
this.addEventListener("over", this.onOver),
this.addEventListener("out", this.onOut),
this.addEventListener("focus", this.onFocus),
this.addEventListener("blur", this.onBlur)
}
Ce.proto(as, Se),
as.prototype.setState = function(t) {
this.state.ticked = "passed" === t,
this.translate()
}
,
as.prototype.translate = function() {
var t = this.state.ticked ? "'I am human' is now checked. You are verified" : "'I am human', Select in order to trigger the challenge, or to bypass it if you have an accessibility cookie";
this.content(Oe.translate(t))
}
,
Ce.proto(hs, Se),
hs.prototype.style = function() {
this._style = ls(ss);
var t = this.state.visible ? this._style.main.fill : "transparent"
, e = this.state.focused ? this._style.focus.border : this._style.main.border
, i = this.state.visible ? e : "transparent"
, n = this._style.focus.outline;
this.css({
position: "absolute",
width: 28,
height: 28,
borderWidth: "1px",
borderStyle: "solid",
borderColor: i,
borderRadius: 4,
backgroundColor: t,
outlineColor: n,
top: 0,
left: 0
})
}
,
hs.prototype.onOver = function(t) {
this.state.focused || this.state.disabled || (this.state.focused = "focus" === t.action,
this.css({
borderColor: this._style.focus.border
}))
}
,
hs.prototype.onOut = function(t) {
if ("blur" === t.action)
this.state.focused = !1;
else if (this.state.focused)
return;
this.css({
borderColor: this._style.main.border
})
}
,
hs.prototype.onFocus = function() {
if (!this.state.disabled) {
var t = this._style.focus.outline;
this.css({
outline: "2px solid " + t
})
}
}
,
hs.prototype.onBlur = function() {
this.css({
outline: "none"
})
}
,
hs.prototype.display = function(t) {
this.state.visible = t,
this.setAttribute("tabindex", t ? 0 : -1),
this.style()
}
,
hs.prototype.setState = function(t) {
this.state.disabled = "disabled" === t,
this.state.passed = "passed" === t,
this.state.visible = "loading" !== t && "passed" !== t,
this.setAttribute("tabindex", "loading" === t || "solving" === t ? -1 : 0),
this.setAttribute("aria-checked", this.state.passed),
this.state.disabled ? this.setAttribute("disabled", "") : this.removeAttribute("disabled"),
this.style()
}
;
function cs() {
Ce.self(this, yn, {
selector: ".pulse",
src: "data:image/svg+xml,%3c%3fxml version='1.0' encoding='utf-8'%3f%3e%3c!-- Generator: Adobe Illustrator 21.0.2%2c SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3e%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 44 44' style='enable-background:new 0 0 44 44%3b' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill:none%3bstroke:%23FF7B00%3bstroke-width:2%3b%7d%3c/style%3e%3cg%3e %3ccircle class='st0' cx='22' cy='22' r='1'%3e %3canimate accumulate='none' additive='replace' attributeName='r' begin='0s' calcMode='spline' dur='1.8s' fill='remove' keySplines='0.165%2c 0.84%2c 0.44%2c 1' keyTimes='0%3b 1' repeatCount='indefinite' restart='always' values='1%3b 20'%3e %3c/animate%3e %3canimate accumulate='none' additive='replace' attributeName='stroke-opacity' begin='0s' calcMode='spline' dur='1.8s' fill='remove' keySplines='0.3%2c 0.61%2c 0.355%2c 1' keyTimes='0%3b 1' repeatCount='indefinite' restart='always' values='1%3b 0'%3e %3c/animate%3e %3c/circle%3e %3ccircle class='st0' cx='22' cy='22' r='1'%3e %3canimate accumulate='none' additive='replace' attributeName='r' begin='-0.9s' calcMode='spline' dur='1.8s' fill='remove' keySplines='0.165%2c 0.84%2c 0.44%2c 1' keyTimes='0%3b 1' repeatCount='indefinite' restart='always' values='1%3b 20'%3e %3c/animate%3e %3canimate accumulate='none' additive='replace' attributeName='stroke-opacity' begin='-0.9s' calcMode='spline' dur='1.8s' fill='remove' keySplines='0.3%2c 0.61%2c 0.355%2c 1' keyTimes='0%3b 1' repeatCount='indefinite' restart='always' values='1%3b 0'%3e %3c/animate%3e %3c/circle%3e%3c/g%3e%3c/svg%3e",
width: 30,
fallback: "https://newassets.hcaptcha.com/captcha/v1/d067130695f80003c94cd7a16954f23aa0ed457d/static/images/pulse.gif"
}),
this.state = {
visible: !1
}
}
Ce.proto(cs, yn),
cs.prototype.style = function() {
this.size(),
this.css({
display: this.state.visible ? "block" : "none",
position: "absolute",
top: 0,
left: 0
})
}
,
cs.prototype.display = function(t) {
this.state.visible = t,
this.style()
}
;
function us() {
Ce.self(this, yn, {
selector: ".check",
src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAAC00lEQVR4nO2aTU8TQRyHn39bIdXEm3jwLQhefPkAJorYLYslIF64ohwM8eQH0A/gzYSLIRooxBORKJr4Ultq4smz8YgQb3ow4YAmUHY8IEpgd7vQ3e0smee4+5/uPL+daXdmCwaDwWAwGAwGg8FgMBgM+wBr0u7JFe17QWrTUXcmbqxJuwdhTpDejsHO7Ne5hbJf/b4KYFMeJAuAcKleCPsmgB3ymwiX2m901BZfLHx0a5eKpXcR4ykPgPqdEvnk1Vai7Fgc1JMXkevlm+88p0CiA2hUHhIcQBjykNAAwpKHBAYQpjwkLICw5SFBAUQhDwkJICp5SEAAUcqD5gFELQ8aBxCHPGgaQFzyoGEAccpDwNXgxZmhLCr6sPJTvXk/eRSDYcpDgAAGxgcOZleW31hF+1GUIViTdo9S6qXfna+MlN6HfV3fAApjhdZfrauzInIFkdGoQoh72G/FM4ChmaGW1cPOM+Dav4MRhNBMefAJ4OfK8hjQv+OEyKhV7H0YRgjNmPPb8QxgndQDYMn1pHC30ZHQrDm/Hc8APoy8XVK1dDew6FrQwHTIFe0uRJ43a9hvpW7nc0/6TklmvQq0uxYoNV65VbqDoIJcMFe0uwR5DRxy+bBY5SHgg1B+On9SOZkqqNOuBQFD0E0edvEkuBFCeh7ocC2oE4KO8rCL9wLl4fK3tKOuAguuBT7fCbrKwx7WAvaEfcJJybyCTteCbSNBZ3nY42Ko+2nheKbmVOuFkJuyL+ssDw2sBnNT/cdErVWBMx4ls6D6/B5y4vidr0dDT3PWY+soBzLzwNngrfS485s09HK0crvynbVaDvgSrIVe8hDShsjfkVABznlX6ScPIe4I2dN2W82RisD5nWf1lIeQt8Tsabtt3aEMcuH/UX3lIeQ/SJSGSz9anLQF6vPGEb3lIaJN0cJE4ciaOK9IcV9n+WiJYRPVYDAYDAaDoRH+ALzfixyrasnFAAAAAElFTkSuQmCC",
width: 30,
label: "Check mark"
}),
this.state = {
visible: !1
},
this.setAttribute("aria-hidden", "true"),
this.setAttribute("tabindex", "-1")
}
function ps() {
Ce.self(this, Se, "#anchor-wr"),
this.state = {
disabled: !1,
loading: !1,
checked: !1
};
var t = this.createElement("#anchor-td")
, e = t.createElement("#anchor-tc")
, i = e.createElement("#anchor-state");
this.a11y = this.initComponent(as),
this.input = this.initComponent(hs, null, i),
this.loading = this.initComponent(cs, null, i),
this.checked = this.initComponent(us, null, i),
this.table = t,
this.cell = e,
this.wrapper = i
}
Ce.proto(us, yn),
us.prototype.style = function() {
this.size(),
this.css({
display: this.state.visible ? "block" : "none",
position: "absolute",
top: 0,
left: 0,
animation: this.state.visible ? "pop 0.4s linear" : "auto"
})
}
,
us.prototype.display = function(t) {
this.state.visible = t,
this.style()
}
,
Ce.proto(ps, Se),
ps.prototype.style = function(t) {
var e = t ? 60 : "100%"
, i = t ? "0px 12px" : "0px 15px";
this.css({
position: "relative",
display: "inline-block",
height: e,
"-ms-high-contrast-adjust": "none"
}),
this.table.css({
position: "relative",
display: "table",
top: 0,
height: "100%"
}),
this.cell.css({
display: "table-cell",
verticalAlign: "middle"
});
this.wrapper.css({
position: "relative",
width: 30,
height: 30,
margin: i
}),
this.input.style(),
this.loading.style(),
this.checked.style()
}
,
ps.prototype.describeBy = function(t) {
t && t.dom && t.dom.id ? this.input.setAttribute("aria-labelledby", t.dom.id) : this.input.setAttribute("aria-labelledby", "a11y-label")
}
,
ps.prototype.setState = function(t) {
var e = "loading" === t
, i = "passed" === t
, n = "disabled" === t;
this.checked.display(i),
this.loading.display(e),
this.a11y.setState(t),
this.input.setState(t),
this.state.loading = e,
this.state.checked = i,
this.state.disabled = n
}
,
ps.prototype.focus = function() {
this.input.focus()
}
,
ps.prototype.getLocation = function() {
var t = this.input.dom.getBoundingClientRect()
, e = t.bottom - t.top
, i = t.right - t.left;
return {
left: t.left,
right: t.right,
top: t.top,
bottom: t.bottom,
width: i,
height: e,
x: t.left + i / 2,
y: t.top + e / 2
}
}
,
ps.prototype.translate = function() {
this.a11y.translate(),
this.checked.translate()
}
;
function ds() {
Ce.self(this, Se, "label-container"),
this.table = this.createElement("label-td"),
this.cell = this.table.createElement("label-tc"),
this.text = this.cell.createElement("#label"),
this.translate()
}
Ce.proto(ds, Se),
ds.prototype.style = function(t) {
var e = t ? 60 : "100%"
, i = t ? 100 : 170
, n = ss.get().palette;
this.css({
position: "relative",
display: "inline-block",
height: e,
width: i
}),
this.table.css({
position: "relative",
display: "table",
top: 0,
height: "100%"
}),
this.cell.css({
display: "table-cell",
verticalAlign: "middle"
}),
this.text.css({
color: n.text.body,
fontSize: 14
})
}
,
ds.prototype.translate = function() {
var t = Oe.translate("I am human");
this.text.content(t)
}
;
var fs = "Privacy"
, ms = "https://hcaptcha.com/privacy"
, ys = "hCaptcha Privacy Policy, opens in a new tab"
, gs = "Terms"
, bs = "https://hcaptcha.com/terms"
, vs = "hCaptcha Terms of Service, opens in a new tab";
function ws(t) {
Ce.self(this, Se, "anchor-links"),
this.state = {
theme: t.theme,
size: t.size
},
this.privacy = this.initComponent(dn, {
theme: ss,
linkToLocale: !0,
text: fs,
url: (t.privacyUrl || ms) + "?ref=" + ht.host + "&utm_campaign=" + ht.sitekey + "&utm_medium=checkbox"
}),
this.hyphen = this.initComponent(fn, {
text: " - "
}),
this.terms = this.initComponent(dn, {
theme: ss,
linkToLocale: !0,
text: gs,
url: (t.termsUrl || bs) + "?ref=" + ht.host + "&utm_campaign=" + ht.sitekey + "&utm_medium=checkbox"
}),
this.translate()
}
Ce.proto(ws, Se),
ws.prototype.style = function() {
var t = function(t) {
var e = t.palette
, i = t.component
, n = "light" === e.mode;
return hn.merge({
main: e.grey[n ? 700 : 200]
}, i.link)
}(ss.get())
, e = {
fontSize: 8,
color: t.main
};
this.privacy.style(e),
this.hyphen.style(e),
this.terms.style(e)
}
,
ws.prototype.translate = function() {
this.privacy.translate(),
this.terms.translate(),
this.privacy.setAttribute("aria-label", Oe.translate(ys)),
this.terms.setAttribute("aria-label", Oe.translate(vs)),
Oe.setDirection(this, Oe.getLocale())
}
;
var Vs = "https://www.hcaptcha.com/what-is-hcaptcha-about"
, xs = "hCaptcha logo, opens new window with more information";
function ks(t) {
Ce.self(this, Se, "anchor-brand"),
this.state = {
url: t.logoUrl || Vs + "?ref=" + ht.host + "&utm_campaign=" + ht.sitekey + "&utm_medium=checkbox&hl=" + Oe.getLocale(),
theme: "dark" === t.theme ? "dark" : "light",
display: t.displayLogo,
label: "hCaptcha"
},
this.customLogo = !!t.logo;
var e = "light" === this.state.theme ? "data:image/svg+xml,%3csvg width='44' height='46' viewBox='0 0 44 46' role='img' aria-hidden='true' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath opacity='0.5' d='M30 28H26V32H30V28Z' fill='%230074BF'/%3e%3cpath opacity='0.7' d='M26 28H22V32H26V28Z' fill='%230074BF'/%3e%3cpath opacity='0.7' d='M22 28H18V32H22V28Z' fill='%230074BF'/%3e%3cpath opacity='0.5' d='M18 28H14V32H18V28Z' fill='%230074BF'/%3e%3cpath opacity='0.7' d='M34 24H30V28H34V24Z' fill='%230082BF'/%3e%3cpath opacity='0.8' d='M30 24H26V28H30V24Z' fill='%230082BF'/%3e%3cpath d='M26 24H22V28H26V24Z' fill='%230082BF'/%3e%3cpath d='M22 24H18V28H22V24Z' fill='%230082BF'/%3e%3cpath opacity='0.8' d='M18 24H14V28H18V24Z' fill='%230082BF'/%3e%3cpath opacity='0.7' d='M14 24H10V28H14V24Z' fill='%230082BF'/%3e%3cpath opacity='0.5' d='M38 20H34V24H38V20Z' fill='%23008FBF'/%3e%3cpath opacity='0.8' d='M34 20H30V24H34V20Z' fill='%23008FBF'/%3e%3cpath d='M30 20H26V24H30V20Z' fill='%23008FBF'/%3e%3cpath d='M26 20H22V24H26V20Z' fill='%23008FBF'/%3e%3cpath d='M22 20H18V24H22V20Z' fill='%23008FBF'/%3e%3cpath d='M18 20H14V24H18V20Z' fill='%23008FBF'/%3e%3cpath opacity='0.8' d='M14 20H10V24H14V20Z' fill='%23008FBF'/%3e%3cpath opacity='0.5' d='M10 20H6V24H10V20Z' fill='%23008FBF'/%3e%3cpath opacity='0.7' d='M38 16H34V20H38V16Z' fill='%23009DBF'/%3e%3cpath d='M34 16H30V20H34V16Z' fill='%23009DBF'/%3e%3cpath d='M30 16H26V20H30V16Z' fill='%23009DBF'/%3e%3cpath d='M26 16H22V20H26V16Z' fill='%23009DBF'/%3e%3cpath d='M22 16H18V20H22V16Z' fill='%23009DBF'/%3e%3cpath d='M18 16H14V20H18V16Z' fill='%23009DBF'/%3e%3cpath d='M14 16H10V20H14V16Z' fill='%23009DBF'/%3e%3cpath opacity='0.7' d='M10 16H6V20H10V16Z' fill='%23009DBF'/%3e%3cpath opacity='0.7' d='M38 12H34V16H38V12Z' fill='%2300ABBF'/%3e%3cpath d='M34 12H30V16H34V12Z' fill='%2300ABBF'/%3e%3cpath d='M30 12H26V16H30V12Z' fill='%2300ABBF'/%3e%3cpath d='M26 12H22V16H26V12Z' fill='%2300ABBF'/%3e%3cpath d='M22 12H18V16H22V12Z' fill='%2300ABBF'/%3e%3cpath d='M18 12H14V16H18V12Z' fill='%2300ABBF'/%3e%3cpath d='M14 12H10V16H14V12Z' fill='%2300ABBF'/%3e%3cpath opacity='0.7' d='M10 12H6V16H10V12Z' fill='%2300ABBF'/%3e%3cpath opacity='0.5' d='M38 8H34V12H38V8Z' fill='%2300B9BF'/%3e%3cpath opacity='0.8' d='M34 8H30V12H34V8Z' fill='%2300B9BF'/%3e%3cpath d='M30 8H26V12H30V8Z' fill='%2300B9BF'/%3e%3cpath d='M26 8H22V12H26V8Z' fill='%2300B9BF'/%3e%3cpath d='M22 8H18V12H22V8Z' fill='%2300B9BF'/%3e%3cpath d='M18 8H14V12H18V8Z' fill='%2300B9BF'/%3e%3cpath opacity='0.8' d='M14 8H10V12H14V8Z' fill='%2300B9BF'/%3e%3cpath opacity='0.5' d='M10 8H6V12H10V8Z' fill='%2300B9BF'/%3e%3cpath opacity='0.7' d='M34 4H30V8H34V4Z' fill='%2300C6BF'/%3e%3cpath opacity='0.8' d='M30 4H26V8H30V4Z' fill='%2300C6BF'/%3e%3cpath d='M26 4H22V8H26V4Z' fill='%2300C6BF'/%3e%3cpath d='M22 4H18V8H22V4Z' fill='%2300C6BF'/%3e%3cpath opacity='0.8' d='M18 4H14V8H18V4Z' fill='%2300C6BF'/%3e%3cpath opacity='0.7' d='M14 4H10V8H14V4Z' fill='%2300C6BF'/%3e%3cpath opacity='0.5' d='M30 0H26V4H30V0Z' fill='%2300D4BF'/%3e%3cpath opacity='0.7' d='M26 0H22V4H26V0Z' fill='%2300D4BF'/%3e%3cpath opacity='0.7' d='M22 0H18V4H22V0Z' fill='%2300D4BF'/%3e%3cpath opacity='0.5' d='M18 0H14V4H18V0Z' fill='%2300D4BF'/%3e%3cpath d='M16.5141 14.9697L17.6379 12.4572C18.0459 11.8129 17.9958 11.0255 17.5449 10.5745C17.4876 10.5173 17.416 10.46 17.3444 10.4171C17.0366 10.2238 16.6572 10.1808 16.3065 10.2954C15.9199 10.4171 15.5835 10.6748 15.3687 11.0184C15.3687 11.0184 13.8297 14.6046 13.2642 16.2153C12.6987 17.8259 12.9206 20.7822 15.1254 22.987C17.4661 25.3277 20.8448 25.8575 23.0066 24.2397C23.0997 24.1967 23.1784 24.1395 23.2572 24.0751L29.9072 18.5202C30.2293 18.2554 30.7089 17.7042 30.2794 17.0743C29.8642 16.4586 29.0697 16.881 28.7404 17.0886L24.9107 19.8731C24.8391 19.9304 24.7318 19.9232 24.6673 19.8517C24.6673 19.8517 24.6673 19.8445 24.6602 19.8445C24.56 19.7228 24.5456 19.4079 24.696 19.2862L30.5657 14.304C31.074 13.8459 31.1456 13.1802 30.7304 12.7292C30.3295 12.2854 29.6924 12.2997 29.1842 12.7578L23.9157 16.881C23.8155 16.9597 23.6652 16.9454 23.5864 16.8452L23.5793 16.838C23.4719 16.7235 23.4361 16.5231 23.5506 16.4014L29.535 10.596C30.0074 10.1522 30.036 9.4149 29.5922 8.94245C29.3775 8.72054 29.084 8.59169 28.7762 8.59169C28.4612 8.59169 28.1606 8.70623 27.9387 8.92813L21.8255 14.6691C21.6823 14.8122 21.396 14.6691 21.3602 14.4973C21.3459 14.4328 21.3674 14.3684 21.4103 14.3255L26.0918 8.99972C26.5571 8.56306 26.5858 7.83292 26.1491 7.36763C25.7124 6.90234 24.9823 6.87371 24.517 7.31036C24.4955 7.32468 24.4812 7.34615 24.4597 7.36763L17.3659 15.2203C17.1082 15.478 16.736 15.4851 16.557 15.342C16.4425 15.2489 16.4282 15.0843 16.5141 14.9697Z' fill='white'/%3e%3cpath d='M4.99195 43.6627H3.32946V40.8306C3.32946 40.1764 3.2488 39.6073 2.55423 39.6073C1.85966 39.6073 1.64905 40.2167 1.64905 41.0144V43.6627H0V36.112H1.64905V37.9045C1.64905 38.4512 1.64008 39.0427 1.64008 39.0427C1.89999 38.5632 2.38395 38.1689 3.13677 38.1689C4.61106 38.1689 4.99195 39.1637 4.99195 40.4766V43.6627Z' fill='%23555555'/%3e%3cpath d='M12.081 42.762C11.7181 43.1563 10.9652 43.7882 9.51337 43.7882C7.42069 43.7882 5.77612 42.3228 5.77612 39.8941C5.77612 37.4564 7.43861 36 9.50889 36C10.9742 36 11.7674 36.6453 11.9556 36.8514L11.4402 38.3167C11.3058 38.1285 10.544 37.5281 9.60299 37.5281C8.39757 37.5281 7.4655 38.3795 7.4655 39.8582C7.4655 41.337 8.43342 42.175 9.60299 42.175C10.4902 42.175 11.131 41.803 11.5209 41.3773L12.081 42.762Z' fill='%23555555'/%3e%3cpath d='M17.3016 43.6627H15.7242L15.6928 43.0936C15.4777 43.3221 15.0655 43.7837 14.2365 43.7837C13.3403 43.7837 12.3903 43.2684 12.3903 42.0674C12.3903 40.8665 13.4344 40.4587 14.3709 40.4139L15.6525 40.3601V40.2391C15.6525 39.67 15.2716 39.3743 14.6084 39.3743C13.9586 39.3743 13.3089 39.679 13.049 39.8538L12.6143 38.72C13.049 38.4915 13.8421 38.1733 14.7921 38.1733C15.7421 38.1733 16.2888 38.4019 16.6921 38.7962C17.082 39.1906 17.3016 39.7148 17.3016 40.6245V43.6627ZM15.657 41.2877L14.8414 41.3415C14.3351 41.3639 14.0348 41.5924 14.0348 41.9957C14.0348 42.4125 14.353 42.6634 14.8101 42.6634C15.2537 42.6634 15.5539 42.3587 15.657 42.1705V41.2877Z' fill='%23555555'/%3e%3cpath d='M21.6034 43.7792C20.8506 43.7792 20.3129 43.4835 19.9947 42.9816V45.6389H18.3456V38.2674H19.914L19.9051 38.9575H19.9275C20.2994 38.487 20.8461 38.1689 21.6213 38.1689C23.0867 38.1689 24.0142 39.3832 24.0142 40.9696C24.0142 42.5559 23.0777 43.7792 21.6034 43.7792ZM21.1284 39.549C20.4249 39.549 19.9409 40.1181 19.9409 40.9471C19.9409 41.7762 20.4249 42.3453 21.1284 42.3453C21.8409 42.3453 22.3249 41.7762 22.3249 40.9471C22.3249 40.1181 21.8409 39.549 21.1284 39.549Z' fill='%23555555'/%3e%3cpath d='M27.8321 39.6028H26.7074V41.5386C26.7074 42.0002 26.7701 42.1077 26.8508 42.2063C26.9225 42.296 27.0255 42.3363 27.2406 42.3363C27.4109 42.3318 27.5767 42.3004 27.738 42.2377L27.8187 43.6044C27.4378 43.7165 27.039 43.7747 26.6446 43.7792C26.0576 43.7792 25.6633 43.591 25.4079 43.2773C25.1524 42.9636 25.0449 42.511 25.0449 41.691V39.6028H24.3234V38.2809H25.0449V36.8156H26.7074V38.2809H27.8321V39.6028Z' fill='%23555555'/%3e%3cpath d='M32.7121 43.1339C32.6583 43.1787 32.1251 43.7792 30.7718 43.7792C29.3781 43.7792 28.0876 42.771 28.0876 40.9785C28.0876 39.1726 29.3961 38.1689 30.7897 38.1689C32.0892 38.1689 32.6762 38.738 32.6762 38.738L32.3133 40.0599C31.9458 39.7507 31.4843 39.5804 31.0048 39.5804C30.3013 39.5804 29.7456 40.0957 29.7456 40.9471C29.7456 41.7986 30.252 42.3363 31.0272 42.3363C31.8024 42.3363 32.3178 41.812 32.3178 41.812L32.7121 43.1339Z' fill='%23555555'/%3e%3cpath d='M38.3986 43.6627H36.7361V40.8306C36.7361 40.1764 36.6555 39.6073 35.9609 39.6073C35.2663 39.6073 35.0512 40.2212 35.0512 41.0188V43.6672H33.4067V36.112H35.0557V37.9045C35.0557 38.4512 35.0468 39.0427 35.0468 39.0427C35.3067 38.5632 35.7906 38.1689 36.5435 38.1689C38.0177 38.1689 38.3986 39.1637 38.3986 40.4766V43.6627Z' fill='%23555555'/%3e%3cpath d='M44 43.6627H42.4226L42.3913 43.0936C42.1762 43.3221 41.7639 43.7837 40.9349 43.7837C40.0387 43.7837 39.0887 43.2684 39.0887 42.0674C39.0887 40.8665 40.1328 40.4587 41.0693 40.4139L42.3509 40.3601V40.2391C42.3509 39.67 41.97 39.3743 41.3068 39.3743C40.6571 39.3743 40.0073 39.679 39.7474 39.8538L39.3127 38.7156C39.7474 38.487 40.5406 38.1689 41.4906 38.1689C42.4405 38.1689 42.9872 38.3974 43.3905 38.7917C43.7804 39.1861 44 39.7104 44 40.62V43.6627ZM42.3599 41.2877L41.5443 41.3415C41.038 41.3639 40.7377 41.5924 40.7377 41.9957C40.7377 42.4125 41.0559 42.6634 41.513 42.6634C41.9566 42.6634 42.2568 42.3587 42.3599 42.1705V41.2877V41.2877Z' fill='%23555555'/%3e%3c/svg%3e" : "data:image/svg+xml,%3csvg width='44' height='46' viewBox='0 0 44 46' role='img' aria-hidden='true' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath opacity='0.5' d='M30 28H26V32H30V28Z' fill='%230074BF'/%3e%3cpath opacity='0.7' d='M26 28H22V32H26V28Z' fill='%230074BF'/%3e%3cpath opacity='0.7' d='M22 28H18V32H22V28Z' fill='%230074BF'/%3e%3cpath opacity='0.5' d='M18 28H14V32H18V28Z' fill='%230074BF'/%3e%3cpath opacity='0.7' d='M34 24H30V28H34V24Z' fill='%230082BF'/%3e%3cpath opacity='0.8' d='M30 24H26V28H30V24Z' fill='%230082BF'/%3e%3cpath d='M26 24H22V28H26V24Z' fill='%230082BF'/%3e%3cpath d='M22 24H18V28H22V24Z' fill='%230082BF'/%3e%3cpath opacity='0.8' d='M18 24H14V28H18V24Z' fill='%230082BF'/%3e%3cpath opacity='0.7' d='M14 24H10V28H14V24Z' fill='%230082BF'/%3e%3cpath opacity='0.5' d='M38 20H34V24H38V20Z' fill='%23008FBF'/%3e%3cpath opacity='0.8' d='M34 20H30V24H34V20Z' fill='%23008FBF'/%3e%3cpath d='M30 20H26V24H30V20Z' fill='%23008FBF'/%3e%3cpath d='M26 20H22V24H26V20Z' fill='%23008FBF'/%3e%3cpath d='M22 20H18V24H22V20Z' fill='%23008FBF'/%3e%3cpath d='M18 20H14V24H18V20Z' fill='%23008FBF'/%3e%3cpath opacity='0.8' d='M14 20H10V24H14V20Z' fill='%23008FBF'/%3e%3cpath opacity='0.5' d='M10 20H6V24H10V20Z' fill='%23008FBF'/%3e%3cpath opacity='0.7' d='M38 16H34V20H38V16Z' fill='%23009DBF'/%3e%3cpath d='M34 16H30V20H34V16Z' fill='%23009DBF'/%3e%3cpath d='M30 16H26V20H30V16Z' fill='%23009DBF'/%3e%3cpath d='M26 16H22V20H26V16Z' fill='%23009DBF'/%3e%3cpath d='M22 16H18V20H22V16Z' fill='%23009DBF'/%3e%3cpath d='M18 16H14V20H18V16Z' fill='%23009DBF'/%3e%3cpath d='M14 16H10V20H14V16Z' fill='%23009DBF'/%3e%3cpath opacity='0.7' d='M10 16H6V20H10V16Z' fill='%23009DBF'/%3e%3cpath opacity='0.7' d='M38 12H34V16H38V12Z' fill='%2300ABBF'/%3e%3cpath d='M34 12H30V16H34V12Z' fill='%2300ABBF'/%3e%3cpath d='M30 12H26V16H30V12Z' fill='%2300ABBF'/%3e%3cpath d='M26 12H22V16H26V12Z' fill='%2300ABBF'/%3e%3cpath d='M22 12H18V16H22V12Z' fill='%2300ABBF'/%3e%3cpath d='M18 12H14V16H18V12Z' fill='%2300ABBF'/%3e%3cpath d='M14 12H10V16H14V12Z' fill='%2300ABBF'/%3e%3cpath opacity='0.7' d='M10 12H6V16H10V12Z' fill='%2300ABBF'/%3e%3cpath opacity='0.5' d='M38 8H34V12H38V8Z' fill='%2300B9BF'/%3e%3cpath opacity='0.8' d='M34 8H30V12H34V8Z' fill='%2300B9BF'/%3e%3cpath d='M30 8H26V12H30V8Z' fill='%2300B9BF'/%3e%3cpath d='M26 8H22V12H26V8Z' fill='%2300B9BF'/%3e%3cpath d='M22 8H18V12H22V8Z' fill='%2300B9BF'/%3e%3cpath d='M18 8H14V12H18V8Z' fill='%2300B9BF'/%3e%3cpath opacity='0.8' d='M14 8H10V12H14V8Z' fill='%2300B9BF'/%3e%3cpath opacity='0.5' d='M10 8H6V12H10V8Z' fill='%2300B9BF'/%3e%3cpath opacity='0.7' d='M34 4H30V8H34V4Z' fill='%2300C6BF'/%3e%3cpath opacity='0.8' d='M30 4H26V8H30V4Z' fill='%2300C6BF'/%3e%3cpath d='M26 4H22V8H26V4Z' fill='%2300C6BF'/%3e%3cpath d='M22 4H18V8H22V4Z' fill='%2300C6BF'/%3e%3cpath opacity='0.8' d='M18 4H14V8H18V4Z' fill='%2300C6BF'/%3e%3cpath opacity='0.7' d='M14 4H10V8H14V4Z' fill='%2300C6BF'/%3e%3cpath opacity='0.5' d='M30 0H26V4H30V0Z' fill='%2300D4BF'/%3e%3cpath opacity='0.7' d='M26 0H22V4H26V0Z' fill='%2300D4BF'/%3e%3cpath opacity='0.7' d='M22 0H18V4H22V0Z' fill='%2300D4BF'/%3e%3cpath opacity='0.5' d='M18 0H14V4H18V0Z' fill='%2300D4BF'/%3e%3cpath d='M16.5141 14.9697L17.6379 12.4572C18.0459 11.8129 17.9958 11.0255 17.5449 10.5745C17.4876 10.5173 17.416 10.46 17.3444 10.4171C17.0366 10.2238 16.6572 10.1808 16.3065 10.2954C15.9199 10.4171 15.5835 10.6748 15.3687 11.0184C15.3687 11.0184 13.8297 14.6046 13.2642 16.2153C12.6987 17.8259 12.9206 20.7822 15.1254 22.987C17.4661 25.3277 20.8448 25.8575 23.0066 24.2397C23.0997 24.1967 23.1784 24.1395 23.2572 24.0751L29.9072 18.5202C30.2293 18.2554 30.7089 17.7042 30.2794 17.0743C29.8642 16.4586 29.0697 16.881 28.7404 17.0886L24.9107 19.8731C24.8391 19.9304 24.7318 19.9232 24.6673 19.8517C24.6673 19.8517 24.6673 19.8445 24.6602 19.8445C24.56 19.7228 24.5456 19.4079 24.696 19.2862L30.5657 14.304C31.074 13.8459 31.1456 13.1802 30.7304 12.7292C30.3295 12.2854 29.6924 12.2997 29.1842 12.7578L23.9157 16.881C23.8155 16.9597 23.6652 16.9454 23.5864 16.8452L23.5793 16.838C23.4719 16.7235 23.4361 16.5231 23.5506 16.4014L29.535 10.596C30.0074 10.1522 30.036 9.4149 29.5922 8.94245C29.3775 8.72054 29.084 8.59169 28.7762 8.59169C28.4612 8.59169 28.1606 8.70623 27.9387 8.92813L21.8255 14.6691C21.6823 14.8122 21.396 14.6691 21.3602 14.4973C21.3459 14.4328 21.3674 14.3684 21.4103 14.3255L26.0918 8.99972C26.5571 8.56306 26.5858 7.83292 26.1491 7.36763C25.7124 6.90234 24.9823 6.87371 24.517 7.31036C24.4955 7.32468 24.4812 7.34615 24.4597 7.36763L17.3659 15.2203C17.1082 15.478 16.736 15.4851 16.557 15.342C16.4425 15.2489 16.4282 15.0843 16.5141 14.9697Z' fill='white'/%3e%3cpath d='M4.99195 43.6627H3.32946V40.8306C3.32946 40.1764 3.2488 39.6073 2.55423 39.6073C1.85966 39.6073 1.64905 40.2167 1.64905 41.0144V43.6627H0V36.112H1.64905V37.9045C1.64905 38.4512 1.64008 39.0427 1.64008 39.0427C1.89999 38.5632 2.38395 38.1689 3.13677 38.1689C4.61106 38.1689 4.99195 39.1637 4.99195 40.4766V43.6627Z' fill='white'/%3e%3cpath d='M12.081 42.762C11.7181 43.1563 10.9652 43.7882 9.51337 43.7882C7.42069 43.7882 5.77612 42.3228 5.77612 39.8941C5.77612 37.4564 7.43861 36 9.50889 36C10.9742 36 11.7674 36.6453 11.9556 36.8514L11.4402 38.3167C11.3058 38.1285 10.544 37.5281 9.60299 37.5281C8.39757 37.5281 7.4655 38.3795 7.4655 39.8582C7.4655 41.337 8.43342 42.175 9.60299 42.175C10.4902 42.175 11.131 41.803 11.5209 41.3773L12.081 42.762Z' fill='white'/%3e%3cpath d='M17.3016 43.6627H15.7242L15.6928 43.0936C15.4777 43.3221 15.0655 43.7837 14.2365 43.7837C13.3403 43.7837 12.3903 43.2684 12.3903 42.0674C12.3903 40.8665 13.4344 40.4587 14.3709 40.4139L15.6525 40.3601V40.2391C15.6525 39.67 15.2716 39.3743 14.6084 39.3743C13.9586 39.3743 13.3089 39.679 13.049 39.8538L12.6143 38.72C13.049 38.4915 13.8421 38.1733 14.7921 38.1733C15.7421 38.1733 16.2888 38.4019 16.6921 38.7962C17.082 39.1906 17.3016 39.7148 17.3016 40.6245V43.6627ZM15.657 41.2877L14.8414 41.3415C14.3351 41.3639 14.0348 41.5924 14.0348 41.9957C14.0348 42.4125 14.353 42.6634 14.8101 42.6634C15.2537 42.6634 15.5539 42.3587 15.657 42.1705V41.2877Z' fill='white'/%3e%3cpath d='M21.6035 43.7792C20.8506 43.7792 20.3129 43.4835 19.9948 42.9816V45.6389H18.3457V38.2674H19.9141L19.9051 38.9575H19.9275C20.2995 38.487 20.8462 38.1689 21.6214 38.1689C23.0867 38.1689 24.0143 39.3832 24.0143 40.9696C24.0143 42.5559 23.0778 43.7792 21.6035 43.7792ZM21.1285 39.549C20.4249 39.549 19.941 40.1181 19.941 40.9471C19.941 41.7762 20.4249 42.3453 21.1285 42.3453C21.841 42.3453 22.3249 41.7762 22.3249 40.9471C22.3249 40.1181 21.841 39.549 21.1285 39.549Z' fill='white'/%3e%3cpath d='M27.8322 39.6028H26.7074V41.5386C26.7074 42.0002 26.7702 42.1077 26.8508 42.2063C26.9225 42.296 27.0256 42.3363 27.2407 42.3363C27.411 42.3318 27.5768 42.3004 27.7381 42.2377L27.8188 43.6044C27.4379 43.7165 27.039 43.7747 26.6447 43.7792C26.0577 43.7792 25.6633 43.591 25.4079 43.2773C25.1525 42.9636 25.0449 42.511 25.0449 41.691V39.6028H24.3235V38.2809H25.0449V36.8156H26.7074V38.2809H27.8322V39.6028Z' fill='white'/%3e%3cpath d='M32.712 43.1339C32.6583 43.1787 32.125 43.7792 30.7717 43.7792C29.3781 43.7792 28.0875 42.771 28.0875 40.9785C28.0875 39.1726 29.396 38.1689 30.7896 38.1689C32.0892 38.1689 32.6762 38.738 32.6762 38.738L32.3132 40.0599C31.9458 39.7507 31.4842 39.5804 31.0047 39.5804C30.3012 39.5804 29.7455 40.0957 29.7455 40.9471C29.7455 41.7986 30.2519 42.3363 31.0271 42.3363C31.8024 42.3363 32.3177 41.812 32.3177 41.812L32.712 43.1339Z' fill='white'/%3e%3cpath d='M38.3986 43.6627H36.7361V40.8306C36.7361 40.1764 36.6554 39.6073 35.9608 39.6073C35.2663 39.6073 35.0512 40.2212 35.0512 41.0188V43.6672H33.4066V36.112H35.0557V37.9045C35.0557 38.4512 35.0467 39.0427 35.0467 39.0427C35.3066 38.5632 35.7906 38.1689 36.5434 38.1689C38.0177 38.1689 38.3986 39.1637 38.3986 40.4766V43.6627Z' fill='white'/%3e%3cpath d='M44 43.6627H42.4227L42.3913 43.0936C42.1762 43.3221 41.764 43.7837 40.935 43.7837C40.0387 43.7837 39.0887 43.2684 39.0887 42.0674C39.0887 40.8665 40.1328 40.4587 41.0694 40.4139L42.351 40.3601V40.2391C42.351 39.67 41.9701 39.3743 41.3069 39.3743C40.6571 39.3743 40.0074 39.679 39.7475 39.8538L39.3128 38.7156C39.7475 38.487 40.5406 38.1689 41.4906 38.1689C42.4406 38.1689 42.9873 38.3974 43.3906 38.7917C43.7805 39.1861 44 39.7104 44 40.62V43.6627ZM42.3599 41.2877L41.5444 41.3415C41.038 41.3639 40.7378 41.5924 40.7378 41.9957C40.7378 42.4125 41.0559 42.6634 41.513 42.6634C41.9566 42.6634 42.2569 42.3587 42.3599 42.1705V41.2877V41.2877Z' fill='white'/%3e%3c/svg%3e"
, i = "https://newassets.hcaptcha.com/captcha/v1/d067130695f80003c94cd7a16954f23aa0ed457d/static/images/logo_combination-" + this.state.theme + ".png";
t.logo && (i = "png",
e = "object" == typeof t.logo ? t.logo[this.state.theme] || t.logo.light : t.logo);
var n = {
theme: ss,
url: this.state.url,
src: e,
fallback: i,
autoLoad: this.state.display
};
this.logo = this.initComponent(eo, n)
}
function Es(t) {
Ce.self(this, Se, "anchor-info"),
this.state = {
size: t.size
},
this.brand = this.initComponent(ks, t),
t.linksOff || (this.links = this.initComponent(ws, t))
}
function As() {
Ce.self(this, Se, "#status"),
this.state = {
visible: !1,
copy: ""
},
this.translate(),
this.setAttribute("aria-hidden", !0),
this.setAttribute("aria-live", "polite")
}
function Cs() {
Ce.self(this, Se, "#warning"),
this.state = {
visible: !1,
copy: ""
},
this.$copy = this.initComponent(mn, {
selector: ".warning-text",
theme: ss
}),
this.setAttribute("aria-hidden", !0),
this.setAttribute("aria-live", "polite")
}
function Ss(t) {
var e = t.palette
, i = t.component
, n = "light" === e.mode;
return hn.merge({
main: {
fill: e.grey[n ? 100 : 800],
border: e.grey[n ? 300 : 200]
},
hover: {
fill: e.grey[n ? 200 : 900]
}
}, i.checkbox)
}
function Rs(t) {
Ce.self(this, Qn, {
selector: "#anchor",
theme: ss,
tabbable: !1
}),
this.state = {
disabled: !1,
selected: !1,
warning: !1,
error: !1,
ticked: !1,
defaultVisible: "invisible" !== t.size
},
this.config = t,
this._style = Ss(ss.get()),
this.setVisible(this.state.defaultVisible),
this.onClick = this.onClick.bind(this),
this.onHover = this.onHover.bind(this),
this.anchor = this.initComponent(ps),
this.label = this.initComponent(ds),
this.info = this.initComponent(Es, this.config),
this.status = this.initComponent(As),
this.warning = this.initComponent(Cs),
this.addEventListener("enter", this.onClick),
this.addEventListener("click", this.onClick),
this.addEventListener("over", this.onHover),
this.addEventListener("out", this.onHover)
}
function Ts(t, e) {
var i = this;
t instanceof Ae || (t = new Ae(t)),
ht.host = e.host ? e.host : "",
ht.sitekey = e.sitekey ? e.sitekey : "";
var n = new Ji
, o = new Rs(e);
return o.style(),
o.reset(),
t.appendElement(o),
t.css({
display: "block"
}),
t.addEventListener("down", (function() {
t.hasClass("using-kb") && t.removeClass("using-kb")
}
)),
t.addEventListener("keyup", (function(e) {
9 === e.keyNum && t.addClass("using-kb")
}
)),
o.on("select", (function(t) {
o.select(),
n.emit("select", t.action)
}
)),
i.tick = function() {
o.tick(),
o.anchor.focus()
}
,
i.reset = function() {
o.reset(),
o.anchor.focus()
}
,
i.disable = function() {
o.disable()
}
,
i.translate = function() {
o.translate()
}
,
i.setStatus = function(t, e) {
t ? (o.status.set(t, e),
o.anchor.describeBy(o.status)) : (o.status.reset(),
o.anchor.describeBy(null))
}
,
i.setWarning = function(t) {
o.warning.set(t),
o.warning.isVisible() ? o.anchor.describeBy(o.warning) : o.anchor.describeBy(null)
}
,
i.on = function(t, e) {
n.on(t, e)
}
,
i.off = function(t, e) {
n.off(t, e)
}
,
i.getLocation = function() {
return o.anchor.getLocation()
}
,
i.setLoading = function(t) {
return o.setLoading(t)
}
,
i.getLogoUrl = function() {
return o.getLogoUrl()
}
,
i.theme = function(t, e) {
e ? (ss.add(t, ss.extend(ss.active(), e)),
ss.use(t)) : ss.use(t),
o.style()
}
,
i
}
Ce.proto(ks, Se),
ks.prototype.style = function() {
if (this.state.display) {
this.logo.size(44, 50),
this.logo.css({
margin: "0 auto"
})
}
}
,
ks.prototype.translate = function() {
this.logo.setAttribute("aria-label", Oe.translate(xs)),
this.setAttribute("title", this.state.label),
this.customLogo || this.setAttribute("href", this.logo.state.url.split("&hl=")[0] + "&hl=" + Oe.getLocale())
}
,
ks.prototype.getLogoUrl = function() {
return this.state.url
}
,
Ce.proto(Es, Se),
Es.prototype.style = function() {
var t = this.state.size
, e = {
display: "inline-block",
height: "100%",
width: 65
}
, i = {
margin: "0 auto",
top: this.links ? 6 : 10,
position: "relative"
}
, n = {
textAlign: "right",
position: "absolute",
bottom: 8
}
, o = Oe.isRTL();
o ? (n.left = 11,
n.right = "auto") : (n.left = "auto",
n.right = 11),
"compact" === t && (e.width = "100%",
e.height = "auto",
e.marginTop = 5,
i.top = this.links ? 0 : 10,
n.textAlign = "center",
n.position = "relative",
n.bottom = 4,
o || (n.right = "auto")),
this.css(e),
this.links && (this.links.style(),
this.links.css(n)),
this.brand.style(),
this.brand.css(i)
}
,
Es.prototype.setVisible = function(t) {
if (this.links) {
var e = "-1";
t && (e = "0"),
this.brand.logo.setAttribute("tabindex", e),
this.links.privacy.setAttribute("tabindex", e),
this.links.terms.setAttribute("tabindex", e)
}
}
,
Es.prototype.translate = function() {
this.links && this.links.translate(),
this.brand.translate(),
Oe.setDirection(this, Oe.getLocale()),
this.style()
}
,
Es.prototype.getLogoUrl = function() {
return this.brand.getLogoUrl()
}
,
Ce.proto(As, Se),
As.prototype.style = function() {
var t = ss.get().palette;
this.css({
display: this.state.visible ? "block" : "none",
color: t.warn.main,
fontSize: 10,
top: 5,
left: 5,
position: "absolute"
})
}
,
As.prototype.set = function(t, e) {
if (t && t.indexOf("invalid-challenge") >= 0) {
var i = t.replace(/-/g, " ");
t = i.charAt(0).toUpperCase() + i.slice(1) + "."
}
this.state.visible = t && "" !== t && !e,
this.state.copy = t,
this.state.visible ? (this.translate(),
this.setAttribute("aria-hidden", e || !t)) : this.removeAttribute("aria-label"),
this.css({
display: this.state.visible ? "block" : "none"
})
}
,
As.prototype.reset = function() {
this.state.visible = !1,
this.state.copy = "",
this.removeAttribute("aria-label"),
this.setAttribute("aria-hidden", !0),
this.css({
display: "none"
})
}
,
As.prototype.translate = function() {
if ("" !== this.state.copy) {
var t = Oe.translate(this.state.copy);
this.setAttribute("aria-label", t),
this.content(t)
}
}
,
As.prototype.isVisible = function() {
return this.state.visible
}
,
Ce.proto(Cs, Se),
Cs.prototype.style = function(t) {
var e = t ? "95%" : "75%"
, i = t ? 42 : 4
, n = ss.get().palette;
this.css({
display: this.state.visible ? "block" : "none",
color: n.warn.main,
fontSize: 10,
bottom: i,
left: 5,
width: e,
position: "absolute"
})
}
,
Cs.prototype.set = function(t) {
this.state.visible = t && "" !== t,
this.state.copy = t,
this.state.visible ? this.translate() : this.removeAttribute("aria-label"),
this.css({
display: this.state.visible ? "block" : "none"
})
}
,
Cs.prototype.translate = function() {
if ("" !== this.state.copy) {
var t = Oe.translate(this.state.copy);
this.setAttribute("aria-label", t),
this.$copy.parseText(t)
}
}
,
Cs.prototype.isVisible = function() {
return this.state.visible
}
,
Ce.proto(Rs, Qn),
Rs.prototype.style = function() {
var t = "compact" === this.config.size;
this._style = Ss(ss.get()),
this.info.style(),
this.anchor.style(t),
this.label.style(t),
this.status.style(),
this.warning.style(t);
var e = t ? 156 : 300
, i = t ? 136 : 74
, n = {
backgroundColor: this._style.main.fill,
borderWidth: "1px",
borderStyle: "solid",
borderColor: this._style.main.border,
borderRadius: 4,
cursor: this.state.ticked || this.state.disabled ? "default" : "pointer",
width: e,
height: i
};
this.setStyle(n)
}
,
Rs.prototype.onHover = function(t) {
var e = "over" === t.action ? "hover" : "main";
this.css({
backgroundColor: this._style[e].fill
})
}
,
Rs.prototype.onClick = function(t) {
var e = t.target || t.srcElement
, i = "string" == typeof e.className ? e.className : ""
, n = i.indexOf("logo") >= 0 || i.indexOf("link") >= 0;
if (this.state.selected || this.state.disabled || t.defaultPrevented || n)
return !0;
this.emit("select", t)
}
,
Rs.prototype.select = function() {
this.state.selected = !0,
this.setLoading(!0),
this.info.setVisible(!1)
}
,
Rs.prototype.disable = function() {
this.state.disabled = !0,
this.anchor.setState("disabled"),
this.css({
cursor: "default"
})
}
,
Rs.prototype.reset = function() {
this.state.disabbled = !1,
this.state.ticked = !1,
this.state.selected = !1,
this.setVisible(this.state.defaultVisible),
this.info.setVisible(this.state.defaultVisible),
this.anchor.setState(null),
this.css({
cursor: "pointer"
})
}
,
Rs.prototype.setLoading = function(t) {
this.state.loading = t;
var e = t ? "loading" : this.state.selected ? "solving" : null;
this.anchor.setState(e),
this.css({
cursor: "default"
})
}
,
Rs.prototype.tick = function() {
this.state.ticked = !0,
this.info.setVisible(this.state.defaultVisible),
this.anchor.setState("passed"),
this.css({
cursor: "default"
})
}
,
Rs.prototype.translate = function() {
this.anchor.translate(),
this.info.translate(),
this.label.translate(),
this.status.translate(),
this.warning.translate(),
Oe.setDirection(this, Oe.getLocale())
}
,
Rs.prototype.getLogoUrl = function() {
return this.info.getLogoUrl()
}
;
var _s = "hcaptcha-frame-d067130695f80003c94cd7a16954f23aa0ed457d" === document.documentElement.getAttribute("data-id")
, Us = window.location.hash.slice(1)
, Ms = Jt(Us)
, Ls = Ms.frame
, Ws = Ms.id;
_s && "challenge" === Ls ? function(t) {
try {
Si(2, t),
Ci.clearData()
} catch (Fs) {
Mt("vm", Fs)
}
var e = undefined
, i = 0
, n = undefined
, o = null
, r = null
, s = null
, a = [et.CHALLENGE_ALREADY_CLOSED, et.CHALLENGE_EXPIRED];
window._sharedLibs = {
packages: {
config: {
Options: ut,
Color: ct,
Context: ht
},
utils: {
MathUtil: qt,
Query: Kt,
Render: Ht,
Color: Bt,
Shuffle: Ot,
JWT: Pt,
TaskContext: de,
ErrorUtil: Wt,
PromiseUtil: ie,
UrlUtil: oe,
HashUtil: le,
ImgUtil: Ri
},
canvas: {
Canvas: Hi,
Path: Wi,
Segment: Li,
Point: Mi,
PathSVG: Oi,
ReticlePoint: Pi
},
constants: lt,
device: tt,
language: Oe,
theme: cn,
core: ui,
ui: lo
}
};
var l = window.location.hash.slice(1)
, h = Jt(l);
!function(t) {
if (ht.host = t.host,
ht.sitekey = t.sitekey,
ht.file = "challenge",
ut.sentry = !1 !== t.sentry,
_t(!0, !0),
t.endpoint !== undefined && "undefined" !== t.endpoint && (ut.endpoint = t.endpoint),
t.reportapi !== undefined && "undefined" !== t.reportapi && (ut.reportapi = t.reportapi),
t.assethost !== undefined && "undefined" !== t.assethost && (ue.URL(t.assethost) ? ut.assethost = t.assethost : console.error("Invalid assethost uri.")),
t.assethost === undefined && "function" == typeof fetch) {
var e = "https://" + Math.random().toString(16).substr(2, 12) + ".w.hcaptcha.com/logo.png";
if ("undefined" != typeof AbortController) {
var i = new AbortController;
fetch(e, {
signal: i.signal
})["catch"]((function() {}
)),
setTimeout((function() {
i.abort()
}
), 1e3)
} else
fetch(e)["catch"]((function() {}
))
}
t.imghost !== undefined && "undefined" !== t.imghost && (ut.imghost = t.imghost),
t.hl !== undefined && "undefined" !== t.hl && (ut.language = t.hl,
Oe.setLocale(ut.language)),
t.se !== undefined && "undefined" !== t.se && (ut.se = t.se),
t.pstissuer !== undefined && "undefined" !== t.pstissuer && (ut.pstIssuer = t.pstissuer),
t.pat !== undefined && "undefined" !== t.pat && (ut.pat = t.pat),
"on" === t.andint && ts(),
ut.theme = t.theme || ut.theme,
t.themeConfig && (ut.themeConfig = t.themeConfig),
t["confirm-nav"] && (ut.confirmNav = !0)
}(h);
var c = setTimeout((function() {
Ut("Slow iframe initialization", "error", "frame:challenge", {
readyState: document.readyState
})
}
), 6e4);
function u() {
try {
return Rr()
} catch (Fs) {
Mt("p_re", Fs)
}
}
function p(t, n) {
Er(t && t.href),
de.clear(),
null !== o && (clearTimeout(o),
o = null),
s.lockInterface(!0),
Fr && (Fr.p = Date.now() - Fr.s),
Ar(t && t.vmdata),
Promise.all([Sr(), new Promise((function(t) {
if (!$r)
return t(undefined);
var e = setTimeout((function() {
t(undefined)
}
), 100)
, i = "CB" + (new Date).getTime() + Math.random();
$r.requestToken(i).then((function(i) {
clearTimeout(e),
t(i)
}
))["catch"]((function(i) {
clearTimeout(e),
Ct(i),
t(undefined)
}
))
}
))]).then((function(t) {
var e = t[0]
, i = t[1];
return i || !n && "on" === ut.pat && tt.supportsPAT() ? function(t, e) {
return Qr.authenticate(t, e).then((function(t) {
return kr(t.c),
Sr().then((function(e) {
return {
proof: e,
pass: t.pass,
authToken: t.auth_token
}
}
))
}
))["catch"]((function(t) {
Qr.logAction(it.AUTHENTICATION_ERROR),
Ut("api:authenticate-error-" + (t && t.status), "error", "challenge", {
error: t
});
var e = t && t.response
, i = e && e.body;
return kr(i.c),
Sr().then((function(t) {
return {
proof: t,
pass: i.pass || !1
}
}
))
}
))
}(e, i) : Promise.resolve({
proof: e,
pass: !1
})
}
)).then((function(t) {
return Qr.hasPrivateStateToken().then((function(e) {
return t.hasPst = e,
t
}
))
}
)).then((function(e) {
return Fr && (Fr.gcs = Date.now() - Fr.s),
Qr.getTaskData(t, e, (n = Wr,
Wr = null,
n), Fr, i, u());
var n
}
)).then((function(t) {
return t.success && Tr(),
Fr && (Fr.gce = Date.now() - Fr.s),
t.pass || !1 === t.success ? d(t) : (e = {
c: t.c,
rq: t.rq,
key: t.key,
challengeType: t.request_type
},
e.challengeType ? (e.key && ji.send("challenge-key", {
key: e.key
}),
s.create({
rq: e.rq
}),
kr(e.c),
i = e.challengeType,
Fr && (Fr.l = Date.now() - Fr.s,
Fr.t = i),
Qr.loadBundle(e.challengeType).then((function(t) {
var i = Qr.getData();
return s.lockInterface(!1),
Fr && (Fr.o = Date.now() - Fr.s),
s.show({
width: ht.browserWidth,
height: ht.browserHeight,
bundle: t,
bundleData: i,
expiration: 1e3 * (i.expiration || 120),
challengeType: e.challengeType
})
}
)).then((function(t) {
try {
Ti(ht.sitekey) || (Ei.setData("tc", de.container),
Ci.storeData(t))
} catch (Fs) {
Ct(Fs)
}
return ji.contact("check-api").then((function(e) {
return {
answers: t,
motionData: e.motiondata,
vmdata: e.vmdata
}
}
))["catch"]((function(t) {
throw Ct(t),
t
}
))
}
)).then((function(t) {
return Ar(t.vmdata),
Sr().then((function(e) {
try {
_i.stop(),
Ei.stop(),
Ai.stop();
var i = _i.getData();
i.topLevel = t.motionData,
i.v = 1,
i.tc = de.container
} catch (Fs) {
Ct(Fs)
}
return Fr && (Fr.c = Date.now() - Fr.s),
Qr.checkAnswers(t.answers, i, e, u()).then((function(t) {
return t.pass && Tr(),
t
}
))
}
))["catch"]((function(t) {
if (s.isVisible() || t && -1 === a.indexOf(t.message))
throw s.lockInterface(!0),
t
}
))
}
))) : Promise.resolve({
c: e.c,
skip: !0
})).then(d);
var e, i
}
))["catch"]((function(t) {
var n = t instanceof Error || "string" == typeof t ? {
event: it.CHALLENGE_ERROR,
message: ("string" == typeof t ? t : t.message) || ""
} : t;
if (Qr.logAction(n.event),
("mfa" === ht.challenge_type || "smsin" === ht.challenge_type || "emailout" === ht.challenge_type) && n.event === it.CHALLENGE_FAILED)
return Ut("api:challenge-failed", "error", "challenge", {
error: t
}),
s.displayTryAgain(!0, n.displayMessage),
void f();
var o = 429 === t.status
, r = t.response && t.response["error-codes"] || []
, a = -1 !== r.indexOf("invalid-data");
Lt("challenge", "api", "debug", t),
!e && !o && !a && (n.event === it.NETWORK_ERROR && 409 !== n.status || n.event === it.CHALLENGE_ERROR || n.event === it.BUNDLE_ERROR) && i <= 3 ? (i < 2 || (i < 3 ? ut.endpoint === st || ut.endpoint === nt ? ut.endpoint = ot : ut.endpoint === ot ? Nr() || (ut.endpoint = rt) : ut.endpoint === rt && (ut.endpoint = ot) : -1 !== at.indexOf(ut.endpoint) && (ut.endpoint = nt)),
i += 1,
f()) : (i > 3 && 0 !== t.status && 429 !== t.status && 403 !== t.status && 400 !== t.status && Ut("api:getcaptcha-error-" + (t && t.status), "error", "challenge", {
error: t
}),
a ? n = {
event: it.NETWORK_ERROR,
message: r.join(", ")
} : e ? (n = {
event: it.NETWORK_ERROR,
message: e
},
console.error("[hCaptcha] " + e),
e = undefined) : n.event || (i < 3 ? (i++,
f()) : (n = {
event: it.NETWORK_ERROR,
message: "Rate limited or network error. Please retry."
},
Ut("api:getcaptcha-error", "error", "challenge", {
error: t
}))),
n.event && (i = 0),
Zr(n.event),
ji.send(et.CHALLENGE_CLOSED, n))
}
))
}
function d(t) {
if (kr(t.c),
t.skip)
Zr(et.CHALLENGE_ESCAPED),
ji.send(et.CHALLENGE_CLOSED, {
event: et.CHALLENGE_ESCAPED
});
else if (t.pass)
Zr(et.CHALLENGE_PASSED),
ji.send(et.CHALLENGE_CLOSED, {
event: et.CHALLENGE_PASSED,
response: t.generated_pass_UUID,
expiration: t.expiration
}),
t.generated_pass_UUID || Ut("no pass id", "error", "frame:challenge");
else if (!1 === t.success) {
var e = t["error-codes"] || [];
if (-1 !== e.indexOf("expired-session") || -1 !== e.indexOf("client-fail"))
return Ut("Client error", "error", "frame:challenge", {
error: e
}),
void f();
Zr(it.NETWORK_ERROR),
ji.send(et.CHALLENGE_CLOSED, {
event: it.NETWORK_ERROR,
message: e.join(", ")
})
} else
s.displayTryAgain(!0),
Qr.logAction("challenge-failed"),
f()
}
function f() {
if (Fr && (Fr = {
s: Date.now(),
n: Fr.n + 1
}),
Qr.isRqChl() && !ut.a11yChallenge)
return s.lockInterface(!0),
void (o = setTimeout((function() {
Zr(it.CHALLENGE_ERROR),
ji.send(et.CHALLENGE_CLOSED, {
event: it.CHALLENGE_ERROR,
message: "Challenge Retry Failed"
})
}
), 2e3));
ji.contact("getcaptcha-manifest").then((function(t) {
p(t, !0)
}
))["catch"]((function(t) {
Mt("getcaptcha-manifest", t)
}
))
}
function m(t, e) {
ht.browserWidth = t.width,
ht.browserHeight = t.height,
s.size(t.width, t.height).then((function(t) {
e.resolve(t),
Lt("challenge resized", "challenge", "info", t)
}
))
}
function y() {
Lt("challenge refresh", "challenge", "info"),
Qr.logAction("challenge-refresh"),
f()
}
function g() {
br(es.collect()),
s.submit().then((function(t) {
Qr.logAction(t),
"challenge-skip" !== t || f()
}
))["catch"]((function(t) {
Ct(t),
Qr.logAction(it.CHALLENGE_ERROR),
f()
}
))
}
function b() {
var t = Qr.getData();
s.displayReport(t).then((function(t) {
if (t) {
var e = function() {
y(),
s.getModal().off("refresh", e)
};
s.getModal().display("report_image", {
key: t
}),
s.getModal().on("refresh", e)
}
}
))["catch"]((function(t) {
Ct(t),
y()
}
))
}
window.addEventListener("load", (function() {
c && (clearTimeout(c),
c = null),
Lt("iframe:load", "challenge", "info")
}
)),
document.addEventListener("DOMContentLoaded", (function() {
Lt("iframe:DOMContentLoaded", "challenge", "info")
}
)),
document.addEventListener("readystatechange", (function() {
Lt("iframe:readystatechange", "challenge", "info", {
readyState: document.readyState
})
}
)),
es.run(),
s = new hr(document.body,{
host: ht.host,
sitekey: ht.sitekey,
orientation: h.orientation || "portrait"
}),
document.addEventListener("securitypolicyviolation", (function(t) {
"img-src" === t.violatedDirective && (e = "CSP blocks images (" + t.originalPolicy + ").")
}
)),
ut.themeConfig && s.addTheme("custom", ut.themeConfig),
ji.init(h.id, h.origin),
r = new Ae(document.body),
ji.answer("create-challenge", (function(t) {
if (n && !1 === n.success)
ji.send(et.CHALLENGE_CLOSED, {
event: it.NETWORK_ERROR,
message: (n["error-codes"] || [""]).join(", ")
});
else {
Fr = {
s: Date.now(),
n: 0
};
var e, i = {};
t && (Qr.setRqData(t.rqdata || Qr.getRqData()),
t.wdata && (e = t.wdata,
window.__wdata = e),
Br(t),
br(t.errors),
t.width && (ht.browserWidth = t.width,
ht.browserHeight = t.height),
t.manifest && (i = t.manifest),
"enter" === t.action ? r.addClass("using-kb") : r.hasClass("using-kb") && r.removeClass("using-kb"),
t.vmdata && (i.vmdata = t.vmdata),
s.init(t)),
s.setFocus("info"),
p(i, !1)
}
}
)),
ji.answer("close-challenge", (function(t) {
Zr(t.event),
null !== o && (clearTimeout(o),
o = null),
t && t.event === et.CHALLENGE_ESCAPED && Qr.logAction("challenge-abandon-retry"),
Qr.setRqData(null),
Br(null),
s.close()
}
)),
ji.answer("resize-challenge", m),
ji.answer("challenge-translate", (function(t) {
if (s.translateInterface(t),
s.isVisible()) {
var e = ht.challenge_type
, i = "en" === t.locale;
"text_free_entry" === e ? (Qr.logAction("challenge-language-change"),
f()) : "mfa" === e || "smsin" === e || "emailout" === e || i ? (s.translateBundle(),
s.style(ht.browserWidth, ht.browserHeight)) : (Qr.logAction("challenge-language-change"),
f())
}
}
)),
ji.contact("get-url").then((function(t) {
ht.url = t
}
))["catch"]((function(t) {
Mt("get-url", t)
}
)),
ji.answer("challenge-data", (function(t) {
t.rqdata && Qr.setRqData(t.rqdata),
(t.userjourney || t.userJourney) && Cr(t.userjourney || t.userJourney),
Br(t)
}
)),
ji.answer("reset-challenge-data", (function() {
Br(null)
}
)),
s.events.on("refresh", y),
s.events.on("submit", g),
s.events.on("report", b),
s.events.on("report-submission", (function(t) {
Qr.reportIssue(t.reason, t.comment, t.key)["catch"]((function(t) {}
))
}
)),
s.events.on("resize", (function() {
ji.send("challenge-resize")
}
)),
s.events.on("focus-check", (function() {
r.addClass("using-kb"),
s.triggerFocus("submit")
}
)),
r.addEventListener("down", (function(t) {
s.isInterfaceLocked() || s.displayTryAgain(!1)
}
)),
r.addEventListener("keydown", (function(t) {
27 === t.keyNum && (s.getModal().isOpen() ? (s.getModal().close(),
s.hideReport()) : (Zr(et.CHALLENGE_ESCAPED),
ji.send(et.CHALLENGE_CLOSED, {
event: et.CHALLENGE_ESCAPED
}),
s.close()))
}
)),
r.addEventListener("down", (function() {
var t = document.activeElement
, e = t && ("menu-info" === t.id || t.parentElement && (-1 !== t.parentElement.className.indexOf("scroll-container") || "menu" === t.parentElement.id));
"menu" === s.getActiveElement() || e ? e && document.activeElement.focus() : (s.closeUserPanel(),
r.hasClass("using-kb") && r.removeClass("using-kb"))
}
), !0),
r.addEventListener("keydown", (function(t) {
9 === t.keyNum && (r.addClass("using-kb"),
t.shiftKey || "submit" === s.getActiveElement() && (s.triggerFocus("challenge", 0),
t.preventDefault && t.preventDefault()))
}
), !0),
r.addEventListener("keydown", (function(t) {
if ("submit" === s.getActiveElement()) {
var e = t.keyNum;
37 === e || 38 === e ? (r.addClass("using-kb"),
s.triggerFocus("challenge", -1),
t.preventDefault && t.preventDefault()) : 39 !== e && 40 !== e || (r.addClass("using-kb"),
s.triggerFocus("challenge", 0),
t.preventDefault && t.preventDefault())
}
}
)),
rs().then((function(t) {
n = t;
var e = t.features;
return "object" != typeof e && (e = {}),
s.setWhiteLabel(!!t.custom),
kr(t.c),
ut.themeConfig && e.custom_theme ? s.useTheme("custom") : s.useTheme(ut.theme),
e.a11y_challenge && (ut.a11yChallenge = !0,
s.enableA11yChallenge(!0)),
e.andint && ts(),
!0 === e.enc_get_req && Qr.setEncryptionSupport(!0),
{
ok: t
}
}
), (function(t) {
var e = t instanceof Error ? {
name: t.name,
message: t.message
} : t;
return "object" == typeof e && e.body && (n = e.body),
{
err: e
}
}
)).then((function(t) {
ji.send("site-setup", t)
}
)),
ji.send("challenge-loaded")
}(Ws) : _s && "checkbox" === Ls && function(t) {
try {
Si(1, t)
} catch (Fs) {
Mt("vm", Fs)
}
var e = !1
, i = window.location.hash.slice(1)
, n = Jt(i)
, o = Di.createChat(window.parent, n.id, n.origin);
!function(t) {
if (ht.id = t.id,
ht.host = t.host,
ht.sitekey = t.sitekey,
ht.file = "checkbox",
ut.sentry = !1 !== t.sentry,
_t(!0, !0),
ut.size = t.size || ut.compact,
ut.custom = t.custom || ut.custom,
ut.mode = t.mode || ut.mode,
ut.se = t.se || null,
t.endpoint !== undefined && "undefined" !== t.endpoint && (ut.endpoint = t.endpoint),
t.assethost !== undefined && "undefined" !== t.assethost && (ue.URL(t.assethost) ? ut.assethost = t.assethost : console.error("Invalid assethost uri.")),
t.assethost === undefined && "function" == typeof fetch) {
var e = "https://" + Math.random().toString(16).substr(2, 12) + ".w.hcaptcha.com/logo.png";
if ("undefined" != typeof AbortController) {
var i = new AbortController;
fetch(e, {
signal: i.signal
})["catch"]((function() {}
)),
setTimeout((function() {
i.abort()
}
), 1e3)
} else
fetch(e)["catch"]((function() {}
))
}
t.imghost !== undefined && "undefined" !== t.imghost && (ut.imghost = t.imghost),
t.hl !== undefined && "undefined" !== t.hl && (ut.language = t.hl,
Oe.setLocale(t.hl)),
t.tplinks !== undefined && "undefined" !== t.tplinks && (ut.tplinks = t.tplinks),
t.pat !== undefined && "undefined" !== t.pat && (ut.pat = t.pat),
t.pstissuer !== undefined && "undefined" !== t.pstissuer && (ut.pstIssuer = t.pstissuer),
t.andint !== undefined && "undefined" !== t.andint && (ut.andint = t.andint),
ut.theme = t.theme || ut.theme,
ut.themeConfig = t.themeConfig,
ut.themeConfig && (t.custom = !0)
}(n);
var r = setTimeout((function() {
Ut("Slow iframe initialization", "error", "frame:checkbox", {
readyState: document.readyState
})
}
), 6e4);
window.addEventListener("load", (function() {
r && (clearTimeout(r),
r = null),
Lt("iframe:load", "checkbox", "info")
}
)),
document.addEventListener("DOMContentLoaded", (function() {
Lt("iframe:DOMContentLoaded", "checkbox", "info")
}
)),
document.addEventListener("readystatechange", (function() {
Lt("iframe:readystatechange", "checkbox", "info", {
readyState: document.readyState
})
}
));
var s = os.sitekey(ht.sitekey)
, a = os.dummykey(ht.sitekey);
es.run();
var l = null
, h = null
, c = new Promise((function(t) {
h = t
}
))
, u = null;
function p(t, i) {
var n = {
host: ht.host,
sitekey: ht.sitekey,
size: ut.size,
theme: ut.theme,
mode: ut.mode,
linksOff: "off" === ut.tplinks,
displayLogo: "invisible" !== ut.size,
logo: null,
logoUrl: null,
privacyUrl: null,
termsUrl: null
}
, o = t && t.custom;
if (o) {
os.logo(o.logo) && (n.logo = o.logo),
o.links && (n.logoUrl = o.links.logo,
n.privacyUrl = o.links.privacy,
n.termsUrl = o.links.terms);
var r = o.copy;
if (r) {
var l = {
checkbox_prompt: "I am human",
checkbox_a11y: "'I am human', Select in order to trigger the challenge, or to bypass it if you have an accessibility cookie"
};
for (var h in l) {
var u = r[h];
for (var p in u) {
var d = {};
d[l[h]] = u[p],
Oe.addTable(p, d)
}
}
c.then((function(t) {
t.translate()
}
))
}
}
var f = new Ts(document.body,n)
, m = t && t.features && t.features.custom_theme;
return ut.themeConfig && m ? f.theme("custom", ut.themeConfig) : f.theme(ut.theme),
f.setStatus(!1),
s || a ? a && f.setWarning("This hCaptcha is for testing only. Please contact the site admin if you see this.") : f.setWarning("The sitekey for this hCaptcha is incorrect. Please contact the site admin if you see this."),
f.on("select", (function(t) {
f.setStatus(!1),
setTimeout((function() {
try {
i.send("checkbox-selected", {
manifest: _i.getData(),
charity: e,
a11yChallenge: ut.a11yChallenge || !1,
link: f.getLogoUrl(),
action: t,
errors: es.collect()
})
} catch (Fs) {
Mt("checkbox", Fs)
}
}
), 1)
}
)),
f
}
new Promise((function(t) {
u = t
}
)).then((function(t) {
if ("ok"in t)
return t.ok;
throw t.err
}
)).then((function(t) {
l || (l = p(t, o),
h(l));
var i = t.features || {};
ut.a11yChallenge = i.a11y_challenge || !1,
e = t.charity || !1,
t.status_message && s && !a && l.setWarning(t.status_message)
}
), (function(t) {
l || (l = p(null, o),
h(l)),
t.message && l.setStatus(t.message),
t.body && !1 === t.body.success && l.disable()
}
)).then((function() {
try {
_i.resetData(),
_i.record(!0, !0, !0, !1),
Ti(ht.sitekey) || (Ei.resetData(),
Ei.record({
1: !0,
2: !0,
3: !0,
4: !1
}))
} catch (Fs) {
Ut("Set MD Failed", "error", "frame:checkbox", Fs)
}
o.send("checkbox-loaded", l.getLocation())
}
)),
function(t, e, i) {
i.listen("site-setup", e),
i.listen("checkbox-tick", (function() {
t.then((function(t) {
t.tick()
}
))
}
)),
i.listen("checkbox-translate", (function(e) {
try {
if (!e || !e.locale || !e.table)
return;
Oe.setLocale(e.locale),
Oe.addTable(e.locale, e.table),
t.then((function(t) {
t.translate()
}
)),
document.documentElement.setAttribute("lang", Oe.getLocale())
} catch (Fs) {
Mt("translation", Fs)
}
}
)),
i.listen("checkbox-status", (function(e) {
t.then((function(t) {
t.setStatus(e.text, e.a11yOnly)
}
))
}
)),
i.listen("checkbox-reset", (function() {
t.then((function(t) {
t.reset();
try {
_i.resetData(),
_i.record(),
Ei.resetData(),
Ei.record({
1: !0,
2: !0,
3: !0,
4: !1
})
} catch (Fs) {
Ut("Set MD Failed", "error", "frame:checkbox", Fs)
}
}
))
}
)),
i.listen("checkbox-clear", (function() {
t.then((function(t) {
t.setLoading(!1)
}
))
}
)),
i.listen("checkbox-location", (function(e) {
t.then((function(t) {
var i = t.getLocation();
e.resolve(i)
}
))
}
))
}(c, u, o),
o.send("checkbox-ready"),
n.custom || (l = p(null, o),
h(l))
}(Ws)
}();
</script>
</body>
</html>