/*! @sentry/browser 7.2.0 (ec0f05b) | https://github.com/getsentry/sentry-javascript */
var Sentry = function(t) {
var n = {};
function e() {
return "undefined" != typeof window ? window : "undefined" != typeof self ? self : n
}
function r(t, n, r) {
var i = r || e()
, s = i.__SENTRY__ = i.__SENTRY__ || {};
return s[t] || (s[t] = n())
}
var i = Object.prototype.toString;
function s(t) {
switch (i.call(t)) {
case "[object Error]":
case "[object Exception]":
case "[object DOMException]":
return !0;
default:
return d(t, Error)
}
}
function o(t, n) {
return i.call(t) === `[object ${n}]`
}
function u(t) {
return o(t, "ErrorEvent")
}
function a(t) {
return o(t, "DOMError")
}
function c(t) {
return o(t, "String")
}
function f(t) {
return null === t || "object" != typeof t && "function" != typeof t
}
function h(t) {
return o(t, "Object")
}
function l(t) {
return "undefined" != typeof Event && d(t, Event)
}
function v(t) {
return Boolean(t && t.then && "function" == typeof t.then)
}
function d(t, n) {
try {
return t instanceof n
} catch (t) {
return !1
}
}
function p(t, n) {
try {
let i = t;
var e = [];
let s = 0
, o = 0;
var r = " > ".length;
let u;
for (; i && s++ < 5 && (u = y(i, n),
!("html" === u || s > 1 && o + e.length * r + u.length >= 80)); )
e.push(u),
o += u.length,
i = i.parentNode;
return e.reverse().join(" > ")
} catch (t) {
return ""
}
}
function y(t, n) {
var e = t
, r = [];
let i, s, o, u, a;
if (!e || !e.tagName)
return "";
r.push(e.tagName.toLowerCase());
var f = n && n.length ? n.filter((t=>e.getAttribute(t))).map((t=>[t, e.getAttribute(t)])) : null;
if (f && f.length)
f.forEach((t=>{
r.push(`[${t[0]}="${t[1]}"]`)
}
));
else if (e.id && r.push(`#${e.id}`),
i = e.className,
i && c(i))
for (s = i.split(/\s+/),
a = 0; a < s.length; a++)
r.push(`.${s[a]}`);
var h = ["type", "name", "title", "alt"];
for (a = 0; a < h.length; a++)
o = h[a],
u = e.getAttribute(o),
u && r.push(`[${o}="${u}"]`);
return r.join("")
}
class m extends Error {
constructor(t) {
super(t),
this.message = t,
this.name = new.target.prototype.constructor.name,
Object.setPrototypeOf(this, new.target.prototype)
}
}
var g = /^(?:(\w+):)\/\/(?:(\w+)(?::(\w+))?@)([\w.-]+)(?::(\d+))?\/(.+)/;
function _(t, n=!1) {
const {host: e, path: r, pass: i, port: s, projectId: o, protocol: u, publicKey: a} = t;
return `${u}://${a}${n && i ? `:${i}` : ""}@${e}${s ? `:${s}` : ""}/${r ? `${r}/` : r}${o}`
}
function b(t) {
return {
protocol: t.protocol,
publicKey: t.publicKey || "",
pass: t.pass || "",
host: t.host,
port: t.port || "",
path: t.path || "",
projectId: t.projectId
}
}
function w(t) {
return "string" == typeof t ? function(t) {
var n = g.exec(t);
if (!n)
throw new m(`Invalid Sentry Dsn: ${t}`);
const [e,r,i="",s,o="",u] = n.slice(1);
let a = ""
, c = u;
var f = c.split("/");
if (f.length > 1 && (a = f.slice(0, -1).join("/"),
c = f.pop()),
c) {
var h = c.match(/^\d+/);
h && (c = h[0])
}
return b({
host: s,
pass: i,
path: a,
projectId: c,
port: o,
protocol: e,
publicKey: r
})
}(t) : b(t)
}
var x, E = ["debug", "info", "warn", "error", "log", "assert", "trace"];
function S(t, n=0) {
return "string" != typeof t || 0 === n || t.length <= n ? t : `${t.substr(0, n)}...`
}
function $(t, n) {
if (!Array.isArray(t))
return "";
var e = [];
for (let n = 0; n < t.length; n++) {
var r = t[n];
try {
e.push(String(r))
} catch (t) {
e.push("[value cannot be serialized]")
}
}
return e.join(n)
}
function k(t, n) {
return !!c(t) && (o(n, "RegExp") ? n.test(t) : "string" == typeof n && -1 !== t.indexOf(n))
}
function O(t, n, e) {
if (n in t) {
var r = t[n]
, i = e(r);
if ("function" == typeof i)
try {
T(i, r)
} catch (t) {}
t[n] = i
}
}
function j(t, n, e) {
Object.defineProperty(t, n, {
value: e,
writable: !0,
configurable: !0
})
}
function T(t, n) {
var e = n.prototype || {};
t.prototype = n.prototype = e,
j(t, "__sentry_original__", n)
}
function D(t) {
return t.__sentry_original__
}
function R(t) {
if (s(t))
return {
message: t.message,
name: t.name,
stack: t.stack,
...M(t)
};
if (l(t)) {
var n = {
type: t.type,
target: I(t.target),
currentTarget: I(t.currentTarget),
...M(t)
};
return "undefined" != typeof CustomEvent && d(t, CustomEvent) && (n.detail = t.detail),
n
}
return t
}
function I(t) {
try {
return n = t,
"undefined" != typeof Element && d(n, Element) ? p(t) : Object.prototype.toString.call(t)
} catch (t) {
return ""
}
var n
}
function M(t) {
if ("object" == typeof t && null !== t) {
var n = {};
for (var e in t)
Object.prototype.hasOwnProperty.call(t, e) && (n[e] = t[e]);
return n
}
return {}
}
function C(t, n=40) {
var e = Object.keys(R(t));
if (e.sort(),
!e.length)
return "[object has no keys]";
if (e[0].length >= n)
return S(e[0], n);
for (let t = e.length; t > 0; t--) {
var r = e.slice(0, t).join(", ");
if (!(r.length > n))
return t === e.length ? r : S(r, n)
}
return ""
}
function A(t) {
return N(t, new Map)
}
function N(t, n) {
if (h(t)) {
if (void 0 !== (i = n.get(t)))
return i;
var e = {};
for (var r of (n.set(t, e),
Object.keys(t)))
void 0 !== t[r] && (e[r] = N(t[r], n));
return e
}
if (Array.isArray(t)) {
var i;
if (void 0 !== (i = n.get(t)))
return i;
e = [];
return n.set(t, e),
t.forEach((t=>{
e.push(N(t, n))
}
)),
e
}
return t
}
x = {
enable: ()=>{}
,
disable: ()=>{}
},
E.forEach((t=>{
x[t] = ()=>{}
}
));
function L(...t) {
var n = t.sort(((t,n)=>t[0] - n[0])).map((t=>t[1]));
return (t,e=0)=>{
var r = [];
for (var i of t.split("\n").slice(e))
for (var s of n) {
var o = s(i);
if (o) {
r.push(o);
break
}
}
return function(t) {
if (!t.length)
return [];
let n = t;
var e = n[0].function || ""
, r = n[n.length - 1].function || "";
-1 === e.indexOf("captureMessage") && -1 === e.indexOf("captureException") || (n = n.slice(1));
-1 !== r.indexOf("sentryWrapped") && (n = n.slice(0, -1));
return n.slice(0, 50).map((t=>({
...t,
filename: t.filename || n[0].filename,
function: t.function || "?"
}))).reverse()
}(r)
}
}
var U = "";
function q(t) {
try {
return t && "function" == typeof t && t.name || U
} catch (t) {
return U
}
}
function P() {
if (!("fetch"in e()))
return !1;
try {
return new Headers,
new Request(""),
new Response,
!0
} catch (t) {
return !1
}
}
function H(t) {
return t && /^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(t.toString())
}
var F = e()
, B = {}
, X = {};
function z(t) {
if (!X[t])
switch (X[t] = !0,
t) {
case "console":
!function() {
if (!("console"in F))
return;
E.forEach((function(t) {
t in F.console && O(F.console, t, (function(n) {
return function(...e) {
J("console", {
args: e,
level: t
}),
n && n.apply(F.console, e)
}
}
))
}
))
}();
break;
case "dom":
!function() {
if (!("document"in F))
return;
var t = J.bind(null, "dom")
, n = Z(t, !0);
F.document.addEventListener("click", n, !1),
F.document.addEventListener("keypress", n, !1),
["EventTarget", "Node"].forEach((n=>{
var e = F[n] && F[n].prototype;
e && e.hasOwnProperty && e.hasOwnProperty("addEventListener") && (O(e, "addEventListener", (function(n) {
return function(e, r, i) {
if ("click" === e || "keypress" == e)
try {
var s = this
, o = s.__sentry_instrumentation_handlers__ = s.__sentry_instrumentation_handlers__ || {}
, u = o[e] = o[e] || {
refCount: 0
};
if (!u.handler) {
var a = Z(t);
u.handler = a,
n.call(this, e, a, i)
}
u.refCount += 1
} catch (t) {}
return n.call(this, e, r, i)
}
}
)),
O(e, "removeEventListener", (function(t) {
return function(n, e, r) {
if ("click" === n || "keypress" == n)
try {
var i = this
, s = i.__sentry_instrumentation_handlers__ || {}
, o = s[n];
o && (o.refCount -= 1,
o.refCount <= 0 && (t.call(this, n, o.handler, r),
o.handler = void 0,
delete s[n]),
0 === Object.keys(s).length && delete i.__sentry_instrumentation_handlers__)
} catch (t) {}
return t.call(this, n, e, r)
}
}
)))
}
))
}();
break;
case "xhr":
!function() {
if (!("XMLHttpRequest"in F))
return;
var t = XMLHttpRequest.prototype;
O(t, "open", (function(t) {
return function(...n) {
var e = this
, r = n[1]
, i = e.__sentry_xhr__ = {
method: c(n[0]) ? n[0].toUpperCase() : n[0],
url: n[1]
};
c(r) && "POST" === i.method && r.match(/sentry_key/) && (e.__sentry_own_request__ = !0);
var s = function() {
if (4 === e.readyState) {
try {
i.status_code = e.status
} catch (t) {}
J("xhr", {
args: n,
endTimestamp: Date.now(),
startTimestamp: Date.now(),
xhr: e
})
}
};
return "onreadystatechange"in e && "function" == typeof e.onreadystatechange ? O(e, "onreadystatechange", (function(t) {
return function(...n) {
return s(),
t.apply(e, n)
}
}
)) : e.addEventListener("readystatechange", s),
t.apply(e, n)
}
}
)),
O(t, "send", (function(t) {
return function(...n) {
return this.__sentry_xhr__ && void 0 !== n[0] && (this.__sentry_xhr__.body = n[0]),
J("xhr", {
args: n,
startTimestamp: Date.now(),
xhr: this
}),
t.apply(this, n)
}
}
))
}();
break;
case "fetch":
!function() {
if (!function() {
if (!P())
return !1;
var t = e();
if (H(t.fetch))
return !0;
let n = !1;
var r = t.document;
if (r && "function" == typeof r.createElement)
try {
var i = r.createElement("iframe");
i.hidden = !0,
r.head.appendChild(i),
i.contentWindow && i.contentWindow.fetch && (n = H(i.contentWindow.fetch)),
r.head.removeChild(i)
} catch (t) {}
return n
}())
return;
O(F, "fetch", (function(t) {
return function(...n) {
var e = {
args: n,
fetchData: {
method: K(n),
url: G(n)
},
startTimestamp: Date.now()
};
return J("fetch", {
...e
}),
t.apply(F, n).then((t=>(J("fetch", {
...e,
endTimestamp: Date.now(),
response: t
}),
t)), (t=>{
throw J("fetch", {
...e,
endTimestamp: Date.now(),
error: t
}),
t
}
))
}
}
))
}();
break;
case "history":
!function() {
if (!function() {
var t = e()
, n = t.chrome
, r = n && n.app && n.app.runtime
, i = "history"in t && !!t.history.pushState && !!t.history.replaceState;
return !r && i
}())
return;
var t = F.onpopstate;
function n(t) {
return function(...n) {
var e = n.length > 2 ? n[2] : void 0;
if (e) {
var r = V
, i = String(e);
V = i,
J("history", {
from: r,
to: i
})
}
return t.apply(this, n)
}
}
F.onpopstate = function(...n) {
var e = F.location.href
, r = V;
if (V = e,
J("history", {
from: r,
to: e
}),
t)
try {
return t.apply(this, n)
} catch (t) {}
}
,
O(F.history, "pushState", n),
O(F.history, "replaceState", n)
}();
break;
case "error":
tt = F.onerror,
F.onerror = function(t, n, e, r, i) {
return J("error", {
column: r,
error: i,
line: e,
msg: t,
url: n
}),
!!tt && tt.apply(this, arguments)
}
;
break;
case "unhandledrejection":
nt = F.onunhandledrejection,
F.onunhandledrejection = function(t) {
return J("unhandledrejection", t),
!nt || nt.apply(this, arguments)
}
;
break;
default:
return
}
}
function W(t, n) {
B[t] = B[t] || [],
B[t].push(n),
z(t)
}
function J(t, n) {
if (t && B[t])
for (var e of B[t] || [])
try {
e(n)
} catch (t) {}
}
function K(t=[]) {
return "Request"in F && d(t[0], Request) && t[0].method ? String(t[0].method).toUpperCase() : t[1] && t[1].method ? String(t[1].method).toUpperCase() : "GET"
}
function G(t=[]) {
return "string" == typeof t[0] ? t[0] : "Request"in F && d(t[0], Request) ? t[0].url : String(t[0])
}
let V;
let Q, Y;
function Z(t, n=!1) {
return e=>{
if (e && Y !== e && !function(t) {
if ("keypress" !== t.type)
return !1;
try {
var n = t.target;
if (!n || !n.tagName)
return !0;
if ("INPUT" === n.tagName || "TEXTAREA" === n.tagName || n.isContentEditable)
return !1
} catch (t) {}
return !0
}(e)) {
var r = "keypress" === e.type ? "input" : e.type;
(void 0 === Q || function(t, n) {
if (!t)
return !0;
if (t.type !== n.type)
return !0;
try {
if (t.target !== n.target)
return !0
} catch (t) {}
return !1
}(Y, e)) && (t({
event: e,
name: r,
global: n
}),
Y = e),
clearTimeout(Q),
Q = F.setTimeout((()=>{
Q = void 0
}
), 1e3)
}
}
}
let tt = null;
let nt = null;
function et() {
var t = e()
, n = t.crypto || t.msCrypto;
if (void 0 !== n && n.getRandomValues) {
var r = new Uint16Array(8);
n.getRandomValues(r),
r[3] = 4095 & r[3] | 16384,
r[4] = 16383 & r[4] | 32768;
var i = t=>{
let n = t.toString(16);
for (; n.length < 4; )
n = `0${n}`;
return n
}
;
return i(r[0]) + i(r[1]) + i(r[2]) + i(r[3]) + i(r[4]) + i(r[5]) + i(r[6]) + i(r[7])
}
return "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g, (t=>{
var n = 16 * Math.random() | 0;
return ("x" === t ? n : 3 & n | 8).toString(16)
}
))
}
function rt(t) {
if (!t)
return {};
var n = t.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);
if (!n)
return {};
var e = n[6] || ""
, r = n[8] || "";
return {
host: n[4],
path: n[5],
protocol: n[2],
relative: n[5] + e + r
}
}
function it(t) {
return t.exception && t.exception.values ? t.exception.values[0] : void 0
}
function st(t) {
const {message: n, event_id: e} = t;
if (n)
return n;
var r = it(t);
return r ? r.type && r.value ? `${r.type}: ${r.value}` : r.type || r.value || e || "" : e || ""
}
function ot(t, n, e) {
var r = t.exception = t.exception || {}
, i = r.values = r.values || []
, s = i[0] = i[0] || {};
s.value || (s.value = n || ""),
s.type || (s.type = e || "Error")
}
function ut(t, n) {
var e = it(t);
if (e) {
var r = e.mechanism;
if (e.mechanism = {
type: "generic",
handled: !0,
...r,
...n
},
n && "data"in n) {
var i = {
...r && r.data,
...n.data
};
e.mechanism.data = i
}
}
}
function at(t) {
if (t && t.__sentry_captured__)
return !0;
try {
j(t, "__sentry_captured__", !0)
} catch (t) {}
return !1
}
function ct(t, n=1 / 0, e=1 / 0) {
try {
return ht("", t, n, e)
} catch (t) {
return {
ERROR: `**non-serializable** (${t})`
}
}
}
function ft(t, n=3, e=102400) {
var r, i = ct(t, n);
return r = i,
function(t) {
return ~-encodeURI(t).split(/%..|./).length
}(JSON.stringify(r)) > e ? ft(t, n - 1, e) : i
}
function ht(t, n, e=1 / 0, r=1 / 0, i=function() {
var t = "function" == typeof WeakSet
, n = t ? new WeakSet : [];
return [function(e) {
if (t)
return !!n.has(e) || (n.add(e),
!1);
for (let t = 0; t < n.length; t++)
if (n[t] === e)
return !0;
return n.push(e),
!1
}
, function(e) {
if (t)
n.delete(e);
else
for (let t = 0; t < n.length; t++)
if (n[t] === e) {
n.splice(t, 1);
break
}
}
]
}()) {
const [s,o] = i;
var u, a = n;
if (a && "function" == typeof a.toJSON)
try {
return a.toJSON()
} catch (t) {}
if (null === n || ["number", "boolean", "string"].includes(typeof n) && ("number" != typeof (u = n) || u == u))
return n;
var c = function(t, n) {
try {
return "domain" === t && n && "object" == typeof n && n.t ? "[Domain]" : "domainEmitter" === t ? "[DomainEmitter]" : "undefined" != typeof global && n === global ? "[Global]" : "undefined" != typeof window && n === window ? "[Window]" : "undefined" != typeof document && n === document ? "[Document]" : function(t) {
return h(t) && "nativeEvent"in t && "preventDefault"in t && "stopPropagation"in t
}(n) ? "[SyntheticEvent]" : "number" == typeof n && n != n ? "[NaN]" : void 0 === n ? "[undefined]" : "function" == typeof n ? `[Function: ${q(n)}]` : "symbol" == typeof n ? `[${String(n)}]` : "bigint" == typeof n ? `[BigInt: ${String(n)}]` : `[object ${Object.getPrototypeOf(n).constructor.name}]`
} catch (t) {
return `**non-serializable** (${t})`
}
}(t, n);
if (!c.startsWith("[object "))
return c;
if (n.__sentry_skip_normalization__)
return n;
if (0 === e)
return c.replace("object ", "");
if (s(n))
return "[Circular ~]";
var f = Array.isArray(n) ? [] : {};
let l = 0;
var v = R(n);
for (var d in v)
if (Object.prototype.hasOwnProperty.call(v, d)) {
if (l >= r) {
f[d] = "[MaxProperties ~]";
break
}
var p = v[d];
f[d] = ht(d, p, e - 1, r, i),
l += 1
}
return o(n),
f
}
var lt;
function vt(t) {
return new pt((n=>{
n(t)
}
))
}
function dt(t) {
return new pt(((n,e)=>{
e(t)
}
))
}
!function(t) {
t[t.PENDING = 0] = "PENDING";
t[t.RESOLVED = 1] = "RESOLVED";
t[t.REJECTED = 2] = "REJECTED"
}(lt || (lt = {}));
class pt {
__init() {
this.i = lt.PENDING
}
__init2() {
this.o = []
}
constructor(t) {
pt.prototype.__init.call(this),
pt.prototype.__init2.call(this),
pt.prototype.__init3.call(this),
pt.prototype.__init4.call(this),
pt.prototype.__init5.call(this),
pt.prototype.__init6.call(this);
try {
t(this.u, this.h)
} catch (t) {
this.h(t)
}
}
then(t, n) {
return new pt(((e,r)=>{
this.o.push([!1, n=>{
if (t)
try {
e(t(n))
} catch (t) {
r(t)
}
else
e(n)
}
, t=>{
if (n)
try {
e(n(t))
} catch (t) {
r(t)
}
else
r(t)
}
]),
this.l()
}
))
}
catch(t) {
return this.then((t=>t), t)
}
finally(t) {
return new pt(((n,e)=>{
let r, i;
return this.then((n=>{
i = !1,
r = n,
t && t()
}
), (n=>{
i = !0,
r = n,
t && t()
}
)).then((()=>{
i ? e(r) : n(r)
}
))
}
))
}
__init3() {
this.u = t=>{
this.v(lt.RESOLVED, t)
}
}
__init4() {
this.h = t=>{
this.v(lt.REJECTED, t)
}
}
__init5() {
this.v = (t,n)=>{
this.i === lt.PENDING && (v(n) ? n.then(this.u, this.h) : (this.i = t,
this.p = n,
this.l()))
}
}
__init6() {
this.l = ()=>{
if (this.i !== lt.PENDING) {
var t = this.o.slice();
this.o = [],
t.forEach((t=>{
t[0] || (this.i === lt.RESOLVED && t[1](this.p),
this.i === lt.REJECTED && t[2](this.p),
t[0] = !0)
}
))
}
}
}
}
function yt(t) {
var n = [];
function e(t) {
return n.splice(n.indexOf(t), 1)[0]
}
return {
$: n,
add: function(r) {
if (!(void 0 === t || n.length < t))
return dt(new m("Not adding Promise due to buffer limit reached."));
var i = r();
return -1 === n.indexOf(i) && n.push(i),
i.then((()=>e(i))).then(null, (()=>e(i).then(null, (()=>{}
)))),
i
},
drain: function(t) {
return new pt(((e,r)=>{
let i = n.length;
if (!i)
return e(!0);
var s = setTimeout((()=>{
t && t > 0 && e(!1)
}
), t);
n.forEach((t=>{
vt(t).then((()=>{
--i || (clearTimeout(s),
e(!0))
}
), r)
}
))
}
))
}
}
}
function mt(t) {
let n, e = t[0], r = 1;
for (; r < t.length; ) {
var i = t[r]
, s = t[r + 1];
if (r += 2,
("optionalAccess" === i || "optionalCall" === i) && null == e)
return;
"access" === i || "optionalAccess" === i ? (n = e,
e = s(e)) : "call" !== i && "optionalCall" !== i || (e = s(((...t)=>e.call(n, ...t))),
n = void 0)
}
return e
}
var gt = ["fatal", "error", "warning", "log", "info", "debug"];
var _t = {
nowSeconds: ()=>Date.now() / 1e3
};
var bt = function() {
const {performance: t} = e();
if (t && t.now)
return {
now: ()=>t.now(),
timeOrigin: Date.now() - t.now()
}
}()
, wt = void 0 === bt ? _t : {
nowSeconds: ()=>(bt.timeOrigin + bt.now()) / 1e3
}
, xt = _t.nowSeconds.bind(_t)
, Et = wt.nowSeconds.bind(wt);
function St(t, n=[]) {
return [t, n]
}
function $t(t, n) {
const [e,r] = t;
return [e, [...r, n]]
}
function kt(t, n) {
t[1].forEach((t=>{
var e = t[0].type;
n(t, e)
}
))
}
function Ot(t, n) {
return (n || new TextEncoder).encode(t)
}
function jt(t, n) {
const [e,r] = t;
let i = JSON.stringify(e);
function s(t) {
"string" == typeof i ? i = "string" == typeof t ? i + t : [Ot(i, n), t] : i.push("string" == typeof t ? Ot(t, n) : t)
}
for (var o of r) {
const [t,n] = o;
s(`\n${JSON.stringify(t)}\n`),
s("string" == typeof n || n instanceof Uint8Array ? n : JSON.stringify(n))
}
return "string" == typeof i ? i : function(t) {
var n = t.reduce(((t,n)=>t + n.length), 0)
, e = new Uint8Array(n);
let r = 0;
for (var i of t)
e.set(i, r),
r += i.length;
return e
}(i)
}
function Tt(t, n) {
var e = "string" == typeof t.data ? Ot(t.data, n) : t.data;
return [A({
type: "attachment",
length: e.length,
filename: t.filename,
content_type: t.contentType,
attachment_type: t.attachmentType
}), e]
}
(()=>{
const {performance: t} = e();
if (t && t.now) {
var n = 36e5
, r = t.now()
, i = Date.now()
, s = t.timeOrigin ? Math.abs(t.timeOrigin + r - i) : n
, o = s < n
, u = t.timing && t.timing.navigationStart
, a = "number" == typeof u ? Math.abs(u + r - i) : n;
(o || a < n) && (s <= a && t.timeOrigin)
}
}
)();
var Dt = {
session: "session",
sessions: "session",
attachment: "attachment",
transaction: "transaction",
event: "error",
client_report: "internal",
user_report: "default"
};
function Rt(t) {
return Dt[t]
}
function It(t, {statusCode: n, headers: e}, r=Date.now()) {
var i = {
...t
}
, s = e && e["x-sentry-rate-limits"]
, o = e && e["retry-after"];
if (s)
for (var u of s.trim().split(",")) {
const [t,n] = u.split(":", 2);
var a = parseInt(t, 10)
, c = 1e3 * (isNaN(a) ? 60 : a);
if (n)
for (var f of n.split(";"))
i[f] = r + c;
else
i.all = r + c
}
else
o ? i.all = r + function(t, n=Date.now()) {
var e = parseInt(`${t}`, 10);
if (!isNaN(e))
return 1e3 * e;
var r = Date.parse(`${t}`);
return isNaN(r) ? 6e4 : r - n
}(o, r) : 429 === n && (i.all = r + 6e4);
return i
}
function Mt(t) {
var n = Et()
, e = {
sid: et(),
init: !0,
timestamp: n,
started: n,
duration: 0,
status: "ok",
errors: 0,
ignoreDuration: !1,
toJSON: ()=>function(t) {
return A({
sid: `${t.sid}`,
init: t.init,
started: new Date(1e3 * t.started).toISOString(),
timestamp: new Date(1e3 * t.timestamp).toISOString(),
status: t.status,
errors: t.errors,
did: "number" == typeof t.did || "string" == typeof t.did ? `${t.did}` : void 0,
duration: t.duration,
attrs: {
release: t.release,
environment: t.environment,
ip_address: t.ipAddress,
user_agent: t.userAgent
}
})
}(e)
};
return t && Ct(e, t),
e
}
function Ct(t, n={}) {
if (n.user && (!t.ipAddress && n.user.ip_address && (t.ipAddress = n.user.ip_address),
t.did || n.did || (t.did = n.user.id || n.user.email || n.user.username)),
t.timestamp = n.timestamp || Et(),
n.ignoreDuration && (t.ignoreDuration = n.ignoreDuration),
n.sid && (t.sid = 32 === n.sid.length ? n.sid : et()),
void 0 !== n.init && (t.init = n.init),
!t.did && n.did && (t.did = `${n.did}`),
"number" == typeof n.started && (t.started = n.started),
t.ignoreDuration)
t.duration = void 0;
else if ("number" == typeof n.duration)
t.duration = n.duration;
else {
var e = t.timestamp - t.started;
t.duration = e >= 0 ? e : 0
}
n.release && (t.release = n.release),
n.environment && (t.environment = n.environment),
!t.ipAddress && n.ipAddress && (t.ipAddress = n.ipAddress),
!t.userAgent && n.userAgent && (t.userAgent = n.userAgent),
"number" == typeof n.errors && (t.errors = n.errors),
n.status && (t.status = n.status)
}
class At {
constructor() {
At.prototype.__init.call(this),
At.prototype.__init2.call(this),
At.prototype.__init3.call(this),
At.prototype.__init4.call(this),
At.prototype.__init5.call(this),
At.prototype.__init6.call(this),
At.prototype.__init7.call(this),
At.prototype.__init8.call(this),
At.prototype.__init9.call(this),
At.prototype.__init10.call(this)
}
__init() {
this.m = !1
}
__init2() {
this.g = []
}
__init3() {
this._ = []
}
__init4() {
this.S = []
}
__init5() {
this.k = {}
}
__init6() {
this.O = {}
}
__init7() {
this.j = {}
}
__init8() {
this.T = {}
}
__init9() {
this.D = []
}
__init10() {
this.R = {}
}
static clone(t) {
var n = new At;
return t && (n.S = [...t.S],
n.O = {
...t.O
},
n.j = {
...t.j
},
n.T = {
...t.T
},
n.k = t.k,
n.I = t.I,
n.M = t.M,
n.C = t.C,
n.A = t.A,
n.N = t.N,
n._ = [...t._],
n.L = t.L,
n.D = [...t.D]),
n
}
addScopeListener(t) {
this.g.push(t)
}
addEventProcessor(t) {
return this._.push(t),
this
}
setUser(t) {
return this.k = t || {},
this.C && Ct(this.C, {
user: t
}),
this.U(),
this
}
getUser() {
return this.k
}
getRequestSession() {
return this.L
}
setRequestSession(t) {
return this.L = t,
this
}
setTags(t) {
return this.O = {
...this.O,
...t
},
this.U(),
this
}
setTag(t, n) {
return this.O = {
...this.O,
[t]: n
},
this.U(),
this
}
setExtras(t) {
return this.j = {
...this.j,
...t
},
this.U(),
this
}
setExtra(t, n) {
return this.j = {
...this.j,
[t]: n
},
this.U(),
this
}
setFingerprint(t) {
return this.N = t,
this.U(),
this
}
setLevel(t) {
return this.I = t,
this.U(),
this
}
setTransactionName(t) {
return this.A = t,
this.U(),
this
}
setContext(t, n) {
return null === n ? delete this.T[t] : this.T = {
...this.T,
[t]: n
},
this.U(),
this
}
setSpan(t) {
return this.M = t,
this.U(),
this
}
getSpan() {
return this.M
}
getTransaction() {
var t = this.getSpan();
return t && t.transaction
}
setSession(t) {
return t ? this.C = t : delete this.C,
this.U(),
this
}
getSession() {
return this.C
}
update(t) {
if (!t)
return this;
if ("function" == typeof t) {
var n = t(this);
return n instanceof At ? n : this
}
return t instanceof At ? (this.O = {
...this.O,
...t.O
},
this.j = {
...this.j,
...t.j
},
this.T = {
...this.T,
...t.T
},
t.k && Object.keys(t.k).length && (this.k = t.k),
t.I && (this.I = t.I),
t.N && (this.N = t.N),
t.L && (this.L = t.L)) : h(t) && (t = t,
this.O = {
...this.O,
...t.tags
},
this.j = {
...this.j,
...t.extra
},
this.T = {
...this.T,
...t.contexts
},
t.user && (this.k = t.user),
t.level && (this.I = t.level),
t.fingerprint && (this.N = t.fingerprint),
t.requestSession && (this.L = t.requestSession)),
this
}
clear() {
return this.S = [],
this.O = {},
this.j = {},
this.k = {},
this.T = {},
this.I = void 0,
this.A = void 0,
this.N = void 0,
this.L = void 0,
this.M = void 0,
this.C = void 0,
this.U(),
this.D = [],
this
}
addBreadcrumb(t, n) {
var e = "number" == typeof n ? Math.min(n, 100) : 100;
if (e <= 0)
return this;
var r = {
timestamp: xt(),
...t
};
return this.S = [...this.S, r].slice(-e),
this.U(),
this
}
clearBreadcrumbs() {
return this.S = [],
this.U(),
this
}
addAttachment(t) {
return this.D.push(t),
this
}
getAttachments() {
return this.D
}
clearAttachments() {
return this.D = [],
this
}
applyToEvent(t, n={}) {
if (this.j && Object.keys(this.j).length && (t.extra = {
...this.j,
...t.extra
}),
this.O && Object.keys(this.O).length && (t.tags = {
...this.O,
...t.tags
}),
this.k && Object.keys(this.k).length && (t.user = {
...this.k,
...t.user
}),
this.T && Object.keys(this.T).length && (t.contexts = {
...this.T,
...t.contexts
}),
this.I && (t.level = this.I),
this.A && (t.transaction = this.A),
this.M) {
t.contexts = {
trace: this.M.getTraceContext(),
...t.contexts
};
var e = this.M.transaction && this.M.transaction.name;
e && (t.tags = {
transaction: e,
...t.tags
})
}
return this.q(t),
t.breadcrumbs = [...t.breadcrumbs || [], ...this.S],
t.breadcrumbs = t.breadcrumbs.length > 0 ? t.breadcrumbs : void 0,
t.sdkProcessingMetadata = this.R,
this.P([...Nt(), ...this._], t, n)
}
setSDKProcessingMetadata(t) {
return this.R = {
...this.R,
...t
},
this
}
P(t, n, e, r=0) {
return new pt(((i,s)=>{
var o = t[r];
if (null === n || "function" != typeof o)
i(n);
else {
var u = o({
...n
}, e);
v(u) ? u.then((n=>this.P(t, n, e, r + 1).then(i))).then(null, s) : this.P(t, u, e, r + 1).then(i).then(null, s)
}
}
))
}
U() {
this.m || (this.m = !0,
this.g.forEach((t=>{
t(this)
}
)),
this.m = !1)
}
q(t) {
t.fingerprint = t.fingerprint ? Array.isArray(t.fingerprint) ? t.fingerprint : [t.fingerprint] : [],
this.N && (t.fingerprint = t.fingerprint.concat(this.N)),
t.fingerprint && !t.fingerprint.length && delete t.fingerprint
}
}
function Nt() {
return r("globalEventProcessors", (()=>[]))
}
function Lt(t) {
Nt().push(t)
}
var Ut = 100;
class qt {
__init() {
this.H = [{}]
}
constructor(t, n=new At, e=4) {
this.F = e,
qt.prototype.__init.call(this),
this.getStackTop().scope = n,
t && this.bindClient(t)
}
isOlderThan(t) {
return this.F < t
}
bindClient(t) {
this.getStackTop().client = t,
t && t.setupIntegrations && t.setupIntegrations()
}
pushScope() {
var t = At.clone(this.getScope());
return this.getStack().push({
client: this.getClient(),
scope: t
}),
t
}
popScope() {
return !(this.getStack().length <= 1) && !!this.getStack().pop()
}
withScope(t) {
var n = this.pushScope();
try {
t(n)
} finally {
this.popScope()
}
}
getClient() {
return this.getStackTop().client
}
getScope() {
return this.getStackTop().scope
}
getStack() {
return this.H
}
getStackTop() {
return this.H[this.H.length - 1]
}
captureException(t, n) {
var e = this.B = n && n.event_id ? n.event_id : et()
, r = new Error("Sentry syntheticException");
return this.X(((i,s)=>{
i.captureException(t, {
originalException: t,
syntheticException: r,
...n,
event_id: e
}, s)
}
)),
e
}
captureMessage(t, n, e) {
var r = this.B = e && e.event_id ? e.event_id : et()
, i = new Error(t);
return this.X(((s,o)=>{
s.captureMessage(t, n, {
originalException: t,
syntheticException: i,
...e,
event_id: r
}, o)
}
)),
r
}
captureEvent(t, n) {
var e = n && n.event_id ? n.event_id : et();
return "transaction" !== t.type && (this.B = e),
this.X(((r,i)=>{
r.captureEvent(t, {
...n,
event_id: e
}, i)
}
)),
e
}
lastEventId() {
return this.B
}
addBreadcrumb(t, n) {
const {scope: r, client: i} = this.getStackTop();
if (!r || !i)
return;
const {beforeBreadcrumb: s=null, maxBreadcrumbs: o=Ut} = i.getOptions && i.getOptions() || {};
if (!(o <= 0)) {
var u = {
timestamp: xt(),
...t
}
, a = s ? function(t) {
var n = e();
if (!("console"in n))
return t();
var r = n.console
, i = {};
E.forEach((t=>{
var e = r[t] && r[t].__sentry_original__;
t in n.console && e && (i[t] = r[t],
r[t] = e)
}
));
try {
return t()
} finally {
Object.keys(i).forEach((t=>{
r[t] = i[t]
}
))
}
}((()=>s(u, n))) : u;
null !== a && r.addBreadcrumb(a, o)
}
}
setUser(t) {
var n = this.getScope();
n && n.setUser(t)
}
setTags(t) {
var n = this.getScope();
n && n.setTags(t)
}
setExtras(t) {
var n = this.getScope();
n && n.setExtras(t)
}
setTag(t, n) {
var e = this.getScope();
e && e.setTag(t, n)
}
setExtra(t, n) {
var e = this.getScope();
e && e.setExtra(t, n)
}
setContext(t, n) {
var e = this.getScope();
e && e.setContext(t, n)
}
configureScope(t) {
const {scope: n, client: e} = this.getStackTop();
n && e && t(n)
}
run(t) {
var n = Ht(this);
try {
t(this)
} finally {
Ht(n)
}
}
getIntegration(t) {
var n = this.getClient();
if (!n)
return null;
try {
return n.getIntegration(t)
} catch (t) {
return null
}
}
startTransaction(t, n) {
return this.W("startTransaction", t, n)
}
traceHeaders() {
return this.W("traceHeaders")
}
captureSession(t=!1) {
if (t)
return this.endSession();
this.J()
}
endSession() {
var t = this.getStackTop()
, n = t && t.scope
, e = n && n.getSession();
e && function(t, n) {
let e = {};
n ? e = {
status: n
} : "ok" === t.status && (e = {
status: "exited"
}),
Ct(t, e)
}(e),
this.J(),
n && n.setSession()
}
startSession(t) {
const {scope: n, client: r} = this.getStackTop()
, {release: i, environment: s} = r && r.getOptions() || {};
var o = e();
const {userAgent: u} = o.navigator || {};
var a = Mt({
release: i,
environment: s,
...n && {
user: n.getUser()
},
...u && {
userAgent: u
},
...t
});
if (n) {
var c = n.getSession && n.getSession();
c && "ok" === c.status && Ct(c, {
status: "exited"
}),
this.endSession(),
n.setSession(a)
}
return a
}
J() {
const {scope: t, client: n} = this.getStackTop();
if (t) {
var e = t.getSession();
e && n && n.captureSession && n.captureSession(e)
}
}
X(t) {
const {scope: n, client: e} = this.getStackTop();
e && t(e, n)
}
W(t, ...n) {
var e = Pt().__SENTRY__;
if (e && e.extensions && "function" == typeof e.extensions[t])
return e.extensions[t].apply(this, n)
}
}
function Pt() {
var t = e();
return t.__SENTRY__ = t.__SENTRY__ || {
extensions: {},
hub: void 0
},
t
}
function Ht(t) {
var n = Pt()
, e = Bt(n);
return Xt(n, t),
e
}
function Ft() {
var t, n = Pt();
return (t = n) && t.__SENTRY__ && t.__SENTRY__.hub && !Bt(n).isOlderThan(4) || Xt(n, new qt),
Bt(n)
}
function Bt(t) {
return r("hub", (()=>new qt), t)
}
function Xt(t, n) {
return !!t && ((t.__SENTRY__ = t.__SENTRY__ || {}).hub = n,
!0)
}
function captureException(t, n) {
return Ft().captureException(t, {
captureContext: n
})
}
function zt(t) {
Ft().withScope(t)
}
function Wt(t) {
var n = t.protocol ? `${t.protocol}:` : ""
, e = t.port ? `:${t.port}` : "";
return `${n}//${t.host}${e}${t.path ? `/${t.path}` : ""}/api/`
}
function Jt(t) {
return n = {
sentry_key: t.publicKey,
sentry_version: "7"
},
Object.keys(n).map((t=>`${encodeURIComponent(t)}=${encodeURIComponent(n[t])}`)).join("&");
var n
}
function Kt(t, n) {
return n || `${function(t) {
return `${Wt(t)}${t.projectId}/envelope/`
}(t)}?${Jt(t)}`
}
function Gt(t) {
if (!t || !t.sdk)
return;
const {name: n, version: e} = t.sdk;
return {
name: n,
version: e
}
}
function Vt(t, n, e, r) {
var i = Gt(e)
, s = t.type || "event";
const {transactionSampling: o} = t.sdkProcessingMetadata || {}
, {method: u, rate: a} = o || {};
!function(t, n) {
n && (t.sdk = t.sdk || {},
t.sdk.name = t.sdk.name || n.name,
t.sdk.version = t.sdk.version || n.version,
t.sdk.integrations = [...t.sdk.integrations || [], ...n.integrations || []],
t.sdk.packages = [...t.sdk.packages || [], ...n.packages || []])
}(t, e && e.sdk),
delete t.sdkProcessingMetadata;
var c = function(t, n, e, r) {
var i = t.contexts && t.contexts.baggage;
const {environment: s, release: o, transaction: u, userid: a, usersegment: c} = i || {};
return {
event_id: t.event_id,
sent_at: (new Date).toISOString(),
...n && {
sdk: n
},
...!!e && {
dsn: _(r)
},
..."transaction" === t.type && t.contexts && t.contexts.trace && {
trace: A({
trace_id: t.contexts.trace.trace_id,
public_key: r.publicKey,
environment: s,
release: o,
transaction: u,
...(a || c) && {
user: {
id: a,
segment: c
}
}
})
}
}
}(t, i, r, n);
return St(c, [[{
type: s,
sample_rates: [{
id: u,
rate: a
}]
}, t]])
}
var Qt = [];
function Yt(t) {
return t.reduce(((t,n)=>(t.every((t=>n.name !== t.name)) && t.push(n),
t)), [])
}
function Zt(t) {
var n = t.defaultIntegrations && [...t.defaultIntegrations] || []
, e = t.integrations;
let r = [...Yt(n)];
Array.isArray(e) ? r = [...r.filter((t=>e.every((n=>n.name !== t.name)))), ...Yt(e)] : "function" == typeof e && (r = e(r),
r = Array.isArray(r) ? r : [r]);
var i = r.map((t=>t.name))
, s = "Debug";
return -1 !== i.indexOf(s) && r.push(...r.splice(i.indexOf(s), 1)),
r
}
class tn {
__init() {
this.K = {}
}
__init2() {
this.G = !1
}
__init3() {
this.V = 0
}
__init4() {
this.Y = {}
}
constructor(t) {
if (tn.prototype.__init.call(this),
tn.prototype.__init2.call(this),
tn.prototype.__init3.call(this),
tn.prototype.__init4.call(this),
this.Z = t,
t.dsn) {
this.tt = w(t.dsn);
var n = Kt(this.tt, t.tunnel);
this.nt = t.transport({
recordDroppedEvent: this.recordDroppedEvent.bind(this),
...t.transportOptions,
url: n
})
}
}
captureException(t, n, e) {
if (at(t))
return;
let r = n && n.event_id;
return this.et(this.eventFromException(t, n).then((t=>this.rt(t, n, e))).then((t=>{
r = t
}
))),
r
}
captureMessage(t, n, e, r) {
let i = e && e.event_id;
var s = f(t) ? this.eventFromMessage(String(t), n, e) : this.eventFromException(t, e);
return this.et(s.then((t=>this.rt(t, e, r))).then((t=>{
i = t
}
))),
i
}
captureEvent(t, n, e) {
if (n && n.originalException && at(n.originalException))
return;
let r = n && n.event_id;
return this.et(this.rt(t, n, e).then((t=>{
r = t
}
))),
r
}
captureSession(t) {
this.it() && ("string" != typeof t.release || (this.sendSession(t),
Ct(t, {
init: !1
})))
}
getDsn() {
return this.tt
}
getOptions() {
return this.Z
}
getTransport() {
return this.nt
}
flush(t) {
var n = this.nt;
return n ? this.st(t).then((e=>n.flush(t).then((t=>e && t)))) : vt(!0)
}
close(t) {
return this.flush(t).then((t=>(this.getOptions().enabled = !1,
t)))
}
setupIntegrations() {
var t, n;
this.it() && !this.G && (this.K = (t = this.Z.integrations,
n = {},
t.forEach((t=>{
n[t.name] = t,
-1 === Qt.indexOf(t.name) && (t.setupOnce(Lt, Ft),
Qt.push(t.name))
}
)),
n),
this.G = !0)
}
getIntegrationById(t) {
return this.K[t]
}
getIntegration(t) {
try {
return this.K[t.id] || null
} catch (t) {
return null
}
}
sendEvent(t, n={}) {
if (this.tt) {
let r = Vt(t, this.tt, this.Z.ot, this.Z.tunnel);
for (var e of n.attachments || [])
r = $t(r, Tt(e, mt([this, "access", t=>t.Z, "access", t=>t.transportOptions, "optionalAccess", t=>t.textEncoder])));
this.ut(r)
}
}
sendSession(t) {
if (this.tt) {
var n = function(t, n, e, r) {
var i = Gt(e);
return St({
sent_at: (new Date).toISOString(),
...i && {
sdk: i
},
...!!r && {
dsn: _(n)
}
}, ["aggregates"in t ? [{
type: "sessions"
}, t] : [{
type: "session"
}, t]])
}(t, this.tt, this.Z.ot, this.Z.tunnel);
this.ut(n)
}
}
recordDroppedEvent(t, n) {
if (this.Z.sendClientReports) {
var e = `${t}:${n}`;
this.Y[e] = this.Y[e] + 1 || 1
}
}
at(t, n) {
let e = !1
, r = !1;
var i = n.exception && n.exception.values;
if (i)
for (var s of (r = !0,
i)) {
var o = s.mechanism;
if (o && !1 === o.handled) {
e = !0;
break
}
}
var u = "ok" === t.status;
(u && 0 === t.errors || u && e) && (Ct(t, {
...e && {
status: "crashed"
},
errors: t.errors || Number(r || e)
}),
this.captureSession(t))
}
st(t) {
return new pt((n=>{
let e = 0;
var r = setInterval((()=>{
0 == this.V ? (clearInterval(r),
n(!0)) : (e += 1,
t && e >= t && (clearInterval(r),
n(!1)))
}
), 1)
}
))
}
it() {
return !1 !== this.getOptions().enabled && void 0 !== this.tt
}
ct(t, n, e) {
const {normalizeDepth: r=3, normalizeMaxBreadth: i=1e3} = this.getOptions();
var s = {
...t,
event_id: t.event_id || n.event_id || et(),
timestamp: t.timestamp || xt()
};
this.ft(s),
this.ht(s);
let o = e;
n.captureContext && (o = At.clone(o).update(n.captureContext));
let u = vt(s);
if (o) {
var a = [...n.attachments || [], ...o.getAttachments()];
a.length && (n.attachments = a),
u = o.applyToEvent(s, n)
}
return u.then((t=>"number" == typeof r && r > 0 ? this.lt(t, r, i) : t))
}
lt(t, n, e) {
if (!t)
return null;
var r = {
...t,
...t.breadcrumbs && {
breadcrumbs: t.breadcrumbs.map((t=>({
...t,
...t.data && {
data: ct(t.data, n, e)
}
})))
},
...t.user && {
user: ct(t.user, n, e)
},
...t.contexts && {
contexts: ct(t.contexts, n, e)
},
...t.extra && {
extra: ct(t.extra, n, e)
}
};
return t.contexts && t.contexts.trace && r.contexts && (r.contexts.trace = t.contexts.trace,
t.contexts.trace.data && (r.contexts.trace.data = ct(t.contexts.trace.data, n, e))),
t.spans && (r.spans = t.spans.map((t=>(t.data && (t.data = ct(t.data, n, e)),
t)))),
r
}
ft(t) {
var n = this.getOptions();
const {environment: e, release: r, dist: i, maxValueLength: s=250} = n;
"environment"in t || (t.environment = "environment"in n ? e : "production"),
void 0 === t.release && void 0 !== r && (t.release = r),
void 0 === t.dist && void 0 !== i && (t.dist = i),
t.message && (t.message = S(t.message, s));
var o = t.exception && t.exception.values && t.exception.values[0];
o && o.value && (o.value = S(o.value, s));
var u = t.request;
u && u.url && (u.url = S(u.url, s))
}
ht(t) {
var n = Object.keys(this.K);
n.length > 0 && (t.sdk = t.sdk || {},
t.sdk.integrations = [...t.sdk.integrations || [], ...n])
}
rt(t, n={}, e) {
return this.vt(t, n, e).then((t=>t.event_id), (t=>{}
))
}
vt(t, n, e) {
const {beforeSend: r, sampleRate: i} = this.getOptions();
if (!this.it())
return dt(new m("SDK not enabled, will not capture event."));
var s = "transaction" === t.type;
return !s && "number" == typeof i && Math.random() > i ? (this.recordDroppedEvent("sample_rate", "error"),
dt(new m(`Discarding event because it's not included in the random sample (sampling rate = ${i})`))) : this.ct(t, n, e).then((e=>{
if (null === e)
throw this.recordDroppedEvent("event_processor", t.type || "error"),
new m("An event processor returned null, will not send event.");
return n.data && !0 === n.data.__sentry__ || s || !r ? e : function(t) {
var n = "`beforeSend` method has to return `null` or a valid event.";
if (v(t))
return t.then((t=>{
if (!h(t) && null !== t)
throw new m(n);
return t
}
), (t=>{
throw new m(`beforeSend rejected with ${t}`)
}
));
if (!h(t) && null !== t)
throw new m(n);
return t
}(r(e, n))
}
)).then((r=>{
if (null === r)
throw this.recordDroppedEvent("before_send", t.type || "error"),
new m("`beforeSend` returned `null`, will not send event.");
var i = e && e.getSession();
return !s && i && this.at(i, r),
this.sendEvent(r, n),
r
}
)).then(null, (t=>{
if (t instanceof m)
throw t;
throw this.captureException(t, {
data: {
__sentry__: !0
},
originalException: t
}),
new m(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${t}`)
}
))
}
et(t) {
this.V += 1,
t.then((t=>(this.V -= 1,
t)), (t=>(this.V -= 1,
t)))
}
ut(t) {
this.nt && this.tt && this.nt.send(t).then(null, (t=>{}
))
}
dt() {
var t = this.Y;
return this.Y = {},
Object.keys(t).map((n=>{
const [e,r] = n.split(":");
return {
reason: e,
category: r,
quantity: t[n]
}
}
))
}
}
function nn(t, n, e=yt(t.bufferSize || 30)) {
let r = {};
return {
send: function(i) {
var s = [];
if (kt(i, ((n,e)=>{
var i = Rt(e);
!function(t, n, e=Date.now()) {
return function(t, n) {
return t[n] || t.all || 0
}(t, n) > e
}(r, i) ? s.push(n) : t.recordDroppedEvent("ratelimit_backoff", i)
}
)),
0 === s.length)
return vt();
var o = St(i[0], s)
, u = n=>{
kt(o, ((e,r)=>{
t.recordDroppedEvent(n, Rt(r))
}
))
}
;
return e.add((()=>n({
body: jt(o, t.textEncoder)
}).then((t=>{
r = It(r, t)
}
), (t=>{
u("network_error")
}
)))).then((t=>t), (t=>{
if (t instanceof m)
return u("queue_overflow"),
vt();
throw t
}
))
},
flush: t=>e.drain(t)
}
}
var en = "7.2.0";
let rn;
class sn {
constructor() {
sn.prototype.__init.call(this)
}
static __initStatic() {
this.id = "FunctionToString"
}
__init() {
this.name = sn.id
}
setupOnce() {
rn = Function.prototype.toString,
Function.prototype.toString = function(...t) {
var n = D(this) || this;
return rn.apply(n, t)
}
}
}
sn.__initStatic();
var on = [/^Script error\.?$/, /^Javascript error: Script error\.? on line 0$/];
class un {
static __initStatic() {
this.id = "InboundFilters"
}
__init() {
this.name = un.id
}
constructor(t={}) {
this.Z = t,
un.prototype.__init.call(this)
}
setupOnce(t, n) {
var e = t=>{
var e = n();
if (e) {
var r = e.getIntegration(un);
if (r) {
var i = e.getClient()
, s = i ? i.getOptions() : {}
, o = function(t={}, n={}) {
return {
allowUrls: [...t.allowUrls || [], ...n.allowUrls || []],
denyUrls: [...t.denyUrls || [], ...n.denyUrls || []],
ignoreErrors: [...t.ignoreErrors || [], ...n.ignoreErrors || [], ...on],
ignoreInternal: void 0 === t.ignoreInternal || t.ignoreInternal
}
}(r.Z, s);
return function(t, n) {
if (n.ignoreInternal && function(t) {
try {
return "SentryError" === t.exception.values[0].type
} catch (t) {}
return !1
}(t))
return !0;
if (function(t, n) {
if (!n || !n.length)
return !1;
return function(t) {
if (t.message)
return [t.message];
if (t.exception)
try {
const {type: n="", value: e=""} = t.exception.values && t.exception.values[0] || {};
return [`${e}`, `${n}: ${e}`]
} catch (t) {
return []
}
return []
}(t).some((t=>n.some((n=>k(t, n)))))
}(t, n.ignoreErrors))
return !0;
if (function(t, n) {
if (!n || !n.length)
return !1;
var e = an(t);
return !!e && n.some((t=>k(e, t)))
}(t, n.denyUrls))
return !0;
if (!function(t, n) {
if (!n || !n.length)
return !0;
var e = an(t);
return !e || n.some((t=>k(e, t)))
}(t, n.allowUrls))
return !0;
return !1
}(t, o) ? null : t
}
}
return t
}
;
e.id = this.name,
t(e)
}
}
function an(t) {
try {
let n;
try {
n = t.exception.values[0].stacktrace.frames
} catch (t) {}
return n ? function(t=[]) {
for (let e = t.length - 1; e >= 0; e--) {
var n = t[e];
if (n && "" !== n.filename && "[native code]" !== n.filename)
return n.filename || null
}
return null
}(n) : null
} catch (t) {
return null
}
}
un.__initStatic();
var cn = Object.freeze({
__proto__: null,
FunctionToString: sn,
InboundFilters: un
});
function fn(t, n) {
const e = ln(t, n)
, r = {
type: n && n.name,
value: dn(n)
};
return e.length && (r.stacktrace = {
frames: e
}),
void 0 === r.type && "" === r.value && (r.value = "Unrecoverable error caught"),
r
}
function hn(t, n) {
return {
exception: {
values: [fn(t, n)]
}
}
}
function ln(t, n) {
const e = n.stacktrace || n.stack || ""
, r = function(t) {
if (t) {
if ("number" == typeof t.framesToPop)
return t.framesToPop;
if (vn.test(t.message))
return 1
}
return 0
}(n);
try {
return t(e, r)
} catch (t) {}
return []
}
const vn = /Minified React error #\d+;/i;
function dn(t) {
const n = t && t.message;
return n ? n.error && "string" == typeof n.error.message ? n.error.message : n : "No error message"
}
function pn(t, n, e, r, i) {
let c;
if (u(n) && n.error) {
return hn(t, n.error)
}
if (a(n) || o(n, "DOMException")) {
const i = n;
if ("stack"in n)
c = hn(t, n);
else {
const n = i.name || (a(i) ? "DOMError" : "DOMException")
, s = i.message ? `${n}: ${i.message}` : n;
c = yn(t, s, e, r),
ot(c, s)
}
return "code"in i && (c.tags = {
...c.tags,
"DOMException.code": `${i.code}`
}),
c
}
if (s(n))
return hn(t, n);
if (h(n) || l(n)) {
return c = function(t, n, e, r) {
const i = {
exception: {
values: [{
type: l(n) ? n.constructor.name : r ? "UnhandledRejection" : "Error",
value: `Non-Error ${r ? "promise rejection" : "exception"} captured with keys: ${C(n)}`
}]
},
extra: {
__serialized__: ft(n)
}
};
if (e) {
const n = ln(t, e);
n.length && (i.exception.values[0].stacktrace = {
frames: n
})
}
return i
}(t, n, e, i),
ut(c, {
synthetic: !0
}),
c
}
return c = yn(t, n, e, r),
ot(c, `${n}`, void 0),
ut(c, {
synthetic: !0
}),
c
}
function yn(t, n, e, r) {
const i = {
message: n
};
if (r && e) {
const r = ln(t, e);
r.length && (i.exception = {
values: [{
value: n,
stacktrace: {
frames: r
}
}]
})
}
return i
}
const mn = "Breadcrumbs";
class gn {
static __initStatic() {
this.id = mn
}
__init() {
this.name = gn.id
}
constructor(t) {
gn.prototype.__init.call(this),
this.options = {
console: !0,
dom: !0,
fetch: !0,
history: !0,
sentry: !0,
xhr: !0,
...t
}
}
setupOnce() {
this.options.console && W("console", _n),
this.options.dom && W("dom", function(t) {
function n(n) {
let e, r = "object" == typeof t ? t.serializeAttribute : void 0;
"string" == typeof r && (r = [r]);
try {
e = n.event.target ? p(n.event.target, r) : p(n.event, r)
} catch (t) {
e = ""
}
0 !== e.length && Ft().addBreadcrumb({
category: `ui.${n.name}`,
message: e
}, {
event: n.event,
name: n.name,
global: n.global
})
}
return n
}(this.options.dom)),
this.options.xhr && W("xhr", bn),
this.options.fetch && W("fetch", wn),
this.options.history && W("history", xn)
}
}
function _n(t) {
const n = {
category: "console",
data: {
arguments: t.args,
logger: "console"
},
level: (e = t.level,
"warn" === e ? "warning" : gt.includes(e) ? e : "log"),
message: $(t.args, " ")
};
var e;
if ("assert" === t.level) {
if (!1 !== t.args[0])
return;
n.message = `Assertion failed: ${$(t.args.slice(1), " ") || "console.assert"}`,
n.data.arguments = t.args.slice(1)
}
Ft().addBreadcrumb(n, {
input: t.args,
level: t.level
})
}
function bn(t) {
if (t.endTimestamp) {
if (t.xhr.__sentry_own_request__)
return;
const {method: n, url: e, status_code: r, body: i} = t.xhr.__sentry_xhr__ || {};
Ft().addBreadcrumb({
category: "xhr",
data: {
method: n,
url: e,
status_code: r
},
type: "http"
}, {
xhr: t.xhr,
input: i
})
} else
;
}
function wn(t) {
t.endTimestamp && (t.fetchData.url.match(/sentry_key/) && "POST" === t.fetchData.method || (t.error ? Ft().addBreadcrumb({
category: "fetch",
data: t.fetchData,
level: "error",
type: "http"
}, {
data: t.error,
input: t.args
}) : Ft().addBreadcrumb({
category: "fetch",
data: {
...t.fetchData,
status_code: t.response.status
},
type: "http"
}, {
input: t.args,
response: t.response
})))
}
function xn(t) {
const n = e();
let r = t.from
, i = t.to;
const s = rt(n.location.href);
let o = rt(r);
const u = rt(i);
o.path || (o = s),
s.protocol === u.protocol && s.host === u.host && (i = u.relative),
s.protocol === o.protocol && s.host === o.host && (r = o.relative),
Ft().addBreadcrumb({
category: "navigation",
data: {
from: r,
to: i
}
})
}
gn.__initStatic();
const En = e();
let Sn;
function $n() {
if (Sn)
return Sn;
if (H(En.fetch))
return Sn = En.fetch.bind(En);
const t = En.document;
let n = En.fetch;
if (t && "function" == typeof t.createElement)
try {
const e = t.createElement("iframe");
e.hidden = !0,
t.head.appendChild(e);
const r = e.contentWindow;
r && r.fetch && (n = r.fetch),
t.head.removeChild(e)
} catch (t) {}
return Sn = n.bind(En)
}
const kn = e();
class On extends tn {
constructor(t) {
t.ot = t.ot || {},
t.ot.sdk = t.ot.sdk || {
name: "sentry.javascript.browser",
packages: [{
name: "npm:@sentry/browser",
version: en
}],
version: en
},
super(t),
t.sendClientReports && kn.document && kn.document.addEventListener("visibilitychange", (()=>{
"hidden" === kn.document.visibilityState && this.yt()
}
))
}
eventFromException(t, n) {
return function(t, n, e, r) {
const i = pn(t, n, e && e.syntheticException || void 0, r);
return ut(i),
i.level = "error",
e && e.event_id && (i.event_id = e.event_id),
vt(i)
}(this.Z.stackParser, t, n, this.Z.attachStacktrace)
}
eventFromMessage(t, n="info", e) {
return function(t, n, e="info", r, i) {
const s = yn(t, n, r && r.syntheticException || void 0, i);
return s.level = e,
r && r.event_id && (s.event_id = r.event_id),
vt(s)
}(this.Z.stackParser, t, n, e, this.Z.attachStacktrace)
}
sendEvent(t, n) {
const e = this.getIntegrationById(mn);
e && e.options && e.options.sentry && Ft().addBreadcrumb({
category: "sentry." + ("transaction" === t.type ? "transaction" : "event"),
event_id: t.event_id,
level: t.level,
message: st(t)
}, {
event: t
}),
super.sendEvent(t, n)
}
ct(t, n, e) {
return t.platform = t.platform || "javascript",
super.ct(t, n, e)
}
yt() {
const t = this.dt();
if (0 === t.length)
return;
if (!this.tt)
return;
const n = Kt(this.tt, this.Z.tunnel)
, e = (r = t,
St((i = this.Z.tunnel && _(this.tt)) ? {
dsn: i
} : {}, [[{
type: "client_report"
}, {
timestamp: s || xt(),
discarded_events: r
}]]));
var r, i, s;
try {
!function(t, n) {
"[object Navigator]" === Object.prototype.toString.call(En && En.navigator) && "function" == typeof En.navigator.sendBeacon ? En.navigator.sendBeacon.bind(En.navigator)(t, n) : P() && $n()(t, {
body: n,
method: "POST",
credentials: "omit",
keepalive: !0
}).then(null, (t=>{}
))
}(n, jt(e))
} catch (t) {}
}
}
function jn(t, n=$n()) {
return nn(t, (function(e) {
const r = {
body: e.body,
method: "POST",
referrerPolicy: "origin",
headers: t.headers,
...t.fetchOptions
};
return n(t.url, r).then((t=>({
statusCode: t.status,
headers: {
"x-sentry-rate-limits": t.headers.get("X-Sentry-Rate-Limits"),
"retry-after": t.headers.get("Retry-After")
}
})))
}
))
}
function Tn(t) {
return nn(t, (function(n) {
return new pt(((e,r)=>{
const i = new XMLHttpRequest;
i.onerror = r,
i.onreadystatechange = ()=>{
4 === i.readyState && e({
statusCode: i.status,
headers: {
"x-sentry-rate-limits": i.getResponseHeader("X-Sentry-Rate-Limits"),
"retry-after": i.getResponseHeader("Retry-After")
}
})
}
,
i.open("POST", t.url);
for (const n in t.headers)
Object.prototype.hasOwnProperty.call(t.headers, n) && i.setRequestHeader(n, t.headers[n]);
i.send(n.body)
}
))
}
))
}
const Dn = "?";
function Rn(t, n, e, r) {
const i = {
filename: t,
function: n,
in_app: !0
};
return void 0 !== e && (i.lineno = e),
void 0 !== r && (i.colno = r),
i
}
const In = /^\s*at (?:(.*?) ?\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i
, Mn = /\((\S*)(?::(\d+))(?::(\d+))\)/
, Cn = [30, t=>{
const n = In.exec(t);
if (n) {
if (n[2] && 0 === n[2].indexOf("eval")) {
const t = Mn.exec(n[2]);
t && (n[2] = t[1],
n[3] = t[2],
n[4] = t[3])
}
const [t,e] = Wn(n[1] || Dn, n[2]);
return Rn(e, t, n[3] ? +n[3] : void 0, n[4] ? +n[4] : void 0)
}
}
]
, An = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i
, Nn = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i
, Ln = [50, t=>{
const n = An.exec(t);
if (n) {
if (n[3] && n[3].indexOf(" > eval") > -1) {
const t = Nn.exec(n[3]);
t && (n[1] = n[1] || "eval",
n[3] = t[1],
n[4] = t[2],
n[5] = "")
}
let t = n[3]
, e = n[1] || Dn;
return [e,t] = Wn(e, t),
Rn(t, e, n[4] ? +n[4] : void 0, n[5] ? +n[5] : void 0)
}
}
]
, Un = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i
, qn = [40, t=>{
const n = Un.exec(t);
return n ? Rn(n[2], n[1] || Dn, +n[3], n[4] ? +n[4] : void 0) : void 0
}
]
, Pn = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i
, Hn = [10, t=>{
const n = Pn.exec(t);
return n ? Rn(n[2], n[3] || Dn, +n[1]) : void 0
}
]
, Fn = / line (\d+), column (\d+)\s*(?:in (?:]+)>|([^)]+))\(.*\))? in (.*):\s*$/i
, Bn = [20, t=>{
const n = Fn.exec(t);
return n ? Rn(n[5], n[3] || n[4] || Dn, +n[1], +n[2]) : void 0
}
]
, Xn = [Cn, Ln, qn]
, zn = L(...Xn)
, Wn = (t,n)=>{
const e = -1 !== t.indexOf("safari-extension")
, r = -1 !== t.indexOf("safari-web-extension");
return e || r ? [-1 !== t.indexOf("@") ? t.split("@")[0] : Dn, e ? `safari-extension:${n}` : `safari-web-extension:${n}`] : [t, n]
}
;
let Jn = 0;
function Kn() {
return Jn > 0
}
function Gn() {
Jn += 1,
setTimeout((()=>{
Jn -= 1
}
))
}
function Vn(t, n={}, e) {
if ("function" != typeof t)
return t;
try {
const n = t.__sentry_wrapped__;
if (n)
return n;
if (D(t))
return t
} catch (n) {
return t
}
const sentryWrapped = function() {
const r = Array.prototype.slice.call(arguments);
try {
e && "function" == typeof e && e.apply(this, arguments);
const i = r.map((t=>Vn(t, n)));
return t.apply(this, i)
} catch (t) {
throw Gn(),
zt((e=>{
e.addEventProcessor((t=>(n.mechanism && (ot(t, void 0, void 0),
ut(t, n.mechanism)),
t.extra = {
...t.extra,
arguments: r
},
t))),
captureException(t)
}
)),
t
}
};
try {
for (const n in t)
Object.prototype.hasOwnProperty.call(t, n) && (sentryWrapped[n] = t[n])
} catch (t) {}
T(sentryWrapped, t),
j(t, "__sentry_wrapped__", sentryWrapped);
try {
Object.getOwnPropertyDescriptor(sentryWrapped, "name").configurable && Object.defineProperty(sentryWrapped, "name", {
get: ()=>t.name
})
} catch (t) {}
return sentryWrapped
}
class Qn {
static __initStatic() {
this.id = "GlobalHandlers"
}
__init() {
this.name = Qn.id
}
__init2() {
this.gt = {
onerror: Yn,
onunhandledrejection: Zn
}
}
constructor(t) {
Qn.prototype.__init.call(this),
Qn.prototype.__init2.call(this),
this.Z = {
onerror: !0,
onunhandledrejection: !0,
...t
}
}
setupOnce() {
Error.stackTraceLimit = 50;
const t = this.Z;
for (const n in t) {
const e = this.gt[n];
e && t[n] && (e(),
this.gt[n] = void 0)
}
}
}
function Yn() {
W("error", (t=>{
const [n,e,r] = ee();
if (!n.getIntegration(Qn))
return;
const {msg: i, url: s, line: o, column: a, error: f} = t;
if (Kn() || f && f.__sentry_own_request__)
return;
const h = void 0 === f && c(i) ? function(t, n, e, r) {
const i = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;
let s = u(t) ? t.message : t
, o = "Error";
const a = s.match(i);
a && (o = a[1],
s = a[2]);
return te({
exception: {
values: [{
type: o,
value: s
}]
}
}, n, e, r)
}(i, s, o, a) : te(pn(e, f || i, void 0, r, !1), s, o, a);
h.level = "error",
ne(n, f, h, "onerror")
}
))
}
function Zn() {
W("unhandledrejection", (t=>{
const [n,e,r] = ee();
if (!n.getIntegration(Qn))
return;
let i = t;
try {
"reason"in t ? i = t.reason : "detail"in t && "reason"in t.detail && (i = t.detail.reason)
} catch (t) {}
if (Kn() || i && i.__sentry_own_request__)
return !0;
const s = f(i) ? {
exception: {
values: [{
type: "UnhandledRejection",
value: `Non-Error promise rejection captured with value: ${String(i)}`
}]
}
} : pn(e, i, void 0, r, !0);
s.level = "error",
ne(n, i, s, "onunhandledrejection")
}
))
}
function te(t, n, r, i) {
const s = t.exception = t.exception || {}
, o = s.values = s.values || []
, u = o[0] = o[0] || {}
, a = u.stacktrace = u.stacktrace || {}
, f = a.frames = a.frames || []
, h = isNaN(parseInt(i, 10)) ? void 0 : i
, l = isNaN(parseInt(r, 10)) ? void 0 : r
, v = c(n) && n.length > 0 ? n : function() {
var t = e();
try {
return t.document.location.href
} catch (t) {
return ""
}
}();
return 0 === f.length && f.push({
colno: h,
filename: v,
function: "?",
in_app: !0,
lineno: l
}),
t
}
function ne(t, n, e, r) {
ut(e, {
handled: !1,
type: r
}),
t.captureEvent(e, {
originalException: n
})
}
function ee() {
const t = Ft()
, n = t.getClient()
, e = n && n.getOptions() || {
stackParser: ()=>[],
attachStacktrace: !1
};
return [t, e.stackParser, e.attachStacktrace]
}
Qn.__initStatic();
const re = ["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"];
class ie {
static __initStatic() {
this.id = "TryCatch"
}
__init() {
this.name = ie.id
}
constructor(t) {
ie.prototype.__init.call(this),
this.Z = {
XMLHttpRequest: !0,
eventTarget: !0,
requestAnimationFrame: !0,
setInterval: !0,
setTimeout: !0,
...t
}
}
setupOnce() {
const t = e();
this.Z.setTimeout && O(t, "setTimeout", se),
this.Z.setInterval && O(t, "setInterval", se),
this.Z.requestAnimationFrame && O(t, "requestAnimationFrame", oe),
this.Z.XMLHttpRequest && "XMLHttpRequest"in t && O(XMLHttpRequest.prototype, "send", ue);
const n = this.Z.eventTarget;
if (n) {
(Array.isArray(n) ? n : re).forEach(ae)
}
}
}
function se(t) {
return function(...n) {
const e = n[0];
return n[0] = Vn(e, {
mechanism: {
data: {
function: q(t)
},
handled: !0,
type: "instrument"
}
}),
t.apply(this, n)
}
}
function oe(t) {
return function(n) {
return t.apply(this, [Vn(n, {
mechanism: {
data: {
function: "requestAnimationFrame",
handler: q(t)
},
handled: !0,
type: "instrument"
}
})])
}
}
function ue(t) {
return function(...n) {
const e = this;
return ["onload", "onerror", "onprogress", "onreadystatechange"].forEach((t=>{
t in e && "function" == typeof e[t] && O(e, t, (function(n) {
const e = {
mechanism: {
data: {
function: t,
handler: q(n)
},
handled: !0,
type: "instrument"
}
}
, r = D(n);
return r && (e.mechanism.data.handler = q(r)),
Vn(n, e)
}
))
}
)),
t.apply(this, n)
}
}
function ae(t) {
const n = e()
, r = n[t] && n[t].prototype;
r && r.hasOwnProperty && r.hasOwnProperty("addEventListener") && (O(r, "addEventListener", (function(n) {
return function(e, r, i) {
try {
"function" == typeof r.handleEvent && (r.handleEvent = Vn(r.handleEvent, {
mechanism: {
data: {
function: "handleEvent",
handler: q(r),
target: t
},
handled: !0,
type: "instrument"
}
}))
} catch (t) {}
return n.apply(this, [e, Vn(r, {
mechanism: {
data: {
function: "addEventListener",
handler: q(r),
target: t
},
handled: !0,
type: "instrument"
}
}), i])
}
}
)),
O(r, "removeEventListener", (function(t) {
return function(n, e, r) {
const i = e;
try {
const e = i && i.__sentry_wrapped__;
e && t.call(this, n, e, r)
} catch (t) {}
return t.call(this, n, i, r)
}
}
)))
}
ie.__initStatic();
class ce {
static __initStatic() {
this.id = "LinkedErrors"
}
__init() {
this.name = ce.id
}
constructor(t={}) {
ce.prototype.__init.call(this),
this._t = t.key || "cause",
this.bt = t.limit || 5
}
setupOnce() {
const t = Ft().getClient();
t && Lt(((n,e)=>{
const r = Ft().getIntegration(ce);
return r ? function(t, n, e, r, i) {
if (!(r.exception && r.exception.values && i && d(i.originalException, Error)))
return r;
const s = fe(t, e, i.originalException, n);
return r.exception.values = [...s, ...r.exception.values],
r
}(t.getOptions().stackParser, r._t, r.bt, n, e) : n
}
))
}
}
function fe(t, n, e, r, i=[]) {
if (!d(e[r], Error) || i.length + 1 >= n)
return i;
const s = fn(t, e[r]);
return fe(t, n, e[r], r, [s, ...i])
}
ce.__initStatic();
const he = e();
class le {
constructor() {
le.prototype.__init.call(this)
}
static __initStatic() {
this.id = "HttpContext"
}
__init() {
this.name = le.id
}
setupOnce() {
Lt((t=>{
if (Ft().getIntegration(le)) {
if (!he.navigator && !he.location && !he.document)
return t;
const n = t.request && t.request.url || he.location && he.location.href
, {referrer: e} = he.document || {}
, {userAgent: r} = he.navigator || {}
, i = {
...n && {
url: n
},
headers: {
...t.request && t.request.headers,
...e && {
Referer: e
},
...r && {
"User-Agent": r
}
}
};
return {
...t,
request: i
}
}
return t
}
))
}
}
le.__initStatic();
class ve {
constructor() {
ve.prototype.__init.call(this)
}
static __initStatic() {
this.id = "Dedupe"
}
__init() {
this.name = ve.id
}
setupOnce(t, n) {
const e = t=>{
const e = n().getIntegration(ve);
if (e) {
try {
if (function(t, n) {
if (!n)
return !1;
if (function(t, n) {
const e = t.message
, r = n.message;
if (!e && !r)
return !1;
if (e && !r || !e && r)
return !1;
if (e !== r)
return !1;
if (!pe(t, n))
return !1;
if (!de(t, n))
return !1;
return !0
}(t, n))
return !0;
if (function(t, n) {
const e = ye(n)
, r = ye(t);
if (!e || !r)
return !1;
if (e.type !== r.type || e.value !== r.value)
return !1;
if (!pe(t, n))
return !1;
if (!de(t, n))
return !1;
return !0
}(t, n))
return !0;
return !1
}(t, e.wt))
return null
} catch (n) {
return e.wt = t
}
return e.wt = t
}
return t
}
;
e.id = this.name,
t(e)
}
}
function de(t, n) {
let e = me(t)
, r = me(n);
if (!e && !r)
return !0;
if (e && !r || !e && r)
return !1;
if (e = e,
r = r,
r.length !== e.length)
return !1;
for (let t = 0; t < r.length; t++) {
const n = r[t]
, i = e[t];
if (n.filename !== i.filename || n.lineno !== i.lineno || n.colno !== i.colno || n.function !== i.function)
return !1
}
return !0
}
function pe(t, n) {
let e = t.fingerprint
, r = n.fingerprint;
if (!e && !r)
return !0;
if (e && !r || !e && r)
return !1;
e = e,
r = r;
try {
return !(e.join("") !== r.join(""))
} catch (t) {
return !1
}
}
function ye(t) {
return t.exception && t.exception.values && t.exception.values[0]
}
function me(t) {
const n = t.exception;
if (n)
try {
return n.values[0].stacktrace.frames
} catch (t) {
return
}
}
ve.__initStatic();
var ge = Object.freeze({
__proto__: null,
GlobalHandlers: Qn,
TryCatch: ie,
Breadcrumbs: gn,
LinkedErrors: ce,
HttpContext: le,
Dedupe: ve
});
const _e = [new un, new sn, new ie, new gn, new Qn, new ce, new ve, new le];
function be(t) {
t.startSession({
ignoreDuration: !0
}),
t.captureSession()
}
let we = {};
const xe = e();
xe.Sentry && xe.Sentry.Integrations && (we = xe.Sentry.Integrations);
const Ee = {
...we,
...cn,
...ge
};
return t.Breadcrumbs = gn,
t.BrowserClient = On,
t.Dedupe = ve,
t.FunctionToString = sn,
t.GlobalHandlers = Qn,
t.HttpContext = le,
t.Hub = qt,
t.InboundFilters = un,
t.Integrations = Ee,
t.LinkedErrors = ce,
t.SDK_VERSION = en,
t.Scope = At,
t.TryCatch = ie,
t.addBreadcrumb = function(t) {
Ft().addBreadcrumb(t)
}
,
t.addGlobalEventProcessor = Lt,
t.captureEvent = function(t, n) {
return Ft().captureEvent(t, n)
}
,
t.captureException = captureException,
t.captureMessage = function(t, n) {
var e = "string" == typeof n ? n : void 0
, r = "string" != typeof n ? {
captureContext: n
} : void 0;
return Ft().captureMessage(t, e, r)
}
,
t.chromeStackLineParser = Cn,
t.close = function(t) {
const n = Ft().getClient();
return n ? n.close(t) : vt(!1)
}
,
t.configureScope = function(t) {
Ft().configureScope(t)
}
,
t.createTransport = nn,
t.defaultIntegrations = _e,
t.defaultStackLineParsers = Xn,
t.defaultStackParser = zn,
t.flush = function(t) {
const n = Ft().getClient();
return n ? n.flush(t) : vt(!1)
}
,
t.forceLoad = function() {}
,
t.geckoStackLineParser = Ln,
t.getCurrentHub = Ft,
t.getHubFromCarrier = Bt,
t.init = function(t={}) {
if (void 0 === t.defaultIntegrations && (t.defaultIntegrations = _e),
void 0 === t.release) {
const n = e();
n.SENTRY_RELEASE && n.SENTRY_RELEASE.id && (t.release = n.SENTRY_RELEASE.id)
}
void 0 === t.autoSessionTracking && (t.autoSessionTracking = !0),
void 0 === t.sendClientReports && (t.sendClientReports = !0);
const n = {
...t,
stackParser: (r = t.stackParser || zn,
Array.isArray(r) ? L(...r) : r),
integrations: Zt(t),
transport: t.transport || (P() ? jn : Tn)
};
var r;
!function(t, n) {
!0 === n.debug && console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.");
var e = Ft()
, r = e.getScope();
r && r.update(n.initialScope);
var i = new t(n);
e.bindClient(i)
}(On, n),
t.autoSessionTracking && function() {
const t = e();
if (void 0 === t.document)
return;
const n = Ft();
if (!n.captureSession)
return;
be(n),
W("history", (({from: t, to: n})=>{
void 0 !== t && t !== n && be(Ft())
}
))
}()
}
,
t.lastEventId = function() {
return Ft().lastEventId()
}
,
t.makeFetchTransport = jn,
t.makeMain = Ht,
t.makeXHRTransport = Tn,
t.onLoad = function(t) {
t()
}
,
t.opera10StackLineParser = Hn,
t.opera11StackLineParser = Bn,
t.setContext = function(t, n) {
Ft().setContext(t, n)
}
,
t.setExtra = function(t, n) {
Ft().setExtra(t, n)
}
,
t.setExtras = function(t) {
Ft().setExtras(t)
}
,
t.setTag = function(t, n) {
Ft().setTag(t, n)
}
,
t.setTags = function(t) {
Ft().setTags(t)
}
,
t.setUser = function(t) {
Ft().setUser(t)
}
,
t.showReportDialog = function(t={}, n=Ft()) {
const r = e();
if (!r.document)
return;
const {client: i, scope: s} = n.getStackTop()
, o = t.dsn || i && i.getDsn();
if (!o)
return;
s && (t.user = {
...s.getUser(),
...t.user
}),
t.eventId || (t.eventId = n.lastEventId());
const u = r.document.createElement("script");
u.async = !0,
u.src = function(t, n) {
var e = w(t)
, r = `${Wt(e)}embed/error-page/`;
let i = `dsn=${_(e)}`;
for (var s in n)
if ("dsn" !== s)
if ("user" === s) {
var o = n.user;
if (!o)
continue;
o.name && (i += `&name=${encodeURIComponent(o.name)}`),
o.email && (i += `&email=${encodeURIComponent(o.email)}`)
} else
i += `&${encodeURIComponent(s)}=${encodeURIComponent(n[s])}`;
return `${r}?${i}`
}(o, t),
t.onLoad && (u.onload = t.onLoad);
const a = r.document.head || r.document.body;
a && a.appendChild(u)
}
,
t.startTransaction = function(t, n) {
return Ft().startTransaction({
...t
}, n)
}
,
t.winjsStackLineParser = qn,
t.withScope = zt,
t.wrap = function(t) {
return Vn(t)()
}
,
t
}({});
//# sourceMappingURL=bundle.min.js.map
English العربية English العربية div" data-target="#categoriesPanel" type="button" aria-controls="categoriesPanel" aria-selected="true" tab...
تعليقات
إرسال تعليق