Version Description
Download this release
Release Info
Developer | fullofcaffeine |
Plugin | Full Site Editing |
Version | 3.36854 |
Comparing to | |
See all releases |
Code changes from version 3.36773 to 3.36854
- build_meta.txt +3 -3
- error-reporting/dist/error-reporting.asset.php +1 -1
- error-reporting/dist/error-reporting.js +23 -11
- error-reporting/dist/error-reporting.min.js +1 -1
- error-reporting/dist/error-reporting.min.js.map +1 -1
- full-site-editing-plugin.php +2 -2
- help-center/dist/help-center.js +5 -2
- help-center/dist/help-center.min.js.map +0 -1
build_meta.txt
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
-
commit_hash=
|
2 |
-
commit_url=https://github.com/Automattic/wp-calypso/commit/
|
3 |
-
build_number=3.
|
1 |
+
commit_hash=03ed6731698a33928b2285ab9e7299d4ed2829d4
|
2 |
+
commit_url=https://github.com/Automattic/wp-calypso/commit/03ed6731698a33928b2285ab9e7299d4ed2829d4
|
3 |
+
build_number=3.36854
|
error-reporting/dist/error-reporting.asset.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php return array('dependencies' => array('wp-api-fetch', 'wp-polyfill'), 'version' => '
|
1 |
+
<?php return array('dependencies' => array('wp-api-fetch', 'wp-polyfill'), 'version' => '030d72530b6f13d942ad');
|
error-reporting/dist/error-reporting.js
CHANGED
@@ -3947,7 +3947,7 @@ function createTransport(
|
|
3947 |
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
3948 |
/* harmony export */ "J": function() { return /* binding */ SDK_VERSION; }
|
3949 |
/* harmony export */ });
|
3950 |
-
var SDK_VERSION = '7.
|
3951 |
|
3952 |
|
3953 |
//# sourceMappingURL=version.js.map
|
@@ -4527,6 +4527,16 @@ class Hub {
|
|
4527 |
return session;
|
4528 |
}
|
4529 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4530 |
/**
|
4531 |
* Sends the current Session on the scope
|
4532 |
*/
|
@@ -7540,16 +7550,6 @@ function visit(
|
|
7540 |
) {
|
7541 |
const [memoize, unmemoize] = memo;
|
7542 |
|
7543 |
-
// If the value has a `toJSON` method, see if we can bail and let it do the work
|
7544 |
-
var valueWithToJSON = value ;
|
7545 |
-
if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {
|
7546 |
-
try {
|
7547 |
-
return valueWithToJSON.toJSON();
|
7548 |
-
} catch (err) {
|
7549 |
-
// pass (The built-in `toJSON` failed, but we can still try to do it ourselves)
|
7550 |
-
}
|
7551 |
-
}
|
7552 |
-
|
7553 |
// Get the simple cases out of the way first
|
7554 |
if (value === null || (['number', 'boolean', 'string'].includes(typeof value) && !(0,_is_js__WEBPACK_IMPORTED_MODULE_1__/* .isNaN */ .i2)(value))) {
|
7555 |
return value ;
|
@@ -7583,6 +7583,18 @@ function visit(
|
|
7583 |
return '[Circular ~]';
|
7584 |
}
|
7585 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7586 |
// At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse
|
7587 |
// because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each
|
7588 |
// property/entry, and keep track of the number of items we add to it.
|
3947 |
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
3948 |
/* harmony export */ "J": function() { return /* binding */ SDK_VERSION; }
|
3949 |
/* harmony export */ });
|
3950 |
+
var SDK_VERSION = '7.5.1';
|
3951 |
|
3952 |
|
3953 |
//# sourceMappingURL=version.js.map
|
4527 |
return session;
|
4528 |
}
|
4529 |
|
4530 |
+
/**
|
4531 |
+
* Returns if default PII should be sent to Sentry and propagated in ourgoing requests
|
4532 |
+
* when Tracing is used.
|
4533 |
+
*/
|
4534 |
+
shouldSendDefaultPii() {
|
4535 |
+
var client = this.getClient();
|
4536 |
+
var options = client && client.getOptions();
|
4537 |
+
return Boolean(options && options.sendDefaultPii);
|
4538 |
+
}
|
4539 |
+
|
4540 |
/**
|
4541 |
* Sends the current Session on the scope
|
4542 |
*/
|
7550 |
) {
|
7551 |
const [memoize, unmemoize] = memo;
|
7552 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7553 |
// Get the simple cases out of the way first
|
7554 |
if (value === null || (['number', 'boolean', 'string'].includes(typeof value) && !(0,_is_js__WEBPACK_IMPORTED_MODULE_1__/* .isNaN */ .i2)(value))) {
|
7555 |
return value ;
|
7583 |
return '[Circular ~]';
|
7584 |
}
|
7585 |
|
7586 |
+
// If the value has a `toJSON` method, we call it to extract more information
|
7587 |
+
var valueWithToJSON = value ;
|
7588 |
+
if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {
|
7589 |
+
try {
|
7590 |
+
var jsonValue = valueWithToJSON.toJSON();
|
7591 |
+
// We need to normalize the return value of `.toJSON()` in case it has circular references
|
7592 |
+
return visit('', jsonValue, depth - 1, maxProperties, memo);
|
7593 |
+
} catch (err) {
|
7594 |
+
// pass (The built-in `toJSON` failed, but we can still try to do it ourselves)
|
7595 |
+
}
|
7596 |
+
}
|
7597 |
+
|
7598 |
// At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse
|
7599 |
// because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each
|
7600 |
// property/entry, and keep track of the number of items we add to it.
|
error-reporting/dist/error-reporting.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
!function(){"use strict";var t={2314:function(t,e,n){n.d(e,{R:function(){return g}});var r=n(9849),i=n(1476),o=n(8585),s=n(4911),a=n(5907),u=n(3699),c=n(8536),d=n(250),_=n(3135),f=n(6894),l=n(1988),p=n(8356),h=n(5854),v=(0,a.R)();class g extends r.W{constructor(t){t._metadata=t._metadata||{},t._metadata.sdk=t._metadata.sdk||{name:"sentry.javascript.browser",packages:[{name:"npm:@sentry/browser",version:i.J}],version:i.J},super(t),t.sendClientReports&&v.document&&v.document.addEventListener("visibilitychange",(()=>{"hidden"===v.document.visibilityState&&this._flushOutcomes()}))}eventFromException(t,e){return(0,l.dr)(this._options.stackParser,t,e,this._options.attachStacktrace)}eventFromMessage(t,e="info",n){return(0,l.aB)(this._options.stackParser,t,e,n,this._options.attachStacktrace)}sendEvent(t,e){var n=this.getIntegrationById(p.p);n&&n.options&&n.options.sentry&&(0,o.Gd)().addBreadcrumb({category:"sentry."+("transaction"===t.type?"transaction":"event"),event_id:t.event_id,level:t.level,message:(0,u.jH)(t)},{event:t}),super.sendEvent(t,e)}_prepareEvent(t,e,n){return t.platform=t.platform||"javascript",super._prepareEvent(t,e,n)}_flushOutcomes(){var t=this._clearOutcomes();if(0!==t.length)if(this._dsn){("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&c.kg.log("Sending outcomes:",t);var e=(0,s.U)(this._dsn,this._options.tunnel),n=(0,d.y)(t,this._options.tunnel&&(0,_.RA)(this._dsn));try{(0,h.z)(e,(0,f.V$)(n))}catch(r){("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&c.kg.error(r)}}else("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&c.kg.log("No dsn provided, will not send outcomes");else("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&c.kg.log("No outcomes to send")}}},1988:function(t,e,n){n.d(e,{dr:function(){return l},aB:function(){return p},ME:function(){return h},GJ:function(){return u}});var r=n(1757),i=n(1995),o=n(8035),s=n(3699),a=n(7946);function u(t,e){var n=d(t,e),r={type:e&&e.name,value:f(e)};return n.length&&(r.stacktrace={frames:n}),void 0===r.type&&""===r.value&&(r.value="Unrecoverable error caught"),r}function c(t,e){return{exception:{values:[u(t,e)]}}}function d(t,e){var n=e.stacktrace||e.stack||"",r=function(t){if(t){if("number"==typeof t.framesToPop)return t.framesToPop;if(_.test(t.message))return 1}return 0}(e);try{return t(n,r)}catch(i){}return[]}var _=/Minified React error #\d+;/i;function f(t){var e=t&&t.message;return e?e.error&&"string"==typeof e.error.message?e.error.message:e:"No error message"}function l(t,e,n,r){var i=h(t,e,n&&n.syntheticException||void 0,r);return(0,s.EG)(i),i.level="error",n&&n.event_id&&(i.event_id=n.event_id),(0,a.WD)(i)}function p(t,e,n="info",r,i){var o=v(t,e,r&&r.syntheticException||void 0,i);return o.level=n,r&&r.event_id&&(o.event_id=r.event_id),(0,a.WD)(o)}function h(t,e,n,a,u){let _;if((0,r.VW)(e)&&e.error)return c(t,e.error);if((0,r.TX)(e)||(0,r.fm)(e)){var f=e;if("stack"in e)_=c(t,e);else{var l=f.name||((0,r.TX)(f)?"DOMError":"DOMException"),p=f.message?`${l}: ${f.message}`:l;_=v(t,p,n,a),(0,s.Db)(_,p)}return"code"in f&&(_.tags={..._.tags,"DOMException.code":`${f.code}`}),_}return(0,r.VZ)(e)?c(t,e):(0,r.PO)(e)||(0,r.cO)(e)?(_=function(t,e,n,s){var a={exception:{values:[{type:(0,r.cO)(e)?e.constructor.name:s?"UnhandledRejection":"Error",value:`Non-Error ${s?"promise rejection":"exception"} captured with keys: ${(0,i.zf)(e)}`}]},extra:{__serialized__:(0,o.Qy)(e)}};if(n){var u=d(t,n);u.length&&(a.exception.values[0].stacktrace={frames:u})}return a}(t,e,n,u),(0,s.EG)(_,{synthetic:!0}),_):(_=v(t,e,n,a),(0,s.Db)(_,`${e}`,void 0),(0,s.EG)(_,{synthetic:!0}),_)}function v(t,e,n,r){var i={message:e};if(r&&n){var o=d(t,n);o.length&&(i.exception={values:[{value:e,stacktrace:{frames:o}}]})}return i}},2634:function(t,e,n){n.d(e,{Wz:function(){return a},re:function(){return c}});var r=n(2483),i=n(1995),o=n(3699);let s=0;function a(){return s>0}function u(){s+=1,setTimeout((()=>{s-=1}))}function c(t,e={},n){if("function"!=typeof t)return t;try{var s=t.__sentry_wrapped__;if(s)return s;if((0,i.HK)(t))return t}catch(_){return t}var a=function(){var i=Array.prototype.slice.call(arguments);try{n&&"function"==typeof n&&n.apply(this,arguments);var s=i.map((t=>c(t,e)));return t.apply(this,s)}catch(a){throw u(),(0,r.$e)((t=>{t.addEventProcessor((t=>(e.mechanism&&((0,o.Db)(t,void 0,void 0),(0,o.EG)(t,e.mechanism)),t.extra={...t.extra,arguments:i},t))),(0,r.Tb)(a)})),a}};try{for(var d in t)Object.prototype.hasOwnProperty.call(t,d)&&(a[d]=t[d])}catch(f){}(0,i.$Q)(a,t),(0,i.xp)(t,"__sentry_wrapped__",a);try{Object.getOwnPropertyDescriptor(a,"name").configurable&&Object.defineProperty(a,"name",{get:()=>t.name})}catch(f){}return a}},8356:function(t,e,n){n.d(e,{p:function(){return d},O:function(){return _}});var r=n(8585),i=n(4005),o=n(4194),s=n(8653),a=n(9660),u=n(5907),c=n(3699),d="Breadcrumbs";class _{static __initStatic(){this.id=d}__init(){this.name=_.id}constructor(t){_.prototype.__init.call(this),this.options={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...t}}setupOnce(){this.options.console&&(0,i.o)("console",f),this.options.dom&&(0,i.o)("dom",function(t){function e(e){let n,i="object"==typeof t?t.serializeAttribute:void 0;"string"==typeof i&&(i=[i]);try{n=e.event.target?(0,o.R)(e.event.target,i):(0,o.R)(e.event,i)}catch(s){n="<unknown>"}0!==n.length&&(0,r.Gd)().addBreadcrumb({category:`ui.${e.name}`,message:n},{event:e.event,name:e.name,global:e.global})}return e}(this.options.dom)),this.options.xhr&&(0,i.o)("xhr",l),this.options.fetch&&(0,i.o)("fetch",p),this.options.history&&(0,i.o)("history",h)}}function f(t){var e={category:"console",data:{arguments:t.args,logger:"console"},level:(0,s.VT)(t.level),message:(0,a.nK)(t.args," ")};if("assert"===t.level){if(!1!==t.args[0])return;e.message=`Assertion failed: ${(0,a.nK)(t.args.slice(1)," ")||"console.assert"}`,e.data.arguments=t.args.slice(1)}(0,r.Gd)().addBreadcrumb(e,{input:t.args,level:t.level})}function l(t){if(t.endTimestamp){if(t.xhr.__sentry_own_request__)return;const{method:e,url:n,status_code:i,body:o}=t.xhr.__sentry_xhr__||{};(0,r.Gd)().addBreadcrumb({category:"xhr",data:{method:e,url:n,status_code:i},type:"http"},{xhr:t.xhr,input:o})}else;}function p(t){t.endTimestamp&&(t.fetchData.url.match(/sentry_key/)&&"POST"===t.fetchData.method||(t.error?(0,r.Gd)().addBreadcrumb({category:"fetch",data:t.fetchData,level:"error",type:"http"},{data:t.error,input:t.args}):(0,r.Gd)().addBreadcrumb({category:"fetch",data:{...t.fetchData,status_code:t.response.status},type:"http"},{input:t.args,response:t.response})))}function h(t){var e=(0,u.R)();let n=t.from,i=t.to;var o=(0,c.en)(e.location.href);let s=(0,c.en)(n);var a=(0,c.en)(i);s.path||(s=o),o.protocol===a.protocol&&o.host===a.host&&(i=a.relative),o.protocol===s.protocol&&o.host===s.host&&(n=s.relative),(0,r.Gd)().addBreadcrumb({category:"navigation",data:{from:n,to:i}})}_.__initStatic()},184:function(t,e,n){n.d(e,{I:function(){return i}});var r=n(8536);class i{constructor(){i.prototype.__init.call(this)}static __initStatic(){this.id="Dedupe"}__init(){this.name=i.id}setupOnce(t,e){var n=t=>{var n=e().getIntegration(i);if(n){try{if(function(t,e){if(!e)return!1;if(function(t,e){var n=t.message,r=e.message;if(!n&&!r)return!1;if(n&&!r||!n&&r)return!1;if(n!==r)return!1;if(!s(t,e))return!1;if(!o(t,e))return!1;return!0}(t,e))return!0;if(function(t,e){var n=a(e),r=a(t);if(!n||!r)return!1;if(n.type!==r.type||n.value!==r.value)return!1;if(!s(t,e))return!1;if(!o(t,e))return!1;return!0}(t,e))return!0;return!1}(t,n._previousEvent))return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&r.kg.warn("Event dropped due to being a duplicate of previously captured event."),null}catch(u){return n._previousEvent=t}return n._previousEvent=t}return t};n.id=this.name,t(n)}}function o(t,e){let n=u(t),r=u(e);if(!n&&!r)return!0;if(n&&!r||!n&&r)return!1;if(n=n,r=r,r.length!==n.length)return!1;for(let s=0;s<r.length;s++){var i=r[s],o=n[s];if(i.filename!==o.filename||i.lineno!==o.lineno||i.colno!==o.colno||i.function!==o.function)return!1}return!0}function s(t,e){let n=t.fingerprint,r=e.fingerprint;if(!n&&!r)return!0;if(n&&!r||!n&&r)return!1;n=n,r=r;try{return!(n.join("")!==r.join(""))}catch(i){return!1}}function a(t){return t.exception&&t.exception.values&&t.exception.values[0]}function u(t){var e=t.exception;if(e)try{return e.values[0].stacktrace.frames}catch(n){return}}i.__initStatic()},1228:function(t,e,n){n.d(e,{d:function(){return _}});var r=n(8585),i=n(4005),o=n(1757),s=n(4194),a=n(8536),u=n(3699),c=n(1988),d=n(2634);class _{static __initStatic(){this.id="GlobalHandlers"}__init(){this.name=_.id}__init2(){this._installFunc={onerror:f,onunhandledrejection:l}}constructor(t){_.prototype.__init.call(this),_.prototype.__init2.call(this),this._options={onerror:!0,onunhandledrejection:!0,...t}}setupOnce(){Error.stackTraceLimit=50;var t,e=this._options;for(var n in e){var r=this._installFunc[n];r&&e[n]&&(t=n,("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&a.kg.log(`Global Handler attached: ${t}`),r(),this._installFunc[n]=void 0)}}}function f(){(0,i.o)("error",(t=>{const[e,n,r]=v();if(!e.getIntegration(_))return;const{msg:i,url:s,line:a,column:u,error:f}=t;if(!((0,d.Wz)()||f&&f.__sentry_own_request__)){var l=void 0===f&&(0,o.HD)(i)?function(t,e,n,r){var i=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;let s=(0,o.VW)(t)?t.message:t,a="Error";var u=s.match(i);u&&(a=u[1],s=u[2]);return p({exception:{values:[{type:a,value:s}]}},e,n,r)}(i,s,a,u):p((0,c.ME)(n,f||i,void 0,r,!1),s,a,u);l.level="error",h(e,f,l,"onerror")}}))}function l(){(0,i.o)("unhandledrejection",(t=>{const[e,n,r]=v();if(!e.getIntegration(_))return;let i=t;try{"reason"in t?i=t.reason:"detail"in t&&"reason"in t.detail&&(i=t.detail.reason)}catch(a){}if((0,d.Wz)()||i&&i.__sentry_own_request__)return!0;var s=(0,o.pt)(i)?{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(i)}`}]}}:(0,c.ME)(n,i,void 0,r,!0);s.level="error",h(e,i,s,"onunhandledrejection")}))}function p(t,e,n,r){var i=t.exception=t.exception||{},a=i.values=i.values||[],u=a[0]=a[0]||{},c=u.stacktrace=u.stacktrace||{},d=c.frames=c.frames||[],_=isNaN(parseInt(r,10))?void 0:r,f=isNaN(parseInt(n,10))?void 0:n,l=(0,o.HD)(e)&&e.length>0?e:(0,s.l)();return 0===d.length&&d.push({colno:_,filename:l,function:"?",in_app:!0,lineno:f}),t}function h(t,e,n,r){(0,u.EG)(n,{handled:!1,type:r}),t.captureEvent(n,{originalException:e})}function v(){var t=(0,r.Gd)(),e=t.getClient(),n=e&&e.getOptions()||{stackParser:()=>[],attachStacktrace:!1};return[t,n.stackParser,n.attachStacktrace]}_.__initStatic()},2605:function(t,e,n){n.d(e,{q:function(){return s}});var r=n(1684),i=n(8585),o=(0,n(5907).R)();class s{constructor(){s.prototype.__init.call(this)}static __initStatic(){this.id="HttpContext"}__init(){this.name=s.id}setupOnce(){(0,r.c)((t=>{if((0,i.Gd)().getIntegration(s)){if(!o.navigator&&!o.location&&!o.document)return t;var e=t.request&&t.request.url||o.location&&o.location.href;const{referrer:r}=o.document||{},{userAgent:i}=o.navigator||{};var n={...e&&{url:e},headers:{...t.request&&t.request.headers,...r&&{Referer:r},...i&&{"User-Agent":i}}};return{...t,request:n}}return t}))}}s.__initStatic()},3440:function(t,e,n){n.d(e,{iP:function(){return a}});var r=n(8585),i=n(1684),o=n(1757),s=n(1988);class a{static __initStatic(){this.id="LinkedErrors"}__init(){this.name=a.id}constructor(t={}){a.prototype.__init.call(this),this._key=t.key||"cause",this._limit=t.limit||5}setupOnce(){var t=(0,r.Gd)().getClient();t&&(0,i.c)(((e,n)=>{var i=(0,r.Gd)().getIntegration(a);return i?function(t,e,n,r,i){if(!(r.exception&&r.exception.values&&i&&(0,o.V9)(i.originalException,Error)))return r;var s=u(t,n,i.originalException,e);return r.exception.values=[...s,...r.exception.values],r}(t.getOptions().stackParser,i._key,i._limit,e,n):e}))}}function u(t,e,n,r,i=[]){if(!(0,o.V9)(n[r],Error)||i.length+1>=e)return i;var a=(0,s.GJ)(t,n[r]);return u(t,e,n[r],r,[a,...i])}a.__initStatic()},3399:function(t,e,n){n.d(e,{p:function(){return u}});var r=n(5907),i=n(1995),o=n(9038),s=n(2634),a=["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 u{static __initStatic(){this.id="TryCatch"}__init(){this.name=u.id}constructor(t){u.prototype.__init.call(this),this._options={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...t}}setupOnce(){var t=(0,r.R)();this._options.setTimeout&&(0,i.hl)(t,"setTimeout",c),this._options.setInterval&&(0,i.hl)(t,"setInterval",c),this._options.requestAnimationFrame&&(0,i.hl)(t,"requestAnimationFrame",d),this._options.XMLHttpRequest&&"XMLHttpRequest"in t&&(0,i.hl)(XMLHttpRequest.prototype,"send",_);var e=this._options.eventTarget;e&&(Array.isArray(e)?e:a).forEach(f)}}function c(t){return function(...e){var n=e[0];return e[0]=(0,s.re)(n,{mechanism:{data:{function:(0,o.$P)(t)},handled:!0,type:"instrument"}}),t.apply(this,e)}}function d(t){return function(e){return t.apply(this,[(0,s.re)(e,{mechanism:{data:{function:"requestAnimationFrame",handler:(0,o.$P)(t)},handled:!0,type:"instrument"}})])}}function _(t){return function(...e){var n=this;return["onload","onerror","onprogress","onreadystatechange"].forEach((t=>{t in n&&"function"==typeof n[t]&&(0,i.hl)(n,t,(function(e){var n={mechanism:{data:{function:t,handler:(0,o.$P)(e)},handled:!0,type:"instrument"}},r=(0,i.HK)(e);return r&&(n.mechanism.data.handler=(0,o.$P)(r)),(0,s.re)(e,n)}))})),t.apply(this,e)}}function f(t){var e=(0,r.R)(),n=e[t]&&e[t].prototype;n&&n.hasOwnProperty&&n.hasOwnProperty("addEventListener")&&((0,i.hl)(n,"addEventListener",(function(e){return function(n,r,i){try{"function"==typeof r.handleEvent&&(r.handleEvent=(0,s.re)(r.handleEvent,{mechanism:{data:{function:"handleEvent",handler:(0,o.$P)(r),target:t},handled:!0,type:"instrument"}}))}catch(a){}return e.apply(this,[n,(0,s.re)(r,{mechanism:{data:{function:"addEventListener",handler:(0,o.$P)(r),target:t},handled:!0,type:"instrument"}}),i])}})),(0,i.hl)(n,"removeEventListener",(function(t){return function(e,n,r){var i=n;try{var o=i&&i.__sentry_wrapped__;o&&t.call(this,e,o,r)}catch(s){}return t.call(this,e,i,r)}})))}u.__initStatic()},2456:function(t,e,n){n.d(e,{yl:function(){return T},S1:function(){return k}});var r=n(1061),i=n(6286),o=n(8889),s=n(6853),a=n(8585),u=n(5907),c=n(9038),d=n(9798),_=n(8536),f=n(7946),l=n(4005),p=n(2314),h=n(2224),v=n(3399),g=n(8356),y=n(1228),m=n(3440),E=n(184),S=n(2605),b=n(6149),x=n(6144),w=[new r.QD,new i.c,new v.p,new g.O,new y.d,new m.iP,new E.I,new S.q];function k(t={}){if(void 0===t.defaultIntegrations&&(t.defaultIntegrations=w),void 0===t.release){var e=(0,u.R)();e.SENTRY_RELEASE&&e.SENTRY_RELEASE.id&&(t.release=e.SENTRY_RELEASE.id)}void 0===t.autoSessionTracking&&(t.autoSessionTracking=!0),void 0===t.sendClientReports&&(t.sendClientReports=!0);var n={...t,stackParser:(0,c.Sq)(t.stackParser||h.Dt),integrations:(0,o.m8)(t),transport:t.transport||((0,d.Ak)()?b.f:x.K)};(0,s.M)(p.R,n),t.autoSessionTracking&&function(){if(void 0===(0,u.R)().document)return void(("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&_.kg.warn("Session tracking in non-browser environment with @sentry/browser is not supported."));var t=(0,a.Gd)();if(!t.captureSession)return;R(t),(0,l.o)("history",(({from:t,to:e})=>{void 0!==t&&t!==e&&R((0,a.Gd)())}))}()}function T(t){var e=(0,a.Gd)().getClient();return e?e.flush(t):(("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&_.kg.warn("Cannot flush events. No client defined."),(0,f.WD)(!1))}function R(t){t.startSession({ignoreDuration:!0}),t.captureSession()}},2224:function(t,e,n){n.d(e,{Dt:function(){return f}});var r=n(9038),i="?";function o(t,e,n,r){var i={filename:t,function:e,in_app:!0};return void 0!==n&&(i.lineno=n),void 0!==r&&(i.colno=r),i}var s=/^\s*at (?:(.*?) ?\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,a=/\((\S*)(?::(\d+))(?::(\d+))\)/,u=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,c=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,d=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,_=[[30,t=>{var e=s.exec(t);if(e){if(e[2]&&0===e[2].indexOf("eval")){var n=a.exec(e[2]);n&&(e[2]=n[1],e[3]=n[2],e[4]=n[3])}const[t,r]=l(e[1]||i,e[2]);return o(r,t,e[3]?+e[3]:void 0,e[4]?+e[4]:void 0)}}],[50,t=>{var e=u.exec(t);if(e){if(e[3]&&e[3].indexOf(" > eval")>-1){var n=c.exec(e[3]);n&&(e[1]=e[1]||"eval",e[3]=n[1],e[4]=n[2],e[5]="")}let t=e[3],r=e[1]||i;return[r,t]=l(r,t),o(t,r,e[4]?+e[4]:void 0,e[5]?+e[5]:void 0)}}],[40,t=>{var e=d.exec(t);return e?o(e[2],e[1]||i,+e[3],e[4]?+e[4]:void 0):void 0}]],f=(0,r.pE)(..._),l=(t,e)=>{var n=-1!==t.indexOf("safari-extension"),r=-1!==t.indexOf("safari-web-extension");return n||r?[-1!==t.indexOf("@")?t.split("@")[0]:i,n?`safari-extension:${e}`:`safari-web-extension:${e}`]:[t,e]}},6149:function(t,e,n){n.d(e,{f:function(){return o}});var r=n(1518),i=n(5854);function o(t,e=(0,i.x)()){return(0,r.q)(t,(function(n){var r={body:n.body,method:"POST",referrerPolicy:"origin",headers:t.headers,...t.fetchOptions};return e(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")}})))}))}},5854:function(t,e,n){n.d(e,{x:function(){return u},z:function(){return c}});var r=n(5907),i=n(9798),o=n(8536),s=(0,r.R)();let a;function u(){if(a)return a;if((0,i.Du)(s.fetch))return a=s.fetch.bind(s);var t=s.document;let e=s.fetch;if(t&&"function"==typeof t.createElement)try{var n=t.createElement("iframe");n.hidden=!0,t.head.appendChild(n);var r=n.contentWindow;r&&r.fetch&&(e=r.fetch),t.head.removeChild(n)}catch(u){("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&o.kg.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",u)}return a=e.bind(s)}function c(t,e){if("[object Navigator]"===Object.prototype.toString.call(s&&s.navigator)&&"function"==typeof s.navigator.sendBeacon)s.navigator.sendBeacon.bind(s.navigator)(t,e);else if((0,i.Ak)()){u()(t,{body:e,method:"POST",credentials:"omit",keepalive:!0}).then(null,(t=>{("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&o.kg.error(t)}))}}},6144:function(t,e,n){n.d(e,{K:function(){return o}});var r=n(1518),i=n(7946);function o(t){return(0,r.q)(t,(function(e){return new i.cW(((n,r)=>{var i=new XMLHttpRequest;for(var o in i.onerror=r,i.onreadystatechange=()=>{4===i.readyState&&n({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),t.headers)Object.prototype.hasOwnProperty.call(t.headers,o)&&i.setRequestHeader(o,t.headers[o]);i.send(e.body)}))}))}},4911:function(t,e,n){n.d(e,{U:function(){return o}});var r=n(1995);function i(t){var e=t.protocol?`${t.protocol}:`:"",n=t.port?`:${t.port}`:"";return`${e}//${t.host}${n}${t.path?`/${t.path}`:""}/api/`}function o(t,e){return e||`${function(t){return`${i(t)}${t.projectId}/envelope/`}(t)}?${function(t){return(0,r._j)({sentry_key:t.publicKey,sentry_version:"7"})}(t)}`}},9849:function(t,e,n){n.d(e,{W:function(){return m}});var r=n(2430),i=n(1684),o=n(3135),s=n(8536),a=n(3699),u=n(1757),c=n(7946),d=n(6894),_=n(7790),f=n(8035),l=n(9660),p=n(4388),h=n(4911),v=n(3055),g=n(8889),y="Not capturing exception because it's already been captured.";class m{__init(){this._integrations={}}__init2(){this._integrationsInitialized=!1}__init3(){this._numProcessing=0}__init4(){this._outcomes={}}constructor(t){if(m.prototype.__init.call(this),m.prototype.__init2.call(this),m.prototype.__init3.call(this),m.prototype.__init4.call(this),this._options=t,t.dsn){this._dsn=(0,o.vK)(t.dsn);var e=(0,h.U)(this._dsn,t.tunnel);this._transport=t.transport({recordDroppedEvent:this.recordDroppedEvent.bind(this),...t.transportOptions,url:e})}else("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.warn("No DSN provided, client will not do anything.")}captureException(t,e,n){if((0,a.YO)(t))return void(("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.log(y));let r=e&&e.event_id;return this._process(this.eventFromException(t,e).then((t=>this._captureEvent(t,e,n))).then((t=>{r=t}))),r}captureMessage(t,e,n,r){let i=n&&n.event_id;var o=(0,u.pt)(t)?this.eventFromMessage(String(t),e,n):this.eventFromException(t,n);return this._process(o.then((t=>this._captureEvent(t,n,r))).then((t=>{i=t}))),i}captureEvent(t,e,n){if(e&&e.originalException&&(0,a.YO)(e.originalException))return void(("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.log(y));let r=e&&e.event_id;return this._process(this._captureEvent(t,e,n).then((t=>{r=t}))),r}captureSession(t){this._isEnabled()?"string"!=typeof t.release?("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.warn("Discarded session because of missing or non-string release"):(this.sendSession(t),(0,r.CT)(t,{init:!1})):("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.warn("SDK not enabled, will not capture session.")}getDsn(){return this._dsn}getOptions(){return this._options}getTransport(){return this._transport}flush(t){var e=this._transport;return e?this._isClientDoneProcessing(t).then((n=>e.flush(t).then((t=>n&&t)))):(0,c.WD)(!0)}close(t){return this.flush(t).then((t=>(this.getOptions().enabled=!1,t)))}setupIntegrations(){this._isEnabled()&&!this._integrationsInitialized&&(this._integrations=(0,g.q4)(this._options.integrations),this._integrationsInitialized=!0)}getIntegrationById(t){return this._integrations[t]}getIntegration(t){try{return this._integrations[t.id]||null}catch(e){return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.warn(`Cannot retrieve integration ${t.id} from the current Client`),null}}sendEvent(t,e={}){if(this._dsn){let r=(0,v.M)(t,this._dsn,this._options._metadata,this._options.tunnel);for(var n of e.attachments||[])r=(0,d.BO)(r,(0,d.zQ)(n,this._options.transportOptions&&this._options.transportOptions.textEncoder));this._sendEnvelope(r)}}sendSession(t){if(this._dsn){var e=(0,v.Q)(t,this._dsn,this._options._metadata,this._options.tunnel);this._sendEnvelope(e)}}recordDroppedEvent(t,e){if(this._options.sendClientReports){var n=`${t}:${e}`;("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.log(`Adding outcome: "${n}"`),this._outcomes[n]=this._outcomes[n]+1||1}}_updateSessionFromEvent(t,e){let n=!1,i=!1;var o=e.exception&&e.exception.values;if(o)for(var s of(i=!0,o)){var a=s.mechanism;if(a&&!1===a.handled){n=!0;break}}var u="ok"===t.status;(u&&0===t.errors||u&&n)&&((0,r.CT)(t,{...n&&{status:"crashed"},errors:t.errors||Number(i||n)}),this.captureSession(t))}_isClientDoneProcessing(t){return new c.cW((e=>{let n=0;var r=setInterval((()=>{0==this._numProcessing?(clearInterval(r),e(!0)):(n+=1,t&&n>=t&&(clearInterval(r),e(!1)))}),1)}))}_isEnabled(){return!1!==this.getOptions().enabled&&void 0!==this._dsn}_prepareEvent(t,e,n){const{normalizeDepth:r=3,normalizeMaxBreadth:o=1e3}=this.getOptions();var s={...t,event_id:t.event_id||e.event_id||(0,a.DM)(),timestamp:t.timestamp||(0,_.yW)()};this._applyClientOptions(s),this._applyIntegrationsMetadata(s);let u=n;e.captureContext&&(u=i.s.clone(u).update(e.captureContext));let d=(0,c.WD)(s);if(u){var f=[...e.attachments||[],...u.getAttachments()];f.length&&(e.attachments=f),d=u.applyToEvent(s,e)}return d.then((t=>"number"==typeof r&&r>0?this._normalizeEvent(t,r,o):t))}_normalizeEvent(t,e,n){if(!t)return null;var r={...t,...t.breadcrumbs&&{breadcrumbs:t.breadcrumbs.map((t=>({...t,...t.data&&{data:(0,f.Fv)(t.data,e,n)}})))},...t.user&&{user:(0,f.Fv)(t.user,e,n)},...t.contexts&&{contexts:(0,f.Fv)(t.contexts,e,n)},...t.extra&&{extra:(0,f.Fv)(t.extra,e,n)}};return t.contexts&&t.contexts.trace&&r.contexts&&(r.contexts.trace=t.contexts.trace,t.contexts.trace.data&&(r.contexts.trace.data=(0,f.Fv)(t.contexts.trace.data,e,n))),t.spans&&(r.spans=t.spans.map((t=>(t.data&&(t.data=(0,f.Fv)(t.data,e,n)),t)))),r}_applyClientOptions(t){var e=this.getOptions();const{environment:n,release:r,dist:i,maxValueLength:o=250}=e;"environment"in t||(t.environment="environment"in e?n:"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=(0,l.$G)(t.message,o));var s=t.exception&&t.exception.values&&t.exception.values[0];s&&s.value&&(s.value=(0,l.$G)(s.value,o));var a=t.request;a&&a.url&&(a.url=(0,l.$G)(a.url,o))}_applyIntegrationsMetadata(t){var e=Object.keys(this._integrations);e.length>0&&(t.sdk=t.sdk||{},t.sdk.integrations=[...t.sdk.integrations||[],...e])}_captureEvent(t,e={},n){return this._processEvent(t,e,n).then((t=>t.event_id),(t=>{("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.warn(t)}))}_processEvent(t,e,n){const{beforeSend:r,sampleRate:i}=this.getOptions();if(!this._isEnabled())return(0,c.$2)(new p.b("SDK not enabled, will not capture event."));var o="transaction"===t.type;return!o&&"number"==typeof i&&Math.random()>i?(this.recordDroppedEvent("sample_rate","error"),(0,c.$2)(new p.b(`Discarding event because it's not included in the random sample (sampling rate = ${i})`))):this._prepareEvent(t,e,n).then((n=>{if(null===n)throw this.recordDroppedEvent("event_processor",t.type||"error"),new p.b("An event processor returned null, will not send event.");return e.data&&!0===e.data.__sentry__||o||!r?n:function(t){var e="`beforeSend` method has to return `null` or a valid event.";if((0,u.J8)(t))return t.then((t=>{if(!(0,u.PO)(t)&&null!==t)throw new p.b(e);return t}),(t=>{throw new p.b(`beforeSend rejected with ${t}`)}));if(!(0,u.PO)(t)&&null!==t)throw new p.b(e);return t}(r(n,e))})).then((r=>{if(null===r)throw this.recordDroppedEvent("before_send",t.type||"error"),new p.b("`beforeSend` returned `null`, will not send event.");var i=n&&n.getSession();return!o&&i&&this._updateSessionFromEvent(i,r),this.sendEvent(r,e),r})).then(null,(t=>{if(t instanceof p.b)throw t;throw this.captureException(t,{data:{__sentry__:!0},originalException:t}),new p.b(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${t}`)}))}_process(t){this._numProcessing+=1,t.then((t=>(this._numProcessing-=1,t)),(t=>(this._numProcessing-=1,t)))}_sendEnvelope(t){this._transport&&this._dsn?this._transport.send(t).then(null,(t=>{("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.error("Error while sending event:",t)})):("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.error("Transport disabled")}_clearOutcomes(){var t=this._outcomes;return this._outcomes={},Object.keys(t).map((e=>{const[n,r]=e.split(":");return{reason:n,category:r,quantity:t[e]}}))}}},3055:function(t,e,n){n.d(e,{M:function(){return c},Q:function(){return u}});var r=n(3135),i=n(6894),o=n(6990),s=n(1995);function a(t){if(!t||!t.sdk)return;const{name:e,version:n}=t.sdk;return{name:e,version:n}}function u(t,e,n,o){var s=a(n),u={sent_at:(new Date).toISOString(),...s&&{sdk:s},...!!o&&{dsn:(0,r.RA)(e)}},c="aggregates"in t?[{type:"sessions"},t]:[{type:"session"},t];return(0,i.Jd)(u,[c])}function c(t,e,n,u){var c=a(n),d=t.type||"event";const{transactionSampling:_}=t.sdkProcessingMetadata||{},{method:f,rate:l}=_||{};!function(t,e){e&&(t.sdk=t.sdk||{},t.sdk.name=t.sdk.name||e.name,t.sdk.version=t.sdk.version||e.version,t.sdk.integrations=[...t.sdk.integrations||[],...e.integrations||[]],t.sdk.packages=[...t.sdk.packages||[],...e.packages||[]])}(t,n&&n.sdk);var p=function(t,e,n,i){var a=t.sdkProcessingMetadata&&t.sdkProcessingMetadata.baggage,u=a&&(0,o.Hk)(a);return{event_id:t.event_id,sent_at:(new Date).toISOString(),...e&&{sdk:e},...!!n&&{dsn:(0,r.RA)(i)},..."transaction"===t.type&&u&&{trace:(0,s.Jr)({...u})}}}(t,c,u,e);delete t.sdkProcessingMetadata;var h=[{type:d,sample_rates:[{id:f,rate:l}]},t];return(0,i.Jd)(p,[h])}},8889:function(t,e,n){n.d(e,{m8:function(){return u},q4:function(){return c}});var r=n(1684),i=n(8585),o=n(8536),s=[];function a(t){return t.reduce(((t,e)=>(t.every((t=>e.name!==t.name))&&t.push(e),t)),[])}function u(t){var e=t.defaultIntegrations&&[...t.defaultIntegrations]||[],n=t.integrations;let r=[...a(e)];Array.isArray(n)?r=[...r.filter((t=>n.every((e=>e.name!==t.name)))),...a(n)]:"function"==typeof n&&(r=n(r),r=Array.isArray(r)?r:[r]);var i=r.map((t=>t.name)),o="Debug";return-1!==i.indexOf(o)&&r.push(...r.splice(i.indexOf(o),1)),r}function c(t){var e={};return t.forEach((t=>{e[t.name]=t,-1===s.indexOf(t.name)&&(t.setupOnce(r.c,i.Gd),s.push(t.name),("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&o.kg.log(`Integration installed: ${t.name}`))})),e}},6286:function(t,e,n){n.d(e,{c:function(){return o}});var r=n(1995);let i;class o{constructor(){o.prototype.__init.call(this)}static __initStatic(){this.id="FunctionToString"}__init(){this.name=o.id}setupOnce(){i=Function.prototype.toString,Function.prototype.toString=function(...t){var e=(0,r.HK)(this)||this;return i.apply(e,t)}}}o.__initStatic()},1061:function(t,e,n){n.d(e,{QD:function(){return a}});var r=n(8536),i=n(3699),o=n(9660),s=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/];class a{static __initStatic(){this.id="InboundFilters"}__init(){this.name=a.id}constructor(t={}){this._options=t,a.prototype.__init.call(this)}setupOnce(t,e){var n=t=>{var n=e();if(n){var c=n.getIntegration(a);if(c){var d=n.getClient(),_=d?d.getOptions():{},f=function(t={},e={}){return{allowUrls:[...t.allowUrls||[],...e.allowUrls||[]],denyUrls:[...t.denyUrls||[],...e.denyUrls||[]],ignoreErrors:[...t.ignoreErrors||[],...e.ignoreErrors||[],...s],ignoreInternal:void 0===t.ignoreInternal||t.ignoreInternal}}(c._options,_);return function(t,e){if(e.ignoreInternal&&function(t){try{return"SentryError"===t.exception.values[0].type}catch(e){}return!1}(t))return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&r.kg.warn(`Event dropped due to being internal Sentry Error.\nEvent: ${(0,i.jH)(t)}`),!0;if(function(t,e){if(!e||!e.length)return!1;return function(t){if(t.message)return[t.message];if(t.exception)try{const{type:e="",value:n=""}=t.exception.values&&t.exception.values[0]||{};return[`${n}`,`${e}: ${n}`]}catch(e){return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&r.kg.error(`Cannot extract message for event ${(0,i.jH)(t)}`),[]}return[]}(t).some((t=>e.some((e=>(0,o.zC)(t,e)))))}(t,e.ignoreErrors))return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&r.kg.warn(`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent: ${(0,i.jH)(t)}`),!0;if(function(t,e){if(!e||!e.length)return!1;var n=u(t);return!!n&&e.some((t=>(0,o.zC)(n,t)))}(t,e.denyUrls))return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&r.kg.warn(`Event dropped due to being matched by \`denyUrls\` option.\nEvent: ${(0,i.jH)(t)}.\nUrl: ${u(t)}`),!0;if(!function(t,e){if(!e||!e.length)return!0;var n=u(t);return!n||e.some((t=>(0,o.zC)(n,t)))}(t,e.allowUrls))return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&r.kg.warn(`Event dropped due to not being matched by \`allowUrls\` option.\nEvent: ${(0,i.jH)(t)}.\nUrl: ${u(t)}`),!0;return!1}(t,f)?null:t}}return t};n.id=this.name,t(n)}}function u(t){try{let n;try{n=t.exception.values[0].stacktrace.frames}catch(e){}return n?function(t=[]){for(let n=t.length-1;n>=0;n--){var e=t[n];if(e&&"<anonymous>"!==e.filename&&"[native code]"!==e.filename)return e.filename||null}return null}(n):null}catch(n){return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&r.kg.error(`Cannot extract url for event ${(0,i.jH)(t)}`),null}}a.__initStatic()},6853:function(t,e,n){n.d(e,{M:function(){return o}});var r=n(8585),i=n(8536);function o(t,e){!0===e.debug&&("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__?i.kg.enable():console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle."));var n=(0,r.Gd)(),o=n.getScope();o&&o.update(e.initialScope);var s=new t(e);n.bindClient(s)}},1518:function(t,e,n){n.d(e,{q:function(){return c}});var r=n(8963),i=n(6894),o=n(1630),s=n(7946),a=n(8536),u=n(4388);function c(t,e,n=(0,r.x)(t.bufferSize||30)){let c={};return{send:function(r){var d=[];if((0,i.gv)(r,((e,n)=>{var r=(0,i.mL)(n);(0,o.Q)(c,r)?t.recordDroppedEvent("ratelimit_backoff",r):d.push(e)})),0===d.length)return(0,s.WD)();var _=(0,i.Jd)(r[0],d),f=e=>{(0,i.gv)(_,((n,r)=>{t.recordDroppedEvent(e,(0,i.mL)(r))}))};return n.add((()=>e({body:(0,i.V$)(_,t.textEncoder)}).then((t=>{void 0!==t.statusCode&&(t.statusCode<200||t.statusCode>=300)&&("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&a.kg.warn(`Sentry responded with status code ${t.statusCode} to sent event.`),c=(0,o.WG)(c,t)}),(t=>{("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&a.kg.error("Failed while sending event:",t),f("network_error")})))).then((t=>t),(t=>{if(t instanceof u.b)return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&a.kg.error("Skipped sending event due to full buffer"),f("queue_overflow"),(0,s.WD)();throw t}))},flush:t=>n.drain(t)}}},1476:function(t,e,n){n.d(e,{J:function(){return r}});var r="7.3.1"},2483:function(t,e,n){n.d(e,{Tb:function(){return i},$e:function(){return o}});var r=n(8585);function i(t,e){return(0,r.Gd)().captureException(t,{captureContext:e})}function o(t){(0,r.Gd)().withScope(t)}},8585:function(t,e,n){n.d(e,{Gd:function(){return p}});var r=n(3699),i=n(7790),o=n(8536),s=n(5907),a=n(7392),u=n(1684),c=n(2430),d=100;class _{__init(){this._stack=[{}]}constructor(t,e=new u.s,n=4){this._version=n,_.prototype.__init.call(this),this.getStackTop().scope=e,t&&this.bindClient(t)}isOlderThan(t){return this._version<t}bindClient(t){this.getStackTop().client=t,t&&t.setupIntegrations&&t.setupIntegrations()}pushScope(){var t=u.s.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 e=this.pushScope();try{t(e)}finally{this.popScope()}}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getStack(){return this._stack}getStackTop(){return this._stack[this._stack.length-1]}captureException(t,e){var n=this._lastEventId=e&&e.event_id?e.event_id:(0,r.DM)(),i=new Error("Sentry syntheticException");return this._withClient(((r,o)=>{r.captureException(t,{originalException:t,syntheticException:i,...e,event_id:n},o)})),n}captureMessage(t,e,n){var i=this._lastEventId=n&&n.event_id?n.event_id:(0,r.DM)(),o=new Error(t);return this._withClient(((r,s)=>{r.captureMessage(t,e,{originalException:t,syntheticException:o,...n,event_id:i},s)})),i}captureEvent(t,e){var n=e&&e.event_id?e.event_id:(0,r.DM)();return"transaction"!==t.type&&(this._lastEventId=n),this._withClient(((r,i)=>{r.captureEvent(t,{...e,event_id:n},i)})),n}lastEventId(){return this._lastEventId}addBreadcrumb(t,e){const{scope:n,client:r}=this.getStackTop();if(!n||!r)return;const{beforeBreadcrumb:s=null,maxBreadcrumbs:a=d}=r.getOptions&&r.getOptions()||{};if(!(a<=0)){var u={timestamp:(0,i.yW)(),...t},c=s?(0,o.Cf)((()=>s(u,e))):u;null!==c&&n.addBreadcrumb(c,a)}}setUser(t){var e=this.getScope();e&&e.setUser(t)}setTags(t){var e=this.getScope();e&&e.setTags(t)}setExtras(t){var e=this.getScope();e&&e.setExtras(t)}setTag(t,e){var n=this.getScope();n&&n.setTag(t,e)}setExtra(t,e){var n=this.getScope();n&&n.setExtra(t,e)}setContext(t,e){var n=this.getScope();n&&n.setContext(t,e)}configureScope(t){const{scope:e,client:n}=this.getStackTop();e&&n&&t(e)}run(t){var e=l(this);try{t(this)}finally{l(e)}}getIntegration(t){var e=this.getClient();if(!e)return null;try{return e.getIntegration(t)}catch(n){return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&o.kg.warn(`Cannot retrieve integration ${t.id} from the current Hub`),null}}startTransaction(t,e){return this._callExtensionMethod("startTransaction",t,e)}traceHeaders(){return this._callExtensionMethod("traceHeaders")}captureSession(t=!1){if(t)return this.endSession();this._sendSessionUpdate()}endSession(){var t=this.getStackTop(),e=t&&t.scope,n=e&&e.getSession();n&&(0,c.RJ)(n),this._sendSessionUpdate(),e&&e.setSession()}startSession(t){const{scope:e,client:n}=this.getStackTop(),{release:r,environment:i}=n&&n.getOptions()||{};var o=(0,s.R)();const{userAgent:a}=o.navigator||{};var u=(0,c.Hv)({release:r,environment:i,...e&&{user:e.getUser()},...a&&{userAgent:a},...t});if(e){var d=e.getSession&&e.getSession();d&&"ok"===d.status&&(0,c.CT)(d,{status:"exited"}),this.endSession(),e.setSession(u)}return u}_sendSessionUpdate(){const{scope:t,client:e}=this.getStackTop();if(t){var n=t.getSession();n&&e&&e.captureSession&&e.captureSession(n)}}_withClient(t){const{scope:e,client:n}=this.getStackTop();n&&t(n,e)}_callExtensionMethod(t,...e){var n=f().__SENTRY__;if(n&&n.extensions&&"function"==typeof n.extensions[t])return n.extensions[t].apply(this,e);("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&o.kg.warn(`Extension method ${t} couldn't be found, doing nothing.`)}}function f(){var t=(0,s.R)();return t.__SENTRY__=t.__SENTRY__||{extensions:{},hub:void 0},t}function l(t){var e=f(),n=v(e);return g(e,t),n}function p(){var t=f();return h(t)&&!v(t).isOlderThan(4)||g(t,new _),(0,a.KV)()?function(t){try{var e=f().__SENTRY__,n=e&&e.extensions&&e.extensions.domain&&e.extensions.domain.active;if(!n)return v(t);if(!h(n)||v(n).isOlderThan(4)){var r=v(t).getStackTop();g(n,new _(r.client,u.s.clone(r.scope)))}return v(n)}catch(i){return v(t)}}(t):v(t)}function h(t){return!!(t&&t.__SENTRY__&&t.__SENTRY__.hub)}function v(t){return(0,s.Y)("hub",(()=>new _),t)}function g(t,e){return!!t&&((t.__SENTRY__=t.__SENTRY__||{}).hub=e,!0)}},1684:function(t,e,n){n.d(e,{s:function(){return c},c:function(){return _}});var r=n(1757),i=n(7790),o=n(7946),s=n(8536),a=n(5907),u=n(2430);class c{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={}}static clone(t){var e=new c;return t&&(e._breadcrumbs=[...t._breadcrumbs],e._tags={...t._tags},e._extra={...t._extra},e._contexts={...t._contexts},e._user=t._user,e._level=t._level,e._span=t._span,e._session=t._session,e._transactionName=t._transactionName,e._fingerprint=t._fingerprint,e._eventProcessors=[...t._eventProcessors],e._requestSession=t._requestSession,e._attachments=[...t._attachments]),e}addScopeListener(t){this._scopeListeners.push(t)}addEventProcessor(t){return this._eventProcessors.push(t),this}setUser(t){return this._user=t||{},this._session&&(0,u.CT)(this._session,{user:t}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(t){return this._requestSession=t,this}setTags(t){return this._tags={...this._tags,...t},this._notifyScopeListeners(),this}setTag(t,e){return this._tags={...this._tags,[t]:e},this._notifyScopeListeners(),this}setExtras(t){return this._extra={...this._extra,...t},this._notifyScopeListeners(),this}setExtra(t,e){return this._extra={...this._extra,[t]:e},this._notifyScopeListeners(),this}setFingerprint(t){return this._fingerprint=t,this._notifyScopeListeners(),this}setLevel(t){return this._level=t,this._notifyScopeListeners(),this}setTransactionName(t){return this._transactionName=t,this._notifyScopeListeners(),this}setContext(t,e){return null===e?delete this._contexts[t]:this._contexts={...this._contexts,[t]:e},this._notifyScopeListeners(),this}setSpan(t){return this._span=t,this._notifyScopeListeners(),this}getSpan(){return this._span}getTransaction(){var t=this.getSpan();return t&&t.transaction}setSession(t){return t?this._session=t:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(t){if(!t)return this;if("function"==typeof t){var e=t(this);return e instanceof c?e:this}return t instanceof c?(this._tags={...this._tags,...t._tags},this._extra={...this._extra,...t._extra},this._contexts={...this._contexts,...t._contexts},t._user&&Object.keys(t._user).length&&(this._user=t._user),t._level&&(this._level=t._level),t._fingerprint&&(this._fingerprint=t._fingerprint),t._requestSession&&(this._requestSession=t._requestSession)):(0,r.PO)(t)&&(t=t,this._tags={...this._tags,...t.tags},this._extra={...this._extra,...t.extra},this._contexts={...this._contexts,...t.contexts},t.user&&(this._user=t.user),t.level&&(this._level=t.level),t.fingerprint&&(this._fingerprint=t.fingerprint),t.requestSession&&(this._requestSession=t.requestSession)),this}clear(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._requestSession=void 0,this._span=void 0,this._session=void 0,this._notifyScopeListeners(),this._attachments=[],this}addBreadcrumb(t,e){var n="number"==typeof e?Math.min(e,100):100;if(n<=0)return this;var r={timestamp:(0,i.yW)(),...t};return this._breadcrumbs=[...this._breadcrumbs,r].slice(-n),this._notifyScopeListeners(),this}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(t){return this._attachments.push(t),this}getAttachments(){return this._attachments}clearAttachments(){return this._attachments=[],this}applyToEvent(t,e={}){if(this._extra&&Object.keys(this._extra).length&&(t.extra={...this._extra,...t.extra}),this._tags&&Object.keys(this._tags).length&&(t.tags={...this._tags,...t.tags}),this._user&&Object.keys(this._user).length&&(t.user={...this._user,...t.user}),this._contexts&&Object.keys(this._contexts).length&&(t.contexts={...this._contexts,...t.contexts}),this._level&&(t.level=this._level),this._transactionName&&(t.transaction=this._transactionName),this._span){t.contexts={trace:this._span.getTraceContext(),...t.contexts};var n=this._span.transaction&&this._span.transaction.name;n&&(t.tags={transaction:n,...t.tags})}return this._applyFingerprint(t),t.breadcrumbs=[...t.breadcrumbs||[],...this._breadcrumbs],t.breadcrumbs=t.breadcrumbs.length>0?t.breadcrumbs:void 0,t.sdkProcessingMetadata={...t.sdkProcessingMetadata,...this._sdkProcessingMetadata},this._notifyEventProcessors([...d(),...this._eventProcessors],t,e)}setSDKProcessingMetadata(t){return this._sdkProcessingMetadata={...this._sdkProcessingMetadata,...t},this}_notifyEventProcessors(t,e,n,i=0){return new o.cW(((o,a)=>{var u=t[i];if(null===e||"function"!=typeof u)o(e);else{var c=u({...e},n);("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&u.id&&null===c&&s.kg.log(`Event processor "${u.id}" dropped event`),(0,r.J8)(c)?c.then((e=>this._notifyEventProcessors(t,e,n,i+1).then(o))).then(null,a):this._notifyEventProcessors(t,c,n,i+1).then(o).then(null,a)}}))}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach((t=>{t(this)})),this._notifyingListeners=!1)}_applyFingerprint(t){t.fingerprint=t.fingerprint?Array.isArray(t.fingerprint)?t.fingerprint:[t.fingerprint]:[],this._fingerprint&&(t.fingerprint=t.fingerprint.concat(this._fingerprint)),t.fingerprint&&!t.fingerprint.length&&delete t.fingerprint}}function d(){return(0,a.Y)("globalEventProcessors",(()=>[]))}function _(t){d().push(t)}},2430:function(t,e,n){n.d(e,{RJ:function(){return u},Hv:function(){return s},CT:function(){return a}});var r=n(7790),i=n(3699),o=n(1995);function s(t){var e=(0,r.ph)(),n={sid:(0,i.DM)(),init:!0,timestamp:e,started:e,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>function(t){return(0,o.Jr)({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}})}(n)};return t&&a(n,t),n}function a(t,e={}){if(e.user&&(!t.ipAddress&&e.user.ip_address&&(t.ipAddress=e.user.ip_address),t.did||e.did||(t.did=e.user.id||e.user.email||e.user.username)),t.timestamp=e.timestamp||(0,r.ph)(),e.ignoreDuration&&(t.ignoreDuration=e.ignoreDuration),e.sid&&(t.sid=32===e.sid.length?e.sid:(0,i.DM)()),void 0!==e.init&&(t.init=e.init),!t.did&&e.did&&(t.did=`${e.did}`),"number"==typeof e.started&&(t.started=e.started),t.ignoreDuration)t.duration=void 0;else if("number"==typeof e.duration)t.duration=e.duration;else{var n=t.timestamp-t.started;t.duration=n>=0?n:0}e.release&&(t.release=e.release),e.environment&&(t.environment=e.environment),!t.ipAddress&&e.ipAddress&&(t.ipAddress=e.ipAddress),!t.userAgent&&e.userAgent&&(t.userAgent=e.userAgent),"number"==typeof e.errors&&(t.errors=e.errors),e.status&&(t.status=e.status)}function u(t,e){let n={};e?n={status:e}:"ok"===t.status&&(n={status:"exited"}),a(t,n)}},6990:function(t,e,n){n.d(e,{Hk:function(){return r}});function r(t){return t[0]}},4194:function(t,e,n){n.d(e,{l:function(){return a},R:function(){return o}});var r=n(5907),i=n(1757);function o(t,e){try{let i=t;var n=[];let o=0,a=0;var r=" > ".length;let u;for(;i&&o++<5&&(u=s(i,e),!("html"===u||o>1&&a+n.length*r+u.length>=80));)n.push(u),a+=u.length,i=i.parentNode;return n.reverse().join(" > ")}catch(i){return"<unknown>"}}function s(t,e){var n=t,r=[];let o,s,a,u,c;if(!n||!n.tagName)return"";r.push(n.tagName.toLowerCase());var d=e&&e.length?e.filter((t=>n.getAttribute(t))).map((t=>[t,n.getAttribute(t)])):null;if(d&&d.length)d.forEach((t=>{r.push(`[${t[0]}="${t[1]}"]`)}));else if(n.id&&r.push(`#${n.id}`),o=n.className,o&&(0,i.HD)(o))for(s=o.split(/\s+/),c=0;c<s.length;c++)r.push(`.${s[c]}`);var _=["type","name","title","alt"];for(c=0;c<_.length;c++)a=_[c],u=n.getAttribute(a),u&&r.push(`[${a}="${u}"]`);return r.join("")}function a(){var t=(0,r.R)();try{return t.document.location.href}catch(e){return""}}},250:function(t,e,n){n.d(e,{y:function(){return o}});var r=n(6894),i=n(7790);function o(t,e,n){var o=[{type:"client_report"},{timestamp:n||(0,i.yW)(),discarded_events:t}];return(0,r.Jd)(e?{dsn:e}:{},[o])}},3135:function(t,e,n){n.d(e,{RA:function(){return o},vK:function(){return u}});var r=n(4388),i=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+))?@)([\w.-]+)(?::(\d+))?\/(.+)/;function o(t,e=!1){const{host:n,path:r,pass:i,port:o,projectId:s,protocol:a,publicKey:u}=t;return`${a}://${u}${e&&i?`:${i}`:""}@${n}${o?`:${o}`:""}/${r?`${r}/`:r}${s}`}function s(t){var e=i.exec(t);if(!e)throw new r.b(`Invalid Sentry Dsn: ${t}`);const[n,o,s="",u,c="",d]=e.slice(1);let _="",f=d;var l=f.split("/");if(l.length>1&&(_=l.slice(0,-1).join("/"),f=l.pop()),f){var p=f.match(/^\d+/);p&&(f=p[0])}return a({host:u,pass:s,path:_,projectId:f,port:c,protocol:n,publicKey:o})}function a(t){return{protocol:t.protocol,publicKey:t.publicKey||"",pass:t.pass||"",host:t.host,port:t.port||"",path:t.path||"",projectId:t.projectId}}function u(t){var e="string"==typeof t?s(t):a(t);return function(t){if("undefined"!=typeof __SENTRY_DEBUG__&&!__SENTRY_DEBUG__)return;const{port:e,projectId:n,protocol:i}=t;if(["protocol","publicKey","host","projectId"].forEach((e=>{if(!t[e])throw new r.b(`Invalid Sentry Dsn: ${e} missing`)})),!n.match(/^\d+$/))throw new r.b(`Invalid Sentry Dsn: Invalid projectId ${n}`);if(!function(t){return"http"===t||"https"===t}(i))throw new r.b(`Invalid Sentry Dsn: Invalid protocol ${i}`);if(e&&isNaN(parseInt(e,10)))throw new r.b(`Invalid Sentry Dsn: Invalid port ${e}`)}(e),e}},4285:function(t,e,n){function r(){return"undefined"!=typeof __SENTRY_BROWSER_BUNDLE__&&!!__SENTRY_BROWSER_BUNDLE__}n.d(e,{n:function(){return r}})},6894:function(t,e,n){n.d(e,{BO:function(){return o},zQ:function(){return c},Jd:function(){return i},mL:function(){return _},gv:function(){return s},V$:function(){return u}});var r=n(1995);function i(t,e=[]){return[t,e]}function o(t,e){const[n,r]=t;return[n,[...r,e]]}function s(t,e){t[1].forEach((t=>{var n=t[0].type;e(t,n)}))}function a(t,e){return(e||new TextEncoder).encode(t)}function u(t,e){const[n,r]=t;let i=JSON.stringify(n);function o(t){"string"==typeof i?i="string"==typeof t?i+t:[a(i,e),t]:i.push("string"==typeof t?a(t,e):t)}for(var s of r){const[t,e]=s;o(`\n${JSON.stringify(t)}\n`),o("string"==typeof e||e instanceof Uint8Array?e:JSON.stringify(e))}return"string"==typeof i?i:function(t){var e=t.reduce(((t,e)=>t+e.length),0),n=new Uint8Array(e);let r=0;for(var i of t)n.set(i,r),r+=i.length;return n}(i)}function c(t,e){var n="string"==typeof t.data?a(t.data,e):t.data;return[(0,r.Jr)({type:"attachment",length:n.length,filename:t.filename,content_type:t.contentType,attachment_type:t.attachmentType}),n]}var d={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default"};function _(t){return d[t]}},4388:function(t,e,n){n.d(e,{b:function(){return r}});class r extends Error{constructor(t){super(t),this.message=t,this.name=new.target.prototype.constructor.name,Object.setPrototypeOf(this,new.target.prototype)}}},5907:function(t,e,n){n.d(e,{R:function(){return o},Y:function(){return s}});var r=n(7392),i={};function o(){return(0,r.KV)()||"undefined"!=typeof window?window:"undefined"!=typeof self?self:i}function s(t,e,n){var r=n||o(),i=r.__SENTRY__=r.__SENTRY__||{};return i[t]||(i[t]=e())}},4005:function(t,e,n){n.d(e,{o:function(){return l}});var r=n(5907),i=n(1757),o=n(8536),s=n(1995),a=n(9038),u=n(9798),c=(0,r.R)(),d={},_={};function f(t){if(!_[t])switch(_[t]=!0,t){case"console":!function(){if(!("console"in c))return;o.RU.forEach((function(t){t in c.console&&(0,s.hl)(c.console,t,(function(e){return function(...n){p("console",{args:n,level:t}),e&&e.apply(c.console,n)}}))}))}();break;case"dom":!function(){if(!("document"in c))return;var t=p.bind(null,"dom"),e=E(t,!0);c.document.addEventListener("click",e,!1),c.document.addEventListener("keypress",e,!1),["EventTarget","Node"].forEach((e=>{var n=c[e]&&c[e].prototype;n&&n.hasOwnProperty&&n.hasOwnProperty("addEventListener")&&((0,s.hl)(n,"addEventListener",(function(e){return function(n,r,i){if("click"===n||"keypress"==n)try{var o=this,s=o.__sentry_instrumentation_handlers__=o.__sentry_instrumentation_handlers__||{},a=s[n]=s[n]||{refCount:0};if(!a.handler){var u=E(t);a.handler=u,e.call(this,n,u,i)}a.refCount+=1}catch(c){}return e.call(this,n,r,i)}})),(0,s.hl)(n,"removeEventListener",(function(t){return function(e,n,r){if("click"===e||"keypress"==e)try{var i=this,o=i.__sentry_instrumentation_handlers__||{},s=o[e];s&&(s.refCount-=1,s.refCount<=0&&(t.call(this,e,s.handler,r),s.handler=void 0,delete o[e]),0===Object.keys(o).length&&delete i.__sentry_instrumentation_handlers__)}catch(a){}return t.call(this,e,n,r)}})))}))}();break;case"xhr":!function(){if(!("XMLHttpRequest"in c))return;var t=XMLHttpRequest.prototype;(0,s.hl)(t,"open",(function(t){return function(...e){var n=this,r=e[1],o=n.__sentry_xhr__={method:(0,i.HD)(e[0])?e[0].toUpperCase():e[0],url:e[1]};(0,i.HD)(r)&&"POST"===o.method&&r.match(/sentry_key/)&&(n.__sentry_own_request__=!0);var a=function(){if(4===n.readyState){try{o.status_code=n.status}catch(t){}p("xhr",{args:e,endTimestamp:Date.now(),startTimestamp:Date.now(),xhr:n})}};return"onreadystatechange"in n&&"function"==typeof n.onreadystatechange?(0,s.hl)(n,"onreadystatechange",(function(t){return function(...e){return a(),t.apply(n,e)}})):n.addEventListener("readystatechange",a),t.apply(n,e)}})),(0,s.hl)(t,"send",(function(t){return function(...e){return this.__sentry_xhr__&&void 0!==e[0]&&(this.__sentry_xhr__.body=e[0]),p("xhr",{args:e,startTimestamp:Date.now(),xhr:this}),t.apply(this,e)}}))}();break;case"fetch":!function(){if(!(0,u.t$)())return;(0,s.hl)(c,"fetch",(function(t){return function(...e){var n={args:e,fetchData:{method:h(e),url:v(e)},startTimestamp:Date.now()};return p("fetch",{...n}),t.apply(c,e).then((t=>(p("fetch",{...n,endTimestamp:Date.now(),response:t}),t)),(t=>{throw p("fetch",{...n,endTimestamp:Date.now(),error:t}),t}))}}))}();break;case"history":!function(){if(!(0,u.Bf)())return;var t=c.onpopstate;function e(t){return function(...e){var n=e.length>2?e[2]:void 0;if(n){var r=g,i=String(n);g=i,p("history",{from:r,to:i})}return t.apply(this,e)}}c.onpopstate=function(...e){var n=c.location.href,r=g;if(g=n,p("history",{from:r,to:n}),t)try{return t.apply(this,e)}catch(i){}},(0,s.hl)(c.history,"pushState",e),(0,s.hl)(c.history,"replaceState",e)}();break;case"error":S=c.onerror,c.onerror=function(t,e,n,r,i){return p("error",{column:r,error:i,line:n,msg:t,url:e}),!!S&&S.apply(this,arguments)};break;case"unhandledrejection":b=c.onunhandledrejection,c.onunhandledrejection=function(t){return p("unhandledrejection",t),!b||b.apply(this,arguments)};break;default:return void(("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&o.kg.warn("unknown instrumentation type:",t))}}function l(t,e){d[t]=d[t]||[],d[t].push(e),f(t)}function p(t,e){if(t&&d[t])for(var n of d[t]||[])try{n(e)}catch(r){("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&o.kg.error(`Error while triggering instrumentation handler.\nType: ${t}\nName: ${(0,a.$P)(n)}\nError:`,r)}}function h(t=[]){return"Request"in c&&(0,i.V9)(t[0],Request)&&t[0].method?String(t[0].method).toUpperCase():t[1]&&t[1].method?String(t[1].method).toUpperCase():"GET"}function v(t=[]){return"string"==typeof t[0]?t[0]:"Request"in c&&(0,i.V9)(t[0],Request)?t[0].url:String(t[0])}let g;let y,m;function E(t,e=!1){return n=>{if(n&&m!==n&&!function(t){if("keypress"!==t.type)return!1;try{var e=t.target;if(!e||!e.tagName)return!0;if("INPUT"===e.tagName||"TEXTAREA"===e.tagName||e.isContentEditable)return!1}catch(n){}return!0}(n)){var r="keypress"===n.type?"input":n.type;(void 0===y||function(t,e){if(!t)return!0;if(t.type!==e.type)return!0;try{if(t.target!==e.target)return!0}catch(n){}return!1}(m,n))&&(t({event:n,name:r,global:e}),m=n),clearTimeout(y),y=c.setTimeout((()=>{y=void 0}),1e3)}}}let S=null;let b=null},1757:function(t,e,n){n.d(e,{TX:function(){return a},fm:function(){return u},kK:function(){return l},VZ:function(){return i},VW:function(){return s},cO:function(){return f},V9:function(){return y},i2:function(){return g},PO:function(){return _},pt:function(){return d},Kj:function(){return p},HD:function(){return c},Cy:function(){return v},J8:function(){return h}});var r=Object.prototype.toString;function i(t){switch(r.call(t)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return y(t,Error)}}function o(t,e){return r.call(t)===`[object ${e}]`}function s(t){return o(t,"ErrorEvent")}function a(t){return o(t,"DOMError")}function u(t){return o(t,"DOMException")}function c(t){return o(t,"String")}function d(t){return null===t||"object"!=typeof t&&"function"!=typeof t}function _(t){return o(t,"Object")}function f(t){return"undefined"!=typeof Event&&y(t,Event)}function l(t){return"undefined"!=typeof Element&&y(t,Element)}function p(t){return o(t,"RegExp")}function h(t){return Boolean(t&&t.then&&"function"==typeof t.then)}function v(t){return _(t)&&"nativeEvent"in t&&"preventDefault"in t&&"stopPropagation"in t}function g(t){return"number"==typeof t&&t!=t}function y(t,e){try{return t instanceof e}catch(n){return!1}}},8536:function(t,e,n){n.d(e,{RU:function(){return o},Cf:function(){return s},kg:function(){return u}});var r=n(5907),i=(0,r.R)(),o=["debug","info","warn","error","log","assert","trace"];function s(t){var e=(0,r.R)();if(!("console"in e))return t();var n=e.console,i={};o.forEach((t=>{var r=n[t]&&n[t].__sentry_original__;t in e.console&&r&&(i[t]=n[t],n[t]=r)}));try{return t()}finally{Object.keys(i).forEach((t=>{n[t]=i[t]}))}}function a(){let t=!1;var e={enable:()=>{t=!0},disable:()=>{t=!1}};return"undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__?o.forEach((n=>{e[n]=(...e)=>{t&&s((()=>{i.console[n](`Sentry Logger [${n}]:`,...e)}))}})):o.forEach((t=>{e[t]=()=>{}})),e}let u;u="undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__?(0,r.Y)("logger",a):a()},4048:function(t,e,n){function r(){var t="function"==typeof WeakSet,e=t?new WeakSet:[];return[function(n){if(t)return!!e.has(n)||(e.add(n),!1);for(let t=0;t<e.length;t++){if(e[t]===n)return!0}return e.push(n),!1},function(n){if(t)e.delete(n);else for(let t=0;t<e.length;t++)if(e[t]===n){e.splice(t,1);break}}]}n.d(e,{i:function(){return r}})},3699:function(t,e,n){n.d(e,{EG:function(){return d},Db:function(){return c},YO:function(){return _},jH:function(){return u},en:function(){return s},DM:function(){return o}});var r=n(5907),i=n(1995);function o(){var t=(0,r.R)(),e=t.crypto||t.msCrypto;if(void 0!==e&&e.getRandomValues){var n=new Uint16Array(8);e.getRandomValues(n),n[3]=4095&n[3]|16384,n[4]=16383&n[4]|32768;var i=t=>{let e=t.toString(16);for(;e.length<4;)e=`0${e}`;return e};return i(n[0])+i(n[1])+i(n[2])+i(n[3])+i(n[4])+i(n[5])+i(n[6])+i(n[7])}return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,(t=>{var e=16*Math.random()|0;return("x"===t?e:3&e|8).toString(16)}))}function s(t){if(!t)return{};var e=t.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!e)return{};var n=e[6]||"",r=e[8]||"";return{host:e[4],path:e[5],protocol:e[2],relative:e[5]+n+r}}function a(t){return t.exception&&t.exception.values?t.exception.values[0]:void 0}function u(t){const{message:e,event_id:n}=t;if(e)return e;var r=a(t);return r?r.type&&r.value?`${r.type}: ${r.value}`:r.type||r.value||n||"<unknown>":n||"<unknown>"}function c(t,e,n){var r=t.exception=t.exception||{},i=r.values=r.values||[],o=i[0]=i[0]||{};o.value||(o.value=e||""),o.type||(o.type=n||"Error")}function d(t,e){var n=a(t);if(n){var r=n.mechanism;if(n.mechanism={type:"generic",handled:!0,...r,...e},e&&"data"in e){var i={...r&&r.data,...e.data};n.mechanism.data=i}}}function _(t){if(t&&t.__sentry_captured__)return!0;try{(0,i.xp)(t,"__sentry_captured__",!0)}catch(e){}return!1}},7392:function(t,e,n){n.d(e,{l$:function(){return o},KV:function(){return i}});var r=n(4285);function i(){return!(0,r.n)()&&"[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0)}function o(t,e){return t.require(e)}t=n.hmd(t)},8035:function(t,e,n){n.d(e,{Fv:function(){return a},Qy:function(){return u}});var r=n(1757),i=n(4048),o=n(1995),s=n(9038);function a(t,e=1/0,n=1/0){try{return c("",t,e,n)}catch(r){return{ERROR:`**non-serializable** (${r})`}}}function u(t,e=3,n=102400){var r,i=a(t,e);return r=i,function(t){return~-encodeURI(t).split(/%..|./).length}(JSON.stringify(r))>n?u(t,e-1,n):i}function c(t,e,n=1/0,a=1/0,u=(0,i.i)()){const[d,_]=u;var f=e;if(f&&"function"==typeof f.toJSON)try{return f.toJSON()}catch(m){}if(null===e||["number","boolean","string"].includes(typeof e)&&!(0,r.i2)(e))return e;var l=function(t,e){try{return"domain"===t&&e&&"object"==typeof e&&e._events?"[Domain]":"domainEmitter"===t?"[DomainEmitter]":"undefined"!=typeof window&&e===window?"[Global]":"undefined"!=typeof window&&e===window?"[Window]":"undefined"!=typeof document&&e===document?"[Document]":(0,r.Cy)(e)?"[SyntheticEvent]":"number"==typeof e&&e!=e?"[NaN]":void 0===e?"[undefined]":"function"==typeof e?`[Function: ${(0,s.$P)(e)}]`:"symbol"==typeof e?`[${String(e)}]`:"bigint"==typeof e?`[BigInt: ${String(e)}]`:`[object ${Object.getPrototypeOf(e).constructor.name}]`}catch(m){return`**non-serializable** (${m})`}}(t,e);if(!l.startsWith("[object "))return l;if(e.__sentry_skip_normalization__)return e;if(0===n)return l.replace("object ","");if(d(e))return"[Circular ~]";var p=Array.isArray(e)?[]:{};let h=0;var v=(0,o.Sh)(e);for(var g in v)if(Object.prototype.hasOwnProperty.call(v,g)){if(h>=a){p[g]="[MaxProperties ~]";break}var y=v[g];p[g]=c(g,y,n-1,a,u),h+=1}return _(e),p}},1995:function(t,e,n){n.d(e,{xp:function(){return a},Sh:function(){return _},Jr:function(){return h},zf:function(){return p},hl:function(){return s},HK:function(){return c},$Q:function(){return u},_j:function(){return d}});var r=n(4194),i=n(1757),o=n(9660);function s(t,e,n){if(e in t){var r=t[e],i=n(r);if("function"==typeof i)try{u(i,r)}catch(o){}t[e]=i}}function a(t,e,n){Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0})}function u(t,e){var n=e.prototype||{};t.prototype=e.prototype=n,a(t,"__sentry_original__",e)}function c(t){return t.__sentry_original__}function d(t){return Object.keys(t).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(t[e])}`)).join("&")}function _(t){if((0,i.VZ)(t))return{message:t.message,name:t.name,stack:t.stack,...l(t)};if((0,i.cO)(t)){var e={type:t.type,target:f(t.target),currentTarget:f(t.currentTarget),...l(t)};return"undefined"!=typeof CustomEvent&&(0,i.V9)(t,CustomEvent)&&(e.detail=t.detail),e}return t}function f(t){try{return(0,i.kK)(t)?(0,r.R)(t):Object.prototype.toString.call(t)}catch(e){return"<unknown>"}}function l(t){if("object"==typeof t&&null!==t){var e={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}return{}}function p(t,e=40){var n=Object.keys(_(t));if(n.sort(),!n.length)return"[object has no keys]";if(n[0].length>=e)return(0,o.$G)(n[0],e);for(let i=n.length;i>0;i--){var r=n.slice(0,i).join(", ");if(!(r.length>e))return i===n.length?r:(0,o.$G)(r,e)}return""}function h(t){return v(t,new Map)}function v(t,e){if((0,i.PO)(t)){if(void 0!==(o=e.get(t)))return o;var n={};for(var r of(e.set(t,n),Object.keys(t)))void 0!==t[r]&&(n[r]=v(t[r],e));return n}if(Array.isArray(t)){var o;if(void 0!==(o=e.get(t)))return o;n=[];return e.set(t,n),t.forEach((t=>{n.push(v(t,e))})),n}return t}},8963:function(t,e,n){n.d(e,{x:function(){return o}});var r=n(4388),i=n(7946);function o(t){var e=[];function n(t){return e.splice(e.indexOf(t),1)[0]}return{$:e,add:function(o){if(!(void 0===t||e.length<t))return(0,i.$2)(new r.b("Not adding Promise due to buffer limit reached."));var s=o();return-1===e.indexOf(s)&&e.push(s),s.then((()=>n(s))).then(null,(()=>n(s).then(null,(()=>{})))),s},drain:function(t){return new i.cW(((n,r)=>{let o=e.length;if(!o)return n(!0);var s=setTimeout((()=>{t&&t>0&&n(!1)}),t);e.forEach((t=>{(0,i.WD)(t).then((()=>{--o||(clearTimeout(s),n(!0))}),r)}))}))}}}},1630:function(t,e,n){n.d(e,{Q:function(){return r},WG:function(){return i}});function r(t,e,n=Date.now()){return function(t,e){return t[e]||t.all||0}(t,e)>n}function i(t,{statusCode:e,headers:n},r=Date.now()){var i={...t},o=n&&n["x-sentry-rate-limits"],s=n&&n["retry-after"];if(o)for(var a of o.trim().split(",")){const[t,e]=a.split(":",2);var u=parseInt(t,10),c=1e3*(isNaN(u)?60:u);if(e)for(var d of e.split(";"))i[d]=r+c;else i.all=r+c}else s?i.all=r+function(t,e=Date.now()){var n=parseInt(`${t}`,10);if(!isNaN(n))return 1e3*n;var r=Date.parse(`${t}`);return isNaN(r)?6e4:r-e}(s,r):429===e&&(i.all=r+6e4);return i}},8653:function(t,e,n){n.d(e,{VT:function(){return i}});var r=["fatal","error","warning","log","info","debug"];function i(t){return"warn"===t?"warning":r.includes(t)?t:"log"}},9038:function(t,e,n){n.d(e,{pE:function(){return r},$P:function(){return s},Sq:function(){return i}});function r(...t){var e=t.sort(((t,e)=>t[0]-e[0])).map((t=>t[1]));return(t,n=0)=>{var r=[];for(var i of t.split("\n").slice(n))for(var o of e){var s=o(i);if(s){r.push(s);break}}return function(t){if(!t.length)return[];let e=t;var n=e[0].function||"",r=e[e.length-1].function||"";-1===n.indexOf("captureMessage")&&-1===n.indexOf("captureException")||(e=e.slice(1));-1!==r.indexOf("sentryWrapped")&&(e=e.slice(0,-1));return e.slice(0,50).map((t=>({...t,filename:t.filename||e[0].filename,function:t.function||"?"}))).reverse()}(r)}}function i(t){return Array.isArray(t)?r(...t):t}var o="<anonymous>";function s(t){try{return t&&"function"==typeof t&&t.name||o}catch(e){return o}}},9660:function(t,e,n){n.d(e,{zC:function(){return s},nK:function(){return o},$G:function(){return i}});var r=n(1757);function i(t,e=0){return"string"!=typeof t||0===e||t.length<=e?t:`${t.substr(0,e)}...`}function o(t,e){if(!Array.isArray(t))return"";var n=[];for(let o=0;o<t.length;o++){var r=t[o];try{n.push(String(r))}catch(i){n.push("[value cannot be serialized]")}}return n.join(e)}function s(t,e){return!!(0,r.HD)(t)&&((0,r.Kj)(e)?e.test(t):"string"==typeof e&&-1!==t.indexOf(e))}},9798:function(t,e,n){n.d(e,{Du:function(){return s},Ak:function(){return o},Bf:function(){return u},t$:function(){return a}});var r=n(5907),i=n(8536);function o(){if(!("fetch"in(0,r.R)()))return!1;try{return new Headers,new Request(""),new Response,!0}catch(t){return!1}}function s(t){return t&&/^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(t.toString())}function a(){if(!o())return!1;var t=(0,r.R)();if(s(t.fetch))return!0;let e=!1;var n=t.document;if(n&&"function"==typeof n.createElement)try{var a=n.createElement("iframe");a.hidden=!0,n.head.appendChild(a),a.contentWindow&&a.contentWindow.fetch&&(e=s(a.contentWindow.fetch)),n.head.removeChild(a)}catch(u){("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&i.kg.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",u)}return e}function u(){var t=(0,r.R)(),e=t.chrome,n=e&&e.app&&e.app.runtime,i="history"in t&&!!t.history.pushState&&!!t.history.replaceState;return!n&&i}},7946:function(t,e,n){n.d(e,{cW:function(){return a},$2:function(){return s},WD:function(){return o}});var r,i=n(1757);function o(t){return new a((e=>{e(t)}))}function s(t){return new a(((e,n)=>{n(t)}))}!function(t){t[t.PENDING=0]="PENDING";t[t.RESOLVED=1]="RESOLVED";t[t.REJECTED=2]="REJECTED"}(r||(r={}));class a{__init(){this._state=r.PENDING}__init2(){this._handlers=[]}constructor(t){a.prototype.__init.call(this),a.prototype.__init2.call(this),a.prototype.__init3.call(this),a.prototype.__init4.call(this),a.prototype.__init5.call(this),a.prototype.__init6.call(this);try{t(this._resolve,this._reject)}catch(e){this._reject(e)}}then(t,e){return new a(((n,r)=>{this._handlers.push([!1,e=>{if(t)try{n(t(e))}catch(i){r(i)}else n(e)},t=>{if(e)try{n(e(t))}catch(i){r(i)}else r(t)}]),this._executeHandlers()}))}catch(t){return this.then((t=>t),t)}finally(t){return new a(((e,n)=>{let r,i;return this.then((e=>{i=!1,r=e,t&&t()}),(e=>{i=!0,r=e,t&&t()})).then((()=>{i?n(r):e(r)}))}))}__init3(){this._resolve=t=>{this._setResult(r.RESOLVED,t)}}__init4(){this._reject=t=>{this._setResult(r.REJECTED,t)}}__init5(){this._setResult=(t,e)=>{this._state===r.PENDING&&((0,i.J8)(e)?e.then(this._resolve,this._reject):(this._state=t,this._value=e,this._executeHandlers()))}}__init6(){this._executeHandlers=()=>{if(this._state!==r.PENDING){var t=this._handlers.slice();this._handlers=[],t.forEach((t=>{t[0]||(this._state===r.RESOLVED&&t[1](this._value),this._state===r.REJECTED&&t[2](this._value),t[0]=!0)}))}}}}},7790:function(t,e,n){n.d(e,{yW:function(){return u},ph:function(){return c}});var r=n(5907),i=n(7392);t=n.hmd(t);var o={nowSeconds:()=>Date.now()/1e3};var s=(0,i.KV)()?function(){try{return(0,i.l$)(t,"perf_hooks").performance}catch(e){return}}():function(){const{performance:t}=(0,r.R)();if(t&&t.now)return{now:()=>t.now(),timeOrigin:Date.now()-t.now()}}(),a=void 0===s?o:{nowSeconds:()=>(s.timeOrigin+s.now())/1e3},u=o.nowSeconds.bind(o),c=a.nowSeconds.bind(a);let d;(()=>{const{performance:t}=(0,r.R)();if(t&&t.now){var e=36e5,n=t.now(),i=Date.now(),o=t.timeOrigin?Math.abs(t.timeOrigin+n-i):e,s=o<e,a=t.timing&&t.timing.navigationStart,u="number"==typeof a?Math.abs(a+n-i):e;return s||u<e?o<=u?(d="timeOrigin",t.timeOrigin):(d="navigationStart",a):(d="dateNow",i)}d="none"})()},6989:function(t){t.exports=window.wp.apiFetch}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={id:r,loaded:!1,exports:{}};return t[r](o,o.exports,n),o.loaded=!0,o.exports}n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,{a:e}),e},n.d=function(t,e){for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.hmd=function(t){return(t=Object.create(t)).children||(t.children=[]),Object.defineProperty(t,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+t.id)}}),t},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};!function(){n.r(r);var t,e=n(2456),i=n(2483),o=n(6989),s=n.n(o);const a="true"===(null===(t=window.A8C_ETK_ErrorReporting_Config)||void 0===t?void 0:t.shouldActivateSentry),u=window._jsErr||[],c=window._headJsErrorHandler;a?(e.S1({dsn:"https://658ae291b00242148af6b76494d4a49a@o248881.ingest.sentry.io/5876245",release:"wpcom-test-01"}),u.forEach((t=>i.Tb(t))),e.yl().then((()=>delete window._jsErr))):function(){const t=t=>{let{error:e}=t;if(!e)return;const n={message:e.message,trace:e.stack,url:document.location.href,feature:"wp-admin"};return s()({global:!0,path:"/rest/v1.1/js-error",method:"POST",data:{error:JSON.stringify(n)}}).catch((()=>console.error("Error: Unable to record the error in Logstash.")))};window.addEventListener("error",t),Promise.allSettled(u.map(t)).then((()=>delete window._jsErr))}(),window.removeEventListener("error",c),delete window._headJsErrorHandler}(),window.EditingToolkit=r}();
|
2 |
//# sourceMappingURL=error-reporting.min.js.map
|
1 |
+
!function(){"use strict";var t={2314:function(t,e,n){n.d(e,{R:function(){return g}});var r=n(9849),i=n(1476),o=n(8585),s=n(4911),a=n(5907),u=n(3699),c=n(8536),d=n(250),_=n(3135),f=n(6894),l=n(1988),p=n(8356),h=n(5854),v=(0,a.R)();class g extends r.W{constructor(t){t._metadata=t._metadata||{},t._metadata.sdk=t._metadata.sdk||{name:"sentry.javascript.browser",packages:[{name:"npm:@sentry/browser",version:i.J}],version:i.J},super(t),t.sendClientReports&&v.document&&v.document.addEventListener("visibilitychange",(()=>{"hidden"===v.document.visibilityState&&this._flushOutcomes()}))}eventFromException(t,e){return(0,l.dr)(this._options.stackParser,t,e,this._options.attachStacktrace)}eventFromMessage(t,e="info",n){return(0,l.aB)(this._options.stackParser,t,e,n,this._options.attachStacktrace)}sendEvent(t,e){var n=this.getIntegrationById(p.p);n&&n.options&&n.options.sentry&&(0,o.Gd)().addBreadcrumb({category:"sentry."+("transaction"===t.type?"transaction":"event"),event_id:t.event_id,level:t.level,message:(0,u.jH)(t)},{event:t}),super.sendEvent(t,e)}_prepareEvent(t,e,n){return t.platform=t.platform||"javascript",super._prepareEvent(t,e,n)}_flushOutcomes(){var t=this._clearOutcomes();if(0!==t.length)if(this._dsn){("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&c.kg.log("Sending outcomes:",t);var e=(0,s.U)(this._dsn,this._options.tunnel),n=(0,d.y)(t,this._options.tunnel&&(0,_.RA)(this._dsn));try{(0,h.z)(e,(0,f.V$)(n))}catch(r){("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&c.kg.error(r)}}else("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&c.kg.log("No dsn provided, will not send outcomes");else("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&c.kg.log("No outcomes to send")}}},1988:function(t,e,n){n.d(e,{dr:function(){return l},aB:function(){return p},ME:function(){return h},GJ:function(){return u}});var r=n(1757),i=n(1995),o=n(8035),s=n(3699),a=n(7946);function u(t,e){var n=d(t,e),r={type:e&&e.name,value:f(e)};return n.length&&(r.stacktrace={frames:n}),void 0===r.type&&""===r.value&&(r.value="Unrecoverable error caught"),r}function c(t,e){return{exception:{values:[u(t,e)]}}}function d(t,e){var n=e.stacktrace||e.stack||"",r=function(t){if(t){if("number"==typeof t.framesToPop)return t.framesToPop;if(_.test(t.message))return 1}return 0}(e);try{return t(n,r)}catch(i){}return[]}var _=/Minified React error #\d+;/i;function f(t){var e=t&&t.message;return e?e.error&&"string"==typeof e.error.message?e.error.message:e:"No error message"}function l(t,e,n,r){var i=h(t,e,n&&n.syntheticException||void 0,r);return(0,s.EG)(i),i.level="error",n&&n.event_id&&(i.event_id=n.event_id),(0,a.WD)(i)}function p(t,e,n="info",r,i){var o=v(t,e,r&&r.syntheticException||void 0,i);return o.level=n,r&&r.event_id&&(o.event_id=r.event_id),(0,a.WD)(o)}function h(t,e,n,a,u){let _;if((0,r.VW)(e)&&e.error)return c(t,e.error);if((0,r.TX)(e)||(0,r.fm)(e)){var f=e;if("stack"in e)_=c(t,e);else{var l=f.name||((0,r.TX)(f)?"DOMError":"DOMException"),p=f.message?`${l}: ${f.message}`:l;_=v(t,p,n,a),(0,s.Db)(_,p)}return"code"in f&&(_.tags={..._.tags,"DOMException.code":`${f.code}`}),_}return(0,r.VZ)(e)?c(t,e):(0,r.PO)(e)||(0,r.cO)(e)?(_=function(t,e,n,s){var a={exception:{values:[{type:(0,r.cO)(e)?e.constructor.name:s?"UnhandledRejection":"Error",value:`Non-Error ${s?"promise rejection":"exception"} captured with keys: ${(0,i.zf)(e)}`}]},extra:{__serialized__:(0,o.Qy)(e)}};if(n){var u=d(t,n);u.length&&(a.exception.values[0].stacktrace={frames:u})}return a}(t,e,n,u),(0,s.EG)(_,{synthetic:!0}),_):(_=v(t,e,n,a),(0,s.Db)(_,`${e}`,void 0),(0,s.EG)(_,{synthetic:!0}),_)}function v(t,e,n,r){var i={message:e};if(r&&n){var o=d(t,n);o.length&&(i.exception={values:[{value:e,stacktrace:{frames:o}}]})}return i}},2634:function(t,e,n){n.d(e,{Wz:function(){return a},re:function(){return c}});var r=n(2483),i=n(1995),o=n(3699);let s=0;function a(){return s>0}function u(){s+=1,setTimeout((()=>{s-=1}))}function c(t,e={},n){if("function"!=typeof t)return t;try{var s=t.__sentry_wrapped__;if(s)return s;if((0,i.HK)(t))return t}catch(_){return t}var a=function(){var i=Array.prototype.slice.call(arguments);try{n&&"function"==typeof n&&n.apply(this,arguments);var s=i.map((t=>c(t,e)));return t.apply(this,s)}catch(a){throw u(),(0,r.$e)((t=>{t.addEventProcessor((t=>(e.mechanism&&((0,o.Db)(t,void 0,void 0),(0,o.EG)(t,e.mechanism)),t.extra={...t.extra,arguments:i},t))),(0,r.Tb)(a)})),a}};try{for(var d in t)Object.prototype.hasOwnProperty.call(t,d)&&(a[d]=t[d])}catch(f){}(0,i.$Q)(a,t),(0,i.xp)(t,"__sentry_wrapped__",a);try{Object.getOwnPropertyDescriptor(a,"name").configurable&&Object.defineProperty(a,"name",{get:()=>t.name})}catch(f){}return a}},8356:function(t,e,n){n.d(e,{p:function(){return d},O:function(){return _}});var r=n(8585),i=n(4005),o=n(4194),s=n(8653),a=n(9660),u=n(5907),c=n(3699),d="Breadcrumbs";class _{static __initStatic(){this.id=d}__init(){this.name=_.id}constructor(t){_.prototype.__init.call(this),this.options={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...t}}setupOnce(){this.options.console&&(0,i.o)("console",f),this.options.dom&&(0,i.o)("dom",function(t){function e(e){let n,i="object"==typeof t?t.serializeAttribute:void 0;"string"==typeof i&&(i=[i]);try{n=e.event.target?(0,o.R)(e.event.target,i):(0,o.R)(e.event,i)}catch(s){n="<unknown>"}0!==n.length&&(0,r.Gd)().addBreadcrumb({category:`ui.${e.name}`,message:n},{event:e.event,name:e.name,global:e.global})}return e}(this.options.dom)),this.options.xhr&&(0,i.o)("xhr",l),this.options.fetch&&(0,i.o)("fetch",p),this.options.history&&(0,i.o)("history",h)}}function f(t){var e={category:"console",data:{arguments:t.args,logger:"console"},level:(0,s.VT)(t.level),message:(0,a.nK)(t.args," ")};if("assert"===t.level){if(!1!==t.args[0])return;e.message=`Assertion failed: ${(0,a.nK)(t.args.slice(1)," ")||"console.assert"}`,e.data.arguments=t.args.slice(1)}(0,r.Gd)().addBreadcrumb(e,{input:t.args,level:t.level})}function l(t){if(t.endTimestamp){if(t.xhr.__sentry_own_request__)return;const{method:e,url:n,status_code:i,body:o}=t.xhr.__sentry_xhr__||{};(0,r.Gd)().addBreadcrumb({category:"xhr",data:{method:e,url:n,status_code:i},type:"http"},{xhr:t.xhr,input:o})}else;}function p(t){t.endTimestamp&&(t.fetchData.url.match(/sentry_key/)&&"POST"===t.fetchData.method||(t.error?(0,r.Gd)().addBreadcrumb({category:"fetch",data:t.fetchData,level:"error",type:"http"},{data:t.error,input:t.args}):(0,r.Gd)().addBreadcrumb({category:"fetch",data:{...t.fetchData,status_code:t.response.status},type:"http"},{input:t.args,response:t.response})))}function h(t){var e=(0,u.R)();let n=t.from,i=t.to;var o=(0,c.en)(e.location.href);let s=(0,c.en)(n);var a=(0,c.en)(i);s.path||(s=o),o.protocol===a.protocol&&o.host===a.host&&(i=a.relative),o.protocol===s.protocol&&o.host===s.host&&(n=s.relative),(0,r.Gd)().addBreadcrumb({category:"navigation",data:{from:n,to:i}})}_.__initStatic()},184:function(t,e,n){n.d(e,{I:function(){return i}});var r=n(8536);class i{constructor(){i.prototype.__init.call(this)}static __initStatic(){this.id="Dedupe"}__init(){this.name=i.id}setupOnce(t,e){var n=t=>{var n=e().getIntegration(i);if(n){try{if(function(t,e){if(!e)return!1;if(function(t,e){var n=t.message,r=e.message;if(!n&&!r)return!1;if(n&&!r||!n&&r)return!1;if(n!==r)return!1;if(!s(t,e))return!1;if(!o(t,e))return!1;return!0}(t,e))return!0;if(function(t,e){var n=a(e),r=a(t);if(!n||!r)return!1;if(n.type!==r.type||n.value!==r.value)return!1;if(!s(t,e))return!1;if(!o(t,e))return!1;return!0}(t,e))return!0;return!1}(t,n._previousEvent))return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&r.kg.warn("Event dropped due to being a duplicate of previously captured event."),null}catch(u){return n._previousEvent=t}return n._previousEvent=t}return t};n.id=this.name,t(n)}}function o(t,e){let n=u(t),r=u(e);if(!n&&!r)return!0;if(n&&!r||!n&&r)return!1;if(n=n,r=r,r.length!==n.length)return!1;for(let s=0;s<r.length;s++){var i=r[s],o=n[s];if(i.filename!==o.filename||i.lineno!==o.lineno||i.colno!==o.colno||i.function!==o.function)return!1}return!0}function s(t,e){let n=t.fingerprint,r=e.fingerprint;if(!n&&!r)return!0;if(n&&!r||!n&&r)return!1;n=n,r=r;try{return!(n.join("")!==r.join(""))}catch(i){return!1}}function a(t){return t.exception&&t.exception.values&&t.exception.values[0]}function u(t){var e=t.exception;if(e)try{return e.values[0].stacktrace.frames}catch(n){return}}i.__initStatic()},1228:function(t,e,n){n.d(e,{d:function(){return _}});var r=n(8585),i=n(4005),o=n(1757),s=n(4194),a=n(8536),u=n(3699),c=n(1988),d=n(2634);class _{static __initStatic(){this.id="GlobalHandlers"}__init(){this.name=_.id}__init2(){this._installFunc={onerror:f,onunhandledrejection:l}}constructor(t){_.prototype.__init.call(this),_.prototype.__init2.call(this),this._options={onerror:!0,onunhandledrejection:!0,...t}}setupOnce(){Error.stackTraceLimit=50;var t,e=this._options;for(var n in e){var r=this._installFunc[n];r&&e[n]&&(t=n,("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&a.kg.log(`Global Handler attached: ${t}`),r(),this._installFunc[n]=void 0)}}}function f(){(0,i.o)("error",(t=>{const[e,n,r]=v();if(!e.getIntegration(_))return;const{msg:i,url:s,line:a,column:u,error:f}=t;if(!((0,d.Wz)()||f&&f.__sentry_own_request__)){var l=void 0===f&&(0,o.HD)(i)?function(t,e,n,r){var i=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;let s=(0,o.VW)(t)?t.message:t,a="Error";var u=s.match(i);u&&(a=u[1],s=u[2]);return p({exception:{values:[{type:a,value:s}]}},e,n,r)}(i,s,a,u):p((0,c.ME)(n,f||i,void 0,r,!1),s,a,u);l.level="error",h(e,f,l,"onerror")}}))}function l(){(0,i.o)("unhandledrejection",(t=>{const[e,n,r]=v();if(!e.getIntegration(_))return;let i=t;try{"reason"in t?i=t.reason:"detail"in t&&"reason"in t.detail&&(i=t.detail.reason)}catch(a){}if((0,d.Wz)()||i&&i.__sentry_own_request__)return!0;var s=(0,o.pt)(i)?{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(i)}`}]}}:(0,c.ME)(n,i,void 0,r,!0);s.level="error",h(e,i,s,"onunhandledrejection")}))}function p(t,e,n,r){var i=t.exception=t.exception||{},a=i.values=i.values||[],u=a[0]=a[0]||{},c=u.stacktrace=u.stacktrace||{},d=c.frames=c.frames||[],_=isNaN(parseInt(r,10))?void 0:r,f=isNaN(parseInt(n,10))?void 0:n,l=(0,o.HD)(e)&&e.length>0?e:(0,s.l)();return 0===d.length&&d.push({colno:_,filename:l,function:"?",in_app:!0,lineno:f}),t}function h(t,e,n,r){(0,u.EG)(n,{handled:!1,type:r}),t.captureEvent(n,{originalException:e})}function v(){var t=(0,r.Gd)(),e=t.getClient(),n=e&&e.getOptions()||{stackParser:()=>[],attachStacktrace:!1};return[t,n.stackParser,n.attachStacktrace]}_.__initStatic()},2605:function(t,e,n){n.d(e,{q:function(){return s}});var r=n(1684),i=n(8585),o=(0,n(5907).R)();class s{constructor(){s.prototype.__init.call(this)}static __initStatic(){this.id="HttpContext"}__init(){this.name=s.id}setupOnce(){(0,r.c)((t=>{if((0,i.Gd)().getIntegration(s)){if(!o.navigator&&!o.location&&!o.document)return t;var e=t.request&&t.request.url||o.location&&o.location.href;const{referrer:r}=o.document||{},{userAgent:i}=o.navigator||{};var n={...e&&{url:e},headers:{...t.request&&t.request.headers,...r&&{Referer:r},...i&&{"User-Agent":i}}};return{...t,request:n}}return t}))}}s.__initStatic()},3440:function(t,e,n){n.d(e,{iP:function(){return a}});var r=n(8585),i=n(1684),o=n(1757),s=n(1988);class a{static __initStatic(){this.id="LinkedErrors"}__init(){this.name=a.id}constructor(t={}){a.prototype.__init.call(this),this._key=t.key||"cause",this._limit=t.limit||5}setupOnce(){var t=(0,r.Gd)().getClient();t&&(0,i.c)(((e,n)=>{var i=(0,r.Gd)().getIntegration(a);return i?function(t,e,n,r,i){if(!(r.exception&&r.exception.values&&i&&(0,o.V9)(i.originalException,Error)))return r;var s=u(t,n,i.originalException,e);return r.exception.values=[...s,...r.exception.values],r}(t.getOptions().stackParser,i._key,i._limit,e,n):e}))}}function u(t,e,n,r,i=[]){if(!(0,o.V9)(n[r],Error)||i.length+1>=e)return i;var a=(0,s.GJ)(t,n[r]);return u(t,e,n[r],r,[a,...i])}a.__initStatic()},3399:function(t,e,n){n.d(e,{p:function(){return u}});var r=n(5907),i=n(1995),o=n(9038),s=n(2634),a=["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 u{static __initStatic(){this.id="TryCatch"}__init(){this.name=u.id}constructor(t){u.prototype.__init.call(this),this._options={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...t}}setupOnce(){var t=(0,r.R)();this._options.setTimeout&&(0,i.hl)(t,"setTimeout",c),this._options.setInterval&&(0,i.hl)(t,"setInterval",c),this._options.requestAnimationFrame&&(0,i.hl)(t,"requestAnimationFrame",d),this._options.XMLHttpRequest&&"XMLHttpRequest"in t&&(0,i.hl)(XMLHttpRequest.prototype,"send",_);var e=this._options.eventTarget;e&&(Array.isArray(e)?e:a).forEach(f)}}function c(t){return function(...e){var n=e[0];return e[0]=(0,s.re)(n,{mechanism:{data:{function:(0,o.$P)(t)},handled:!0,type:"instrument"}}),t.apply(this,e)}}function d(t){return function(e){return t.apply(this,[(0,s.re)(e,{mechanism:{data:{function:"requestAnimationFrame",handler:(0,o.$P)(t)},handled:!0,type:"instrument"}})])}}function _(t){return function(...e){var n=this;return["onload","onerror","onprogress","onreadystatechange"].forEach((t=>{t in n&&"function"==typeof n[t]&&(0,i.hl)(n,t,(function(e){var n={mechanism:{data:{function:t,handler:(0,o.$P)(e)},handled:!0,type:"instrument"}},r=(0,i.HK)(e);return r&&(n.mechanism.data.handler=(0,o.$P)(r)),(0,s.re)(e,n)}))})),t.apply(this,e)}}function f(t){var e=(0,r.R)(),n=e[t]&&e[t].prototype;n&&n.hasOwnProperty&&n.hasOwnProperty("addEventListener")&&((0,i.hl)(n,"addEventListener",(function(e){return function(n,r,i){try{"function"==typeof r.handleEvent&&(r.handleEvent=(0,s.re)(r.handleEvent,{mechanism:{data:{function:"handleEvent",handler:(0,o.$P)(r),target:t},handled:!0,type:"instrument"}}))}catch(a){}return e.apply(this,[n,(0,s.re)(r,{mechanism:{data:{function:"addEventListener",handler:(0,o.$P)(r),target:t},handled:!0,type:"instrument"}}),i])}})),(0,i.hl)(n,"removeEventListener",(function(t){return function(e,n,r){var i=n;try{var o=i&&i.__sentry_wrapped__;o&&t.call(this,e,o,r)}catch(s){}return t.call(this,e,i,r)}})))}u.__initStatic()},2456:function(t,e,n){n.d(e,{yl:function(){return T},S1:function(){return k}});var r=n(1061),i=n(6286),o=n(8889),s=n(6853),a=n(8585),u=n(5907),c=n(9038),d=n(9798),_=n(8536),f=n(7946),l=n(4005),p=n(2314),h=n(2224),v=n(3399),g=n(8356),y=n(1228),m=n(3440),E=n(184),S=n(2605),b=n(6149),x=n(6144),w=[new r.QD,new i.c,new v.p,new g.O,new y.d,new m.iP,new E.I,new S.q];function k(t={}){if(void 0===t.defaultIntegrations&&(t.defaultIntegrations=w),void 0===t.release){var e=(0,u.R)();e.SENTRY_RELEASE&&e.SENTRY_RELEASE.id&&(t.release=e.SENTRY_RELEASE.id)}void 0===t.autoSessionTracking&&(t.autoSessionTracking=!0),void 0===t.sendClientReports&&(t.sendClientReports=!0);var n={...t,stackParser:(0,c.Sq)(t.stackParser||h.Dt),integrations:(0,o.m8)(t),transport:t.transport||((0,d.Ak)()?b.f:x.K)};(0,s.M)(p.R,n),t.autoSessionTracking&&function(){if(void 0===(0,u.R)().document)return void(("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&_.kg.warn("Session tracking in non-browser environment with @sentry/browser is not supported."));var t=(0,a.Gd)();if(!t.captureSession)return;D(t),(0,l.o)("history",(({from:t,to:e})=>{void 0!==t&&t!==e&&D((0,a.Gd)())}))}()}function T(t){var e=(0,a.Gd)().getClient();return e?e.flush(t):(("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&_.kg.warn("Cannot flush events. No client defined."),(0,f.WD)(!1))}function D(t){t.startSession({ignoreDuration:!0}),t.captureSession()}},2224:function(t,e,n){n.d(e,{Dt:function(){return f}});var r=n(9038),i="?";function o(t,e,n,r){var i={filename:t,function:e,in_app:!0};return void 0!==n&&(i.lineno=n),void 0!==r&&(i.colno=r),i}var s=/^\s*at (?:(.*?) ?\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,a=/\((\S*)(?::(\d+))(?::(\d+))\)/,u=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,c=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,d=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,_=[[30,t=>{var e=s.exec(t);if(e){if(e[2]&&0===e[2].indexOf("eval")){var n=a.exec(e[2]);n&&(e[2]=n[1],e[3]=n[2],e[4]=n[3])}const[t,r]=l(e[1]||i,e[2]);return o(r,t,e[3]?+e[3]:void 0,e[4]?+e[4]:void 0)}}],[50,t=>{var e=u.exec(t);if(e){if(e[3]&&e[3].indexOf(" > eval")>-1){var n=c.exec(e[3]);n&&(e[1]=e[1]||"eval",e[3]=n[1],e[4]=n[2],e[5]="")}let t=e[3],r=e[1]||i;return[r,t]=l(r,t),o(t,r,e[4]?+e[4]:void 0,e[5]?+e[5]:void 0)}}],[40,t=>{var e=d.exec(t);return e?o(e[2],e[1]||i,+e[3],e[4]?+e[4]:void 0):void 0}]],f=(0,r.pE)(..._),l=(t,e)=>{var n=-1!==t.indexOf("safari-extension"),r=-1!==t.indexOf("safari-web-extension");return n||r?[-1!==t.indexOf("@")?t.split("@")[0]:i,n?`safari-extension:${e}`:`safari-web-extension:${e}`]:[t,e]}},6149:function(t,e,n){n.d(e,{f:function(){return o}});var r=n(1518),i=n(5854);function o(t,e=(0,i.x)()){return(0,r.q)(t,(function(n){var r={body:n.body,method:"POST",referrerPolicy:"origin",headers:t.headers,...t.fetchOptions};return e(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")}})))}))}},5854:function(t,e,n){n.d(e,{x:function(){return u},z:function(){return c}});var r=n(5907),i=n(9798),o=n(8536),s=(0,r.R)();let a;function u(){if(a)return a;if((0,i.Du)(s.fetch))return a=s.fetch.bind(s);var t=s.document;let e=s.fetch;if(t&&"function"==typeof t.createElement)try{var n=t.createElement("iframe");n.hidden=!0,t.head.appendChild(n);var r=n.contentWindow;r&&r.fetch&&(e=r.fetch),t.head.removeChild(n)}catch(u){("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&o.kg.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",u)}return a=e.bind(s)}function c(t,e){if("[object Navigator]"===Object.prototype.toString.call(s&&s.navigator)&&"function"==typeof s.navigator.sendBeacon)s.navigator.sendBeacon.bind(s.navigator)(t,e);else if((0,i.Ak)()){u()(t,{body:e,method:"POST",credentials:"omit",keepalive:!0}).then(null,(t=>{("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&o.kg.error(t)}))}}},6144:function(t,e,n){n.d(e,{K:function(){return o}});var r=n(1518),i=n(7946);function o(t){return(0,r.q)(t,(function(e){return new i.cW(((n,r)=>{var i=new XMLHttpRequest;for(var o in i.onerror=r,i.onreadystatechange=()=>{4===i.readyState&&n({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),t.headers)Object.prototype.hasOwnProperty.call(t.headers,o)&&i.setRequestHeader(o,t.headers[o]);i.send(e.body)}))}))}},4911:function(t,e,n){n.d(e,{U:function(){return o}});var r=n(1995);function i(t){var e=t.protocol?`${t.protocol}:`:"",n=t.port?`:${t.port}`:"";return`${e}//${t.host}${n}${t.path?`/${t.path}`:""}/api/`}function o(t,e){return e||`${function(t){return`${i(t)}${t.projectId}/envelope/`}(t)}?${function(t){return(0,r._j)({sentry_key:t.publicKey,sentry_version:"7"})}(t)}`}},9849:function(t,e,n){n.d(e,{W:function(){return m}});var r=n(2430),i=n(1684),o=n(3135),s=n(8536),a=n(3699),u=n(1757),c=n(7946),d=n(6894),_=n(7790),f=n(8035),l=n(9660),p=n(4388),h=n(4911),v=n(3055),g=n(8889),y="Not capturing exception because it's already been captured.";class m{__init(){this._integrations={}}__init2(){this._integrationsInitialized=!1}__init3(){this._numProcessing=0}__init4(){this._outcomes={}}constructor(t){if(m.prototype.__init.call(this),m.prototype.__init2.call(this),m.prototype.__init3.call(this),m.prototype.__init4.call(this),this._options=t,t.dsn){this._dsn=(0,o.vK)(t.dsn);var e=(0,h.U)(this._dsn,t.tunnel);this._transport=t.transport({recordDroppedEvent:this.recordDroppedEvent.bind(this),...t.transportOptions,url:e})}else("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.warn("No DSN provided, client will not do anything.")}captureException(t,e,n){if((0,a.YO)(t))return void(("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.log(y));let r=e&&e.event_id;return this._process(this.eventFromException(t,e).then((t=>this._captureEvent(t,e,n))).then((t=>{r=t}))),r}captureMessage(t,e,n,r){let i=n&&n.event_id;var o=(0,u.pt)(t)?this.eventFromMessage(String(t),e,n):this.eventFromException(t,n);return this._process(o.then((t=>this._captureEvent(t,n,r))).then((t=>{i=t}))),i}captureEvent(t,e,n){if(e&&e.originalException&&(0,a.YO)(e.originalException))return void(("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.log(y));let r=e&&e.event_id;return this._process(this._captureEvent(t,e,n).then((t=>{r=t}))),r}captureSession(t){this._isEnabled()?"string"!=typeof t.release?("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.warn("Discarded session because of missing or non-string release"):(this.sendSession(t),(0,r.CT)(t,{init:!1})):("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.warn("SDK not enabled, will not capture session.")}getDsn(){return this._dsn}getOptions(){return this._options}getTransport(){return this._transport}flush(t){var e=this._transport;return e?this._isClientDoneProcessing(t).then((n=>e.flush(t).then((t=>n&&t)))):(0,c.WD)(!0)}close(t){return this.flush(t).then((t=>(this.getOptions().enabled=!1,t)))}setupIntegrations(){this._isEnabled()&&!this._integrationsInitialized&&(this._integrations=(0,g.q4)(this._options.integrations),this._integrationsInitialized=!0)}getIntegrationById(t){return this._integrations[t]}getIntegration(t){try{return this._integrations[t.id]||null}catch(e){return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.warn(`Cannot retrieve integration ${t.id} from the current Client`),null}}sendEvent(t,e={}){if(this._dsn){let r=(0,v.M)(t,this._dsn,this._options._metadata,this._options.tunnel);for(var n of e.attachments||[])r=(0,d.BO)(r,(0,d.zQ)(n,this._options.transportOptions&&this._options.transportOptions.textEncoder));this._sendEnvelope(r)}}sendSession(t){if(this._dsn){var e=(0,v.Q)(t,this._dsn,this._options._metadata,this._options.tunnel);this._sendEnvelope(e)}}recordDroppedEvent(t,e){if(this._options.sendClientReports){var n=`${t}:${e}`;("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.log(`Adding outcome: "${n}"`),this._outcomes[n]=this._outcomes[n]+1||1}}_updateSessionFromEvent(t,e){let n=!1,i=!1;var o=e.exception&&e.exception.values;if(o)for(var s of(i=!0,o)){var a=s.mechanism;if(a&&!1===a.handled){n=!0;break}}var u="ok"===t.status;(u&&0===t.errors||u&&n)&&((0,r.CT)(t,{...n&&{status:"crashed"},errors:t.errors||Number(i||n)}),this.captureSession(t))}_isClientDoneProcessing(t){return new c.cW((e=>{let n=0;var r=setInterval((()=>{0==this._numProcessing?(clearInterval(r),e(!0)):(n+=1,t&&n>=t&&(clearInterval(r),e(!1)))}),1)}))}_isEnabled(){return!1!==this.getOptions().enabled&&void 0!==this._dsn}_prepareEvent(t,e,n){const{normalizeDepth:r=3,normalizeMaxBreadth:o=1e3}=this.getOptions();var s={...t,event_id:t.event_id||e.event_id||(0,a.DM)(),timestamp:t.timestamp||(0,_.yW)()};this._applyClientOptions(s),this._applyIntegrationsMetadata(s);let u=n;e.captureContext&&(u=i.s.clone(u).update(e.captureContext));let d=(0,c.WD)(s);if(u){var f=[...e.attachments||[],...u.getAttachments()];f.length&&(e.attachments=f),d=u.applyToEvent(s,e)}return d.then((t=>"number"==typeof r&&r>0?this._normalizeEvent(t,r,o):t))}_normalizeEvent(t,e,n){if(!t)return null;var r={...t,...t.breadcrumbs&&{breadcrumbs:t.breadcrumbs.map((t=>({...t,...t.data&&{data:(0,f.Fv)(t.data,e,n)}})))},...t.user&&{user:(0,f.Fv)(t.user,e,n)},...t.contexts&&{contexts:(0,f.Fv)(t.contexts,e,n)},...t.extra&&{extra:(0,f.Fv)(t.extra,e,n)}};return t.contexts&&t.contexts.trace&&r.contexts&&(r.contexts.trace=t.contexts.trace,t.contexts.trace.data&&(r.contexts.trace.data=(0,f.Fv)(t.contexts.trace.data,e,n))),t.spans&&(r.spans=t.spans.map((t=>(t.data&&(t.data=(0,f.Fv)(t.data,e,n)),t)))),r}_applyClientOptions(t){var e=this.getOptions();const{environment:n,release:r,dist:i,maxValueLength:o=250}=e;"environment"in t||(t.environment="environment"in e?n:"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=(0,l.$G)(t.message,o));var s=t.exception&&t.exception.values&&t.exception.values[0];s&&s.value&&(s.value=(0,l.$G)(s.value,o));var a=t.request;a&&a.url&&(a.url=(0,l.$G)(a.url,o))}_applyIntegrationsMetadata(t){var e=Object.keys(this._integrations);e.length>0&&(t.sdk=t.sdk||{},t.sdk.integrations=[...t.sdk.integrations||[],...e])}_captureEvent(t,e={},n){return this._processEvent(t,e,n).then((t=>t.event_id),(t=>{("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.warn(t)}))}_processEvent(t,e,n){const{beforeSend:r,sampleRate:i}=this.getOptions();if(!this._isEnabled())return(0,c.$2)(new p.b("SDK not enabled, will not capture event."));var o="transaction"===t.type;return!o&&"number"==typeof i&&Math.random()>i?(this.recordDroppedEvent("sample_rate","error"),(0,c.$2)(new p.b(`Discarding event because it's not included in the random sample (sampling rate = ${i})`))):this._prepareEvent(t,e,n).then((n=>{if(null===n)throw this.recordDroppedEvent("event_processor",t.type||"error"),new p.b("An event processor returned null, will not send event.");return e.data&&!0===e.data.__sentry__||o||!r?n:function(t){var e="`beforeSend` method has to return `null` or a valid event.";if((0,u.J8)(t))return t.then((t=>{if(!(0,u.PO)(t)&&null!==t)throw new p.b(e);return t}),(t=>{throw new p.b(`beforeSend rejected with ${t}`)}));if(!(0,u.PO)(t)&&null!==t)throw new p.b(e);return t}(r(n,e))})).then((r=>{if(null===r)throw this.recordDroppedEvent("before_send",t.type||"error"),new p.b("`beforeSend` returned `null`, will not send event.");var i=n&&n.getSession();return!o&&i&&this._updateSessionFromEvent(i,r),this.sendEvent(r,e),r})).then(null,(t=>{if(t instanceof p.b)throw t;throw this.captureException(t,{data:{__sentry__:!0},originalException:t}),new p.b(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${t}`)}))}_process(t){this._numProcessing+=1,t.then((t=>(this._numProcessing-=1,t)),(t=>(this._numProcessing-=1,t)))}_sendEnvelope(t){this._transport&&this._dsn?this._transport.send(t).then(null,(t=>{("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.error("Error while sending event:",t)})):("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&s.kg.error("Transport disabled")}_clearOutcomes(){var t=this._outcomes;return this._outcomes={},Object.keys(t).map((e=>{const[n,r]=e.split(":");return{reason:n,category:r,quantity:t[e]}}))}}},3055:function(t,e,n){n.d(e,{M:function(){return c},Q:function(){return u}});var r=n(3135),i=n(6894),o=n(6990),s=n(1995);function a(t){if(!t||!t.sdk)return;const{name:e,version:n}=t.sdk;return{name:e,version:n}}function u(t,e,n,o){var s=a(n),u={sent_at:(new Date).toISOString(),...s&&{sdk:s},...!!o&&{dsn:(0,r.RA)(e)}},c="aggregates"in t?[{type:"sessions"},t]:[{type:"session"},t];return(0,i.Jd)(u,[c])}function c(t,e,n,u){var c=a(n),d=t.type||"event";const{transactionSampling:_}=t.sdkProcessingMetadata||{},{method:f,rate:l}=_||{};!function(t,e){e&&(t.sdk=t.sdk||{},t.sdk.name=t.sdk.name||e.name,t.sdk.version=t.sdk.version||e.version,t.sdk.integrations=[...t.sdk.integrations||[],...e.integrations||[]],t.sdk.packages=[...t.sdk.packages||[],...e.packages||[]])}(t,n&&n.sdk);var p=function(t,e,n,i){var a=t.sdkProcessingMetadata&&t.sdkProcessingMetadata.baggage,u=a&&(0,o.Hk)(a);return{event_id:t.event_id,sent_at:(new Date).toISOString(),...e&&{sdk:e},...!!n&&{dsn:(0,r.RA)(i)},..."transaction"===t.type&&u&&{trace:(0,s.Jr)({...u})}}}(t,c,u,e);delete t.sdkProcessingMetadata;var h=[{type:d,sample_rates:[{id:f,rate:l}]},t];return(0,i.Jd)(p,[h])}},8889:function(t,e,n){n.d(e,{m8:function(){return u},q4:function(){return c}});var r=n(1684),i=n(8585),o=n(8536),s=[];function a(t){return t.reduce(((t,e)=>(t.every((t=>e.name!==t.name))&&t.push(e),t)),[])}function u(t){var e=t.defaultIntegrations&&[...t.defaultIntegrations]||[],n=t.integrations;let r=[...a(e)];Array.isArray(n)?r=[...r.filter((t=>n.every((e=>e.name!==t.name)))),...a(n)]:"function"==typeof n&&(r=n(r),r=Array.isArray(r)?r:[r]);var i=r.map((t=>t.name)),o="Debug";return-1!==i.indexOf(o)&&r.push(...r.splice(i.indexOf(o),1)),r}function c(t){var e={};return t.forEach((t=>{e[t.name]=t,-1===s.indexOf(t.name)&&(t.setupOnce(r.c,i.Gd),s.push(t.name),("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&o.kg.log(`Integration installed: ${t.name}`))})),e}},6286:function(t,e,n){n.d(e,{c:function(){return o}});var r=n(1995);let i;class o{constructor(){o.prototype.__init.call(this)}static __initStatic(){this.id="FunctionToString"}__init(){this.name=o.id}setupOnce(){i=Function.prototype.toString,Function.prototype.toString=function(...t){var e=(0,r.HK)(this)||this;return i.apply(e,t)}}}o.__initStatic()},1061:function(t,e,n){n.d(e,{QD:function(){return a}});var r=n(8536),i=n(3699),o=n(9660),s=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/];class a{static __initStatic(){this.id="InboundFilters"}__init(){this.name=a.id}constructor(t={}){this._options=t,a.prototype.__init.call(this)}setupOnce(t,e){var n=t=>{var n=e();if(n){var c=n.getIntegration(a);if(c){var d=n.getClient(),_=d?d.getOptions():{},f=function(t={},e={}){return{allowUrls:[...t.allowUrls||[],...e.allowUrls||[]],denyUrls:[...t.denyUrls||[],...e.denyUrls||[]],ignoreErrors:[...t.ignoreErrors||[],...e.ignoreErrors||[],...s],ignoreInternal:void 0===t.ignoreInternal||t.ignoreInternal}}(c._options,_);return function(t,e){if(e.ignoreInternal&&function(t){try{return"SentryError"===t.exception.values[0].type}catch(e){}return!1}(t))return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&r.kg.warn(`Event dropped due to being internal Sentry Error.\nEvent: ${(0,i.jH)(t)}`),!0;if(function(t,e){if(!e||!e.length)return!1;return function(t){if(t.message)return[t.message];if(t.exception)try{const{type:e="",value:n=""}=t.exception.values&&t.exception.values[0]||{};return[`${n}`,`${e}: ${n}`]}catch(e){return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&r.kg.error(`Cannot extract message for event ${(0,i.jH)(t)}`),[]}return[]}(t).some((t=>e.some((e=>(0,o.zC)(t,e)))))}(t,e.ignoreErrors))return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&r.kg.warn(`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent: ${(0,i.jH)(t)}`),!0;if(function(t,e){if(!e||!e.length)return!1;var n=u(t);return!!n&&e.some((t=>(0,o.zC)(n,t)))}(t,e.denyUrls))return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&r.kg.warn(`Event dropped due to being matched by \`denyUrls\` option.\nEvent: ${(0,i.jH)(t)}.\nUrl: ${u(t)}`),!0;if(!function(t,e){if(!e||!e.length)return!0;var n=u(t);return!n||e.some((t=>(0,o.zC)(n,t)))}(t,e.allowUrls))return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&r.kg.warn(`Event dropped due to not being matched by \`allowUrls\` option.\nEvent: ${(0,i.jH)(t)}.\nUrl: ${u(t)}`),!0;return!1}(t,f)?null:t}}return t};n.id=this.name,t(n)}}function u(t){try{let n;try{n=t.exception.values[0].stacktrace.frames}catch(e){}return n?function(t=[]){for(let n=t.length-1;n>=0;n--){var e=t[n];if(e&&"<anonymous>"!==e.filename&&"[native code]"!==e.filename)return e.filename||null}return null}(n):null}catch(n){return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&r.kg.error(`Cannot extract url for event ${(0,i.jH)(t)}`),null}}a.__initStatic()},6853:function(t,e,n){n.d(e,{M:function(){return o}});var r=n(8585),i=n(8536);function o(t,e){!0===e.debug&&("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__?i.kg.enable():console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle."));var n=(0,r.Gd)(),o=n.getScope();o&&o.update(e.initialScope);var s=new t(e);n.bindClient(s)}},1518:function(t,e,n){n.d(e,{q:function(){return c}});var r=n(8963),i=n(6894),o=n(1630),s=n(7946),a=n(8536),u=n(4388);function c(t,e,n=(0,r.x)(t.bufferSize||30)){let c={};return{send:function(r){var d=[];if((0,i.gv)(r,((e,n)=>{var r=(0,i.mL)(n);(0,o.Q)(c,r)?t.recordDroppedEvent("ratelimit_backoff",r):d.push(e)})),0===d.length)return(0,s.WD)();var _=(0,i.Jd)(r[0],d),f=e=>{(0,i.gv)(_,((n,r)=>{t.recordDroppedEvent(e,(0,i.mL)(r))}))};return n.add((()=>e({body:(0,i.V$)(_,t.textEncoder)}).then((t=>{void 0!==t.statusCode&&(t.statusCode<200||t.statusCode>=300)&&("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&a.kg.warn(`Sentry responded with status code ${t.statusCode} to sent event.`),c=(0,o.WG)(c,t)}),(t=>{("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&a.kg.error("Failed while sending event:",t),f("network_error")})))).then((t=>t),(t=>{if(t instanceof u.b)return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&a.kg.error("Skipped sending event due to full buffer"),f("queue_overflow"),(0,s.WD)();throw t}))},flush:t=>n.drain(t)}}},1476:function(t,e,n){n.d(e,{J:function(){return r}});var r="7.5.1"},2483:function(t,e,n){n.d(e,{Tb:function(){return i},$e:function(){return o}});var r=n(8585);function i(t,e){return(0,r.Gd)().captureException(t,{captureContext:e})}function o(t){(0,r.Gd)().withScope(t)}},8585:function(t,e,n){n.d(e,{Gd:function(){return p}});var r=n(3699),i=n(7790),o=n(8536),s=n(5907),a=n(7392),u=n(1684),c=n(2430),d=100;class _{__init(){this._stack=[{}]}constructor(t,e=new u.s,n=4){this._version=n,_.prototype.__init.call(this),this.getStackTop().scope=e,t&&this.bindClient(t)}isOlderThan(t){return this._version<t}bindClient(t){this.getStackTop().client=t,t&&t.setupIntegrations&&t.setupIntegrations()}pushScope(){var t=u.s.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 e=this.pushScope();try{t(e)}finally{this.popScope()}}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getStack(){return this._stack}getStackTop(){return this._stack[this._stack.length-1]}captureException(t,e){var n=this._lastEventId=e&&e.event_id?e.event_id:(0,r.DM)(),i=new Error("Sentry syntheticException");return this._withClient(((r,o)=>{r.captureException(t,{originalException:t,syntheticException:i,...e,event_id:n},o)})),n}captureMessage(t,e,n){var i=this._lastEventId=n&&n.event_id?n.event_id:(0,r.DM)(),o=new Error(t);return this._withClient(((r,s)=>{r.captureMessage(t,e,{originalException:t,syntheticException:o,...n,event_id:i},s)})),i}captureEvent(t,e){var n=e&&e.event_id?e.event_id:(0,r.DM)();return"transaction"!==t.type&&(this._lastEventId=n),this._withClient(((r,i)=>{r.captureEvent(t,{...e,event_id:n},i)})),n}lastEventId(){return this._lastEventId}addBreadcrumb(t,e){const{scope:n,client:r}=this.getStackTop();if(!n||!r)return;const{beforeBreadcrumb:s=null,maxBreadcrumbs:a=d}=r.getOptions&&r.getOptions()||{};if(!(a<=0)){var u={timestamp:(0,i.yW)(),...t},c=s?(0,o.Cf)((()=>s(u,e))):u;null!==c&&n.addBreadcrumb(c,a)}}setUser(t){var e=this.getScope();e&&e.setUser(t)}setTags(t){var e=this.getScope();e&&e.setTags(t)}setExtras(t){var e=this.getScope();e&&e.setExtras(t)}setTag(t,e){var n=this.getScope();n&&n.setTag(t,e)}setExtra(t,e){var n=this.getScope();n&&n.setExtra(t,e)}setContext(t,e){var n=this.getScope();n&&n.setContext(t,e)}configureScope(t){const{scope:e,client:n}=this.getStackTop();e&&n&&t(e)}run(t){var e=l(this);try{t(this)}finally{l(e)}}getIntegration(t){var e=this.getClient();if(!e)return null;try{return e.getIntegration(t)}catch(n){return("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&o.kg.warn(`Cannot retrieve integration ${t.id} from the current Hub`),null}}startTransaction(t,e){return this._callExtensionMethod("startTransaction",t,e)}traceHeaders(){return this._callExtensionMethod("traceHeaders")}captureSession(t=!1){if(t)return this.endSession();this._sendSessionUpdate()}endSession(){var t=this.getStackTop(),e=t&&t.scope,n=e&&e.getSession();n&&(0,c.RJ)(n),this._sendSessionUpdate(),e&&e.setSession()}startSession(t){const{scope:e,client:n}=this.getStackTop(),{release:r,environment:i}=n&&n.getOptions()||{};var o=(0,s.R)();const{userAgent:a}=o.navigator||{};var u=(0,c.Hv)({release:r,environment:i,...e&&{user:e.getUser()},...a&&{userAgent:a},...t});if(e){var d=e.getSession&&e.getSession();d&&"ok"===d.status&&(0,c.CT)(d,{status:"exited"}),this.endSession(),e.setSession(u)}return u}shouldSendDefaultPii(){var t=this.getClient(),e=t&&t.getOptions();return Boolean(e&&e.sendDefaultPii)}_sendSessionUpdate(){const{scope:t,client:e}=this.getStackTop();if(t){var n=t.getSession();n&&e&&e.captureSession&&e.captureSession(n)}}_withClient(t){const{scope:e,client:n}=this.getStackTop();n&&t(n,e)}_callExtensionMethod(t,...e){var n=f().__SENTRY__;if(n&&n.extensions&&"function"==typeof n.extensions[t])return n.extensions[t].apply(this,e);("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&o.kg.warn(`Extension method ${t} couldn't be found, doing nothing.`)}}function f(){var t=(0,s.R)();return t.__SENTRY__=t.__SENTRY__||{extensions:{},hub:void 0},t}function l(t){var e=f(),n=v(e);return g(e,t),n}function p(){var t=f();return h(t)&&!v(t).isOlderThan(4)||g(t,new _),(0,a.KV)()?function(t){try{var e=f().__SENTRY__,n=e&&e.extensions&&e.extensions.domain&&e.extensions.domain.active;if(!n)return v(t);if(!h(n)||v(n).isOlderThan(4)){var r=v(t).getStackTop();g(n,new _(r.client,u.s.clone(r.scope)))}return v(n)}catch(i){return v(t)}}(t):v(t)}function h(t){return!!(t&&t.__SENTRY__&&t.__SENTRY__.hub)}function v(t){return(0,s.Y)("hub",(()=>new _),t)}function g(t,e){return!!t&&((t.__SENTRY__=t.__SENTRY__||{}).hub=e,!0)}},1684:function(t,e,n){n.d(e,{s:function(){return c},c:function(){return _}});var r=n(1757),i=n(7790),o=n(7946),s=n(8536),a=n(5907),u=n(2430);class c{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={}}static clone(t){var e=new c;return t&&(e._breadcrumbs=[...t._breadcrumbs],e._tags={...t._tags},e._extra={...t._extra},e._contexts={...t._contexts},e._user=t._user,e._level=t._level,e._span=t._span,e._session=t._session,e._transactionName=t._transactionName,e._fingerprint=t._fingerprint,e._eventProcessors=[...t._eventProcessors],e._requestSession=t._requestSession,e._attachments=[...t._attachments]),e}addScopeListener(t){this._scopeListeners.push(t)}addEventProcessor(t){return this._eventProcessors.push(t),this}setUser(t){return this._user=t||{},this._session&&(0,u.CT)(this._session,{user:t}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(t){return this._requestSession=t,this}setTags(t){return this._tags={...this._tags,...t},this._notifyScopeListeners(),this}setTag(t,e){return this._tags={...this._tags,[t]:e},this._notifyScopeListeners(),this}setExtras(t){return this._extra={...this._extra,...t},this._notifyScopeListeners(),this}setExtra(t,e){return this._extra={...this._extra,[t]:e},this._notifyScopeListeners(),this}setFingerprint(t){return this._fingerprint=t,this._notifyScopeListeners(),this}setLevel(t){return this._level=t,this._notifyScopeListeners(),this}setTransactionName(t){return this._transactionName=t,this._notifyScopeListeners(),this}setContext(t,e){return null===e?delete this._contexts[t]:this._contexts={...this._contexts,[t]:e},this._notifyScopeListeners(),this}setSpan(t){return this._span=t,this._notifyScopeListeners(),this}getSpan(){return this._span}getTransaction(){var t=this.getSpan();return t&&t.transaction}setSession(t){return t?this._session=t:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(t){if(!t)return this;if("function"==typeof t){var e=t(this);return e instanceof c?e:this}return t instanceof c?(this._tags={...this._tags,...t._tags},this._extra={...this._extra,...t._extra},this._contexts={...this._contexts,...t._contexts},t._user&&Object.keys(t._user).length&&(this._user=t._user),t._level&&(this._level=t._level),t._fingerprint&&(this._fingerprint=t._fingerprint),t._requestSession&&(this._requestSession=t._requestSession)):(0,r.PO)(t)&&(t=t,this._tags={...this._tags,...t.tags},this._extra={...this._extra,...t.extra},this._contexts={...this._contexts,...t.contexts},t.user&&(this._user=t.user),t.level&&(this._level=t.level),t.fingerprint&&(this._fingerprint=t.fingerprint),t.requestSession&&(this._requestSession=t.requestSession)),this}clear(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._requestSession=void 0,this._span=void 0,this._session=void 0,this._notifyScopeListeners(),this._attachments=[],this}addBreadcrumb(t,e){var n="number"==typeof e?Math.min(e,100):100;if(n<=0)return this;var r={timestamp:(0,i.yW)(),...t};return this._breadcrumbs=[...this._breadcrumbs,r].slice(-n),this._notifyScopeListeners(),this}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(t){return this._attachments.push(t),this}getAttachments(){return this._attachments}clearAttachments(){return this._attachments=[],this}applyToEvent(t,e={}){if(this._extra&&Object.keys(this._extra).length&&(t.extra={...this._extra,...t.extra}),this._tags&&Object.keys(this._tags).length&&(t.tags={...this._tags,...t.tags}),this._user&&Object.keys(this._user).length&&(t.user={...this._user,...t.user}),this._contexts&&Object.keys(this._contexts).length&&(t.contexts={...this._contexts,...t.contexts}),this._level&&(t.level=this._level),this._transactionName&&(t.transaction=this._transactionName),this._span){t.contexts={trace:this._span.getTraceContext(),...t.contexts};var n=this._span.transaction&&this._span.transaction.name;n&&(t.tags={transaction:n,...t.tags})}return this._applyFingerprint(t),t.breadcrumbs=[...t.breadcrumbs||[],...this._breadcrumbs],t.breadcrumbs=t.breadcrumbs.length>0?t.breadcrumbs:void 0,t.sdkProcessingMetadata={...t.sdkProcessingMetadata,...this._sdkProcessingMetadata},this._notifyEventProcessors([...d(),...this._eventProcessors],t,e)}setSDKProcessingMetadata(t){return this._sdkProcessingMetadata={...this._sdkProcessingMetadata,...t},this}_notifyEventProcessors(t,e,n,i=0){return new o.cW(((o,a)=>{var u=t[i];if(null===e||"function"!=typeof u)o(e);else{var c=u({...e},n);("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&u.id&&null===c&&s.kg.log(`Event processor "${u.id}" dropped event`),(0,r.J8)(c)?c.then((e=>this._notifyEventProcessors(t,e,n,i+1).then(o))).then(null,a):this._notifyEventProcessors(t,c,n,i+1).then(o).then(null,a)}}))}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach((t=>{t(this)})),this._notifyingListeners=!1)}_applyFingerprint(t){t.fingerprint=t.fingerprint?Array.isArray(t.fingerprint)?t.fingerprint:[t.fingerprint]:[],this._fingerprint&&(t.fingerprint=t.fingerprint.concat(this._fingerprint)),t.fingerprint&&!t.fingerprint.length&&delete t.fingerprint}}function d(){return(0,a.Y)("globalEventProcessors",(()=>[]))}function _(t){d().push(t)}},2430:function(t,e,n){n.d(e,{RJ:function(){return u},Hv:function(){return s},CT:function(){return a}});var r=n(7790),i=n(3699),o=n(1995);function s(t){var e=(0,r.ph)(),n={sid:(0,i.DM)(),init:!0,timestamp:e,started:e,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>function(t){return(0,o.Jr)({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}})}(n)};return t&&a(n,t),n}function a(t,e={}){if(e.user&&(!t.ipAddress&&e.user.ip_address&&(t.ipAddress=e.user.ip_address),t.did||e.did||(t.did=e.user.id||e.user.email||e.user.username)),t.timestamp=e.timestamp||(0,r.ph)(),e.ignoreDuration&&(t.ignoreDuration=e.ignoreDuration),e.sid&&(t.sid=32===e.sid.length?e.sid:(0,i.DM)()),void 0!==e.init&&(t.init=e.init),!t.did&&e.did&&(t.did=`${e.did}`),"number"==typeof e.started&&(t.started=e.started),t.ignoreDuration)t.duration=void 0;else if("number"==typeof e.duration)t.duration=e.duration;else{var n=t.timestamp-t.started;t.duration=n>=0?n:0}e.release&&(t.release=e.release),e.environment&&(t.environment=e.environment),!t.ipAddress&&e.ipAddress&&(t.ipAddress=e.ipAddress),!t.userAgent&&e.userAgent&&(t.userAgent=e.userAgent),"number"==typeof e.errors&&(t.errors=e.errors),e.status&&(t.status=e.status)}function u(t,e){let n={};e?n={status:e}:"ok"===t.status&&(n={status:"exited"}),a(t,n)}},6990:function(t,e,n){n.d(e,{Hk:function(){return r}});function r(t){return t[0]}},4194:function(t,e,n){n.d(e,{l:function(){return a},R:function(){return o}});var r=n(5907),i=n(1757);function o(t,e){try{let i=t;var n=[];let o=0,a=0;var r=" > ".length;let u;for(;i&&o++<5&&(u=s(i,e),!("html"===u||o>1&&a+n.length*r+u.length>=80));)n.push(u),a+=u.length,i=i.parentNode;return n.reverse().join(" > ")}catch(i){return"<unknown>"}}function s(t,e){var n=t,r=[];let o,s,a,u,c;if(!n||!n.tagName)return"";r.push(n.tagName.toLowerCase());var d=e&&e.length?e.filter((t=>n.getAttribute(t))).map((t=>[t,n.getAttribute(t)])):null;if(d&&d.length)d.forEach((t=>{r.push(`[${t[0]}="${t[1]}"]`)}));else if(n.id&&r.push(`#${n.id}`),o=n.className,o&&(0,i.HD)(o))for(s=o.split(/\s+/),c=0;c<s.length;c++)r.push(`.${s[c]}`);var _=["type","name","title","alt"];for(c=0;c<_.length;c++)a=_[c],u=n.getAttribute(a),u&&r.push(`[${a}="${u}"]`);return r.join("")}function a(){var t=(0,r.R)();try{return t.document.location.href}catch(e){return""}}},250:function(t,e,n){n.d(e,{y:function(){return o}});var r=n(6894),i=n(7790);function o(t,e,n){var o=[{type:"client_report"},{timestamp:n||(0,i.yW)(),discarded_events:t}];return(0,r.Jd)(e?{dsn:e}:{},[o])}},3135:function(t,e,n){n.d(e,{RA:function(){return o},vK:function(){return u}});var r=n(4388),i=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+))?@)([\w.-]+)(?::(\d+))?\/(.+)/;function o(t,e=!1){const{host:n,path:r,pass:i,port:o,projectId:s,protocol:a,publicKey:u}=t;return`${a}://${u}${e&&i?`:${i}`:""}@${n}${o?`:${o}`:""}/${r?`${r}/`:r}${s}`}function s(t){var e=i.exec(t);if(!e)throw new r.b(`Invalid Sentry Dsn: ${t}`);const[n,o,s="",u,c="",d]=e.slice(1);let _="",f=d;var l=f.split("/");if(l.length>1&&(_=l.slice(0,-1).join("/"),f=l.pop()),f){var p=f.match(/^\d+/);p&&(f=p[0])}return a({host:u,pass:s,path:_,projectId:f,port:c,protocol:n,publicKey:o})}function a(t){return{protocol:t.protocol,publicKey:t.publicKey||"",pass:t.pass||"",host:t.host,port:t.port||"",path:t.path||"",projectId:t.projectId}}function u(t){var e="string"==typeof t?s(t):a(t);return function(t){if("undefined"!=typeof __SENTRY_DEBUG__&&!__SENTRY_DEBUG__)return;const{port:e,projectId:n,protocol:i}=t;if(["protocol","publicKey","host","projectId"].forEach((e=>{if(!t[e])throw new r.b(`Invalid Sentry Dsn: ${e} missing`)})),!n.match(/^\d+$/))throw new r.b(`Invalid Sentry Dsn: Invalid projectId ${n}`);if(!function(t){return"http"===t||"https"===t}(i))throw new r.b(`Invalid Sentry Dsn: Invalid protocol ${i}`);if(e&&isNaN(parseInt(e,10)))throw new r.b(`Invalid Sentry Dsn: Invalid port ${e}`)}(e),e}},4285:function(t,e,n){function r(){return"undefined"!=typeof __SENTRY_BROWSER_BUNDLE__&&!!__SENTRY_BROWSER_BUNDLE__}n.d(e,{n:function(){return r}})},6894:function(t,e,n){n.d(e,{BO:function(){return o},zQ:function(){return c},Jd:function(){return i},mL:function(){return _},gv:function(){return s},V$:function(){return u}});var r=n(1995);function i(t,e=[]){return[t,e]}function o(t,e){const[n,r]=t;return[n,[...r,e]]}function s(t,e){t[1].forEach((t=>{var n=t[0].type;e(t,n)}))}function a(t,e){return(e||new TextEncoder).encode(t)}function u(t,e){const[n,r]=t;let i=JSON.stringify(n);function o(t){"string"==typeof i?i="string"==typeof t?i+t:[a(i,e),t]:i.push("string"==typeof t?a(t,e):t)}for(var s of r){const[t,e]=s;o(`\n${JSON.stringify(t)}\n`),o("string"==typeof e||e instanceof Uint8Array?e:JSON.stringify(e))}return"string"==typeof i?i:function(t){var e=t.reduce(((t,e)=>t+e.length),0),n=new Uint8Array(e);let r=0;for(var i of t)n.set(i,r),r+=i.length;return n}(i)}function c(t,e){var n="string"==typeof t.data?a(t.data,e):t.data;return[(0,r.Jr)({type:"attachment",length:n.length,filename:t.filename,content_type:t.contentType,attachment_type:t.attachmentType}),n]}var d={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default"};function _(t){return d[t]}},4388:function(t,e,n){n.d(e,{b:function(){return r}});class r extends Error{constructor(t){super(t),this.message=t,this.name=new.target.prototype.constructor.name,Object.setPrototypeOf(this,new.target.prototype)}}},5907:function(t,e,n){n.d(e,{R:function(){return o},Y:function(){return s}});var r=n(7392),i={};function o(){return(0,r.KV)()||"undefined"!=typeof window?window:"undefined"!=typeof self?self:i}function s(t,e,n){var r=n||o(),i=r.__SENTRY__=r.__SENTRY__||{};return i[t]||(i[t]=e())}},4005:function(t,e,n){n.d(e,{o:function(){return l}});var r=n(5907),i=n(1757),o=n(8536),s=n(1995),a=n(9038),u=n(9798),c=(0,r.R)(),d={},_={};function f(t){if(!_[t])switch(_[t]=!0,t){case"console":!function(){if(!("console"in c))return;o.RU.forEach((function(t){t in c.console&&(0,s.hl)(c.console,t,(function(e){return function(...n){p("console",{args:n,level:t}),e&&e.apply(c.console,n)}}))}))}();break;case"dom":!function(){if(!("document"in c))return;var t=p.bind(null,"dom"),e=E(t,!0);c.document.addEventListener("click",e,!1),c.document.addEventListener("keypress",e,!1),["EventTarget","Node"].forEach((e=>{var n=c[e]&&c[e].prototype;n&&n.hasOwnProperty&&n.hasOwnProperty("addEventListener")&&((0,s.hl)(n,"addEventListener",(function(e){return function(n,r,i){if("click"===n||"keypress"==n)try{var o=this,s=o.__sentry_instrumentation_handlers__=o.__sentry_instrumentation_handlers__||{},a=s[n]=s[n]||{refCount:0};if(!a.handler){var u=E(t);a.handler=u,e.call(this,n,u,i)}a.refCount+=1}catch(c){}return e.call(this,n,r,i)}})),(0,s.hl)(n,"removeEventListener",(function(t){return function(e,n,r){if("click"===e||"keypress"==e)try{var i=this,o=i.__sentry_instrumentation_handlers__||{},s=o[e];s&&(s.refCount-=1,s.refCount<=0&&(t.call(this,e,s.handler,r),s.handler=void 0,delete o[e]),0===Object.keys(o).length&&delete i.__sentry_instrumentation_handlers__)}catch(a){}return t.call(this,e,n,r)}})))}))}();break;case"xhr":!function(){if(!("XMLHttpRequest"in c))return;var t=XMLHttpRequest.prototype;(0,s.hl)(t,"open",(function(t){return function(...e){var n=this,r=e[1],o=n.__sentry_xhr__={method:(0,i.HD)(e[0])?e[0].toUpperCase():e[0],url:e[1]};(0,i.HD)(r)&&"POST"===o.method&&r.match(/sentry_key/)&&(n.__sentry_own_request__=!0);var a=function(){if(4===n.readyState){try{o.status_code=n.status}catch(t){}p("xhr",{args:e,endTimestamp:Date.now(),startTimestamp:Date.now(),xhr:n})}};return"onreadystatechange"in n&&"function"==typeof n.onreadystatechange?(0,s.hl)(n,"onreadystatechange",(function(t){return function(...e){return a(),t.apply(n,e)}})):n.addEventListener("readystatechange",a),t.apply(n,e)}})),(0,s.hl)(t,"send",(function(t){return function(...e){return this.__sentry_xhr__&&void 0!==e[0]&&(this.__sentry_xhr__.body=e[0]),p("xhr",{args:e,startTimestamp:Date.now(),xhr:this}),t.apply(this,e)}}))}();break;case"fetch":!function(){if(!(0,u.t$)())return;(0,s.hl)(c,"fetch",(function(t){return function(...e){var n={args:e,fetchData:{method:h(e),url:v(e)},startTimestamp:Date.now()};return p("fetch",{...n}),t.apply(c,e).then((t=>(p("fetch",{...n,endTimestamp:Date.now(),response:t}),t)),(t=>{throw p("fetch",{...n,endTimestamp:Date.now(),error:t}),t}))}}))}();break;case"history":!function(){if(!(0,u.Bf)())return;var t=c.onpopstate;function e(t){return function(...e){var n=e.length>2?e[2]:void 0;if(n){var r=g,i=String(n);g=i,p("history",{from:r,to:i})}return t.apply(this,e)}}c.onpopstate=function(...e){var n=c.location.href,r=g;if(g=n,p("history",{from:r,to:n}),t)try{return t.apply(this,e)}catch(i){}},(0,s.hl)(c.history,"pushState",e),(0,s.hl)(c.history,"replaceState",e)}();break;case"error":S=c.onerror,c.onerror=function(t,e,n,r,i){return p("error",{column:r,error:i,line:n,msg:t,url:e}),!!S&&S.apply(this,arguments)};break;case"unhandledrejection":b=c.onunhandledrejection,c.onunhandledrejection=function(t){return p("unhandledrejection",t),!b||b.apply(this,arguments)};break;default:return void(("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&o.kg.warn("unknown instrumentation type:",t))}}function l(t,e){d[t]=d[t]||[],d[t].push(e),f(t)}function p(t,e){if(t&&d[t])for(var n of d[t]||[])try{n(e)}catch(r){("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&o.kg.error(`Error while triggering instrumentation handler.\nType: ${t}\nName: ${(0,a.$P)(n)}\nError:`,r)}}function h(t=[]){return"Request"in c&&(0,i.V9)(t[0],Request)&&t[0].method?String(t[0].method).toUpperCase():t[1]&&t[1].method?String(t[1].method).toUpperCase():"GET"}function v(t=[]){return"string"==typeof t[0]?t[0]:"Request"in c&&(0,i.V9)(t[0],Request)?t[0].url:String(t[0])}let g;let y,m;function E(t,e=!1){return n=>{if(n&&m!==n&&!function(t){if("keypress"!==t.type)return!1;try{var e=t.target;if(!e||!e.tagName)return!0;if("INPUT"===e.tagName||"TEXTAREA"===e.tagName||e.isContentEditable)return!1}catch(n){}return!0}(n)){var r="keypress"===n.type?"input":n.type;(void 0===y||function(t,e){if(!t)return!0;if(t.type!==e.type)return!0;try{if(t.target!==e.target)return!0}catch(n){}return!1}(m,n))&&(t({event:n,name:r,global:e}),m=n),clearTimeout(y),y=c.setTimeout((()=>{y=void 0}),1e3)}}}let S=null;let b=null},1757:function(t,e,n){n.d(e,{TX:function(){return a},fm:function(){return u},kK:function(){return l},VZ:function(){return i},VW:function(){return s},cO:function(){return f},V9:function(){return y},i2:function(){return g},PO:function(){return _},pt:function(){return d},Kj:function(){return p},HD:function(){return c},Cy:function(){return v},J8:function(){return h}});var r=Object.prototype.toString;function i(t){switch(r.call(t)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return y(t,Error)}}function o(t,e){return r.call(t)===`[object ${e}]`}function s(t){return o(t,"ErrorEvent")}function a(t){return o(t,"DOMError")}function u(t){return o(t,"DOMException")}function c(t){return o(t,"String")}function d(t){return null===t||"object"!=typeof t&&"function"!=typeof t}function _(t){return o(t,"Object")}function f(t){return"undefined"!=typeof Event&&y(t,Event)}function l(t){return"undefined"!=typeof Element&&y(t,Element)}function p(t){return o(t,"RegExp")}function h(t){return Boolean(t&&t.then&&"function"==typeof t.then)}function v(t){return _(t)&&"nativeEvent"in t&&"preventDefault"in t&&"stopPropagation"in t}function g(t){return"number"==typeof t&&t!=t}function y(t,e){try{return t instanceof e}catch(n){return!1}}},8536:function(t,e,n){n.d(e,{RU:function(){return o},Cf:function(){return s},kg:function(){return u}});var r=n(5907),i=(0,r.R)(),o=["debug","info","warn","error","log","assert","trace"];function s(t){var e=(0,r.R)();if(!("console"in e))return t();var n=e.console,i={};o.forEach((t=>{var r=n[t]&&n[t].__sentry_original__;t in e.console&&r&&(i[t]=n[t],n[t]=r)}));try{return t()}finally{Object.keys(i).forEach((t=>{n[t]=i[t]}))}}function a(){let t=!1;var e={enable:()=>{t=!0},disable:()=>{t=!1}};return"undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__?o.forEach((n=>{e[n]=(...e)=>{t&&s((()=>{i.console[n](`Sentry Logger [${n}]:`,...e)}))}})):o.forEach((t=>{e[t]=()=>{}})),e}let u;u="undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__?(0,r.Y)("logger",a):a()},4048:function(t,e,n){function r(){var t="function"==typeof WeakSet,e=t?new WeakSet:[];return[function(n){if(t)return!!e.has(n)||(e.add(n),!1);for(let t=0;t<e.length;t++){if(e[t]===n)return!0}return e.push(n),!1},function(n){if(t)e.delete(n);else for(let t=0;t<e.length;t++)if(e[t]===n){e.splice(t,1);break}}]}n.d(e,{i:function(){return r}})},3699:function(t,e,n){n.d(e,{EG:function(){return d},Db:function(){return c},YO:function(){return _},jH:function(){return u},en:function(){return s},DM:function(){return o}});var r=n(5907),i=n(1995);function o(){var t=(0,r.R)(),e=t.crypto||t.msCrypto;if(void 0!==e&&e.getRandomValues){var n=new Uint16Array(8);e.getRandomValues(n),n[3]=4095&n[3]|16384,n[4]=16383&n[4]|32768;var i=t=>{let e=t.toString(16);for(;e.length<4;)e=`0${e}`;return e};return i(n[0])+i(n[1])+i(n[2])+i(n[3])+i(n[4])+i(n[5])+i(n[6])+i(n[7])}return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,(t=>{var e=16*Math.random()|0;return("x"===t?e:3&e|8).toString(16)}))}function s(t){if(!t)return{};var e=t.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!e)return{};var n=e[6]||"",r=e[8]||"";return{host:e[4],path:e[5],protocol:e[2],relative:e[5]+n+r}}function a(t){return t.exception&&t.exception.values?t.exception.values[0]:void 0}function u(t){const{message:e,event_id:n}=t;if(e)return e;var r=a(t);return r?r.type&&r.value?`${r.type}: ${r.value}`:r.type||r.value||n||"<unknown>":n||"<unknown>"}function c(t,e,n){var r=t.exception=t.exception||{},i=r.values=r.values||[],o=i[0]=i[0]||{};o.value||(o.value=e||""),o.type||(o.type=n||"Error")}function d(t,e){var n=a(t);if(n){var r=n.mechanism;if(n.mechanism={type:"generic",handled:!0,...r,...e},e&&"data"in e){var i={...r&&r.data,...e.data};n.mechanism.data=i}}}function _(t){if(t&&t.__sentry_captured__)return!0;try{(0,i.xp)(t,"__sentry_captured__",!0)}catch(e){}return!1}},7392:function(t,e,n){n.d(e,{l$:function(){return o},KV:function(){return i}});var r=n(4285);function i(){return!(0,r.n)()&&"[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0)}function o(t,e){return t.require(e)}t=n.hmd(t)},8035:function(t,e,n){n.d(e,{Fv:function(){return a},Qy:function(){return u}});var r=n(1757),i=n(4048),o=n(1995),s=n(9038);function a(t,e=1/0,n=1/0){try{return c("",t,e,n)}catch(r){return{ERROR:`**non-serializable** (${r})`}}}function u(t,e=3,n=102400){var r,i=a(t,e);return r=i,function(t){return~-encodeURI(t).split(/%..|./).length}(JSON.stringify(r))>n?u(t,e-1,n):i}function c(t,e,n=1/0,a=1/0,u=(0,i.i)()){const[d,_]=u;if(null===e||["number","boolean","string"].includes(typeof e)&&!(0,r.i2)(e))return e;var f=function(t,e){try{return"domain"===t&&e&&"object"==typeof e&&e._events?"[Domain]":"domainEmitter"===t?"[DomainEmitter]":"undefined"!=typeof window&&e===window?"[Global]":"undefined"!=typeof window&&e===window?"[Window]":"undefined"!=typeof document&&e===document?"[Document]":(0,r.Cy)(e)?"[SyntheticEvent]":"number"==typeof e&&e!=e?"[NaN]":void 0===e?"[undefined]":"function"==typeof e?`[Function: ${(0,s.$P)(e)}]`:"symbol"==typeof e?`[${String(e)}]`:"bigint"==typeof e?`[BigInt: ${String(e)}]`:`[object ${Object.getPrototypeOf(e).constructor.name}]`}catch(n){return`**non-serializable** (${n})`}}(t,e);if(!f.startsWith("[object "))return f;if(e.__sentry_skip_normalization__)return e;if(0===n)return f.replace("object ","");if(d(e))return"[Circular ~]";var l=e;if(l&&"function"==typeof l.toJSON)try{return c("",l.toJSON(),n-1,a,u)}catch(m){}var p=Array.isArray(e)?[]:{};let h=0;var v=(0,o.Sh)(e);for(var g in v)if(Object.prototype.hasOwnProperty.call(v,g)){if(h>=a){p[g]="[MaxProperties ~]";break}var y=v[g];p[g]=c(g,y,n-1,a,u),h+=1}return _(e),p}},1995:function(t,e,n){n.d(e,{xp:function(){return a},Sh:function(){return _},Jr:function(){return h},zf:function(){return p},hl:function(){return s},HK:function(){return c},$Q:function(){return u},_j:function(){return d}});var r=n(4194),i=n(1757),o=n(9660);function s(t,e,n){if(e in t){var r=t[e],i=n(r);if("function"==typeof i)try{u(i,r)}catch(o){}t[e]=i}}function a(t,e,n){Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0})}function u(t,e){var n=e.prototype||{};t.prototype=e.prototype=n,a(t,"__sentry_original__",e)}function c(t){return t.__sentry_original__}function d(t){return Object.keys(t).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(t[e])}`)).join("&")}function _(t){if((0,i.VZ)(t))return{message:t.message,name:t.name,stack:t.stack,...l(t)};if((0,i.cO)(t)){var e={type:t.type,target:f(t.target),currentTarget:f(t.currentTarget),...l(t)};return"undefined"!=typeof CustomEvent&&(0,i.V9)(t,CustomEvent)&&(e.detail=t.detail),e}return t}function f(t){try{return(0,i.kK)(t)?(0,r.R)(t):Object.prototype.toString.call(t)}catch(e){return"<unknown>"}}function l(t){if("object"==typeof t&&null!==t){var e={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}return{}}function p(t,e=40){var n=Object.keys(_(t));if(n.sort(),!n.length)return"[object has no keys]";if(n[0].length>=e)return(0,o.$G)(n[0],e);for(let i=n.length;i>0;i--){var r=n.slice(0,i).join(", ");if(!(r.length>e))return i===n.length?r:(0,o.$G)(r,e)}return""}function h(t){return v(t,new Map)}function v(t,e){if((0,i.PO)(t)){if(void 0!==(o=e.get(t)))return o;var n={};for(var r of(e.set(t,n),Object.keys(t)))void 0!==t[r]&&(n[r]=v(t[r],e));return n}if(Array.isArray(t)){var o;if(void 0!==(o=e.get(t)))return o;n=[];return e.set(t,n),t.forEach((t=>{n.push(v(t,e))})),n}return t}},8963:function(t,e,n){n.d(e,{x:function(){return o}});var r=n(4388),i=n(7946);function o(t){var e=[];function n(t){return e.splice(e.indexOf(t),1)[0]}return{$:e,add:function(o){if(!(void 0===t||e.length<t))return(0,i.$2)(new r.b("Not adding Promise due to buffer limit reached."));var s=o();return-1===e.indexOf(s)&&e.push(s),s.then((()=>n(s))).then(null,(()=>n(s).then(null,(()=>{})))),s},drain:function(t){return new i.cW(((n,r)=>{let o=e.length;if(!o)return n(!0);var s=setTimeout((()=>{t&&t>0&&n(!1)}),t);e.forEach((t=>{(0,i.WD)(t).then((()=>{--o||(clearTimeout(s),n(!0))}),r)}))}))}}}},1630:function(t,e,n){n.d(e,{Q:function(){return r},WG:function(){return i}});function r(t,e,n=Date.now()){return function(t,e){return t[e]||t.all||0}(t,e)>n}function i(t,{statusCode:e,headers:n},r=Date.now()){var i={...t},o=n&&n["x-sentry-rate-limits"],s=n&&n["retry-after"];if(o)for(var a of o.trim().split(",")){const[t,e]=a.split(":",2);var u=parseInt(t,10),c=1e3*(isNaN(u)?60:u);if(e)for(var d of e.split(";"))i[d]=r+c;else i.all=r+c}else s?i.all=r+function(t,e=Date.now()){var n=parseInt(`${t}`,10);if(!isNaN(n))return 1e3*n;var r=Date.parse(`${t}`);return isNaN(r)?6e4:r-e}(s,r):429===e&&(i.all=r+6e4);return i}},8653:function(t,e,n){n.d(e,{VT:function(){return i}});var r=["fatal","error","warning","log","info","debug"];function i(t){return"warn"===t?"warning":r.includes(t)?t:"log"}},9038:function(t,e,n){n.d(e,{pE:function(){return r},$P:function(){return s},Sq:function(){return i}});function r(...t){var e=t.sort(((t,e)=>t[0]-e[0])).map((t=>t[1]));return(t,n=0)=>{var r=[];for(var i of t.split("\n").slice(n))for(var o of e){var s=o(i);if(s){r.push(s);break}}return function(t){if(!t.length)return[];let e=t;var n=e[0].function||"",r=e[e.length-1].function||"";-1===n.indexOf("captureMessage")&&-1===n.indexOf("captureException")||(e=e.slice(1));-1!==r.indexOf("sentryWrapped")&&(e=e.slice(0,-1));return e.slice(0,50).map((t=>({...t,filename:t.filename||e[0].filename,function:t.function||"?"}))).reverse()}(r)}}function i(t){return Array.isArray(t)?r(...t):t}var o="<anonymous>";function s(t){try{return t&&"function"==typeof t&&t.name||o}catch(e){return o}}},9660:function(t,e,n){n.d(e,{zC:function(){return s},nK:function(){return o},$G:function(){return i}});var r=n(1757);function i(t,e=0){return"string"!=typeof t||0===e||t.length<=e?t:`${t.substr(0,e)}...`}function o(t,e){if(!Array.isArray(t))return"";var n=[];for(let o=0;o<t.length;o++){var r=t[o];try{n.push(String(r))}catch(i){n.push("[value cannot be serialized]")}}return n.join(e)}function s(t,e){return!!(0,r.HD)(t)&&((0,r.Kj)(e)?e.test(t):"string"==typeof e&&-1!==t.indexOf(e))}},9798:function(t,e,n){n.d(e,{Du:function(){return s},Ak:function(){return o},Bf:function(){return u},t$:function(){return a}});var r=n(5907),i=n(8536);function o(){if(!("fetch"in(0,r.R)()))return!1;try{return new Headers,new Request(""),new Response,!0}catch(t){return!1}}function s(t){return t&&/^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(t.toString())}function a(){if(!o())return!1;var t=(0,r.R)();if(s(t.fetch))return!0;let e=!1;var n=t.document;if(n&&"function"==typeof n.createElement)try{var a=n.createElement("iframe");a.hidden=!0,n.head.appendChild(a),a.contentWindow&&a.contentWindow.fetch&&(e=s(a.contentWindow.fetch)),n.head.removeChild(a)}catch(u){("undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__)&&i.kg.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",u)}return e}function u(){var t=(0,r.R)(),e=t.chrome,n=e&&e.app&&e.app.runtime,i="history"in t&&!!t.history.pushState&&!!t.history.replaceState;return!n&&i}},7946:function(t,e,n){n.d(e,{cW:function(){return a},$2:function(){return s},WD:function(){return o}});var r,i=n(1757);function o(t){return new a((e=>{e(t)}))}function s(t){return new a(((e,n)=>{n(t)}))}!function(t){t[t.PENDING=0]="PENDING";t[t.RESOLVED=1]="RESOLVED";t[t.REJECTED=2]="REJECTED"}(r||(r={}));class a{__init(){this._state=r.PENDING}__init2(){this._handlers=[]}constructor(t){a.prototype.__init.call(this),a.prototype.__init2.call(this),a.prototype.__init3.call(this),a.prototype.__init4.call(this),a.prototype.__init5.call(this),a.prototype.__init6.call(this);try{t(this._resolve,this._reject)}catch(e){this._reject(e)}}then(t,e){return new a(((n,r)=>{this._handlers.push([!1,e=>{if(t)try{n(t(e))}catch(i){r(i)}else n(e)},t=>{if(e)try{n(e(t))}catch(i){r(i)}else r(t)}]),this._executeHandlers()}))}catch(t){return this.then((t=>t),t)}finally(t){return new a(((e,n)=>{let r,i;return this.then((e=>{i=!1,r=e,t&&t()}),(e=>{i=!0,r=e,t&&t()})).then((()=>{i?n(r):e(r)}))}))}__init3(){this._resolve=t=>{this._setResult(r.RESOLVED,t)}}__init4(){this._reject=t=>{this._setResult(r.REJECTED,t)}}__init5(){this._setResult=(t,e)=>{this._state===r.PENDING&&((0,i.J8)(e)?e.then(this._resolve,this._reject):(this._state=t,this._value=e,this._executeHandlers()))}}__init6(){this._executeHandlers=()=>{if(this._state!==r.PENDING){var t=this._handlers.slice();this._handlers=[],t.forEach((t=>{t[0]||(this._state===r.RESOLVED&&t[1](this._value),this._state===r.REJECTED&&t[2](this._value),t[0]=!0)}))}}}}},7790:function(t,e,n){n.d(e,{yW:function(){return u},ph:function(){return c}});var r=n(5907),i=n(7392);t=n.hmd(t);var o={nowSeconds:()=>Date.now()/1e3};var s=(0,i.KV)()?function(){try{return(0,i.l$)(t,"perf_hooks").performance}catch(e){return}}():function(){const{performance:t}=(0,r.R)();if(t&&t.now)return{now:()=>t.now(),timeOrigin:Date.now()-t.now()}}(),a=void 0===s?o:{nowSeconds:()=>(s.timeOrigin+s.now())/1e3},u=o.nowSeconds.bind(o),c=a.nowSeconds.bind(a);let d;(()=>{const{performance:t}=(0,r.R)();if(t&&t.now){var e=36e5,n=t.now(),i=Date.now(),o=t.timeOrigin?Math.abs(t.timeOrigin+n-i):e,s=o<e,a=t.timing&&t.timing.navigationStart,u="number"==typeof a?Math.abs(a+n-i):e;return s||u<e?o<=u?(d="timeOrigin",t.timeOrigin):(d="navigationStart",a):(d="dateNow",i)}d="none"})()},6989:function(t){t.exports=window.wp.apiFetch}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={id:r,loaded:!1,exports:{}};return t[r](o,o.exports,n),o.loaded=!0,o.exports}n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,{a:e}),e},n.d=function(t,e){for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.hmd=function(t){return(t=Object.create(t)).children||(t.children=[]),Object.defineProperty(t,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+t.id)}}),t},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};!function(){n.r(r);var t,e=n(2456),i=n(2483),o=n(6989),s=n.n(o);const a="true"===(null===(t=window.A8C_ETK_ErrorReporting_Config)||void 0===t?void 0:t.shouldActivateSentry),u=window._jsErr||[],c=window._headJsErrorHandler;a?(e.S1({dsn:"https://658ae291b00242148af6b76494d4a49a@o248881.ingest.sentry.io/5876245",release:"wpcom-test-01"}),u.forEach((t=>i.Tb(t))),e.yl().then((()=>delete window._jsErr))):function(){const t=t=>{let{error:e}=t;if(!e)return;const n={message:e.message,trace:e.stack,url:document.location.href,feature:"wp-admin"};return s()({global:!0,path:"/rest/v1.1/js-error",method:"POST",data:{error:JSON.stringify(n)}}).catch((()=>console.error("Error: Unable to record the error in Logstash.")))};window.addEventListener("error",t),Promise.allSettled(u.map(t)).then((()=>delete window._jsErr))}(),window.removeEventListener("error",c),delete window._headJsErrorHandler}(),window.EditingToolkit=r}();
|
2 |
//# sourceMappingURL=error-reporting.min.js.map
|
error-reporting/dist/error-reporting.min.js.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"file":"error-reporting.min.js","mappings":"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","sources":["webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/client.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/eventbuilder.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/helpers.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/integrations/breadcrumbs.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/integrations/dedupe.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/integrations/globalhandlers.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/integrations/httpcontext.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/integrations/linkederrors.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/integrations/trycatch.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/sdk.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/stack-parsers.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/transports/fetch.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/transports/utils.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/transports/xhr.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/api.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/baseclient.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/envelope.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/integration.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/integrations/functiontostring.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/integrations/inboundfilters.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/sdk.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/transports/base.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/version.js","webpack://EditingToolkit/../../node_modules/@sentry/hub/esm/exports.js","webpack://EditingToolkit/../../node_modules/@sentry/hub/esm/hub.js","webpack://EditingToolkit/../../node_modules/@sentry/hub/esm/scope.js","webpack://EditingToolkit/../../node_modules/@sentry/hub/esm/session.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/baggage.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/browser.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/clientreport.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/dsn.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/env.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/envelope.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/error.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/global.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/instrument.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/is.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/logger.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/memo.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/misc.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/node.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/normalize.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/object.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/promisebuffer.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/ratelimit.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/severity.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/stacktrace.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/string.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/supports.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/syncpromise.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/time.js","webpack://EditingToolkit/external window [\"wp\",\"apiFetch\"]","webpack://EditingToolkit/webpack/bootstrap","webpack://EditingToolkit/webpack/runtime/compat get default export","webpack://EditingToolkit/webpack/runtime/define property getters","webpack://EditingToolkit/webpack/runtime/harmony module decorator","webpack://EditingToolkit/webpack/runtime/hasOwnProperty shorthand","webpack://EditingToolkit/webpack/runtime/make namespace object","webpack://EditingToolkit/./editing-toolkit-plugin/error-reporting/index.js"],"sourcesContent":["import { BaseClient, SDK_VERSION, getCurrentHub, getEnvelopeEndpointWithUrlEncodedAuth } from '@sentry/core';\nimport { getGlobalObject, getEventDescription, logger, createClientReportEnvelope, dsnToString, serializeEnvelope } from '@sentry/utils';\nimport { eventFromException, eventFromMessage } from './eventbuilder.js';\nimport { BREADCRUMB_INTEGRATION_ID } from './integrations/breadcrumbs.js';\nimport { sendReport } from './transports/utils.js';\n\nvar globalObject = getGlobalObject();\n\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nclass BrowserClient extends BaseClient {\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n constructor(options) {\n options._metadata = options._metadata || {};\n options._metadata.sdk = options._metadata.sdk || {\n name: 'sentry.javascript.browser',\n packages: [\n {\n name: 'npm:@sentry/browser',\n version: SDK_VERSION,\n },\n ],\n version: SDK_VERSION,\n };\n\n super(options);\n\n if (options.sendClientReports && globalObject.document) {\n globalObject.document.addEventListener('visibilitychange', () => {\n if (globalObject.document.visibilityState === 'hidden') {\n this._flushOutcomes();\n }\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n eventFromException(exception, hint) {\n return eventFromException(this._options.stackParser, exception, hint, this._options.attachStacktrace);\n }\n\n /**\n * @inheritDoc\n */\n eventFromMessage(\n message,\n level = 'info',\n hint,\n ) {\n return eventFromMessage(this._options.stackParser, message, level, hint, this._options.attachStacktrace);\n }\n\n /**\n * @inheritDoc\n */\n sendEvent(event, hint) {\n // We only want to add the sentry event breadcrumb when the user has the breadcrumb integration installed and\n // activated its `sentry` option.\n // We also do not want to use the `Breadcrumbs` class here directly, because we do not want it to be included in\n // bundles, if it is not used by the SDK.\n // This all sadly is a bit ugly, but we currently don't have a \"pre-send\" hook on the integrations so we do it this\n // way for now.\n var breadcrumbIntegration = this.getIntegrationById(BREADCRUMB_INTEGRATION_ID) ;\n if (\n breadcrumbIntegration &&\n // We check for definedness of `options`, even though it is not strictly necessary, because that access to\n // `.sentry` below does not throw, in case users provided their own integration with id \"Breadcrumbs\" that does\n // not have an`options` field\n breadcrumbIntegration.options &&\n breadcrumbIntegration.options.sentry\n ) {\n getCurrentHub().addBreadcrumb(\n {\n category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event),\n },\n {\n event,\n },\n );\n }\n\n super.sendEvent(event, hint);\n }\n\n /**\n * @inheritDoc\n */\n _prepareEvent(event, hint, scope) {\n event.platform = event.platform || 'javascript';\n return super._prepareEvent(event, hint, scope);\n }\n\n /**\n * Sends client reports as an envelope.\n */\n _flushOutcomes() {\n var outcomes = this._clearOutcomes();\n\n if (outcomes.length === 0) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('No outcomes to send');\n return;\n }\n\n if (!this._dsn) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('No dsn provided, will not send outcomes');\n return;\n }\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('Sending outcomes:', outcomes);\n\n var url = getEnvelopeEndpointWithUrlEncodedAuth(this._dsn, this._options.tunnel);\n var envelope = createClientReportEnvelope(outcomes, this._options.tunnel && dsnToString(this._dsn));\n\n try {\n sendReport(url, serializeEnvelope(envelope));\n } catch (e) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(e);\n }\n }\n}\n\nexport { BrowserClient };\n//# sourceMappingURL=client.js.map\n","import { isEvent, extractExceptionKeysForMessage, normalizeToSize, addExceptionMechanism, resolvedSyncPromise, isErrorEvent, isDOMError, isDOMException, addExceptionTypeValue, isError, isPlainObject } from '@sentry/utils';\n\n/**\n * This function creates an exception from a JavaScript Error\n */\nfunction exceptionFromError(stackParser, ex) {\n // Get the frames first since Opera can lose the stack if we touch anything else first\n var frames = parseStackFrames(stackParser, ex);\n\n var exception = {\n type: ex && ex.name,\n value: extractMessage(ex),\n };\n\n if (frames.length) {\n exception.stacktrace = { frames };\n }\n\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n\n return exception;\n}\n\n/**\n * @hidden\n */\nfunction eventFromPlainObject(\n stackParser,\n exception,\n syntheticException,\n isUnhandledRejection,\n) {\n var event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? 'UnhandledRejection' : 'Error',\n value: `Non-Error ${\n isUnhandledRejection ? 'promise rejection' : 'exception'\n } captured with keys: ${extractExceptionKeysForMessage(exception)}`,\n },\n ],\n },\n extra: {\n __serialized__: normalizeToSize(exception),\n },\n };\n\n if (syntheticException) {\n var frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n // event.exception.values[0] has been set above\n (event.exception ).values[0].stacktrace = { frames };\n }\n }\n\n return event;\n}\n\n/**\n * @hidden\n */\nfunction eventFromError(stackParser, ex) {\n return {\n exception: {\n values: [exceptionFromError(stackParser, ex)],\n },\n };\n}\n\n/** Parses stack frames from an error */\nfunction parseStackFrames(\n stackParser,\n ex,\n) {\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n var stacktrace = ex.stacktrace || ex.stack || '';\n\n var popSize = getPopSize(ex);\n\n try {\n return stackParser(stacktrace, popSize);\n } catch (e) {\n // no-empty\n }\n\n return [];\n}\n\n// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\nvar reactMinifiedRegexp = /Minified React error #\\d+;/i;\n\nfunction getPopSize(ex) {\n if (ex) {\n if (typeof ex.framesToPop === 'number') {\n return ex.framesToPop;\n }\n\n if (reactMinifiedRegexp.test(ex.message)) {\n return 1;\n }\n }\n\n return 0;\n}\n\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nfunction extractMessage(ex) {\n var message = ex && ex.message;\n if (!message) {\n return 'No error message';\n }\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n return message;\n}\n\n/**\n * Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`.\n * @hidden\n */\nfunction eventFromException(\n stackParser,\n exception,\n hint,\n attachStacktrace,\n) {\n var syntheticException = (hint && hint.syntheticException) || undefined;\n var event = eventFromUnknownInput(stackParser, exception, syntheticException, attachStacktrace);\n addExceptionMechanism(event); // defaults to { type: 'generic', handled: true }\n event.level = 'error';\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * Builds and Event from a Message\n * @hidden\n */\nfunction eventFromMessage(\n stackParser,\n message,\n level = 'info',\n hint,\n attachStacktrace,\n) {\n var syntheticException = (hint && hint.syntheticException) || undefined;\n var event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * @hidden\n */\nfunction eventFromUnknownInput(\n stackParser,\n exception,\n syntheticException,\n attachStacktrace,\n isUnhandledRejection,\n) {\n let event;\n\n if (isErrorEvent(exception ) && (exception ).error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n var errorEvent = exception ;\n return eventFromError(stackParser, errorEvent.error );\n }\n\n // If it is a `DOMError` (which is a legacy API, but still supported in some browsers) then we just extract the name\n // and message, as it doesn't provide anything else. According to the spec, all `DOMExceptions` should also be\n // `Error`s, but that's not the case in IE11, so in that case we treat it the same as we do a `DOMError`.\n //\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n // https://webidl.spec.whatwg.org/#es-DOMException-specialness\n if (isDOMError(exception ) || isDOMException(exception )) {\n var domException = exception ;\n\n if ('stack' in (exception )) {\n event = eventFromError(stackParser, exception );\n } else {\n var name = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n var message = domException.message ? `${name}: ${domException.message}` : name;\n event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, message);\n }\n if ('code' in domException) {\n event.tags = { ...event.tags, 'DOMException.code': `${domException.code}` };\n }\n\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n return eventFromError(stackParser, exception);\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it's a plain object or an instance of `Event` (the built-in JS kind, not this SDK's `Event` type), serialize\n // it manually. This will allow us to group events based on top-level keys which is much better than creating a new\n // group on any key/value change.\n var objectException = exception ;\n event = eventFromPlainObject(stackParser, objectException, syntheticException, isUnhandledRejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(stackParser, exception , syntheticException, attachStacktrace);\n addExceptionTypeValue(event, `${exception}`, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n\n return event;\n}\n\n/**\n * @hidden\n */\nfunction eventFromString(\n stackParser,\n input,\n syntheticException,\n attachStacktrace,\n) {\n var event = {\n message: input,\n };\n\n if (attachStacktrace && syntheticException) {\n var frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n event.exception = {\n values: [{ value: input, stacktrace: { frames } }],\n };\n }\n }\n\n return event;\n}\n\nexport { eventFromError, eventFromException, eventFromMessage, eventFromPlainObject, eventFromString, eventFromUnknownInput, exceptionFromError, parseStackFrames };\n//# sourceMappingURL=eventbuilder.js.map\n","import { withScope, captureException } from '@sentry/core';\nimport { getOriginalFunction, addExceptionTypeValue, addExceptionMechanism, markFunctionWrapped, addNonEnumerableProperty } from '@sentry/utils';\n\nlet ignoreOnError = 0;\n\n/**\n * @hidden\n */\nfunction shouldIgnoreOnError() {\n return ignoreOnError > 0;\n}\n\n/**\n * @hidden\n */\nfunction ignoreNextOnError() {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(() => {\n ignoreOnError -= 1;\n });\n}\n\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap. It is generally safe to pass an unbound function, because the returned wrapper always\n * has a correct `this` context.\n * @returns The wrapped function.\n * @hidden\n */\nfunction wrap(\n fn,\n options\n\n = {},\n before,\n ) {\n // for future readers what this does is wrap a function and then create\n // a bi-directional wrapping between them.\n //\n // example: wrapped = wrap(original);\n // original.__sentry_wrapped__ -> wrapped\n // wrapped.__sentry_original__ -> original\n\n if (typeof fn !== 'function') {\n return fn;\n }\n\n try {\n // if we're dealing with a function that was previously wrapped, return\n // the original wrapper.\n var wrapper = fn.__sentry_wrapped__;\n if (wrapper) {\n return wrapper;\n }\n\n // We don't wanna wrap it twice\n if (getOriginalFunction(fn)) {\n return fn;\n }\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n\n // It is important that `sentryWrapped` is not an arrow function to preserve the context of `this`\n var sentryWrapped = function () {\n var args = Array.prototype.slice.call(arguments);\n\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n\n var wrappedArguments = args.map((arg) => wrap(arg, options));\n\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n\n withScope((scope) => {\n scope.addEventProcessor((event) => {\n if (options.mechanism) {\n addExceptionTypeValue(event, undefined, undefined);\n addExceptionMechanism(event, options.mechanism);\n }\n\n event.extra = {\n ...event.extra,\n arguments: args,\n };\n\n return event;\n });\n\n captureException(ex);\n });\n\n throw ex;\n }\n };\n \n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (var property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch (_oO) {} \n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n markFunctionWrapped(sentryWrapped, fn);\n\n addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped);\n\n // Restore original function name (not all browsers allow that)\n try {\n var descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name') ;\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get() {\n return fn.name;\n },\n });\n }\n } catch (_oO) {}\n\n return sentryWrapped;\n}\n\n/**\n * All properties the report dialog supports\n */\n\nexport { ignoreNextOnError, shouldIgnoreOnError, wrap };\n//# sourceMappingURL=helpers.js.map\n","import { getCurrentHub } from '@sentry/core';\nimport { addInstrumentationHandler, htmlTreeAsString, severityLevelFromString, safeJoin, getGlobalObject, parseUrl } from '@sentry/utils';\n\n/** JSDoc */\n\nvar BREADCRUMB_INTEGRATION_ID = 'Breadcrumbs';\n\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\nclass Breadcrumbs {\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = BREADCRUMB_INTEGRATION_ID;}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = Breadcrumbs.id;}\n\n /**\n * Options of the breadcrumbs integration.\n */\n // This field is public, because we use it in the browser client to check if the `sentry` option is enabled.\n \n\n /**\n * @inheritDoc\n */\n constructor(options) {;Breadcrumbs.prototype.__init.call(this);\n this.options = {\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true,\n ...options,\n };\n }\n\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n setupOnce() {\n if (this.options.console) {\n addInstrumentationHandler('console', _consoleBreadcrumb);\n }\n if (this.options.dom) {\n addInstrumentationHandler('dom', _domBreadcrumb(this.options.dom));\n }\n if (this.options.xhr) {\n addInstrumentationHandler('xhr', _xhrBreadcrumb);\n }\n if (this.options.fetch) {\n addInstrumentationHandler('fetch', _fetchBreadcrumb);\n }\n if (this.options.history) {\n addInstrumentationHandler('history', _historyBreadcrumb);\n }\n }\n} Breadcrumbs.__initStatic();\n\n/**\n * A HOC that creaes a function that creates breadcrumbs from DOM API calls.\n * This is a HOC so that we get access to dom options in the closure.\n */\nfunction _domBreadcrumb(dom) {\n function _innerDomBreadcrumb(handlerData) {\n let target;\n let keyAttrs = typeof dom === 'object' ? dom.serializeAttribute : undefined;\n\n if (typeof keyAttrs === 'string') {\n keyAttrs = [keyAttrs];\n }\n\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n target = handlerData.event.target\n ? htmlTreeAsString(handlerData.event.target , keyAttrs)\n : htmlTreeAsString(handlerData.event , keyAttrs);\n } catch (e) {\n target = '<unknown>';\n }\n\n if (target.length === 0) {\n return;\n }\n\n getCurrentHub().addBreadcrumb(\n {\n category: `ui.${handlerData.name}`,\n message: target,\n },\n {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global,\n },\n );\n }\n\n return _innerDomBreadcrumb;\n}\n\n/**\n * Creates breadcrumbs from console API calls\n */\nfunction _consoleBreadcrumb(handlerData) {\n var breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: severityLevelFromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), ' ') || 'console.assert'}`;\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n\n getCurrentHub().addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n}\n\n/**\n * Creates breadcrumbs from XHR API calls\n */\nfunction _xhrBreadcrumb(handlerData) {\n if (handlerData.endTimestamp) {\n // We only capture complete, non-sentry requests\n if (handlerData.xhr.__sentry_own_request__) {\n return;\n }\n\n const { method, url, status_code, body } = handlerData.xhr.__sentry_xhr__ || {};\n\n getCurrentHub().addBreadcrumb(\n {\n category: 'xhr',\n data: {\n method,\n url,\n status_code,\n },\n type: 'http',\n },\n {\n xhr: handlerData.xhr,\n input: body,\n },\n );\n\n return;\n }\n}\n\n/**\n * Creates breadcrumbs from fetch API calls\n */\nfunction _fetchBreadcrumb(handlerData) {\n // We only capture complete fetch requests\n if (!handlerData.endTimestamp) {\n return;\n }\n\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n return;\n }\n\n if (handlerData.error) {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: handlerData.fetchData,\n level: 'error',\n type: 'http',\n },\n {\n data: handlerData.error,\n input: handlerData.args,\n },\n );\n } else {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: {\n ...handlerData.fetchData,\n status_code: handlerData.response.status,\n },\n type: 'http',\n },\n {\n input: handlerData.args,\n response: handlerData.response,\n },\n );\n }\n}\n\n/**\n * Creates breadcrumbs from history API calls\n */\nfunction _historyBreadcrumb(handlerData) {\n var global = getGlobalObject();\n let from = handlerData.from;\n let to = handlerData.to;\n var parsedLoc = parseUrl(global.location.href);\n let parsedFrom = parseUrl(from);\n var parsedTo = parseUrl(to);\n\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n\n getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from,\n to,\n },\n });\n}\n\nexport { BREADCRUMB_INTEGRATION_ID, Breadcrumbs };\n//# sourceMappingURL=breadcrumbs.js.map\n","import { logger } from '@sentry/utils';\n\n/** Deduplication filter */\nclass Dedupe {constructor() { Dedupe.prototype.__init.call(this); }\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'Dedupe';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = Dedupe.id;}\n\n /**\n * @inheritDoc\n */\n \n\n /**\n * @inheritDoc\n */\n setupOnce(addGlobalEventProcessor, getCurrentHub) {\n var eventProcessor = currentEvent => {\n var self = getCurrentHub().getIntegration(Dedupe);\n if (self) {\n // Juuust in case something goes wrong\n try {\n if (_shouldDropEvent(currentEvent, self._previousEvent)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Event dropped due to being a duplicate of previously captured event.');\n return null;\n }\n } catch (_oO) {\n return (self._previousEvent = currentEvent);\n }\n\n return (self._previousEvent = currentEvent);\n }\n return currentEvent;\n };\n\n eventProcessor.id = this.name;\n addGlobalEventProcessor(eventProcessor);\n }\n} Dedupe.__initStatic();\n\n/** JSDoc */\nfunction _shouldDropEvent(currentEvent, previousEvent) {\n if (!previousEvent) {\n return false;\n }\n\n if (_isSameMessageEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n return false;\n}\n\n/** JSDoc */\nfunction _isSameMessageEvent(currentEvent, previousEvent) {\n var currentMessage = currentEvent.message;\n var previousMessage = previousEvent.message;\n\n // If neither event has a message property, they were both exceptions, so bail out\n if (!currentMessage && !previousMessage) {\n return false;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentMessage && !previousMessage) || (!currentMessage && previousMessage)) {\n return false;\n }\n\n if (currentMessage !== previousMessage) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameExceptionEvent(currentEvent, previousEvent) {\n var previousException = _getExceptionFromEvent(previousEvent);\n var currentException = _getExceptionFromEvent(currentEvent);\n\n if (!previousException || !currentException) {\n return false;\n }\n\n if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameStacktrace(currentEvent, previousEvent) {\n let currentFrames = _getFramesFromEvent(currentEvent);\n let previousFrames = _getFramesFromEvent(previousEvent);\n\n // If neither event has a stacktrace, they are assumed to be the same\n if (!currentFrames && !previousFrames) {\n return true;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentFrames && !previousFrames) || (!currentFrames && previousFrames)) {\n return false;\n }\n\n currentFrames = currentFrames ;\n previousFrames = previousFrames ;\n\n // If number of frames differ, they are not the same\n if (previousFrames.length !== currentFrames.length) {\n return false;\n }\n\n // Otherwise, compare the two\n for (let i = 0; i < previousFrames.length; i++) {\n var frameA = previousFrames[i];\n var frameB = currentFrames[i];\n\n if (\n frameA.filename !== frameB.filename ||\n frameA.lineno !== frameB.lineno ||\n frameA.colno !== frameB.colno ||\n frameA.function !== frameB.function\n ) {\n return false;\n }\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameFingerprint(currentEvent, previousEvent) {\n let currentFingerprint = currentEvent.fingerprint;\n let previousFingerprint = previousEvent.fingerprint;\n\n // If neither event has a fingerprint, they are assumed to be the same\n if (!currentFingerprint && !previousFingerprint) {\n return true;\n }\n\n // If only one event has a fingerprint, but not the other one, they are not the same\n if ((currentFingerprint && !previousFingerprint) || (!currentFingerprint && previousFingerprint)) {\n return false;\n }\n\n currentFingerprint = currentFingerprint ;\n previousFingerprint = previousFingerprint ;\n\n // Otherwise, compare the two\n try {\n return !!(currentFingerprint.join('') === previousFingerprint.join(''));\n } catch (_oO) {\n return false;\n }\n}\n\n/** JSDoc */\nfunction _getExceptionFromEvent(event) {\n return event.exception && event.exception.values && event.exception.values[0];\n}\n\n/** JSDoc */\nfunction _getFramesFromEvent(event) {\n var exception = event.exception;\n\n if (exception) {\n try {\n // @ts-ignore Object could be undefined\n return exception.values[0].stacktrace.frames;\n } catch (_oO) {\n return undefined;\n }\n }\n return undefined;\n}\n\nexport { Dedupe };\n//# sourceMappingURL=dedupe.js.map\n","import { getCurrentHub } from '@sentry/core';\nimport { addInstrumentationHandler, isString, isPrimitive, isErrorEvent, getLocationHref, logger, addExceptionMechanism } from '@sentry/utils';\nimport { eventFromUnknownInput } from '../eventbuilder.js';\nimport { shouldIgnoreOnError } from '../helpers.js';\n\n/** Global handlers */\nclass GlobalHandlers {\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'GlobalHandlers';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = GlobalHandlers.id;}\n\n /** JSDoc */\n \n\n /**\n * Stores references functions to installing handlers. Will set to undefined\n * after they have been run so that they are not used twice.\n */\n __init2() {this._installFunc = {\n onerror: _installGlobalOnErrorHandler,\n onunhandledrejection: _installGlobalOnUnhandledRejectionHandler,\n };}\n\n /** JSDoc */\n constructor(options) {;GlobalHandlers.prototype.__init.call(this);GlobalHandlers.prototype.__init2.call(this);\n this._options = {\n onerror: true,\n onunhandledrejection: true,\n ...options,\n };\n }\n /**\n * @inheritDoc\n */\n setupOnce() {\n Error.stackTraceLimit = 50;\n var options = this._options;\n\n // We can disable guard-for-in as we construct the options object above + do checks against\n // `this._installFunc` for the property.\n for (var key in options) {\n var installFunc = this._installFunc[key ];\n if (installFunc && options[key ]) {\n globalHandlerLog(key);\n installFunc();\n this._installFunc[key ] = undefined;\n }\n }\n }\n} GlobalHandlers.__initStatic();\n\n/** JSDoc */\nfunction _installGlobalOnErrorHandler() {\n addInstrumentationHandler(\n 'error',\n (data) => {\n const [hub, stackParser, attachStacktrace] = getHubAndOptions();\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n const { msg, url, line, column, error } = data;\n if (shouldIgnoreOnError() || (error && error.__sentry_own_request__)) {\n return;\n }\n\n var event =\n error === undefined && isString(msg)\n ? _eventFromIncompleteOnError(msg, url, line, column)\n : _enhanceEventWithInitialFrame(\n eventFromUnknownInput(stackParser, error || msg, undefined, attachStacktrace, false),\n url,\n line,\n column,\n );\n\n event.level = 'error';\n\n addMechanismAndCapture(hub, error, event, 'onerror');\n },\n );\n}\n\n/** JSDoc */\nfunction _installGlobalOnUnhandledRejectionHandler() {\n addInstrumentationHandler(\n 'unhandledrejection',\n (e) => {\n const [hub, stackParser, attachStacktrace] = getHubAndOptions();\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n let error = e;\n\n // dig the object of the rejection out of known event types\n try {\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in e) {\n error = e.reason;\n }\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n else if ('detail' in e && 'reason' in e.detail) {\n error = e.detail.reason;\n }\n } catch (_oO) {\n // no-empty\n }\n\n if (shouldIgnoreOnError() || (error && error.__sentry_own_request__)) {\n return true;\n }\n\n var event = isPrimitive(error)\n ? _eventFromRejectionWithPrimitive(error)\n : eventFromUnknownInput(stackParser, error, undefined, attachStacktrace, true);\n\n event.level = 'error';\n\n addMechanismAndCapture(hub, error, event, 'onunhandledrejection');\n return;\n },\n );\n}\n\n/**\n * Create an event from a promise rejection where the `reason` is a primitive.\n *\n * @param reason: The `reason` property of the promise rejection\n * @returns An Event object with an appropriate `exception` value\n */\nfunction _eventFromRejectionWithPrimitive(reason) {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n value: `Non-Error promise rejection captured with value: ${String(reason)}`,\n },\n ],\n },\n };\n}\n\n/**\n * This function creates a stack from an old, error-less onerror handler.\n */\nfunction _eventFromIncompleteOnError(msg, url, line, column) {\n var ERROR_TYPES_RE =\n /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;\n\n // If 'message' is ErrorEvent, get real message from inside\n let message = isErrorEvent(msg) ? msg.message : msg;\n let name = 'Error';\n\n var groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n\n var event = {\n exception: {\n values: [\n {\n type: name,\n value: message,\n },\n ],\n },\n };\n\n return _enhanceEventWithInitialFrame(event, url, line, column);\n}\n\n/** JSDoc */\nfunction _enhanceEventWithInitialFrame(event, url, line, column) {\n // event.exception\n var e = (event.exception = event.exception || {});\n // event.exception.values\n var ev = (e.values = e.values || []);\n // event.exception.values[0]\n var ev0 = (ev[0] = ev[0] || {});\n // event.exception.values[0].stacktrace\n var ev0s = (ev0.stacktrace = ev0.stacktrace || {});\n // event.exception.values[0].stacktrace.frames\n var ev0sf = (ev0s.frames = ev0s.frames || []);\n\n var colno = isNaN(parseInt(column, 10)) ? undefined : column;\n var lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n var filename = isString(url) && url.length > 0 ? url : getLocationHref();\n\n // event.exception.values[0].stacktrace.frames\n if (ev0sf.length === 0) {\n ev0sf.push({\n colno,\n filename,\n function: '?',\n in_app: true,\n lineno,\n });\n }\n\n return event;\n}\n\nfunction globalHandlerLog(type) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(`Global Handler attached: ${type}`);\n}\n\nfunction addMechanismAndCapture(hub, error, event, type) {\n addExceptionMechanism(event, {\n handled: false,\n type,\n });\n hub.captureEvent(event, {\n originalException: error,\n });\n}\n\nfunction getHubAndOptions() {\n var hub = getCurrentHub();\n var client = hub.getClient();\n var options = (client && client.getOptions()) || {\n stackParser: () => [],\n attachStacktrace: false,\n };\n return [hub, options.stackParser, options.attachStacktrace];\n}\n\nexport { GlobalHandlers };\n//# sourceMappingURL=globalhandlers.js.map\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\n\nvar global = getGlobalObject();\n\n/** HttpContext integration collects information about HTTP request headers */\nclass HttpContext {constructor() { HttpContext.prototype.__init.call(this); }\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'HttpContext';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = HttpContext.id;}\n\n /**\n * @inheritDoc\n */\n setupOnce() {\n addGlobalEventProcessor((event) => {\n if (getCurrentHub().getIntegration(HttpContext)) {\n // if none of the information we want exists, don't bother\n if (!global.navigator && !global.location && !global.document) {\n return event;\n }\n\n // grab as much info as exists and add it to the event\n var url = (event.request && event.request.url) || (global.location && global.location.href);\n const { referrer } = global.document || {};\n const { userAgent } = global.navigator || {};\n\n var headers = {\n ...(event.request && event.request.headers),\n ...(referrer && { Referer: referrer }),\n ...(userAgent && { 'User-Agent': userAgent }),\n };\n var request = { ...(url && { url }), headers };\n\n return { ...event, request };\n }\n return event;\n });\n }\n} HttpContext.__initStatic();\n\nexport { HttpContext };\n//# sourceMappingURL=httpcontext.js.map\n","import { getCurrentHub, addGlobalEventProcessor } from '@sentry/core';\nimport { isInstanceOf } from '@sentry/utils';\nimport { exceptionFromError } from '../eventbuilder.js';\n\nvar DEFAULT_KEY = 'cause';\nvar DEFAULT_LIMIT = 5;\n\n/** Adds SDK info to an event. */\nclass LinkedErrors {\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'LinkedErrors';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = LinkedErrors.id;}\n\n /**\n * @inheritDoc\n */\n \n\n /**\n * @inheritDoc\n */\n \n\n /**\n * @inheritDoc\n */\n constructor(options = {}) {;LinkedErrors.prototype.__init.call(this);\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n\n /**\n * @inheritDoc\n */\n setupOnce() {\n var client = getCurrentHub().getClient();\n if (!client) {\n return;\n }\n addGlobalEventProcessor((event, hint) => {\n var self = getCurrentHub().getIntegration(LinkedErrors);\n return self ? _handler(client.getOptions().stackParser, self._key, self._limit, event, hint) : event;\n });\n }\n} LinkedErrors.__initStatic();\n\n/**\n * @inheritDoc\n */\nfunction _handler(\n parser,\n key,\n limit,\n event,\n hint,\n) {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return event;\n }\n var linkedErrors = _walkErrorTree(parser, limit, hint.originalException , key);\n event.exception.values = [...linkedErrors, ...event.exception.values];\n return event;\n}\n\n/**\n * JSDOC\n */\nfunction _walkErrorTree(\n parser,\n limit,\n error,\n key,\n stack = [],\n) {\n if (!isInstanceOf(error[key], Error) || stack.length + 1 >= limit) {\n return stack;\n }\n var exception = exceptionFromError(parser, error[key]);\n return _walkErrorTree(parser, limit, error[key], key, [exception, ...stack]);\n}\n\nexport { LinkedErrors, _handler, _walkErrorTree };\n//# sourceMappingURL=linkederrors.js.map\n","import { getGlobalObject, fill, getFunctionName, getOriginalFunction } from '@sentry/utils';\nimport { wrap } from '../helpers.js';\n\nvar DEFAULT_EVENT_TARGET = [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n];\n\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nclass TryCatch {\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'TryCatch';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = TryCatch.id;}\n\n /** JSDoc */\n \n\n /**\n * @inheritDoc\n */\n constructor(options) {;TryCatch.prototype.__init.call(this);\n this._options = {\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true,\n ...options,\n };\n }\n\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n setupOnce() {\n var global = getGlobalObject();\n\n if (this._options.setTimeout) {\n fill(global, 'setTimeout', _wrapTimeFunction);\n }\n\n if (this._options.setInterval) {\n fill(global, 'setInterval', _wrapTimeFunction);\n }\n\n if (this._options.requestAnimationFrame) {\n fill(global, 'requestAnimationFrame', _wrapRAF);\n }\n\n if (this._options.XMLHttpRequest && 'XMLHttpRequest' in global) {\n fill(XMLHttpRequest.prototype, 'send', _wrapXHR);\n }\n\n var eventTargetOption = this._options.eventTarget;\n if (eventTargetOption) {\n var eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n eventTarget.forEach(_wrapEventTarget);\n }\n }\n} TryCatch.__initStatic();\n\n/** JSDoc */\nfunction _wrapTimeFunction(original) {\n return function ( ...args) {\n var originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: true,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n}\n\n/** JSDoc */\nfunction _wrapRAF(original) {\n return function ( callback) {\n return original.apply(this, [\n wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n }),\n ]);\n };\n}\n\n/** JSDoc */\nfunction _wrapXHR(originalSend) {\n return function ( ...args) {\n var xhr = this;\n var xmlHttpRequestProps = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n\n xmlHttpRequestProps.forEach(prop => {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n fill(xhr, prop, function (original) {\n var wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n };\n\n // If Instrument integration has been called before TryCatch, get the name of original function\n var originalFunction = getOriginalFunction(original);\n if (originalFunction) {\n wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n }\n\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n\n return originalSend.apply(this, args);\n };\n}\n\n/** JSDoc */\nfunction _wrapEventTarget(target) {\n var global = getGlobalObject() ;\n var proto = global[target] && global[target].prototype;\n\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (original)\n\n {\n return function (\n \n eventName,\n fn,\n options,\n ) {\n try {\n if (typeof fn.handleEvent === 'function') {\n // ESlint disable explanation:\n // First, it is generally safe to call `wrap` with an unbound function. Furthermore, using `.bind()` would\n // introduce a bug here, because bind returns a new function that doesn't have our\n // flags(like __sentry_original__) attached. `wrap` checks for those flags to avoid unnecessary wrapping.\n // Without those flags, every call to addEventListener wraps the function again, causing a memory leak.\n fn.handleEvent = wrap(fn.handleEvent, {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n });\n }\n } catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n\n return original.apply(this, [\n eventName,\n wrap(fn , {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n }),\n options,\n ]);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (\n originalRemoveEventListener,\n ) {\n return function (\n \n eventName,\n fn,\n options,\n ) {\n /**\n * There are 2 possible scenarios here:\n *\n * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n * as a pass-through, and call original `removeEventListener` with it.\n *\n * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n *\n * When someone adds a handler prior to initialization, and then do it again, but after,\n * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n * to get rid of the initial handler and it'd stick there forever.\n */\n var wrappedEventHandler = fn ;\n try {\n var originalEventHandler = wrappedEventHandler && wrappedEventHandler.__sentry_wrapped__;\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n } catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n };\n },\n );\n}\n\nexport { TryCatch };\n//# sourceMappingURL=trycatch.js.map\n","import { Integrations, getIntegrationsToSetup, initAndBind, getCurrentHub, getReportDialogEndpoint } from '@sentry/core';\nimport { getGlobalObject, stackParserFromStackParserOptions, supportsFetch, logger, resolvedSyncPromise, addInstrumentationHandler } from '@sentry/utils';\nimport { BrowserClient } from './client.js';\nimport { wrap as wrap$1 } from './helpers.js';\nimport './integrations/index.js';\nimport { defaultStackParser } from './stack-parsers.js';\nimport './transports/index.js';\nimport { TryCatch } from './integrations/trycatch.js';\nimport { Breadcrumbs } from './integrations/breadcrumbs.js';\nimport { GlobalHandlers } from './integrations/globalhandlers.js';\nimport { LinkedErrors } from './integrations/linkederrors.js';\nimport { Dedupe } from './integrations/dedupe.js';\nimport { HttpContext } from './integrations/httpcontext.js';\nimport { makeFetchTransport } from './transports/fetch.js';\nimport { makeXHRTransport } from './transports/xhr.js';\n\nvar defaultIntegrations = [\n new Integrations.InboundFilters(),\n new Integrations.FunctionToString(),\n new TryCatch(),\n new Breadcrumbs(),\n new GlobalHandlers(),\n new LinkedErrors(),\n new Dedupe(),\n new HttpContext(),\n];\n\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { configureScope } from '@sentry/browser';\n * configureScope((scope: Scope) => {\n * scope.setExtra({ battery: 0.7 });\n * scope.setTag({ user_mode: 'admin' });\n * scope.setUser({ id: '4711' });\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\nfunction init(options = {}) {\n if (options.defaultIntegrations === undefined) {\n options.defaultIntegrations = defaultIntegrations;\n }\n if (options.release === undefined) {\n var window = getGlobalObject();\n // This supports the variable that sentry-webpack-plugin injects\n if (window.SENTRY_RELEASE && window.SENTRY_RELEASE.id) {\n options.release = window.SENTRY_RELEASE.id;\n }\n }\n if (options.autoSessionTracking === undefined) {\n options.autoSessionTracking = true;\n }\n if (options.sendClientReports === undefined) {\n options.sendClientReports = true;\n }\n\n var clientOptions = {\n ...options,\n stackParser: stackParserFromStackParserOptions(options.stackParser || defaultStackParser),\n integrations: getIntegrationsToSetup(options),\n transport: options.transport || (supportsFetch() ? makeFetchTransport : makeXHRTransport),\n };\n\n initAndBind(BrowserClient, clientOptions);\n\n if (options.autoSessionTracking) {\n startSessionTracking();\n }\n}\n\n/**\n * Present the user with a report dialog.\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\nfunction showReportDialog(options = {}, hub = getCurrentHub()) {\n // doesn't work without a document (React Native)\n var global = getGlobalObject();\n if (!global.document) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Global document not defined in showReportDialog call');\n return;\n }\n\n const { client, scope } = hub.getStackTop();\n var dsn = options.dsn || (client && client.getDsn());\n if (!dsn) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('DSN not configured for showReportDialog call');\n return;\n }\n\n if (scope) {\n options.user = {\n ...scope.getUser(),\n ...options.user,\n };\n }\n\n if (!options.eventId) {\n options.eventId = hub.lastEventId();\n }\n\n var script = global.document.createElement('script');\n script.async = true;\n script.src = getReportDialogEndpoint(dsn, options);\n\n if (options.onLoad) {\n script.onload = options.onLoad;\n }\n\n var injectionPoint = global.document.head || global.document.body;\n if (injectionPoint) {\n injectionPoint.appendChild(script);\n } else {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Not injecting report dialog. No injection point found in HTML');\n }\n}\n\n/**\n * This is the getter for lastEventId.\n *\n * @returns The last event id of a captured event.\n */\nfunction lastEventId() {\n return getCurrentHub().lastEventId();\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nfunction forceLoad() {\n // Noop\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nfunction onLoad(callback) {\n callback();\n}\n\n/**\n * Call `flush()` on the current client, if there is one. See {@link Client.flush}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue. Omitting this parameter will cause\n * the client to wait until all events are sent before resolving the promise.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nfunction flush(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.flush(timeout);\n }\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Cannot flush events. No client defined.');\n return resolvedSyncPromise(false);\n}\n\n/**\n * Call `close()` on the current client, if there is one. See {@link Client.close}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue before shutting down. Omitting this\n * parameter will cause the client to wait until all events are sent before disabling itself.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nfunction close(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.close(timeout);\n }\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Cannot flush events and disable SDK. No client defined.');\n return resolvedSyncPromise(false);\n}\n\n/**\n * Wrap code within a try/catch block so the SDK is able to capture errors.\n *\n * @param fn A function to wrap.\n *\n * @returns The result of wrapped function call.\n */\nfunction wrap(fn) {\n return wrap$1(fn)();\n}\n\nfunction startSessionOnHub(hub) {\n hub.startSession({ ignoreDuration: true });\n hub.captureSession();\n}\n\n/**\n * Enable automatic Session Tracking for the initial page load.\n */\nfunction startSessionTracking() {\n var window = getGlobalObject();\n var document = window.document;\n\n if (typeof document === 'undefined') {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn('Session tracking in non-browser environment with @sentry/browser is not supported.');\n return;\n }\n\n var hub = getCurrentHub();\n\n // The only way for this to be false is for there to be a version mismatch between @sentry/browser (>= 6.0.0) and\n // @sentry/hub (< 5.27.0). In the simple case, there won't ever be such a mismatch, because the two packages are\n // pinned at the same version in package.json, but there are edge cases where it's possible. See\n // https://github.com/getsentry/sentry-javascript/issues/3207 and\n // https://github.com/getsentry/sentry-javascript/issues/3234 and\n // https://github.com/getsentry/sentry-javascript/issues/3278.\n if (!hub.captureSession) {\n return;\n }\n\n // The session duration for browser sessions does not track a meaningful\n // concept that can be used as a metric.\n // Automatically captured sessions are akin to page views, and thus we\n // discard their duration.\n startSessionOnHub(hub);\n\n // We want to create a session for every navigation as well\n addInstrumentationHandler('history', ({ from, to }) => {\n // Don't create an additional session for the initial route or if the location did not change\n if (!(from === undefined || from === to)) {\n startSessionOnHub(getCurrentHub());\n }\n });\n}\n\nexport { close, defaultIntegrations, flush, forceLoad, init, lastEventId, onLoad, showReportDialog, wrap };\n//# sourceMappingURL=sdk.js.map\n","import { createStackParser } from '@sentry/utils';\n\n// global reference to slice\nvar UNKNOWN_FUNCTION = '?';\n\nvar OPERA10_PRIORITY = 10;\nvar OPERA11_PRIORITY = 20;\nvar CHROME_PRIORITY = 30;\nvar WINJS_PRIORITY = 40;\nvar GECKO_PRIORITY = 50;\n\nfunction createFrame(filename, func, lineno, colno) {\n var frame = {\n filename,\n function: func,\n // All browser frames are considered in_app\n in_app: true,\n };\n\n if (lineno !== undefined) {\n frame.lineno = lineno;\n }\n\n if (colno !== undefined) {\n frame.colno = colno;\n }\n\n return frame;\n}\n\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nvar chromeRegex =\n /^\\s*at (?:(.*?) ?\\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nvar chromeEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nvar chrome = line => {\n var parts = chromeRegex.exec(line);\n\n if (parts) {\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n if (isEval) {\n var subMatch = chromeEvalRegex.exec(parts[2]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = subMatch[1]; // url\n parts[3] = subMatch[2]; // line\n parts[4] = subMatch[3]; // column\n }\n }\n\n // Kamil: One more hack won't hurt us right? Understanding and adding more rules on top of these regexps right now\n // would be way too time consuming. (TODO: Rewrite whole RegExp to be more readable)\n const [func, filename] = extractSafariExtensionDetails(parts[1] || UNKNOWN_FUNCTION, parts[2]);\n\n return createFrame(filename, func, parts[3] ? +parts[3] : undefined, parts[4] ? +parts[4] : undefined);\n }\n\n return;\n};\n\nvar chromeStackLineParser = [CHROME_PRIORITY, chrome];\n\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nvar geckoREgex =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar geckoEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nvar gecko = line => {\n var parts = geckoREgex.exec(line);\n\n if (parts) {\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval) {\n var subMatch = geckoEvalRegex.exec(parts[3]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || 'eval';\n parts[3] = subMatch[1];\n parts[4] = subMatch[2];\n parts[5] = ''; // no column when eval\n }\n }\n\n let filename = parts[3];\n let func = parts[1] || UNKNOWN_FUNCTION;\n [func, filename] = extractSafariExtensionDetails(func, filename);\n\n return createFrame(filename, func, parts[4] ? +parts[4] : undefined, parts[5] ? +parts[5] : undefined);\n }\n\n return;\n};\n\nvar geckoStackLineParser = [GECKO_PRIORITY, gecko];\n\nvar winjsRegex =\n /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nvar winjs = line => {\n var parts = winjsRegex.exec(line);\n\n return parts\n ? createFrame(parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined)\n : undefined;\n};\n\nvar winjsStackLineParser = [WINJS_PRIORITY, winjs];\n\nvar opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n\nvar opera10 = line => {\n var parts = opera10Regex.exec(line);\n return parts ? createFrame(parts[2], parts[3] || UNKNOWN_FUNCTION, +parts[1]) : undefined;\n};\n\nvar opera10StackLineParser = [OPERA10_PRIORITY, opera10];\n\nvar opera11Regex =\n / line (\\d+), column (\\d+)\\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\\(.*\\))? in (.*):\\s*$/i;\n\nvar opera11 = line => {\n var parts = opera11Regex.exec(line);\n return parts ? createFrame(parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;\n};\n\nvar opera11StackLineParser = [OPERA11_PRIORITY, opera11];\n\nvar defaultStackLineParsers = [chromeStackLineParser, geckoStackLineParser, winjsStackLineParser];\n\nvar defaultStackParser = createStackParser(...defaultStackLineParsers);\n\n/**\n * Safari web extensions, starting version unknown, can produce \"frames-only\" stacktraces.\n * What it means, is that instead of format like:\n *\n * Error: wat\n * at function@url:row:col\n * at function@url:row:col\n * at function@url:row:col\n *\n * it produces something like:\n *\n * function@url:row:col\n * function@url:row:col\n * function@url:row:col\n *\n * Because of that, it won't be captured by `chrome` RegExp and will fall into `Gecko` branch.\n * This function is extracted so that we can use it in both places without duplicating the logic.\n * Unfortunately \"just\" changing RegExp is too complicated now and making it pass all tests\n * and fix this case seems like an impossible, or at least way too time-consuming task.\n */\nvar extractSafariExtensionDetails = (func, filename) => {\n var isSafariExtension = func.indexOf('safari-extension') !== -1;\n var isSafariWebExtension = func.indexOf('safari-web-extension') !== -1;\n\n return isSafariExtension || isSafariWebExtension\n ? [\n func.indexOf('@') !== -1 ? func.split('@')[0] : UNKNOWN_FUNCTION,\n isSafariExtension ? `safari-extension:${filename}` : `safari-web-extension:${filename}`,\n ]\n : [func, filename];\n};\n\nexport { chromeStackLineParser, defaultStackLineParsers, defaultStackParser, geckoStackLineParser, opera10StackLineParser, opera11StackLineParser, winjsStackLineParser };\n//# sourceMappingURL=stack-parsers.js.map\n","import { createTransport } from '@sentry/core';\nimport { getNativeFetchImplementation } from './utils.js';\n\n/**\n * Creates a Transport that uses the Fetch API to send events to Sentry.\n */\nfunction makeFetchTransport(\n options,\n nativeFetch = getNativeFetchImplementation(),\n) {\n function makeRequest(request) {\n var requestOptions = {\n body: request.body,\n method: 'POST',\n referrerPolicy: 'origin',\n headers: options.headers,\n ...options.fetchOptions,\n };\n\n return nativeFetch(options.url, requestOptions).then(response => ({\n statusCode: response.status,\n headers: {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n },\n }));\n }\n\n return createTransport(options, makeRequest);\n}\n\nexport { makeFetchTransport };\n//# sourceMappingURL=fetch.js.map\n","import { getGlobalObject, isNativeFetch, logger, supportsFetch } from '@sentry/utils';\n\nvar global = getGlobalObject();\nlet cachedFetchImpl;\n\n/**\n * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.\n * Whenever someone wraps the Fetch API and returns the wrong promise chain,\n * this chain becomes orphaned and there is no possible way to capture it's rejections\n * other than allowing it bubble up to this very handler. eg.\n *\n * var f = window.fetch;\n * window.fetch = function () {\n * var p = f.apply(this, arguments);\n *\n * p.then(function() {\n * console.log('hi.');\n * });\n *\n * return p;\n * }\n *\n * `p.then(function () { ... })` is producing a completely separate promise chain,\n * however, what's returned is `p` - the result of original `fetch` call.\n *\n * This mean, that whenever we use the Fetch API to send our own requests, _and_\n * some ad-blocker blocks it, this orphaned chain will _always_ reject,\n * effectively causing another event to be captured.\n * This makes a whole process become an infinite loop, which we need to somehow\n * deal with, and break it in one way or another.\n *\n * To deal with this issue, we are making sure that we _always_ use the real\n * browser Fetch API, instead of relying on what `window.fetch` exposes.\n * The only downside to this would be missing our own requests as breadcrumbs,\n * but because we are already not doing this, it should be just fine.\n *\n * Possible failed fetch error messages per-browser:\n *\n * Chrome: Failed to fetch\n * Edge: Failed to Fetch\n * Firefox: NetworkError when attempting to fetch resource\n * Safari: resource blocked by content blocker\n */\nfunction getNativeFetchImplementation() {\n if (cachedFetchImpl) {\n return cachedFetchImpl;\n }\n\n // Fast path to avoid DOM I/O\n if (isNativeFetch(global.fetch)) {\n return (cachedFetchImpl = global.fetch.bind(global));\n }\n\n var document = global.document;\n let fetchImpl = global.fetch;\n if (document && typeof document.createElement === 'function') {\n try {\n var sandbox = document.createElement('iframe');\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n var contentWindow = sandbox.contentWindow;\n if (contentWindow && contentWindow.fetch) {\n fetchImpl = contentWindow.fetch;\n }\n document.head.removeChild(sandbox);\n } catch (e) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', e);\n }\n }\n\n return (cachedFetchImpl = fetchImpl.bind(global));\n }\n\n/**\n * Sends sdk client report using sendBeacon or fetch as a fallback if available\n *\n * @param url report endpoint\n * @param body report payload\n */\nfunction sendReport(url, body) {\n var isRealNavigator = Object.prototype.toString.call(global && global.navigator) === '[object Navigator]';\n var hasSendBeacon = isRealNavigator && typeof global.navigator.sendBeacon === 'function';\n\n if (hasSendBeacon) {\n // Prevent illegal invocations - https://xgwang.me/posts/you-may-not-know-beacon/#it-may-throw-error%2C-be-sure-to-catch\n var sendBeacon = global.navigator.sendBeacon.bind(global.navigator);\n sendBeacon(url, body);\n } else if (supportsFetch()) {\n var fetch = getNativeFetchImplementation();\n fetch(url, {\n body,\n method: 'POST',\n credentials: 'omit',\n keepalive: true,\n }).then(null, error => {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(error);\n });\n }\n}\n\nexport { getNativeFetchImplementation, sendReport };\n//# sourceMappingURL=utils.js.map\n","import { createTransport } from '@sentry/core';\nimport { SyncPromise } from '@sentry/utils';\n\n/**\n * The DONE ready state for XmlHttpRequest\n *\n * Defining it here as a constant b/c XMLHttpRequest.DONE is not always defined\n * (e.g. during testing, it is `undefined`)\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState}\n */\nvar XHR_READYSTATE_DONE = 4;\n\n/**\n * Creates a Transport that uses the XMLHttpRequest API to send events to Sentry.\n */\nfunction makeXHRTransport(options) {\n function makeRequest(request) {\n return new SyncPromise((resolve, reject) => {\n var xhr = new XMLHttpRequest();\n\n xhr.onerror = reject;\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === XHR_READYSTATE_DONE) {\n resolve({\n statusCode: xhr.status,\n headers: {\n 'x-sentry-rate-limits': xhr.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': xhr.getResponseHeader('Retry-After'),\n },\n });\n }\n };\n\n xhr.open('POST', options.url);\n\n for (var header in options.headers) {\n if (Object.prototype.hasOwnProperty.call(options.headers, header)) {\n xhr.setRequestHeader(header, options.headers[header]);\n }\n }\n\n xhr.send(request.body);\n });\n }\n\n return createTransport(options, makeRequest);\n}\n\nexport { makeXHRTransport };\n//# sourceMappingURL=xhr.js.map\n","import { urlEncode, makeDsn, dsnToString } from '@sentry/utils';\n\nvar SENTRY_API_VERSION = '7';\n\n/** Returns the prefix to construct Sentry ingestion API endpoints. */\nfunction getBaseApiEndpoint(dsn) {\n var protocol = dsn.protocol ? `${dsn.protocol}:` : '';\n var port = dsn.port ? `:${dsn.port}` : '';\n return `${protocol}//${dsn.host}${port}${dsn.path ? `/${dsn.path}` : ''}/api/`;\n}\n\n/** Returns the ingest API endpoint for target. */\nfunction _getIngestEndpoint(dsn) {\n return `${getBaseApiEndpoint(dsn)}${dsn.projectId}/envelope/`;\n}\n\n/** Returns a URL-encoded string with auth config suitable for a query string. */\nfunction _encodedAuth(dsn) {\n return urlEncode({\n // We send only the minimum set of required information. See\n // https://github.com/getsentry/sentry-javascript/issues/2572.\n sentry_key: dsn.publicKey,\n sentry_version: SENTRY_API_VERSION,\n });\n}\n\n/**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\nfunction getEnvelopeEndpointWithUrlEncodedAuth(dsn, tunnel) {\n return tunnel ? tunnel : `${_getIngestEndpoint(dsn)}?${_encodedAuth(dsn)}`;\n}\n\n/** Returns the url to the report dialog endpoint. */\nfunction getReportDialogEndpoint(\n dsnLike,\n dialogOptions\n\n,\n) {\n var dsn = makeDsn(dsnLike);\n var endpoint = `${getBaseApiEndpoint(dsn)}embed/error-page/`;\n\n let encodedOptions = `dsn=${dsnToString(dsn)}`;\n for (var key in dialogOptions) {\n if (key === 'dsn') {\n continue;\n }\n\n if (key === 'user') {\n var user = dialogOptions.user;\n if (!user) {\n continue;\n }\n if (user.name) {\n encodedOptions += `&name=${encodeURIComponent(user.name)}`;\n }\n if (user.email) {\n encodedOptions += `&email=${encodeURIComponent(user.email)}`;\n }\n } else {\n encodedOptions += `&${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key] )}`;\n }\n }\n\n return `${endpoint}?${encodedOptions}`;\n}\n\nexport { getEnvelopeEndpointWithUrlEncodedAuth, getReportDialogEndpoint };\n//# sourceMappingURL=api.js.map\n","import { updateSession, Scope } from '@sentry/hub';\nimport { makeDsn, logger, checkOrSetAlreadyCaught, isPrimitive, resolvedSyncPromise, addItemToEnvelope, createAttachmentEnvelopeItem, SyncPromise, uuid4, dateTimestampInSeconds, normalize, truncate, rejectedSyncPromise, SentryError, isThenable, isPlainObject } from '@sentry/utils';\nimport { getEnvelopeEndpointWithUrlEncodedAuth } from './api.js';\nimport { createEventEnvelope, createSessionEnvelope } from './envelope.js';\nimport { setupIntegrations } from './integration.js';\n\nvar ALREADY_SEEN_ERROR = \"Not capturing exception because it's already been captured.\";\n\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event, it is passed through\n * {@link BaseClient._prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient<NodeOptions> {\n * public constructor(options: NodeOptions) {\n * super(options);\n * }\n *\n * // ...\n * }\n */\nclass BaseClient {\n /** Options passed to the SDK. */\n \n\n /** The client Dsn, if specified in options. Without this Dsn, the SDK will be disabled. */\n \n\n /** Array of set up integrations. */\n __init() {this._integrations = {};}\n\n /** Indicates whether this client's integrations have been set up. */\n __init2() {this._integrationsInitialized = false;}\n\n /** Number of calls being processed */\n __init3() {this._numProcessing = 0;}\n\n /** Holds flushable */\n __init4() {this._outcomes = {};}\n\n /**\n * Initializes this client instance.\n *\n * @param options Options for the client.\n */\n constructor(options) {;BaseClient.prototype.__init.call(this);BaseClient.prototype.__init2.call(this);BaseClient.prototype.__init3.call(this);BaseClient.prototype.__init4.call(this);\n this._options = options;\n if (options.dsn) {\n this._dsn = makeDsn(options.dsn);\n var url = getEnvelopeEndpointWithUrlEncodedAuth(this._dsn, options.tunnel);\n this._transport = options.transport({\n recordDroppedEvent: this.recordDroppedEvent.bind(this),\n ...options.transportOptions,\n url,\n });\n } else {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('No DSN provided, client will not do anything.');\n }\n }\n\n /**\n * @inheritDoc\n */\n captureException(exception, hint, scope) {\n // ensure we haven't captured this very object before\n if (checkOrSetAlreadyCaught(exception)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(ALREADY_SEEN_ERROR);\n return;\n }\n\n let eventId = hint && hint.event_id;\n\n this._process(\n this.eventFromException(exception, hint)\n .then(event => this._captureEvent(event, hint, scope))\n .then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n captureMessage(\n message,\n level,\n hint,\n scope,\n ) {\n let eventId = hint && hint.event_id;\n\n var promisedEvent = isPrimitive(message)\n ? this.eventFromMessage(String(message), level, hint)\n : this.eventFromException(message, hint);\n\n this._process(\n promisedEvent\n .then(event => this._captureEvent(event, hint, scope))\n .then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n captureEvent(event, hint, scope) {\n // ensure we haven't captured this very object before\n if (hint && hint.originalException && checkOrSetAlreadyCaught(hint.originalException)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(ALREADY_SEEN_ERROR);\n return;\n }\n\n let eventId = hint && hint.event_id;\n\n this._process(\n this._captureEvent(event, hint, scope).then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n captureSession(session) {\n if (!this._isEnabled()) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('SDK not enabled, will not capture session.');\n return;\n }\n\n if (!(typeof session.release === 'string')) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Discarded session because of missing or non-string release');\n } else {\n this.sendSession(session);\n // After sending, we set init false to indicate it's not the first occurrence\n updateSession(session, { init: false });\n }\n }\n\n /**\n * @inheritDoc\n */\n getDsn() {\n return this._dsn;\n }\n\n /**\n * @inheritDoc\n */\n getOptions() {\n return this._options;\n }\n\n /**\n * @inheritDoc\n */\n getTransport() {\n return this._transport;\n }\n\n /**\n * @inheritDoc\n */\n flush(timeout) {\n var transport = this._transport;\n if (transport) {\n return this._isClientDoneProcessing(timeout).then(clientFinished => {\n return transport.flush(timeout).then(transportFlushed => clientFinished && transportFlushed);\n });\n } else {\n return resolvedSyncPromise(true);\n }\n }\n\n /**\n * @inheritDoc\n */\n close(timeout) {\n return this.flush(timeout).then(result => {\n this.getOptions().enabled = false;\n return result;\n });\n }\n\n /**\n * Sets up the integrations\n */\n setupIntegrations() {\n if (this._isEnabled() && !this._integrationsInitialized) {\n this._integrations = setupIntegrations(this._options.integrations);\n this._integrationsInitialized = true;\n }\n }\n\n /**\n * Gets an installed integration by its `id`.\n *\n * @returns The installed integration or `undefined` if no integration with that `id` was installed.\n */\n getIntegrationById(integrationId) {\n return this._integrations[integrationId];\n }\n\n /**\n * @inheritDoc\n */\n getIntegration(integration) {\n try {\n return (this._integrations[integration.id] ) || null;\n } catch (_oO) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(`Cannot retrieve integration ${integration.id} from the current Client`);\n return null;\n }\n }\n\n /**\n * @inheritDoc\n */\n sendEvent(event, hint = {}) {\n if (this._dsn) {\n let env = createEventEnvelope(event, this._dsn, this._options._metadata, this._options.tunnel);\n\n for (var attachment of hint.attachments || []) {\n env = addItemToEnvelope(\n env,\n createAttachmentEnvelopeItem(\n attachment,\n this._options.transportOptions && this._options.transportOptions.textEncoder,\n ),\n );\n }\n\n this._sendEnvelope(env);\n }\n }\n\n /**\n * @inheritDoc\n */\n sendSession(session) {\n if (this._dsn) {\n var env = createSessionEnvelope(session, this._dsn, this._options._metadata, this._options.tunnel);\n this._sendEnvelope(env);\n }\n }\n\n /**\n * @inheritDoc\n */\n recordDroppedEvent(reason, category) {\n if (this._options.sendClientReports) {\n // We want to track each category (error, transaction, session) separately\n // but still keep the distinction between different type of outcomes.\n // We could use nested maps, but it's much easier to read and type this way.\n // A correct type for map-based implementation if we want to go that route\n // would be `Partial<Record<SentryRequestType, Partial<Record<Outcome, number>>>>`\n // With typescript 4.1 we could even use template literal types\n var key = `${reason}:${category}`;\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(`Adding outcome: \"${key}\"`);\n\n // The following works because undefined + 1 === NaN and NaN is falsy\n this._outcomes[key] = this._outcomes[key] + 1 || 1;\n }\n }\n\n /** Updates existing session based on the provided event */\n _updateSessionFromEvent(session, event) {\n let crashed = false;\n let errored = false;\n var exceptions = event.exception && event.exception.values;\n\n if (exceptions) {\n errored = true;\n\n for (var ex of exceptions) {\n var mechanism = ex.mechanism;\n if (mechanism && mechanism.handled === false) {\n crashed = true;\n break;\n }\n }\n }\n\n // A session is updated and that session update is sent in only one of the two following scenarios:\n // 1. Session with non terminal status and 0 errors + an error occurred -> Will set error count to 1 and send update\n // 2. Session with non terminal status and 1 error + a crash occurred -> Will set status crashed and send update\n var sessionNonTerminal = session.status === 'ok';\n var shouldUpdateAndSend = (sessionNonTerminal && session.errors === 0) || (sessionNonTerminal && crashed);\n\n if (shouldUpdateAndSend) {\n updateSession(session, {\n ...(crashed && { status: 'crashed' }),\n errors: session.errors || Number(errored || crashed),\n });\n this.captureSession(session);\n }\n }\n\n /**\n * Determine if the client is finished processing. Returns a promise because it will wait `timeout` ms before saying\n * \"no\" (resolving to `false`) in order to give the client a chance to potentially finish first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the client is still busy. Passing `0` (or not\n * passing anything) will make the promise wait as long as it takes for processing to finish before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if processing is already done or finishes before the timeout, and\n * `false` otherwise\n */\n _isClientDoneProcessing(timeout) {\n return new SyncPromise(resolve => {\n let ticked = 0;\n var tick = 1;\n\n var interval = setInterval(() => {\n if (this._numProcessing == 0) {\n clearInterval(interval);\n resolve(true);\n } else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n clearInterval(interval);\n resolve(false);\n }\n }\n }, tick);\n });\n }\n\n /** Determines whether this SDK is enabled and a valid Dsn is present. */\n _isEnabled() {\n return this.getOptions().enabled !== false && this._dsn !== undefined;\n }\n\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n */\n _prepareEvent(event, hint, scope) {\n const { normalizeDepth = 3, normalizeMaxBreadth = 1000 } = this.getOptions();\n var prepared = {\n ...event,\n event_id: event.event_id || hint.event_id || uuid4(),\n timestamp: event.timestamp || dateTimestampInSeconds(),\n };\n\n this._applyClientOptions(prepared);\n this._applyIntegrationsMetadata(prepared);\n\n // If we have scope given to us, use it as the base for further modifications.\n // This allows us to prevent unnecessary copying of data if `captureContext` is not provided.\n let finalScope = scope;\n if (hint.captureContext) {\n finalScope = Scope.clone(finalScope).update(hint.captureContext);\n }\n\n // We prepare the result here with a resolved Event.\n let result = resolvedSyncPromise(prepared);\n\n // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n if (finalScope) {\n // Collect attachments from the hint and scope\n var attachments = [...(hint.attachments || []), ...finalScope.getAttachments()];\n\n if (attachments.length) {\n hint.attachments = attachments;\n }\n\n // In case we have a hub we reassign it.\n result = finalScope.applyToEvent(prepared, hint);\n }\n\n return result.then(evt => {\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return this._normalizeEvent(evt, normalizeDepth, normalizeMaxBreadth);\n }\n return evt;\n });\n }\n\n /**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\n _normalizeEvent(event, depth, maxBreadth) {\n if (!event) {\n return null;\n }\n\n var normalized = {\n ...event,\n ...(event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(b => ({\n ...b,\n ...(b.data && {\n data: normalize(b.data, depth, maxBreadth),\n }),\n })),\n }),\n ...(event.user && {\n user: normalize(event.user, depth, maxBreadth),\n }),\n ...(event.contexts && {\n contexts: normalize(event.contexts, depth, maxBreadth),\n }),\n ...(event.extra && {\n extra: normalize(event.extra, depth, maxBreadth),\n }),\n };\n\n // event.contexts.trace stores information about a Transaction. Similarly,\n // event.spans[] stores information about child Spans. Given that a\n // Transaction is conceptually a Span, normalization should apply to both\n // Transactions and Spans consistently.\n // For now the decision is to skip normalization of Transactions and Spans,\n // so this block overwrites the normalized event to add back the original\n // Transaction information prior to normalization.\n if (event.contexts && event.contexts.trace && normalized.contexts) {\n normalized.contexts.trace = event.contexts.trace;\n\n // event.contexts.trace.data may contain circular/dangerous data so we need to normalize it\n if (event.contexts.trace.data) {\n normalized.contexts.trace.data = normalize(event.contexts.trace.data, depth, maxBreadth);\n }\n }\n\n // event.spans[].data may contain circular/dangerous data so we need to normalize it\n if (event.spans) {\n normalized.spans = event.spans.map(span => {\n // We cannot use the spread operator here because `toJSON` on `span` is non-enumerable\n if (span.data) {\n span.data = normalize(span.data, depth, maxBreadth);\n }\n return span;\n });\n }\n\n return normalized;\n }\n\n /**\n * Enhances event using the client configuration.\n * It takes care of all \"static\" values like environment, release and `dist`,\n * as well as truncating overly long values.\n * @param event event instance to be enhanced\n */\n _applyClientOptions(event) {\n var options = this.getOptions();\n const { environment, release, dist, maxValueLength = 250 } = options;\n\n if (!('environment' in event)) {\n event.environment = 'environment' in options ? environment : 'production';\n }\n\n if (event.release === undefined && release !== undefined) {\n event.release = release;\n }\n\n if (event.dist === undefined && dist !== undefined) {\n event.dist = dist;\n }\n\n if (event.message) {\n event.message = truncate(event.message, maxValueLength);\n }\n\n var exception = event.exception && event.exception.values && event.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n\n var request = event.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n }\n\n /**\n * This function adds all used integrations to the SDK info in the event.\n * @param event The event that will be filled with all integrations.\n */\n _applyIntegrationsMetadata(event) {\n var integrationsArray = Object.keys(this._integrations);\n if (integrationsArray.length > 0) {\n event.sdk = event.sdk || {};\n event.sdk.integrations = [...(event.sdk.integrations || []), ...integrationsArray];\n }\n }\n\n /**\n * Processes the event and logs an error in case of rejection\n * @param event\n * @param hint\n * @param scope\n */\n _captureEvent(event, hint = {}, scope) {\n return this._processEvent(event, hint, scope).then(\n finalEvent => {\n return finalEvent.event_id;\n },\n reason => {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(reason);\n return undefined;\n },\n );\n }\n\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n _processEvent(event, hint, scope) {\n const { beforeSend, sampleRate } = this.getOptions();\n\n if (!this._isEnabled()) {\n return rejectedSyncPromise(new SentryError('SDK not enabled, will not capture event.'));\n }\n\n var isTransaction = event.type === 'transaction';\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n // Sampling for transaction happens somewhere else\n if (!isTransaction && typeof sampleRate === 'number' && Math.random() > sampleRate) {\n this.recordDroppedEvent('sample_rate', 'error');\n return rejectedSyncPromise(\n new SentryError(\n `Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`,\n ),\n );\n }\n\n return this._prepareEvent(event, hint, scope)\n .then(prepared => {\n if (prepared === null) {\n this.recordDroppedEvent('event_processor', event.type || 'error');\n throw new SentryError('An event processor returned null, will not send event.');\n }\n\n var isInternalException = hint.data && (hint.data ).__sentry__ === true;\n if (isInternalException || isTransaction || !beforeSend) {\n return prepared;\n }\n\n var beforeSendResult = beforeSend(prepared, hint);\n return _ensureBeforeSendRv(beforeSendResult);\n })\n .then(processedEvent => {\n if (processedEvent === null) {\n this.recordDroppedEvent('before_send', event.type || 'error');\n throw new SentryError('`beforeSend` returned `null`, will not send event.');\n }\n\n var session = scope && scope.getSession();\n if (!isTransaction && session) {\n this._updateSessionFromEvent(session, processedEvent);\n }\n\n this.sendEvent(processedEvent, hint);\n return processedEvent;\n })\n .then(null, reason => {\n if (reason instanceof SentryError) {\n throw reason;\n }\n\n this.captureException(reason, {\n data: {\n __sentry__: true,\n },\n originalException: reason ,\n });\n throw new SentryError(\n `Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: ${reason}`,\n );\n });\n }\n\n /**\n * Occupies the client with processing and event\n */\n _process(promise) {\n this._numProcessing += 1;\n void promise.then(\n value => {\n this._numProcessing -= 1;\n return value;\n },\n reason => {\n this._numProcessing -= 1;\n return reason;\n },\n );\n }\n\n /**\n * @inheritdoc\n */\n _sendEnvelope(envelope) {\n if (this._transport && this._dsn) {\n this._transport.send(envelope).then(null, reason => {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Error while sending event:', reason);\n });\n } else {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Transport disabled');\n }\n }\n\n /**\n * Clears outcomes on this client and returns them.\n */\n _clearOutcomes() {\n var outcomes = this._outcomes;\n this._outcomes = {};\n return Object.keys(outcomes).map(key => {\n const [reason, category] = key.split(':') ;\n return {\n reason,\n category,\n quantity: outcomes[key],\n };\n });\n }\n\n /**\n * @inheritDoc\n */\n \n\n}\n\n/**\n * Verifies that return value of configured `beforeSend` is of expected type.\n */\nfunction _ensureBeforeSendRv(rv) {\n var nullErr = '`beforeSend` method has to return `null` or a valid event.';\n if (isThenable(rv)) {\n return rv.then(\n event => {\n if (!(isPlainObject(event) || event === null)) {\n throw new SentryError(nullErr);\n }\n return event;\n },\n e => {\n throw new SentryError(`beforeSend rejected with ${e}`);\n },\n );\n } else if (!(isPlainObject(rv) || rv === null)) {\n throw new SentryError(nullErr);\n }\n return rv;\n}\n\nexport { BaseClient };\n//# sourceMappingURL=baseclient.js.map\n","import { dsnToString, createEnvelope, dropUndefinedKeys, getSentryBaggageItems } from '@sentry/utils';\n\n/** Extract sdk info from from the API metadata */\nfunction getSdkMetadataForEnvelopeHeader(metadata) {\n if (!metadata || !metadata.sdk) {\n return;\n }\n const { name, version } = metadata.sdk;\n return { name, version };\n}\n\n/**\n * Apply SdkInfo (name, version, packages, integrations) to the corresponding event key.\n * Merge with existing data if any.\n **/\nfunction enhanceEventWithSdkInfo(event, sdkInfo) {\n if (!sdkInfo) {\n return event;\n }\n event.sdk = event.sdk || {};\n event.sdk.name = event.sdk.name || sdkInfo.name;\n event.sdk.version = event.sdk.version || sdkInfo.version;\n event.sdk.integrations = [...(event.sdk.integrations || []), ...(sdkInfo.integrations || [])];\n event.sdk.packages = [...(event.sdk.packages || []), ...(sdkInfo.packages || [])];\n return event;\n}\n\n/** Creates an envelope from a Session */\nfunction createSessionEnvelope(\n session,\n dsn,\n metadata,\n tunnel,\n) {\n var sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n var envelopeHeaders = {\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!tunnel && { dsn: dsnToString(dsn) }),\n };\n\n var envelopeItem =\n 'aggregates' in session ? [{ type: 'sessions' }, session] : [{ type: 'session' }, session];\n\n return createEnvelope(envelopeHeaders, [envelopeItem]);\n}\n\n/**\n * Create an Envelope from an event.\n */\nfunction createEventEnvelope(\n event,\n dsn,\n metadata,\n tunnel,\n) {\n var sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n var eventType = event.type || 'event';\n\n const { transactionSampling } = event.sdkProcessingMetadata || {};\n const { method: samplingMethod, rate: sampleRate } = transactionSampling || {};\n\n enhanceEventWithSdkInfo(event, metadata && metadata.sdk);\n\n var envelopeHeaders = createEventEnvelopeHeaders(event, sdkInfo, tunnel, dsn);\n\n // Prevent this data (which, if it exists, was used in earlier steps in the processing pipeline) from being sent to\n // sentry. (Note: Our use of this property comes and goes with whatever we might be debugging, whatever hacks we may\n // have temporarily added, etc. Even if we don't happen to be using it at some point in the future, let's not get rid\n // of this `delete`, lest we miss putting it back in the next time the property is in use.)\n delete event.sdkProcessingMetadata;\n\n var eventItem = [\n {\n type: eventType,\n sample_rates: [{ id: samplingMethod, rate: sampleRate }],\n },\n event,\n ];\n return createEnvelope(envelopeHeaders, [eventItem]);\n}\n\nfunction createEventEnvelopeHeaders(\n event,\n sdkInfo,\n tunnel,\n dsn,\n) {\n var baggage = event.sdkProcessingMetadata && event.sdkProcessingMetadata.baggage;\n var dynamicSamplingContext = baggage && getSentryBaggageItems(baggage);\n\n return {\n event_id: event.event_id ,\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!tunnel && { dsn: dsnToString(dsn) }),\n ...(event.type === 'transaction' &&\n dynamicSamplingContext && {\n trace: dropUndefinedKeys({ ...dynamicSamplingContext }) ,\n }),\n };\n}\n\nexport { createEventEnvelope, createSessionEnvelope };\n//# sourceMappingURL=envelope.js.map\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\n\nvar installedIntegrations = [];\n\n/** Map of integrations assigned to a client */\n\n/**\n * @private\n */\nfunction filterDuplicates(integrations) {\n return integrations.reduce((acc, integrations) => {\n if (acc.every(accIntegration => integrations.name !== accIntegration.name)) {\n acc.push(integrations);\n }\n return acc;\n }, [] );\n}\n\n/** Gets integration to install */\nfunction getIntegrationsToSetup(options) {\n var defaultIntegrations = (options.defaultIntegrations && [...options.defaultIntegrations]) || [];\n var userIntegrations = options.integrations;\n\n let integrations = [...filterDuplicates(defaultIntegrations)];\n\n if (Array.isArray(userIntegrations)) {\n // Filter out integrations that are also included in user options\n integrations = [\n ...integrations.filter(integrations =>\n userIntegrations.every(userIntegration => userIntegration.name !== integrations.name),\n ),\n // And filter out duplicated user options integrations\n ...filterDuplicates(userIntegrations),\n ];\n } else if (typeof userIntegrations === 'function') {\n integrations = userIntegrations(integrations);\n integrations = Array.isArray(integrations) ? integrations : [integrations];\n }\n\n // Make sure that if present, `Debug` integration will always run last\n var integrationsNames = integrations.map(i => i.name);\n var alwaysLastToRun = 'Debug';\n if (integrationsNames.indexOf(alwaysLastToRun) !== -1) {\n integrations.push(...integrations.splice(integrationsNames.indexOf(alwaysLastToRun), 1));\n }\n\n return integrations;\n}\n\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nfunction setupIntegrations(integrations) {\n var integrationIndex = {};\n\n integrations.forEach(integration => {\n integrationIndex[integration.name] = integration;\n\n if (installedIntegrations.indexOf(integration.name) === -1) {\n integration.setupOnce(addGlobalEventProcessor, getCurrentHub);\n installedIntegrations.push(integration.name);\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(`Integration installed: ${integration.name}`);\n }\n });\n\n return integrationIndex;\n}\n\nexport { getIntegrationsToSetup, installedIntegrations, setupIntegrations };\n//# sourceMappingURL=integration.js.map\n","import { getOriginalFunction } from '@sentry/utils';\n\nlet originalFunctionToString;\n\n/** Patch toString calls to return proper name for wrapped functions */\nclass FunctionToString {constructor() { FunctionToString.prototype.__init.call(this); }\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'FunctionToString';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = FunctionToString.id;}\n\n /**\n * @inheritDoc\n */\n setupOnce() {\n originalFunctionToString = Function.prototype.toString;\n\n Function.prototype.toString = function ( ...args) {\n var context = getOriginalFunction(this) || this;\n return originalFunctionToString.apply(context, args);\n };\n }\n} FunctionToString.__initStatic();\n\nexport { FunctionToString };\n//# sourceMappingURL=functiontostring.js.map\n","import { logger, getEventDescription, isMatchingPattern } from '@sentry/utils';\n\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nvar DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n\n/** Options for the InboundFilters integration */\n\n/** Inbound filters configurable by the user */\nclass InboundFilters {\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'InboundFilters';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = InboundFilters.id;}\n\n constructor( _options = {}) {;this._options = _options;InboundFilters.prototype.__init.call(this);}\n\n /**\n * @inheritDoc\n */\n setupOnce(addGlobalEventProcessor, getCurrentHub) {\n var eventProcess = (event) => {\n var hub = getCurrentHub();\n if (hub) {\n var self = hub.getIntegration(InboundFilters);\n if (self) {\n var client = hub.getClient();\n var clientOptions = client ? client.getOptions() : {};\n var options = _mergeOptions(self._options, clientOptions);\n return _shouldDropEvent(event, options) ? null : event;\n }\n }\n return event;\n };\n\n eventProcess.id = this.name;\n addGlobalEventProcessor(eventProcess);\n }\n} InboundFilters.__initStatic();\n\n/** JSDoc */\nfunction _mergeOptions(\n internalOptions = {},\n clientOptions = {},\n) {\n return {\n allowUrls: [...(internalOptions.allowUrls || []), ...(clientOptions.allowUrls || [])],\n denyUrls: [...(internalOptions.denyUrls || []), ...(clientOptions.denyUrls || [])],\n ignoreErrors: [\n ...(internalOptions.ignoreErrors || []),\n ...(clientOptions.ignoreErrors || []),\n ...DEFAULT_IGNORE_ERRORS,\n ],\n ignoreInternal: internalOptions.ignoreInternal !== undefined ? internalOptions.ignoreInternal : true,\n };\n}\n\n/** JSDoc */\nfunction _shouldDropEvent(event, options) {\n if (options.ignoreInternal && _isSentryError(event)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${getEventDescription(event)}`);\n return true;\n }\n if (_isIgnoredError(event, options.ignoreErrors)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (_isDeniedUrl(event, options.denyUrls)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn(\n `Event dropped due to being matched by \\`denyUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n if (!_isAllowedUrl(event, options.allowUrls)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn(\n `Event dropped due to not being matched by \\`allowUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n return false;\n}\n\nfunction _isIgnoredError(event, ignoreErrors) {\n if (!ignoreErrors || !ignoreErrors.length) {\n return false;\n }\n\n return _getPossibleEventMessages(event).some(message =>\n ignoreErrors.some(pattern => isMatchingPattern(message, pattern)),\n );\n}\n\nfunction _isDeniedUrl(event, denyUrls) {\n // TODO: Use Glob instead?\n if (!denyUrls || !denyUrls.length) {\n return false;\n }\n var url = _getEventFilterUrl(event);\n return !url ? false : denyUrls.some(pattern => isMatchingPattern(url, pattern));\n}\n\nfunction _isAllowedUrl(event, allowUrls) {\n // TODO: Use Glob instead?\n if (!allowUrls || !allowUrls.length) {\n return true;\n }\n var url = _getEventFilterUrl(event);\n return !url ? true : allowUrls.some(pattern => isMatchingPattern(url, pattern));\n}\n\nfunction _getPossibleEventMessages(event) {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n const { type = '', value = '' } = (event.exception.values && event.exception.values[0]) || {};\n return [`${value}`, `${type}: ${value}`];\n } catch (oO) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(`Cannot extract message for event ${getEventDescription(event)}`);\n return [];\n }\n }\n return [];\n}\n\nfunction _isSentryError(event) {\n try {\n // @ts-ignore can't be a sentry error if undefined\n return event.exception.values[0].type === 'SentryError';\n } catch (e) {\n // ignore\n }\n return false;\n}\n\nfunction _getLastValidUrl(frames = []) {\n for (let i = frames.length - 1; i >= 0; i--) {\n var frame = frames[i];\n\n if (frame && frame.filename !== '<anonymous>' && frame.filename !== '[native code]') {\n return frame.filename || null;\n }\n }\n\n return null;\n}\n\nfunction _getEventFilterUrl(event) {\n try {\n let frames;\n try {\n // @ts-ignore we only care about frames if the whole thing here is defined\n frames = event.exception.values[0].stacktrace.frames;\n } catch (e) {\n // ignore\n }\n return frames ? _getLastValidUrl(frames) : null;\n } catch (oO) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n}\n\nexport { InboundFilters, _mergeOptions, _shouldDropEvent };\n//# sourceMappingURL=inboundfilters.js.map\n","import { getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\n\n/** A class object that can instantiate Client objects. */\n\n/**\n * Internal function to create a new SDK client instance. The client is\n * installed and then bound to the current scope.\n *\n * @param clientClass The client class to instantiate.\n * @param options Options to pass to the client.\n */\nfunction initAndBind(\n clientClass,\n options,\n) {\n if (options.debug === true) {\n if ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__)) {\n logger.enable();\n } else {\n // use `console.warn` rather than `logger.warn` since by non-debug bundles have all `logger.x` statements stripped\n console.warn('[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.');\n }\n }\n var hub = getCurrentHub();\n var scope = hub.getScope();\n if (scope) {\n scope.update(options.initialScope);\n }\n\n var client = new clientClass(options);\n hub.bindClient(client);\n}\n\nexport { initAndBind };\n//# sourceMappingURL=sdk.js.map\n","import { makePromiseBuffer, forEachEnvelopeItem, envelopeItemTypeToDataCategory, isRateLimited, resolvedSyncPromise, createEnvelope, serializeEnvelope, logger, updateRateLimits, SentryError } from '@sentry/utils';\n\nvar DEFAULT_TRANSPORT_BUFFER_SIZE = 30;\n\n/**\n * Creates an instance of a Sentry `Transport`\n *\n * @param options\n * @param makeRequest\n */\nfunction createTransport(\n options,\n makeRequest,\n buffer = makePromiseBuffer(options.bufferSize || DEFAULT_TRANSPORT_BUFFER_SIZE),\n) {\n let rateLimits = {};\n\n var flush = (timeout) => buffer.drain(timeout);\n\n function send(envelope) {\n var filteredEnvelopeItems = [];\n\n // Drop rate limited items from envelope\n forEachEnvelopeItem(envelope, (item, type) => {\n var envelopeItemDataCategory = envelopeItemTypeToDataCategory(type);\n if (isRateLimited(rateLimits, envelopeItemDataCategory)) {\n options.recordDroppedEvent('ratelimit_backoff', envelopeItemDataCategory);\n } else {\n filteredEnvelopeItems.push(item);\n }\n });\n\n // Skip sending if envelope is empty after filtering out rate limited events\n if (filteredEnvelopeItems.length === 0) {\n return resolvedSyncPromise();\n }\n\n var filteredEnvelope = createEnvelope(envelope[0], filteredEnvelopeItems );\n\n // Creates client report for each item in an envelope\n var recordEnvelopeLoss = (reason) => {\n forEachEnvelopeItem(filteredEnvelope, (_, type) => {\n options.recordDroppedEvent(reason, envelopeItemTypeToDataCategory(type));\n });\n };\n\n var requestTask = () =>\n makeRequest({ body: serializeEnvelope(filteredEnvelope, options.textEncoder) }).then(\n response => {\n // We don't want to throw on NOK responses, but we want to at least log them\n if (response.statusCode !== undefined && (response.statusCode < 200 || response.statusCode >= 300)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(`Sentry responded with status code ${response.statusCode} to sent event.`);\n }\n\n rateLimits = updateRateLimits(rateLimits, response);\n },\n error => {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Failed while sending event:', error);\n recordEnvelopeLoss('network_error');\n },\n );\n\n return buffer.add(requestTask).then(\n result => result,\n error => {\n if (error instanceof SentryError) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Skipped sending event due to full buffer');\n recordEnvelopeLoss('queue_overflow');\n return resolvedSyncPromise();\n } else {\n throw error;\n }\n },\n );\n }\n\n return {\n send,\n flush,\n };\n}\n\nexport { DEFAULT_TRANSPORT_BUFFER_SIZE, createTransport };\n//# sourceMappingURL=base.js.map\n","var SDK_VERSION = '7.3.1';\n\nexport { SDK_VERSION };\n//# sourceMappingURL=version.js.map\n","import { getCurrentHub } from './hub.js';\n\n// Note: All functions in this file are typed with a return value of `ReturnType<Hub[HUB_FUNCTION]>`,\n// where HUB_FUNCTION is some method on the Hub class.\n//\n// This is done to make sure the top level SDK methods stay in sync with the hub methods.\n// Although every method here has an explicit return type, some of them (that map to void returns) do not\n// contain `return` keywords. This is done to save on bundle size, as `return` is not minifiable.\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @param captureContext Additional scope data to apply to exception event.\n * @returns The generated eventId.\n */\nfunction captureException(exception, captureContext) {\n return getCurrentHub().captureException(exception, { captureContext });\n}\n\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param Severity Define the level of the message.\n * @returns The generated eventId.\n */\nfunction captureMessage(\n message,\n captureContext,\n) {\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n var level = typeof captureContext === 'string' ? captureContext : undefined;\n var context = typeof captureContext !== 'string' ? { captureContext } : undefined;\n return getCurrentHub().captureMessage(message, level, context);\n}\n\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nfunction captureEvent(event, hint) {\n return getCurrentHub().captureEvent(event, hint);\n}\n\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nfunction configureScope(callback) {\n getCurrentHub().configureScope(callback);\n}\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nfunction addBreadcrumb(breadcrumb) {\n getCurrentHub().addBreadcrumb(breadcrumb);\n}\n\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\nfunction setContext(name, context) {\n getCurrentHub().setContext(name, context);\n}\n\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nfunction setExtras(extras) {\n getCurrentHub().setExtras(extras);\n}\n\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nfunction setExtra(key, extra) {\n getCurrentHub().setExtra(key, extra);\n}\n\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nfunction setTags(tags) {\n getCurrentHub().setTags(tags);\n}\n\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nfunction setTag(key, value) {\n getCurrentHub().setTag(key, value);\n}\n\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nfunction setUser(user) {\n getCurrentHub().setUser(user);\n}\n\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nfunction withScope(callback) {\n getCurrentHub().withScope(callback);\n}\n\n/**\n * Starts a new `Transaction` and returns it. This is the entry point to manual tracing instrumentation.\n *\n * A tree structure can be built by adding child spans to the transaction, and child spans to other spans. To start a\n * new child span within the transaction or any span, call the respective `.startChild()` method.\n *\n * Every child span must be finished before the transaction is finished, otherwise the unfinished spans are discarded.\n *\n * The transaction must be finished with a call to its `.finish()` method, at which point the transaction with all its\n * finished child spans will be sent to Sentry.\n *\n * @param context Properties of the new `Transaction`.\n * @param customSamplingContext Information given to the transaction sampling function (along with context-dependent\n * default values). See {@link Options.tracesSampler}.\n *\n * @returns The transaction which was just started\n */\nfunction startTransaction(\n context,\n customSamplingContext,\n) {\n return getCurrentHub().startTransaction({ ...context }, customSamplingContext);\n}\n\nexport { addBreadcrumb, captureEvent, captureException, captureMessage, configureScope, setContext, setExtra, setExtras, setTag, setTags, setUser, startTransaction, withScope };\n//# sourceMappingURL=exports.js.map\n","import { uuid4, dateTimestampInSeconds, consoleSandbox, logger, getGlobalObject, getGlobalSingleton, isNodeEnv } from '@sentry/utils';\nimport { Scope } from './scope.js';\nimport { closeSession, makeSession, updateSession } from './session.js';\n\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be increased when the global interface\n * changes and new methods are introduced.\n *\n * @hidden\n */\nvar API_VERSION = 4;\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nvar DEFAULT_BREADCRUMBS = 100;\n\n/**\n * A layer in the process stack.\n * @hidden\n */\n\n/**\n * @inheritDoc\n */\nclass Hub {\n /** Is a {@link Layer}[] containing the client and scope */\n __init() {this._stack = [{}];}\n\n /** Contains the last event id of a captured event. */\n \n\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n constructor(client, scope = new Scope(), _version = API_VERSION) {;this._version = _version;Hub.prototype.__init.call(this);\n this.getStackTop().scope = scope;\n if (client) {\n this.bindClient(client);\n }\n }\n\n /**\n * @inheritDoc\n */\n isOlderThan(version) {\n return this._version < version;\n }\n\n /**\n * @inheritDoc\n */\n bindClient(client) {\n var top = this.getStackTop();\n top.client = client;\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n }\n\n /**\n * @inheritDoc\n */\n pushScope() {\n // We want to clone the content of prev scope\n var scope = Scope.clone(this.getScope());\n this.getStack().push({\n client: this.getClient(),\n scope,\n });\n return scope;\n }\n\n /**\n * @inheritDoc\n */\n popScope() {\n if (this.getStack().length <= 1) return false;\n return !!this.getStack().pop();\n }\n\n /**\n * @inheritDoc\n */\n withScope(callback) {\n var scope = this.pushScope();\n try {\n callback(scope);\n } finally {\n this.popScope();\n }\n }\n\n /**\n * @inheritDoc\n */\n getClient() {\n return this.getStackTop().client ;\n }\n\n /** Returns the scope of the top stack. */\n getScope() {\n return this.getStackTop().scope;\n }\n\n /** Returns the scope stack for domains or the process. */\n getStack() {\n return this._stack;\n }\n\n /** Returns the topmost scope layer in the order domain > local > process. */\n getStackTop() {\n return this._stack[this._stack.length - 1];\n }\n\n /**\n * @inheritDoc\n */\n captureException(exception, hint) {\n var eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n var syntheticException = new Error('Sentry syntheticException');\n this._withClient((client, scope) => {\n client.captureException(\n exception,\n {\n originalException: exception,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n scope,\n );\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n captureMessage(\n message,\n level,\n hint,\n ) {\n var eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n var syntheticException = new Error(message);\n this._withClient((client, scope) => {\n client.captureMessage(\n message,\n level,\n {\n originalException: message,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n scope,\n );\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n captureEvent(event, hint) {\n var eventId = hint && hint.event_id ? hint.event_id : uuid4();\n if (event.type !== 'transaction') {\n this._lastEventId = eventId;\n }\n\n this._withClient((client, scope) => {\n client.captureEvent(event, { ...hint, event_id: eventId }, scope);\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n lastEventId() {\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n addBreadcrumb(breadcrumb, hint) {\n const { scope, client } = this.getStackTop();\n\n if (!scope || !client) return;\n\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } =\n (client.getOptions && client.getOptions()) || {};\n\n if (maxBreadcrumbs <= 0) return;\n\n var timestamp = dateTimestampInSeconds();\n var mergedBreadcrumb = { timestamp, ...breadcrumb };\n var finalBreadcrumb = beforeBreadcrumb\n ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) )\n : mergedBreadcrumb;\n\n if (finalBreadcrumb === null) return;\n\n scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n }\n\n /**\n * @inheritDoc\n */\n setUser(user) {\n var scope = this.getScope();\n if (scope) scope.setUser(user);\n }\n\n /**\n * @inheritDoc\n */\n setTags(tags) {\n var scope = this.getScope();\n if (scope) scope.setTags(tags);\n }\n\n /**\n * @inheritDoc\n */\n setExtras(extras) {\n var scope = this.getScope();\n if (scope) scope.setExtras(extras);\n }\n\n /**\n * @inheritDoc\n */\n setTag(key, value) {\n var scope = this.getScope();\n if (scope) scope.setTag(key, value);\n }\n\n /**\n * @inheritDoc\n */\n setExtra(key, extra) {\n var scope = this.getScope();\n if (scope) scope.setExtra(key, extra);\n }\n\n /**\n * @inheritDoc\n */\n setContext(name, context) {\n var scope = this.getScope();\n if (scope) scope.setContext(name, context);\n }\n\n /**\n * @inheritDoc\n */\n configureScope(callback) {\n const { scope, client } = this.getStackTop();\n if (scope && client) {\n callback(scope);\n }\n }\n\n /**\n * @inheritDoc\n */\n run(callback) {\n var oldHub = makeMain(this);\n try {\n callback(this);\n } finally {\n makeMain(oldHub);\n }\n }\n\n /**\n * @inheritDoc\n */\n getIntegration(integration) {\n var client = this.getClient();\n if (!client) return null;\n try {\n return client.getIntegration(integration);\n } catch (_oO) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`);\n return null;\n }\n }\n\n /**\n * @inheritDoc\n */\n startTransaction(context, customSamplingContext) {\n return this._callExtensionMethod('startTransaction', context, customSamplingContext);\n }\n\n /**\n * @inheritDoc\n */\n traceHeaders() {\n return this._callExtensionMethod('traceHeaders');\n }\n\n /**\n * @inheritDoc\n */\n captureSession(endSession = false) {\n // both send the update and pull the session from the scope\n if (endSession) {\n return this.endSession();\n }\n\n // only send the update\n this._sendSessionUpdate();\n }\n\n /**\n * @inheritDoc\n */\n endSession() {\n var layer = this.getStackTop();\n var scope = layer && layer.scope;\n var session = scope && scope.getSession();\n if (session) {\n closeSession(session);\n }\n this._sendSessionUpdate();\n\n // the session is over; take it off of the scope\n if (scope) {\n scope.setSession();\n }\n }\n\n /**\n * @inheritDoc\n */\n startSession(context) {\n const { scope, client } = this.getStackTop();\n const { release, environment } = (client && client.getOptions()) || {};\n\n // Will fetch userAgent if called from browser sdk\n var global = getGlobalObject();\n const { userAgent } = global.navigator || {};\n\n var session = makeSession({\n release,\n environment,\n ...(scope && { user: scope.getUser() }),\n ...(userAgent && { userAgent }),\n ...context,\n });\n\n if (scope) {\n // End existing session if there's one\n var currentSession = scope.getSession && scope.getSession();\n if (currentSession && currentSession.status === 'ok') {\n updateSession(currentSession, { status: 'exited' });\n }\n this.endSession();\n\n // Afterwards we set the new session on the scope\n scope.setSession(session);\n }\n\n return session;\n }\n\n /**\n * Sends the current Session on the scope\n */\n _sendSessionUpdate() {\n const { scope, client } = this.getStackTop();\n if (!scope) return;\n\n var session = scope.getSession();\n if (session) {\n if (client && client.captureSession) {\n client.captureSession(session);\n }\n }\n }\n\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n _withClient(callback) {\n const { scope, client } = this.getStackTop();\n if (client) {\n callback(client, scope);\n }\n }\n\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-ignore Function lacks ending return statement and return type does not include 'undefined'. ts(2366)\n _callExtensionMethod(method, ...args) {\n var carrier = getMainCarrier();\n var sentry = carrier.__SENTRY__;\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(`Extension method ${method} couldn't be found, doing nothing.`);\n }\n}\n\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nfunction getMainCarrier() {\n var carrier = getGlobalObject();\n carrier.__SENTRY__ = carrier.__SENTRY__ || {\n extensions: {},\n hub: undefined,\n };\n return carrier;\n}\n\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nfunction makeMain(hub) {\n var registry = getMainCarrier();\n var oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nfunction getCurrentHub() {\n // Get main carrier (global for every environment)\n var registry = getMainCarrier();\n\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n\n // Prefer domains over global if they are there (applicable only to Node environment)\n if (isNodeEnv()) {\n return getHubFromActiveDomain(registry);\n }\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n\n/**\n * Try to read the hub from an active domain, and fallback to the registry if one doesn't exist\n * @returns discovered hub\n */\nfunction getHubFromActiveDomain(registry) {\n try {\n var sentry = getMainCarrier().__SENTRY__;\n var activeDomain = sentry && sentry.extensions && sentry.extensions.domain && sentry.extensions.domain.active;\n\n // If there's no active domain, just return global hub\n if (!activeDomain) {\n return getHubFromCarrier(registry);\n }\n\n // If there's no hub on current domain, or it's an old API, assign a new one\n if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(API_VERSION)) {\n var registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, Scope.clone(registryHubTopStack.scope)));\n }\n\n // Return hub that lives on a domain\n return getHubFromCarrier(activeDomain);\n } catch (_Oo) {\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n }\n}\n\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier) {\n return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);\n}\n\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nfunction getHubFromCarrier(carrier) {\n return getGlobalSingleton('hub', () => new Hub(), carrier);\n}\n\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n * @returns A boolean indicating success or failure\n */\nfunction setHubOnCarrier(carrier, hub) {\n if (!carrier) return false;\n var __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n __SENTRY__.hub = hub;\n return true;\n}\n\nexport { API_VERSION, Hub, getCurrentHub, getHubFromCarrier, getMainCarrier, makeMain, setHubOnCarrier };\n//# sourceMappingURL=hub.js.map\n","import { isPlainObject, dateTimestampInSeconds, getGlobalSingleton, SyncPromise, logger, isThenable } from '@sentry/utils';\nimport { updateSession } from './session.js';\n\n/**\n * Absolute maximum number of breadcrumbs added to an event.\n * The `maxBreadcrumbs` option cannot be higher than this value.\n */\nvar MAX_BREADCRUMBS = 100;\n\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nclass Scope {\n /** Flag if notifying is happening. */\n \n\n /** Callback for client to receive scope changes. */\n \n\n /** Callback list that will be called after {@link applyToEvent}. */\n \n\n /** Array of breadcrumbs. */\n \n\n /** User */\n \n\n /** Tags */\n \n\n /** Extra */\n \n\n /** Contexts */\n \n\n /** Attachments */\n \n\n /**\n * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get\n * sent to Sentry\n */\n \n\n /** Fingerprint */\n \n\n /** Severity */\n \n\n /** Transaction Name */\n \n\n /** Span */\n \n\n /** Session */\n \n\n /** Request Mode Session Status */\n \n\n constructor() {\n this._notifyingListeners = false;\n this._scopeListeners = [];\n this._eventProcessors = [];\n this._breadcrumbs = [];\n this._attachments = [];\n this._user = {};\n this._tags = {};\n this._extra = {};\n this._contexts = {};\n this._sdkProcessingMetadata = {};\n }\n\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n static clone(scope) {\n var newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = [...scope._breadcrumbs];\n newScope._tags = { ...scope._tags };\n newScope._extra = { ...scope._extra };\n newScope._contexts = { ...scope._contexts };\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._session = scope._session;\n newScope._transactionName = scope._transactionName;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = [...scope._eventProcessors];\n newScope._requestSession = scope._requestSession;\n newScope._attachments = [...scope._attachments];\n }\n return newScope;\n }\n\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n addScopeListener(callback) {\n this._scopeListeners.push(callback);\n }\n\n /**\n * @inheritDoc\n */\n addEventProcessor(callback) {\n this._eventProcessors.push(callback);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setUser(user) {\n this._user = user || {};\n if (this._session) {\n updateSession(this._session, { user });\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getUser() {\n return this._user;\n }\n\n /**\n * @inheritDoc\n */\n getRequestSession() {\n return this._requestSession;\n }\n\n /**\n * @inheritDoc\n */\n setRequestSession(requestSession) {\n this._requestSession = requestSession;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTags(tags) {\n this._tags = {\n ...this._tags,\n ...tags,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTag(key, value) {\n this._tags = { ...this._tags, [key]: value };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setExtras(extras) {\n this._extra = {\n ...this._extra,\n ...extras,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setExtra(key, extra) {\n this._extra = { ...this._extra, [key]: extra };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setFingerprint(fingerprint) {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setLevel(\n level,\n ) {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTransactionName(name) {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setContext(key, context) {\n if (context === null) {\n delete this._contexts[key];\n } else {\n this._contexts = { ...this._contexts, [key]: context };\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setSpan(span) {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getSpan() {\n return this._span;\n }\n\n /**\n * @inheritDoc\n */\n getTransaction() {\n // Often, this span (if it exists at all) will be a transaction, but it's not guaranteed to be. Regardless, it will\n // have a pointer to the currently-active transaction.\n var span = this.getSpan();\n return span && span.transaction;\n }\n\n /**\n * @inheritDoc\n */\n setSession(session) {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getSession() {\n return this._session;\n }\n\n /**\n * @inheritDoc\n */\n update(captureContext) {\n if (!captureContext) {\n return this;\n }\n\n if (typeof captureContext === 'function') {\n var updatedScope = (captureContext )(this);\n return updatedScope instanceof Scope ? updatedScope : this;\n }\n\n if (captureContext instanceof Scope) {\n this._tags = { ...this._tags, ...captureContext._tags };\n this._extra = { ...this._extra, ...captureContext._extra };\n this._contexts = { ...this._contexts, ...captureContext._contexts };\n if (captureContext._user && Object.keys(captureContext._user).length) {\n this._user = captureContext._user;\n }\n if (captureContext._level) {\n this._level = captureContext._level;\n }\n if (captureContext._fingerprint) {\n this._fingerprint = captureContext._fingerprint;\n }\n if (captureContext._requestSession) {\n this._requestSession = captureContext._requestSession;\n }\n } else if (isPlainObject(captureContext)) {\n captureContext = captureContext ;\n this._tags = { ...this._tags, ...captureContext.tags };\n this._extra = { ...this._extra, ...captureContext.extra };\n this._contexts = { ...this._contexts, ...captureContext.contexts };\n if (captureContext.user) {\n this._user = captureContext.user;\n }\n if (captureContext.level) {\n this._level = captureContext.level;\n }\n if (captureContext.fingerprint) {\n this._fingerprint = captureContext.fingerprint;\n }\n if (captureContext.requestSession) {\n this._requestSession = captureContext.requestSession;\n }\n }\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n clear() {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._requestSession = undefined;\n this._span = undefined;\n this._session = undefined;\n this._notifyScopeListeners();\n this._attachments = [];\n return this;\n }\n\n /**\n * @inheritDoc\n */\n addBreadcrumb(breadcrumb, maxBreadcrumbs) {\n var maxCrumbs = typeof maxBreadcrumbs === 'number' ? Math.min(maxBreadcrumbs, MAX_BREADCRUMBS) : MAX_BREADCRUMBS;\n\n // No data has been changed, so don't notify scope listeners\n if (maxCrumbs <= 0) {\n return this;\n }\n\n var mergedBreadcrumb = {\n timestamp: dateTimestampInSeconds(),\n ...breadcrumb,\n };\n this._breadcrumbs = [...this._breadcrumbs, mergedBreadcrumb].slice(-maxCrumbs);\n this._notifyScopeListeners();\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n clearBreadcrumbs() {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n addAttachment(attachment) {\n this._attachments.push(attachment);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getAttachments() {\n return this._attachments;\n }\n\n /**\n * @inheritDoc\n */\n clearAttachments() {\n this._attachments = [];\n return this;\n }\n\n /**\n * Applies the current context and fingerprint to the event.\n * Note that breadcrumbs will be added by the client.\n * Also if the event has already breadcrumbs on it, we do not merge them.\n * @param event Event\n * @param hint May contain additional information about the original exception.\n * @hidden\n */\n applyToEvent(event, hint = {}) {\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = { ...this._extra, ...event.extra };\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = { ...this._tags, ...event.tags };\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = { ...this._user, ...event.user };\n }\n if (this._contexts && Object.keys(this._contexts).length) {\n event.contexts = { ...this._contexts, ...event.contexts };\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transactionName) {\n event.transaction = this._transactionName;\n }\n\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relies on that.\n if (this._span) {\n event.contexts = { trace: this._span.getTraceContext(), ...event.contexts };\n var transactionName = this._span.transaction && this._span.transaction.name;\n if (transactionName) {\n event.tags = { transaction: transactionName, ...event.tags };\n }\n }\n\n this._applyFingerprint(event);\n\n event.breadcrumbs = [...(event.breadcrumbs || []), ...this._breadcrumbs];\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n\n event.sdkProcessingMetadata = { ...event.sdkProcessingMetadata, ...this._sdkProcessingMetadata };\n\n return this._notifyEventProcessors([...getGlobalEventProcessors(), ...this._eventProcessors], event, hint);\n }\n\n /**\n * Add data which will be accessible during event processing but won't get sent to Sentry\n */\n setSDKProcessingMetadata(newData) {\n this._sdkProcessingMetadata = { ...this._sdkProcessingMetadata, ...newData };\n\n return this;\n }\n\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n _notifyEventProcessors(\n processors,\n event,\n hint,\n index = 0,\n ) {\n return new SyncPromise((resolve, reject) => {\n var processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n var result = processor({ ...event }, hint) ;\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n processor.id &&\n result === null &&\n logger.log(`Event processor \"${processor.id}\" dropped event`);\n\n if (isThenable(result)) {\n void result\n .then(final => this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve))\n .then(null, reject);\n } else {\n void this._notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n }\n\n /**\n * This will be called on every set call.\n */\n _notifyScopeListeners() {\n // We need this check for this._notifyingListeners to be able to work on scope during updates\n // If this check is not here we'll produce endless recursion when something is done with the scope\n // during the callback.\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach(callback => {\n callback(this);\n });\n this._notifyingListeners = false;\n }\n }\n\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n _applyFingerprint(event) {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint\n ? Array.isArray(event.fingerprint)\n ? event.fingerprint\n : [event.fingerprint]\n : [];\n\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n }\n}\n\n/**\n * Returns the global event processors.\n */\nfunction getGlobalEventProcessors() {\n return getGlobalSingleton('globalEventProcessors', () => []);\n}\n\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nfunction addGlobalEventProcessor(callback) {\n getGlobalEventProcessors().push(callback);\n}\n\nexport { Scope, addGlobalEventProcessor };\n//# sourceMappingURL=scope.js.map\n","import { timestampInSeconds, uuid4, dropUndefinedKeys } from '@sentry/utils';\n\n/**\n * Creates a new `Session` object by setting certain default parameters. If optional @param context\n * is passed, the passed properties are applied to the session object.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns a new `Session` object\n */\nfunction makeSession(context) {\n // Both timestamp and started are in seconds since the UNIX epoch.\n var startingTime = timestampInSeconds();\n\n var session = {\n sid: uuid4(),\n init: true,\n timestamp: startingTime,\n started: startingTime,\n duration: 0,\n status: 'ok',\n errors: 0,\n ignoreDuration: false,\n toJSON: () => sessionToJSON(session),\n };\n\n if (context) {\n updateSession(session, context);\n }\n\n return session;\n}\n\n/**\n * Updates a session object with the properties passed in the context.\n *\n * Note that this function mutates the passed object and returns void.\n * (Had to do this instead of returning a new and updated session because closing and sending a session\n * makes an update to the session after it was passed to the sending logic.\n * @see BaseClient.captureSession )\n *\n * @param session the `Session` to update\n * @param context the `SessionContext` holding the properties that should be updated in @param session\n */\nfunction updateSession(session, context = {}) {\n if (context.user) {\n if (!session.ipAddress && context.user.ip_address) {\n session.ipAddress = context.user.ip_address;\n }\n\n if (!session.did && !context.did) {\n session.did = context.user.id || context.user.email || context.user.username;\n }\n }\n\n session.timestamp = context.timestamp || timestampInSeconds();\n\n if (context.ignoreDuration) {\n session.ignoreDuration = context.ignoreDuration;\n }\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n session.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.init !== undefined) {\n session.init = context.init;\n }\n if (!session.did && context.did) {\n session.did = `${context.did}`;\n }\n if (typeof context.started === 'number') {\n session.started = context.started;\n }\n if (session.ignoreDuration) {\n session.duration = undefined;\n } else if (typeof context.duration === 'number') {\n session.duration = context.duration;\n } else {\n var duration = session.timestamp - session.started;\n session.duration = duration >= 0 ? duration : 0;\n }\n if (context.release) {\n session.release = context.release;\n }\n if (context.environment) {\n session.environment = context.environment;\n }\n if (!session.ipAddress && context.ipAddress) {\n session.ipAddress = context.ipAddress;\n }\n if (!session.userAgent && context.userAgent) {\n session.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n session.errors = context.errors;\n }\n if (context.status) {\n session.status = context.status;\n }\n}\n\n/**\n * Closes a session by setting its status and updating the session object with it.\n * Internally calls `updateSession` to update the passed session object.\n *\n * Note that this function mutates the passed session (@see updateSession for explanation).\n *\n * @param session the `Session` object to be closed\n * @param status the `SessionStatus` with which the session was closed. If you don't pass a status,\n * this function will keep the previously set status, unless it was `'ok'` in which case\n * it is changed to `'exited'`.\n */\nfunction closeSession(session, status) {\n let context = {};\n if (status) {\n context = { status };\n } else if (session.status === 'ok') {\n context = { status: 'exited' };\n }\n\n updateSession(session, context);\n}\n\n/**\n * Serializes a passed session object to a JSON object with a slightly different structure.\n * This is necessary because the Sentry backend requires a slightly different schema of a session\n * than the one the JS SDKs use internally.\n *\n * @param session the session to be converted\n *\n * @returns a JSON object of the passed session\n */\nfunction sessionToJSON(session) {\n return dropUndefinedKeys({\n sid: `${session.sid}`,\n init: session.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(session.started * 1000).toISOString(),\n timestamp: new Date(session.timestamp * 1000).toISOString(),\n status: session.status,\n errors: session.errors,\n did: typeof session.did === 'number' || typeof session.did === 'string' ? `${session.did}` : undefined,\n duration: session.duration,\n attrs: {\n release: session.release,\n environment: session.environment,\n ip_address: session.ipAddress,\n user_agent: session.userAgent,\n },\n });\n}\n\nexport { closeSession, makeSession, updateSession };\n//# sourceMappingURL=session.js.map\n","import { isString } from './is.js';\nimport { logger } from './logger.js';\n\nvar BAGGAGE_HEADER_NAME = 'baggage';\n\nvar SENTRY_BAGGAGE_KEY_PREFIX = 'sentry-';\n\nvar SENTRY_BAGGAGE_KEY_PREFIX_REGEX = /^sentry-/;\n\n/**\n * Max length of a serialized baggage string\n *\n * https://www.w3.org/TR/baggage/#limits\n */\nvar MAX_BAGGAGE_STRING_LENGTH = 8192;\n\n/** Create an instance of Baggage */\nfunction createBaggage(initItems, baggageString = '', mutable = true) {\n return [{ ...initItems }, baggageString, mutable];\n}\n\n/** Get a value from baggage */\nfunction getBaggageValue(baggage, key) {\n return baggage[0][key];\n}\n\n/** Add a value to baggage */\nfunction setBaggageValue(baggage, key, value) {\n if (isBaggageMutable(baggage)) {\n baggage[0][key] = value;\n }\n}\n\n/** Check if the Sentry part of the passed baggage (i.e. the first element in the tuple) is empty */\nfunction isSentryBaggageEmpty(baggage) {\n return Object.keys(baggage[0]).length === 0;\n}\n\n/** Returns Sentry specific baggage values */\nfunction getSentryBaggageItems(baggage) {\n return baggage[0];\n}\n\n/**\n * Returns 3rd party baggage string of @param baggage\n * @param baggage\n */\nfunction getThirdPartyBaggage(baggage) {\n return baggage[1];\n}\n\n/**\n * Checks if baggage is mutable\n * @param baggage\n * @returns true if baggage is mutable, else false\n */\nfunction isBaggageMutable(baggage) {\n return baggage[2];\n}\n\n/**\n * Sets the passed baggage immutable\n * @param baggage\n */\nfunction setBaggageImmutable(baggage) {\n baggage[2] = false;\n}\n\n/** Serialize a baggage object */\nfunction serializeBaggage(baggage) {\n return Object.keys(baggage[0]).reduce((prev, key) => {\n var val = baggage[0][key] ;\n var baggageEntry = `${SENTRY_BAGGAGE_KEY_PREFIX}${encodeURIComponent(key)}=${encodeURIComponent(val)}`;\n var newVal = prev === '' ? baggageEntry : `${prev},${baggageEntry}`;\n if (newVal.length > MAX_BAGGAGE_STRING_LENGTH) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn(`Not adding key: ${key} with val: ${val} to baggage due to exceeding baggage size limits.`);\n return prev;\n } else {\n return newVal;\n }\n }, baggage[1]);\n}\n\n/**\n * Parse a baggage header from a string or a string array and return a Baggage object\n *\n * If @param includeThirdPartyEntries is set to true, third party baggage entries are added to the Baggage object\n * (This is necessary for merging potentially pre-existing baggage headers in outgoing requests with\n * our `sentry-` values)\n */\nfunction parseBaggageHeader(\n inputBaggageValue,\n includeThirdPartyEntries = false,\n) {\n // Adding this check here because we got reports of this function failing due to the input value\n // not being a string. This debug log might help us determine what's going on here.\n if ((!Array.isArray(inputBaggageValue) && !isString(inputBaggageValue)) || typeof inputBaggageValue === 'number') {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn(\n '[parseBaggageHeader] Received input value of incompatible type: ',\n typeof inputBaggageValue,\n inputBaggageValue,\n );\n\n // Gonna early-return an empty baggage object so that we don't fail later on\n return createBaggage({}, '');\n }\n\n var baggageEntries = (isString(inputBaggageValue) ? inputBaggageValue : inputBaggageValue.join(','))\n .split(',')\n .map(entry => entry.trim())\n .filter(entry => entry !== '' && (includeThirdPartyEntries || SENTRY_BAGGAGE_KEY_PREFIX_REGEX.test(entry)));\n\n return baggageEntries.reduce(\n ([baggageObj, baggageString], curr) => {\n const [key, val] = curr.split('=');\n if (SENTRY_BAGGAGE_KEY_PREFIX_REGEX.test(key)) {\n var baggageKey = decodeURIComponent(key.split('-')[1]);\n return [\n {\n ...baggageObj,\n [baggageKey]: decodeURIComponent(val),\n },\n baggageString,\n true,\n ];\n } else {\n return [baggageObj, baggageString === '' ? curr : `${baggageString},${curr}`, true];\n }\n },\n [{}, '', true],\n );\n}\n\n/**\n * Merges the baggage header we saved from the incoming request (or meta tag) with\n * a possibly created or modified baggage header by a third party that's been added\n * to the outgoing request header.\n *\n * In case @param headerBaggageString exists, we can safely add the the 3rd party part of @param headerBaggage\n * with our @param incomingBaggage. This is possible because if we modified anything beforehand,\n * it would only affect parts of the sentry baggage (@see Baggage interface).\n *\n * @param incomingBaggage the baggage header of the incoming request that might contain sentry entries\n * @param thirdPartyBaggageHeader possibly existing baggage header string or string[] added from a third\n * party to the request headers\n *\n * @return a merged and serialized baggage string to be propagated with the outgoing request\n */\nfunction mergeAndSerializeBaggage(incomingBaggage, thirdPartyBaggageHeader) {\n if (!incomingBaggage && !thirdPartyBaggageHeader) {\n return '';\n }\n\n var headerBaggage = (thirdPartyBaggageHeader && parseBaggageHeader(thirdPartyBaggageHeader, true)) || undefined;\n var thirdPartyHeaderBaggage = headerBaggage && getThirdPartyBaggage(headerBaggage);\n\n var finalBaggage = createBaggage((incomingBaggage && incomingBaggage[0]) || {}, thirdPartyHeaderBaggage || '');\n return serializeBaggage(finalBaggage);\n}\n\n/**\n * Helper function that takes a raw baggage string (if available) and the processed sentry-trace header\n * data (if available), parses the baggage string and creates a Baggage object\n * If there is no baggage string, it will create an empty Baggage object.\n * In a second step, this functions determines if the created Baggage object should be set immutable\n * to prevent mutation of the Sentry data.\n *\n * Extracted this logic to a function because it's duplicated in a lot of places.\n *\n * @param rawBaggageValue\n * @param sentryTraceHeader\n */\nfunction parseBaggageSetMutability(\n rawBaggageValue,\n sentryTraceHeader,\n) {\n var baggage = parseBaggageHeader(rawBaggageValue || '');\n\n // Because we are always creating a Baggage object by calling `parseBaggageHeader` above\n // (either a filled one or an empty one, even if we didn't get a `baggage` header),\n // we only need to check if we have a sentry-trace header or not. As soon as we have it,\n // we set baggage immutable. In case we don't get a sentry-trace header, we can assume that\n // this SDK is the head of the trace and thus we still permit mutation at this time.\n // There is one exception though, which is that we get a baggage-header with `sentry-`\n // items but NO sentry-trace header. In this case we also set the baggage immutable for now\n // but if smoething like this would ever happen, we should revisit this and determine\n // what this would actually mean for the trace (i.e. is this SDK the head?, what happened\n // before that we don't have a sentry-trace header?, etc)\n (sentryTraceHeader || !isSentryBaggageEmpty(baggage)) && setBaggageImmutable(baggage);\n\n return baggage;\n}\n\nexport { BAGGAGE_HEADER_NAME, MAX_BAGGAGE_STRING_LENGTH, SENTRY_BAGGAGE_KEY_PREFIX, SENTRY_BAGGAGE_KEY_PREFIX_REGEX, createBaggage, getBaggageValue, getSentryBaggageItems, getThirdPartyBaggage, isBaggageMutable, isSentryBaggageEmpty, mergeAndSerializeBaggage, parseBaggageHeader, parseBaggageSetMutability, serializeBaggage, setBaggageImmutable, setBaggageValue };\n//# sourceMappingURL=baggage.js.map\n","import { getGlobalObject } from './global.js';\nimport { isString } from './is.js';\n\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction htmlTreeAsString(elem, keyAttrs) {\n \n\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n let currentElem = elem ;\n var MAX_TRAVERSE_HEIGHT = 5;\n var MAX_OUTPUT_LEN = 80;\n var out = [];\n let height = 0;\n let len = 0;\n var separator = ' > ';\n var sepLength = separator.length;\n let nextStr;\n\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttrs);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n\n out.push(nextStr);\n\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n\n return out.reverse().join(separator);\n } catch (_oO) {\n return '<unknown>';\n }\n}\n\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el, keyAttrs) {\n var elem = el \n\n;\n\n var out = [];\n let className;\n let classes;\n let key;\n let attr;\n let i;\n\n if (!elem || !elem.tagName) {\n return '';\n }\n\n out.push(elem.tagName.toLowerCase());\n\n // Pairs of attribute keys defined in `serializeAttribute` and their values on element.\n var keyAttrPairs =\n keyAttrs && keyAttrs.length\n ? keyAttrs.filter(keyAttr => elem.getAttribute(keyAttr)).map(keyAttr => [keyAttr, elem.getAttribute(keyAttr)])\n : null;\n\n if (keyAttrPairs && keyAttrPairs.length) {\n keyAttrPairs.forEach(keyAttrPair => {\n out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n });\n } else {\n if (elem.id) {\n out.push(`#${elem.id}`);\n }\n\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(`.${classes[i]}`);\n }\n }\n }\n var allowedAttrs = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < allowedAttrs.length; i++) {\n key = allowedAttrs[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(`[${key}=\"${attr}\"]`);\n }\n }\n return out.join('');\n}\n\n/**\n * A safe form of location.href\n */\nfunction getLocationHref() {\n var global = getGlobalObject();\n try {\n return global.document.location.href;\n } catch (oO) {\n return '';\n }\n}\n\nexport { getLocationHref, htmlTreeAsString };\n//# sourceMappingURL=browser.js.map\n","import { createEnvelope } from './envelope.js';\nimport { dateTimestampInSeconds } from './time.js';\n\n/**\n * Creates client report envelope\n * @param discarded_events An array of discard events\n * @param dsn A DSN that can be set on the header. Optional.\n */\nfunction createClientReportEnvelope(\n discarded_events,\n dsn,\n timestamp,\n) {\n var clientReportItem = [\n { type: 'client_report' },\n {\n timestamp: timestamp || dateTimestampInSeconds(),\n discarded_events,\n },\n ];\n return createEnvelope(dsn ? { dsn } : {}, [clientReportItem]);\n}\n\nexport { createClientReportEnvelope };\n//# sourceMappingURL=clientreport.js.map\n","import { SentryError } from './error.js';\n\n/** Regular expression used to parse a Dsn. */\nvar DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+))?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n\nfunction isValidProtocol(protocol) {\n return protocol === 'http' || protocol === 'https';\n}\n\n/**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\nfunction dsnToString(dsn, withPassword = false) {\n const { host, path, pass, port, projectId, protocol, publicKey } = dsn;\n return (\n `${protocol}://${publicKey}${withPassword && pass ? `:${pass}` : ''}` +\n `@${host}${port ? `:${port}` : ''}/${path ? `${path}/` : path}${projectId}`\n );\n}\n\n/**\n * Parses a Dsn from a given string.\n *\n * @param str A Dsn as string\n * @returns Dsn as DsnComponents\n */\nfunction dsnFromString(str) {\n var match = DSN_REGEX.exec(str);\n\n if (!match) {\n throw new SentryError(`Invalid Sentry Dsn: ${str}`);\n }\n\n const [protocol, publicKey, pass = '', host, port = '', lastPath] = match.slice(1);\n let path = '';\n let projectId = lastPath;\n\n var split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop() ;\n }\n\n if (projectId) {\n var projectMatch = projectId.match(/^\\d+/);\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n\n return dsnFromComponents({ host, pass, path, projectId, port, protocol: protocol , publicKey });\n}\n\nfunction dsnFromComponents(components) {\n return {\n protocol: components.protocol,\n publicKey: components.publicKey || '',\n pass: components.pass || '',\n host: components.host,\n port: components.port || '',\n path: components.path || '',\n projectId: components.projectId,\n };\n}\n\nfunction validateDsn(dsn) {\n if (!(typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__)) {\n return;\n }\n\n const { port, projectId, protocol } = dsn;\n\n var requiredComponents = ['protocol', 'publicKey', 'host', 'projectId'];\n requiredComponents.forEach(component => {\n if (!dsn[component]) {\n throw new SentryError(`Invalid Sentry Dsn: ${component} missing`);\n }\n });\n\n if (!projectId.match(/^\\d+$/)) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid projectId ${projectId}`);\n }\n\n if (!isValidProtocol(protocol)) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid protocol ${protocol}`);\n }\n\n if (port && isNaN(parseInt(port, 10))) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid port ${port}`);\n }\n\n return true;\n}\n\n/** The Sentry Dsn, identifying a Sentry instance and project. */\nfunction makeDsn(from) {\n var components = typeof from === 'string' ? dsnFromString(from) : dsnFromComponents(from);\n validateDsn(components);\n return components;\n}\n\n/**\n * Changes a Dsn to point to the `relay` server running in the Lambda Extension.\n *\n * This is only used by the serverless integration for AWS Lambda.\n *\n * @param originalDsn The original Dsn of the customer.\n * @returns Dsn pointing to Lambda extension.\n */\nfunction extensionRelayDSN(originalDsn) {\n if (originalDsn === undefined) {\n return undefined;\n }\n\n var dsn = dsnFromString(originalDsn);\n dsn.host = 'localhost';\n dsn.port = '3000';\n dsn.protocol = 'http';\n\n return dsnToString(dsn);\n}\n\nexport { dsnToString, extensionRelayDSN, makeDsn };\n//# sourceMappingURL=dsn.js.map\n","/*\n * This module exists for optimizations in the build process through rollup and terser. We define some global\n * constants, which can be overridden during build. By guarding certain pieces of code with functions that return these\n * constants, we can control whether or not they appear in the final bundle. (Any code guarded by a false condition will\n * never run, and will hence be dropped during treeshaking.) The two primary uses for this are stripping out calls to\n * `logger` and preventing node-related code from appearing in browser bundles.\n *\n * Attention:\n * This file should not be used to define constants/flags that are intended to be used for tree-shaking conducted by\n * users. These fags should live in their respective packages, as we identified user tooling (specifically webpack)\n * having issues tree-shaking these constants across package boundaries.\n * An example for this is the __SENTRY_DEBUG__ constant. It is declared in each package individually because we want\n * users to be able to shake away expressions that it guards.\n */\n\n/**\n * Figures out if we're building a browser bundle.\n *\n * @returns true if this is a browser bundle build.\n */\nfunction isBrowserBundle() {\n return typeof __SENTRY_BROWSER_BUNDLE__ !== 'undefined' && !!__SENTRY_BROWSER_BUNDLE__;\n}\n\nexport { isBrowserBundle };\n//# sourceMappingURL=env.js.map\n","import { dropUndefinedKeys } from './object.js';\n\n/**\n * Creates an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nfunction createEnvelope(headers, items = []) {\n return [headers, items] ;\n}\n\n/**\n * Add an item to an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nfunction addItemToEnvelope(envelope, newItem) {\n const [headers, items] = envelope;\n return [headers, [...items, newItem]] ;\n}\n\n/**\n * Convenience function to loop through the items and item types of an envelope.\n * (This function was mostly created because working with envelope types is painful at the moment)\n */\nfunction forEachEnvelopeItem(\n envelope,\n callback,\n) {\n var envelopeItems = envelope[1];\n envelopeItems.forEach((envelopeItem) => {\n var envelopeItemType = envelopeItem[0].type;\n callback(envelopeItem, envelopeItemType);\n });\n}\n\nfunction encodeUTF8(input, textEncoder) {\n var utf8 = textEncoder || new TextEncoder();\n return utf8.encode(input);\n}\n\n/**\n * Serializes an envelope.\n */\nfunction serializeEnvelope(envelope, textEncoder) {\n const [envHeaders, items] = envelope;\n\n // Initially we construct our envelope as a string and only convert to binary chunks if we encounter binary data\n let parts = JSON.stringify(envHeaders);\n\n function append(next) {\n if (typeof parts === 'string') {\n parts = typeof next === 'string' ? parts + next : [encodeUTF8(parts, textEncoder), next];\n } else {\n parts.push(typeof next === 'string' ? encodeUTF8(next, textEncoder) : next);\n }\n }\n\n for (var item of items) {\n const [itemHeaders, payload] = item ;\n append(`\\n${JSON.stringify(itemHeaders)}\\n`);\n append(typeof payload === 'string' || payload instanceof Uint8Array ? payload : JSON.stringify(payload));\n }\n\n return typeof parts === 'string' ? parts : concatBuffers(parts);\n}\n\nfunction concatBuffers(buffers) {\n var totalLength = buffers.reduce((acc, buf) => acc + buf.length, 0);\n\n var merged = new Uint8Array(totalLength);\n let offset = 0;\n for (var buffer of buffers) {\n merged.set(buffer, offset);\n offset += buffer.length;\n }\n\n return merged;\n}\n\n/**\n * Creates attachment envelope items\n */\nfunction createAttachmentEnvelopeItem(\n attachment,\n textEncoder,\n) {\n var buffer = typeof attachment.data === 'string' ? encodeUTF8(attachment.data, textEncoder) : attachment.data;\n\n return [\n dropUndefinedKeys({\n type: 'attachment',\n length: buffer.length,\n filename: attachment.filename,\n content_type: attachment.contentType,\n attachment_type: attachment.attachmentType,\n }),\n buffer,\n ];\n}\n\nvar ITEM_TYPE_TO_DATA_CATEGORY_MAP = {\n session: 'session',\n sessions: 'session',\n attachment: 'attachment',\n transaction: 'transaction',\n event: 'error',\n client_report: 'internal',\n user_report: 'default',\n};\n\n/**\n * Maps the type of an envelope item to a data category.\n */\nfunction envelopeItemTypeToDataCategory(type) {\n return ITEM_TYPE_TO_DATA_CATEGORY_MAP[type];\n}\n\nexport { addItemToEnvelope, createAttachmentEnvelopeItem, createEnvelope, envelopeItemTypeToDataCategory, forEachEnvelopeItem, serializeEnvelope };\n//# sourceMappingURL=envelope.js.map\n","/** An error emitted by Sentry SDKs and related utilities. */\nclass SentryError extends Error {\n /** Display name of this error instance. */\n \n\n constructor( message) {\n super(message);this.message = message;;\n\n this.name = new.target.prototype.constructor.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\nexport { SentryError };\n//# sourceMappingURL=error.js.map\n","import { isNodeEnv } from './node.js';\n\n/** Internal */\n\nvar fallbackGlobalObject = {};\n\n/**\n * Safely get global scope object\n *\n * @returns Global scope object\n */\nfunction getGlobalObject() {\n return (\n isNodeEnv()\n ? global\n : typeof window !== 'undefined' ? window : typeof self !== 'undefined'\n ? self\n : fallbackGlobalObject\n ) ;\n}\n\n/**\n * Returns a global singleton contained in the global `__SENTRY__` object.\n *\n * If the singleton doesn't already exist in `__SENTRY__`, it will be created using the given factory\n * function and added to the `__SENTRY__` object.\n *\n * @param name name of the global singleton on __SENTRY__\n * @param creator creator Factory function to create the singleton if it doesn't already exist on `__SENTRY__`\n * @param obj (Optional) The global object on which to look for `__SENTRY__`, if not `getGlobalObject`'s return value\n * @returns the singleton\n */\nfunction getGlobalSingleton(name, creator, obj) {\n var global = (obj || getGlobalObject()) ;\n var __SENTRY__ = (global.__SENTRY__ = global.__SENTRY__ || {});\n var singleton = __SENTRY__[name] || (__SENTRY__[name] = creator());\n return singleton;\n}\n\nexport { getGlobalObject, getGlobalSingleton };\n//# sourceMappingURL=global.js.map\n","import { getGlobalObject } from './global.js';\nimport { isInstanceOf, isString } from './is.js';\nimport { logger, CONSOLE_LEVELS } from './logger.js';\nimport { fill } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\nimport { supportsNativeFetch, supportsHistory } from './supports.js';\n\nvar global = getGlobalObject();\n\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\n\nvar handlers = {};\nvar instrumented = {};\n\n/** Instruments given API */\nfunction instrument(type) {\n if (instrumented[type]) {\n return;\n }\n\n instrumented[type] = true;\n\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n case 'dom':\n instrumentDOM();\n break;\n case 'xhr':\n instrumentXHR();\n break;\n case 'fetch':\n instrumentFetch();\n break;\n case 'history':\n instrumentHistory();\n break;\n case 'error':\n instrumentError();\n break;\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n default:\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('unknown instrumentation type:', type);\n return;\n }\n}\n\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addInstrumentationHandler(type, callback) {\n handlers[type] = handlers[type] || [];\n (handlers[type] ).push(callback);\n instrument(type);\n}\n\n/** JSDoc */\nfunction triggerHandlers(type, data) {\n if (!type || !handlers[type]) {\n return;\n }\n\n for (var handler of handlers[type] || []) {\n try {\n handler(data);\n } catch (e) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.error(\n `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(handler)}\\nError:`,\n e,\n );\n }\n }\n}\n\n/** JSDoc */\nfunction instrumentConsole() {\n if (!('console' in global)) {\n return;\n }\n\n CONSOLE_LEVELS.forEach(function (level) {\n if (!(level in global.console)) {\n return;\n }\n\n fill(global.console, level, function (originalConsoleMethod) {\n return function (...args) {\n triggerHandlers('console', { args, level });\n\n // this fails for some browsers. :(\n if (originalConsoleMethod) {\n originalConsoleMethod.apply(global.console, args);\n }\n };\n });\n });\n}\n\n/** JSDoc */\nfunction instrumentFetch() {\n if (!supportsNativeFetch()) {\n return;\n }\n\n fill(global, 'fetch', function (originalFetch) {\n return function (...args) {\n var handlerData = {\n args,\n fetchData: {\n method: getFetchMethod(args),\n url: getFetchUrl(args),\n },\n startTimestamp: Date.now(),\n };\n\n triggerHandlers('fetch', {\n ...handlerData,\n });\n\n return originalFetch.apply(global, args).then(\n (response) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n response,\n });\n return response;\n },\n (error) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n error,\n });\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the sentry.javascript SDK caught an error invoking your application code.\n // This is expected behavior and NOT indicative of a bug with sentry.javascript.\n throw error;\n },\n );\n };\n });\n}\n\n/** Extract `method` from fetch call arguments */\nfunction getFetchMethod(fetchArgs = []) {\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n return 'GET';\n}\n\n/** Extract `url` from fetch call arguments */\nfunction getFetchUrl(fetchArgs = []) {\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n return String(fetchArgs[0]);\n}\n\n/** JSDoc */\nfunction instrumentXHR() {\n if (!('XMLHttpRequest' in global)) {\n return;\n }\n\n var xhrproto = XMLHttpRequest.prototype;\n\n fill(xhrproto, 'open', function (originalOpen) {\n return function ( ...args) {\n var xhr = this;\n var url = args[1];\n var xhrInfo = (xhr.__sentry_xhr__ = {\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1],\n });\n\n // if Sentry key appears in URL, don't capture it as a request\n if (isString(url) && xhrInfo.method === 'POST' && url.match(/sentry_key/)) {\n xhr.__sentry_own_request__ = true;\n }\n\n var onreadystatechangeHandler = function () {\n if (xhr.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n xhrInfo.status_code = xhr.status;\n } catch (e) {\n /* do nothing */\n }\n\n triggerHandlers('xhr', {\n args,\n endTimestamp: Date.now(),\n startTimestamp: Date.now(),\n xhr,\n });\n }\n };\n\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n fill(xhr, 'onreadystatechange', function (original) {\n return function (...readyStateArgs) {\n onreadystatechangeHandler();\n return original.apply(xhr, readyStateArgs);\n };\n });\n } else {\n xhr.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n\n return originalOpen.apply(xhr, args);\n };\n });\n\n fill(xhrproto, 'send', function (originalSend) {\n return function ( ...args) {\n if (this.__sentry_xhr__ && args[0] !== undefined) {\n this.__sentry_xhr__.body = args[0];\n }\n\n triggerHandlers('xhr', {\n args,\n startTimestamp: Date.now(),\n xhr: this,\n });\n\n return originalSend.apply(this, args);\n };\n });\n}\n\nlet lastHref;\n\n/** JSDoc */\nfunction instrumentHistory() {\n if (!supportsHistory()) {\n return;\n }\n\n var oldOnPopState = global.onpopstate;\n global.onpopstate = function ( ...args) {\n var to = global.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n var from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n if (oldOnPopState) {\n // Apparently this can throw in Firefox when incorrectly implemented plugin is installed.\n // https://github.com/getsentry/sentry-javascript/issues/3344\n // https://github.com/bugsnag/bugsnag-js/issues/469\n try {\n return oldOnPopState.apply(this, args);\n } catch (_oO) {\n // no-empty\n }\n }\n };\n\n /** @hidden */\n function historyReplacementFunction(originalHistoryFunction) {\n return function ( ...args) {\n var url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n var from = lastHref;\n var to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n fill(global.history, 'pushState', historyReplacementFunction);\n fill(global.history, 'replaceState', historyReplacementFunction);\n}\n\nvar debounceDuration = 1000;\nlet debounceTimerID;\nlet lastCapturedEvent;\n\n/**\n * Decide whether the current event should finish the debounce of previously captured one.\n * @param previous previously captured event\n * @param current event to be captured\n */\nfunction shouldShortcircuitPreviousDebounce(previous, current) {\n // If there was no previous event, it should always be swapped for the new one.\n if (!previous) {\n return true;\n }\n\n // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n if (previous.type !== current.type) {\n return true;\n }\n\n try {\n // If both events have the same type, it's still possible that actions were performed on different targets.\n // e.g. 2 clicks on different buttons.\n if (previous.target !== current.target) {\n return true;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n // to which an event listener was attached), we treat them as the same action, as we want to capture\n // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n return false;\n}\n\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\nfunction shouldSkipDOMEvent(event) {\n // We are only interested in filtering `keypress` events for now.\n if (event.type !== 'keypress') {\n return false;\n }\n\n try {\n var target = event.target ;\n\n if (!target || !target.tagName) {\n return true;\n }\n\n // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n // e.g.tabbing through elements, hotkeys, etc.\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return false;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n return true;\n}\n\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param handler function that will be triggered\n * @param globalListener indicates whether event was captured by the global event listener\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nfunction makeDOMEventHandler(handler, globalListener = false) {\n return (event) => {\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors).\n // Ignore if we've already captured that event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n\n // We always want to skip _some_ events.\n if (shouldSkipDOMEvent(event)) {\n return;\n }\n\n var name = event.type === 'keypress' ? 'input' : event.type;\n\n // If there is no debounce timer, it means that we can safely capture the new event and store it for future comparisons.\n if (debounceTimerID === undefined) {\n handler({\n event: event,\n name,\n global: globalListener,\n });\n lastCapturedEvent = event;\n }\n // If there is a debounce awaiting, see if the new event is different enough to treat it as a unique one.\n // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n else if (shouldShortcircuitPreviousDebounce(lastCapturedEvent, event)) {\n handler({\n event: event,\n name,\n global: globalListener,\n });\n lastCapturedEvent = event;\n }\n\n // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n clearTimeout(debounceTimerID);\n debounceTimerID = global.setTimeout(() => {\n debounceTimerID = undefined;\n }, debounceDuration);\n };\n}\n\n/** JSDoc */\nfunction instrumentDOM() {\n if (!('document' in global)) {\n return;\n }\n\n // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n var triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n var globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n global.document.addEventListener('click', globalDOMEventHandler, false);\n global.document.addEventListener('keypress', globalDOMEventHandler, false);\n\n // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n // guaranteed to fire at least once.)\n ['EventTarget', 'Node'].forEach((target) => {\n var proto = (global )[target] && (global )[target].prototype;\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (originalAddEventListener) {\n return function (\n \n type,\n listener,\n options,\n ) {\n if (type === 'click' || type == 'keypress') {\n try {\n var el = this ;\n var handlers = (el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {});\n var handlerForType = (handlers[type] = handlers[type] || { refCount: 0 });\n\n if (!handlerForType.handler) {\n var handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n\n handlerForType.refCount += 1;\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (originalRemoveEventListener) {\n return function (\n \n type,\n listener,\n options,\n ) {\n if (type === 'click' || type == 'keypress') {\n try {\n var el = this ;\n var handlers = el.__sentry_instrumentation_handlers__ || {};\n var handlerForType = handlers[type];\n\n if (handlerForType) {\n handlerForType.refCount -= 1;\n // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = undefined;\n delete handlers[type]; }\n\n // If there are no longer any custom handlers of any type on this element, cleanup everything.\n if (Object.keys(handlers).length === 0) {\n delete el.__sentry_instrumentation_handlers__;\n }\n }\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n },\n );\n });\n}\n\nlet _oldOnErrorHandler = null;\n/** JSDoc */\nfunction instrumentError() {\n _oldOnErrorHandler = global.onerror;\n\n global.onerror = function (msg, url, line, column, error) {\n triggerHandlers('error', {\n column,\n error,\n line,\n msg,\n url,\n });\n\n if (_oldOnErrorHandler) {\n return _oldOnErrorHandler.apply(this, arguments);\n }\n\n return false;\n };\n}\n\nlet _oldOnUnhandledRejectionHandler = null;\n/** JSDoc */\nfunction instrumentUnhandledRejection() {\n _oldOnUnhandledRejectionHandler = global.onunhandledrejection;\n\n global.onunhandledrejection = function (e) {\n triggerHandlers('unhandledrejection', e);\n\n if (_oldOnUnhandledRejectionHandler) {\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n\n return true;\n };\n}\n\nexport { addInstrumentationHandler };\n//# sourceMappingURL=instrument.js.map\n","var objectToString = Object.prototype.toString;\n\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isError(wat) {\n switch (objectToString.call(wat)) {\n case '[object Error]':\n case '[object Exception]':\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n\nfunction isBuiltin(wat, ty) {\n return objectToString.call(wat) === `[object ${ty}]`;\n}\n\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isErrorEvent(wat) {\n return isBuiltin(wat, 'ErrorEvent');\n}\n\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isDOMError(wat) {\n return isBuiltin(wat, 'DOMError');\n}\n\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isDOMException(wat) {\n return isBuiltin(wat, 'DOMException');\n}\n\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isString(wat) {\n return isBuiltin(wat, 'String');\n}\n\n/**\n * Checks whether given value is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isPrimitive(wat) {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isPlainObject(wat) {\n return isBuiltin(wat, 'Object');\n}\n\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isEvent(wat) {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isElement(wat) {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isRegExp(wat) {\n return isBuiltin(wat, 'RegExp');\n}\n\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nfunction isThenable(wat) {\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isSyntheticEvent(wat) {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n\n/**\n * Checks whether given value is NaN\n * {@link isNaN}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isNaN(wat) {\n return typeof wat === 'number' && wat !== wat;\n}\n\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nfunction isInstanceOf(wat, base) {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n\nexport { isDOMError, isDOMException, isElement, isError, isErrorEvent, isEvent, isInstanceOf, isNaN, isPlainObject, isPrimitive, isRegExp, isString, isSyntheticEvent, isThenable };\n//# sourceMappingURL=is.js.map\n","import { getGlobalObject, getGlobalSingleton } from './global.js';\n\n// TODO: Implement different loggers for different environments\nvar global = getGlobalObject();\n\n/** Prefix for logging strings */\nvar PREFIX = 'Sentry Logger ';\n\nvar CONSOLE_LEVELS = ['debug', 'info', 'warn', 'error', 'log', 'assert', 'trace'] ;\n\n/**\n * Temporarily disable sentry console instrumentations.\n *\n * @param callback The function to run against the original `console` messages\n * @returns The results of the callback\n */\nfunction consoleSandbox(callback) {\n var global = getGlobalObject();\n\n if (!('console' in global)) {\n return callback();\n }\n\n var originalConsole = global.console ;\n var wrappedLevels = {};\n\n // Restore all wrapped console methods\n CONSOLE_LEVELS.forEach(level => {\n // TODO(v7): Remove this check as it's only needed for Node 6\n var originalWrappedFunc =\n originalConsole[level] && (originalConsole[level] ).__sentry_original__;\n if (level in global.console && originalWrappedFunc) {\n wrappedLevels[level] = originalConsole[level] ;\n originalConsole[level] = originalWrappedFunc ;\n }\n });\n\n try {\n return callback();\n } finally {\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(level => {\n originalConsole[level] = wrappedLevels[level ];\n });\n }\n}\n\nfunction makeLogger() {\n let enabled = false;\n var logger = {\n enable: () => {\n enabled = true;\n },\n disable: () => {\n enabled = false;\n },\n };\n\n if ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__)) {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = (...args) => {\n if (enabled) {\n consoleSandbox(() => {\n global.console[name](`${PREFIX}[${name}]:`, ...args);\n });\n }\n };\n });\n } else {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = () => undefined;\n });\n }\n\n return logger ;\n}\n\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nlet logger;\nif ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__)) {\n logger = getGlobalSingleton('logger', makeLogger);\n} else {\n logger = makeLogger();\n}\n\nexport { CONSOLE_LEVELS, consoleSandbox, logger };\n//# sourceMappingURL=logger.js.map\n","/**\n * Helper to decycle json objects\n */\nfunction memoBuilder() {\n var hasWeakSet = typeof WeakSet === 'function';\n var inner = hasWeakSet ? new WeakSet() : [];\n function memoize(obj) {\n if (hasWeakSet) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n for (let i = 0; i < inner.length; i++) {\n var value = inner[i];\n if (value === obj) {\n return true;\n }\n }\n inner.push(obj);\n return false;\n }\n\n function unmemoize(obj) {\n if (hasWeakSet) {\n inner.delete(obj);\n } else {\n for (let i = 0; i < inner.length; i++) {\n if (inner[i] === obj) {\n inner.splice(i, 1);\n break;\n }\n }\n }\n }\n return [memoize, unmemoize];\n}\n\nexport { memoBuilder };\n//# sourceMappingURL=memo.js.map\n","import { getGlobalObject } from './global.js';\nimport { addNonEnumerableProperty } from './object.js';\nimport { snipLine } from './string.js';\n\n/**\n * Extended Window interface that allows for Crypto API usage in IE browsers\n */\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nfunction uuid4() {\n var global = getGlobalObject() ;\n var crypto = global.crypto || global.msCrypto;\n\n if (!(crypto === void 0) && crypto.getRandomValues) {\n // Use window.crypto API if available\n var arr = new Uint16Array(8);\n crypto.getRandomValues(arr);\n\n // set 4 in byte 7\n arr[3] = (arr[3] & 0xfff) | 0x4000;\n // set 2 most significant bits of byte 9 to '10'\n arr[4] = (arr[4] & 0x3fff) | 0x8000;\n\n var pad = (num) => {\n let v = num.toString(16);\n while (v.length < 4) {\n v = `0${v}`;\n }\n return v;\n };\n\n return (\n pad(arr[0]) + pad(arr[1]) + pad(arr[2]) + pad(arr[3]) + pad(arr[4]) + pad(arr[5]) + pad(arr[6]) + pad(arr[7])\n );\n }\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, c => {\n var r = (Math.random() * 16) | 0;\n var v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not <a/> href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nfunction parseUrl(url)\n\n {\n if (!url) {\n return {};\n }\n\n var match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n\n if (!match) {\n return {};\n }\n\n // coerce to undefined values to empty string so we don't get 'undefined'\n var query = match[6] || '';\n var fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n relative: match[5] + query + fragment, // everything minus origin\n };\n}\n\nfunction getFirstException(event) {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nfunction getEventDescription(event) {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n var firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '<unknown>';\n }\n return eventId || '<unknown>';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nfunction addExceptionTypeValue(event, value, type) {\n var exception = (event.exception = event.exception || {});\n var values = (exception.values = exception.values || []);\n var firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nfunction addExceptionMechanism(event, newMechanism) {\n var firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n var defaultMechanism = { type: 'generic', handled: true };\n var currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n var mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nvar SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nfunction parseSemver(input) {\n var match = input.match(SEMVER_REGEXP) || [];\n var major = parseInt(match[1], 10);\n var minor = parseInt(match[2], 10);\n var patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nfunction addContextToFrame(lines, frame, linesOfContext = 5) {\n var lineno = frame.lineno || 0;\n var maxLines = lines.length;\n var sourceLine = Math.max(Math.min(maxLines, lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line) => snipLine(line, 0));\n\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line) => snipLine(line, 0));\n}\n\n/**\n * Strip the query string and fragment off of a given URL or path (if present)\n *\n * @param urlPath Full URL or path, including possible query string and/or fragment\n * @returns URL or path without query string or fragment\n */\nfunction stripUrlQueryAndFragment(urlPath) {\n return urlPath.split(/[\\?#]/, 1)[0];\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nfunction checkOrSetAlreadyCaught(exception) {\n if (exception && (exception ).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception , '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n\nexport { addContextToFrame, addExceptionMechanism, addExceptionTypeValue, checkOrSetAlreadyCaught, getEventDescription, parseSemver, parseUrl, stripUrlQueryAndFragment, uuid4 };\n//# sourceMappingURL=misc.js.map\n","import { isBrowserBundle } from './env.js';\n\n/**\n * NOTE: In order to avoid circular dependencies, if you add a function to this module and it needs to print something,\n * you must either a) use `console.log` rather than the logger, or b) put your function elsewhere.\n */\n\n/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\nfunction isNodeEnv() {\n // explicitly check for browser bundles as those can be optimized statically\n // by terser/rollup.\n return (\n !isBrowserBundle() &&\n Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]'\n );\n}\n\n/**\n * Requires a module which is protected against bundler minification.\n *\n * @param request The module path to resolve\n */\nfunction dynamicRequire(mod, request) {\n return mod.require(request);\n}\n\n/**\n * Helper for dynamically loading module that should work with linked dependencies.\n * The problem is that we _should_ be using `require(require.resolve(moduleName, { paths: [cwd()] }))`\n * However it's _not possible_ to do that with Webpack, as it has to know all the dependencies during\n * build time. `require.resolve` is also not available in any other way, so we cannot create,\n * a fake helper like we do with `dynamicRequire`.\n *\n * We always prefer to use local package, thus the value is not returned early from each `try/catch` block.\n * That is to mimic the behavior of `require.resolve` exactly.\n *\n * @param moduleName module name to require\n * @returns possibly required module\n */\nfunction loadModule(moduleName) {\n let mod;\n\n try {\n mod = dynamicRequire(module, moduleName);\n } catch (e) {\n // no-empty\n }\n\n try {\n const { cwd } = dynamicRequire(module, 'process');\n mod = dynamicRequire(module, `${cwd()}/node_modules/${moduleName}`) ;\n } catch (e) {\n // no-empty\n }\n\n return mod;\n}\n\nexport { dynamicRequire, isNodeEnv, loadModule };\n//# sourceMappingURL=node.js.map\n","import { isNaN, isSyntheticEvent } from './is.js';\nimport { memoBuilder } from './memo.js';\nimport { convertToPlainObject } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normallized output..\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\nfunction normalize(input, depth = +Infinity, maxProperties = +Infinity) {\n try {\n // since we're at the outermost level, we don't provide a key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\n\n/** JSDoc */\nfunction normalizeToSize(\n object,\n // Default Node.js REPL depth\n depth = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize = 100 * 1024,\n) {\n var normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized ;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n key,\n value,\n depth = +Infinity,\n maxProperties = +Infinity,\n memo = memoBuilder(),\n) {\n const [memoize, unmemoize] = memo;\n\n // If the value has a `toJSON` method, see if we can bail and let it do the work\n var valueWithToJSON = value ;\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n return valueWithToJSON.toJSON();\n } catch (err) {\n // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n }\n\n // Get the simple cases out of the way first\n if (value === null || (['number', 'boolean', 'string'].includes(typeof value) && !isNaN(value))) {\n return value ;\n }\n\n var stringified = stringifyValue(key, value);\n\n // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n if (!stringified.startsWith('[object ')) {\n return stringified;\n }\n\n // From here on, we can assert that `value` is either an object or an array.\n\n // Do not normalize objects that we know have already been normalized. As a general rule, the\n // \"__sentry_skip_normalization__\" property should only be used sparingly and only should only be set on objects that\n // have already been normalized.\n if ((value )['__sentry_skip_normalization__']) {\n return value ;\n }\n\n // We're also done if we've reached the max depth\n if (depth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n }\n\n // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n if (memoize(value)) {\n return '[Circular ~]';\n }\n\n // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n var normalized = (Array.isArray(value) ? [] : {}) ;\n let numAdded = 0;\n\n // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n var visitable = convertToPlainObject(value );\n\n for (var visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n }\n\n // Recursively visit all the child nodes\n var visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, depth - 1, maxProperties, memo);\n\n numAdded += 1;\n }\n\n // Once we've visited all the branches, remove the parent from memo storage\n unmemoize(value);\n\n // Return accumulated values\n return normalized;\n}\n\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n key,\n // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n // our internal use, it'll do\n value,\n) {\n try {\n if (key === 'domain' && value && typeof value === 'object' && (value )._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n\n // this catches `undefined` (but not `null`, which is a primitive and can be serialized on its own)\n if (value === void 0) {\n return '[undefined]';\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n return `[object ${(Object.getPrototypeOf(value) ).constructor.name}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n\nexport { normalize, normalizeToSize, visit as walk };\n//# sourceMappingURL=normalize.js.map\n","import { htmlTreeAsString } from './browser.js';\nimport { isError, isEvent, isInstanceOf, isElement, isPlainObject, isPrimitive } from './is.js';\nimport { truncate } from './string.js';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, <other\n * args>)` or `origMethod.apply(this, [<other args>])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n\n var original = source[name] ;\n var wrapped = replacementFactory(original) ;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n try {\n markFunctionWrapped(wrapped, original);\n } catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nfunction addNonEnumerableProperty(obj, name, value) {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nfunction markFunctionWrapped(wrapped, original) {\n var proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nfunction getOriginalFunction(func) {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nfunction urlEncode(object) {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argurment itself, when value is neither an Event nor\n * an Error.\n */\nfunction convertToPlainObject(\n value,\n)\n\n {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value),\n };\n } else if (isEvent(value)) {\n var newObj\n\n = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target) {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '<unknown>';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj) {\n if (typeof obj === 'object' && obj !== null) {\n var extractedProps = {};\n for (var property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = (obj )[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nfunction extractExceptionKeysForMessage(exception, maxLength = 40) {\n var keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n var serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nfunction dropUndefinedKeys(inputValue) {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n var memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n if (isPlainObject(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n var memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n var returnValue = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n for (var key of Object.keys(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue ;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n var memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n var returnValue = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n inputValue.forEach((item) => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n\n return returnValue ;\n }\n\n return inputValue;\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nfunction objectify(wat) {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n objectified = new (wat ).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify, urlEncode };\n//# sourceMappingURL=object.js.map\n","import { SentryError } from './error.js';\nimport { rejectedSyncPromise, SyncPromise, resolvedSyncPromise } from './syncpromise.js';\n\n/**\n * Creates an new PromiseBuffer object with the specified limit\n * @param limit max number of promises that can be stored in the buffer\n */\nfunction makePromiseBuffer(limit) {\n var buffer = [];\n\n function isReady() {\n return limit === undefined || buffer.length < limit;\n }\n\n /**\n * Remove a promise from the queue.\n *\n * @param task Can be any PromiseLike<T>\n * @returns Removed promise.\n */\n function remove(task) {\n return buffer.splice(buffer.indexOf(task), 1)[0];\n }\n\n /**\n * Add a promise (representing an in-flight action) to the queue, and set it to remove itself on fulfillment.\n *\n * @param taskProducer A function producing any PromiseLike<T>; In previous versions this used to be `task:\n * PromiseLike<T>`, but under that model, Promises were instantly created on the call-site and their executor\n * functions therefore ran immediately. Thus, even if the buffer was full, the action still happened. By\n * requiring the promise to be wrapped in a function, we can defer promise creation until after the buffer\n * limit check.\n * @returns The original promise.\n */\n function add(taskProducer) {\n if (!isReady()) {\n return rejectedSyncPromise(new SentryError('Not adding Promise due to buffer limit reached.'));\n }\n\n // start the task and add its promise to the queue\n var task = taskProducer();\n if (buffer.indexOf(task) === -1) {\n buffer.push(task);\n }\n void task\n .then(() => remove(task))\n // Use `then(null, rejectionHandler)` rather than `catch(rejectionHandler)` so that we can use `PromiseLike`\n // rather than `Promise`. `PromiseLike` doesn't have a `.catch` method, making its polyfill smaller. (ES5 didn't\n // have promises, so TS has to polyfill when down-compiling.)\n .then(null, () =>\n remove(task).then(null, () => {\n // We have to add another catch here because `remove()` starts a new promise chain.\n }),\n );\n return task;\n }\n\n /**\n * Wait for all promises in the queue to resolve or for timeout to expire, whichever comes first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the queue is still non-empty. Passing `0` (or\n * not passing anything) will make the promise wait as long as it takes for the queue to drain before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if the queue is already empty or drains before the timeout, and\n * `false` otherwise\n */\n function drain(timeout) {\n return new SyncPromise((resolve, reject) => {\n let counter = buffer.length;\n\n if (!counter) {\n return resolve(true);\n }\n\n // wait for `timeout` ms and then resolve to `false` (if not cancelled first)\n var capturedSetTimeout = setTimeout(() => {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n\n // if all promises resolve in time, cancel the timer and resolve to `true`\n buffer.forEach(item => {\n void resolvedSyncPromise(item).then(() => {\n if (!--counter) {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n }\n }, reject);\n });\n });\n }\n\n return {\n $: buffer,\n add,\n drain,\n };\n}\n\nexport { makePromiseBuffer };\n//# sourceMappingURL=promisebuffer.js.map\n","// Intentionally keeping the key broad, as we don't know for sure what rate limit headers get returned from backend\n\nvar DEFAULT_RETRY_AFTER = 60 * 1000; // 60 seconds\n\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param header string representation of 'Retry-After' header\n * @param now current unix timestamp\n *\n */\nfunction parseRetryAfterHeader(header, now = Date.now()) {\n var headerDelay = parseInt(`${header}`, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n\n var headerDate = Date.parse(`${header}`);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n\n return DEFAULT_RETRY_AFTER;\n}\n\n/**\n * Gets the time that given category is disabled until for rate limiting\n */\nfunction disabledUntil(limits, category) {\n return limits[category] || limits.all || 0;\n}\n\n/**\n * Checks if a category is rate limited\n */\nfunction isRateLimited(limits, category, now = Date.now()) {\n return disabledUntil(limits, category) > now;\n}\n\n/**\n * Update ratelimits from incoming headers.\n * Returns true if headers contains a non-empty rate limiting header.\n */\nfunction updateRateLimits(\n limits,\n { statusCode, headers },\n now = Date.now(),\n) {\n var updatedRateLimits = {\n ...limits,\n };\n\n // \"The name is case-insensitive.\"\n // https://developer.mozilla.org/en-US/docs/Web/API/Headers/get\n var rateLimitHeader = headers && headers['x-sentry-rate-limits'];\n var retryAfterHeader = headers && headers['retry-after'];\n\n if (rateLimitHeader) {\n /**\n * rate limit headers are of the form\n * <header>,<header>,..\n * where each <header> is of the form\n * <retry_after>: <categories>: <scope>: <reason_code>\n * where\n * <retry_after> is a delay in seconds\n * <categories> is the event type(s) (error, transaction, etc) being rate limited and is of the form\n * <category>;<category>;...\n * <scope> is what's being limited (org, project, or key) - ignored by SDK\n * <reason_code> is an arbitrary string like \"org_quota\" - ignored by SDK\n */\n for (var limit of rateLimitHeader.trim().split(',')) {\n const [retryAfter, categories] = limit.split(':', 2);\n var headerDelay = parseInt(retryAfter, 10);\n var delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1000; // 60sec default\n if (!categories) {\n updatedRateLimits.all = now + delay;\n } else {\n for (var category of categories.split(';')) {\n updatedRateLimits[category] = now + delay;\n }\n }\n }\n } else if (retryAfterHeader) {\n updatedRateLimits.all = now + parseRetryAfterHeader(retryAfterHeader, now);\n } else if (statusCode === 429) {\n updatedRateLimits.all = now + 60 * 1000;\n }\n\n return updatedRateLimits;\n}\n\nexport { DEFAULT_RETRY_AFTER, disabledUntil, isRateLimited, parseRetryAfterHeader, updateRateLimits };\n//# sourceMappingURL=ratelimit.js.map\n","// Note: Ideally the `SeverityLevel` type would be derived from `validSeverityLevels`, but that would mean either\n//\n// a) moving `validSeverityLevels` to `@sentry/types`,\n// b) moving the`SeverityLevel` type here, or\n// c) importing `validSeverityLevels` from here into `@sentry/types`.\n//\n// Option A would make `@sentry/types` a runtime dependency of `@sentry/utils` (not good), and options B and C would\n// create a circular dependency between `@sentry/types` and `@sentry/utils` (also not good). So a TODO accompanying the\n// type, reminding anyone who changes it to change this list also, will have to do.\n\nvar validSeverityLevels = ['fatal', 'error', 'warning', 'log', 'info', 'debug'];\n\n/**\n * Converts a string-based level into a member of the deprecated {@link Severity} enum.\n *\n * @deprecated `severityFromString` is deprecated. Please use `severityLevelFromString` instead.\n *\n * @param level String representation of Severity\n * @returns Severity\n */\nfunction severityFromString(level) {\n return severityLevelFromString(level) ;\n}\n\n/**\n * Converts a string-based level into a `SeverityLevel`, normalizing it along the way.\n *\n * @param level String representation of desired `SeverityLevel`.\n * @returns The `SeverityLevel` corresponding to the given string, or 'log' if the string isn't a valid level.\n */\nfunction severityLevelFromString(level) {\n return (level === 'warn' ? 'warning' : validSeverityLevels.includes(level) ? level : 'log') ;\n}\n\nexport { severityFromString, severityLevelFromString, validSeverityLevels };\n//# sourceMappingURL=severity.js.map\n","import { _optionalChain } from './buildPolyfills';\n\nvar STACKTRACE_LIMIT = 50;\n\n/**\n * Creates a stack parser with the supplied line parsers\n *\n * StackFrames are returned in the correct order for Sentry Exception\n * frames and with Sentry SDK internal frames removed from the top and bottom\n *\n */\nfunction createStackParser(...parsers) {\n var sortedParsers = parsers.sort((a, b) => a[0] - b[0]).map(p => p[1]);\n\n return (stack, skipFirst = 0) => {\n var frames = [];\n\n for (var line of stack.split('\\n').slice(skipFirst)) {\n for (var parser of sortedParsers) {\n var frame = parser(line);\n\n if (frame) {\n frames.push(frame);\n break;\n }\n }\n }\n\n return stripSentryFramesAndReverse(frames);\n };\n}\n\n/**\n * Gets a stack parser implementation from Options.stackParser\n * @see Options\n *\n * If options contains an array of line parsers, it is converted into a parser\n */\nfunction stackParserFromStackParserOptions(stackParser) {\n if (Array.isArray(stackParser)) {\n return createStackParser(...stackParser);\n }\n return stackParser;\n}\n\n/**\n * @hidden\n */\nfunction stripSentryFramesAndReverse(stack) {\n if (!stack.length) {\n return [];\n }\n\n let localStack = stack;\n\n var firstFrameFunction = localStack[0].function || '';\n var lastFrameFunction = localStack[localStack.length - 1].function || '';\n\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (firstFrameFunction.indexOf('captureMessage') !== -1 || firstFrameFunction.indexOf('captureException') !== -1) {\n localStack = localStack.slice(1);\n }\n\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (lastFrameFunction.indexOf('sentryWrapped') !== -1) {\n localStack = localStack.slice(0, -1);\n }\n\n // The frame where the crash happened, should be the last entry in the array\n return localStack\n .slice(0, STACKTRACE_LIMIT)\n .map(frame => ({\n ...frame,\n filename: frame.filename || localStack[0].filename,\n function: frame.function || '?',\n }))\n .reverse();\n}\n\nvar defaultFunctionName = '<anonymous>';\n\n/**\n * Safely extract function name from itself\n */\nfunction getFunctionName(fn) {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n\nfunction node(getModule) {\n var FILENAME_MATCH = /^\\s*[-]{4,}$/;\n var FULL_MATCH = /at (?:async )?(?:(.+?)\\s+\\()?(?:(.+?):(\\d+)(?::(\\d+))?|([^)]+))\\)?/;\n\n return (line) => {\n if (line.match(FILENAME_MATCH)) {\n return {\n filename: line,\n };\n }\n\n var lineMatch = line.match(FULL_MATCH);\n if (!lineMatch) {\n return undefined;\n }\n\n let object;\n let method;\n let functionName;\n let typeName;\n let methodName;\n\n if (lineMatch[1]) {\n functionName = lineMatch[1];\n\n let methodStart = functionName.lastIndexOf('.');\n if (functionName[methodStart - 1] === '.') {\n methodStart--;\n }\n\n if (methodStart > 0) {\n object = functionName.substr(0, methodStart);\n method = functionName.substr(methodStart + 1);\n var objectEnd = object.indexOf('.Module');\n if (objectEnd > 0) {\n functionName = functionName.substr(objectEnd + 1);\n object = object.substr(0, objectEnd);\n }\n }\n typeName = undefined;\n }\n\n if (method) {\n typeName = object;\n methodName = method;\n }\n\n if (method === '<anonymous>') {\n methodName = undefined;\n functionName = undefined;\n }\n\n if (functionName === undefined) {\n methodName = methodName || '<anonymous>';\n functionName = typeName ? `${typeName}.${methodName}` : methodName;\n }\n\n var filename = _optionalChain([lineMatch, 'access', _ => _[2], 'optionalAccess', _2 => _2.startsWith, 'call', _3 => _3('file://')]) ? lineMatch[2].substr(7) : lineMatch[2];\n var isNative = lineMatch[5] === 'native';\n var isInternal =\n isNative || (filename && !filename.startsWith('/') && !filename.startsWith('.') && filename.indexOf(':\\\\') !== 1);\n\n // in_app is all that's not an internal Node function or a module within node_modules\n // note that isNative appears to return true even for node core libraries\n // see https://github.com/getsentry/raven-node/issues/176\n var in_app = !isInternal && filename !== undefined && !filename.includes('node_modules/');\n\n return {\n filename,\n module: _optionalChain([getModule, 'optionalCall', _4 => _4(filename)]),\n function: functionName,\n lineno: parseInt(lineMatch[3], 10) || undefined,\n colno: parseInt(lineMatch[4], 10) || undefined,\n in_app,\n };\n };\n}\n\n/**\n * Node.js stack line parser\n *\n * This is in @sentry/utils so it can be used from the Electron SDK in the browser for when `nodeIntegration == true`.\n * This allows it to be used without referencing or importing any node specific code which causes bundlers to complain\n */\nfunction nodeStackLineParser(getModule) {\n return [90, node(getModule)];\n}\n\nexport { createStackParser, getFunctionName, nodeStackLineParser, stackParserFromStackParserOptions, stripSentryFramesAndReverse };\n//# sourceMappingURL=stacktrace.js.map\n","import { isString, isRegExp } from './is.js';\n\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\nfunction truncate(str, max = 0) {\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : `${str.substr(0, max)}...`;\n}\n\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nfunction snipLine(line, colno) {\n let newLine = line;\n var lineLength = newLine.length;\n if (lineLength <= 150) {\n return newLine;\n }\n if (colno > lineLength) {\n colno = lineLength;\n }\n\n let start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n\n let end = Math.min(start + 140, lineLength);\n if (end > lineLength - 5) {\n end = lineLength;\n }\n if (end === lineLength) {\n start = Math.max(end - 140, 0);\n }\n\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = `'{snip} ${newLine}`;\n }\n if (end < lineLength) {\n newLine += ' {snip}';\n }\n\n return newLine;\n}\n\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\nfunction safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return '';\n }\n\n var output = [];\n for (let i = 0; i < input.length; i++) {\n var value = input[i];\n try {\n output.push(String(value));\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n\n return output.join(delimiter);\n}\n\n/**\n * Checks if the value matches a regex or includes the string\n * @param value The string value to be checked against\n * @param pattern Either a regex or a string that must be contained in value\n */\nfunction isMatchingPattern(value, pattern) {\n if (!isString(value)) {\n return false;\n }\n\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n return false;\n}\n\n/**\n * Given a string, escape characters which have meaning in the regex grammar, such that the result is safe to feed to\n * `new RegExp()`.\n *\n * Based on https://github.com/sindresorhus/escape-string-regexp. Vendored to a) reduce the size by skipping the runtime\n * type-checking, and b) ensure it gets down-compiled for old versions of Node (the published package only supports Node\n * 12+).\n *\n * @param regexString The string to escape\n * @returns An version of the string with all special regex characters escaped\n */\nfunction escapeStringForRegex(regexString) {\n // escape the hyphen separately so we can also replace it with a unicode literal hyphen, to avoid the problems\n // discussed in https://github.com/sindresorhus/escape-string-regexp/issues/20.\n return regexString.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d');\n}\n\nexport { escapeStringForRegex, isMatchingPattern, safeJoin, snipLine, truncate };\n//# sourceMappingURL=string.js.map\n","import { getGlobalObject } from './global.js';\nimport { logger } from './logger.js';\n\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsErrorEvent() {\n try {\n new ErrorEvent('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsDOMError() {\n try {\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-ignore It really needs 1 argument, not 0.\n new DOMError('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsDOMException() {\n try {\n new DOMException('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsFetch() {\n if (!('fetch' in getGlobalObject())) {\n return false;\n }\n\n try {\n new Headers();\n new Request('');\n new Response();\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\nfunction isNativeFetch(func) {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nfunction supportsNativeFetch() {\n if (!supportsFetch()) {\n return false;\n }\n\n var global = getGlobalObject();\n\n // Fast path to avoid DOM I/O\n if (isNativeFetch(global.fetch)) {\n return true;\n }\n\n // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n let result = false;\n var doc = global.document;\n if (doc && typeof (doc.createElement ) === 'function') {\n try {\n var sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n } catch (err) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n\n return result;\n}\n\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsReportingObserver() {\n return 'ReportingObserver' in getGlobalObject();\n}\n\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsReferrerPolicy() {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n\n if (!supportsFetch()) {\n return false;\n }\n\n try {\n new Request('_', {\n referrerPolicy: 'origin' ,\n });\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsHistory() {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n var global = getGlobalObject();\n var chrome = (global ).chrome;\n var isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n var hasHistoryApi = 'history' in global && !!global.history.pushState && !!global.history.replaceState;\n\n return !isChromePackagedApp && hasHistoryApi;\n}\n\nexport { isNativeFetch, supportsDOMError, supportsDOMException, supportsErrorEvent, supportsFetch, supportsHistory, supportsNativeFetch, supportsReferrerPolicy, supportsReportingObserver };\n//# sourceMappingURL=supports.js.map\n","import { isThenable } from './is.js';\n\n/** SyncPromise internal states */\nvar States; (function (States) {\n /** Pending */\n var PENDING = 0; States[States[\"PENDING\"] = PENDING] = \"PENDING\";\n /** Resolved / OK */\n var RESOLVED = 1; States[States[\"RESOLVED\"] = RESOLVED] = \"RESOLVED\";\n /** Rejected / Error */\n var REJECTED = 2; States[States[\"REJECTED\"] = REJECTED] = \"REJECTED\";\n})(States || (States = {}));\n\n// Overloads so we can call resolvedSyncPromise without arguments and generic argument\n\n/**\n * Creates a resolved sync promise.\n *\n * @param value the value to resolve the promise with\n * @returns the resolved sync promise\n */\nfunction resolvedSyncPromise(value) {\n return new SyncPromise(resolve => {\n resolve(value);\n });\n}\n\n/**\n * Creates a rejected sync promise.\n *\n * @param value the value to reject the promise with\n * @returns the rejected sync promise\n */\nfunction rejectedSyncPromise(reason) {\n return new SyncPromise((_, reject) => {\n reject(reason);\n });\n}\n\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nclass SyncPromise {\n __init() {this._state = States.PENDING;}\n __init2() {this._handlers = [];}\n \n\n constructor(\n executor,\n ) {;SyncPromise.prototype.__init.call(this);SyncPromise.prototype.__init2.call(this);SyncPromise.prototype.__init3.call(this);SyncPromise.prototype.__init4.call(this);SyncPromise.prototype.__init5.call(this);SyncPromise.prototype.__init6.call(this);\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n\n /** JSDoc */\n then(\n onfulfilled,\n onrejected,\n ) {\n return new SyncPromise((resolve, reject) => {\n this._handlers.push([\n false,\n result => {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result );\n } else {\n try {\n resolve(onfulfilled(result));\n } catch (e) {\n reject(e);\n }\n }\n },\n reason => {\n if (!onrejected) {\n reject(reason);\n } else {\n try {\n resolve(onrejected(reason));\n } catch (e) {\n reject(e);\n }\n }\n },\n ]);\n this._executeHandlers();\n });\n }\n\n /** JSDoc */\n catch(\n onrejected,\n ) {\n return this.then(val => val, onrejected);\n }\n\n /** JSDoc */\n finally(onfinally) {\n return new SyncPromise((resolve, reject) => {\n let val;\n let isRejected;\n\n return this.then(\n value => {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n },\n reason => {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n },\n ).then(() => {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve(val );\n });\n });\n }\n\n /** JSDoc */\n __init3() {this._resolve = (value) => {\n this._setResult(States.RESOLVED, value);\n };}\n\n /** JSDoc */\n __init4() {this._reject = (reason) => {\n this._setResult(States.REJECTED, reason);\n };}\n\n /** JSDoc */\n __init5() {this._setResult = (state, value) => {\n if (this._state !== States.PENDING) {\n return;\n }\n\n if (isThenable(value)) {\n void (value ).then(this._resolve, this._reject);\n return;\n }\n\n this._state = state;\n this._value = value;\n\n this._executeHandlers();\n };}\n\n /** JSDoc */\n __init6() {this._executeHandlers = () => {\n if (this._state === States.PENDING) {\n return;\n }\n\n var cachedHandlers = this._handlers.slice();\n this._handlers = [];\n\n cachedHandlers.forEach(handler => {\n if (handler[0]) {\n return;\n }\n\n if (this._state === States.RESOLVED) {\n handler[1](this._value );\n }\n\n if (this._state === States.REJECTED) {\n handler[2](this._value);\n }\n\n handler[0] = true;\n });\n };}\n}\n\nexport { SyncPromise, rejectedSyncPromise, resolvedSyncPromise };\n//# sourceMappingURL=syncpromise.js.map\n","import { getGlobalObject } from './global.js';\nimport { dynamicRequire, isNodeEnv } from './node.js';\n\n/**\n * An object that can return the current timestamp in seconds since the UNIX epoch.\n */\n\n/**\n * A TimestampSource implementation for environments that do not support the Performance Web API natively.\n *\n * Note that this TimestampSource does not use a monotonic clock. A call to `nowSeconds` may return a timestamp earlier\n * than a previously returned value. We do not try to emulate a monotonic behavior in order to facilitate debugging. It\n * is more obvious to explain \"why does my span have negative duration\" than \"why my spans have zero duration\".\n */\nvar dateTimestampSource = {\n nowSeconds: () => Date.now() / 1000,\n};\n\n/**\n * A partial definition of the [Performance Web API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Performance}\n * for accessing a high-resolution monotonic clock.\n */\n\n/**\n * Returns a wrapper around the native Performance API browser implementation, or undefined for browsers that do not\n * support the API.\n *\n * Wrapping the native API works around differences in behavior from different browsers.\n */\nfunction getBrowserPerformance() {\n const { performance } = getGlobalObject();\n if (!performance || !performance.now) {\n return undefined;\n }\n\n // Replace performance.timeOrigin with our own timeOrigin based on Date.now().\n //\n // This is a partial workaround for browsers reporting performance.timeOrigin such that performance.timeOrigin +\n // performance.now() gives a date arbitrarily in the past.\n //\n // Additionally, computing timeOrigin in this way fills the gap for browsers where performance.timeOrigin is\n // undefined.\n //\n // The assumption that performance.timeOrigin + performance.now() ~= Date.now() is flawed, but we depend on it to\n // interact with data coming out of performance entries.\n //\n // Note that despite recommendations against it in the spec, browsers implement the Performance API with a clock that\n // might stop when the computer is asleep (and perhaps under other circumstances). Such behavior causes\n // performance.timeOrigin + performance.now() to have an arbitrary skew over Date.now(). In laptop computers, we have\n // observed skews that can be as long as days, weeks or months.\n //\n // See https://github.com/getsentry/sentry-javascript/issues/2590.\n //\n // BUG: despite our best intentions, this workaround has its limitations. It mostly addresses timings of pageload\n // transactions, but ignores the skew built up over time that can aversely affect timestamps of navigation\n // transactions of long-lived web pages.\n var timeOrigin = Date.now() - performance.now();\n\n return {\n now: () => performance.now(),\n timeOrigin,\n };\n}\n\n/**\n * Returns the native Performance API implementation from Node.js. Returns undefined in old Node.js versions that don't\n * implement the API.\n */\nfunction getNodePerformance() {\n try {\n var perfHooks = dynamicRequire(module, 'perf_hooks') ;\n return perfHooks.performance;\n } catch (_) {\n return undefined;\n }\n}\n\n/**\n * The Performance API implementation for the current platform, if available.\n */\nvar platformPerformance = isNodeEnv() ? getNodePerformance() : getBrowserPerformance();\n\nvar timestampSource =\n platformPerformance === undefined\n ? dateTimestampSource\n : {\n nowSeconds: () => (platformPerformance.timeOrigin + platformPerformance.now()) / 1000,\n };\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using the Date API.\n */\nvar dateTimestampInSeconds = dateTimestampSource.nowSeconds.bind(dateTimestampSource);\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using either the Performance or Date APIs, depending on the\n * availability of the Performance API.\n *\n * See `usingPerformanceAPI` to test whether the Performance API is used.\n *\n * BUG: Note that because of how browsers implement the Performance API, the clock might stop when the computer is\n * asleep. This creates a skew between `dateTimestampInSeconds` and `timestampInSeconds`. The\n * skew can grow to arbitrary amounts like days, weeks or months.\n * See https://github.com/getsentry/sentry-javascript/issues/2590.\n */\nvar timestampInSeconds = timestampSource.nowSeconds.bind(timestampSource);\n\n// Re-exported with an old name for backwards-compatibility.\nvar timestampWithMs = timestampInSeconds;\n\n/**\n * A boolean that is true when timestampInSeconds uses the Performance API to produce monotonic timestamps.\n */\nvar usingPerformanceAPI = platformPerformance !== undefined;\n\n/**\n * Internal helper to store what is the source of browserPerformanceTimeOrigin below. For debugging only.\n */\nlet _browserPerformanceTimeOriginMode;\n\n/**\n * The number of milliseconds since the UNIX epoch. This value is only usable in a browser, and only when the\n * performance API is available.\n */\nvar browserPerformanceTimeOrigin = (() => {\n // Unfortunately browsers may report an inaccurate time origin data, through either performance.timeOrigin or\n // performance.timing.navigationStart, which results in poor results in performance data. We only treat time origin\n // data as reliable if they are within a reasonable threshold of the current time.\n\n const { performance } = getGlobalObject();\n if (!performance || !performance.now) {\n _browserPerformanceTimeOriginMode = 'none';\n return undefined;\n }\n\n var threshold = 3600 * 1000;\n var performanceNow = performance.now();\n var dateNow = Date.now();\n\n // if timeOrigin isn't available set delta to threshold so it isn't used\n var timeOriginDelta = performance.timeOrigin\n ? Math.abs(performance.timeOrigin + performanceNow - dateNow)\n : threshold;\n var timeOriginIsReliable = timeOriginDelta < threshold;\n\n // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n // Also as of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always\n // a valid fallback. In the absence of an initial time provided by the browser, fallback to the current time from the\n // Date API.\n var navigationStart = performance.timing && performance.timing.navigationStart;\n var hasNavigationStart = typeof navigationStart === 'number';\n // if navigationStart isn't available set delta to threshold so it isn't used\n var navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold;\n var navigationStartIsReliable = navigationStartDelta < threshold;\n\n if (timeOriginIsReliable || navigationStartIsReliable) {\n // Use the more reliable time origin\n if (timeOriginDelta <= navigationStartDelta) {\n _browserPerformanceTimeOriginMode = 'timeOrigin';\n return performance.timeOrigin;\n } else {\n _browserPerformanceTimeOriginMode = 'navigationStart';\n return navigationStart;\n }\n }\n\n // Either both timeOrigin and navigationStart are skewed or neither is available, fallback to Date.\n _browserPerformanceTimeOriginMode = 'dateNow';\n return dateNow;\n})();\n\nexport { _browserPerformanceTimeOriginMode, browserPerformanceTimeOrigin, dateTimestampInSeconds, timestampInSeconds, timestampWithMs, usingPerformanceAPI };\n//# sourceMappingURL=time.js.map\n","module.exports = window[\"wp\"][\"apiFetch\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.hmd = function(module) {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: function() {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import * as Sentry from '@sentry/browser';\nimport apiFetch from '@wordpress/api-fetch';\n\nconst shouldActivateSentry = window.A8C_ETK_ErrorReporting_Config?.shouldActivateSentry === 'true';\n/**\n * Errors that happened before this script had a chance to load\n * are captured in a global array. See `./index.php`.\n */\nconst headErrors = window._jsErr || [];\nconst headErrorHandler = window._headJsErrorHandler;\n\nfunction activateSentry() {\n\tSentry.init( {\n\t\tdsn: 'https://658ae291b00242148af6b76494d4a49a@o248881.ingest.sentry.io/5876245',\n\t\t// Set tracesSampleRate to 1.0 to capture 100%\n\t\t// of transactions for performance monitoring.\n\t\t// We recommend adjusting this value in production\n\t\trelease: 'wpcom-test-01',\n\t} );\n\n\t// We still need to report the head errors, if any.\n\theadErrors.forEach( ( error ) => Sentry.captureException( error ) );\n\tSentry.flush().then( () => delete window._jsErr );\n}\n\n// Activate the home-brew error-reporting\nfunction activateHomebrewErrorReporting() {\n\tconst reportError = ( { error } ) => {\n\t\t// Sanitized error event objects do not include a nested error attribute. In\n\t\t// that case, we return early to prevent a needless TypeError when defining\n\t\t// `data`, below. Also, sanitized errors don't include any useful information,\n\t\t// so the sensible thing to do is to completely ignore them.\n\t\tif ( ! error ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst data = {\n\t\t\tmessage: error.message,\n\t\t\ttrace: error.stack,\n\t\t\turl: document.location.href,\n\t\t\tfeature: 'wp-admin',\n\t\t};\n\n\t\treturn (\n\t\t\tapiFetch( {\n\t\t\t\tglobal: true,\n\t\t\t\tpath: '/rest/v1.1/js-error',\n\t\t\t\tmethod: 'POST',\n\t\t\t\tdata: { error: JSON.stringify( data ) },\n\t\t\t} )\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t.catch( () => console.error( 'Error: Unable to record the error in Logstash.' ) )\n\t\t);\n\t};\n\n\twindow.addEventListener( 'error', reportError );\n\n\t// We still need to report the head errors, if any.\n\tPromise.allSettled( headErrors.map( reportError ) ).then( () => delete window._jsErr );\n}\n\nif ( shouldActivateSentry ) {\n\tactivateSentry();\n} else {\n\tactivateHomebrewErrorReporting();\n}\n\n// Remove the head handler as it's not needed anymore after we set the main one above (either Sentry or homebrew)\nwindow.removeEventListener( 'error', headErrorHandler );\ndelete window._headJsErrorHandler;\n"],"names":["globalObject","BrowserClient","constructor","options","_metadata","sdk","name","packages","version","super","sendClientReports","document","addEventListener","visibilityState","this","_flushOutcomes","eventFromException","exception","hint","_options","stackParser","attachStacktrace","eventFromMessage","message","level","sendEvent","event","breadcrumbIntegration","getIntegrationById","sentry","addBreadcrumb","category","type","event_id","_prepareEvent","scope","platform","outcomes","_clearOutcomes","length","_dsn","__SENTRY_DEBUG__","log","url","tunnel","envelope","e","exceptionFromError","ex","frames","parseStackFrames","value","extractMessage","stacktrace","undefined","eventFromError","values","stack","popSize","framesToPop","reactMinifiedRegexp","test","getPopSize","error","eventFromUnknownInput","syntheticException","eventFromString","isUnhandledRejection","domException","tags","code","extra","__serialized__","eventFromPlainObject","synthetic","input","ignoreOnError","shouldIgnoreOnError","ignoreNextOnError","setTimeout","wrap","fn","before","wrapper","__sentry_wrapped__","sentryWrapped","args","Array","prototype","slice","call","arguments","apply","wrappedArguments","map","arg","addEventProcessor","mechanism","property","Object","hasOwnProperty","_oO","getOwnPropertyDescriptor","configurable","defineProperty","get","BREADCRUMB_INTEGRATION_ID","Breadcrumbs","static","id","__init","console","dom","fetch","history","xhr","setupOnce","_consoleBreadcrumb","_innerDomBreadcrumb","handlerData","target","keyAttrs","serializeAttribute","global","_domBreadcrumb","_xhrBreadcrumb","_fetchBreadcrumb","_historyBreadcrumb","breadcrumb","data","logger","endTimestamp","__sentry_own_request__","method","status_code","body","__sentry_xhr__","fetchData","match","response","status","from","to","parsedLoc","location","href","parsedFrom","parsedTo","path","protocol","host","relative","__initStatic","Dedupe","addGlobalEventProcessor","getCurrentHub","eventProcessor","currentEvent","self","getIntegration","previousEvent","currentMessage","previousMessage","_isSameFingerprint","_isSameStacktrace","_isSameMessageEvent","previousException","_getExceptionFromEvent","currentException","_isSameExceptionEvent","_shouldDropEvent","_previousEvent","currentFrames","_getFramesFromEvent","previousFrames","i","frameA","frameB","filename","lineno","colno","function","currentFingerprint","fingerprint","previousFingerprint","join","GlobalHandlers","__init2","_installFunc","onerror","_installGlobalOnErrorHandler","onunhandledrejection","_installGlobalOnUnhandledRejectionHandler","Error","stackTraceLimit","key","installFunc","hub","getHubAndOptions","msg","line","column","ERROR_TYPES_RE","groups","_enhanceEventWithInitialFrame","_eventFromIncompleteOnError","addMechanismAndCapture","reason","detail","String","ev","ev0","ev0s","ev0sf","isNaN","parseInt","push","in_app","handled","captureEvent","originalException","client","getClient","getOptions","HttpContext","navigator","request","referrer","userAgent","headers","Referer","LinkedErrors","_key","_limit","limit","parser","linkedErrors","_walkErrorTree","_handler","DEFAULT_EVENT_TARGET","TryCatch","XMLHttpRequest","eventTarget","requestAnimationFrame","setInterval","_wrapTimeFunction","_wrapRAF","_wrapXHR","eventTargetOption","isArray","forEach","_wrapEventTarget","original","originalCallback","callback","handler","originalSend","prop","wrapOptions","originalFunction","proto","eventName","handleEvent","err","originalRemoveEventListener","wrappedEventHandler","originalEventHandler","defaultIntegrations","init","release","window","SENTRY_RELEASE","autoSessionTracking","clientOptions","integrations","transport","captureSession","startSessionOnHub","startSessionTracking","flush","timeout","startSession","ignoreDuration","UNKNOWN_FUNCTION","createFrame","func","frame","chromeRegex","chromeEvalRegex","geckoREgex","geckoEvalRegex","winjsRegex","defaultStackLineParsers","parts","exec","indexOf","subMatch","extractSafariExtensionDetails","defaultStackParser","isSafariExtension","isSafariWebExtension","split","makeFetchTransport","nativeFetch","requestOptions","referrerPolicy","fetchOptions","then","statusCode","cachedFetchImpl","getNativeFetchImplementation","bind","fetchImpl","createElement","sandbox","hidden","head","appendChild","contentWindow","removeChild","sendReport","toString","sendBeacon","credentials","keepalive","makeXHRTransport","resolve","reject","header","onreadystatechange","readyState","getResponseHeader","open","setRequestHeader","send","getBaseApiEndpoint","dsn","port","getEnvelopeEndpointWithUrlEncodedAuth","projectId","_getIngestEndpoint","sentry_key","publicKey","sentry_version","_encodedAuth","ALREADY_SEEN_ERROR","BaseClient","_integrations","_integrationsInitialized","__init3","_numProcessing","__init4","_outcomes","_transport","recordDroppedEvent","transportOptions","captureException","eventId","_process","_captureEvent","result","captureMessage","promisedEvent","session","_isEnabled","sendSession","getDsn","getTransport","_isClientDoneProcessing","clientFinished","transportFlushed","close","enabled","setupIntegrations","integrationId","integration","env","attachment","attachments","textEncoder","_sendEnvelope","_updateSessionFromEvent","crashed","errored","exceptions","sessionNonTerminal","errors","Number","ticked","interval","clearInterval","normalizeDepth","normalizeMaxBreadth","prepared","timestamp","_applyClientOptions","_applyIntegrationsMetadata","finalScope","captureContext","update","getAttachments","applyToEvent","evt","_normalizeEvent","depth","maxBreadth","normalized","breadcrumbs","b","user","contexts","trace","spans","span","environment","dist","maxValueLength","integrationsArray","keys","_processEvent","finalEvent","beforeSend","sampleRate","isTransaction","Math","random","__sentry__","rv","nullErr","_ensureBeforeSendRv","processedEvent","getSession","promise","quantity","getSdkMetadataForEnvelopeHeader","metadata","createSessionEnvelope","sdkInfo","envelopeHeaders","sent_at","Date","toISOString","envelopeItem","createEventEnvelope","eventType","transactionSampling","sdkProcessingMetadata","samplingMethod","rate","enhanceEventWithSdkInfo","baggage","dynamicSamplingContext","createEventEnvelopeHeaders","eventItem","sample_rates","installedIntegrations","filterDuplicates","reduce","acc","every","accIntegration","getIntegrationsToSetup","userIntegrations","filter","userIntegration","integrationsNames","alwaysLastToRun","splice","integrationIndex","originalFunctionToString","FunctionToString","Function","context","DEFAULT_IGNORE_ERRORS","InboundFilters","eventProcess","internalOptions","allowUrls","denyUrls","ignoreErrors","ignoreInternal","_mergeOptions","_isSentryError","oO","_getPossibleEventMessages","some","pattern","_isIgnoredError","_getEventFilterUrl","_isDeniedUrl","_isAllowedUrl","_getLastValidUrl","initAndBind","clientClass","debug","warn","getScope","initialScope","bindClient","createTransport","makeRequest","buffer","bufferSize","rateLimits","filteredEnvelopeItems","item","envelopeItemDataCategory","filteredEnvelope","recordEnvelopeLoss","_","add","drain","SDK_VERSION","withScope","DEFAULT_BREADCRUMBS","Hub","_stack","_version","getStackTop","isOlderThan","pushScope","getStack","popScope","pop","_lastEventId","_withClient","lastEventId","beforeBreadcrumb","maxBreadcrumbs","mergedBreadcrumb","finalBreadcrumb","setUser","setTags","setExtras","extras","setTag","setExtra","setContext","configureScope","run","oldHub","makeMain","startTransaction","customSamplingContext","_callExtensionMethod","traceHeaders","endSession","_sendSessionUpdate","layer","setSession","getUser","currentSession","getMainCarrier","__SENTRY__","extensions","carrier","registry","getHubFromCarrier","setHubOnCarrier","hasHubOnCarrier","activeDomain","domain","active","registryHubTopStack","_Oo","getHubFromActiveDomain","Scope","_notifyingListeners","_scopeListeners","_eventProcessors","_breadcrumbs","_attachments","_user","_tags","_extra","_contexts","_sdkProcessingMetadata","newScope","_level","_span","_session","_transactionName","_fingerprint","_requestSession","addScopeListener","_notifyScopeListeners","getRequestSession","setRequestSession","requestSession","setFingerprint","setLevel","setTransactionName","setSpan","getSpan","getTransaction","transaction","updatedScope","clear","maxCrumbs","min","clearBreadcrumbs","addAttachment","clearAttachments","getTraceContext","transactionName","_applyFingerprint","_notifyEventProcessors","getGlobalEventProcessors","setSDKProcessingMetadata","newData","processors","index","processor","final","concat","makeSession","startingTime","sid","started","duration","toJSON","did","attrs","ip_address","ipAddress","user_agent","sessionToJSON","updateSession","email","username","closeSession","getSentryBaggageItems","htmlTreeAsString","elem","currentElem","out","height","len","sepLength","nextStr","_htmlElementAsString","parentNode","reverse","el","className","classes","attr","tagName","toLowerCase","keyAttrPairs","keyAttr","getAttribute","keyAttrPair","allowedAttrs","getLocationHref","createClientReportEnvelope","discarded_events","clientReportItem","DSN_REGEX","dsnToString","withPassword","pass","dsnFromString","str","lastPath","projectMatch","dsnFromComponents","components","makeDsn","component","isValidProtocol","validateDsn","isBrowserBundle","__SENTRY_BROWSER_BUNDLE__","createEnvelope","items","addItemToEnvelope","newItem","forEachEnvelopeItem","envelopeItemType","encodeUTF8","TextEncoder","encode","serializeEnvelope","envHeaders","JSON","stringify","append","next","itemHeaders","payload","Uint8Array","buffers","totalLength","buf","merged","offset","set","concatBuffers","createAttachmentEnvelopeItem","content_type","contentType","attachment_type","attachmentType","ITEM_TYPE_TO_DATA_CATEGORY_MAP","sessions","client_report","user_report","envelopeItemTypeToDataCategory","SentryError","setPrototypeOf","fallbackGlobalObject","getGlobalObject","getGlobalSingleton","creator","obj","handlers","instrumented","instrument","originalConsoleMethod","triggerHandlers","instrumentConsole","triggerDOMHandler","globalDOMEventHandler","makeDOMEventHandler","originalAddEventListener","listener","__sentry_instrumentation_handlers__","handlerForType","refCount","instrumentDOM","xhrproto","originalOpen","xhrInfo","toUpperCase","onreadystatechangeHandler","now","startTimestamp","readyStateArgs","instrumentXHR","originalFetch","getFetchMethod","getFetchUrl","instrumentFetch","oldOnPopState","onpopstate","historyReplacementFunction","originalHistoryFunction","lastHref","instrumentHistory","_oldOnErrorHandler","_oldOnUnhandledRejectionHandler","addInstrumentationHandler","fetchArgs","Request","debounceTimerID","lastCapturedEvent","globalListener","isContentEditable","shouldSkipDOMEvent","previous","current","shouldShortcircuitPreviousDebounce","clearTimeout","objectToString","isError","wat","isInstanceOf","isBuiltin","ty","isErrorEvent","isDOMError","isDOMException","isString","isPrimitive","isPlainObject","isEvent","Event","isElement","Element","isRegExp","isThenable","Boolean","isSyntheticEvent","base","_e","CONSOLE_LEVELS","consoleSandbox","originalConsole","wrappedLevels","originalWrappedFunc","__sentry_original__","makeLogger","enable","disable","memoBuilder","hasWeakSet","WeakSet","inner","has","delete","uuid4","crypto","msCrypto","getRandomValues","arr","Uint16Array","pad","num","v","replace","c","r","parseUrl","query","fragment","getFirstException","getEventDescription","firstException","addExceptionTypeValue","addExceptionMechanism","newMechanism","currentMechanism","mergedData","checkOrSetAlreadyCaught","__sentry_captured__","isNodeEnv","process","dynamicRequire","mod","require","normalize","Infinity","maxProperties","visit","ERROR","normalizeToSize","object","maxSize","encodeURI","utf8Length","memo","memoize","unmemoize","valueWithToJSON","includes","stringified","_events","getPrototypeOf","stringifyValue","startsWith","numAdded","visitable","visitKey","visitValue","fill","source","replacementFactory","wrapped","markFunctionWrapped","addNonEnumerableProperty","writable","getOriginalFunction","urlEncode","encodeURIComponent","convertToPlainObject","getOwnProperties","newObj","serializeEventTarget","currentTarget","CustomEvent","extractedProps","extractExceptionKeysForMessage","maxLength","sort","includedKeys","serialized","dropUndefinedKeys","inputValue","_dropUndefinedKeys","Map","memoizationMap","memoVal","returnValue","makePromiseBuffer","remove","task","$","taskProducer","counter","capturedSetTimeout","isRateLimited","limits","all","disabledUntil","updateRateLimits","updatedRateLimits","rateLimitHeader","retryAfterHeader","trim","retryAfter","categories","headerDelay","delay","headerDate","parse","parseRetryAfterHeader","validSeverityLevels","severityLevelFromString","createStackParser","parsers","sortedParsers","a","p","skipFirst","localStack","firstFrameFunction","lastFrameFunction","stripSentryFramesAndReverse","stackParserFromStackParserOptions","defaultFunctionName","getFunctionName","truncate","max","substr","safeJoin","delimiter","output","isMatchingPattern","supportsFetch","Headers","Response","isNativeFetch","supportsNativeFetch","doc","supportsHistory","chrome","isChromePackagedApp","app","runtime","hasHistoryApi","pushState","replaceState","States","resolvedSyncPromise","SyncPromise","rejectedSyncPromise","_state","PENDING","_handlers","executor","__init5","__init6","_resolve","_reject","onfulfilled","onrejected","_executeHandlers","catch","val","finally","onfinally","isRejected","_setResult","RESOLVED","REJECTED","state","_value","cachedHandlers","dateTimestampSource","nowSeconds","platformPerformance","module","performance","getNodePerformance","timeOrigin","getBrowserPerformance","timestampSource","dateTimestampInSeconds","timestampInSeconds","_browserPerformanceTimeOriginMode","threshold","performanceNow","dateNow","timeOriginDelta","abs","timeOriginIsReliable","navigationStart","timing","navigationStartDelta","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","n","getter","__esModule","d","definition","o","enumerable","hmd","create","children","Symbol","toStringTag","shouldActivateSentry","A8C_ETK_ErrorReporting_Config","headErrors","_jsErr","headErrorHandler","_headJsErrorHandler","Sentry","reportError","feature","apiFetch","Promise","allSettled","activateHomebrewErrorReporting","removeEventListener"],"sourceRoot":""}
|
1 |
+
{"version":3,"file":"error-reporting.min.js","mappings":"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","sources":["webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/client.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/eventbuilder.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/helpers.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/integrations/breadcrumbs.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/integrations/dedupe.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/integrations/globalhandlers.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/integrations/httpcontext.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/integrations/linkederrors.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/integrations/trycatch.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/sdk.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/stack-parsers.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/transports/fetch.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/transports/utils.js","webpack://EditingToolkit/../../node_modules/@sentry/browser/esm/transports/xhr.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/api.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/baseclient.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/envelope.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/integration.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/integrations/functiontostring.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/integrations/inboundfilters.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/sdk.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/transports/base.js","webpack://EditingToolkit/../../node_modules/@sentry/core/esm/version.js","webpack://EditingToolkit/../../node_modules/@sentry/hub/esm/exports.js","webpack://EditingToolkit/../../node_modules/@sentry/hub/esm/hub.js","webpack://EditingToolkit/../../node_modules/@sentry/hub/esm/scope.js","webpack://EditingToolkit/../../node_modules/@sentry/hub/esm/session.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/baggage.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/browser.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/clientreport.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/dsn.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/env.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/envelope.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/error.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/global.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/instrument.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/is.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/logger.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/memo.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/misc.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/node.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/normalize.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/object.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/promisebuffer.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/ratelimit.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/severity.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/stacktrace.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/string.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/supports.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/syncpromise.js","webpack://EditingToolkit/../../node_modules/@sentry/utils/esm/time.js","webpack://EditingToolkit/external window [\"wp\",\"apiFetch\"]","webpack://EditingToolkit/webpack/bootstrap","webpack://EditingToolkit/webpack/runtime/compat get default export","webpack://EditingToolkit/webpack/runtime/define property getters","webpack://EditingToolkit/webpack/runtime/harmony module decorator","webpack://EditingToolkit/webpack/runtime/hasOwnProperty shorthand","webpack://EditingToolkit/webpack/runtime/make namespace object","webpack://EditingToolkit/./editing-toolkit-plugin/error-reporting/index.js"],"sourcesContent":["import { BaseClient, SDK_VERSION, getCurrentHub, getEnvelopeEndpointWithUrlEncodedAuth } from '@sentry/core';\nimport { getGlobalObject, getEventDescription, logger, createClientReportEnvelope, dsnToString, serializeEnvelope } from '@sentry/utils';\nimport { eventFromException, eventFromMessage } from './eventbuilder.js';\nimport { BREADCRUMB_INTEGRATION_ID } from './integrations/breadcrumbs.js';\nimport { sendReport } from './transports/utils.js';\n\nvar globalObject = getGlobalObject();\n\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nclass BrowserClient extends BaseClient {\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n constructor(options) {\n options._metadata = options._metadata || {};\n options._metadata.sdk = options._metadata.sdk || {\n name: 'sentry.javascript.browser',\n packages: [\n {\n name: 'npm:@sentry/browser',\n version: SDK_VERSION,\n },\n ],\n version: SDK_VERSION,\n };\n\n super(options);\n\n if (options.sendClientReports && globalObject.document) {\n globalObject.document.addEventListener('visibilitychange', () => {\n if (globalObject.document.visibilityState === 'hidden') {\n this._flushOutcomes();\n }\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n eventFromException(exception, hint) {\n return eventFromException(this._options.stackParser, exception, hint, this._options.attachStacktrace);\n }\n\n /**\n * @inheritDoc\n */\n eventFromMessage(\n message,\n level = 'info',\n hint,\n ) {\n return eventFromMessage(this._options.stackParser, message, level, hint, this._options.attachStacktrace);\n }\n\n /**\n * @inheritDoc\n */\n sendEvent(event, hint) {\n // We only want to add the sentry event breadcrumb when the user has the breadcrumb integration installed and\n // activated its `sentry` option.\n // We also do not want to use the `Breadcrumbs` class here directly, because we do not want it to be included in\n // bundles, if it is not used by the SDK.\n // This all sadly is a bit ugly, but we currently don't have a \"pre-send\" hook on the integrations so we do it this\n // way for now.\n var breadcrumbIntegration = this.getIntegrationById(BREADCRUMB_INTEGRATION_ID) ;\n if (\n breadcrumbIntegration &&\n // We check for definedness of `options`, even though it is not strictly necessary, because that access to\n // `.sentry` below does not throw, in case users provided their own integration with id \"Breadcrumbs\" that does\n // not have an`options` field\n breadcrumbIntegration.options &&\n breadcrumbIntegration.options.sentry\n ) {\n getCurrentHub().addBreadcrumb(\n {\n category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event),\n },\n {\n event,\n },\n );\n }\n\n super.sendEvent(event, hint);\n }\n\n /**\n * @inheritDoc\n */\n _prepareEvent(event, hint, scope) {\n event.platform = event.platform || 'javascript';\n return super._prepareEvent(event, hint, scope);\n }\n\n /**\n * Sends client reports as an envelope.\n */\n _flushOutcomes() {\n var outcomes = this._clearOutcomes();\n\n if (outcomes.length === 0) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('No outcomes to send');\n return;\n }\n\n if (!this._dsn) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('No dsn provided, will not send outcomes');\n return;\n }\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('Sending outcomes:', outcomes);\n\n var url = getEnvelopeEndpointWithUrlEncodedAuth(this._dsn, this._options.tunnel);\n var envelope = createClientReportEnvelope(outcomes, this._options.tunnel && dsnToString(this._dsn));\n\n try {\n sendReport(url, serializeEnvelope(envelope));\n } catch (e) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(e);\n }\n }\n}\n\nexport { BrowserClient };\n//# sourceMappingURL=client.js.map\n","import { isEvent, extractExceptionKeysForMessage, normalizeToSize, addExceptionMechanism, resolvedSyncPromise, isErrorEvent, isDOMError, isDOMException, addExceptionTypeValue, isError, isPlainObject } from '@sentry/utils';\n\n/**\n * This function creates an exception from a JavaScript Error\n */\nfunction exceptionFromError(stackParser, ex) {\n // Get the frames first since Opera can lose the stack if we touch anything else first\n var frames = parseStackFrames(stackParser, ex);\n\n var exception = {\n type: ex && ex.name,\n value: extractMessage(ex),\n };\n\n if (frames.length) {\n exception.stacktrace = { frames };\n }\n\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n\n return exception;\n}\n\n/**\n * @hidden\n */\nfunction eventFromPlainObject(\n stackParser,\n exception,\n syntheticException,\n isUnhandledRejection,\n) {\n var event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? 'UnhandledRejection' : 'Error',\n value: `Non-Error ${\n isUnhandledRejection ? 'promise rejection' : 'exception'\n } captured with keys: ${extractExceptionKeysForMessage(exception)}`,\n },\n ],\n },\n extra: {\n __serialized__: normalizeToSize(exception),\n },\n };\n\n if (syntheticException) {\n var frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n // event.exception.values[0] has been set above\n (event.exception ).values[0].stacktrace = { frames };\n }\n }\n\n return event;\n}\n\n/**\n * @hidden\n */\nfunction eventFromError(stackParser, ex) {\n return {\n exception: {\n values: [exceptionFromError(stackParser, ex)],\n },\n };\n}\n\n/** Parses stack frames from an error */\nfunction parseStackFrames(\n stackParser,\n ex,\n) {\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n var stacktrace = ex.stacktrace || ex.stack || '';\n\n var popSize = getPopSize(ex);\n\n try {\n return stackParser(stacktrace, popSize);\n } catch (e) {\n // no-empty\n }\n\n return [];\n}\n\n// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\nvar reactMinifiedRegexp = /Minified React error #\\d+;/i;\n\nfunction getPopSize(ex) {\n if (ex) {\n if (typeof ex.framesToPop === 'number') {\n return ex.framesToPop;\n }\n\n if (reactMinifiedRegexp.test(ex.message)) {\n return 1;\n }\n }\n\n return 0;\n}\n\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nfunction extractMessage(ex) {\n var message = ex && ex.message;\n if (!message) {\n return 'No error message';\n }\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n return message;\n}\n\n/**\n * Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`.\n * @hidden\n */\nfunction eventFromException(\n stackParser,\n exception,\n hint,\n attachStacktrace,\n) {\n var syntheticException = (hint && hint.syntheticException) || undefined;\n var event = eventFromUnknownInput(stackParser, exception, syntheticException, attachStacktrace);\n addExceptionMechanism(event); // defaults to { type: 'generic', handled: true }\n event.level = 'error';\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * Builds and Event from a Message\n * @hidden\n */\nfunction eventFromMessage(\n stackParser,\n message,\n level = 'info',\n hint,\n attachStacktrace,\n) {\n var syntheticException = (hint && hint.syntheticException) || undefined;\n var event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * @hidden\n */\nfunction eventFromUnknownInput(\n stackParser,\n exception,\n syntheticException,\n attachStacktrace,\n isUnhandledRejection,\n) {\n let event;\n\n if (isErrorEvent(exception ) && (exception ).error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n var errorEvent = exception ;\n return eventFromError(stackParser, errorEvent.error );\n }\n\n // If it is a `DOMError` (which is a legacy API, but still supported in some browsers) then we just extract the name\n // and message, as it doesn't provide anything else. According to the spec, all `DOMExceptions` should also be\n // `Error`s, but that's not the case in IE11, so in that case we treat it the same as we do a `DOMError`.\n //\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n // https://webidl.spec.whatwg.org/#es-DOMException-specialness\n if (isDOMError(exception ) || isDOMException(exception )) {\n var domException = exception ;\n\n if ('stack' in (exception )) {\n event = eventFromError(stackParser, exception );\n } else {\n var name = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n var message = domException.message ? `${name}: ${domException.message}` : name;\n event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, message);\n }\n if ('code' in domException) {\n event.tags = { ...event.tags, 'DOMException.code': `${domException.code}` };\n }\n\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n return eventFromError(stackParser, exception);\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it's a plain object or an instance of `Event` (the built-in JS kind, not this SDK's `Event` type), serialize\n // it manually. This will allow us to group events based on top-level keys which is much better than creating a new\n // group on any key/value change.\n var objectException = exception ;\n event = eventFromPlainObject(stackParser, objectException, syntheticException, isUnhandledRejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(stackParser, exception , syntheticException, attachStacktrace);\n addExceptionTypeValue(event, `${exception}`, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n\n return event;\n}\n\n/**\n * @hidden\n */\nfunction eventFromString(\n stackParser,\n input,\n syntheticException,\n attachStacktrace,\n) {\n var event = {\n message: input,\n };\n\n if (attachStacktrace && syntheticException) {\n var frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n event.exception = {\n values: [{ value: input, stacktrace: { frames } }],\n };\n }\n }\n\n return event;\n}\n\nexport { eventFromError, eventFromException, eventFromMessage, eventFromPlainObject, eventFromString, eventFromUnknownInput, exceptionFromError, parseStackFrames };\n//# sourceMappingURL=eventbuilder.js.map\n","import { withScope, captureException } from '@sentry/core';\nimport { getOriginalFunction, addExceptionTypeValue, addExceptionMechanism, markFunctionWrapped, addNonEnumerableProperty } from '@sentry/utils';\n\nlet ignoreOnError = 0;\n\n/**\n * @hidden\n */\nfunction shouldIgnoreOnError() {\n return ignoreOnError > 0;\n}\n\n/**\n * @hidden\n */\nfunction ignoreNextOnError() {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(() => {\n ignoreOnError -= 1;\n });\n}\n\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap. It is generally safe to pass an unbound function, because the returned wrapper always\n * has a correct `this` context.\n * @returns The wrapped function.\n * @hidden\n */\nfunction wrap(\n fn,\n options\n\n = {},\n before,\n ) {\n // for future readers what this does is wrap a function and then create\n // a bi-directional wrapping between them.\n //\n // example: wrapped = wrap(original);\n // original.__sentry_wrapped__ -> wrapped\n // wrapped.__sentry_original__ -> original\n\n if (typeof fn !== 'function') {\n return fn;\n }\n\n try {\n // if we're dealing with a function that was previously wrapped, return\n // the original wrapper.\n var wrapper = fn.__sentry_wrapped__;\n if (wrapper) {\n return wrapper;\n }\n\n // We don't wanna wrap it twice\n if (getOriginalFunction(fn)) {\n return fn;\n }\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n\n // It is important that `sentryWrapped` is not an arrow function to preserve the context of `this`\n var sentryWrapped = function () {\n var args = Array.prototype.slice.call(arguments);\n\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n\n var wrappedArguments = args.map((arg) => wrap(arg, options));\n\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n\n withScope((scope) => {\n scope.addEventProcessor((event) => {\n if (options.mechanism) {\n addExceptionTypeValue(event, undefined, undefined);\n addExceptionMechanism(event, options.mechanism);\n }\n\n event.extra = {\n ...event.extra,\n arguments: args,\n };\n\n return event;\n });\n\n captureException(ex);\n });\n\n throw ex;\n }\n };\n \n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (var property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch (_oO) {} \n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n markFunctionWrapped(sentryWrapped, fn);\n\n addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped);\n\n // Restore original function name (not all browsers allow that)\n try {\n var descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name') ;\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get() {\n return fn.name;\n },\n });\n }\n } catch (_oO) {}\n\n return sentryWrapped;\n}\n\n/**\n * All properties the report dialog supports\n */\n\nexport { ignoreNextOnError, shouldIgnoreOnError, wrap };\n//# sourceMappingURL=helpers.js.map\n","import { getCurrentHub } from '@sentry/core';\nimport { addInstrumentationHandler, htmlTreeAsString, severityLevelFromString, safeJoin, getGlobalObject, parseUrl } from '@sentry/utils';\n\n/** JSDoc */\n\nvar BREADCRUMB_INTEGRATION_ID = 'Breadcrumbs';\n\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\nclass Breadcrumbs {\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = BREADCRUMB_INTEGRATION_ID;}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = Breadcrumbs.id;}\n\n /**\n * Options of the breadcrumbs integration.\n */\n // This field is public, because we use it in the browser client to check if the `sentry` option is enabled.\n \n\n /**\n * @inheritDoc\n */\n constructor(options) {;Breadcrumbs.prototype.__init.call(this);\n this.options = {\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true,\n ...options,\n };\n }\n\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n setupOnce() {\n if (this.options.console) {\n addInstrumentationHandler('console', _consoleBreadcrumb);\n }\n if (this.options.dom) {\n addInstrumentationHandler('dom', _domBreadcrumb(this.options.dom));\n }\n if (this.options.xhr) {\n addInstrumentationHandler('xhr', _xhrBreadcrumb);\n }\n if (this.options.fetch) {\n addInstrumentationHandler('fetch', _fetchBreadcrumb);\n }\n if (this.options.history) {\n addInstrumentationHandler('history', _historyBreadcrumb);\n }\n }\n} Breadcrumbs.__initStatic();\n\n/**\n * A HOC that creaes a function that creates breadcrumbs from DOM API calls.\n * This is a HOC so that we get access to dom options in the closure.\n */\nfunction _domBreadcrumb(dom) {\n function _innerDomBreadcrumb(handlerData) {\n let target;\n let keyAttrs = typeof dom === 'object' ? dom.serializeAttribute : undefined;\n\n if (typeof keyAttrs === 'string') {\n keyAttrs = [keyAttrs];\n }\n\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n target = handlerData.event.target\n ? htmlTreeAsString(handlerData.event.target , keyAttrs)\n : htmlTreeAsString(handlerData.event , keyAttrs);\n } catch (e) {\n target = '<unknown>';\n }\n\n if (target.length === 0) {\n return;\n }\n\n getCurrentHub().addBreadcrumb(\n {\n category: `ui.${handlerData.name}`,\n message: target,\n },\n {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global,\n },\n );\n }\n\n return _innerDomBreadcrumb;\n}\n\n/**\n * Creates breadcrumbs from console API calls\n */\nfunction _consoleBreadcrumb(handlerData) {\n var breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: severityLevelFromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), ' ') || 'console.assert'}`;\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n\n getCurrentHub().addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n}\n\n/**\n * Creates breadcrumbs from XHR API calls\n */\nfunction _xhrBreadcrumb(handlerData) {\n if (handlerData.endTimestamp) {\n // We only capture complete, non-sentry requests\n if (handlerData.xhr.__sentry_own_request__) {\n return;\n }\n\n const { method, url, status_code, body } = handlerData.xhr.__sentry_xhr__ || {};\n\n getCurrentHub().addBreadcrumb(\n {\n category: 'xhr',\n data: {\n method,\n url,\n status_code,\n },\n type: 'http',\n },\n {\n xhr: handlerData.xhr,\n input: body,\n },\n );\n\n return;\n }\n}\n\n/**\n * Creates breadcrumbs from fetch API calls\n */\nfunction _fetchBreadcrumb(handlerData) {\n // We only capture complete fetch requests\n if (!handlerData.endTimestamp) {\n return;\n }\n\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n return;\n }\n\n if (handlerData.error) {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: handlerData.fetchData,\n level: 'error',\n type: 'http',\n },\n {\n data: handlerData.error,\n input: handlerData.args,\n },\n );\n } else {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: {\n ...handlerData.fetchData,\n status_code: handlerData.response.status,\n },\n type: 'http',\n },\n {\n input: handlerData.args,\n response: handlerData.response,\n },\n );\n }\n}\n\n/**\n * Creates breadcrumbs from history API calls\n */\nfunction _historyBreadcrumb(handlerData) {\n var global = getGlobalObject();\n let from = handlerData.from;\n let to = handlerData.to;\n var parsedLoc = parseUrl(global.location.href);\n let parsedFrom = parseUrl(from);\n var parsedTo = parseUrl(to);\n\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n\n getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from,\n to,\n },\n });\n}\n\nexport { BREADCRUMB_INTEGRATION_ID, Breadcrumbs };\n//# sourceMappingURL=breadcrumbs.js.map\n","import { logger } from '@sentry/utils';\n\n/** Deduplication filter */\nclass Dedupe {constructor() { Dedupe.prototype.__init.call(this); }\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'Dedupe';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = Dedupe.id;}\n\n /**\n * @inheritDoc\n */\n \n\n /**\n * @inheritDoc\n */\n setupOnce(addGlobalEventProcessor, getCurrentHub) {\n var eventProcessor = currentEvent => {\n var self = getCurrentHub().getIntegration(Dedupe);\n if (self) {\n // Juuust in case something goes wrong\n try {\n if (_shouldDropEvent(currentEvent, self._previousEvent)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Event dropped due to being a duplicate of previously captured event.');\n return null;\n }\n } catch (_oO) {\n return (self._previousEvent = currentEvent);\n }\n\n return (self._previousEvent = currentEvent);\n }\n return currentEvent;\n };\n\n eventProcessor.id = this.name;\n addGlobalEventProcessor(eventProcessor);\n }\n} Dedupe.__initStatic();\n\n/** JSDoc */\nfunction _shouldDropEvent(currentEvent, previousEvent) {\n if (!previousEvent) {\n return false;\n }\n\n if (_isSameMessageEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n return false;\n}\n\n/** JSDoc */\nfunction _isSameMessageEvent(currentEvent, previousEvent) {\n var currentMessage = currentEvent.message;\n var previousMessage = previousEvent.message;\n\n // If neither event has a message property, they were both exceptions, so bail out\n if (!currentMessage && !previousMessage) {\n return false;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentMessage && !previousMessage) || (!currentMessage && previousMessage)) {\n return false;\n }\n\n if (currentMessage !== previousMessage) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameExceptionEvent(currentEvent, previousEvent) {\n var previousException = _getExceptionFromEvent(previousEvent);\n var currentException = _getExceptionFromEvent(currentEvent);\n\n if (!previousException || !currentException) {\n return false;\n }\n\n if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameStacktrace(currentEvent, previousEvent) {\n let currentFrames = _getFramesFromEvent(currentEvent);\n let previousFrames = _getFramesFromEvent(previousEvent);\n\n // If neither event has a stacktrace, they are assumed to be the same\n if (!currentFrames && !previousFrames) {\n return true;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentFrames && !previousFrames) || (!currentFrames && previousFrames)) {\n return false;\n }\n\n currentFrames = currentFrames ;\n previousFrames = previousFrames ;\n\n // If number of frames differ, they are not the same\n if (previousFrames.length !== currentFrames.length) {\n return false;\n }\n\n // Otherwise, compare the two\n for (let i = 0; i < previousFrames.length; i++) {\n var frameA = previousFrames[i];\n var frameB = currentFrames[i];\n\n if (\n frameA.filename !== frameB.filename ||\n frameA.lineno !== frameB.lineno ||\n frameA.colno !== frameB.colno ||\n frameA.function !== frameB.function\n ) {\n return false;\n }\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameFingerprint(currentEvent, previousEvent) {\n let currentFingerprint = currentEvent.fingerprint;\n let previousFingerprint = previousEvent.fingerprint;\n\n // If neither event has a fingerprint, they are assumed to be the same\n if (!currentFingerprint && !previousFingerprint) {\n return true;\n }\n\n // If only one event has a fingerprint, but not the other one, they are not the same\n if ((currentFingerprint && !previousFingerprint) || (!currentFingerprint && previousFingerprint)) {\n return false;\n }\n\n currentFingerprint = currentFingerprint ;\n previousFingerprint = previousFingerprint ;\n\n // Otherwise, compare the two\n try {\n return !!(currentFingerprint.join('') === previousFingerprint.join(''));\n } catch (_oO) {\n return false;\n }\n}\n\n/** JSDoc */\nfunction _getExceptionFromEvent(event) {\n return event.exception && event.exception.values && event.exception.values[0];\n}\n\n/** JSDoc */\nfunction _getFramesFromEvent(event) {\n var exception = event.exception;\n\n if (exception) {\n try {\n // @ts-ignore Object could be undefined\n return exception.values[0].stacktrace.frames;\n } catch (_oO) {\n return undefined;\n }\n }\n return undefined;\n}\n\nexport { Dedupe };\n//# sourceMappingURL=dedupe.js.map\n","import { getCurrentHub } from '@sentry/core';\nimport { addInstrumentationHandler, isString, isPrimitive, isErrorEvent, getLocationHref, logger, addExceptionMechanism } from '@sentry/utils';\nimport { eventFromUnknownInput } from '../eventbuilder.js';\nimport { shouldIgnoreOnError } from '../helpers.js';\n\n/** Global handlers */\nclass GlobalHandlers {\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'GlobalHandlers';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = GlobalHandlers.id;}\n\n /** JSDoc */\n \n\n /**\n * Stores references functions to installing handlers. Will set to undefined\n * after they have been run so that they are not used twice.\n */\n __init2() {this._installFunc = {\n onerror: _installGlobalOnErrorHandler,\n onunhandledrejection: _installGlobalOnUnhandledRejectionHandler,\n };}\n\n /** JSDoc */\n constructor(options) {;GlobalHandlers.prototype.__init.call(this);GlobalHandlers.prototype.__init2.call(this);\n this._options = {\n onerror: true,\n onunhandledrejection: true,\n ...options,\n };\n }\n /**\n * @inheritDoc\n */\n setupOnce() {\n Error.stackTraceLimit = 50;\n var options = this._options;\n\n // We can disable guard-for-in as we construct the options object above + do checks against\n // `this._installFunc` for the property.\n for (var key in options) {\n var installFunc = this._installFunc[key ];\n if (installFunc && options[key ]) {\n globalHandlerLog(key);\n installFunc();\n this._installFunc[key ] = undefined;\n }\n }\n }\n} GlobalHandlers.__initStatic();\n\n/** JSDoc */\nfunction _installGlobalOnErrorHandler() {\n addInstrumentationHandler(\n 'error',\n (data) => {\n const [hub, stackParser, attachStacktrace] = getHubAndOptions();\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n const { msg, url, line, column, error } = data;\n if (shouldIgnoreOnError() || (error && error.__sentry_own_request__)) {\n return;\n }\n\n var event =\n error === undefined && isString(msg)\n ? _eventFromIncompleteOnError(msg, url, line, column)\n : _enhanceEventWithInitialFrame(\n eventFromUnknownInput(stackParser, error || msg, undefined, attachStacktrace, false),\n url,\n line,\n column,\n );\n\n event.level = 'error';\n\n addMechanismAndCapture(hub, error, event, 'onerror');\n },\n );\n}\n\n/** JSDoc */\nfunction _installGlobalOnUnhandledRejectionHandler() {\n addInstrumentationHandler(\n 'unhandledrejection',\n (e) => {\n const [hub, stackParser, attachStacktrace] = getHubAndOptions();\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n let error = e;\n\n // dig the object of the rejection out of known event types\n try {\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in e) {\n error = e.reason;\n }\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n else if ('detail' in e && 'reason' in e.detail) {\n error = e.detail.reason;\n }\n } catch (_oO) {\n // no-empty\n }\n\n if (shouldIgnoreOnError() || (error && error.__sentry_own_request__)) {\n return true;\n }\n\n var event = isPrimitive(error)\n ? _eventFromRejectionWithPrimitive(error)\n : eventFromUnknownInput(stackParser, error, undefined, attachStacktrace, true);\n\n event.level = 'error';\n\n addMechanismAndCapture(hub, error, event, 'onunhandledrejection');\n return;\n },\n );\n}\n\n/**\n * Create an event from a promise rejection where the `reason` is a primitive.\n *\n * @param reason: The `reason` property of the promise rejection\n * @returns An Event object with an appropriate `exception` value\n */\nfunction _eventFromRejectionWithPrimitive(reason) {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n value: `Non-Error promise rejection captured with value: ${String(reason)}`,\n },\n ],\n },\n };\n}\n\n/**\n * This function creates a stack from an old, error-less onerror handler.\n */\nfunction _eventFromIncompleteOnError(msg, url, line, column) {\n var ERROR_TYPES_RE =\n /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;\n\n // If 'message' is ErrorEvent, get real message from inside\n let message = isErrorEvent(msg) ? msg.message : msg;\n let name = 'Error';\n\n var groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n\n var event = {\n exception: {\n values: [\n {\n type: name,\n value: message,\n },\n ],\n },\n };\n\n return _enhanceEventWithInitialFrame(event, url, line, column);\n}\n\n/** JSDoc */\nfunction _enhanceEventWithInitialFrame(event, url, line, column) {\n // event.exception\n var e = (event.exception = event.exception || {});\n // event.exception.values\n var ev = (e.values = e.values || []);\n // event.exception.values[0]\n var ev0 = (ev[0] = ev[0] || {});\n // event.exception.values[0].stacktrace\n var ev0s = (ev0.stacktrace = ev0.stacktrace || {});\n // event.exception.values[0].stacktrace.frames\n var ev0sf = (ev0s.frames = ev0s.frames || []);\n\n var colno = isNaN(parseInt(column, 10)) ? undefined : column;\n var lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n var filename = isString(url) && url.length > 0 ? url : getLocationHref();\n\n // event.exception.values[0].stacktrace.frames\n if (ev0sf.length === 0) {\n ev0sf.push({\n colno,\n filename,\n function: '?',\n in_app: true,\n lineno,\n });\n }\n\n return event;\n}\n\nfunction globalHandlerLog(type) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(`Global Handler attached: ${type}`);\n}\n\nfunction addMechanismAndCapture(hub, error, event, type) {\n addExceptionMechanism(event, {\n handled: false,\n type,\n });\n hub.captureEvent(event, {\n originalException: error,\n });\n}\n\nfunction getHubAndOptions() {\n var hub = getCurrentHub();\n var client = hub.getClient();\n var options = (client && client.getOptions()) || {\n stackParser: () => [],\n attachStacktrace: false,\n };\n return [hub, options.stackParser, options.attachStacktrace];\n}\n\nexport { GlobalHandlers };\n//# sourceMappingURL=globalhandlers.js.map\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\n\nvar global = getGlobalObject();\n\n/** HttpContext integration collects information about HTTP request headers */\nclass HttpContext {constructor() { HttpContext.prototype.__init.call(this); }\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'HttpContext';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = HttpContext.id;}\n\n /**\n * @inheritDoc\n */\n setupOnce() {\n addGlobalEventProcessor((event) => {\n if (getCurrentHub().getIntegration(HttpContext)) {\n // if none of the information we want exists, don't bother\n if (!global.navigator && !global.location && !global.document) {\n return event;\n }\n\n // grab as much info as exists and add it to the event\n var url = (event.request && event.request.url) || (global.location && global.location.href);\n const { referrer } = global.document || {};\n const { userAgent } = global.navigator || {};\n\n var headers = {\n ...(event.request && event.request.headers),\n ...(referrer && { Referer: referrer }),\n ...(userAgent && { 'User-Agent': userAgent }),\n };\n var request = { ...(url && { url }), headers };\n\n return { ...event, request };\n }\n return event;\n });\n }\n} HttpContext.__initStatic();\n\nexport { HttpContext };\n//# sourceMappingURL=httpcontext.js.map\n","import { getCurrentHub, addGlobalEventProcessor } from '@sentry/core';\nimport { isInstanceOf } from '@sentry/utils';\nimport { exceptionFromError } from '../eventbuilder.js';\n\nvar DEFAULT_KEY = 'cause';\nvar DEFAULT_LIMIT = 5;\n\n/** Adds SDK info to an event. */\nclass LinkedErrors {\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'LinkedErrors';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = LinkedErrors.id;}\n\n /**\n * @inheritDoc\n */\n \n\n /**\n * @inheritDoc\n */\n \n\n /**\n * @inheritDoc\n */\n constructor(options = {}) {;LinkedErrors.prototype.__init.call(this);\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n\n /**\n * @inheritDoc\n */\n setupOnce() {\n var client = getCurrentHub().getClient();\n if (!client) {\n return;\n }\n addGlobalEventProcessor((event, hint) => {\n var self = getCurrentHub().getIntegration(LinkedErrors);\n return self ? _handler(client.getOptions().stackParser, self._key, self._limit, event, hint) : event;\n });\n }\n} LinkedErrors.__initStatic();\n\n/**\n * @inheritDoc\n */\nfunction _handler(\n parser,\n key,\n limit,\n event,\n hint,\n) {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return event;\n }\n var linkedErrors = _walkErrorTree(parser, limit, hint.originalException , key);\n event.exception.values = [...linkedErrors, ...event.exception.values];\n return event;\n}\n\n/**\n * JSDOC\n */\nfunction _walkErrorTree(\n parser,\n limit,\n error,\n key,\n stack = [],\n) {\n if (!isInstanceOf(error[key], Error) || stack.length + 1 >= limit) {\n return stack;\n }\n var exception = exceptionFromError(parser, error[key]);\n return _walkErrorTree(parser, limit, error[key], key, [exception, ...stack]);\n}\n\nexport { LinkedErrors, _handler, _walkErrorTree };\n//# sourceMappingURL=linkederrors.js.map\n","import { getGlobalObject, fill, getFunctionName, getOriginalFunction } from '@sentry/utils';\nimport { wrap } from '../helpers.js';\n\nvar DEFAULT_EVENT_TARGET = [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n];\n\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nclass TryCatch {\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'TryCatch';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = TryCatch.id;}\n\n /** JSDoc */\n \n\n /**\n * @inheritDoc\n */\n constructor(options) {;TryCatch.prototype.__init.call(this);\n this._options = {\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true,\n ...options,\n };\n }\n\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n setupOnce() {\n var global = getGlobalObject();\n\n if (this._options.setTimeout) {\n fill(global, 'setTimeout', _wrapTimeFunction);\n }\n\n if (this._options.setInterval) {\n fill(global, 'setInterval', _wrapTimeFunction);\n }\n\n if (this._options.requestAnimationFrame) {\n fill(global, 'requestAnimationFrame', _wrapRAF);\n }\n\n if (this._options.XMLHttpRequest && 'XMLHttpRequest' in global) {\n fill(XMLHttpRequest.prototype, 'send', _wrapXHR);\n }\n\n var eventTargetOption = this._options.eventTarget;\n if (eventTargetOption) {\n var eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n eventTarget.forEach(_wrapEventTarget);\n }\n }\n} TryCatch.__initStatic();\n\n/** JSDoc */\nfunction _wrapTimeFunction(original) {\n return function ( ...args) {\n var originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: true,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n}\n\n/** JSDoc */\nfunction _wrapRAF(original) {\n return function ( callback) {\n return original.apply(this, [\n wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n }),\n ]);\n };\n}\n\n/** JSDoc */\nfunction _wrapXHR(originalSend) {\n return function ( ...args) {\n var xhr = this;\n var xmlHttpRequestProps = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n\n xmlHttpRequestProps.forEach(prop => {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n fill(xhr, prop, function (original) {\n var wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n };\n\n // If Instrument integration has been called before TryCatch, get the name of original function\n var originalFunction = getOriginalFunction(original);\n if (originalFunction) {\n wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n }\n\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n\n return originalSend.apply(this, args);\n };\n}\n\n/** JSDoc */\nfunction _wrapEventTarget(target) {\n var global = getGlobalObject() ;\n var proto = global[target] && global[target].prototype;\n\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (original)\n\n {\n return function (\n \n eventName,\n fn,\n options,\n ) {\n try {\n if (typeof fn.handleEvent === 'function') {\n // ESlint disable explanation:\n // First, it is generally safe to call `wrap` with an unbound function. Furthermore, using `.bind()` would\n // introduce a bug here, because bind returns a new function that doesn't have our\n // flags(like __sentry_original__) attached. `wrap` checks for those flags to avoid unnecessary wrapping.\n // Without those flags, every call to addEventListener wraps the function again, causing a memory leak.\n fn.handleEvent = wrap(fn.handleEvent, {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n });\n }\n } catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n\n return original.apply(this, [\n eventName,\n wrap(fn , {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n }),\n options,\n ]);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (\n originalRemoveEventListener,\n ) {\n return function (\n \n eventName,\n fn,\n options,\n ) {\n /**\n * There are 2 possible scenarios here:\n *\n * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n * as a pass-through, and call original `removeEventListener` with it.\n *\n * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n *\n * When someone adds a handler prior to initialization, and then do it again, but after,\n * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n * to get rid of the initial handler and it'd stick there forever.\n */\n var wrappedEventHandler = fn ;\n try {\n var originalEventHandler = wrappedEventHandler && wrappedEventHandler.__sentry_wrapped__;\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n } catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n };\n },\n );\n}\n\nexport { TryCatch };\n//# sourceMappingURL=trycatch.js.map\n","import { Integrations, getIntegrationsToSetup, initAndBind, getCurrentHub, getReportDialogEndpoint } from '@sentry/core';\nimport { getGlobalObject, stackParserFromStackParserOptions, supportsFetch, logger, resolvedSyncPromise, addInstrumentationHandler } from '@sentry/utils';\nimport { BrowserClient } from './client.js';\nimport { wrap as wrap$1 } from './helpers.js';\nimport './integrations/index.js';\nimport { defaultStackParser } from './stack-parsers.js';\nimport './transports/index.js';\nimport { TryCatch } from './integrations/trycatch.js';\nimport { Breadcrumbs } from './integrations/breadcrumbs.js';\nimport { GlobalHandlers } from './integrations/globalhandlers.js';\nimport { LinkedErrors } from './integrations/linkederrors.js';\nimport { Dedupe } from './integrations/dedupe.js';\nimport { HttpContext } from './integrations/httpcontext.js';\nimport { makeFetchTransport } from './transports/fetch.js';\nimport { makeXHRTransport } from './transports/xhr.js';\n\nvar defaultIntegrations = [\n new Integrations.InboundFilters(),\n new Integrations.FunctionToString(),\n new TryCatch(),\n new Breadcrumbs(),\n new GlobalHandlers(),\n new LinkedErrors(),\n new Dedupe(),\n new HttpContext(),\n];\n\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { configureScope } from '@sentry/browser';\n * configureScope((scope: Scope) => {\n * scope.setExtra({ battery: 0.7 });\n * scope.setTag({ user_mode: 'admin' });\n * scope.setUser({ id: '4711' });\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\nfunction init(options = {}) {\n if (options.defaultIntegrations === undefined) {\n options.defaultIntegrations = defaultIntegrations;\n }\n if (options.release === undefined) {\n var window = getGlobalObject();\n // This supports the variable that sentry-webpack-plugin injects\n if (window.SENTRY_RELEASE && window.SENTRY_RELEASE.id) {\n options.release = window.SENTRY_RELEASE.id;\n }\n }\n if (options.autoSessionTracking === undefined) {\n options.autoSessionTracking = true;\n }\n if (options.sendClientReports === undefined) {\n options.sendClientReports = true;\n }\n\n var clientOptions = {\n ...options,\n stackParser: stackParserFromStackParserOptions(options.stackParser || defaultStackParser),\n integrations: getIntegrationsToSetup(options),\n transport: options.transport || (supportsFetch() ? makeFetchTransport : makeXHRTransport),\n };\n\n initAndBind(BrowserClient, clientOptions);\n\n if (options.autoSessionTracking) {\n startSessionTracking();\n }\n}\n\n/**\n * Present the user with a report dialog.\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\nfunction showReportDialog(options = {}, hub = getCurrentHub()) {\n // doesn't work without a document (React Native)\n var global = getGlobalObject();\n if (!global.document) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Global document not defined in showReportDialog call');\n return;\n }\n\n const { client, scope } = hub.getStackTop();\n var dsn = options.dsn || (client && client.getDsn());\n if (!dsn) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('DSN not configured for showReportDialog call');\n return;\n }\n\n if (scope) {\n options.user = {\n ...scope.getUser(),\n ...options.user,\n };\n }\n\n if (!options.eventId) {\n options.eventId = hub.lastEventId();\n }\n\n var script = global.document.createElement('script');\n script.async = true;\n script.src = getReportDialogEndpoint(dsn, options);\n\n if (options.onLoad) {\n script.onload = options.onLoad;\n }\n\n var injectionPoint = global.document.head || global.document.body;\n if (injectionPoint) {\n injectionPoint.appendChild(script);\n } else {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Not injecting report dialog. No injection point found in HTML');\n }\n}\n\n/**\n * This is the getter for lastEventId.\n *\n * @returns The last event id of a captured event.\n */\nfunction lastEventId() {\n return getCurrentHub().lastEventId();\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nfunction forceLoad() {\n // Noop\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nfunction onLoad(callback) {\n callback();\n}\n\n/**\n * Call `flush()` on the current client, if there is one. See {@link Client.flush}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue. Omitting this parameter will cause\n * the client to wait until all events are sent before resolving the promise.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nfunction flush(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.flush(timeout);\n }\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Cannot flush events. No client defined.');\n return resolvedSyncPromise(false);\n}\n\n/**\n * Call `close()` on the current client, if there is one. See {@link Client.close}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue before shutting down. Omitting this\n * parameter will cause the client to wait until all events are sent before disabling itself.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nfunction close(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.close(timeout);\n }\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Cannot flush events and disable SDK. No client defined.');\n return resolvedSyncPromise(false);\n}\n\n/**\n * Wrap code within a try/catch block so the SDK is able to capture errors.\n *\n * @param fn A function to wrap.\n *\n * @returns The result of wrapped function call.\n */\nfunction wrap(fn) {\n return wrap$1(fn)();\n}\n\nfunction startSessionOnHub(hub) {\n hub.startSession({ ignoreDuration: true });\n hub.captureSession();\n}\n\n/**\n * Enable automatic Session Tracking for the initial page load.\n */\nfunction startSessionTracking() {\n var window = getGlobalObject();\n var document = window.document;\n\n if (typeof document === 'undefined') {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn('Session tracking in non-browser environment with @sentry/browser is not supported.');\n return;\n }\n\n var hub = getCurrentHub();\n\n // The only way for this to be false is for there to be a version mismatch between @sentry/browser (>= 6.0.0) and\n // @sentry/hub (< 5.27.0). In the simple case, there won't ever be such a mismatch, because the two packages are\n // pinned at the same version in package.json, but there are edge cases where it's possible. See\n // https://github.com/getsentry/sentry-javascript/issues/3207 and\n // https://github.com/getsentry/sentry-javascript/issues/3234 and\n // https://github.com/getsentry/sentry-javascript/issues/3278.\n if (!hub.captureSession) {\n return;\n }\n\n // The session duration for browser sessions does not track a meaningful\n // concept that can be used as a metric.\n // Automatically captured sessions are akin to page views, and thus we\n // discard their duration.\n startSessionOnHub(hub);\n\n // We want to create a session for every navigation as well\n addInstrumentationHandler('history', ({ from, to }) => {\n // Don't create an additional session for the initial route or if the location did not change\n if (!(from === undefined || from === to)) {\n startSessionOnHub(getCurrentHub());\n }\n });\n}\n\nexport { close, defaultIntegrations, flush, forceLoad, init, lastEventId, onLoad, showReportDialog, wrap };\n//# sourceMappingURL=sdk.js.map\n","import { createStackParser } from '@sentry/utils';\n\n// global reference to slice\nvar UNKNOWN_FUNCTION = '?';\n\nvar OPERA10_PRIORITY = 10;\nvar OPERA11_PRIORITY = 20;\nvar CHROME_PRIORITY = 30;\nvar WINJS_PRIORITY = 40;\nvar GECKO_PRIORITY = 50;\n\nfunction createFrame(filename, func, lineno, colno) {\n var frame = {\n filename,\n function: func,\n // All browser frames are considered in_app\n in_app: true,\n };\n\n if (lineno !== undefined) {\n frame.lineno = lineno;\n }\n\n if (colno !== undefined) {\n frame.colno = colno;\n }\n\n return frame;\n}\n\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nvar chromeRegex =\n /^\\s*at (?:(.*?) ?\\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nvar chromeEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nvar chrome = line => {\n var parts = chromeRegex.exec(line);\n\n if (parts) {\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n if (isEval) {\n var subMatch = chromeEvalRegex.exec(parts[2]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = subMatch[1]; // url\n parts[3] = subMatch[2]; // line\n parts[4] = subMatch[3]; // column\n }\n }\n\n // Kamil: One more hack won't hurt us right? Understanding and adding more rules on top of these regexps right now\n // would be way too time consuming. (TODO: Rewrite whole RegExp to be more readable)\n const [func, filename] = extractSafariExtensionDetails(parts[1] || UNKNOWN_FUNCTION, parts[2]);\n\n return createFrame(filename, func, parts[3] ? +parts[3] : undefined, parts[4] ? +parts[4] : undefined);\n }\n\n return;\n};\n\nvar chromeStackLineParser = [CHROME_PRIORITY, chrome];\n\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nvar geckoREgex =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar geckoEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nvar gecko = line => {\n var parts = geckoREgex.exec(line);\n\n if (parts) {\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval) {\n var subMatch = geckoEvalRegex.exec(parts[3]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || 'eval';\n parts[3] = subMatch[1];\n parts[4] = subMatch[2];\n parts[5] = ''; // no column when eval\n }\n }\n\n let filename = parts[3];\n let func = parts[1] || UNKNOWN_FUNCTION;\n [func, filename] = extractSafariExtensionDetails(func, filename);\n\n return createFrame(filename, func, parts[4] ? +parts[4] : undefined, parts[5] ? +parts[5] : undefined);\n }\n\n return;\n};\n\nvar geckoStackLineParser = [GECKO_PRIORITY, gecko];\n\nvar winjsRegex =\n /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nvar winjs = line => {\n var parts = winjsRegex.exec(line);\n\n return parts\n ? createFrame(parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined)\n : undefined;\n};\n\nvar winjsStackLineParser = [WINJS_PRIORITY, winjs];\n\nvar opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n\nvar opera10 = line => {\n var parts = opera10Regex.exec(line);\n return parts ? createFrame(parts[2], parts[3] || UNKNOWN_FUNCTION, +parts[1]) : undefined;\n};\n\nvar opera10StackLineParser = [OPERA10_PRIORITY, opera10];\n\nvar opera11Regex =\n / line (\\d+), column (\\d+)\\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\\(.*\\))? in (.*):\\s*$/i;\n\nvar opera11 = line => {\n var parts = opera11Regex.exec(line);\n return parts ? createFrame(parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;\n};\n\nvar opera11StackLineParser = [OPERA11_PRIORITY, opera11];\n\nvar defaultStackLineParsers = [chromeStackLineParser, geckoStackLineParser, winjsStackLineParser];\n\nvar defaultStackParser = createStackParser(...defaultStackLineParsers);\n\n/**\n * Safari web extensions, starting version unknown, can produce \"frames-only\" stacktraces.\n * What it means, is that instead of format like:\n *\n * Error: wat\n * at function@url:row:col\n * at function@url:row:col\n * at function@url:row:col\n *\n * it produces something like:\n *\n * function@url:row:col\n * function@url:row:col\n * function@url:row:col\n *\n * Because of that, it won't be captured by `chrome` RegExp and will fall into `Gecko` branch.\n * This function is extracted so that we can use it in both places without duplicating the logic.\n * Unfortunately \"just\" changing RegExp is too complicated now and making it pass all tests\n * and fix this case seems like an impossible, or at least way too time-consuming task.\n */\nvar extractSafariExtensionDetails = (func, filename) => {\n var isSafariExtension = func.indexOf('safari-extension') !== -1;\n var isSafariWebExtension = func.indexOf('safari-web-extension') !== -1;\n\n return isSafariExtension || isSafariWebExtension\n ? [\n func.indexOf('@') !== -1 ? func.split('@')[0] : UNKNOWN_FUNCTION,\n isSafariExtension ? `safari-extension:${filename}` : `safari-web-extension:${filename}`,\n ]\n : [func, filename];\n};\n\nexport { chromeStackLineParser, defaultStackLineParsers, defaultStackParser, geckoStackLineParser, opera10StackLineParser, opera11StackLineParser, winjsStackLineParser };\n//# sourceMappingURL=stack-parsers.js.map\n","import { createTransport } from '@sentry/core';\nimport { getNativeFetchImplementation } from './utils.js';\n\n/**\n * Creates a Transport that uses the Fetch API to send events to Sentry.\n */\nfunction makeFetchTransport(\n options,\n nativeFetch = getNativeFetchImplementation(),\n) {\n function makeRequest(request) {\n var requestOptions = {\n body: request.body,\n method: 'POST',\n referrerPolicy: 'origin',\n headers: options.headers,\n ...options.fetchOptions,\n };\n\n return nativeFetch(options.url, requestOptions).then(response => ({\n statusCode: response.status,\n headers: {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n },\n }));\n }\n\n return createTransport(options, makeRequest);\n}\n\nexport { makeFetchTransport };\n//# sourceMappingURL=fetch.js.map\n","import { getGlobalObject, isNativeFetch, logger, supportsFetch } from '@sentry/utils';\n\nvar global = getGlobalObject();\nlet cachedFetchImpl;\n\n/**\n * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.\n * Whenever someone wraps the Fetch API and returns the wrong promise chain,\n * this chain becomes orphaned and there is no possible way to capture it's rejections\n * other than allowing it bubble up to this very handler. eg.\n *\n * var f = window.fetch;\n * window.fetch = function () {\n * var p = f.apply(this, arguments);\n *\n * p.then(function() {\n * console.log('hi.');\n * });\n *\n * return p;\n * }\n *\n * `p.then(function () { ... })` is producing a completely separate promise chain,\n * however, what's returned is `p` - the result of original `fetch` call.\n *\n * This mean, that whenever we use the Fetch API to send our own requests, _and_\n * some ad-blocker blocks it, this orphaned chain will _always_ reject,\n * effectively causing another event to be captured.\n * This makes a whole process become an infinite loop, which we need to somehow\n * deal with, and break it in one way or another.\n *\n * To deal with this issue, we are making sure that we _always_ use the real\n * browser Fetch API, instead of relying on what `window.fetch` exposes.\n * The only downside to this would be missing our own requests as breadcrumbs,\n * but because we are already not doing this, it should be just fine.\n *\n * Possible failed fetch error messages per-browser:\n *\n * Chrome: Failed to fetch\n * Edge: Failed to Fetch\n * Firefox: NetworkError when attempting to fetch resource\n * Safari: resource blocked by content blocker\n */\nfunction getNativeFetchImplementation() {\n if (cachedFetchImpl) {\n return cachedFetchImpl;\n }\n\n // Fast path to avoid DOM I/O\n if (isNativeFetch(global.fetch)) {\n return (cachedFetchImpl = global.fetch.bind(global));\n }\n\n var document = global.document;\n let fetchImpl = global.fetch;\n if (document && typeof document.createElement === 'function') {\n try {\n var sandbox = document.createElement('iframe');\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n var contentWindow = sandbox.contentWindow;\n if (contentWindow && contentWindow.fetch) {\n fetchImpl = contentWindow.fetch;\n }\n document.head.removeChild(sandbox);\n } catch (e) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', e);\n }\n }\n\n return (cachedFetchImpl = fetchImpl.bind(global));\n }\n\n/**\n * Sends sdk client report using sendBeacon or fetch as a fallback if available\n *\n * @param url report endpoint\n * @param body report payload\n */\nfunction sendReport(url, body) {\n var isRealNavigator = Object.prototype.toString.call(global && global.navigator) === '[object Navigator]';\n var hasSendBeacon = isRealNavigator && typeof global.navigator.sendBeacon === 'function';\n\n if (hasSendBeacon) {\n // Prevent illegal invocations - https://xgwang.me/posts/you-may-not-know-beacon/#it-may-throw-error%2C-be-sure-to-catch\n var sendBeacon = global.navigator.sendBeacon.bind(global.navigator);\n sendBeacon(url, body);\n } else if (supportsFetch()) {\n var fetch = getNativeFetchImplementation();\n fetch(url, {\n body,\n method: 'POST',\n credentials: 'omit',\n keepalive: true,\n }).then(null, error => {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(error);\n });\n }\n}\n\nexport { getNativeFetchImplementation, sendReport };\n//# sourceMappingURL=utils.js.map\n","import { createTransport } from '@sentry/core';\nimport { SyncPromise } from '@sentry/utils';\n\n/**\n * The DONE ready state for XmlHttpRequest\n *\n * Defining it here as a constant b/c XMLHttpRequest.DONE is not always defined\n * (e.g. during testing, it is `undefined`)\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState}\n */\nvar XHR_READYSTATE_DONE = 4;\n\n/**\n * Creates a Transport that uses the XMLHttpRequest API to send events to Sentry.\n */\nfunction makeXHRTransport(options) {\n function makeRequest(request) {\n return new SyncPromise((resolve, reject) => {\n var xhr = new XMLHttpRequest();\n\n xhr.onerror = reject;\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === XHR_READYSTATE_DONE) {\n resolve({\n statusCode: xhr.status,\n headers: {\n 'x-sentry-rate-limits': xhr.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': xhr.getResponseHeader('Retry-After'),\n },\n });\n }\n };\n\n xhr.open('POST', options.url);\n\n for (var header in options.headers) {\n if (Object.prototype.hasOwnProperty.call(options.headers, header)) {\n xhr.setRequestHeader(header, options.headers[header]);\n }\n }\n\n xhr.send(request.body);\n });\n }\n\n return createTransport(options, makeRequest);\n}\n\nexport { makeXHRTransport };\n//# sourceMappingURL=xhr.js.map\n","import { urlEncode, makeDsn, dsnToString } from '@sentry/utils';\n\nvar SENTRY_API_VERSION = '7';\n\n/** Returns the prefix to construct Sentry ingestion API endpoints. */\nfunction getBaseApiEndpoint(dsn) {\n var protocol = dsn.protocol ? `${dsn.protocol}:` : '';\n var port = dsn.port ? `:${dsn.port}` : '';\n return `${protocol}//${dsn.host}${port}${dsn.path ? `/${dsn.path}` : ''}/api/`;\n}\n\n/** Returns the ingest API endpoint for target. */\nfunction _getIngestEndpoint(dsn) {\n return `${getBaseApiEndpoint(dsn)}${dsn.projectId}/envelope/`;\n}\n\n/** Returns a URL-encoded string with auth config suitable for a query string. */\nfunction _encodedAuth(dsn) {\n return urlEncode({\n // We send only the minimum set of required information. See\n // https://github.com/getsentry/sentry-javascript/issues/2572.\n sentry_key: dsn.publicKey,\n sentry_version: SENTRY_API_VERSION,\n });\n}\n\n/**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\nfunction getEnvelopeEndpointWithUrlEncodedAuth(dsn, tunnel) {\n return tunnel ? tunnel : `${_getIngestEndpoint(dsn)}?${_encodedAuth(dsn)}`;\n}\n\n/** Returns the url to the report dialog endpoint. */\nfunction getReportDialogEndpoint(\n dsnLike,\n dialogOptions\n\n,\n) {\n var dsn = makeDsn(dsnLike);\n var endpoint = `${getBaseApiEndpoint(dsn)}embed/error-page/`;\n\n let encodedOptions = `dsn=${dsnToString(dsn)}`;\n for (var key in dialogOptions) {\n if (key === 'dsn') {\n continue;\n }\n\n if (key === 'user') {\n var user = dialogOptions.user;\n if (!user) {\n continue;\n }\n if (user.name) {\n encodedOptions += `&name=${encodeURIComponent(user.name)}`;\n }\n if (user.email) {\n encodedOptions += `&email=${encodeURIComponent(user.email)}`;\n }\n } else {\n encodedOptions += `&${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key] )}`;\n }\n }\n\n return `${endpoint}?${encodedOptions}`;\n}\n\nexport { getEnvelopeEndpointWithUrlEncodedAuth, getReportDialogEndpoint };\n//# sourceMappingURL=api.js.map\n","import { updateSession, Scope } from '@sentry/hub';\nimport { makeDsn, logger, checkOrSetAlreadyCaught, isPrimitive, resolvedSyncPromise, addItemToEnvelope, createAttachmentEnvelopeItem, SyncPromise, uuid4, dateTimestampInSeconds, normalize, truncate, rejectedSyncPromise, SentryError, isThenable, isPlainObject } from '@sentry/utils';\nimport { getEnvelopeEndpointWithUrlEncodedAuth } from './api.js';\nimport { createEventEnvelope, createSessionEnvelope } from './envelope.js';\nimport { setupIntegrations } from './integration.js';\n\nvar ALREADY_SEEN_ERROR = \"Not capturing exception because it's already been captured.\";\n\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event, it is passed through\n * {@link BaseClient._prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient<NodeOptions> {\n * public constructor(options: NodeOptions) {\n * super(options);\n * }\n *\n * // ...\n * }\n */\nclass BaseClient {\n /** Options passed to the SDK. */\n \n\n /** The client Dsn, if specified in options. Without this Dsn, the SDK will be disabled. */\n \n\n /** Array of set up integrations. */\n __init() {this._integrations = {};}\n\n /** Indicates whether this client's integrations have been set up. */\n __init2() {this._integrationsInitialized = false;}\n\n /** Number of calls being processed */\n __init3() {this._numProcessing = 0;}\n\n /** Holds flushable */\n __init4() {this._outcomes = {};}\n\n /**\n * Initializes this client instance.\n *\n * @param options Options for the client.\n */\n constructor(options) {;BaseClient.prototype.__init.call(this);BaseClient.prototype.__init2.call(this);BaseClient.prototype.__init3.call(this);BaseClient.prototype.__init4.call(this);\n this._options = options;\n if (options.dsn) {\n this._dsn = makeDsn(options.dsn);\n var url = getEnvelopeEndpointWithUrlEncodedAuth(this._dsn, options.tunnel);\n this._transport = options.transport({\n recordDroppedEvent: this.recordDroppedEvent.bind(this),\n ...options.transportOptions,\n url,\n });\n } else {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('No DSN provided, client will not do anything.');\n }\n }\n\n /**\n * @inheritDoc\n */\n captureException(exception, hint, scope) {\n // ensure we haven't captured this very object before\n if (checkOrSetAlreadyCaught(exception)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(ALREADY_SEEN_ERROR);\n return;\n }\n\n let eventId = hint && hint.event_id;\n\n this._process(\n this.eventFromException(exception, hint)\n .then(event => this._captureEvent(event, hint, scope))\n .then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n captureMessage(\n message,\n level,\n hint,\n scope,\n ) {\n let eventId = hint && hint.event_id;\n\n var promisedEvent = isPrimitive(message)\n ? this.eventFromMessage(String(message), level, hint)\n : this.eventFromException(message, hint);\n\n this._process(\n promisedEvent\n .then(event => this._captureEvent(event, hint, scope))\n .then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n captureEvent(event, hint, scope) {\n // ensure we haven't captured this very object before\n if (hint && hint.originalException && checkOrSetAlreadyCaught(hint.originalException)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(ALREADY_SEEN_ERROR);\n return;\n }\n\n let eventId = hint && hint.event_id;\n\n this._process(\n this._captureEvent(event, hint, scope).then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n captureSession(session) {\n if (!this._isEnabled()) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('SDK not enabled, will not capture session.');\n return;\n }\n\n if (!(typeof session.release === 'string')) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Discarded session because of missing or non-string release');\n } else {\n this.sendSession(session);\n // After sending, we set init false to indicate it's not the first occurrence\n updateSession(session, { init: false });\n }\n }\n\n /**\n * @inheritDoc\n */\n getDsn() {\n return this._dsn;\n }\n\n /**\n * @inheritDoc\n */\n getOptions() {\n return this._options;\n }\n\n /**\n * @inheritDoc\n */\n getTransport() {\n return this._transport;\n }\n\n /**\n * @inheritDoc\n */\n flush(timeout) {\n var transport = this._transport;\n if (transport) {\n return this._isClientDoneProcessing(timeout).then(clientFinished => {\n return transport.flush(timeout).then(transportFlushed => clientFinished && transportFlushed);\n });\n } else {\n return resolvedSyncPromise(true);\n }\n }\n\n /**\n * @inheritDoc\n */\n close(timeout) {\n return this.flush(timeout).then(result => {\n this.getOptions().enabled = false;\n return result;\n });\n }\n\n /**\n * Sets up the integrations\n */\n setupIntegrations() {\n if (this._isEnabled() && !this._integrationsInitialized) {\n this._integrations = setupIntegrations(this._options.integrations);\n this._integrationsInitialized = true;\n }\n }\n\n /**\n * Gets an installed integration by its `id`.\n *\n * @returns The installed integration or `undefined` if no integration with that `id` was installed.\n */\n getIntegrationById(integrationId) {\n return this._integrations[integrationId];\n }\n\n /**\n * @inheritDoc\n */\n getIntegration(integration) {\n try {\n return (this._integrations[integration.id] ) || null;\n } catch (_oO) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(`Cannot retrieve integration ${integration.id} from the current Client`);\n return null;\n }\n }\n\n /**\n * @inheritDoc\n */\n sendEvent(event, hint = {}) {\n if (this._dsn) {\n let env = createEventEnvelope(event, this._dsn, this._options._metadata, this._options.tunnel);\n\n for (var attachment of hint.attachments || []) {\n env = addItemToEnvelope(\n env,\n createAttachmentEnvelopeItem(\n attachment,\n this._options.transportOptions && this._options.transportOptions.textEncoder,\n ),\n );\n }\n\n this._sendEnvelope(env);\n }\n }\n\n /**\n * @inheritDoc\n */\n sendSession(session) {\n if (this._dsn) {\n var env = createSessionEnvelope(session, this._dsn, this._options._metadata, this._options.tunnel);\n this._sendEnvelope(env);\n }\n }\n\n /**\n * @inheritDoc\n */\n recordDroppedEvent(reason, category) {\n if (this._options.sendClientReports) {\n // We want to track each category (error, transaction, session) separately\n // but still keep the distinction between different type of outcomes.\n // We could use nested maps, but it's much easier to read and type this way.\n // A correct type for map-based implementation if we want to go that route\n // would be `Partial<Record<SentryRequestType, Partial<Record<Outcome, number>>>>`\n // With typescript 4.1 we could even use template literal types\n var key = `${reason}:${category}`;\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(`Adding outcome: \"${key}\"`);\n\n // The following works because undefined + 1 === NaN and NaN is falsy\n this._outcomes[key] = this._outcomes[key] + 1 || 1;\n }\n }\n\n /** Updates existing session based on the provided event */\n _updateSessionFromEvent(session, event) {\n let crashed = false;\n let errored = false;\n var exceptions = event.exception && event.exception.values;\n\n if (exceptions) {\n errored = true;\n\n for (var ex of exceptions) {\n var mechanism = ex.mechanism;\n if (mechanism && mechanism.handled === false) {\n crashed = true;\n break;\n }\n }\n }\n\n // A session is updated and that session update is sent in only one of the two following scenarios:\n // 1. Session with non terminal status and 0 errors + an error occurred -> Will set error count to 1 and send update\n // 2. Session with non terminal status and 1 error + a crash occurred -> Will set status crashed and send update\n var sessionNonTerminal = session.status === 'ok';\n var shouldUpdateAndSend = (sessionNonTerminal && session.errors === 0) || (sessionNonTerminal && crashed);\n\n if (shouldUpdateAndSend) {\n updateSession(session, {\n ...(crashed && { status: 'crashed' }),\n errors: session.errors || Number(errored || crashed),\n });\n this.captureSession(session);\n }\n }\n\n /**\n * Determine if the client is finished processing. Returns a promise because it will wait `timeout` ms before saying\n * \"no\" (resolving to `false`) in order to give the client a chance to potentially finish first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the client is still busy. Passing `0` (or not\n * passing anything) will make the promise wait as long as it takes for processing to finish before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if processing is already done or finishes before the timeout, and\n * `false` otherwise\n */\n _isClientDoneProcessing(timeout) {\n return new SyncPromise(resolve => {\n let ticked = 0;\n var tick = 1;\n\n var interval = setInterval(() => {\n if (this._numProcessing == 0) {\n clearInterval(interval);\n resolve(true);\n } else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n clearInterval(interval);\n resolve(false);\n }\n }\n }, tick);\n });\n }\n\n /** Determines whether this SDK is enabled and a valid Dsn is present. */\n _isEnabled() {\n return this.getOptions().enabled !== false && this._dsn !== undefined;\n }\n\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n */\n _prepareEvent(event, hint, scope) {\n const { normalizeDepth = 3, normalizeMaxBreadth = 1000 } = this.getOptions();\n var prepared = {\n ...event,\n event_id: event.event_id || hint.event_id || uuid4(),\n timestamp: event.timestamp || dateTimestampInSeconds(),\n };\n\n this._applyClientOptions(prepared);\n this._applyIntegrationsMetadata(prepared);\n\n // If we have scope given to us, use it as the base for further modifications.\n // This allows us to prevent unnecessary copying of data if `captureContext` is not provided.\n let finalScope = scope;\n if (hint.captureContext) {\n finalScope = Scope.clone(finalScope).update(hint.captureContext);\n }\n\n // We prepare the result here with a resolved Event.\n let result = resolvedSyncPromise(prepared);\n\n // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n if (finalScope) {\n // Collect attachments from the hint and scope\n var attachments = [...(hint.attachments || []), ...finalScope.getAttachments()];\n\n if (attachments.length) {\n hint.attachments = attachments;\n }\n\n // In case we have a hub we reassign it.\n result = finalScope.applyToEvent(prepared, hint);\n }\n\n return result.then(evt => {\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return this._normalizeEvent(evt, normalizeDepth, normalizeMaxBreadth);\n }\n return evt;\n });\n }\n\n /**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\n _normalizeEvent(event, depth, maxBreadth) {\n if (!event) {\n return null;\n }\n\n var normalized = {\n ...event,\n ...(event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(b => ({\n ...b,\n ...(b.data && {\n data: normalize(b.data, depth, maxBreadth),\n }),\n })),\n }),\n ...(event.user && {\n user: normalize(event.user, depth, maxBreadth),\n }),\n ...(event.contexts && {\n contexts: normalize(event.contexts, depth, maxBreadth),\n }),\n ...(event.extra && {\n extra: normalize(event.extra, depth, maxBreadth),\n }),\n };\n\n // event.contexts.trace stores information about a Transaction. Similarly,\n // event.spans[] stores information about child Spans. Given that a\n // Transaction is conceptually a Span, normalization should apply to both\n // Transactions and Spans consistently.\n // For now the decision is to skip normalization of Transactions and Spans,\n // so this block overwrites the normalized event to add back the original\n // Transaction information prior to normalization.\n if (event.contexts && event.contexts.trace && normalized.contexts) {\n normalized.contexts.trace = event.contexts.trace;\n\n // event.contexts.trace.data may contain circular/dangerous data so we need to normalize it\n if (event.contexts.trace.data) {\n normalized.contexts.trace.data = normalize(event.contexts.trace.data, depth, maxBreadth);\n }\n }\n\n // event.spans[].data may contain circular/dangerous data so we need to normalize it\n if (event.spans) {\n normalized.spans = event.spans.map(span => {\n // We cannot use the spread operator here because `toJSON` on `span` is non-enumerable\n if (span.data) {\n span.data = normalize(span.data, depth, maxBreadth);\n }\n return span;\n });\n }\n\n return normalized;\n }\n\n /**\n * Enhances event using the client configuration.\n * It takes care of all \"static\" values like environment, release and `dist`,\n * as well as truncating overly long values.\n * @param event event instance to be enhanced\n */\n _applyClientOptions(event) {\n var options = this.getOptions();\n const { environment, release, dist, maxValueLength = 250 } = options;\n\n if (!('environment' in event)) {\n event.environment = 'environment' in options ? environment : 'production';\n }\n\n if (event.release === undefined && release !== undefined) {\n event.release = release;\n }\n\n if (event.dist === undefined && dist !== undefined) {\n event.dist = dist;\n }\n\n if (event.message) {\n event.message = truncate(event.message, maxValueLength);\n }\n\n var exception = event.exception && event.exception.values && event.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n\n var request = event.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n }\n\n /**\n * This function adds all used integrations to the SDK info in the event.\n * @param event The event that will be filled with all integrations.\n */\n _applyIntegrationsMetadata(event) {\n var integrationsArray = Object.keys(this._integrations);\n if (integrationsArray.length > 0) {\n event.sdk = event.sdk || {};\n event.sdk.integrations = [...(event.sdk.integrations || []), ...integrationsArray];\n }\n }\n\n /**\n * Processes the event and logs an error in case of rejection\n * @param event\n * @param hint\n * @param scope\n */\n _captureEvent(event, hint = {}, scope) {\n return this._processEvent(event, hint, scope).then(\n finalEvent => {\n return finalEvent.event_id;\n },\n reason => {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(reason);\n return undefined;\n },\n );\n }\n\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n _processEvent(event, hint, scope) {\n const { beforeSend, sampleRate } = this.getOptions();\n\n if (!this._isEnabled()) {\n return rejectedSyncPromise(new SentryError('SDK not enabled, will not capture event.'));\n }\n\n var isTransaction = event.type === 'transaction';\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n // Sampling for transaction happens somewhere else\n if (!isTransaction && typeof sampleRate === 'number' && Math.random() > sampleRate) {\n this.recordDroppedEvent('sample_rate', 'error');\n return rejectedSyncPromise(\n new SentryError(\n `Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`,\n ),\n );\n }\n\n return this._prepareEvent(event, hint, scope)\n .then(prepared => {\n if (prepared === null) {\n this.recordDroppedEvent('event_processor', event.type || 'error');\n throw new SentryError('An event processor returned null, will not send event.');\n }\n\n var isInternalException = hint.data && (hint.data ).__sentry__ === true;\n if (isInternalException || isTransaction || !beforeSend) {\n return prepared;\n }\n\n var beforeSendResult = beforeSend(prepared, hint);\n return _ensureBeforeSendRv(beforeSendResult);\n })\n .then(processedEvent => {\n if (processedEvent === null) {\n this.recordDroppedEvent('before_send', event.type || 'error');\n throw new SentryError('`beforeSend` returned `null`, will not send event.');\n }\n\n var session = scope && scope.getSession();\n if (!isTransaction && session) {\n this._updateSessionFromEvent(session, processedEvent);\n }\n\n this.sendEvent(processedEvent, hint);\n return processedEvent;\n })\n .then(null, reason => {\n if (reason instanceof SentryError) {\n throw reason;\n }\n\n this.captureException(reason, {\n data: {\n __sentry__: true,\n },\n originalException: reason ,\n });\n throw new SentryError(\n `Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: ${reason}`,\n );\n });\n }\n\n /**\n * Occupies the client with processing and event\n */\n _process(promise) {\n this._numProcessing += 1;\n void promise.then(\n value => {\n this._numProcessing -= 1;\n return value;\n },\n reason => {\n this._numProcessing -= 1;\n return reason;\n },\n );\n }\n\n /**\n * @inheritdoc\n */\n _sendEnvelope(envelope) {\n if (this._transport && this._dsn) {\n this._transport.send(envelope).then(null, reason => {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Error while sending event:', reason);\n });\n } else {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Transport disabled');\n }\n }\n\n /**\n * Clears outcomes on this client and returns them.\n */\n _clearOutcomes() {\n var outcomes = this._outcomes;\n this._outcomes = {};\n return Object.keys(outcomes).map(key => {\n const [reason, category] = key.split(':') ;\n return {\n reason,\n category,\n quantity: outcomes[key],\n };\n });\n }\n\n /**\n * @inheritDoc\n */\n \n\n}\n\n/**\n * Verifies that return value of configured `beforeSend` is of expected type.\n */\nfunction _ensureBeforeSendRv(rv) {\n var nullErr = '`beforeSend` method has to return `null` or a valid event.';\n if (isThenable(rv)) {\n return rv.then(\n event => {\n if (!(isPlainObject(event) || event === null)) {\n throw new SentryError(nullErr);\n }\n return event;\n },\n e => {\n throw new SentryError(`beforeSend rejected with ${e}`);\n },\n );\n } else if (!(isPlainObject(rv) || rv === null)) {\n throw new SentryError(nullErr);\n }\n return rv;\n}\n\nexport { BaseClient };\n//# sourceMappingURL=baseclient.js.map\n","import { dsnToString, createEnvelope, dropUndefinedKeys, getSentryBaggageItems } from '@sentry/utils';\n\n/** Extract sdk info from from the API metadata */\nfunction getSdkMetadataForEnvelopeHeader(metadata) {\n if (!metadata || !metadata.sdk) {\n return;\n }\n const { name, version } = metadata.sdk;\n return { name, version };\n}\n\n/**\n * Apply SdkInfo (name, version, packages, integrations) to the corresponding event key.\n * Merge with existing data if any.\n **/\nfunction enhanceEventWithSdkInfo(event, sdkInfo) {\n if (!sdkInfo) {\n return event;\n }\n event.sdk = event.sdk || {};\n event.sdk.name = event.sdk.name || sdkInfo.name;\n event.sdk.version = event.sdk.version || sdkInfo.version;\n event.sdk.integrations = [...(event.sdk.integrations || []), ...(sdkInfo.integrations || [])];\n event.sdk.packages = [...(event.sdk.packages || []), ...(sdkInfo.packages || [])];\n return event;\n}\n\n/** Creates an envelope from a Session */\nfunction createSessionEnvelope(\n session,\n dsn,\n metadata,\n tunnel,\n) {\n var sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n var envelopeHeaders = {\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!tunnel && { dsn: dsnToString(dsn) }),\n };\n\n var envelopeItem =\n 'aggregates' in session ? [{ type: 'sessions' }, session] : [{ type: 'session' }, session];\n\n return createEnvelope(envelopeHeaders, [envelopeItem]);\n}\n\n/**\n * Create an Envelope from an event.\n */\nfunction createEventEnvelope(\n event,\n dsn,\n metadata,\n tunnel,\n) {\n var sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n var eventType = event.type || 'event';\n\n const { transactionSampling } = event.sdkProcessingMetadata || {};\n const { method: samplingMethod, rate: sampleRate } = transactionSampling || {};\n\n enhanceEventWithSdkInfo(event, metadata && metadata.sdk);\n\n var envelopeHeaders = createEventEnvelopeHeaders(event, sdkInfo, tunnel, dsn);\n\n // Prevent this data (which, if it exists, was used in earlier steps in the processing pipeline) from being sent to\n // sentry. (Note: Our use of this property comes and goes with whatever we might be debugging, whatever hacks we may\n // have temporarily added, etc. Even if we don't happen to be using it at some point in the future, let's not get rid\n // of this `delete`, lest we miss putting it back in the next time the property is in use.)\n delete event.sdkProcessingMetadata;\n\n var eventItem = [\n {\n type: eventType,\n sample_rates: [{ id: samplingMethod, rate: sampleRate }],\n },\n event,\n ];\n return createEnvelope(envelopeHeaders, [eventItem]);\n}\n\nfunction createEventEnvelopeHeaders(\n event,\n sdkInfo,\n tunnel,\n dsn,\n) {\n var baggage = event.sdkProcessingMetadata && event.sdkProcessingMetadata.baggage;\n var dynamicSamplingContext = baggage && getSentryBaggageItems(baggage);\n\n return {\n event_id: event.event_id ,\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!tunnel && { dsn: dsnToString(dsn) }),\n ...(event.type === 'transaction' &&\n dynamicSamplingContext && {\n trace: dropUndefinedKeys({ ...dynamicSamplingContext }) ,\n }),\n };\n}\n\nexport { createEventEnvelope, createSessionEnvelope };\n//# sourceMappingURL=envelope.js.map\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\n\nvar installedIntegrations = [];\n\n/** Map of integrations assigned to a client */\n\n/**\n * @private\n */\nfunction filterDuplicates(integrations) {\n return integrations.reduce((acc, integrations) => {\n if (acc.every(accIntegration => integrations.name !== accIntegration.name)) {\n acc.push(integrations);\n }\n return acc;\n }, [] );\n}\n\n/** Gets integration to install */\nfunction getIntegrationsToSetup(options) {\n var defaultIntegrations = (options.defaultIntegrations && [...options.defaultIntegrations]) || [];\n var userIntegrations = options.integrations;\n\n let integrations = [...filterDuplicates(defaultIntegrations)];\n\n if (Array.isArray(userIntegrations)) {\n // Filter out integrations that are also included in user options\n integrations = [\n ...integrations.filter(integrations =>\n userIntegrations.every(userIntegration => userIntegration.name !== integrations.name),\n ),\n // And filter out duplicated user options integrations\n ...filterDuplicates(userIntegrations),\n ];\n } else if (typeof userIntegrations === 'function') {\n integrations = userIntegrations(integrations);\n integrations = Array.isArray(integrations) ? integrations : [integrations];\n }\n\n // Make sure that if present, `Debug` integration will always run last\n var integrationsNames = integrations.map(i => i.name);\n var alwaysLastToRun = 'Debug';\n if (integrationsNames.indexOf(alwaysLastToRun) !== -1) {\n integrations.push(...integrations.splice(integrationsNames.indexOf(alwaysLastToRun), 1));\n }\n\n return integrations;\n}\n\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nfunction setupIntegrations(integrations) {\n var integrationIndex = {};\n\n integrations.forEach(integration => {\n integrationIndex[integration.name] = integration;\n\n if (installedIntegrations.indexOf(integration.name) === -1) {\n integration.setupOnce(addGlobalEventProcessor, getCurrentHub);\n installedIntegrations.push(integration.name);\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(`Integration installed: ${integration.name}`);\n }\n });\n\n return integrationIndex;\n}\n\nexport { getIntegrationsToSetup, installedIntegrations, setupIntegrations };\n//# sourceMappingURL=integration.js.map\n","import { getOriginalFunction } from '@sentry/utils';\n\nlet originalFunctionToString;\n\n/** Patch toString calls to return proper name for wrapped functions */\nclass FunctionToString {constructor() { FunctionToString.prototype.__init.call(this); }\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'FunctionToString';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = FunctionToString.id;}\n\n /**\n * @inheritDoc\n */\n setupOnce() {\n originalFunctionToString = Function.prototype.toString;\n\n Function.prototype.toString = function ( ...args) {\n var context = getOriginalFunction(this) || this;\n return originalFunctionToString.apply(context, args);\n };\n }\n} FunctionToString.__initStatic();\n\nexport { FunctionToString };\n//# sourceMappingURL=functiontostring.js.map\n","import { logger, getEventDescription, isMatchingPattern } from '@sentry/utils';\n\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nvar DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n\n/** Options for the InboundFilters integration */\n\n/** Inbound filters configurable by the user */\nclass InboundFilters {\n /**\n * @inheritDoc\n */\n static __initStatic() {this.id = 'InboundFilters';}\n\n /**\n * @inheritDoc\n */\n __init() {this.name = InboundFilters.id;}\n\n constructor( _options = {}) {;this._options = _options;InboundFilters.prototype.__init.call(this);}\n\n /**\n * @inheritDoc\n */\n setupOnce(addGlobalEventProcessor, getCurrentHub) {\n var eventProcess = (event) => {\n var hub = getCurrentHub();\n if (hub) {\n var self = hub.getIntegration(InboundFilters);\n if (self) {\n var client = hub.getClient();\n var clientOptions = client ? client.getOptions() : {};\n var options = _mergeOptions(self._options, clientOptions);\n return _shouldDropEvent(event, options) ? null : event;\n }\n }\n return event;\n };\n\n eventProcess.id = this.name;\n addGlobalEventProcessor(eventProcess);\n }\n} InboundFilters.__initStatic();\n\n/** JSDoc */\nfunction _mergeOptions(\n internalOptions = {},\n clientOptions = {},\n) {\n return {\n allowUrls: [...(internalOptions.allowUrls || []), ...(clientOptions.allowUrls || [])],\n denyUrls: [...(internalOptions.denyUrls || []), ...(clientOptions.denyUrls || [])],\n ignoreErrors: [\n ...(internalOptions.ignoreErrors || []),\n ...(clientOptions.ignoreErrors || []),\n ...DEFAULT_IGNORE_ERRORS,\n ],\n ignoreInternal: internalOptions.ignoreInternal !== undefined ? internalOptions.ignoreInternal : true,\n };\n}\n\n/** JSDoc */\nfunction _shouldDropEvent(event, options) {\n if (options.ignoreInternal && _isSentryError(event)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${getEventDescription(event)}`);\n return true;\n }\n if (_isIgnoredError(event, options.ignoreErrors)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (_isDeniedUrl(event, options.denyUrls)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn(\n `Event dropped due to being matched by \\`denyUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n if (!_isAllowedUrl(event, options.allowUrls)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn(\n `Event dropped due to not being matched by \\`allowUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n return false;\n}\n\nfunction _isIgnoredError(event, ignoreErrors) {\n if (!ignoreErrors || !ignoreErrors.length) {\n return false;\n }\n\n return _getPossibleEventMessages(event).some(message =>\n ignoreErrors.some(pattern => isMatchingPattern(message, pattern)),\n );\n}\n\nfunction _isDeniedUrl(event, denyUrls) {\n // TODO: Use Glob instead?\n if (!denyUrls || !denyUrls.length) {\n return false;\n }\n var url = _getEventFilterUrl(event);\n return !url ? false : denyUrls.some(pattern => isMatchingPattern(url, pattern));\n}\n\nfunction _isAllowedUrl(event, allowUrls) {\n // TODO: Use Glob instead?\n if (!allowUrls || !allowUrls.length) {\n return true;\n }\n var url = _getEventFilterUrl(event);\n return !url ? true : allowUrls.some(pattern => isMatchingPattern(url, pattern));\n}\n\nfunction _getPossibleEventMessages(event) {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n const { type = '', value = '' } = (event.exception.values && event.exception.values[0]) || {};\n return [`${value}`, `${type}: ${value}`];\n } catch (oO) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(`Cannot extract message for event ${getEventDescription(event)}`);\n return [];\n }\n }\n return [];\n}\n\nfunction _isSentryError(event) {\n try {\n // @ts-ignore can't be a sentry error if undefined\n return event.exception.values[0].type === 'SentryError';\n } catch (e) {\n // ignore\n }\n return false;\n}\n\nfunction _getLastValidUrl(frames = []) {\n for (let i = frames.length - 1; i >= 0; i--) {\n var frame = frames[i];\n\n if (frame && frame.filename !== '<anonymous>' && frame.filename !== '[native code]') {\n return frame.filename || null;\n }\n }\n\n return null;\n}\n\nfunction _getEventFilterUrl(event) {\n try {\n let frames;\n try {\n // @ts-ignore we only care about frames if the whole thing here is defined\n frames = event.exception.values[0].stacktrace.frames;\n } catch (e) {\n // ignore\n }\n return frames ? _getLastValidUrl(frames) : null;\n } catch (oO) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n}\n\nexport { InboundFilters, _mergeOptions, _shouldDropEvent };\n//# sourceMappingURL=inboundfilters.js.map\n","import { getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\n\n/** A class object that can instantiate Client objects. */\n\n/**\n * Internal function to create a new SDK client instance. The client is\n * installed and then bound to the current scope.\n *\n * @param clientClass The client class to instantiate.\n * @param options Options to pass to the client.\n */\nfunction initAndBind(\n clientClass,\n options,\n) {\n if (options.debug === true) {\n if ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__)) {\n logger.enable();\n } else {\n // use `console.warn` rather than `logger.warn` since by non-debug bundles have all `logger.x` statements stripped\n console.warn('[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.');\n }\n }\n var hub = getCurrentHub();\n var scope = hub.getScope();\n if (scope) {\n scope.update(options.initialScope);\n }\n\n var client = new clientClass(options);\n hub.bindClient(client);\n}\n\nexport { initAndBind };\n//# sourceMappingURL=sdk.js.map\n","import { makePromiseBuffer, forEachEnvelopeItem, envelopeItemTypeToDataCategory, isRateLimited, resolvedSyncPromise, createEnvelope, serializeEnvelope, logger, updateRateLimits, SentryError } from '@sentry/utils';\n\nvar DEFAULT_TRANSPORT_BUFFER_SIZE = 30;\n\n/**\n * Creates an instance of a Sentry `Transport`\n *\n * @param options\n * @param makeRequest\n */\nfunction createTransport(\n options,\n makeRequest,\n buffer = makePromiseBuffer(options.bufferSize || DEFAULT_TRANSPORT_BUFFER_SIZE),\n) {\n let rateLimits = {};\n\n var flush = (timeout) => buffer.drain(timeout);\n\n function send(envelope) {\n var filteredEnvelopeItems = [];\n\n // Drop rate limited items from envelope\n forEachEnvelopeItem(envelope, (item, type) => {\n var envelopeItemDataCategory = envelopeItemTypeToDataCategory(type);\n if (isRateLimited(rateLimits, envelopeItemDataCategory)) {\n options.recordDroppedEvent('ratelimit_backoff', envelopeItemDataCategory);\n } else {\n filteredEnvelopeItems.push(item);\n }\n });\n\n // Skip sending if envelope is empty after filtering out rate limited events\n if (filteredEnvelopeItems.length === 0) {\n return resolvedSyncPromise();\n }\n\n var filteredEnvelope = createEnvelope(envelope[0], filteredEnvelopeItems );\n\n // Creates client report for each item in an envelope\n var recordEnvelopeLoss = (reason) => {\n forEachEnvelopeItem(filteredEnvelope, (_, type) => {\n options.recordDroppedEvent(reason, envelopeItemTypeToDataCategory(type));\n });\n };\n\n var requestTask = () =>\n makeRequest({ body: serializeEnvelope(filteredEnvelope, options.textEncoder) }).then(\n response => {\n // We don't want to throw on NOK responses, but we want to at least log them\n if (response.statusCode !== undefined && (response.statusCode < 200 || response.statusCode >= 300)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(`Sentry responded with status code ${response.statusCode} to sent event.`);\n }\n\n rateLimits = updateRateLimits(rateLimits, response);\n },\n error => {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Failed while sending event:', error);\n recordEnvelopeLoss('network_error');\n },\n );\n\n return buffer.add(requestTask).then(\n result => result,\n error => {\n if (error instanceof SentryError) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Skipped sending event due to full buffer');\n recordEnvelopeLoss('queue_overflow');\n return resolvedSyncPromise();\n } else {\n throw error;\n }\n },\n );\n }\n\n return {\n send,\n flush,\n };\n}\n\nexport { DEFAULT_TRANSPORT_BUFFER_SIZE, createTransport };\n//# sourceMappingURL=base.js.map\n","var SDK_VERSION = '7.5.1';\n\nexport { SDK_VERSION };\n//# sourceMappingURL=version.js.map\n","import { getCurrentHub } from './hub.js';\n\n// Note: All functions in this file are typed with a return value of `ReturnType<Hub[HUB_FUNCTION]>`,\n// where HUB_FUNCTION is some method on the Hub class.\n//\n// This is done to make sure the top level SDK methods stay in sync with the hub methods.\n// Although every method here has an explicit return type, some of them (that map to void returns) do not\n// contain `return` keywords. This is done to save on bundle size, as `return` is not minifiable.\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @param captureContext Additional scope data to apply to exception event.\n * @returns The generated eventId.\n */\nfunction captureException(exception, captureContext) {\n return getCurrentHub().captureException(exception, { captureContext });\n}\n\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param Severity Define the level of the message.\n * @returns The generated eventId.\n */\nfunction captureMessage(\n message,\n captureContext,\n) {\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n var level = typeof captureContext === 'string' ? captureContext : undefined;\n var context = typeof captureContext !== 'string' ? { captureContext } : undefined;\n return getCurrentHub().captureMessage(message, level, context);\n}\n\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nfunction captureEvent(event, hint) {\n return getCurrentHub().captureEvent(event, hint);\n}\n\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nfunction configureScope(callback) {\n getCurrentHub().configureScope(callback);\n}\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nfunction addBreadcrumb(breadcrumb) {\n getCurrentHub().addBreadcrumb(breadcrumb);\n}\n\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\nfunction setContext(name, context) {\n getCurrentHub().setContext(name, context);\n}\n\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nfunction setExtras(extras) {\n getCurrentHub().setExtras(extras);\n}\n\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nfunction setExtra(key, extra) {\n getCurrentHub().setExtra(key, extra);\n}\n\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nfunction setTags(tags) {\n getCurrentHub().setTags(tags);\n}\n\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nfunction setTag(key, value) {\n getCurrentHub().setTag(key, value);\n}\n\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nfunction setUser(user) {\n getCurrentHub().setUser(user);\n}\n\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nfunction withScope(callback) {\n getCurrentHub().withScope(callback);\n}\n\n/**\n * Starts a new `Transaction` and returns it. This is the entry point to manual tracing instrumentation.\n *\n * A tree structure can be built by adding child spans to the transaction, and child spans to other spans. To start a\n * new child span within the transaction or any span, call the respective `.startChild()` method.\n *\n * Every child span must be finished before the transaction is finished, otherwise the unfinished spans are discarded.\n *\n * The transaction must be finished with a call to its `.finish()` method, at which point the transaction with all its\n * finished child spans will be sent to Sentry.\n *\n * @param context Properties of the new `Transaction`.\n * @param customSamplingContext Information given to the transaction sampling function (along with context-dependent\n * default values). See {@link Options.tracesSampler}.\n *\n * @returns The transaction which was just started\n */\nfunction startTransaction(\n context,\n customSamplingContext,\n) {\n return getCurrentHub().startTransaction({ ...context }, customSamplingContext);\n}\n\nexport { addBreadcrumb, captureEvent, captureException, captureMessage, configureScope, setContext, setExtra, setExtras, setTag, setTags, setUser, startTransaction, withScope };\n//# sourceMappingURL=exports.js.map\n","import { uuid4, dateTimestampInSeconds, consoleSandbox, logger, getGlobalObject, getGlobalSingleton, isNodeEnv } from '@sentry/utils';\nimport { Scope } from './scope.js';\nimport { closeSession, makeSession, updateSession } from './session.js';\n\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be increased when the global interface\n * changes and new methods are introduced.\n *\n * @hidden\n */\nvar API_VERSION = 4;\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nvar DEFAULT_BREADCRUMBS = 100;\n\n/**\n * A layer in the process stack.\n * @hidden\n */\n\n/**\n * @inheritDoc\n */\nclass Hub {\n /** Is a {@link Layer}[] containing the client and scope */\n __init() {this._stack = [{}];}\n\n /** Contains the last event id of a captured event. */\n \n\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n constructor(client, scope = new Scope(), _version = API_VERSION) {;this._version = _version;Hub.prototype.__init.call(this);\n this.getStackTop().scope = scope;\n if (client) {\n this.bindClient(client);\n }\n }\n\n /**\n * @inheritDoc\n */\n isOlderThan(version) {\n return this._version < version;\n }\n\n /**\n * @inheritDoc\n */\n bindClient(client) {\n var top = this.getStackTop();\n top.client = client;\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n }\n\n /**\n * @inheritDoc\n */\n pushScope() {\n // We want to clone the content of prev scope\n var scope = Scope.clone(this.getScope());\n this.getStack().push({\n client: this.getClient(),\n scope,\n });\n return scope;\n }\n\n /**\n * @inheritDoc\n */\n popScope() {\n if (this.getStack().length <= 1) return false;\n return !!this.getStack().pop();\n }\n\n /**\n * @inheritDoc\n */\n withScope(callback) {\n var scope = this.pushScope();\n try {\n callback(scope);\n } finally {\n this.popScope();\n }\n }\n\n /**\n * @inheritDoc\n */\n getClient() {\n return this.getStackTop().client ;\n }\n\n /** Returns the scope of the top stack. */\n getScope() {\n return this.getStackTop().scope;\n }\n\n /** Returns the scope stack for domains or the process. */\n getStack() {\n return this._stack;\n }\n\n /** Returns the topmost scope layer in the order domain > local > process. */\n getStackTop() {\n return this._stack[this._stack.length - 1];\n }\n\n /**\n * @inheritDoc\n */\n captureException(exception, hint) {\n var eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n var syntheticException = new Error('Sentry syntheticException');\n this._withClient((client, scope) => {\n client.captureException(\n exception,\n {\n originalException: exception,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n scope,\n );\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n captureMessage(\n message,\n level,\n hint,\n ) {\n var eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n var syntheticException = new Error(message);\n this._withClient((client, scope) => {\n client.captureMessage(\n message,\n level,\n {\n originalException: message,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n scope,\n );\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n captureEvent(event, hint) {\n var eventId = hint && hint.event_id ? hint.event_id : uuid4();\n if (event.type !== 'transaction') {\n this._lastEventId = eventId;\n }\n\n this._withClient((client, scope) => {\n client.captureEvent(event, { ...hint, event_id: eventId }, scope);\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n lastEventId() {\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n addBreadcrumb(breadcrumb, hint) {\n const { scope, client } = this.getStackTop();\n\n if (!scope || !client) return;\n\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } =\n (client.getOptions && client.getOptions()) || {};\n\n if (maxBreadcrumbs <= 0) return;\n\n var timestamp = dateTimestampInSeconds();\n var mergedBreadcrumb = { timestamp, ...breadcrumb };\n var finalBreadcrumb = beforeBreadcrumb\n ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) )\n : mergedBreadcrumb;\n\n if (finalBreadcrumb === null) return;\n\n scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n }\n\n /**\n * @inheritDoc\n */\n setUser(user) {\n var scope = this.getScope();\n if (scope) scope.setUser(user);\n }\n\n /**\n * @inheritDoc\n */\n setTags(tags) {\n var scope = this.getScope();\n if (scope) scope.setTags(tags);\n }\n\n /**\n * @inheritDoc\n */\n setExtras(extras) {\n var scope = this.getScope();\n if (scope) scope.setExtras(extras);\n }\n\n /**\n * @inheritDoc\n */\n setTag(key, value) {\n var scope = this.getScope();\n if (scope) scope.setTag(key, value);\n }\n\n /**\n * @inheritDoc\n */\n setExtra(key, extra) {\n var scope = this.getScope();\n if (scope) scope.setExtra(key, extra);\n }\n\n /**\n * @inheritDoc\n */\n setContext(name, context) {\n var scope = this.getScope();\n if (scope) scope.setContext(name, context);\n }\n\n /**\n * @inheritDoc\n */\n configureScope(callback) {\n const { scope, client } = this.getStackTop();\n if (scope && client) {\n callback(scope);\n }\n }\n\n /**\n * @inheritDoc\n */\n run(callback) {\n var oldHub = makeMain(this);\n try {\n callback(this);\n } finally {\n makeMain(oldHub);\n }\n }\n\n /**\n * @inheritDoc\n */\n getIntegration(integration) {\n var client = this.getClient();\n if (!client) return null;\n try {\n return client.getIntegration(integration);\n } catch (_oO) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`);\n return null;\n }\n }\n\n /**\n * @inheritDoc\n */\n startTransaction(context, customSamplingContext) {\n return this._callExtensionMethod('startTransaction', context, customSamplingContext);\n }\n\n /**\n * @inheritDoc\n */\n traceHeaders() {\n return this._callExtensionMethod('traceHeaders');\n }\n\n /**\n * @inheritDoc\n */\n captureSession(endSession = false) {\n // both send the update and pull the session from the scope\n if (endSession) {\n return this.endSession();\n }\n\n // only send the update\n this._sendSessionUpdate();\n }\n\n /**\n * @inheritDoc\n */\n endSession() {\n var layer = this.getStackTop();\n var scope = layer && layer.scope;\n var session = scope && scope.getSession();\n if (session) {\n closeSession(session);\n }\n this._sendSessionUpdate();\n\n // the session is over; take it off of the scope\n if (scope) {\n scope.setSession();\n }\n }\n\n /**\n * @inheritDoc\n */\n startSession(context) {\n const { scope, client } = this.getStackTop();\n const { release, environment } = (client && client.getOptions()) || {};\n\n // Will fetch userAgent if called from browser sdk\n var global = getGlobalObject();\n const { userAgent } = global.navigator || {};\n\n var session = makeSession({\n release,\n environment,\n ...(scope && { user: scope.getUser() }),\n ...(userAgent && { userAgent }),\n ...context,\n });\n\n if (scope) {\n // End existing session if there's one\n var currentSession = scope.getSession && scope.getSession();\n if (currentSession && currentSession.status === 'ok') {\n updateSession(currentSession, { status: 'exited' });\n }\n this.endSession();\n\n // Afterwards we set the new session on the scope\n scope.setSession(session);\n }\n\n return session;\n }\n\n /**\n * Returns if default PII should be sent to Sentry and propagated in ourgoing requests\n * when Tracing is used.\n */\n shouldSendDefaultPii() {\n var client = this.getClient();\n var options = client && client.getOptions();\n return Boolean(options && options.sendDefaultPii);\n }\n\n /**\n * Sends the current Session on the scope\n */\n _sendSessionUpdate() {\n const { scope, client } = this.getStackTop();\n if (!scope) return;\n\n var session = scope.getSession();\n if (session) {\n if (client && client.captureSession) {\n client.captureSession(session);\n }\n }\n }\n\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n _withClient(callback) {\n const { scope, client } = this.getStackTop();\n if (client) {\n callback(client, scope);\n }\n }\n\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-ignore Function lacks ending return statement and return type does not include 'undefined'. ts(2366)\n _callExtensionMethod(method, ...args) {\n var carrier = getMainCarrier();\n var sentry = carrier.__SENTRY__;\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(`Extension method ${method} couldn't be found, doing nothing.`);\n }\n}\n\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nfunction getMainCarrier() {\n var carrier = getGlobalObject();\n carrier.__SENTRY__ = carrier.__SENTRY__ || {\n extensions: {},\n hub: undefined,\n };\n return carrier;\n}\n\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nfunction makeMain(hub) {\n var registry = getMainCarrier();\n var oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nfunction getCurrentHub() {\n // Get main carrier (global for every environment)\n var registry = getMainCarrier();\n\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n\n // Prefer domains over global if they are there (applicable only to Node environment)\n if (isNodeEnv()) {\n return getHubFromActiveDomain(registry);\n }\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n\n/**\n * Try to read the hub from an active domain, and fallback to the registry if one doesn't exist\n * @returns discovered hub\n */\nfunction getHubFromActiveDomain(registry) {\n try {\n var sentry = getMainCarrier().__SENTRY__;\n var activeDomain = sentry && sentry.extensions && sentry.extensions.domain && sentry.extensions.domain.active;\n\n // If there's no active domain, just return global hub\n if (!activeDomain) {\n return getHubFromCarrier(registry);\n }\n\n // If there's no hub on current domain, or it's an old API, assign a new one\n if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(API_VERSION)) {\n var registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, Scope.clone(registryHubTopStack.scope)));\n }\n\n // Return hub that lives on a domain\n return getHubFromCarrier(activeDomain);\n } catch (_Oo) {\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n }\n}\n\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier) {\n return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);\n}\n\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nfunction getHubFromCarrier(carrier) {\n return getGlobalSingleton('hub', () => new Hub(), carrier);\n}\n\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n * @returns A boolean indicating success or failure\n */\nfunction setHubOnCarrier(carrier, hub) {\n if (!carrier) return false;\n var __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n __SENTRY__.hub = hub;\n return true;\n}\n\nexport { API_VERSION, Hub, getCurrentHub, getHubFromCarrier, getMainCarrier, makeMain, setHubOnCarrier };\n//# sourceMappingURL=hub.js.map\n","import { isPlainObject, dateTimestampInSeconds, getGlobalSingleton, SyncPromise, logger, isThenable } from '@sentry/utils';\nimport { updateSession } from './session.js';\n\n/**\n * Absolute maximum number of breadcrumbs added to an event.\n * The `maxBreadcrumbs` option cannot be higher than this value.\n */\nvar MAX_BREADCRUMBS = 100;\n\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nclass Scope {\n /** Flag if notifying is happening. */\n \n\n /** Callback for client to receive scope changes. */\n \n\n /** Callback list that will be called after {@link applyToEvent}. */\n \n\n /** Array of breadcrumbs. */\n \n\n /** User */\n \n\n /** Tags */\n \n\n /** Extra */\n \n\n /** Contexts */\n \n\n /** Attachments */\n \n\n /**\n * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get\n * sent to Sentry\n */\n \n\n /** Fingerprint */\n \n\n /** Severity */\n \n\n /** Transaction Name */\n \n\n /** Span */\n \n\n /** Session */\n \n\n /** Request Mode Session Status */\n \n\n constructor() {\n this._notifyingListeners = false;\n this._scopeListeners = [];\n this._eventProcessors = [];\n this._breadcrumbs = [];\n this._attachments = [];\n this._user = {};\n this._tags = {};\n this._extra = {};\n this._contexts = {};\n this._sdkProcessingMetadata = {};\n }\n\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n static clone(scope) {\n var newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = [...scope._breadcrumbs];\n newScope._tags = { ...scope._tags };\n newScope._extra = { ...scope._extra };\n newScope._contexts = { ...scope._contexts };\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._session = scope._session;\n newScope._transactionName = scope._transactionName;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = [...scope._eventProcessors];\n newScope._requestSession = scope._requestSession;\n newScope._attachments = [...scope._attachments];\n }\n return newScope;\n }\n\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n addScopeListener(callback) {\n this._scopeListeners.push(callback);\n }\n\n /**\n * @inheritDoc\n */\n addEventProcessor(callback) {\n this._eventProcessors.push(callback);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setUser(user) {\n this._user = user || {};\n if (this._session) {\n updateSession(this._session, { user });\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getUser() {\n return this._user;\n }\n\n /**\n * @inheritDoc\n */\n getRequestSession() {\n return this._requestSession;\n }\n\n /**\n * @inheritDoc\n */\n setRequestSession(requestSession) {\n this._requestSession = requestSession;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTags(tags) {\n this._tags = {\n ...this._tags,\n ...tags,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTag(key, value) {\n this._tags = { ...this._tags, [key]: value };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setExtras(extras) {\n this._extra = {\n ...this._extra,\n ...extras,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setExtra(key, extra) {\n this._extra = { ...this._extra, [key]: extra };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setFingerprint(fingerprint) {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setLevel(\n level,\n ) {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTransactionName(name) {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setContext(key, context) {\n if (context === null) {\n delete this._contexts[key];\n } else {\n this._contexts = { ...this._contexts, [key]: context };\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setSpan(span) {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getSpan() {\n return this._span;\n }\n\n /**\n * @inheritDoc\n */\n getTransaction() {\n // Often, this span (if it exists at all) will be a transaction, but it's not guaranteed to be. Regardless, it will\n // have a pointer to the currently-active transaction.\n var span = this.getSpan();\n return span && span.transaction;\n }\n\n /**\n * @inheritDoc\n */\n setSession(session) {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getSession() {\n return this._session;\n }\n\n /**\n * @inheritDoc\n */\n update(captureContext) {\n if (!captureContext) {\n return this;\n }\n\n if (typeof captureContext === 'function') {\n var updatedScope = (captureContext )(this);\n return updatedScope instanceof Scope ? updatedScope : this;\n }\n\n if (captureContext instanceof Scope) {\n this._tags = { ...this._tags, ...captureContext._tags };\n this._extra = { ...this._extra, ...captureContext._extra };\n this._contexts = { ...this._contexts, ...captureContext._contexts };\n if (captureContext._user && Object.keys(captureContext._user).length) {\n this._user = captureContext._user;\n }\n if (captureContext._level) {\n this._level = captureContext._level;\n }\n if (captureContext._fingerprint) {\n this._fingerprint = captureContext._fingerprint;\n }\n if (captureContext._requestSession) {\n this._requestSession = captureContext._requestSession;\n }\n } else if (isPlainObject(captureContext)) {\n captureContext = captureContext ;\n this._tags = { ...this._tags, ...captureContext.tags };\n this._extra = { ...this._extra, ...captureContext.extra };\n this._contexts = { ...this._contexts, ...captureContext.contexts };\n if (captureContext.user) {\n this._user = captureContext.user;\n }\n if (captureContext.level) {\n this._level = captureContext.level;\n }\n if (captureContext.fingerprint) {\n this._fingerprint = captureContext.fingerprint;\n }\n if (captureContext.requestSession) {\n this._requestSession = captureContext.requestSession;\n }\n }\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n clear() {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._requestSession = undefined;\n this._span = undefined;\n this._session = undefined;\n this._notifyScopeListeners();\n this._attachments = [];\n return this;\n }\n\n /**\n * @inheritDoc\n */\n addBreadcrumb(breadcrumb, maxBreadcrumbs) {\n var maxCrumbs = typeof maxBreadcrumbs === 'number' ? Math.min(maxBreadcrumbs, MAX_BREADCRUMBS) : MAX_BREADCRUMBS;\n\n // No data has been changed, so don't notify scope listeners\n if (maxCrumbs <= 0) {\n return this;\n }\n\n var mergedBreadcrumb = {\n timestamp: dateTimestampInSeconds(),\n ...breadcrumb,\n };\n this._breadcrumbs = [...this._breadcrumbs, mergedBreadcrumb].slice(-maxCrumbs);\n this._notifyScopeListeners();\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n clearBreadcrumbs() {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n addAttachment(attachment) {\n this._attachments.push(attachment);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getAttachments() {\n return this._attachments;\n }\n\n /**\n * @inheritDoc\n */\n clearAttachments() {\n this._attachments = [];\n return this;\n }\n\n /**\n * Applies the current context and fingerprint to the event.\n * Note that breadcrumbs will be added by the client.\n * Also if the event has already breadcrumbs on it, we do not merge them.\n * @param event Event\n * @param hint May contain additional information about the original exception.\n * @hidden\n */\n applyToEvent(event, hint = {}) {\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = { ...this._extra, ...event.extra };\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = { ...this._tags, ...event.tags };\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = { ...this._user, ...event.user };\n }\n if (this._contexts && Object.keys(this._contexts).length) {\n event.contexts = { ...this._contexts, ...event.contexts };\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transactionName) {\n event.transaction = this._transactionName;\n }\n\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relies on that.\n if (this._span) {\n event.contexts = { trace: this._span.getTraceContext(), ...event.contexts };\n var transactionName = this._span.transaction && this._span.transaction.name;\n if (transactionName) {\n event.tags = { transaction: transactionName, ...event.tags };\n }\n }\n\n this._applyFingerprint(event);\n\n event.breadcrumbs = [...(event.breadcrumbs || []), ...this._breadcrumbs];\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n\n event.sdkProcessingMetadata = { ...event.sdkProcessingMetadata, ...this._sdkProcessingMetadata };\n\n return this._notifyEventProcessors([...getGlobalEventProcessors(), ...this._eventProcessors], event, hint);\n }\n\n /**\n * Add data which will be accessible during event processing but won't get sent to Sentry\n */\n setSDKProcessingMetadata(newData) {\n this._sdkProcessingMetadata = { ...this._sdkProcessingMetadata, ...newData };\n\n return this;\n }\n\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n _notifyEventProcessors(\n processors,\n event,\n hint,\n index = 0,\n ) {\n return new SyncPromise((resolve, reject) => {\n var processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n var result = processor({ ...event }, hint) ;\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n processor.id &&\n result === null &&\n logger.log(`Event processor \"${processor.id}\" dropped event`);\n\n if (isThenable(result)) {\n void result\n .then(final => this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve))\n .then(null, reject);\n } else {\n void this._notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n }\n\n /**\n * This will be called on every set call.\n */\n _notifyScopeListeners() {\n // We need this check for this._notifyingListeners to be able to work on scope during updates\n // If this check is not here we'll produce endless recursion when something is done with the scope\n // during the callback.\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach(callback => {\n callback(this);\n });\n this._notifyingListeners = false;\n }\n }\n\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n _applyFingerprint(event) {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint\n ? Array.isArray(event.fingerprint)\n ? event.fingerprint\n : [event.fingerprint]\n : [];\n\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n }\n}\n\n/**\n * Returns the global event processors.\n */\nfunction getGlobalEventProcessors() {\n return getGlobalSingleton('globalEventProcessors', () => []);\n}\n\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nfunction addGlobalEventProcessor(callback) {\n getGlobalEventProcessors().push(callback);\n}\n\nexport { Scope, addGlobalEventProcessor };\n//# sourceMappingURL=scope.js.map\n","import { timestampInSeconds, uuid4, dropUndefinedKeys } from '@sentry/utils';\n\n/**\n * Creates a new `Session` object by setting certain default parameters. If optional @param context\n * is passed, the passed properties are applied to the session object.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns a new `Session` object\n */\nfunction makeSession(context) {\n // Both timestamp and started are in seconds since the UNIX epoch.\n var startingTime = timestampInSeconds();\n\n var session = {\n sid: uuid4(),\n init: true,\n timestamp: startingTime,\n started: startingTime,\n duration: 0,\n status: 'ok',\n errors: 0,\n ignoreDuration: false,\n toJSON: () => sessionToJSON(session),\n };\n\n if (context) {\n updateSession(session, context);\n }\n\n return session;\n}\n\n/**\n * Updates a session object with the properties passed in the context.\n *\n * Note that this function mutates the passed object and returns void.\n * (Had to do this instead of returning a new and updated session because closing and sending a session\n * makes an update to the session after it was passed to the sending logic.\n * @see BaseClient.captureSession )\n *\n * @param session the `Session` to update\n * @param context the `SessionContext` holding the properties that should be updated in @param session\n */\nfunction updateSession(session, context = {}) {\n if (context.user) {\n if (!session.ipAddress && context.user.ip_address) {\n session.ipAddress = context.user.ip_address;\n }\n\n if (!session.did && !context.did) {\n session.did = context.user.id || context.user.email || context.user.username;\n }\n }\n\n session.timestamp = context.timestamp || timestampInSeconds();\n\n if (context.ignoreDuration) {\n session.ignoreDuration = context.ignoreDuration;\n }\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n session.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.init !== undefined) {\n session.init = context.init;\n }\n if (!session.did && context.did) {\n session.did = `${context.did}`;\n }\n if (typeof context.started === 'number') {\n session.started = context.started;\n }\n if (session.ignoreDuration) {\n session.duration = undefined;\n } else if (typeof context.duration === 'number') {\n session.duration = context.duration;\n } else {\n var duration = session.timestamp - session.started;\n session.duration = duration >= 0 ? duration : 0;\n }\n if (context.release) {\n session.release = context.release;\n }\n if (context.environment) {\n session.environment = context.environment;\n }\n if (!session.ipAddress && context.ipAddress) {\n session.ipAddress = context.ipAddress;\n }\n if (!session.userAgent && context.userAgent) {\n session.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n session.errors = context.errors;\n }\n if (context.status) {\n session.status = context.status;\n }\n}\n\n/**\n * Closes a session by setting its status and updating the session object with it.\n * Internally calls `updateSession` to update the passed session object.\n *\n * Note that this function mutates the passed session (@see updateSession for explanation).\n *\n * @param session the `Session` object to be closed\n * @param status the `SessionStatus` with which the session was closed. If you don't pass a status,\n * this function will keep the previously set status, unless it was `'ok'` in which case\n * it is changed to `'exited'`.\n */\nfunction closeSession(session, status) {\n let context = {};\n if (status) {\n context = { status };\n } else if (session.status === 'ok') {\n context = { status: 'exited' };\n }\n\n updateSession(session, context);\n}\n\n/**\n * Serializes a passed session object to a JSON object with a slightly different structure.\n * This is necessary because the Sentry backend requires a slightly different schema of a session\n * than the one the JS SDKs use internally.\n *\n * @param session the session to be converted\n *\n * @returns a JSON object of the passed session\n */\nfunction sessionToJSON(session) {\n return dropUndefinedKeys({\n sid: `${session.sid}`,\n init: session.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(session.started * 1000).toISOString(),\n timestamp: new Date(session.timestamp * 1000).toISOString(),\n status: session.status,\n errors: session.errors,\n did: typeof session.did === 'number' || typeof session.did === 'string' ? `${session.did}` : undefined,\n duration: session.duration,\n attrs: {\n release: session.release,\n environment: session.environment,\n ip_address: session.ipAddress,\n user_agent: session.userAgent,\n },\n });\n}\n\nexport { closeSession, makeSession, updateSession };\n//# sourceMappingURL=session.js.map\n","import { isString } from './is.js';\nimport { logger } from './logger.js';\n\nvar BAGGAGE_HEADER_NAME = 'baggage';\n\nvar SENTRY_BAGGAGE_KEY_PREFIX = 'sentry-';\n\nvar SENTRY_BAGGAGE_KEY_PREFIX_REGEX = /^sentry-/;\n\n/**\n * Max length of a serialized baggage string\n *\n * https://www.w3.org/TR/baggage/#limits\n */\nvar MAX_BAGGAGE_STRING_LENGTH = 8192;\n\n/** Create an instance of Baggage */\nfunction createBaggage(initItems, baggageString = '', mutable = true) {\n return [{ ...initItems }, baggageString, mutable];\n}\n\n/** Get a value from baggage */\nfunction getBaggageValue(baggage, key) {\n return baggage[0][key];\n}\n\n/** Add a value to baggage */\nfunction setBaggageValue(baggage, key, value) {\n if (isBaggageMutable(baggage)) {\n baggage[0][key] = value;\n }\n}\n\n/** Check if the Sentry part of the passed baggage (i.e. the first element in the tuple) is empty */\nfunction isSentryBaggageEmpty(baggage) {\n return Object.keys(baggage[0]).length === 0;\n}\n\n/** Returns Sentry specific baggage values */\nfunction getSentryBaggageItems(baggage) {\n return baggage[0];\n}\n\n/**\n * Returns 3rd party baggage string of @param baggage\n * @param baggage\n */\nfunction getThirdPartyBaggage(baggage) {\n return baggage[1];\n}\n\n/**\n * Checks if baggage is mutable\n * @param baggage\n * @returns true if baggage is mutable, else false\n */\nfunction isBaggageMutable(baggage) {\n return baggage[2];\n}\n\n/**\n * Sets the passed baggage immutable\n * @param baggage\n */\nfunction setBaggageImmutable(baggage) {\n baggage[2] = false;\n}\n\n/** Serialize a baggage object */\nfunction serializeBaggage(baggage) {\n return Object.keys(baggage[0]).reduce((prev, key) => {\n var val = baggage[0][key] ;\n var baggageEntry = `${SENTRY_BAGGAGE_KEY_PREFIX}${encodeURIComponent(key)}=${encodeURIComponent(val)}`;\n var newVal = prev === '' ? baggageEntry : `${prev},${baggageEntry}`;\n if (newVal.length > MAX_BAGGAGE_STRING_LENGTH) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn(`Not adding key: ${key} with val: ${val} to baggage due to exceeding baggage size limits.`);\n return prev;\n } else {\n return newVal;\n }\n }, baggage[1]);\n}\n\n/**\n * Parse a baggage header from a string or a string array and return a Baggage object\n *\n * If @param includeThirdPartyEntries is set to true, third party baggage entries are added to the Baggage object\n * (This is necessary for merging potentially pre-existing baggage headers in outgoing requests with\n * our `sentry-` values)\n */\nfunction parseBaggageHeader(\n inputBaggageValue,\n includeThirdPartyEntries = false,\n) {\n // Adding this check here because we got reports of this function failing due to the input value\n // not being a string. This debug log might help us determine what's going on here.\n if ((!Array.isArray(inputBaggageValue) && !isString(inputBaggageValue)) || typeof inputBaggageValue === 'number') {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn(\n '[parseBaggageHeader] Received input value of incompatible type: ',\n typeof inputBaggageValue,\n inputBaggageValue,\n );\n\n // Gonna early-return an empty baggage object so that we don't fail later on\n return createBaggage({}, '');\n }\n\n var baggageEntries = (isString(inputBaggageValue) ? inputBaggageValue : inputBaggageValue.join(','))\n .split(',')\n .map(entry => entry.trim())\n .filter(entry => entry !== '' && (includeThirdPartyEntries || SENTRY_BAGGAGE_KEY_PREFIX_REGEX.test(entry)));\n\n return baggageEntries.reduce(\n ([baggageObj, baggageString], curr) => {\n const [key, val] = curr.split('=');\n if (SENTRY_BAGGAGE_KEY_PREFIX_REGEX.test(key)) {\n var baggageKey = decodeURIComponent(key.split('-')[1]);\n return [\n {\n ...baggageObj,\n [baggageKey]: decodeURIComponent(val),\n },\n baggageString,\n true,\n ];\n } else {\n return [baggageObj, baggageString === '' ? curr : `${baggageString},${curr}`, true];\n }\n },\n [{}, '', true],\n );\n}\n\n/**\n * Merges the baggage header we saved from the incoming request (or meta tag) with\n * a possibly created or modified baggage header by a third party that's been added\n * to the outgoing request header.\n *\n * In case @param headerBaggageString exists, we can safely add the the 3rd party part of @param headerBaggage\n * with our @param incomingBaggage. This is possible because if we modified anything beforehand,\n * it would only affect parts of the sentry baggage (@see Baggage interface).\n *\n * @param incomingBaggage the baggage header of the incoming request that might contain sentry entries\n * @param thirdPartyBaggageHeader possibly existing baggage header string or string[] added from a third\n * party to the request headers\n *\n * @return a merged and serialized baggage string to be propagated with the outgoing request\n */\nfunction mergeAndSerializeBaggage(incomingBaggage, thirdPartyBaggageHeader) {\n if (!incomingBaggage && !thirdPartyBaggageHeader) {\n return '';\n }\n\n var headerBaggage = (thirdPartyBaggageHeader && parseBaggageHeader(thirdPartyBaggageHeader, true)) || undefined;\n var thirdPartyHeaderBaggage = headerBaggage && getThirdPartyBaggage(headerBaggage);\n\n var finalBaggage = createBaggage((incomingBaggage && incomingBaggage[0]) || {}, thirdPartyHeaderBaggage || '');\n return serializeBaggage(finalBaggage);\n}\n\n/**\n * Helper function that takes a raw baggage string (if available) and the processed sentry-trace header\n * data (if available), parses the baggage string and creates a Baggage object\n * If there is no baggage string, it will create an empty Baggage object.\n * In a second step, this functions determines if the created Baggage object should be set immutable\n * to prevent mutation of the Sentry data.\n *\n * Extracted this logic to a function because it's duplicated in a lot of places.\n *\n * @param rawBaggageValue\n * @param sentryTraceHeader\n */\nfunction parseBaggageSetMutability(\n rawBaggageValue,\n sentryTraceHeader,\n) {\n var baggage = parseBaggageHeader(rawBaggageValue || '');\n\n // Because we are always creating a Baggage object by calling `parseBaggageHeader` above\n // (either a filled one or an empty one, even if we didn't get a `baggage` header),\n // we only need to check if we have a sentry-trace header or not. As soon as we have it,\n // we set baggage immutable. In case we don't get a sentry-trace header, we can assume that\n // this SDK is the head of the trace and thus we still permit mutation at this time.\n // There is one exception though, which is that we get a baggage-header with `sentry-`\n // items but NO sentry-trace header. In this case we also set the baggage immutable for now\n // but if smoething like this would ever happen, we should revisit this and determine\n // what this would actually mean for the trace (i.e. is this SDK the head?, what happened\n // before that we don't have a sentry-trace header?, etc)\n (sentryTraceHeader || !isSentryBaggageEmpty(baggage)) && setBaggageImmutable(baggage);\n\n return baggage;\n}\n\nexport { BAGGAGE_HEADER_NAME, MAX_BAGGAGE_STRING_LENGTH, SENTRY_BAGGAGE_KEY_PREFIX, SENTRY_BAGGAGE_KEY_PREFIX_REGEX, createBaggage, getBaggageValue, getSentryBaggageItems, getThirdPartyBaggage, isBaggageMutable, isSentryBaggageEmpty, mergeAndSerializeBaggage, parseBaggageHeader, parseBaggageSetMutability, serializeBaggage, setBaggageImmutable, setBaggageValue };\n//# sourceMappingURL=baggage.js.map\n","import { getGlobalObject } from './global.js';\nimport { isString } from './is.js';\n\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction htmlTreeAsString(elem, keyAttrs) {\n \n\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n let currentElem = elem ;\n var MAX_TRAVERSE_HEIGHT = 5;\n var MAX_OUTPUT_LEN = 80;\n var out = [];\n let height = 0;\n let len = 0;\n var separator = ' > ';\n var sepLength = separator.length;\n let nextStr;\n\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttrs);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n\n out.push(nextStr);\n\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n\n return out.reverse().join(separator);\n } catch (_oO) {\n return '<unknown>';\n }\n}\n\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el, keyAttrs) {\n var elem = el \n\n;\n\n var out = [];\n let className;\n let classes;\n let key;\n let attr;\n let i;\n\n if (!elem || !elem.tagName) {\n return '';\n }\n\n out.push(elem.tagName.toLowerCase());\n\n // Pairs of attribute keys defined in `serializeAttribute` and their values on element.\n var keyAttrPairs =\n keyAttrs && keyAttrs.length\n ? keyAttrs.filter(keyAttr => elem.getAttribute(keyAttr)).map(keyAttr => [keyAttr, elem.getAttribute(keyAttr)])\n : null;\n\n if (keyAttrPairs && keyAttrPairs.length) {\n keyAttrPairs.forEach(keyAttrPair => {\n out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n });\n } else {\n if (elem.id) {\n out.push(`#${elem.id}`);\n }\n\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(`.${classes[i]}`);\n }\n }\n }\n var allowedAttrs = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < allowedAttrs.length; i++) {\n key = allowedAttrs[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(`[${key}=\"${attr}\"]`);\n }\n }\n return out.join('');\n}\n\n/**\n * A safe form of location.href\n */\nfunction getLocationHref() {\n var global = getGlobalObject();\n try {\n return global.document.location.href;\n } catch (oO) {\n return '';\n }\n}\n\nexport { getLocationHref, htmlTreeAsString };\n//# sourceMappingURL=browser.js.map\n","import { createEnvelope } from './envelope.js';\nimport { dateTimestampInSeconds } from './time.js';\n\n/**\n * Creates client report envelope\n * @param discarded_events An array of discard events\n * @param dsn A DSN that can be set on the header. Optional.\n */\nfunction createClientReportEnvelope(\n discarded_events,\n dsn,\n timestamp,\n) {\n var clientReportItem = [\n { type: 'client_report' },\n {\n timestamp: timestamp || dateTimestampInSeconds(),\n discarded_events,\n },\n ];\n return createEnvelope(dsn ? { dsn } : {}, [clientReportItem]);\n}\n\nexport { createClientReportEnvelope };\n//# sourceMappingURL=clientreport.js.map\n","import { SentryError } from './error.js';\n\n/** Regular expression used to parse a Dsn. */\nvar DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+))?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n\nfunction isValidProtocol(protocol) {\n return protocol === 'http' || protocol === 'https';\n}\n\n/**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\nfunction dsnToString(dsn, withPassword = false) {\n const { host, path, pass, port, projectId, protocol, publicKey } = dsn;\n return (\n `${protocol}://${publicKey}${withPassword && pass ? `:${pass}` : ''}` +\n `@${host}${port ? `:${port}` : ''}/${path ? `${path}/` : path}${projectId}`\n );\n}\n\n/**\n * Parses a Dsn from a given string.\n *\n * @param str A Dsn as string\n * @returns Dsn as DsnComponents\n */\nfunction dsnFromString(str) {\n var match = DSN_REGEX.exec(str);\n\n if (!match) {\n throw new SentryError(`Invalid Sentry Dsn: ${str}`);\n }\n\n const [protocol, publicKey, pass = '', host, port = '', lastPath] = match.slice(1);\n let path = '';\n let projectId = lastPath;\n\n var split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop() ;\n }\n\n if (projectId) {\n var projectMatch = projectId.match(/^\\d+/);\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n\n return dsnFromComponents({ host, pass, path, projectId, port, protocol: protocol , publicKey });\n}\n\nfunction dsnFromComponents(components) {\n return {\n protocol: components.protocol,\n publicKey: components.publicKey || '',\n pass: components.pass || '',\n host: components.host,\n port: components.port || '',\n path: components.path || '',\n projectId: components.projectId,\n };\n}\n\nfunction validateDsn(dsn) {\n if (!(typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__)) {\n return;\n }\n\n const { port, projectId, protocol } = dsn;\n\n var requiredComponents = ['protocol', 'publicKey', 'host', 'projectId'];\n requiredComponents.forEach(component => {\n if (!dsn[component]) {\n throw new SentryError(`Invalid Sentry Dsn: ${component} missing`);\n }\n });\n\n if (!projectId.match(/^\\d+$/)) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid projectId ${projectId}`);\n }\n\n if (!isValidProtocol(protocol)) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid protocol ${protocol}`);\n }\n\n if (port && isNaN(parseInt(port, 10))) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid port ${port}`);\n }\n\n return true;\n}\n\n/** The Sentry Dsn, identifying a Sentry instance and project. */\nfunction makeDsn(from) {\n var components = typeof from === 'string' ? dsnFromString(from) : dsnFromComponents(from);\n validateDsn(components);\n return components;\n}\n\n/**\n * Changes a Dsn to point to the `relay` server running in the Lambda Extension.\n *\n * This is only used by the serverless integration for AWS Lambda.\n *\n * @param originalDsn The original Dsn of the customer.\n * @returns Dsn pointing to Lambda extension.\n */\nfunction extensionRelayDSN(originalDsn) {\n if (originalDsn === undefined) {\n return undefined;\n }\n\n var dsn = dsnFromString(originalDsn);\n dsn.host = 'localhost';\n dsn.port = '3000';\n dsn.protocol = 'http';\n\n return dsnToString(dsn);\n}\n\nexport { dsnToString, extensionRelayDSN, makeDsn };\n//# sourceMappingURL=dsn.js.map\n","/*\n * This module exists for optimizations in the build process through rollup and terser. We define some global\n * constants, which can be overridden during build. By guarding certain pieces of code with functions that return these\n * constants, we can control whether or not they appear in the final bundle. (Any code guarded by a false condition will\n * never run, and will hence be dropped during treeshaking.) The two primary uses for this are stripping out calls to\n * `logger` and preventing node-related code from appearing in browser bundles.\n *\n * Attention:\n * This file should not be used to define constants/flags that are intended to be used for tree-shaking conducted by\n * users. These fags should live in their respective packages, as we identified user tooling (specifically webpack)\n * having issues tree-shaking these constants across package boundaries.\n * An example for this is the __SENTRY_DEBUG__ constant. It is declared in each package individually because we want\n * users to be able to shake away expressions that it guards.\n */\n\n/**\n * Figures out if we're building a browser bundle.\n *\n * @returns true if this is a browser bundle build.\n */\nfunction isBrowserBundle() {\n return typeof __SENTRY_BROWSER_BUNDLE__ !== 'undefined' && !!__SENTRY_BROWSER_BUNDLE__;\n}\n\nexport { isBrowserBundle };\n//# sourceMappingURL=env.js.map\n","import { dropUndefinedKeys } from './object.js';\n\n/**\n * Creates an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nfunction createEnvelope(headers, items = []) {\n return [headers, items] ;\n}\n\n/**\n * Add an item to an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nfunction addItemToEnvelope(envelope, newItem) {\n const [headers, items] = envelope;\n return [headers, [...items, newItem]] ;\n}\n\n/**\n * Convenience function to loop through the items and item types of an envelope.\n * (This function was mostly created because working with envelope types is painful at the moment)\n */\nfunction forEachEnvelopeItem(\n envelope,\n callback,\n) {\n var envelopeItems = envelope[1];\n envelopeItems.forEach((envelopeItem) => {\n var envelopeItemType = envelopeItem[0].type;\n callback(envelopeItem, envelopeItemType);\n });\n}\n\nfunction encodeUTF8(input, textEncoder) {\n var utf8 = textEncoder || new TextEncoder();\n return utf8.encode(input);\n}\n\n/**\n * Serializes an envelope.\n */\nfunction serializeEnvelope(envelope, textEncoder) {\n const [envHeaders, items] = envelope;\n\n // Initially we construct our envelope as a string and only convert to binary chunks if we encounter binary data\n let parts = JSON.stringify(envHeaders);\n\n function append(next) {\n if (typeof parts === 'string') {\n parts = typeof next === 'string' ? parts + next : [encodeUTF8(parts, textEncoder), next];\n } else {\n parts.push(typeof next === 'string' ? encodeUTF8(next, textEncoder) : next);\n }\n }\n\n for (var item of items) {\n const [itemHeaders, payload] = item ;\n append(`\\n${JSON.stringify(itemHeaders)}\\n`);\n append(typeof payload === 'string' || payload instanceof Uint8Array ? payload : JSON.stringify(payload));\n }\n\n return typeof parts === 'string' ? parts : concatBuffers(parts);\n}\n\nfunction concatBuffers(buffers) {\n var totalLength = buffers.reduce((acc, buf) => acc + buf.length, 0);\n\n var merged = new Uint8Array(totalLength);\n let offset = 0;\n for (var buffer of buffers) {\n merged.set(buffer, offset);\n offset += buffer.length;\n }\n\n return merged;\n}\n\n/**\n * Creates attachment envelope items\n */\nfunction createAttachmentEnvelopeItem(\n attachment,\n textEncoder,\n) {\n var buffer = typeof attachment.data === 'string' ? encodeUTF8(attachment.data, textEncoder) : attachment.data;\n\n return [\n dropUndefinedKeys({\n type: 'attachment',\n length: buffer.length,\n filename: attachment.filename,\n content_type: attachment.contentType,\n attachment_type: attachment.attachmentType,\n }),\n buffer,\n ];\n}\n\nvar ITEM_TYPE_TO_DATA_CATEGORY_MAP = {\n session: 'session',\n sessions: 'session',\n attachment: 'attachment',\n transaction: 'transaction',\n event: 'error',\n client_report: 'internal',\n user_report: 'default',\n};\n\n/**\n * Maps the type of an envelope item to a data category.\n */\nfunction envelopeItemTypeToDataCategory(type) {\n return ITEM_TYPE_TO_DATA_CATEGORY_MAP[type];\n}\n\nexport { addItemToEnvelope, createAttachmentEnvelopeItem, createEnvelope, envelopeItemTypeToDataCategory, forEachEnvelopeItem, serializeEnvelope };\n//# sourceMappingURL=envelope.js.map\n","/** An error emitted by Sentry SDKs and related utilities. */\nclass SentryError extends Error {\n /** Display name of this error instance. */\n \n\n constructor( message) {\n super(message);this.message = message;;\n\n this.name = new.target.prototype.constructor.name;\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\nexport { SentryError };\n//# sourceMappingURL=error.js.map\n","import { isNodeEnv } from './node.js';\n\n/** Internal */\n\nvar fallbackGlobalObject = {};\n\n/**\n * Safely get global scope object\n *\n * @returns Global scope object\n */\nfunction getGlobalObject() {\n return (\n isNodeEnv()\n ? global\n : typeof window !== 'undefined' ? window : typeof self !== 'undefined'\n ? self\n : fallbackGlobalObject\n ) ;\n}\n\n/**\n * Returns a global singleton contained in the global `__SENTRY__` object.\n *\n * If the singleton doesn't already exist in `__SENTRY__`, it will be created using the given factory\n * function and added to the `__SENTRY__` object.\n *\n * @param name name of the global singleton on __SENTRY__\n * @param creator creator Factory function to create the singleton if it doesn't already exist on `__SENTRY__`\n * @param obj (Optional) The global object on which to look for `__SENTRY__`, if not `getGlobalObject`'s return value\n * @returns the singleton\n */\nfunction getGlobalSingleton(name, creator, obj) {\n var global = (obj || getGlobalObject()) ;\n var __SENTRY__ = (global.__SENTRY__ = global.__SENTRY__ || {});\n var singleton = __SENTRY__[name] || (__SENTRY__[name] = creator());\n return singleton;\n}\n\nexport { getGlobalObject, getGlobalSingleton };\n//# sourceMappingURL=global.js.map\n","import { getGlobalObject } from './global.js';\nimport { isInstanceOf, isString } from './is.js';\nimport { logger, CONSOLE_LEVELS } from './logger.js';\nimport { fill } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\nimport { supportsNativeFetch, supportsHistory } from './supports.js';\n\nvar global = getGlobalObject();\n\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\n\nvar handlers = {};\nvar instrumented = {};\n\n/** Instruments given API */\nfunction instrument(type) {\n if (instrumented[type]) {\n return;\n }\n\n instrumented[type] = true;\n\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n case 'dom':\n instrumentDOM();\n break;\n case 'xhr':\n instrumentXHR();\n break;\n case 'fetch':\n instrumentFetch();\n break;\n case 'history':\n instrumentHistory();\n break;\n case 'error':\n instrumentError();\n break;\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n default:\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('unknown instrumentation type:', type);\n return;\n }\n}\n\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addInstrumentationHandler(type, callback) {\n handlers[type] = handlers[type] || [];\n (handlers[type] ).push(callback);\n instrument(type);\n}\n\n/** JSDoc */\nfunction triggerHandlers(type, data) {\n if (!type || !handlers[type]) {\n return;\n }\n\n for (var handler of handlers[type] || []) {\n try {\n handler(data);\n } catch (e) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.error(\n `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(handler)}\\nError:`,\n e,\n );\n }\n }\n}\n\n/** JSDoc */\nfunction instrumentConsole() {\n if (!('console' in global)) {\n return;\n }\n\n CONSOLE_LEVELS.forEach(function (level) {\n if (!(level in global.console)) {\n return;\n }\n\n fill(global.console, level, function (originalConsoleMethod) {\n return function (...args) {\n triggerHandlers('console', { args, level });\n\n // this fails for some browsers. :(\n if (originalConsoleMethod) {\n originalConsoleMethod.apply(global.console, args);\n }\n };\n });\n });\n}\n\n/** JSDoc */\nfunction instrumentFetch() {\n if (!supportsNativeFetch()) {\n return;\n }\n\n fill(global, 'fetch', function (originalFetch) {\n return function (...args) {\n var handlerData = {\n args,\n fetchData: {\n method: getFetchMethod(args),\n url: getFetchUrl(args),\n },\n startTimestamp: Date.now(),\n };\n\n triggerHandlers('fetch', {\n ...handlerData,\n });\n\n return originalFetch.apply(global, args).then(\n (response) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n response,\n });\n return response;\n },\n (error) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n error,\n });\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the sentry.javascript SDK caught an error invoking your application code.\n // This is expected behavior and NOT indicative of a bug with sentry.javascript.\n throw error;\n },\n );\n };\n });\n}\n\n/** Extract `method` from fetch call arguments */\nfunction getFetchMethod(fetchArgs = []) {\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n return 'GET';\n}\n\n/** Extract `url` from fetch call arguments */\nfunction getFetchUrl(fetchArgs = []) {\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n return String(fetchArgs[0]);\n}\n\n/** JSDoc */\nfunction instrumentXHR() {\n if (!('XMLHttpRequest' in global)) {\n return;\n }\n\n var xhrproto = XMLHttpRequest.prototype;\n\n fill(xhrproto, 'open', function (originalOpen) {\n return function ( ...args) {\n var xhr = this;\n var url = args[1];\n var xhrInfo = (xhr.__sentry_xhr__ = {\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1],\n });\n\n // if Sentry key appears in URL, don't capture it as a request\n if (isString(url) && xhrInfo.method === 'POST' && url.match(/sentry_key/)) {\n xhr.__sentry_own_request__ = true;\n }\n\n var onreadystatechangeHandler = function () {\n if (xhr.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n xhrInfo.status_code = xhr.status;\n } catch (e) {\n /* do nothing */\n }\n\n triggerHandlers('xhr', {\n args,\n endTimestamp: Date.now(),\n startTimestamp: Date.now(),\n xhr,\n });\n }\n };\n\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n fill(xhr, 'onreadystatechange', function (original) {\n return function (...readyStateArgs) {\n onreadystatechangeHandler();\n return original.apply(xhr, readyStateArgs);\n };\n });\n } else {\n xhr.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n\n return originalOpen.apply(xhr, args);\n };\n });\n\n fill(xhrproto, 'send', function (originalSend) {\n return function ( ...args) {\n if (this.__sentry_xhr__ && args[0] !== undefined) {\n this.__sentry_xhr__.body = args[0];\n }\n\n triggerHandlers('xhr', {\n args,\n startTimestamp: Date.now(),\n xhr: this,\n });\n\n return originalSend.apply(this, args);\n };\n });\n}\n\nlet lastHref;\n\n/** JSDoc */\nfunction instrumentHistory() {\n if (!supportsHistory()) {\n return;\n }\n\n var oldOnPopState = global.onpopstate;\n global.onpopstate = function ( ...args) {\n var to = global.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n var from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n if (oldOnPopState) {\n // Apparently this can throw in Firefox when incorrectly implemented plugin is installed.\n // https://github.com/getsentry/sentry-javascript/issues/3344\n // https://github.com/bugsnag/bugsnag-js/issues/469\n try {\n return oldOnPopState.apply(this, args);\n } catch (_oO) {\n // no-empty\n }\n }\n };\n\n /** @hidden */\n function historyReplacementFunction(originalHistoryFunction) {\n return function ( ...args) {\n var url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n var from = lastHref;\n var to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n fill(global.history, 'pushState', historyReplacementFunction);\n fill(global.history, 'replaceState', historyReplacementFunction);\n}\n\nvar debounceDuration = 1000;\nlet debounceTimerID;\nlet lastCapturedEvent;\n\n/**\n * Decide whether the current event should finish the debounce of previously captured one.\n * @param previous previously captured event\n * @param current event to be captured\n */\nfunction shouldShortcircuitPreviousDebounce(previous, current) {\n // If there was no previous event, it should always be swapped for the new one.\n if (!previous) {\n return true;\n }\n\n // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n if (previous.type !== current.type) {\n return true;\n }\n\n try {\n // If both events have the same type, it's still possible that actions were performed on different targets.\n // e.g. 2 clicks on different buttons.\n if (previous.target !== current.target) {\n return true;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n // to which an event listener was attached), we treat them as the same action, as we want to capture\n // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n return false;\n}\n\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\nfunction shouldSkipDOMEvent(event) {\n // We are only interested in filtering `keypress` events for now.\n if (event.type !== 'keypress') {\n return false;\n }\n\n try {\n var target = event.target ;\n\n if (!target || !target.tagName) {\n return true;\n }\n\n // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n // e.g.tabbing through elements, hotkeys, etc.\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return false;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n return true;\n}\n\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param handler function that will be triggered\n * @param globalListener indicates whether event was captured by the global event listener\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nfunction makeDOMEventHandler(handler, globalListener = false) {\n return (event) => {\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors).\n // Ignore if we've already captured that event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n\n // We always want to skip _some_ events.\n if (shouldSkipDOMEvent(event)) {\n return;\n }\n\n var name = event.type === 'keypress' ? 'input' : event.type;\n\n // If there is no debounce timer, it means that we can safely capture the new event and store it for future comparisons.\n if (debounceTimerID === undefined) {\n handler({\n event: event,\n name,\n global: globalListener,\n });\n lastCapturedEvent = event;\n }\n // If there is a debounce awaiting, see if the new event is different enough to treat it as a unique one.\n // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n else if (shouldShortcircuitPreviousDebounce(lastCapturedEvent, event)) {\n handler({\n event: event,\n name,\n global: globalListener,\n });\n lastCapturedEvent = event;\n }\n\n // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n clearTimeout(debounceTimerID);\n debounceTimerID = global.setTimeout(() => {\n debounceTimerID = undefined;\n }, debounceDuration);\n };\n}\n\n/** JSDoc */\nfunction instrumentDOM() {\n if (!('document' in global)) {\n return;\n }\n\n // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n var triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n var globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n global.document.addEventListener('click', globalDOMEventHandler, false);\n global.document.addEventListener('keypress', globalDOMEventHandler, false);\n\n // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n // guaranteed to fire at least once.)\n ['EventTarget', 'Node'].forEach((target) => {\n var proto = (global )[target] && (global )[target].prototype;\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (originalAddEventListener) {\n return function (\n \n type,\n listener,\n options,\n ) {\n if (type === 'click' || type == 'keypress') {\n try {\n var el = this ;\n var handlers = (el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {});\n var handlerForType = (handlers[type] = handlers[type] || { refCount: 0 });\n\n if (!handlerForType.handler) {\n var handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n\n handlerForType.refCount += 1;\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (originalRemoveEventListener) {\n return function (\n \n type,\n listener,\n options,\n ) {\n if (type === 'click' || type == 'keypress') {\n try {\n var el = this ;\n var handlers = el.__sentry_instrumentation_handlers__ || {};\n var handlerForType = handlers[type];\n\n if (handlerForType) {\n handlerForType.refCount -= 1;\n // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = undefined;\n delete handlers[type]; }\n\n // If there are no longer any custom handlers of any type on this element, cleanup everything.\n if (Object.keys(handlers).length === 0) {\n delete el.__sentry_instrumentation_handlers__;\n }\n }\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n },\n );\n });\n}\n\nlet _oldOnErrorHandler = null;\n/** JSDoc */\nfunction instrumentError() {\n _oldOnErrorHandler = global.onerror;\n\n global.onerror = function (msg, url, line, column, error) {\n triggerHandlers('error', {\n column,\n error,\n line,\n msg,\n url,\n });\n\n if (_oldOnErrorHandler) {\n return _oldOnErrorHandler.apply(this, arguments);\n }\n\n return false;\n };\n}\n\nlet _oldOnUnhandledRejectionHandler = null;\n/** JSDoc */\nfunction instrumentUnhandledRejection() {\n _oldOnUnhandledRejectionHandler = global.onunhandledrejection;\n\n global.onunhandledrejection = function (e) {\n triggerHandlers('unhandledrejection', e);\n\n if (_oldOnUnhandledRejectionHandler) {\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n\n return true;\n };\n}\n\nexport { addInstrumentationHandler };\n//# sourceMappingURL=instrument.js.map\n","var objectToString = Object.prototype.toString;\n\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isError(wat) {\n switch (objectToString.call(wat)) {\n case '[object Error]':\n case '[object Exception]':\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n\nfunction isBuiltin(wat, ty) {\n return objectToString.call(wat) === `[object ${ty}]`;\n}\n\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isErrorEvent(wat) {\n return isBuiltin(wat, 'ErrorEvent');\n}\n\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isDOMError(wat) {\n return isBuiltin(wat, 'DOMError');\n}\n\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isDOMException(wat) {\n return isBuiltin(wat, 'DOMException');\n}\n\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isString(wat) {\n return isBuiltin(wat, 'String');\n}\n\n/**\n * Checks whether given value is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isPrimitive(wat) {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isPlainObject(wat) {\n return isBuiltin(wat, 'Object');\n}\n\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isEvent(wat) {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isElement(wat) {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isRegExp(wat) {\n return isBuiltin(wat, 'RegExp');\n}\n\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nfunction isThenable(wat) {\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isSyntheticEvent(wat) {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n\n/**\n * Checks whether given value is NaN\n * {@link isNaN}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isNaN(wat) {\n return typeof wat === 'number' && wat !== wat;\n}\n\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nfunction isInstanceOf(wat, base) {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n\nexport { isDOMError, isDOMException, isElement, isError, isErrorEvent, isEvent, isInstanceOf, isNaN, isPlainObject, isPrimitive, isRegExp, isString, isSyntheticEvent, isThenable };\n//# sourceMappingURL=is.js.map\n","import { getGlobalObject, getGlobalSingleton } from './global.js';\n\n// TODO: Implement different loggers for different environments\nvar global = getGlobalObject();\n\n/** Prefix for logging strings */\nvar PREFIX = 'Sentry Logger ';\n\nvar CONSOLE_LEVELS = ['debug', 'info', 'warn', 'error', 'log', 'assert', 'trace'] ;\n\n/**\n * Temporarily disable sentry console instrumentations.\n *\n * @param callback The function to run against the original `console` messages\n * @returns The results of the callback\n */\nfunction consoleSandbox(callback) {\n var global = getGlobalObject();\n\n if (!('console' in global)) {\n return callback();\n }\n\n var originalConsole = global.console ;\n var wrappedLevels = {};\n\n // Restore all wrapped console methods\n CONSOLE_LEVELS.forEach(level => {\n // TODO(v7): Remove this check as it's only needed for Node 6\n var originalWrappedFunc =\n originalConsole[level] && (originalConsole[level] ).__sentry_original__;\n if (level in global.console && originalWrappedFunc) {\n wrappedLevels[level] = originalConsole[level] ;\n originalConsole[level] = originalWrappedFunc ;\n }\n });\n\n try {\n return callback();\n } finally {\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(level => {\n originalConsole[level] = wrappedLevels[level ];\n });\n }\n}\n\nfunction makeLogger() {\n let enabled = false;\n var logger = {\n enable: () => {\n enabled = true;\n },\n disable: () => {\n enabled = false;\n },\n };\n\n if ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__)) {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = (...args) => {\n if (enabled) {\n consoleSandbox(() => {\n global.console[name](`${PREFIX}[${name}]:`, ...args);\n });\n }\n };\n });\n } else {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = () => undefined;\n });\n }\n\n return logger ;\n}\n\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nlet logger;\nif ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__)) {\n logger = getGlobalSingleton('logger', makeLogger);\n} else {\n logger = makeLogger();\n}\n\nexport { CONSOLE_LEVELS, consoleSandbox, logger };\n//# sourceMappingURL=logger.js.map\n","/**\n * Helper to decycle json objects\n */\nfunction memoBuilder() {\n var hasWeakSet = typeof WeakSet === 'function';\n var inner = hasWeakSet ? new WeakSet() : [];\n function memoize(obj) {\n if (hasWeakSet) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n for (let i = 0; i < inner.length; i++) {\n var value = inner[i];\n if (value === obj) {\n return true;\n }\n }\n inner.push(obj);\n return false;\n }\n\n function unmemoize(obj) {\n if (hasWeakSet) {\n inner.delete(obj);\n } else {\n for (let i = 0; i < inner.length; i++) {\n if (inner[i] === obj) {\n inner.splice(i, 1);\n break;\n }\n }\n }\n }\n return [memoize, unmemoize];\n}\n\nexport { memoBuilder };\n//# sourceMappingURL=memo.js.map\n","import { getGlobalObject } from './global.js';\nimport { addNonEnumerableProperty } from './object.js';\nimport { snipLine } from './string.js';\n\n/**\n * Extended Window interface that allows for Crypto API usage in IE browsers\n */\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nfunction uuid4() {\n var global = getGlobalObject() ;\n var crypto = global.crypto || global.msCrypto;\n\n if (!(crypto === void 0) && crypto.getRandomValues) {\n // Use window.crypto API if available\n var arr = new Uint16Array(8);\n crypto.getRandomValues(arr);\n\n // set 4 in byte 7\n arr[3] = (arr[3] & 0xfff) | 0x4000;\n // set 2 most significant bits of byte 9 to '10'\n arr[4] = (arr[4] & 0x3fff) | 0x8000;\n\n var pad = (num) => {\n let v = num.toString(16);\n while (v.length < 4) {\n v = `0${v}`;\n }\n return v;\n };\n\n return (\n pad(arr[0]) + pad(arr[1]) + pad(arr[2]) + pad(arr[3]) + pad(arr[4]) + pad(arr[5]) + pad(arr[6]) + pad(arr[7])\n );\n }\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, c => {\n var r = (Math.random() * 16) | 0;\n var v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not <a/> href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nfunction parseUrl(url)\n\n {\n if (!url) {\n return {};\n }\n\n var match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n\n if (!match) {\n return {};\n }\n\n // coerce to undefined values to empty string so we don't get 'undefined'\n var query = match[6] || '';\n var fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n relative: match[5] + query + fragment, // everything minus origin\n };\n}\n\nfunction getFirstException(event) {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nfunction getEventDescription(event) {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n var firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '<unknown>';\n }\n return eventId || '<unknown>';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nfunction addExceptionTypeValue(event, value, type) {\n var exception = (event.exception = event.exception || {});\n var values = (exception.values = exception.values || []);\n var firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nfunction addExceptionMechanism(event, newMechanism) {\n var firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n var defaultMechanism = { type: 'generic', handled: true };\n var currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n var mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nvar SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nfunction parseSemver(input) {\n var match = input.match(SEMVER_REGEXP) || [];\n var major = parseInt(match[1], 10);\n var minor = parseInt(match[2], 10);\n var patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nfunction addContextToFrame(lines, frame, linesOfContext = 5) {\n var lineno = frame.lineno || 0;\n var maxLines = lines.length;\n var sourceLine = Math.max(Math.min(maxLines, lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line) => snipLine(line, 0));\n\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line) => snipLine(line, 0));\n}\n\n/**\n * Strip the query string and fragment off of a given URL or path (if present)\n *\n * @param urlPath Full URL or path, including possible query string and/or fragment\n * @returns URL or path without query string or fragment\n */\nfunction stripUrlQueryAndFragment(urlPath) {\n return urlPath.split(/[\\?#]/, 1)[0];\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nfunction checkOrSetAlreadyCaught(exception) {\n if (exception && (exception ).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception , '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n\nexport { addContextToFrame, addExceptionMechanism, addExceptionTypeValue, checkOrSetAlreadyCaught, getEventDescription, parseSemver, parseUrl, stripUrlQueryAndFragment, uuid4 };\n//# sourceMappingURL=misc.js.map\n","import { isBrowserBundle } from './env.js';\n\n/**\n * NOTE: In order to avoid circular dependencies, if you add a function to this module and it needs to print something,\n * you must either a) use `console.log` rather than the logger, or b) put your function elsewhere.\n */\n\n/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\nfunction isNodeEnv() {\n // explicitly check for browser bundles as those can be optimized statically\n // by terser/rollup.\n return (\n !isBrowserBundle() &&\n Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]'\n );\n}\n\n/**\n * Requires a module which is protected against bundler minification.\n *\n * @param request The module path to resolve\n */\nfunction dynamicRequire(mod, request) {\n return mod.require(request);\n}\n\n/**\n * Helper for dynamically loading module that should work with linked dependencies.\n * The problem is that we _should_ be using `require(require.resolve(moduleName, { paths: [cwd()] }))`\n * However it's _not possible_ to do that with Webpack, as it has to know all the dependencies during\n * build time. `require.resolve` is also not available in any other way, so we cannot create,\n * a fake helper like we do with `dynamicRequire`.\n *\n * We always prefer to use local package, thus the value is not returned early from each `try/catch` block.\n * That is to mimic the behavior of `require.resolve` exactly.\n *\n * @param moduleName module name to require\n * @returns possibly required module\n */\nfunction loadModule(moduleName) {\n let mod;\n\n try {\n mod = dynamicRequire(module, moduleName);\n } catch (e) {\n // no-empty\n }\n\n try {\n const { cwd } = dynamicRequire(module, 'process');\n mod = dynamicRequire(module, `${cwd()}/node_modules/${moduleName}`) ;\n } catch (e) {\n // no-empty\n }\n\n return mod;\n}\n\nexport { dynamicRequire, isNodeEnv, loadModule };\n//# sourceMappingURL=node.js.map\n","import { isNaN, isSyntheticEvent } from './is.js';\nimport { memoBuilder } from './memo.js';\nimport { convertToPlainObject } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normallized output..\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\nfunction normalize(input, depth = +Infinity, maxProperties = +Infinity) {\n try {\n // since we're at the outermost level, we don't provide a key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\n\n/** JSDoc */\nfunction normalizeToSize(\n object,\n // Default Node.js REPL depth\n depth = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize = 100 * 1024,\n) {\n var normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized ;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n key,\n value,\n depth = +Infinity,\n maxProperties = +Infinity,\n memo = memoBuilder(),\n) {\n const [memoize, unmemoize] = memo;\n\n // Get the simple cases out of the way first\n if (value === null || (['number', 'boolean', 'string'].includes(typeof value) && !isNaN(value))) {\n return value ;\n }\n\n var stringified = stringifyValue(key, value);\n\n // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n if (!stringified.startsWith('[object ')) {\n return stringified;\n }\n\n // From here on, we can assert that `value` is either an object or an array.\n\n // Do not normalize objects that we know have already been normalized. As a general rule, the\n // \"__sentry_skip_normalization__\" property should only be used sparingly and only should only be set on objects that\n // have already been normalized.\n if ((value )['__sentry_skip_normalization__']) {\n return value ;\n }\n\n // We're also done if we've reached the max depth\n if (depth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n }\n\n // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n if (memoize(value)) {\n return '[Circular ~]';\n }\n\n // If the value has a `toJSON` method, we call it to extract more information\n var valueWithToJSON = value ;\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n var jsonValue = valueWithToJSON.toJSON();\n // We need to normalize the return value of `.toJSON()` in case it has circular references\n return visit('', jsonValue, depth - 1, maxProperties, memo);\n } catch (err) {\n // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n }\n\n // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n var normalized = (Array.isArray(value) ? [] : {}) ;\n let numAdded = 0;\n\n // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n var visitable = convertToPlainObject(value );\n\n for (var visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n }\n\n // Recursively visit all the child nodes\n var visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, depth - 1, maxProperties, memo);\n\n numAdded += 1;\n }\n\n // Once we've visited all the branches, remove the parent from memo storage\n unmemoize(value);\n\n // Return accumulated values\n return normalized;\n}\n\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n key,\n // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n // our internal use, it'll do\n value,\n) {\n try {\n if (key === 'domain' && value && typeof value === 'object' && (value )._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n\n // this catches `undefined` (but not `null`, which is a primitive and can be serialized on its own)\n if (value === void 0) {\n return '[undefined]';\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n return `[object ${(Object.getPrototypeOf(value) ).constructor.name}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n\nexport { normalize, normalizeToSize, visit as walk };\n//# sourceMappingURL=normalize.js.map\n","import { htmlTreeAsString } from './browser.js';\nimport { isError, isEvent, isInstanceOf, isElement, isPlainObject, isPrimitive } from './is.js';\nimport { truncate } from './string.js';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, <other\n * args>)` or `origMethod.apply(this, [<other args>])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n\n var original = source[name] ;\n var wrapped = replacementFactory(original) ;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n try {\n markFunctionWrapped(wrapped, original);\n } catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nfunction addNonEnumerableProperty(obj, name, value) {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nfunction markFunctionWrapped(wrapped, original) {\n var proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nfunction getOriginalFunction(func) {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nfunction urlEncode(object) {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argurment itself, when value is neither an Event nor\n * an Error.\n */\nfunction convertToPlainObject(\n value,\n)\n\n {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value),\n };\n } else if (isEvent(value)) {\n var newObj\n\n = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target) {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '<unknown>';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj) {\n if (typeof obj === 'object' && obj !== null) {\n var extractedProps = {};\n for (var property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = (obj )[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nfunction extractExceptionKeysForMessage(exception, maxLength = 40) {\n var keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n var serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nfunction dropUndefinedKeys(inputValue) {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n var memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n if (isPlainObject(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n var memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n var returnValue = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n for (var key of Object.keys(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue ;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n var memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n var returnValue = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n inputValue.forEach((item) => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n\n return returnValue ;\n }\n\n return inputValue;\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nfunction objectify(wat) {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n objectified = new (wat ).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify, urlEncode };\n//# sourceMappingURL=object.js.map\n","import { SentryError } from './error.js';\nimport { rejectedSyncPromise, SyncPromise, resolvedSyncPromise } from './syncpromise.js';\n\n/**\n * Creates an new PromiseBuffer object with the specified limit\n * @param limit max number of promises that can be stored in the buffer\n */\nfunction makePromiseBuffer(limit) {\n var buffer = [];\n\n function isReady() {\n return limit === undefined || buffer.length < limit;\n }\n\n /**\n * Remove a promise from the queue.\n *\n * @param task Can be any PromiseLike<T>\n * @returns Removed promise.\n */\n function remove(task) {\n return buffer.splice(buffer.indexOf(task), 1)[0];\n }\n\n /**\n * Add a promise (representing an in-flight action) to the queue, and set it to remove itself on fulfillment.\n *\n * @param taskProducer A function producing any PromiseLike<T>; In previous versions this used to be `task:\n * PromiseLike<T>`, but under that model, Promises were instantly created on the call-site and their executor\n * functions therefore ran immediately. Thus, even if the buffer was full, the action still happened. By\n * requiring the promise to be wrapped in a function, we can defer promise creation until after the buffer\n * limit check.\n * @returns The original promise.\n */\n function add(taskProducer) {\n if (!isReady()) {\n return rejectedSyncPromise(new SentryError('Not adding Promise due to buffer limit reached.'));\n }\n\n // start the task and add its promise to the queue\n var task = taskProducer();\n if (buffer.indexOf(task) === -1) {\n buffer.push(task);\n }\n void task\n .then(() => remove(task))\n // Use `then(null, rejectionHandler)` rather than `catch(rejectionHandler)` so that we can use `PromiseLike`\n // rather than `Promise`. `PromiseLike` doesn't have a `.catch` method, making its polyfill smaller. (ES5 didn't\n // have promises, so TS has to polyfill when down-compiling.)\n .then(null, () =>\n remove(task).then(null, () => {\n // We have to add another catch here because `remove()` starts a new promise chain.\n }),\n );\n return task;\n }\n\n /**\n * Wait for all promises in the queue to resolve or for timeout to expire, whichever comes first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the queue is still non-empty. Passing `0` (or\n * not passing anything) will make the promise wait as long as it takes for the queue to drain before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if the queue is already empty or drains before the timeout, and\n * `false` otherwise\n */\n function drain(timeout) {\n return new SyncPromise((resolve, reject) => {\n let counter = buffer.length;\n\n if (!counter) {\n return resolve(true);\n }\n\n // wait for `timeout` ms and then resolve to `false` (if not cancelled first)\n var capturedSetTimeout = setTimeout(() => {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n\n // if all promises resolve in time, cancel the timer and resolve to `true`\n buffer.forEach(item => {\n void resolvedSyncPromise(item).then(() => {\n if (!--counter) {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n }\n }, reject);\n });\n });\n }\n\n return {\n $: buffer,\n add,\n drain,\n };\n}\n\nexport { makePromiseBuffer };\n//# sourceMappingURL=promisebuffer.js.map\n","// Intentionally keeping the key broad, as we don't know for sure what rate limit headers get returned from backend\n\nvar DEFAULT_RETRY_AFTER = 60 * 1000; // 60 seconds\n\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param header string representation of 'Retry-After' header\n * @param now current unix timestamp\n *\n */\nfunction parseRetryAfterHeader(header, now = Date.now()) {\n var headerDelay = parseInt(`${header}`, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n\n var headerDate = Date.parse(`${header}`);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n\n return DEFAULT_RETRY_AFTER;\n}\n\n/**\n * Gets the time that given category is disabled until for rate limiting\n */\nfunction disabledUntil(limits, category) {\n return limits[category] || limits.all || 0;\n}\n\n/**\n * Checks if a category is rate limited\n */\nfunction isRateLimited(limits, category, now = Date.now()) {\n return disabledUntil(limits, category) > now;\n}\n\n/**\n * Update ratelimits from incoming headers.\n * Returns true if headers contains a non-empty rate limiting header.\n */\nfunction updateRateLimits(\n limits,\n { statusCode, headers },\n now = Date.now(),\n) {\n var updatedRateLimits = {\n ...limits,\n };\n\n // \"The name is case-insensitive.\"\n // https://developer.mozilla.org/en-US/docs/Web/API/Headers/get\n var rateLimitHeader = headers && headers['x-sentry-rate-limits'];\n var retryAfterHeader = headers && headers['retry-after'];\n\n if (rateLimitHeader) {\n /**\n * rate limit headers are of the form\n * <header>,<header>,..\n * where each <header> is of the form\n * <retry_after>: <categories>: <scope>: <reason_code>\n * where\n * <retry_after> is a delay in seconds\n * <categories> is the event type(s) (error, transaction, etc) being rate limited and is of the form\n * <category>;<category>;...\n * <scope> is what's being limited (org, project, or key) - ignored by SDK\n * <reason_code> is an arbitrary string like \"org_quota\" - ignored by SDK\n */\n for (var limit of rateLimitHeader.trim().split(',')) {\n const [retryAfter, categories] = limit.split(':', 2);\n var headerDelay = parseInt(retryAfter, 10);\n var delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1000; // 60sec default\n if (!categories) {\n updatedRateLimits.all = now + delay;\n } else {\n for (var category of categories.split(';')) {\n updatedRateLimits[category] = now + delay;\n }\n }\n }\n } else if (retryAfterHeader) {\n updatedRateLimits.all = now + parseRetryAfterHeader(retryAfterHeader, now);\n } else if (statusCode === 429) {\n updatedRateLimits.all = now + 60 * 1000;\n }\n\n return updatedRateLimits;\n}\n\nexport { DEFAULT_RETRY_AFTER, disabledUntil, isRateLimited, parseRetryAfterHeader, updateRateLimits };\n//# sourceMappingURL=ratelimit.js.map\n","// Note: Ideally the `SeverityLevel` type would be derived from `validSeverityLevels`, but that would mean either\n//\n// a) moving `validSeverityLevels` to `@sentry/types`,\n// b) moving the`SeverityLevel` type here, or\n// c) importing `validSeverityLevels` from here into `@sentry/types`.\n//\n// Option A would make `@sentry/types` a runtime dependency of `@sentry/utils` (not good), and options B and C would\n// create a circular dependency between `@sentry/types` and `@sentry/utils` (also not good). So a TODO accompanying the\n// type, reminding anyone who changes it to change this list also, will have to do.\n\nvar validSeverityLevels = ['fatal', 'error', 'warning', 'log', 'info', 'debug'];\n\n/**\n * Converts a string-based level into a member of the deprecated {@link Severity} enum.\n *\n * @deprecated `severityFromString` is deprecated. Please use `severityLevelFromString` instead.\n *\n * @param level String representation of Severity\n * @returns Severity\n */\nfunction severityFromString(level) {\n return severityLevelFromString(level) ;\n}\n\n/**\n * Converts a string-based level into a `SeverityLevel`, normalizing it along the way.\n *\n * @param level String representation of desired `SeverityLevel`.\n * @returns The `SeverityLevel` corresponding to the given string, or 'log' if the string isn't a valid level.\n */\nfunction severityLevelFromString(level) {\n return (level === 'warn' ? 'warning' : validSeverityLevels.includes(level) ? level : 'log') ;\n}\n\nexport { severityFromString, severityLevelFromString, validSeverityLevels };\n//# sourceMappingURL=severity.js.map\n","import { _optionalChain } from './buildPolyfills';\n\nvar STACKTRACE_LIMIT = 50;\n\n/**\n * Creates a stack parser with the supplied line parsers\n *\n * StackFrames are returned in the correct order for Sentry Exception\n * frames and with Sentry SDK internal frames removed from the top and bottom\n *\n */\nfunction createStackParser(...parsers) {\n var sortedParsers = parsers.sort((a, b) => a[0] - b[0]).map(p => p[1]);\n\n return (stack, skipFirst = 0) => {\n var frames = [];\n\n for (var line of stack.split('\\n').slice(skipFirst)) {\n for (var parser of sortedParsers) {\n var frame = parser(line);\n\n if (frame) {\n frames.push(frame);\n break;\n }\n }\n }\n\n return stripSentryFramesAndReverse(frames);\n };\n}\n\n/**\n * Gets a stack parser implementation from Options.stackParser\n * @see Options\n *\n * If options contains an array of line parsers, it is converted into a parser\n */\nfunction stackParserFromStackParserOptions(stackParser) {\n if (Array.isArray(stackParser)) {\n return createStackParser(...stackParser);\n }\n return stackParser;\n}\n\n/**\n * @hidden\n */\nfunction stripSentryFramesAndReverse(stack) {\n if (!stack.length) {\n return [];\n }\n\n let localStack = stack;\n\n var firstFrameFunction = localStack[0].function || '';\n var lastFrameFunction = localStack[localStack.length - 1].function || '';\n\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (firstFrameFunction.indexOf('captureMessage') !== -1 || firstFrameFunction.indexOf('captureException') !== -1) {\n localStack = localStack.slice(1);\n }\n\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (lastFrameFunction.indexOf('sentryWrapped') !== -1) {\n localStack = localStack.slice(0, -1);\n }\n\n // The frame where the crash happened, should be the last entry in the array\n return localStack\n .slice(0, STACKTRACE_LIMIT)\n .map(frame => ({\n ...frame,\n filename: frame.filename || localStack[0].filename,\n function: frame.function || '?',\n }))\n .reverse();\n}\n\nvar defaultFunctionName = '<anonymous>';\n\n/**\n * Safely extract function name from itself\n */\nfunction getFunctionName(fn) {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n\nfunction node(getModule) {\n var FILENAME_MATCH = /^\\s*[-]{4,}$/;\n var FULL_MATCH = /at (?:async )?(?:(.+?)\\s+\\()?(?:(.+?):(\\d+)(?::(\\d+))?|([^)]+))\\)?/;\n\n return (line) => {\n if (line.match(FILENAME_MATCH)) {\n return {\n filename: line,\n };\n }\n\n var lineMatch = line.match(FULL_MATCH);\n if (!lineMatch) {\n return undefined;\n }\n\n let object;\n let method;\n let functionName;\n let typeName;\n let methodName;\n\n if (lineMatch[1]) {\n functionName = lineMatch[1];\n\n let methodStart = functionName.lastIndexOf('.');\n if (functionName[methodStart - 1] === '.') {\n methodStart--;\n }\n\n if (methodStart > 0) {\n object = functionName.substr(0, methodStart);\n method = functionName.substr(methodStart + 1);\n var objectEnd = object.indexOf('.Module');\n if (objectEnd > 0) {\n functionName = functionName.substr(objectEnd + 1);\n object = object.substr(0, objectEnd);\n }\n }\n typeName = undefined;\n }\n\n if (method) {\n typeName = object;\n methodName = method;\n }\n\n if (method === '<anonymous>') {\n methodName = undefined;\n functionName = undefined;\n }\n\n if (functionName === undefined) {\n methodName = methodName || '<anonymous>';\n functionName = typeName ? `${typeName}.${methodName}` : methodName;\n }\n\n var filename = _optionalChain([lineMatch, 'access', _ => _[2], 'optionalAccess', _2 => _2.startsWith, 'call', _3 => _3('file://')]) ? lineMatch[2].substr(7) : lineMatch[2];\n var isNative = lineMatch[5] === 'native';\n var isInternal =\n isNative || (filename && !filename.startsWith('/') && !filename.startsWith('.') && filename.indexOf(':\\\\') !== 1);\n\n // in_app is all that's not an internal Node function or a module within node_modules\n // note that isNative appears to return true even for node core libraries\n // see https://github.com/getsentry/raven-node/issues/176\n var in_app = !isInternal && filename !== undefined && !filename.includes('node_modules/');\n\n return {\n filename,\n module: _optionalChain([getModule, 'optionalCall', _4 => _4(filename)]),\n function: functionName,\n lineno: parseInt(lineMatch[3], 10) || undefined,\n colno: parseInt(lineMatch[4], 10) || undefined,\n in_app,\n };\n };\n}\n\n/**\n * Node.js stack line parser\n *\n * This is in @sentry/utils so it can be used from the Electron SDK in the browser for when `nodeIntegration == true`.\n * This allows it to be used without referencing or importing any node specific code which causes bundlers to complain\n */\nfunction nodeStackLineParser(getModule) {\n return [90, node(getModule)];\n}\n\nexport { createStackParser, getFunctionName, nodeStackLineParser, stackParserFromStackParserOptions, stripSentryFramesAndReverse };\n//# sourceMappingURL=stacktrace.js.map\n","import { isString, isRegExp } from './is.js';\n\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\nfunction truncate(str, max = 0) {\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : `${str.substr(0, max)}...`;\n}\n\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nfunction snipLine(line, colno) {\n let newLine = line;\n var lineLength = newLine.length;\n if (lineLength <= 150) {\n return newLine;\n }\n if (colno > lineLength) {\n colno = lineLength;\n }\n\n let start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n\n let end = Math.min(start + 140, lineLength);\n if (end > lineLength - 5) {\n end = lineLength;\n }\n if (end === lineLength) {\n start = Math.max(end - 140, 0);\n }\n\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = `'{snip} ${newLine}`;\n }\n if (end < lineLength) {\n newLine += ' {snip}';\n }\n\n return newLine;\n}\n\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\nfunction safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return '';\n }\n\n var output = [];\n for (let i = 0; i < input.length; i++) {\n var value = input[i];\n try {\n output.push(String(value));\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n\n return output.join(delimiter);\n}\n\n/**\n * Checks if the value matches a regex or includes the string\n * @param value The string value to be checked against\n * @param pattern Either a regex or a string that must be contained in value\n */\nfunction isMatchingPattern(value, pattern) {\n if (!isString(value)) {\n return false;\n }\n\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n return false;\n}\n\n/**\n * Given a string, escape characters which have meaning in the regex grammar, such that the result is safe to feed to\n * `new RegExp()`.\n *\n * Based on https://github.com/sindresorhus/escape-string-regexp. Vendored to a) reduce the size by skipping the runtime\n * type-checking, and b) ensure it gets down-compiled for old versions of Node (the published package only supports Node\n * 12+).\n *\n * @param regexString The string to escape\n * @returns An version of the string with all special regex characters escaped\n */\nfunction escapeStringForRegex(regexString) {\n // escape the hyphen separately so we can also replace it with a unicode literal hyphen, to avoid the problems\n // discussed in https://github.com/sindresorhus/escape-string-regexp/issues/20.\n return regexString.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d');\n}\n\nexport { escapeStringForRegex, isMatchingPattern, safeJoin, snipLine, truncate };\n//# sourceMappingURL=string.js.map\n","import { getGlobalObject } from './global.js';\nimport { logger } from './logger.js';\n\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsErrorEvent() {\n try {\n new ErrorEvent('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsDOMError() {\n try {\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-ignore It really needs 1 argument, not 0.\n new DOMError('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsDOMException() {\n try {\n new DOMException('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsFetch() {\n if (!('fetch' in getGlobalObject())) {\n return false;\n }\n\n try {\n new Headers();\n new Request('');\n new Response();\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\nfunction isNativeFetch(func) {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nfunction supportsNativeFetch() {\n if (!supportsFetch()) {\n return false;\n }\n\n var global = getGlobalObject();\n\n // Fast path to avoid DOM I/O\n if (isNativeFetch(global.fetch)) {\n return true;\n }\n\n // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n let result = false;\n var doc = global.document;\n if (doc && typeof (doc.createElement ) === 'function') {\n try {\n var sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n } catch (err) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n\n return result;\n}\n\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsReportingObserver() {\n return 'ReportingObserver' in getGlobalObject();\n}\n\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsReferrerPolicy() {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n\n if (!supportsFetch()) {\n return false;\n }\n\n try {\n new Request('_', {\n referrerPolicy: 'origin' ,\n });\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsHistory() {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n var global = getGlobalObject();\n var chrome = (global ).chrome;\n var isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n var hasHistoryApi = 'history' in global && !!global.history.pushState && !!global.history.replaceState;\n\n return !isChromePackagedApp && hasHistoryApi;\n}\n\nexport { isNativeFetch, supportsDOMError, supportsDOMException, supportsErrorEvent, supportsFetch, supportsHistory, supportsNativeFetch, supportsReferrerPolicy, supportsReportingObserver };\n//# sourceMappingURL=supports.js.map\n","import { isThenable } from './is.js';\n\n/** SyncPromise internal states */\nvar States; (function (States) {\n /** Pending */\n var PENDING = 0; States[States[\"PENDING\"] = PENDING] = \"PENDING\";\n /** Resolved / OK */\n var RESOLVED = 1; States[States[\"RESOLVED\"] = RESOLVED] = \"RESOLVED\";\n /** Rejected / Error */\n var REJECTED = 2; States[States[\"REJECTED\"] = REJECTED] = \"REJECTED\";\n})(States || (States = {}));\n\n// Overloads so we can call resolvedSyncPromise without arguments and generic argument\n\n/**\n * Creates a resolved sync promise.\n *\n * @param value the value to resolve the promise with\n * @returns the resolved sync promise\n */\nfunction resolvedSyncPromise(value) {\n return new SyncPromise(resolve => {\n resolve(value);\n });\n}\n\n/**\n * Creates a rejected sync promise.\n *\n * @param value the value to reject the promise with\n * @returns the rejected sync promise\n */\nfunction rejectedSyncPromise(reason) {\n return new SyncPromise((_, reject) => {\n reject(reason);\n });\n}\n\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nclass SyncPromise {\n __init() {this._state = States.PENDING;}\n __init2() {this._handlers = [];}\n \n\n constructor(\n executor,\n ) {;SyncPromise.prototype.__init.call(this);SyncPromise.prototype.__init2.call(this);SyncPromise.prototype.__init3.call(this);SyncPromise.prototype.__init4.call(this);SyncPromise.prototype.__init5.call(this);SyncPromise.prototype.__init6.call(this);\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n\n /** JSDoc */\n then(\n onfulfilled,\n onrejected,\n ) {\n return new SyncPromise((resolve, reject) => {\n this._handlers.push([\n false,\n result => {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result );\n } else {\n try {\n resolve(onfulfilled(result));\n } catch (e) {\n reject(e);\n }\n }\n },\n reason => {\n if (!onrejected) {\n reject(reason);\n } else {\n try {\n resolve(onrejected(reason));\n } catch (e) {\n reject(e);\n }\n }\n },\n ]);\n this._executeHandlers();\n });\n }\n\n /** JSDoc */\n catch(\n onrejected,\n ) {\n return this.then(val => val, onrejected);\n }\n\n /** JSDoc */\n finally(onfinally) {\n return new SyncPromise((resolve, reject) => {\n let val;\n let isRejected;\n\n return this.then(\n value => {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n },\n reason => {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n },\n ).then(() => {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve(val );\n });\n });\n }\n\n /** JSDoc */\n __init3() {this._resolve = (value) => {\n this._setResult(States.RESOLVED, value);\n };}\n\n /** JSDoc */\n __init4() {this._reject = (reason) => {\n this._setResult(States.REJECTED, reason);\n };}\n\n /** JSDoc */\n __init5() {this._setResult = (state, value) => {\n if (this._state !== States.PENDING) {\n return;\n }\n\n if (isThenable(value)) {\n void (value ).then(this._resolve, this._reject);\n return;\n }\n\n this._state = state;\n this._value = value;\n\n this._executeHandlers();\n };}\n\n /** JSDoc */\n __init6() {this._executeHandlers = () => {\n if (this._state === States.PENDING) {\n return;\n }\n\n var cachedHandlers = this._handlers.slice();\n this._handlers = [];\n\n cachedHandlers.forEach(handler => {\n if (handler[0]) {\n return;\n }\n\n if (this._state === States.RESOLVED) {\n handler[1](this._value );\n }\n\n if (this._state === States.REJECTED) {\n handler[2](this._value);\n }\n\n handler[0] = true;\n });\n };}\n}\n\nexport { SyncPromise, rejectedSyncPromise, resolvedSyncPromise };\n//# sourceMappingURL=syncpromise.js.map\n","import { getGlobalObject } from './global.js';\nimport { dynamicRequire, isNodeEnv } from './node.js';\n\n/**\n * An object that can return the current timestamp in seconds since the UNIX epoch.\n */\n\n/**\n * A TimestampSource implementation for environments that do not support the Performance Web API natively.\n *\n * Note that this TimestampSource does not use a monotonic clock. A call to `nowSeconds` may return a timestamp earlier\n * than a previously returned value. We do not try to emulate a monotonic behavior in order to facilitate debugging. It\n * is more obvious to explain \"why does my span have negative duration\" than \"why my spans have zero duration\".\n */\nvar dateTimestampSource = {\n nowSeconds: () => Date.now() / 1000,\n};\n\n/**\n * A partial definition of the [Performance Web API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Performance}\n * for accessing a high-resolution monotonic clock.\n */\n\n/**\n * Returns a wrapper around the native Performance API browser implementation, or undefined for browsers that do not\n * support the API.\n *\n * Wrapping the native API works around differences in behavior from different browsers.\n */\nfunction getBrowserPerformance() {\n const { performance } = getGlobalObject();\n if (!performance || !performance.now) {\n return undefined;\n }\n\n // Replace performance.timeOrigin with our own timeOrigin based on Date.now().\n //\n // This is a partial workaround for browsers reporting performance.timeOrigin such that performance.timeOrigin +\n // performance.now() gives a date arbitrarily in the past.\n //\n // Additionally, computing timeOrigin in this way fills the gap for browsers where performance.timeOrigin is\n // undefined.\n //\n // The assumption that performance.timeOrigin + performance.now() ~= Date.now() is flawed, but we depend on it to\n // interact with data coming out of performance entries.\n //\n // Note that despite recommendations against it in the spec, browsers implement the Performance API with a clock that\n // might stop when the computer is asleep (and perhaps under other circumstances). Such behavior causes\n // performance.timeOrigin + performance.now() to have an arbitrary skew over Date.now(). In laptop computers, we have\n // observed skews that can be as long as days, weeks or months.\n //\n // See https://github.com/getsentry/sentry-javascript/issues/2590.\n //\n // BUG: despite our best intentions, this workaround has its limitations. It mostly addresses timings of pageload\n // transactions, but ignores the skew built up over time that can aversely affect timestamps of navigation\n // transactions of long-lived web pages.\n var timeOrigin = Date.now() - performance.now();\n\n return {\n now: () => performance.now(),\n timeOrigin,\n };\n}\n\n/**\n * Returns the native Performance API implementation from Node.js. Returns undefined in old Node.js versions that don't\n * implement the API.\n */\nfunction getNodePerformance() {\n try {\n var perfHooks = dynamicRequire(module, 'perf_hooks') ;\n return perfHooks.performance;\n } catch (_) {\n return undefined;\n }\n}\n\n/**\n * The Performance API implementation for the current platform, if available.\n */\nvar platformPerformance = isNodeEnv() ? getNodePerformance() : getBrowserPerformance();\n\nvar timestampSource =\n platformPerformance === undefined\n ? dateTimestampSource\n : {\n nowSeconds: () => (platformPerformance.timeOrigin + platformPerformance.now()) / 1000,\n };\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using the Date API.\n */\nvar dateTimestampInSeconds = dateTimestampSource.nowSeconds.bind(dateTimestampSource);\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using either the Performance or Date APIs, depending on the\n * availability of the Performance API.\n *\n * See `usingPerformanceAPI` to test whether the Performance API is used.\n *\n * BUG: Note that because of how browsers implement the Performance API, the clock might stop when the computer is\n * asleep. This creates a skew between `dateTimestampInSeconds` and `timestampInSeconds`. The\n * skew can grow to arbitrary amounts like days, weeks or months.\n * See https://github.com/getsentry/sentry-javascript/issues/2590.\n */\nvar timestampInSeconds = timestampSource.nowSeconds.bind(timestampSource);\n\n// Re-exported with an old name for backwards-compatibility.\nvar timestampWithMs = timestampInSeconds;\n\n/**\n * A boolean that is true when timestampInSeconds uses the Performance API to produce monotonic timestamps.\n */\nvar usingPerformanceAPI = platformPerformance !== undefined;\n\n/**\n * Internal helper to store what is the source of browserPerformanceTimeOrigin below. For debugging only.\n */\nlet _browserPerformanceTimeOriginMode;\n\n/**\n * The number of milliseconds since the UNIX epoch. This value is only usable in a browser, and only when the\n * performance API is available.\n */\nvar browserPerformanceTimeOrigin = (() => {\n // Unfortunately browsers may report an inaccurate time origin data, through either performance.timeOrigin or\n // performance.timing.navigationStart, which results in poor results in performance data. We only treat time origin\n // data as reliable if they are within a reasonable threshold of the current time.\n\n const { performance } = getGlobalObject();\n if (!performance || !performance.now) {\n _browserPerformanceTimeOriginMode = 'none';\n return undefined;\n }\n\n var threshold = 3600 * 1000;\n var performanceNow = performance.now();\n var dateNow = Date.now();\n\n // if timeOrigin isn't available set delta to threshold so it isn't used\n var timeOriginDelta = performance.timeOrigin\n ? Math.abs(performance.timeOrigin + performanceNow - dateNow)\n : threshold;\n var timeOriginIsReliable = timeOriginDelta < threshold;\n\n // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n // Also as of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always\n // a valid fallback. In the absence of an initial time provided by the browser, fallback to the current time from the\n // Date API.\n var navigationStart = performance.timing && performance.timing.navigationStart;\n var hasNavigationStart = typeof navigationStart === 'number';\n // if navigationStart isn't available set delta to threshold so it isn't used\n var navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold;\n var navigationStartIsReliable = navigationStartDelta < threshold;\n\n if (timeOriginIsReliable || navigationStartIsReliable) {\n // Use the more reliable time origin\n if (timeOriginDelta <= navigationStartDelta) {\n _browserPerformanceTimeOriginMode = 'timeOrigin';\n return performance.timeOrigin;\n } else {\n _browserPerformanceTimeOriginMode = 'navigationStart';\n return navigationStart;\n }\n }\n\n // Either both timeOrigin and navigationStart are skewed or neither is available, fallback to Date.\n _browserPerformanceTimeOriginMode = 'dateNow';\n return dateNow;\n})();\n\nexport { _browserPerformanceTimeOriginMode, browserPerformanceTimeOrigin, dateTimestampInSeconds, timestampInSeconds, timestampWithMs, usingPerformanceAPI };\n//# sourceMappingURL=time.js.map\n","module.exports = window[\"wp\"][\"apiFetch\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.hmd = function(module) {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: function() {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import * as Sentry from '@sentry/browser';\nimport apiFetch from '@wordpress/api-fetch';\n\nconst shouldActivateSentry = window.A8C_ETK_ErrorReporting_Config?.shouldActivateSentry === 'true';\n/**\n * Errors that happened before this script had a chance to load\n * are captured in a global array. See `./index.php`.\n */\nconst headErrors = window._jsErr || [];\nconst headErrorHandler = window._headJsErrorHandler;\n\nfunction activateSentry() {\n\tSentry.init( {\n\t\tdsn: 'https://658ae291b00242148af6b76494d4a49a@o248881.ingest.sentry.io/5876245',\n\t\t// Set tracesSampleRate to 1.0 to capture 100%\n\t\t// of transactions for performance monitoring.\n\t\t// We recommend adjusting this value in production\n\t\trelease: 'wpcom-test-01',\n\t} );\n\n\t// We still need to report the head errors, if any.\n\theadErrors.forEach( ( error ) => Sentry.captureException( error ) );\n\tSentry.flush().then( () => delete window._jsErr );\n}\n\n// Activate the home-brew error-reporting\nfunction activateHomebrewErrorReporting() {\n\tconst reportError = ( { error } ) => {\n\t\t// Sanitized error event objects do not include a nested error attribute. In\n\t\t// that case, we return early to prevent a needless TypeError when defining\n\t\t// `data`, below. Also, sanitized errors don't include any useful information,\n\t\t// so the sensible thing to do is to completely ignore them.\n\t\tif ( ! error ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst data = {\n\t\t\tmessage: error.message,\n\t\t\ttrace: error.stack,\n\t\t\turl: document.location.href,\n\t\t\tfeature: 'wp-admin',\n\t\t};\n\n\t\treturn (\n\t\t\tapiFetch( {\n\t\t\t\tglobal: true,\n\t\t\t\tpath: '/rest/v1.1/js-error',\n\t\t\t\tmethod: 'POST',\n\t\t\t\tdata: { error: JSON.stringify( data ) },\n\t\t\t} )\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t.catch( () => console.error( 'Error: Unable to record the error in Logstash.' ) )\n\t\t);\n\t};\n\n\twindow.addEventListener( 'error', reportError );\n\n\t// We still need to report the head errors, if any.\n\tPromise.allSettled( headErrors.map( reportError ) ).then( () => delete window._jsErr );\n}\n\nif ( shouldActivateSentry ) {\n\tactivateSentry();\n} else {\n\tactivateHomebrewErrorReporting();\n}\n\n// Remove the head handler as it's not needed anymore after we set the main one above (either Sentry or homebrew)\nwindow.removeEventListener( 'error', headErrorHandler );\ndelete window._headJsErrorHandler;\n"],"names":["globalObject","BrowserClient","constructor","options","_metadata","sdk","name","packages","version","super","sendClientReports","document","addEventListener","visibilityState","this","_flushOutcomes","eventFromException","exception","hint","_options","stackParser","attachStacktrace","eventFromMessage","message","level","sendEvent","event","breadcrumbIntegration","getIntegrationById","sentry","addBreadcrumb","category","type","event_id","_prepareEvent","scope","platform","outcomes","_clearOutcomes","length","_dsn","__SENTRY_DEBUG__","log","url","tunnel","envelope","e","exceptionFromError","ex","frames","parseStackFrames","value","extractMessage","stacktrace","undefined","eventFromError","values","stack","popSize","framesToPop","reactMinifiedRegexp","test","getPopSize","error","eventFromUnknownInput","syntheticException","eventFromString","isUnhandledRejection","domException","tags","code","extra","__serialized__","eventFromPlainObject","synthetic","input","ignoreOnError","shouldIgnoreOnError","ignoreNextOnError","setTimeout","wrap","fn","before","wrapper","__sentry_wrapped__","sentryWrapped","args","Array","prototype","slice","call","arguments","apply","wrappedArguments","map","arg","addEventProcessor","mechanism","property","Object","hasOwnProperty","_oO","getOwnPropertyDescriptor","configurable","defineProperty","get","BREADCRUMB_INTEGRATION_ID","Breadcrumbs","static","id","__init","console","dom","fetch","history","xhr","setupOnce","_consoleBreadcrumb","_innerDomBreadcrumb","handlerData","target","keyAttrs","serializeAttribute","global","_domBreadcrumb","_xhrBreadcrumb","_fetchBreadcrumb","_historyBreadcrumb","breadcrumb","data","logger","endTimestamp","__sentry_own_request__","method","status_code","body","__sentry_xhr__","fetchData","match","response","status","from","to","parsedLoc","location","href","parsedFrom","parsedTo","path","protocol","host","relative","__initStatic","Dedupe","addGlobalEventProcessor","getCurrentHub","eventProcessor","currentEvent","self","getIntegration","previousEvent","currentMessage","previousMessage","_isSameFingerprint","_isSameStacktrace","_isSameMessageEvent","previousException","_getExceptionFromEvent","currentException","_isSameExceptionEvent","_shouldDropEvent","_previousEvent","currentFrames","_getFramesFromEvent","previousFrames","i","frameA","frameB","filename","lineno","colno","function","currentFingerprint","fingerprint","previousFingerprint","join","GlobalHandlers","__init2","_installFunc","onerror","_installGlobalOnErrorHandler","onunhandledrejection","_installGlobalOnUnhandledRejectionHandler","Error","stackTraceLimit","key","installFunc","hub","getHubAndOptions","msg","line","column","ERROR_TYPES_RE","groups","_enhanceEventWithInitialFrame","_eventFromIncompleteOnError","addMechanismAndCapture","reason","detail","String","ev","ev0","ev0s","ev0sf","isNaN","parseInt","push","in_app","handled","captureEvent","originalException","client","getClient","getOptions","HttpContext","navigator","request","referrer","userAgent","headers","Referer","LinkedErrors","_key","_limit","limit","parser","linkedErrors","_walkErrorTree","_handler","DEFAULT_EVENT_TARGET","TryCatch","XMLHttpRequest","eventTarget","requestAnimationFrame","setInterval","_wrapTimeFunction","_wrapRAF","_wrapXHR","eventTargetOption","isArray","forEach","_wrapEventTarget","original","originalCallback","callback","handler","originalSend","prop","wrapOptions","originalFunction","proto","eventName","handleEvent","err","originalRemoveEventListener","wrappedEventHandler","originalEventHandler","defaultIntegrations","init","release","window","SENTRY_RELEASE","autoSessionTracking","clientOptions","integrations","transport","captureSession","startSessionOnHub","startSessionTracking","flush","timeout","startSession","ignoreDuration","UNKNOWN_FUNCTION","createFrame","func","frame","chromeRegex","chromeEvalRegex","geckoREgex","geckoEvalRegex","winjsRegex","defaultStackLineParsers","parts","exec","indexOf","subMatch","extractSafariExtensionDetails","defaultStackParser","isSafariExtension","isSafariWebExtension","split","makeFetchTransport","nativeFetch","requestOptions","referrerPolicy","fetchOptions","then","statusCode","cachedFetchImpl","getNativeFetchImplementation","bind","fetchImpl","createElement","sandbox","hidden","head","appendChild","contentWindow","removeChild","sendReport","toString","sendBeacon","credentials","keepalive","makeXHRTransport","resolve","reject","header","onreadystatechange","readyState","getResponseHeader","open","setRequestHeader","send","getBaseApiEndpoint","dsn","port","getEnvelopeEndpointWithUrlEncodedAuth","projectId","_getIngestEndpoint","sentry_key","publicKey","sentry_version","_encodedAuth","ALREADY_SEEN_ERROR","BaseClient","_integrations","_integrationsInitialized","__init3","_numProcessing","__init4","_outcomes","_transport","recordDroppedEvent","transportOptions","captureException","eventId","_process","_captureEvent","result","captureMessage","promisedEvent","session","_isEnabled","sendSession","getDsn","getTransport","_isClientDoneProcessing","clientFinished","transportFlushed","close","enabled","setupIntegrations","integrationId","integration","env","attachment","attachments","textEncoder","_sendEnvelope","_updateSessionFromEvent","crashed","errored","exceptions","sessionNonTerminal","errors","Number","ticked","interval","clearInterval","normalizeDepth","normalizeMaxBreadth","prepared","timestamp","_applyClientOptions","_applyIntegrationsMetadata","finalScope","captureContext","update","getAttachments","applyToEvent","evt","_normalizeEvent","depth","maxBreadth","normalized","breadcrumbs","b","user","contexts","trace","spans","span","environment","dist","maxValueLength","integrationsArray","keys","_processEvent","finalEvent","beforeSend","sampleRate","isTransaction","Math","random","__sentry__","rv","nullErr","_ensureBeforeSendRv","processedEvent","getSession","promise","quantity","getSdkMetadataForEnvelopeHeader","metadata","createSessionEnvelope","sdkInfo","envelopeHeaders","sent_at","Date","toISOString","envelopeItem","createEventEnvelope","eventType","transactionSampling","sdkProcessingMetadata","samplingMethod","rate","enhanceEventWithSdkInfo","baggage","dynamicSamplingContext","createEventEnvelopeHeaders","eventItem","sample_rates","installedIntegrations","filterDuplicates","reduce","acc","every","accIntegration","getIntegrationsToSetup","userIntegrations","filter","userIntegration","integrationsNames","alwaysLastToRun","splice","integrationIndex","originalFunctionToString","FunctionToString","Function","context","DEFAULT_IGNORE_ERRORS","InboundFilters","eventProcess","internalOptions","allowUrls","denyUrls","ignoreErrors","ignoreInternal","_mergeOptions","_isSentryError","oO","_getPossibleEventMessages","some","pattern","_isIgnoredError","_getEventFilterUrl","_isDeniedUrl","_isAllowedUrl","_getLastValidUrl","initAndBind","clientClass","debug","warn","getScope","initialScope","bindClient","createTransport","makeRequest","buffer","bufferSize","rateLimits","filteredEnvelopeItems","item","envelopeItemDataCategory","filteredEnvelope","recordEnvelopeLoss","_","add","drain","SDK_VERSION","withScope","DEFAULT_BREADCRUMBS","Hub","_stack","_version","getStackTop","isOlderThan","pushScope","getStack","popScope","pop","_lastEventId","_withClient","lastEventId","beforeBreadcrumb","maxBreadcrumbs","mergedBreadcrumb","finalBreadcrumb","setUser","setTags","setExtras","extras","setTag","setExtra","setContext","configureScope","run","oldHub","makeMain","startTransaction","customSamplingContext","_callExtensionMethod","traceHeaders","endSession","_sendSessionUpdate","layer","setSession","getUser","currentSession","shouldSendDefaultPii","Boolean","sendDefaultPii","getMainCarrier","__SENTRY__","extensions","carrier","registry","getHubFromCarrier","setHubOnCarrier","hasHubOnCarrier","activeDomain","domain","active","registryHubTopStack","_Oo","getHubFromActiveDomain","Scope","_notifyingListeners","_scopeListeners","_eventProcessors","_breadcrumbs","_attachments","_user","_tags","_extra","_contexts","_sdkProcessingMetadata","newScope","_level","_span","_session","_transactionName","_fingerprint","_requestSession","addScopeListener","_notifyScopeListeners","getRequestSession","setRequestSession","requestSession","setFingerprint","setLevel","setTransactionName","setSpan","getSpan","getTransaction","transaction","updatedScope","clear","maxCrumbs","min","clearBreadcrumbs","addAttachment","clearAttachments","getTraceContext","transactionName","_applyFingerprint","_notifyEventProcessors","getGlobalEventProcessors","setSDKProcessingMetadata","newData","processors","index","processor","final","concat","makeSession","startingTime","sid","started","duration","toJSON","did","attrs","ip_address","ipAddress","user_agent","sessionToJSON","updateSession","email","username","closeSession","getSentryBaggageItems","htmlTreeAsString","elem","currentElem","out","height","len","sepLength","nextStr","_htmlElementAsString","parentNode","reverse","el","className","classes","attr","tagName","toLowerCase","keyAttrPairs","keyAttr","getAttribute","keyAttrPair","allowedAttrs","getLocationHref","createClientReportEnvelope","discarded_events","clientReportItem","DSN_REGEX","dsnToString","withPassword","pass","dsnFromString","str","lastPath","projectMatch","dsnFromComponents","components","makeDsn","component","isValidProtocol","validateDsn","isBrowserBundle","__SENTRY_BROWSER_BUNDLE__","createEnvelope","items","addItemToEnvelope","newItem","forEachEnvelopeItem","envelopeItemType","encodeUTF8","TextEncoder","encode","serializeEnvelope","envHeaders","JSON","stringify","append","next","itemHeaders","payload","Uint8Array","buffers","totalLength","buf","merged","offset","set","concatBuffers","createAttachmentEnvelopeItem","content_type","contentType","attachment_type","attachmentType","ITEM_TYPE_TO_DATA_CATEGORY_MAP","sessions","client_report","user_report","envelopeItemTypeToDataCategory","SentryError","setPrototypeOf","fallbackGlobalObject","getGlobalObject","getGlobalSingleton","creator","obj","handlers","instrumented","instrument","originalConsoleMethod","triggerHandlers","instrumentConsole","triggerDOMHandler","globalDOMEventHandler","makeDOMEventHandler","originalAddEventListener","listener","__sentry_instrumentation_handlers__","handlerForType","refCount","instrumentDOM","xhrproto","originalOpen","xhrInfo","toUpperCase","onreadystatechangeHandler","now","startTimestamp","readyStateArgs","instrumentXHR","originalFetch","getFetchMethod","getFetchUrl","instrumentFetch","oldOnPopState","onpopstate","historyReplacementFunction","originalHistoryFunction","lastHref","instrumentHistory","_oldOnErrorHandler","_oldOnUnhandledRejectionHandler","addInstrumentationHandler","fetchArgs","Request","debounceTimerID","lastCapturedEvent","globalListener","isContentEditable","shouldSkipDOMEvent","previous","current","shouldShortcircuitPreviousDebounce","clearTimeout","objectToString","isError","wat","isInstanceOf","isBuiltin","ty","isErrorEvent","isDOMError","isDOMException","isString","isPrimitive","isPlainObject","isEvent","Event","isElement","Element","isRegExp","isThenable","isSyntheticEvent","base","_e","CONSOLE_LEVELS","consoleSandbox","originalConsole","wrappedLevels","originalWrappedFunc","__sentry_original__","makeLogger","enable","disable","memoBuilder","hasWeakSet","WeakSet","inner","has","delete","uuid4","crypto","msCrypto","getRandomValues","arr","Uint16Array","pad","num","v","replace","c","r","parseUrl","query","fragment","getFirstException","getEventDescription","firstException","addExceptionTypeValue","addExceptionMechanism","newMechanism","currentMechanism","mergedData","checkOrSetAlreadyCaught","__sentry_captured__","isNodeEnv","process","dynamicRequire","mod","require","normalize","Infinity","maxProperties","visit","ERROR","normalizeToSize","object","maxSize","encodeURI","utf8Length","memo","memoize","unmemoize","includes","stringified","_events","getPrototypeOf","stringifyValue","startsWith","valueWithToJSON","numAdded","visitable","visitKey","visitValue","fill","source","replacementFactory","wrapped","markFunctionWrapped","addNonEnumerableProperty","writable","getOriginalFunction","urlEncode","encodeURIComponent","convertToPlainObject","getOwnProperties","newObj","serializeEventTarget","currentTarget","CustomEvent","extractedProps","extractExceptionKeysForMessage","maxLength","sort","includedKeys","serialized","dropUndefinedKeys","inputValue","_dropUndefinedKeys","Map","memoizationMap","memoVal","returnValue","makePromiseBuffer","remove","task","$","taskProducer","counter","capturedSetTimeout","isRateLimited","limits","all","disabledUntil","updateRateLimits","updatedRateLimits","rateLimitHeader","retryAfterHeader","trim","retryAfter","categories","headerDelay","delay","headerDate","parse","parseRetryAfterHeader","validSeverityLevels","severityLevelFromString","createStackParser","parsers","sortedParsers","a","p","skipFirst","localStack","firstFrameFunction","lastFrameFunction","stripSentryFramesAndReverse","stackParserFromStackParserOptions","defaultFunctionName","getFunctionName","truncate","max","substr","safeJoin","delimiter","output","isMatchingPattern","supportsFetch","Headers","Response","isNativeFetch","supportsNativeFetch","doc","supportsHistory","chrome","isChromePackagedApp","app","runtime","hasHistoryApi","pushState","replaceState","States","resolvedSyncPromise","SyncPromise","rejectedSyncPromise","_state","PENDING","_handlers","executor","__init5","__init6","_resolve","_reject","onfulfilled","onrejected","_executeHandlers","catch","val","finally","onfinally","isRejected","_setResult","RESOLVED","REJECTED","state","_value","cachedHandlers","dateTimestampSource","nowSeconds","platformPerformance","module","performance","getNodePerformance","timeOrigin","getBrowserPerformance","timestampSource","dateTimestampInSeconds","timestampInSeconds","_browserPerformanceTimeOriginMode","threshold","performanceNow","dateNow","timeOriginDelta","abs","timeOriginIsReliable","navigationStart","timing","navigationStartDelta","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","n","getter","__esModule","d","definition","o","enumerable","hmd","create","children","Symbol","toStringTag","shouldActivateSentry","A8C_ETK_ErrorReporting_Config","headErrors","_jsErr","headErrorHandler","_headJsErrorHandler","Sentry","reportError","feature","apiFetch","Promise","allSettled","activateHomebrewErrorReporting","removeEventListener"],"sourceRoot":""}
|
full-site-editing-plugin.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Plugin Name: WordPress.com Editing Toolkit
|
4 |
* Description: Enhances your page creation workflow within the Block Editor.
|
5 |
-
* Version: 3.
|
6 |
* Author: Automattic
|
7 |
* Author URI: https://automattic.com/wordpress-plugins/
|
8 |
* License: GPLv2 or later
|
@@ -42,7 +42,7 @@ namespace A8C\FSE;
|
|
42 |
*
|
43 |
* @var string
|
44 |
*/
|
45 |
-
define( 'A8C_ETK_PLUGIN_VERSION', '3.
|
46 |
|
47 |
// Always include these helper files for dotcom FSE.
|
48 |
require_once __DIR__ . '/dotcom-fse/helpers.php';
|
2 |
/**
|
3 |
* Plugin Name: WordPress.com Editing Toolkit
|
4 |
* Description: Enhances your page creation workflow within the Block Editor.
|
5 |
+
* Version: 3.36854
|
6 |
* Author: Automattic
|
7 |
* Author URI: https://automattic.com/wordpress-plugins/
|
8 |
* License: GPLv2 or later
|
42 |
*
|
43 |
* @var string
|
44 |
*/
|
45 |
+
define( 'A8C_ETK_PLUGIN_VERSION', '3.36854' );
|
46 |
|
47 |
// Always include these helper files for dotcom FSE.
|
48 |
require_once __DIR__ . '/dotcom-fse/helpers.php';
|
help-center/dist/help-center.js
CHANGED
@@ -54786,7 +54786,7 @@ const disable = configApi.disable;
|
|
54786 |
/* harmony export */ "n26": function() { return /* binding */ WPCOM_FEATURES_INSTALL_PURCHASED_PLUGINS; },
|
54787 |
/* harmony export */ "ikw": function() { return /* binding */ WPCOM_FEATURES_SCAN; }
|
54788 |
/* harmony export */ });
|
54789 |
-
/* unused harmony exports FEATURE_SET_PRIMARY_CUSTOM_DOMAIN, FEATURE_UNLIMITED_STORAGE, FEATURE_EMAIL_LIVE_CHAT_SUPPORT, FEATURE_SFTP, FEATURE_VIDEO_UPLOADS_JETPACK_PREMIUM, FEATURE_INSTALL_THEMES, FEATURE_PERFORMANCE, FEATURE_ALL_PERSONAL_FEATURES_JETPACK, FEATURE_DONATIONS, FEATURE_RECURRING_PAYMENTS, FEATURE_PREMIUM_CONTENT_CONTAINER, FEATURE_SECURITY_SETTINGS, FEATURE_WOOP, FEATURE_SEARCH, FEATURE_SEARCH_V2, FEATURE_VIDEO_HOSTING_V2, FEATURE_CRM_INTEGRATED_WITH_WORDPRESS, FEATURE_CRM_LEADS_AND_FUNNEL, FEATURE_CRM_PROPOSALS_AND_INVOICES, FEATURE_CRM_TRACK_TRANSACTIONS, FEATURE_CRM_NO_CONTACT_LIMITS, FEATURE_SECURE_STORAGE_V2, FEATURE_ONE_CLICK_RESTORE_V2, FEATURE_ONE_CLICK_FIX_V2, FEATURE_INSTANT_EMAIL_V2, FEATURE_AKISMET_V2, FEATURE_SPAM_BLOCK_V2, FEATURE_SPAM_10K_PER_MONTH, FEATURE_FILTERING_V2, FEATURE_LANGUAGE_SUPPORT_V2, FEATURE_SPELLING_CORRECTION_V2, FEATURE_SUPPORTS_WOOCOMMERCE_V2, FEATURE_JETPACK_VIDEOPRESS_EDITOR, FEATURE_JETPACK_VIDEOPRESS_STORAGE, FEATURE_JETPACK_VIDEOPRESS_UNBRANDED, FEATURE_CLOUD_CRITICAL_CSS, FEATURE_JETPACK_10GB_BACKUP_STORAGE, FEATURE_JETPACK_1_YEAR_ARCHIVE_ACTIVITY_LOG, FEATURE_JETPACK_30_DAY_ARCHIVE_ACTIVITY_LOG, FEATURE_JETPACK_REAL_TIME_CLOUD_BACKUPS, FEATURE_UNLIMITED_USERS, FEATURE_UNLIMITED_POSTS_PAGES, FEATURE_ADDITIONAL_SITES, WPCOM_FEATURES_AKISMET, WPCOM_FEATURES_BACKUPS_RESTORE, WPCOM_FEATURES_CDN, WPCOM_FEATURES_CLASSIC_SEARCH, WPCOM_FEATURES_CLOUDFLARE_CDN, WPCOM_FEATURES_FULL_ACTIVITY_LOG, WPCOM_FEATURES_INSTALL_PLUGINS, WPCOM_FEATURES_INSTANT_SEARCH, WPCOM_FEATURES_LIVE_SUPPORT, WPCOM_FEATURES_MANAGE_PLUGINS, WPCOM_FEATURES_NO_ADVERTS, WPCOM_FEATURES_NO_WPCOM_BRANDING, WPCOM_FEATURES_PREMIUM_THEMES, WPCOM_FEATURES_PRIORITY_SUPPORT, WPCOM_FEATURES_REAL_TIME_BACKUPS, WPCOM_FEATURES_SEO_PREVIEW_TOOLS, WPCOM_FEATURES_UPLOAD_AUDIO_FILES, WPCOM_FEATURES_UPLOAD_PLUGINS, WPCOM_FEATURES_UPLOAD_VIDEO_FILES, WPCOM_FEATURES_VAULTPRESS_BACKUPS, WPCOM_FEATURES_VIDEOPRESS, WPCOM_FEATURES_VIDEOPRESS_UNLIMITED_STORAGE, WPCOM_FEATURES_VIDEO_HOSTING, WPCOM_FEATURES_WORDADS */
|
54790 |
/* harmony import */ var _jetpack__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(90892);
|
54791 |
|
54792 |
const FEATURE_WP_SUBDOMAIN = 'wordpress-subdomain';
|
@@ -55009,6 +55009,7 @@ const WPCOM_FEATURES_VIDEOPRESS = 'videopress';
|
|
55009 |
const WPCOM_FEATURES_VIDEOPRESS_UNLIMITED_STORAGE = 'videopress-unlimited-storage';
|
55010 |
const WPCOM_FEATURES_VIDEO_HOSTING = 'video-hosting';
|
55011 |
const WPCOM_FEATURES_WORDADS = 'wordads';
|
|
|
55012 |
|
55013 |
/***/ }),
|
55014 |
|
@@ -55376,12 +55377,14 @@ const TYPES_LIST = [TYPE_FREE, TYPE_BLOGGER, TYPE_PERSONAL, TYPE_PREMIUM, TYPE_B
|
|
55376 |
/* harmony export */ "_s": function() { return /* binding */ PLAN_WPCOM_PRO; },
|
55377 |
/* harmony export */ "Id": function() { return /* binding */ PLAN_WPCOM_STARTER; }
|
55378 |
/* harmony export */ });
|
55379 |
-
/* unused harmony exports PRODUCT_NO_ADS, WPCOM_SEARCH_PRODUCTS, WPCOM_PRODUCTS, PLAN_HOST_BUNDLE, PLAN_WPCOM_ENTERPRISE, PLAN_CHARGEBACK, PLAN_VIP, WPCOM_PLANS, WPCOM_MONTHLY_PLANS, WPCOM_TRAFFIC_GUIDE, WPCOM_DIFM_LITE, PLAN_BUSINESS_ONBOARDING_EXPIRE, PLAN_BUSINESS_2Y_ONBOARDING_EXPIRE */
|
55380 |
const GROUP_WPCOM = 'GROUP_WPCOM'; // Products
|
55381 |
|
55382 |
const PRODUCT_NO_ADS = 'no-adverts/no-adverts.php';
|
55383 |
const PRODUCT_WPCOM_SEARCH = 'wpcom_search';
|
55384 |
const PRODUCT_WPCOM_SEARCH_MONTHLY = 'wpcom_search_monthly';
|
|
|
|
|
55385 |
const WPCOM_SEARCH_PRODUCTS = [PRODUCT_WPCOM_SEARCH, PRODUCT_WPCOM_SEARCH_MONTHLY];
|
55386 |
const WPCOM_PRODUCTS = [...WPCOM_SEARCH_PRODUCTS]; // Plans
|
55387 |
|
54786 |
/* harmony export */ "n26": function() { return /* binding */ WPCOM_FEATURES_INSTALL_PURCHASED_PLUGINS; },
|
54787 |
/* harmony export */ "ikw": function() { return /* binding */ WPCOM_FEATURES_SCAN; }
|
54788 |
/* harmony export */ });
|
54789 |
+
/* unused harmony exports FEATURE_SET_PRIMARY_CUSTOM_DOMAIN, FEATURE_UNLIMITED_STORAGE, FEATURE_EMAIL_LIVE_CHAT_SUPPORT, FEATURE_SFTP, FEATURE_VIDEO_UPLOADS_JETPACK_PREMIUM, FEATURE_INSTALL_THEMES, FEATURE_PERFORMANCE, FEATURE_ALL_PERSONAL_FEATURES_JETPACK, FEATURE_DONATIONS, FEATURE_RECURRING_PAYMENTS, FEATURE_PREMIUM_CONTENT_CONTAINER, FEATURE_SECURITY_SETTINGS, FEATURE_WOOP, FEATURE_SEARCH, FEATURE_SEARCH_V2, FEATURE_VIDEO_HOSTING_V2, FEATURE_CRM_INTEGRATED_WITH_WORDPRESS, FEATURE_CRM_LEADS_AND_FUNNEL, FEATURE_CRM_PROPOSALS_AND_INVOICES, FEATURE_CRM_TRACK_TRANSACTIONS, FEATURE_CRM_NO_CONTACT_LIMITS, FEATURE_SECURE_STORAGE_V2, FEATURE_ONE_CLICK_RESTORE_V2, FEATURE_ONE_CLICK_FIX_V2, FEATURE_INSTANT_EMAIL_V2, FEATURE_AKISMET_V2, FEATURE_SPAM_BLOCK_V2, FEATURE_SPAM_10K_PER_MONTH, FEATURE_FILTERING_V2, FEATURE_LANGUAGE_SUPPORT_V2, FEATURE_SPELLING_CORRECTION_V2, FEATURE_SUPPORTS_WOOCOMMERCE_V2, FEATURE_JETPACK_VIDEOPRESS_EDITOR, FEATURE_JETPACK_VIDEOPRESS_STORAGE, FEATURE_JETPACK_VIDEOPRESS_UNBRANDED, FEATURE_CLOUD_CRITICAL_CSS, FEATURE_JETPACK_10GB_BACKUP_STORAGE, FEATURE_JETPACK_1_YEAR_ARCHIVE_ACTIVITY_LOG, FEATURE_JETPACK_30_DAY_ARCHIVE_ACTIVITY_LOG, FEATURE_JETPACK_REAL_TIME_CLOUD_BACKUPS, FEATURE_UNLIMITED_USERS, FEATURE_UNLIMITED_POSTS_PAGES, FEATURE_ADDITIONAL_SITES, WPCOM_FEATURES_AKISMET, WPCOM_FEATURES_BACKUPS_RESTORE, WPCOM_FEATURES_CDN, WPCOM_FEATURES_CLASSIC_SEARCH, WPCOM_FEATURES_CLOUDFLARE_CDN, WPCOM_FEATURES_FULL_ACTIVITY_LOG, WPCOM_FEATURES_INSTALL_PLUGINS, WPCOM_FEATURES_INSTANT_SEARCH, WPCOM_FEATURES_LIVE_SUPPORT, WPCOM_FEATURES_MANAGE_PLUGINS, WPCOM_FEATURES_NO_ADVERTS, WPCOM_FEATURES_NO_WPCOM_BRANDING, WPCOM_FEATURES_PREMIUM_THEMES, WPCOM_FEATURES_PRIORITY_SUPPORT, WPCOM_FEATURES_REAL_TIME_BACKUPS, WPCOM_FEATURES_SEO_PREVIEW_TOOLS, WPCOM_FEATURES_UPLOAD_AUDIO_FILES, WPCOM_FEATURES_UPLOAD_PLUGINS, WPCOM_FEATURES_UPLOAD_VIDEO_FILES, WPCOM_FEATURES_VAULTPRESS_BACKUPS, WPCOM_FEATURES_VIDEOPRESS, WPCOM_FEATURES_VIDEOPRESS_UNLIMITED_STORAGE, WPCOM_FEATURES_VIDEO_HOSTING, WPCOM_FEATURES_WORDADS, WPCOM_FEATURES_CUSTOM_DESIGN */
|
54790 |
/* harmony import */ var _jetpack__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(90892);
|
54791 |
|
54792 |
const FEATURE_WP_SUBDOMAIN = 'wordpress-subdomain';
|
55009 |
const WPCOM_FEATURES_VIDEOPRESS_UNLIMITED_STORAGE = 'videopress-unlimited-storage';
|
55010 |
const WPCOM_FEATURES_VIDEO_HOSTING = 'video-hosting';
|
55011 |
const WPCOM_FEATURES_WORDADS = 'wordads';
|
55012 |
+
const WPCOM_FEATURES_CUSTOM_DESIGN = 'custom-design';
|
55013 |
|
55014 |
/***/ }),
|
55015 |
|
55377 |
/* harmony export */ "_s": function() { return /* binding */ PLAN_WPCOM_PRO; },
|
55378 |
/* harmony export */ "Id": function() { return /* binding */ PLAN_WPCOM_STARTER; }
|
55379 |
/* harmony export */ });
|
55380 |
+
/* unused harmony exports PRODUCT_NO_ADS, PRODUCT_WPCOM_UNLIMITED_THEMES, PRODUCT_WPCOM_CUSTOM_DESIGN, WPCOM_SEARCH_PRODUCTS, WPCOM_PRODUCTS, PLAN_HOST_BUNDLE, PLAN_WPCOM_ENTERPRISE, PLAN_CHARGEBACK, PLAN_VIP, WPCOM_PLANS, WPCOM_MONTHLY_PLANS, WPCOM_TRAFFIC_GUIDE, WPCOM_DIFM_LITE, PLAN_BUSINESS_ONBOARDING_EXPIRE, PLAN_BUSINESS_2Y_ONBOARDING_EXPIRE */
|
55381 |
const GROUP_WPCOM = 'GROUP_WPCOM'; // Products
|
55382 |
|
55383 |
const PRODUCT_NO_ADS = 'no-adverts/no-adverts.php';
|
55384 |
const PRODUCT_WPCOM_SEARCH = 'wpcom_search';
|
55385 |
const PRODUCT_WPCOM_SEARCH_MONTHLY = 'wpcom_search_monthly';
|
55386 |
+
const PRODUCT_WPCOM_UNLIMITED_THEMES = 'unlimited_themes';
|
55387 |
+
const PRODUCT_WPCOM_CUSTOM_DESIGN = 'custom-design';
|
55388 |
const WPCOM_SEARCH_PRODUCTS = [PRODUCT_WPCOM_SEARCH, PRODUCT_WPCOM_SEARCH_MONTHLY];
|
55389 |
const WPCOM_PRODUCTS = [...WPCOM_SEARCH_PRODUCTS]; // Plans
|
55390 |
|
help-center/dist/help-center.min.js.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"file":"help-center.min.js","mappings":"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
|
|