(function () { try{let e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bc203092-90d8-4775-b1ea-28044f439d95",e._sentryDebugIdIdentifier="sentry-dbid-bc203092-90d8-4775-b1ea-28044f439d95")}catch(e){}{let e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e._sentryModuleMetadata=e._sentryModuleMetadata||{},e._sentryModuleMetadata[(new e.Error).stack]=Object.assign({},e._sentryModuleMetadata[(new e.Error).stack],{"_sentryBundlerPluginAppKey:cascoon":!0})}("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"2751393bdfd75f3f35f364582abf655e38e1a6e7"};!function(){var e={4144:function(e,t){var n,r,o;r=[t,e],n=function(e,t){"use strict";var n={timeout:5e3,jsonpCallback:"callback",jsonpCallbackFunction:null};function r(){return"jsonp_"+Date.now()+"_"+Math.ceil(1e5*Math.random())}function o(e){try{delete window[e]}catch(t){window[e]=void 0}}function s(e){var t=document.getElementById(e);t&&document.getElementsByTagName("head")[0].removeChild(t)}function i(e){var t=arguments.length <=1||void 0===arguments[1]?{}:arguments[1],i=e,a=t.timeout||n.timeout,c=t.jsonpCallback||n.jsonpCallback,u=void 0;return new Promise((function(n,l){var d=t.jsonpCallbackFunction||r(),p=c+ "_"+d;window[d]=function(e){n({ok:!0,json:function(){return Promise.resolve(e)}}),u&&clearTimeout(u),s(p),o(d)},i+=-1===i.indexOf( "?")? "?": "&";var h=document.createElement( "script");h.setAttribute( "src", ""+i+c+ "="+d),t.charset&&h.setAttribute( "charset",t.charset),t.nonce&&h.setAttribute( "nonce",t.nonce),t.referrerPolicy&&h.setAttribute( "referrerPolicy",t.referrerPolicy),h.id=p,document.getElementsByTagName( "head")[0].appendChild(h),u=setTimeout((function(){l(new Error( "JSONP request to "+e+ " timed out")),o(d),s(p),window[d]=function(){o(d)}}),a),h.onerror=function(){l(new Error( "JSONP request to "+e+ " failed")),o(d),s(p),u&&clearTimeout(u)}}))}t.exports=i},void 0===(o="function"==typeof n?n.apply(t,r):n)||(e.exports=o)},4155:function(e){var t,n,r=e.exports={};function o(){throw new Error( "setTimeout has not been defined")}function s(){throw new Error( "clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:o}catch(e){t=o}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(e){n=s}}();var a,c=[],u=!1,l=-1;function d(){u&&a&&(u=!1,a.length?c=a.concat(c):l=-1,c.length&&p())}function p(){if(!u){var e=i(d);u=!0;for(var t=c.length;t;){for(a=c,c=[];++l1)for(var n=1;n {const t=new URL(e);return Object.fromEntries(t.searchParams)};var s;!function(e){e.QueryStart="?",e.QueryCompound="&"}(s||(s={}));const i="9.5.0",a="sentry.source",c="sentry.sample_rate",u="sentry.op",l="sentry.origin",d="sentry.idle_span_finish_reason",p="sentry.measurement_unit",h="sentry.measurement_value",f="sentry.custom_span_name",m="sentry.profile_id",g="sentry.exclusive_time",_=Object.prototype.toString;function y(e){switch(_.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return I(e,Error)}}function v(e,t){return _.call(e)===`[object ${t}]`}function b(e){return v(e,"ErrorEvent")}function S(e){return v(e,"DOMError")}function w(e){return v(e,"String")}function k(e){return"object"==typeof e&&null!==e&&"__sentry_template_string__"in e&&"__sentry_template_values__"in e}function x(e){return null===e||k(e)||"object"!=typeof e&&"function"!=typeof e}function E(e){return v(e,"Object")}function C(e){return"undefined"!=typeof Event&&I(e,Event)}function T(e){return Boolean(e?.then&&"function"==typeof e.then)}function I(e,t){try{return e instanceof t}catch(e){return!1}}function M(e){return!("object"!=typeof e||null===e||!e.__isVue&&!e._isVue)}const R=globalThis,O=R;function A(e,t={}){if(!e)return" ";try{let n=e;const r=5,o=[];let s=0,i=0;const a=" > ",c=a.length;let u;const l=Array.isArray(t)?t:t.keyAttrs,d=!Array.isArray(t)&&t.maxStringLength||80;for(;n&&s++ 1&&i+o.length*c+u.length>=d));)o.push(u),i+=u.length,n=n.parentNode;return o.reverse().join(a)}catch(e){return" "}}function L(e,t){const n=e,r=[];if(!n?.tagName)return"";if(O.HTMLElement&&n instanceof HTMLElement&&n.dataset){if(n.dataset.sentryComponent)return n.dataset.sentryComponent;if(n.dataset.sentryElement)return n.dataset.sentryElement}r.push(n.tagName.toLowerCase());const o=t?.length?t.filter((e=>n.getAttribute(e))).map((e=>[e,n.getAttribute(e)])):null;if(o?.length)o.forEach((e=>{r.push(`[${e[0]}="${e[1]}"]`)}));else{n.id&&r.push(`#${n.id}`);const e=n.className;if(e&&w(e)){const t=e.split(/\s+/);for(const e of t)r.push(`.${e}`)}}const s=["aria-label","type","name","title","alt"];for(const e of s){const t=n.getAttribute(e);t&&r.push(`[${e}="${t}"]`)}return r.join("")}function D(){try{return O.document.location.href}catch(e){return""}}function N(e){if(!O.HTMLElement)return null;let t=e;for(let e=0;e <5;e++){if(!t)return null;if(t instanceof HTMLElement){if(t.dataset.sentryComponent)return t.dataset.sentryComponent;if(t.dataset.sentryElement)return t.dataset.sentryElement}t=t.parentNode}return null}const P="undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__;function $(){return F(R),R}function F(e){const t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||i,t[i]=t[i]||{}}function B(e,t,n=R){const r=n.__SENTRY__=n.__SENTRY__||{},o=r[i]=r[i]||{};return o[e]||(o[e]=t())}const j=[ "debug", "info", "warn", "error", "log", "assert", "trace"],U={};function z(e){if(!( "console"in R))return e();const t=R.console,n={},r=Object.keys(U);r.forEach((e=>{const r=U[e];n[e]=t[e],t[e]=r}));try{return e()}finally{r.forEach((e=>{t[e]=n[e]}))}}const H=B("logger",(function(){let e=!1;const t={enable:()=>{e=!0},disable:()=>{e=!1},isEnabled:()=>e};return P?j.forEach((n=>{t[n]=(...t)=>{e&&z((()=>{R.console[n](`Sentry Logger [${n}]:`,...t)}))}})):j.forEach((e=>{t[e]=()=>{}})),t}));function q(e,t=0){return"string"!=typeof e||0===t||e.length <=t?e:`${e.slice(0,t)}...`}function W(e,t){let n=e;const r=n.length;if(r<=150)return n;t>r&&(t=r);let o=Math.max(t-60,0);o <5&&(o=0);let s=Math.min(o+140,r);return s>r-5&&(s=r),s===r&&(o=Math.max(s-140,0)),n=n.slice(o,s),o>0&&(n=`'{snip} ${n}`),s V(e,t,n)))}function X(e,t,n){if(!(t in e))return;const r=e[t],o=n(r);"function"==typeof o&&K(o,r);try{e[t]=o}catch{P&&H.log(`Failed to replace method "${t}" in object`,e)}}function J(e,t,n){try{Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0})}catch(n){P&&H.log(`Failed to add non-enumerable property "${t}" to object`,e)}}function K(e,t){try{const n=t.prototype||{};e.prototype=t.prototype=n,J(e,"__sentry_original__",t)}catch(e){}}function Z(e){return e.__sentry_original__}function Q(e){if(y(e))return{message:e.message,name:e.name,stack:e.stack,...te(e)};if(C(e)){const t={type:e.type,target:ee(e.target),currentTarget:ee(e.currentTarget),...te(e)};return"undefined"!=typeof CustomEvent&&I(e,CustomEvent)&&(t.detail=e.detail),t}return e}function ee(e){try{return t=e,"undefined"!=typeof Element&&I(t,Element)?A(e):Object.prototype.toString.call(e)}catch(e){return" "}var t}function te(e){if("object"==typeof e&&null!==e){const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}return{}}function ne(e){return re(e,new Map)}function re(e,t){if(function(e){if(!E(e))return!1;try{const t=Object.getPrototypeOf(e).constructor.name;return!t||"Object"===t}catch{return!0}}(e)){const n=t.get(e);if(void 0!==n)return n;const r={};t.set(e,r);for(const n of Object.getOwnPropertyNames(e))void 0!==e[n]&&(r[n]=re(e[n],t));return r}if(Array.isArray(e)){const n=t.get(e);if(void 0!==n)return n;const r=[];return t.set(e,r),e.forEach((e=>{r.push(re(e,t))})),r}return e}function oe(){return Date.now()/1e3}const se=function(){const{performance:e}=R;if(!e?.now)return oe;const t=Date.now()-e.now(),n=null==e.timeOrigin?t:e.timeOrigin;return()=>(n+e.now())/1e3}();let ie;function ae(){return ie||(ie=function(){const{performance:e}=R;if(!e?.now)return[void 0,"none"];const t=36e5,n=e.now(),r=Date.now(),o=e.timeOrigin?Math.abs(e.timeOrigin+n-r):t,s=o 16*Math.random();try{if(e?.randomUUID)return e.randomUUID().replace(/-/g,"");e?.getRandomValues&&(t=()=>{const t=new Uint8Array(1);return e.getRandomValues(t),t[0]})}catch(e){}return([1e7]+1e3+4e3+8e3+1e11).replace(/[018]/g,(e=>(e^(15&t())>>e/4).toString(16)))}function ue(e){return e.exception?.values?.[0]}function le(e){const{message:t,event_id:n}=e;if(t)return t;const r=ue(e);return r?r.type&&r.value?`${r.type}: ${r.value}`:r.type||r.value||n||" ":n||" "}function de(e,t,n){const r=e.exception=e.exception||{},o=r.values=r.values||[],s=o[0]=o[0]||{};s.value||(s.value=t||""),s.type||(s.type=n||"Error")}function pe(e,t){const n=ue(e);if(!n)return;const r=n.mechanism;if(n.mechanism={type:"generic",handled:!0,...r,...t},t&&"data"in t){const e={...r?.data,...t.data};n.mechanism.data=e}}function he(e){if(function(e){try{return e.__sentry_captured__}catch{}}(e))return!0;try{J(e,"__sentry_captured__",!0)}catch(e){}return!1}function fe(e){const t=se(),n={sid:ce(),init:!0,timestamp:t,started:t,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>function(e){return ne({sid:`${e.sid}`,init:e.init,started:new Date(1e3*e.started).toISOString(),timestamp:new Date(1e3*e.timestamp).toISOString(),status:e.status,errors:e.errors,did:"number"==typeof e.did||"string"==typeof e.did?`${e.did}`:void 0,duration:e.duration,abnormal_mechanism:e.abnormal_mechanism,attrs:{release:e.release,environment:e.environment,ip_address:e.ipAddress,user_agent:e.userAgent}})}(n)};return e&&me(n,e),n}function me(e,t={}){if(t.user&&(!e.ipAddress&&t.user.ip_address&&(e.ipAddress=t.user.ip_address),e.did||t.did||(e.did=t.user.id||t.user.email||t.user.username)),e.timestamp=t.timestamp||se(),t.abnormal_mechanism&&(e.abnormal_mechanism=t.abnormal_mechanism),t.ignoreDuration&&(e.ignoreDuration=t.ignoreDuration),t.sid&&(e.sid=32===t.sid.length?t.sid:ce()),void 0!==t.init&&(e.init=t.init),!e.did&&t.did&&(e.did=`${t.did}`),"number"==typeof t.started&&(e.started=t.started),e.ignoreDuration)e.duration=void 0;else if("number"==typeof t.duration)e.duration=t.duration;else{const t=e.timestamp-e.started;e.duration=t>=0?t:0}t.release&&(e.release=t.release),t.environment&&(e.environment=t.environment),!e.ipAddress&&t.ipAddress&&(e.ipAddress=t.ipAddress),!e.userAgent&&t.userAgent&&(e.userAgent=t.userAgent),"number"==typeof t.errors&&(e.errors=t.errors),t.status&&(e.status=t.status)}function ge(){return ce()}function _e(){return ce().substring(16)}function ye(e,t,n=2){if(!t||"object"!=typeof t||n <=0)return t;if(e&&0===Object.keys(t).length)return e;const r={...e};for(const e in t)Object.prototype.hasOwnProperty.call(t,e)&&(r[e]=ye(r[e],t[e],n-1));return r}const ve="_sentrySpan" ;function be(e,t){t?J(e,ve,t):delete e._sentrySpan}function Se(e){return e._sentrySpan}class we{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:ge(),sampleRand:Math.random()}}clone(){const e=new we;return e._breadcrumbs=[...this._breadcrumbs],e._tags={...this._tags},e._extra={...this._extra},e._contexts={...this._contexts},this._contexts.flags&&(e._contexts.flags={values:[...this._contexts.flags.values]}),e._user=this._user,e._level=this._level,e._session=this._session,e._transactionName=this._transactionName,e._fingerprint=this._fingerprint,e._eventProcessors=[...this._eventProcessors],e._attachments=[...this._attachments],e._sdkProcessingMetadata={...this._sdkProcessingMetadata},e._propagationContext={...this._propagationContext},e._client=this._client,e._lastEventId=this._lastEventId,be(e,Se(this)),e}setClient(e){this._client=e}setLastEventId(e){this._lastEventId=e}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&me(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this._tags={...this._tags,[e]:t},this._notifyScopeListeners(),this}setExtras(e){return this._extra={...this._extra,...e},this._notifyScopeListeners(),this}setExtra(e,t){return this._extra={...this._extra,[e]:t},this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,t){return null===t?delete this._contexts[e]:this._contexts[e]=t,this._notifyScopeListeners(),this}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;const t="function"==typeof e?e(this):e,n=t instanceof we?t.getScopeData():E(t)?e:void 0,{tags:r,extra:o,user:s,contexts:i,level:a,fingerprint:c=[],propagationContext:u}=n||{};return this._tags={...this._tags,...r},this._extra={...this._extra,...o},this._contexts={...this._contexts,...i},s&&Object.keys(s).length&&(this._user=s),a&&(this._level=a),c.length&&(this._fingerprint=c),u&&(this._propagationContext=u),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._session=void 0,be(this,void 0),this._attachments=[],this.setPropagationContext({traceId:ge(),sampleRand:Math.random()}),this._notifyScopeListeners(),this}addBreadcrumb(e,t){const n="number"==typeof t?t:100;if(n<=0)return this;const r={timestamp:oe(),...e};return this._breadcrumbs.push(r),this._breadcrumbs.length>n&&(this._breadcrumbs=this._breadcrumbs.slice(-n),this._client?.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:Se(this)}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=ye(this._sdkProcessingMetadata,e,2),this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}captureException(e,t){const n=t?.event_id||ce();if(!this._client)return H.warn("No client configured on scope - will not capture exception!"),n;const r=new Error("Sentry syntheticException");return this._client.captureException(e,{originalException:e,syntheticException:r,...t,event_id:n},this),n}captureMessage(e,t,n){const r=n?.event_id||ce();if(!this._client)return H.warn("No client configured on scope - will not capture message!"),r;const o=new Error(e);return this._client.captureMessage(e,t,{originalException:e,syntheticException:o,...n,event_id:r},this),r}captureEvent(e,t){const n=t?.event_id||ce();return this._client?(this._client.captureEvent(e,{...t,event_id:n},this),n):(H.warn("No client configured on scope - will not capture event!"),n)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach((e=>{e(this)})),this._notifyingListeners=!1)}}class ke{constructor(e,t){let n,r;n=e||new we,r=t||new we,this._stack=[{scope:n}],this._isolationScope=r}withScope(e){const t=this._pushScope();let n;try{n=e(t)}catch(e){throw this._popScope(),e}return T(n)?n.then((e=>(this._popScope(),e)),(e=>{throw this._popScope(),e})):(this._popScope(),n)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const e=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:e}),e}_popScope(){return!(this._stack.length <=1)&&!!this._stack.pop()}}function xe(){const e=F($());return e.stack=e.stack||new ke(B( "defaultCurrentScope",(()=>new we)),B("defaultIsolationScope",(()=>new we)))}function Ee(e){return xe().withScope(e)}function Ce(e,t){const n=xe();return n.withScope((()=>(n.getStackTop().scope=e,t(e))))}function Te(e){return xe().withScope((()=>e(xe().getIsolationScope())))}function Ie(e){const t=F(e);return t.acs?t.acs:{withIsolationScope:Te,withScope:Ee,withSetScope:Ce,withSetIsolationScope:(e,t)=>Te(t),getCurrentScope:()=>xe().getScope(),getIsolationScope:()=>xe().getIsolationScope()}}function Me(){return Ie($()).getCurrentScope()}function Re(){return Ie($()).getIsolationScope()}function Oe(){return B("globalScope",(()=>new we))}function Ae(...e){const t=Ie($());if(2===e.length){const[n,r]=e;return n?t.withSetScope(n,r):t.withScope(r)}return t.withScope(e[0])}function Le(...e){const t=Ie($());if(2===e.length){const[n,r]=e;return n?t.withSetIsolationScope(n,r):t.withIsolationScope(r)}return t.withIsolationScope(e[0])}function De(){return Me().getClient()}function Ne(e){const t=e.getPropagationContext(),{traceId:n,parentSpanId:r,propagationSpanId:o}=t;return ne({trace_id:n,span_id:o||_e(),parent_span_id:r})}const Pe=100;function $e(e,t){const n=De(),r=Re();if(!n)return;const{beforeBreadcrumb:o=null,maxBreadcrumbs:s=Pe}=n.getOptions();if(s <=0)return;const i={timestamp:oe(),...e},a=o?z((()=>o(i,t))):i;null!==a&&(n.emit&&n.emit("beforeAddBreadcrumb",a,t),r.addBreadcrumb(a,s))}const Fe="undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__,Be="production";var je;function Ue(e){return new He((t=>{t(e)}))}function ze(e){return new He(((t,n)=>{n(e)}))}!function(e){e[e.PENDING=0]="PENDING";e[e.RESOLVED=1]="RESOLVED";e[e.REJECTED=2]="REJECTED"}(je||(je={}));class He{constructor(e){this._state=je.PENDING,this._handlers=[],this._runExecutor(e)}then(e,t){return new He(((n,r)=>{this._handlers.push([!1,t=>{if(e)try{n(e(t))}catch(e){r(e)}else n(t)},e=>{if(t)try{n(t(e))}catch(e){r(e)}else r(e)}]),this._executeHandlers()}))}catch(e){return this.then((e=>e),e)}finally(e){return new He(((t,n)=>{let r,o;return this.then((t=>{o=!1,r=t,e&&e()}),(t=>{o=!0,r=t,e&&e()})).then((()=>{o?n(r):t(r)}))}))}_executeHandlers(){if(this._state===je.PENDING)return;const e=this._handlers.slice();this._handlers=[],e.forEach((e=>{e[0]||(this._state===je.RESOLVED&&e[1](this._value),this._state===je.REJECTED&&e[2](this._value),e[0]=!0)}))}_runExecutor(e){const t=(e,t)=>{this._state===je.PENDING&&(T(t)?t.then(n,r):(this._state=e,this._value=t,this._executeHandlers()))},n=e=>{t(je.RESOLVED,e)},r=e=>{t(je.REJECTED,e)};try{e(n,r)}catch(e){r(e)}}}function qe(e,t,n,r=0){return new He(((o,s)=>{const i=e[r];if(null===t||"function"!=typeof i)o(t);else{const a=i({...t},n);Fe&&i.id&&null===a&&H.log(`Event processor "${i.id}" dropped event`),T(a)?a.then((t=>qe(e,t,n,r+1).then(o))).then(null,s):qe(e,a,n,r+1).then(o).then(null,s)}}))}let We,Ye,Ve;function Ge(e){const t=R._sentryDebugIds;if(!t)return{};const n=Object.keys(t);return Ve&&n.length===Ye||(Ye=n.length,Ve=n.reduce(((n,r)=>{We||(We={});const o=We[r];if(o)n[o[0]]=o[1];else{const o=e(r);for(let e=o.length-1;e>=0;e--){const s=o[e]?.filename,i=t[r];if(s&&i){n[s]=i,We[r]=[s,i];break}}}return n}),{})),Ve}const Xe="?",Je=/\(error: (.*)\)/,Ke=/captureMessage|captureException/;function Ze(...e){const t=e.sort(((e,t)=>e[0]-t[0])).map((e=>e[1]));return(e,n=0,r=0)=>{const o=[],s=e.split("\n");for(let e=n;e 1024)continue;const i=Je.test(n)?n.replace(Je,"$1"):n;if(!i.match(/\S*Error: /)){for(const e of t){const t=e(i);if(t){o.push(t);break}}if(o.length>=50+r)break}}return function(e){if(!e.length)return[];const t=Array.from(e);/sentryWrapped/.test(Qe(t).function||"")&&t.pop();t.reverse(),Ke.test(Qe(t).function||"")&&(t.pop(),Ke.test(Qe(t).function||"")&&t.pop());return t.slice(0,50).map((e=>({...e,filename:e.filename||Qe(t).filename,function:e.function||Xe})))}(o.slice(r))}}function Qe(e){return e[e.length-1]||{}}const et=" ";function tt(e){try{return e&&"function"==typeof e&&e.name||et}catch(e){return et}}function nt(e){const t=e.exception;if(t){const e=[];try{return t.values.forEach((t=>{t.stacktrace.frames&&e.push(...t.stacktrace.frames)})),e}catch(e){return}}}function rt(e,t=100,n=1/0){try{return st("",e,t,n)}catch(e){return{ERROR:`**non-serializable** (${e})`}}}function ot(e,t=3,n=102400){const r=rt(e,t);return o=r,function(e){return~-encodeURI(e).split(/%..|./).length}(JSON.stringify(o))>n?ot(e,t-1,n):r;var o}function st(e,t,n=1/0,r=1/0,o=function(){const e=new WeakSet;function t(t){return!!e.has(t)||(e.add(t),!1)}function n(t){e.delete(t)}return[t,n]}()){const[s,i]=o;if(null==t||["boolean","string"].includes(typeof t)||"number"==typeof t&&Number.isFinite(t))return t;const a=function(e,t){try{if("domain"===e&&t&&"object"==typeof t&&t._events)return"[Domain]";if("domainEmitter"===e)return"[DomainEmitter]";if("undefined"!=typeof global&&t===global)return"[Global]";if("undefined"!=typeof window&&t===window)return"[Window]";if("undefined"!=typeof document&&t===document)return"[Document]";if(M(t))return"[VueViewModel]";if(E(n=t)&&"nativeEvent"in n&&"preventDefault"in n&&"stopPropagation"in n)return"[SyntheticEvent]";if("number"==typeof t&&!Number.isFinite(t))return`[${t}]`;if("function"==typeof t)return`[Function: ${tt(t)}]`;if("symbol"==typeof t)return`[${String(t)}]`;if("bigint"==typeof t)return`[BigInt: ${String(t)}]`;const r=function(e){const t=Object.getPrototypeOf(e);return t?.constructor?t.constructor.name:"null prototype"}(t);return/^HTML(\w*)Element$/.test(r)?`[HTMLElement: ${r}]`:`[object ${r}]`}catch(e){return`**non-serializable** (${e})`}var n}(e,t);if(!a.startsWith("[object "))return a;if(t.__sentry_skip_normalization__)return t;const c="number"==typeof t.__sentry_override_normalization_depth__?t.__sentry_override_normalization_depth__:n;if(0===c)return a.replace("object ","");if(s(t))return"[Circular ~]";const u=t;if(u&&"function"==typeof u.toJSON)try{return st("",u.toJSON(),c-1,r,o)}catch(e){}const l=Array.isArray(t)?[]:{};let d=0;const p=Q(t);for(const e in p){if(!Object.prototype.hasOwnProperty.call(p,e))continue;if(d>=r){l[e]="[MaxProperties ~]";break}const t=p[e];l[e]=st(e,t,c-1,r,o),d++}return i(t),l}const it="sentry-",at=/^sentry-/;function ct(e){const t=function(e){if(!e||!w(e)&&!Array.isArray(e))return;if(Array.isArray(e))return e.reduce(((e,t)=>{const n=lt(t);return Object.entries(n).forEach((([t,n])=>{e[t]=n})),e}),{});return lt(e)}(e);if(!t)return;const n=Object.entries(t).reduce(((e,[t,n])=>{if(t.match(at)){e[t.slice(it.length)]=n}return e}),{});return Object.keys(n).length>0?n:void 0}function ut(e){if(!e)return;return function(e){if(0===Object.keys(e).length)return;return Object.entries(e).reduce(((e,[t,n],r)=>{const o=`${encodeURIComponent(t)}=${encodeURIComponent(n)}`,s=0===r?o:`${e},${o}`;return s.length>8192?(P&&H.warn(`Not adding key: ${t} with val: ${n} to baggage header due to exceeding baggage size limits.`),e):s}),"")}(Object.entries(e).reduce(((e,[t,n])=>(n&&(e[`sentry-${t}`]=n),e)),{}))}function lt(e){return e.split(",").map((e=>e.split("=").map((e=>decodeURIComponent(e.trim()))))).reduce(((e,[t,n])=>(t&&n&&(e[t]=n),e)),{})}function dt(e){if("boolean"==typeof __SENTRY_TRACING__&&!__SENTRY_TRACING__)return!1;const t=e||De()?.getOptions();return!(!t||null==t.tracesSampleRate&&!t.tracesSampler)}function pt(e){if(e <400&&e>=100)return{code:1};if(e>=400&&e <500)switch(e){case 401:return{code:2,message: "unauthenticated"};case 403:return{code:2,message: "permission_denied"};case 404:return{code:2,message: "not_found"};case 409:return{code:2,message: "already_exists"};case 413:return{code:2,message: "failed_precondition"};case 429:return{code:2,message: "resource_exhausted"};case 499:return{code:2,message: "cancelled"};default:return{code:2,message: "invalid_argument"}}if(e>=500&&e <600)switch(e){case 501:return{code:2,message: "unimplemented"};case 503:return{code:2,message: "unavailable"};case 504:return{code:2,message: "deadline_exceeded"};default:return{code:2,message: "internal_error"}}return{code:2,message: "unknown_error"}}function ht(e,t){e.setAttribute( "http.response.status_code",t);const n=pt(t); "unknown_error"!==n.message&&e.setStatus(n)}const ft="_sentryScope" ,mt="_sentryIsolationScope" ;function gt(e){return{scope:e._sentryScope,isolationScope:e._sentryIsolationScope}}function _t(e){if( "boolean"==typeof e)return Number(e);const t="string"==typeof e?parseFloat(e):e;return "number"!=typeof t||isNaN(t)||t<0||t>1?void 0:t}const yt=new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$");function vt(e,t){const n=function(e){if(!e)return;const t=e.match(yt);if(!t)return;let n;return"1"===t[3]?n=!0:"0"===t[3]&&(n=!1),{traceId:t[1],parentSampled:n,parentSpanId:t[2]}}(e),r=ct(t);if(!n?.traceId)return{traceId:ge(),sampleRand:Math.random()};const o=function(e,t){const n=_t(t?.sample_rand);if(void 0!==n)return n;const r=_t(t?.sample_rate);return r&&void 0!==e?.parentSampled?e.parentSampled?Math.random()*r:r+Math.random()*(1-r):Math.random()}(n,r);r&&(r.sample_rand=o.toString());const{traceId:s,parentSpanId:i,parentSampled:a}=n;return{traceId:s,parentSpanId:i,sampled:a,dsc:r||{},sampleRand:o}}function bt(e=ge(),t=_e(),n){let r="";return void 0!==n&&(r=n?"-1":"-0"),`${e}-${t}${r}`}let St=!1;function wt(e){const{spanId:t,traceId:n}=e.spanContext(),{data:r,op:o,parent_span_id:s,status:i,origin:a,links:c}=It(e);return ne({parent_span_id:s,span_id:t,trace_id:n,data:r,op:o,status:i,origin:a,links:c})}function kt(e){const{spanId:t,traceId:n,isRemote:r}=e.spanContext(),o=r?t:It(e).parent_span_id,s=gt(e).scope;return ne({parent_span_id:o,span_id:r?s?.getPropagationContext().propagationSpanId||_e():t,trace_id:n})}function xt(e){const{traceId:t,spanId:n}=e.spanContext();return bt(t,n,Mt(e))}function Et(e){return e&&e.length>0?e.map((({context:{spanId:e,traceId:t,traceFlags:n,...r},attributes:o})=>({span_id:e,trace_id:t,sampled:1===n,attributes:o,...r}))):void 0}function Ct(e){return"number"==typeof e?Tt(e):Array.isArray(e)?e[0]+e[1]/1e9:e instanceof Date?Tt(e.getTime()):se()}function Tt(e){return e>9999999999?e/1e3:e}function It(e){if(function(e){return"function"==typeof e.getSpanJSON}(e))return e.getSpanJSON();const{spanId:t,traceId:n}=e.spanContext();if(function(e){const t=e;return!!(t.attributes&&t.startTime&&t.name&&t.endTime&&t.status)}(e)){const{attributes:r,startTime:o,name:s,endTime:i,parentSpanId:a,status:c,links:d}=e;return ne({span_id:t,trace_id:n,data:r,description:s,parent_span_id:a,start_timestamp:Ct(o),timestamp:Ct(i)||void 0,status:Rt(c),op:r[u],origin:r[l],links:Et(d)})}return{span_id:t,trace_id:n,start_timestamp:0,data:{}}}function Mt(e){const{traceFlags:t}=e.spanContext();return 1===t}function Rt(e){if(e&&0!==e.code)return 1===e.code?"ok":e.message||"unknown_error"}const Ot="_sentryChildSpans",At="_sentryRootSpan";function Lt(e,t){const n=e._sentryRootSpan||e;J(t,At,n),e._sentryChildSpans?e._sentryChildSpans.add(t):J(e,Ot,new Set([t]))}function Dt(e){const t=new Set;return function e(n){if(!t.has(n)&&Mt(n)){t.add(n);const r=n._sentryChildSpans?Array.from(n._sentryChildSpans):[];for(const t of r)e(t)}}(e),Array.from(t)}function Nt(e){return e._sentryRootSpan||e}function Pt(){const e=Ie($());return e.getActiveSpan?e.getActiveSpan():Se(Me())}function $t(){St||(z((()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly.")})),St=!0)}function Ft(e,t){e.updateName(t),e.setAttributes({[a]:"custom",[f]:t})}const Bt="_frozenDsc";function jt(e,t){J(e,Bt,t)}function Ut(e,t){const n=t.getOptions(),{publicKey:r}=t.getDsn()||{},o=ne({environment:n.environment||Be,release:n.release,public_key:r,trace_id:e});return t.emit("createDsc",o),o}function zt(e,t){const n=t.getPropagationContext();return n.dsc||Ut(n.traceId,e)}function Ht(e){const t=De();if(!t)return{};const n=Nt(e),r=It(n),o=r.data,s=n.spanContext().traceState,i=s?.get("sentry.sample_rate")??o[c];function u(e){return"number"!=typeof i&&"string"!=typeof i||(e.sample_rate=`${i}`),e}const l=n._frozenDsc;if(l)return u(l);const d=s?.get("sentry.dsc"),p=d&&ct(d);if(p)return u(p);const h=Ut(e.spanContext().traceId,t),f=o[a],m=r.description;return"url"!==f&&m&&(h.transaction=m),dt()&&(h.sampled=String(Mt(n)),h.sample_rand=s?.get("sentry.sample_rand")??gt(n).scope?.getPropagationContext().sampleRand.toString()),u(h),t.emit("createDsc",h,n),h}function qt(e){return ut(Ht(e))}function Wt(e,t){const{fingerprint:n,span:r,breadcrumbs:o,sdkProcessingMetadata:s}=t;!function(e,t){const{extra:n,tags:r,user:o,contexts:s,level:i,transactionName:a}=t,c=ne(n);Object.keys(c).length&&(e.extra={...c,...e.extra});const u=ne(r);Object.keys(u).length&&(e.tags={...u,...e.tags});const l=ne(o);Object.keys(l).length&&(e.user={...l,...e.user});const d=ne(s);Object.keys(d).length&&(e.contexts={...d,...e.contexts});i&&(e.level=i);a&&"transaction"!==e.type&&(e.transaction=a)}(e,t),r&&function(e,t){e.contexts={trace:kt(t),...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:Ht(t),...e.sdkProcessingMetadata};const n=It(Nt(t)).description;n&&!e.transaction&&"transaction"===e.type&&(e.transaction=n)}(e,r),function(e,t){e.fingerprint=e.fingerprint?Array.isArray(e.fingerprint)?e.fingerprint:[e.fingerprint]:[],t&&(e.fingerprint=e.fingerprint.concat(t));e.fingerprint.length||delete e.fingerprint}(e,n),function(e,t){const n=[...e.breadcrumbs||[],...t];e.breadcrumbs=n.length?n:void 0}(e,o),function(e,t){e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...t}}(e,s)}function Yt(e,t){const{extra:n,tags:r,user:o,contexts:s,level:i,sdkProcessingMetadata:a,breadcrumbs:c,fingerprint:u,eventProcessors:l,attachments:d,propagationContext:p,transactionName:h,span:f}=t;Vt(e,"extra",n),Vt(e,"tags",r),Vt(e,"user",o),Vt(e,"contexts",s),e.sdkProcessingMetadata=ye(e.sdkProcessingMetadata,a,2),i&&(e.level=i),h&&(e.transactionName=h),f&&(e.span=f),c.length&&(e.breadcrumbs=[...e.breadcrumbs,...c]),u.length&&(e.fingerprint=[...e.fingerprint,...u]),l.length&&(e.eventProcessors=[...e.eventProcessors,...l]),d.length&&(e.attachments=[...e.attachments,...d]),e.propagationContext={...e.propagationContext,...p}}function Vt(e,t,n){e[t]=ye(e[t],n,1)}function Gt(e,t,n,r,o,s){const{normalizeDepth:i=3,normalizeMaxBreadth:a=1e3}=e,c={...t,event_id:t.event_id||n.event_id||ce(),timestamp:t.timestamp||oe()},u=n.integrations||e.integrations.map((e=>e.name));!function(e,t){const{environment:n,release:r,dist:o,maxValueLength:s=250}=t;e.environment=e.environment||n||Be,!e.release&&r&&(e.release=r);!e.dist&&o&&(e.dist=o);e.message&&(e.message=q(e.message,s));const i=e.exception?.values?.[0];i?.value&&(i.value=q(i.value,s));const a=e.request;a?.url&&(a.url=q(a.url,s))}(c,e),function(e,t){t.length>0&&(e.sdk=e.sdk||{},e.sdk.integrations=[...e.sdk.integrations||[],...t])}(c,u),o&&o.emit("applyFrameMetadata",t),void 0===t.type&&function(e,t){const n=Ge(t);e.exception?.values?.forEach((e=>{e.stacktrace?.frames?.forEach((e=>{e.filename&&(e.debug_id=n[e.filename])}))}))}(c,e.stackParser);const l=function(e,t){if(!t)return e;const n=e?e.clone():new we;return n.update(t),n}(r,n.captureContext);n.mechanism&&pe(c,n.mechanism);const d=o?o.getEventProcessors():[],p=Oe().getScopeData();if(s){Yt(p,s.getScopeData())}if(l){Yt(p,l.getScopeData())}const h=[...n.attachments||[],...p.attachments];h.length&&(n.attachments=h),Wt(c,p);return qe([...d,...p.eventProcessors],c,n).then((e=>(e&&function(e){const t={};if(e.exception?.values?.forEach((e=>{e.stacktrace?.frames?.forEach((e=>{e.debug_id&&(e.abs_path?t[e.abs_path]=e.debug_id:e.filename&&(t[e.filename]=e.debug_id),delete e.debug_id)}))})),0===Object.keys(t).length)return;e.debug_meta=e.debug_meta||{},e.debug_meta.images=e.debug_meta.images||[];const n=e.debug_meta.images;Object.entries(t).forEach((([e,t])=>{n.push({type:"sourcemap",code_file:e,debug_id:t})}))}(e),"number"==typeof i&&i>0?function(e,t,n){if(!e)return null;const r={...e,...e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map((e=>({...e,...e.data&&{data:rt(e.data,t,n)}})))},...e.user&&{user:rt(e.user,t,n)},...e.contexts&&{contexts:rt(e.contexts,t,n)},...e.extra&&{extra:rt(e.extra,t,n)}};e.contexts?.trace&&r.contexts&&(r.contexts.trace=e.contexts.trace,e.contexts.trace.data&&(r.contexts.trace.data=rt(e.contexts.trace.data,t,n)));e.spans&&(r.spans=e.spans.map((e=>({...e,...e.data&&{data:rt(e.data,t,n)}}))));e.contexts?.flags&&r.contexts&&(r.contexts.flags=rt(e.contexts.flags,3,n));return r}(e,i,a):e)))}function Xt(e){if(e)return function(e){return e instanceof we||"function"==typeof e}(e)||function(e){return Object.keys(e).some((e=>Jt.includes(e)))}(e)?{captureContext:e}:e}const Jt=["user","level","extra","contexts","tags","fingerprint","propagationContext"];function Kt(e,t){return Me().captureException(e,Xt(t))}function Zt(e,t){const n="string"==typeof t?t:void 0,r="string"!=typeof t?{captureContext:t}:void 0;return Me().captureMessage(e,n,r)}function Qt(e,t){return Me().captureEvent(e,t)}function en(e,t){Re().setContext(e,t)}function tn(e){Re().setExtras(e)}function nn(e,t){Re().setExtra(e,t)}function rn(e){Re().setTags(e)}function on(e,t){Re().setTag(e,t)}function sn(e){Re().setUser(e)}function an(){return Re().lastEventId()}async function cn(e){const t=De();return t?t.flush(e):(Fe&&H.warn("Cannot flush events. No client defined."),Promise.resolve(!1))}async function un(e){const t=De();return t?t.close(e):(Fe&&H.warn("Cannot flush events and disable SDK. No client defined."),Promise.resolve(!1))}function ln(){return!!De()}function dn(e){Re().addEventProcessor(e)}function pn(e){const t=Re(),n=Me(),{userAgent:r}=R.navigator||{},o=fe({user:n.getUser()||t.getUser(),...r&&{userAgent:r},...e}),s=t.getSession();return"ok"===s?.status&&me(s,{status:"exited"}),hn(),t.setSession(o),o}function hn(){const e=Re(),t=Me().getSession()||e.getSession();t&&function(e,t){let n={};t?n={status:t}:"ok"===e.status&&(n={status:"exited"}),me(e,n)}(t),fn(),e.setSession()}function fn(){const e=Re(),t=De(),n=e.getSession();n&&t&&t.captureSession(n)}function mn(e=!1){e?hn():fn()}const gn=[];function _n(e){const t=e.defaultIntegrations||[],n=e.integrations;let r;if(t.forEach((e=>{e.isDefaultInstance=!0})),Array.isArray(n))r=[...t,...n];else if("function"==typeof n){const e=n(t);r=Array.isArray(e)?e:[e]}else r=t;return function(e){const t={};return e.forEach((e=>{const{name:n}=e,r=t[n];r&&!r.isDefaultInstance&&e.isDefaultInstance||(t[n]=e)})),Object.values(t)}(r)}function yn(e,t){for(const n of t)n?.afterAllSetup&&n.afterAllSetup(e)}function vn(e,t,n){if(n[t.name])Fe&&H.log(`Integration skipped because it was already installed: ${t.name}`);else{if(n[t.name]=t,-1===gn.indexOf(t.name)&&"function"==typeof t.setupOnce&&(t.setupOnce(),gn.push(t.name)),t.setup&&"function"==typeof t.setup&&t.setup(e),"function"==typeof t.preprocessEvent){const n=t.preprocessEvent.bind(t);e.on("preprocessEvent",((t,r)=>n(t,r,e)))}if("function"==typeof t.processEvent){const n=t.processEvent.bind(t),r=Object.assign(((t,r)=>n(t,r,e)),{id:t.name});e.addEventProcessor(r)}Fe&&H.log(`Integration installed: ${t.name}`)}}function bn(e){const t=De();t?t.addIntegration(e):Fe&&H.warn(`Cannot add integration "${e.name}" because no SDK Client is available.`)}const Sn={},wn={};function kn(e,t){Sn[e]=Sn[e]||[],Sn[e].push(t)}function xn(e,t){if(!wn[e]){wn[e]=!0;try{t()}catch(t){P&&H.error(`Error while instrumenting ${e}`,t)}}}function En(e,t){const n=e&&Sn[e];if(n)for(const r of n)try{r(t)}catch(t){P&&H.error(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${tt(r)}\nError:`,t)}}function Cn(e){const t="console";kn(t,e),xn(t,Tn)}function Tn(){"console"in R&&j.forEach((function(e){e in R.console&&X(R.console,e,(function(t){return U[e]=t,function(...t){En("console",{args:t,level:e});U[e]?.apply(R.console,t)}}))}))}function In(e){return"warn"===e?"warning":["fatal","error","warning","log","info","debug"].includes(e)?e:"log"}const Mn=(e={})=>{const t=e.levels||j,n=e.handled??!0;return{name:"CaptureConsole",setup(e){"console"in R&&Cn((({args:r,level:o})=>{De()===e&&t.includes(o)&&function(e,t,n){const r={level:In(t),extra:{arguments:e}};Ae((o=>{if(o.addEventProcessor((e=>(e.logger="console",pe(e,{handled:n,type:"console"}),e))),"assert"===t){if(!e[0]){const t=`Assertion failed: ${Y(e.slice(1)," ")||"console.assert"}`;o.setExtra("arguments",e.slice(1)),Zt(t,r)}return}const s=e.find((e=>e instanceof Error));if(s)return void Kt(s,r);Zt(Y(e," "),r)}))}(r,o,n)}))}}};function Rn(e,t={},n=Me()){const{message:r,name:o,email:s,url:i,source:a,associatedEventId:c,tags:u}=e,l={contexts:{feedback:ne({contact_email:s,name:o,message:r,url:i,source:a,associated_event_id:c})},type:"feedback",level:"info",tags:u},d=n?.getClient()||De();d&&d.emit("beforeSendFeedback",l,t);return n.captureEvent(l,t)}function On(e,t,n=(()=>{})){let r;try{r=e()}catch(e){throw t(e),n(),e}return function(e,t,n){if(T(e))return e.then((e=>(n(),e)),(e=>{throw t(e),n(),e}));return n(),e}(r,t,n)}class An{constructor(e={}){this._traceId=e.traceId||ge(),this._spanId=e.spanId||_e()}spanContext(){return{spanId:this._spanId,traceId:this._traceId,traceFlags:0}}end(e){}setAttribute(e,t){return this}setAttributes(e){return this}setStatus(e){return this}updateName(e){return this}isRecording(){return!1}addEvent(e,t,n){return this}addLink(e){return this}addLinks(e){return this}recordException(e,t){}}const Ln=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function Dn(e,t=!1){const{host:n,path:r,pass:o,port:s,projectId:i,protocol:a,publicKey:c}=e;return`${a}://${c}${t&&o?`:${o}`:""}@${n}${s?`:${s}`:""}/${r?`${r}/`:r}${i}`}function Nn(e){const t=Ln.exec(e);if(!t)return void z((()=>{console.error(`Invalid Sentry Dsn: ${e}`)}));const[n,r,o="",s="",i="",a=""]=t.slice(1);let c="",u=a;const l=u.split("/");if(l.length>1&&(c=l.slice(0,-1).join("/"),u=l.pop()),u){const e=u.match(/^\d+/);e&&(u=e[0])}return Pn({host:s,pass:o,path:c,projectId:u,port:i,protocol:n,publicKey:r})}function Pn(e){return{protocol:e.protocol,publicKey:e.publicKey||"",pass:e.pass||"",host:e.host,port:e.port||"",path:e.path||"",projectId:e.projectId}}function $n(e){const t="string"==typeof e?Nn(e):Pn(e);if(t&&function(e){if(!P)return!0;const{port:t,projectId:n,protocol:r}=e;return!(["protocol","publicKey","host","projectId"].find((t=>!e[t]&&(H.error(`Invalid Sentry Dsn: ${t} missing`),!0)))||(n.match(/^\d+$/)?function(e){return"http"===e||"https"===e}(r)?t&&isNaN(parseInt(t,10))&&(H.error(`Invalid Sentry Dsn: Invalid port ${t}`),1):(H.error(`Invalid Sentry Dsn: Invalid protocol ${r}`),1):(H.error(`Invalid Sentry Dsn: Invalid projectId ${n}`),1)))}(t))return t}function Fn(e,t=[]){return[e,t]}function Bn(e,t){const[n,r]=e;return[n,[...r,t]]}function jn(e,t){const n=e[1];for(const e of n){if(t(e,e[0].type))return!0}return!1}function Un(e,t){return jn(e,((e,n)=>t.includes(n)))}function zn(e){const t=F(R);return t.encodePolyfill?t.encodePolyfill(e):(new TextEncoder).encode(e)}function Hn(e){const[t,n]=e;let r=JSON.stringify(t);function o(e){"string"==typeof r?r="string"==typeof e?r+e:[zn(r),e]:r.push("string"==typeof e?zn(e):e)}for(const e of n){const[t,n]=e;if(o(`\n${JSON.stringify(t)}\n`),"string"==typeof n||n instanceof Uint8Array)o(n);else{let e;try{e=JSON.stringify(n)}catch(t){e=JSON.stringify(rt(n))}o(e)}}return"string"==typeof r?r:function(e){const t=e.reduce(((e,t)=>e+t.length),0),n=new Uint8Array(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(r)}function qn(e){let t="string"==typeof e?zn(e):e;function n(e){const n=t.subarray(0,e);return t=t.subarray(e+1),n}function r(){let e=t.indexOf(10);return e <0&&(e=t.length),JSON.parse(function(e){const t=F(R);return t.decodePolyfill?t.decodePolyfill(e):(new TextDecoder).decode(e)}(n(e)))}const o=r(),s=[];for(;t.length;){const e=r(),t="number"==typeof e.length?e.length:void 0;s.push([e,t?n(t):r()])}return[o,s]}function Wn(e){return[{type: "span"},e]}function Yn(e){const t="string"==typeof e.data?zn(e.data):e.data;return[ne({type: "attachment",length:t.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType}),t]}const Vn={session: "session",sessions: "session",attachment: "attachment",transaction: "transaction",event: "error",client_report: "internal",user_report: "default",profile: "profile",profile_chunk: "profile",replay_event: "replay",replay_recording: "replay",check_in: "monitor",feedback: "feedback",span: "span",raw_security: "security",otel_log: "log_item"};function Gn(e){return Vn[e]}function Xn(e){if(!e?.sdk)return;const{name:t,version:n}=e.sdk;return{name:t,version:n}}function Jn(e,t,n,r){const o=e.sdkProcessingMetadata?.dynamicSamplingContext;return{event_id:e.event_id,sent_at:(new Date).toISOString(),...t&&{sdk:t},...!!n&&r&&{dsn:Dn(r)},...o&&{trace:ne({...o})}}}function Kn(e,t,n,r=Pt()){const o=r&&Nt(r);o&&(Fe&&H.log(`[Measurement] Setting measurement on root span: ${e}=$ {t} ${n}`),o.addEvent(e,{[h]:t,[p]:n}))}function Zn(e){if(!e||0===e.length)return;const t={};return e.forEach((e=>{const n=e.attributes||{},r=n["sentry.measurement_unit"],o=n["sentry.measurement_value"];"string"==typeof r&&"number"==typeof o&&(t[e.name]={value:o,unit:r})})),t}class Qn{constructor(e={}){this._traceId=e.traceId||ge(),this._spanId=e.spanId||_e(),this._startTime=e.startTimestamp||se(),this._links=e.links,this._attributes={},this.setAttributes({[l]:"manual",[u]:e.op,...e.attributes}),this._name=e.name,e.parentSpanId&&(this._parentSpanId=e.parentSpanId),"sampled"in e&&(this._sampled=e.sampled),e.endTimestamp&&(this._endTime=e.endTimestamp),this._events=[],this._isStandaloneSpan=e.isStandalone,this._endTime&&this._onSpanEnded()}addLink(e){return this._links?this._links.push(e):this._links=[e],this}addLinks(e){return this._links?this._links.push(...e):this._links=e,this}recordException(e,t){}spanContext(){const{_spanId:e,_traceId:t,_sampled:n}=this;return{spanId:e,traceId:t,traceFlags:n?1:0}}setAttribute(e,t){return void 0===t?delete this._attributes[e]:this._attributes[e]=t,this}setAttributes(e){return Object.keys(e).forEach((t=>this.setAttribute(t,e[t]))),this}updateStartTime(e){this._startTime=Ct(e)}setStatus(e){return this._status=e,this}updateName(e){return this._name=e,this.setAttribute(a,"custom"),this}end(e){this._endTime||(this._endTime=Ct(e),function(e){if(!Fe)return;const{description:t=" < unknown name>",op:n=" < unknown op>"}=It(e),{spanId:r}=e.spanContext(),o=`[Tracing] Finishing "${n}" ${Nt(e)===e?"root ":""}span "${t}" with ID ${r}`;H.log(o)}(this),this._onSpanEnded())}getSpanJSON(){return ne({data:this._attributes,description:this._name,op:this._attributes[u],parent_span_id:this._parentSpanId,span_id:this._spanId,start_timestamp:this._startTime,status:Rt(this._status),timestamp:this._endTime,trace_id:this._traceId,origin:this._attributes[l],profile_id:this._attributes["sentry.profile_id"],exclusive_time:this._attributes["sentry.exclusive_time"],measurements:Zn(this._events),is_segment:this._isStandaloneSpan&&Nt(this)===this||void 0,segment_id:this._isStandaloneSpan?Nt(this).spanContext().spanId:void 0,links:Et(this._links)})}isRecording(){return!this._endTime&&!!this._sampled}addEvent(e,t,n){Fe&&H.log("[Tracing] Adding an event to span:",e);const r=er(t)?t:n||se(),o=er(t)?{}:t||{},s={name:e,time:Ct(r),attributes:o};return this._events.push(s),this}isStandaloneSpan(){return!!this._isStandaloneSpan}_onSpanEnded(){const e=De();e&&e.emit("spanEnd",this);if(!(this._isStandaloneSpan||this===Nt(this)))return;if(this._isStandaloneSpan)return void(this._sampled?function(e){const t=De();if(!t)return;const n=e[1];if(!n||0===n.length)return void t.recordDroppedEvent("before_send","span");t.sendEnvelope(e)}(function(e,t){const n=Ht(e[0]),r=t?.getDsn(),o=t?.getOptions().tunnel,s={sent_at:(new Date).toISOString(),...function(e){return!!e.trace_id&&!!e.public_key}(n)&&{trace:n},...!!o&&r&&{dsn:Dn(r)}},i=t?.getOptions().beforeSendSpan,a=i?e=>{const t=It(e);return i(t)||($t(),t)}:It,c=[];for(const t of e){const e=a(t);e&&c.push(Wn(e))}return Fn(s,c)}([this],e)):(Fe&&H.log("[Tracing] Discarding standalone span because its trace was not chosen to be sampled."),e&&e.recordDroppedEvent("sample_rate","span")));const t=this._convertSpanToTransaction();if(t){(gt(this).scope||Me()).captureEvent(t)}}_convertSpanToTransaction(){if(!tr(It(this)))return;this._name||(Fe&&H.warn("Transaction has no name, falling back to ` `."),this._name=" ");const{scope:e,isolationScope:t}=gt(this);if(!0!==this._sampled)return;const n=Dt(this).filter((e=>e!==this&&!function(e){return e instanceof Qn&&e.isStandaloneSpan()}(e))).map((e=>It(e))).filter(tr),r=this._attributes[a];delete this._attributes["sentry.custom_span_name"],n.forEach((e=>{delete e.data["sentry.custom_span_name"]}));const o={contexts:{trace:wt(this)},spans:n.length>1e3?n.sort(((e,t)=>e.start_timestamp-t.start_timestamp)).slice(0,1e3):n,start_timestamp:this._startTime,timestamp:this._endTime,transaction:this._name,type:"transaction",sdkProcessingMetadata:{capturedSpanScope:e,capturedSpanIsolationScope:t,...ne({dynamicSamplingContext:Ht(this)})},...r&&{transaction_info:{source:r}}},s=Zn(this._events);return s&&Object.keys(s).length&&(Fe&&H.log("[Measurements] Adding measurements to transaction event",JSON.stringify(s,void 0,2)),o.measurements=s),o}}function er(e){return e&&"number"==typeof e||e instanceof Date||Array.isArray(e)}function tr(e){return!!(e.start_timestamp&&e.timestamp&&e.span_id&&e.trace_id)}const nr="__SENTRY_SUPPRESS_TRACING__";function rr(e,t){const n=pr();if(n.startSpan)return n.startSpan(e,t);const r=dr(e),{forceTransaction:o,parentSpan:s,scope:i}=e,a=i?.clone();return Ae(a,(()=>mr(s)((()=>{const n=Me(),s=fr(n),i=e.onlyIfParent&&!s?new An:lr({parentSpan:s,spanArguments:r,forceTransaction:o,scope:n});return be(n,i),On((()=>t(i)),(()=>{const{status:e}=It(i);!i.isRecording()||e&&"ok"!==e||i.setStatus({code:2,message:"internal_error"})}),(()=>{i.end()}))}))))}function or(e,t){const n=pr();if(n.startSpanManual)return n.startSpanManual(e,t);const r=dr(e),{forceTransaction:o,parentSpan:s,scope:i}=e,a=i?.clone();return Ae(a,(()=>mr(s)((()=>{const n=Me(),s=fr(n),i=e.onlyIfParent&&!s?new An:lr({parentSpan:s,spanArguments:r,forceTransaction:o,scope:n});return be(n,i),On((()=>t(i,(()=>i.end()))),(()=>{const{status:e}=It(i);!i.isRecording()||e&&"ok"!==e||i.setStatus({code:2,message:"internal_error"})}))}))))}function sr(e){const t=pr();if(t.startInactiveSpan)return t.startInactiveSpan(e);const n=dr(e),{forceTransaction:r,parentSpan:o}=e;return(e.scope?t=>Ae(e.scope,t):void 0!==o?e=>ar(o,e):e=>e())((()=>{const t=Me(),o=fr(t);return e.onlyIfParent&&!o?new An:lr({parentSpan:o,spanArguments:n,forceTransaction:r,scope:t})}))}const ir=(e,t)=>{const n=Ie($());if(n.continueTrace)return n.continueTrace(e,t);const{sentryTrace:r,baggage:o}=e;return Ae((e=>{const n=vt(r,o);return e.setPropagationContext(n),t()}))};function ar(e,t){const n=pr();return n.withActiveSpan?n.withActiveSpan(e,t):Ae((n=>(be(n,e||void 0),t(n))))}function cr(e){const t=pr();return t.suppressTracing?t.suppressTracing(e):Ae((t=>(t.setSDKProcessingMetadata({[nr]:!0}),e())))}function ur(e){return Ae((t=>(t.setPropagationContext({traceId:ge(),sampleRand:Math.random()}),Fe&&H.info(`Starting a new trace with id ${t.getPropagationContext().traceId}`),ar(null,e))))}function lr({parentSpan:e,spanArguments:t,forceTransaction:n,scope:r}){if(!dt()){const r=new An;if(n||!e){jt(r,{sampled:"false",sample_rate:"0",transaction:t.name,...Ht(r)})}return r}const o=Re();let s;if(e&&!n)s=function(e,t,n){const{spanId:r,traceId:o}=e.spanContext(),s=!t.getScopeData().sdkProcessingMetadata[nr]&&Mt(e),i=s?new Qn({...n,parentSpanId:r,traceId:o,sampled:s}):new An({traceId:o});Lt(e,i);const a=De();a&&(a.emit("spanStart",i),n.endTimestamp&&a.emit("spanEnd",i));return i}(e,r,t),Lt(e,s);else if(e){const n=Ht(e),{traceId:o,spanId:i}=e.spanContext(),a=Mt(e);s=hr({traceId:o,parentSpanId:i,...t},r,a),jt(s,n)}else{const{traceId:e,dsc:n,parentSpanId:i,sampled:a}={...o.getPropagationContext(),...r.getPropagationContext()};s=hr({traceId:e,parentSpanId:i,...t},r,a),n&&jt(s,n)}return function(e){if(!Fe)return;const{description:t=" < unknown name>",op:n=" < unknown op>",parent_span_id:r}=It(e),{spanId:o}=e.spanContext(),s=Mt(e),i=Nt(e),a=i===e,c=`[Tracing] Starting ${s?"sampled":"unsampled"} ${a?"root ":""}span`,u=[`op: ${n}`,`name: ${t}`,`ID: ${o}`];if(r&&u.push(`parent ID: ${r}`),!a){const{op:e,description:t}=It(i);u.push(`root ID: ${i.spanContext().spanId}`),e&&u.push(`root op: ${e}`),t&&u.push(`root description: ${t}`)}H.log(`${c}\n ${u.join("\n ")}`)}(s),function(e,t,n){e&&(J(e,mt,n),J(e,ft,t))}(s,r,o),s}function dr(e){const t={isStandalone:(e.experimental||{}).standalone,...e};if(e.startTime){const n={...t};return n.startTimestamp=Ct(e.startTime),delete n.startTime,n}return t}function pr(){return Ie($())}function hr(e,t,n){const r=De(),o=r?.getOptions()||{},{name:s="",attributes:i}=e,u=t.getPropagationContext(),[l,d,p]=t.getScopeData().sdkProcessingMetadata[nr]?[!1]:function(e,t,n){if(!dt(e))return[!1];let r,o;"function"==typeof e.tracesSampler?(o=e.tracesSampler({...t,inheritOrSampleWith:e=>"number"==typeof t.parentSampleRate?t.parentSampleRate:"boolean"==typeof t.parentSampled?Number(t.parentSampled):e}),r=!0):void 0!==t.parentSampled?o=t.parentSampled:void 0!==e.tracesSampleRate&&(o=e.tracesSampleRate,r=!0);const s=_t(o);if(void 0===s)return Fe&&H.warn(`[Tracing] Discarding root span because of invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(o)} of type ${JSON.stringify(typeof o)}.`),[!1];if(!s)return Fe&&H.log("[Tracing] Discarding transaction because "+("function"==typeof e.tracesSampler?"tracesSampler returned 0 or false":"a negative sampling decision was inherited or tracesSampleRate is set to 0")),[!1,s,r];const i=n ar(e,t):e=>e()}class gr extends Error{constructor(e,t="warn"){super(e),this.message=e,this.logLevel=t}}function _r(e){const t=[];function n(e){return t.splice(t.indexOf(e),1)[0]||Promise.resolve(void 0)}return{$:t,add:function(r){if(!(void 0===e||t.lengthn(o))).then(null,(()=>n(o).then(null,(()=>{})))),o},drain:function(e){return new He(((n,r)=>{let o=t.length;if(!o)return n(!0);const s=setTimeout((()=>{e&&e>0&&n(!1)}),e);t.forEach((e=>{Ue(e).then((()=>{--o||(clearTimeout(s),n(!0))}),r)}))}))}}}function yr(e,t=Date.now()){const n=parseInt(`${e}`,10);if(!isNaN(n))return 1e3*n;const r=Date.parse(`${e}`);return isNaN(r)?6e4:r-t}function vr(e,t,n=Date.now()){return function(e,t){return e[t]||e.all||0}(e,t)>n}function br(e,{statusCode:t,headers:n},r=Date.now()){const o={...e},s=n?.["x-sentry-rate-limits"],i=n?.["retry-after"];if(s)for(const e of s.trim().split(",")){const[t,n,,,s]=e.split(":",5),i=parseInt(t,10),a=1e3*(isNaN(i)?60:i);if(n)for(const e of n.split(";"))"metric_bucket"===e&&s&&!s.split(";").includes("custom")||(o[e]=r+a);else o.all=r+a}else i?o.all=r+yr(i,r):429===t&&(o.all=r+6e4);return o}function Sr(e,t,n=_r(e.bufferSize||64)){let r={};return{send:function(o){const s=[];if(jn(o,((t,n)=>{const o=Gn(n);vr(r,o)?e.recordDroppedEvent("ratelimit_backoff",o):s.push(t)})),0===s.length)return Ue({});const i=Fn(o[0],s),a=t=>{jn(i,((n,r)=>{e.recordDroppedEvent(t,Gn(r))}))};return n.add((()=>t({body:Hn(i)}).then((e=>(void 0!==e.statusCode&&(e.statusCode<200||e.statusCode>=300)&&Fe&&H.warn(`Sentry responded with status code ${e.statusCode} to sent event.`),r=br(r,e),e)),(e=>{throw a("network_error"),e})))).then((e=>e),(e=>{if(e instanceof gr)return Fe&&H.error("Skipped sending event because buffer is full."),a("queue_overflow"),Ue({});throw e}))},flush:e=>n.drain(e)}}const wr=()=>{let e;return{name:"Dedupe",processEvent(t){if(t.type)return t;try{if(function(e,t){if(!t)return!1;if(function(e,t){const n=e.message,r=t.message;if(!n&&!r)return!1;if(n&&!r||!n&&r)return!1;if(n!==r)return!1;if(!xr(e,t))return!1;if(!kr(e,t))return!1;return!0}(e,t))return!0;if(function(e,t){const n=Er(t),r=Er(e);if(!n||!r)return!1;if(n.type!==r.type||n.value!==r.value)return!1;if(!xr(e,t))return!1;if(!kr(e,t))return!1;return!0}(e,t))return!0;return!1}(t,e))return Fe&&H.warn("Event dropped due to being a duplicate of previously captured event."),null}catch(e){}return e=t}}};function kr(e,t){let n=nt(e),r=nt(t);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 e=0;e({name:"EventFilters ",processEvent(t,n,r){const o=r.getOptions(),s=function(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:Tr],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[]],ignoreInternal:void 0===e.ignoreInternal||e.ignoreInternal}}(e,o);return function(e,t){if(t.ignoreInternal&&function(e){try{return"SentryError "===e.exception.values[0].type}catch(e){}return!1}(e))return Fe&&H.warn(`Event dropped due to being internal Sentry Error.\nEvent: ${le(e)}`),!0;if(function(e,t){if(e.type||!t||!t.length)return!1;return Cr(e).some((e=>G(e,t)))}(e,t.ignoreErrors))return Fe&&H.warn(`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent: ${le(e)}`),!0;if(function(e){if(e.type)return!1;if(!e.exception?.values?.length)return!1;return!e.message&&!e.exception.values.some((e=>e.stacktrace||e.type&&"Error "!==e.type||e.value))}(e))return Fe&&H.warn(`Event dropped due to not having an error message, error type or stacktrace.\nEvent: ${le(e)}`),!0;if(function(e,t){if("transaction "!==e.type||!t||!t.length)return!1;const n=e.transaction;return!!n&&G(n,t)}(e,t.ignoreTransactions))return Fe&&H.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.\nEvent: ${le(e)}`),!0;if(function(e,t){if(!t?.length)return!1;const n=Rr(e);return!!n&&G(n,t)}(e,t.denyUrls))return Fe&&H.warn(`Event dropped due to being matched by \`denyUrls\` option.\nEvent: ${le(e)}.\nUrl: ${Rr(e)}`),!0;if(!function(e,t){if(!t?.length)return!0;const n=Rr(e);return!n||G(n,t)}(e,t.allowUrls))return Fe&&H.warn(`Event dropped due to not being matched by \`allowUrls\` option.\nEvent: ${le(e)}.\nUrl: ${Rr(e)}`),!0;return!1}(t,s)?null:t}}),Mr=(e={})=>({...Ir(e),name:"InboundFilters "});function Rr(e){try{const t=[...e.exception?.values??[]].reverse().find((e=>void 0===e.mechanism?.parent_id&&e.stacktrace?.frames?.length))?.stacktrace?.frames;return t?function(e=[]){for(let t=e.length-1;t>=0;t--){const n=e[t];if(n&&""!==n.filename&&"[native code]"!==n.filename)return n.filename||null}return null}(t):null}catch(t){return Fe&&H.error(`Cannot extract url for event ${le(e)}`),null}}const Or=(e={})=>{const{depth:t=3,captureErrorCause:n=!0}=e;return{name:"ExtraErrorData",processEvent(e,r,o){const{maxValueLength:s=250}=o.getOptions();return function(e,t={},n,r,o){if(!t.originalException||!y(t.originalException))return e;const s=t.originalException.name||t.originalException.constructor.name,i=function(e,t,n){try{const r=["name","message","stack","line","column","fileName","lineNumber","columnNumber","toJSON"],o={};for(const t of Object.keys(e)){if(-1!==r.indexOf(t))continue;const s=e[t];o[t]=y(s)||"string"==typeof s?q(`${s}`,n):s}if(t&&void 0!==e.cause&&(o.cause=y(e.cause)?e.cause.toString():e.cause),"function"==typeof e.toJSON){const t=e.toJSON();for(const e of Object.keys(t)){const n=t[e];o[e]=y(n)?n.toString():n}}return o}catch(e){Fe&&H.error("Unable to extract extra data from the Error object:",e)}return null}(t.originalException,r,o);if(i){const t={...e.contexts},r=rt(i,n);return E(r)&&(J(r,"__sentry_skip_normalization__",!0),t[s]=r),{...e,contexts:t}}return e}(e,r,t,n,s)}}};let Ar;const Lr=new WeakMap,Dr=()=>({name:"FunctionToString",setupOnce(){Ar=Function.prototype.toString;try{Function.prototype.toString=function(...e){const t=Z(this),n=Lr.has(De())&&void 0!==t?t:this;return Ar.apply(n,e)}}catch{}},setup(e){Lr.set(e,!0)}});function Nr(e){const t=e.protocol?`${e.protocol}:`:"",n=e.port?`:${e.port}`:"";return`${t}//${e.host}${n}${e.path?`/${e.path}`:""}/api/`}function Pr(e,t,n){return t||`${function(e){return`${Nr(e)}${e.projectId}/envelope/`}(e)}?${function(e,t){const n={sentry_version:"7"};return e.publicKey&&(n.sentry_key=e.publicKey),t&&(n.sentry_client=`${t.name}/${t.version}`),new URLSearchParams(n).toString()}(e,n)}`}function $r(e,t){let n;return jn(e,((e,r)=>(t.includes(r)&&(n=Array.isArray(e)?e[1]:void 0),!!n))),n}function Fr(e,t){return n=>{const r=e(n),o=new Map;function s(t,r){const s=r?`${t}:${r}`:t;let i=o.get(s);if(!i){const a=Nn(t);if(!a)return;const c=Pr(a,n.tunnel);i=r?function(e,t){return n=>{const r=e(n);return{...r,send:async e=>{const n=$r(e,["event","transaction","profile","replay_event"]);return n&&(n.release=t),r.send(e)}}}}(e,r)({...n,url:c}):e({...n,url:c}),o.set(s,i)}return[t,i]}return{send:async function(e){const n=t({envelope:e,getEvent:function(t){return $r(e,t?.length?t:["event"])}}).map((e=>"string"==typeof e?s(e,void 0):s(e.dsn,e.release))).filter((e=>!!e)),o=n.length?n:[["",r]],i=await Promise.all(o.map((([t,n])=>n.send(function(e,t){return Fn(t?{...e[0],dsn:t}:e[0],e[1])}(e,t)))));return i[0]},flush:async function(e){const t=[...o.values(),r];return(await Promise.all(t.map((t=>t.flush(e))))).every((e=>e))}}}}const Br=new Map,jr=new Set;function Ur(e,t){return function(e){if(R._sentryModuleMetadata)for(const t of Object.keys(R._sentryModuleMetadata)){const n=R._sentryModuleMetadata[t];if(jr.has(t))continue;jr.add(t);const r=e(t);for(const e of r.reverse())if(e.filename){Br.set(e.filename,n);break}}}(e),Br.get(t)}function zr(e,t){try{t.exception.values.forEach((t=>{if(t.stacktrace)for(const n of t.stacktrace.frames||[]){if(!n.filename||n.module_metadata)continue;const t=Ur(e,n.filename);t&&(n.module_metadata=t)}}))}catch(e){}}function Hr(e){try{e.exception.values.forEach((e=>{if(e.stacktrace)for(const t of e.stacktrace.frames||[])delete t.module_metadata}))}catch(e){}}const qr=()=>({name:"ModuleMetadata",setup(e){e.on("beforeEnvelope",(e=>{jn(e,((e,t)=>{if("event"===t){const t=Array.isArray(e)?e[1]:void 0;t&&(Hr(t),e[1]=t)}}))})),e.on("applyFrameMetadata",(t=>{if(t.type)return;zr(e.getOptions().stackParser,t)}))}});function Wr(e,...t){const n=new String(String.raw(e,...t));return n.__sentry_template_string__=e.join("\0").replace(/%/g,"%%").replace(/\0/g,"%s"),n.__sentry_template_values__=t,n}let Yr=null;function Vr(e){const t="error";kn(t,e),xn(t,Gr)}function Gr(){Yr=R.onerror,R.onerror=function(e,t,n,r,o){const s={column:r,error:o,line:n,msg:e,url:t};return En("error",s),!!Yr&&Yr.apply(this,arguments)},R.onerror.__SENTRY_INSTRUMENTED__=!0}let Xr=null;function Jr(e){const t="unhandledrejection";kn(t,e),xn(t,Kr)}function Kr(){Xr=R.onunhandledrejection,R.onunhandledrejection=function(e){const t=e;return En("unhandledrejection",t),!Xr||Xr.apply(this,arguments)},R.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}let Zr=!1;function Qr(){Zr||(Zr=!0,Vr(eo),Jr(eo))}function eo(){const e=Pt(),t=e&&Nt(e);if(t){const e="internal_error";Fe&&H.log(`[Tracing] Root span: ${e} -> Global error occurred`),t.setStatus({code:2,message:e})}}function to(e,t){let n=0;for(let t=e.length-1;t>=0;t--){const r=e[t];"."===r?e.splice(t,1):".."===r?(e.splice(t,1),n++):n&&(e.splice(t,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}eo.tag="sentry_tracingErrorCallback";const no=/^(\S+:\\|\/?)([\s\S]*?)((?:\.{1,2}|[^/\\]+?|)(\.[^./\\]*|))(?:[/\\]*)$/;function ro(e){const t=e.length>1024?` ${e.slice(-1024)}`:e,n=no.exec(t);return n?n.slice(1):[]}function oo(...e){let t="",n=!1;for(let r=e.length-1;r>=-1&&!n;r--){const o=r>=0?e[r]:"/";o&&(t=`${o}/${t}`,n="/"===o.charAt(0))}return t=to(t.split("/").filter((e=>!!e)),!n).join("/"),(n?"/":"")+t||"."}function so(e){let t=0;for(;t =0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}const io=(e={})=>{const t=e.root,n=e.prefix||"app:///",r="window"in R&&!!R.window,o=e.iteratee||function({isBrowser:e,root:t,prefix:n}){return r=>{if(!r.filename)return r;const o=/^[a-zA-Z]:\\/.test(r.filename)||r.filename.includes("\\")&&!r.filename.includes("/"),s=/^\//.test(r.filename);if(e){if(t){const e=r.filename;0===e.indexOf(t)&&(r.filename=e.replace(t,n))}}else if(o||s){const e=o?r.filename.replace(/^[a-zA-Z]:/,"").replace(/\\/g,"/"):r.filename,s=t?function(e,t){e=oo(e).slice(1),t=oo(t).slice(1);const n=so(e.split("/")),r=so(t.split("/")),o=Math.min(n.length,r.length);let s=o;for(let e=0;e {return{...e,...e.stacktrace&&{stacktrace:(t=e.stacktrace,{...t,frames:t?.frames&&t.frames.map((e=>o(e)))})}};var t}))}}}catch(t){return e}}(t)),t}}};function ao(e){Me().setClient(e)}const co=e=>({name:"ThirdPartyErrorsFilter",setup(e){e.on("beforeEnvelope",(e=>{jn(e,((e,t)=>{if("event"===t){const t=Array.isArray(e)?e[1]:void 0;t&&(Hr(t),e[1]=t)}}))})),e.on("applyFrameMetadata",(t=>{if(t.type)return;zr(e.getOptions().stackParser,t)}))},processEvent(t){const n=function(e){const t=nt(e);if(!t)return;return t.filter((e=>!!e.filename)).map((e=>e.module_metadata?Object.keys(e.module_metadata).filter((e=>e.startsWith(uo))).map((e=>e.slice(uo.length))):[]))}(t);if(n){const r=n["drop-error-if-contains-third-party-frames"===e.behaviour||"apply-tag-if-contains-third-party-frames"===e.behaviour?"some":"every"]((t=>!t.some((t=>e.filterKeys.includes(t)))));if(r){if("drop-error-if-contains-third-party-frames"===e.behaviour||"drop-error-if-exclusively-contains-third-party-frames"===e.behaviour)return null;t.tags={...t.tags,third_party_code:!0}}}return t}});const uo="_sentryBundlerPluginAppKey:";function lo(e){return{...e,path:"path"in e&&Array.isArray(e.path)?e.path.join("."):void 0,keys:"keys"in e?JSON.stringify(e.keys):void 0,unionErrors:"unionErrors"in e?JSON.stringify(e.unionErrors):void 0}}function po(e){const t=new Set;for(const n of e.issues){const e=n.path.map((e=>"number"==typeof e?" ":e)).join(".");e.length>0&&t.add(e)}const n=Array.from(t);if(0===n.length){let t="variable";if(e.issues.length>0){const n=e.issues[0];void 0!==n&&"expected"in n&&"string"==typeof n.expected&&(t=n.expected)}return`Failed to validate ${t}`}return`Failed to validate keys: ${q(n.join(", "),100)}`}function ho(e,t=!1,n,r){if(!(n.exception?.values&&r.originalException&&(o=r.originalException,y(o)&&"ZodError"===o.name&&Array.isArray(o.issues))&&0!==r.originalException.issues.length))return n;var o;try{const o=(t?r.originalException.issues:r.originalException.issues.slice(0,e)).map(lo);return t&&(Array.isArray(r.attachments)||(r.attachments=[]),r.attachments.push({filename:"zod_issues.json",data:JSON.stringify({issues:o})})),{...n,exception:{...n.exception,values:[{...n.exception.values[0],value:po(r.originalException)},...n.exception.values.slice(1)]},extra:{...n.extra,"zoderror.issues":o.slice(0,e)}}}catch(e){return{...n,extra:{...n.extra,"zoderrors sentry integration parse error":{message:"an exception was thrown while processing ZodError within applyZodErrorsToEvent()",error:e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:"unknown"}}}}}const fo=(e={})=>{const t=e.limit??10;return{name:"ZodErrors",processEvent:(n,r)=>ho(t,e.saveZodIssuesAsAttachment,n,r)}},mo=R;let go=0;function _o(){return go>0}function yo(e,t={}){if(!function(e){return"function"==typeof e}(e))return e;try{const t=e.__sentry_wrapped__;if(t)return"function"==typeof t?t:e;if(Z(e))return e}catch(t){return e}const n=function(...n){try{const r=n.map((e=>yo(e,t)));return e.apply(this,r)}catch(e){throw go++,setTimeout((()=>{go--})),Ae((r=>{r.addEventProcessor((e=>(t.mechanism&&(de(e,void 0,void 0),pe(e,t.mechanism)),e.extra={...e.extra,arguments:n},e))),Kt(e)})),e}};try{for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t])}catch{}K(n,e),J(e,"__sentry_wrapped__",n);try{Object.getOwnPropertyDescriptor(n,"name").configurable&&Object.defineProperty(n,"name",{get:()=>e.name})}catch{}return n}const vo="Not capturing exception because it's already been captured.",bo="Discarded session because of missing or non-string release";class So{constructor(e){if(this._options=e,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],e.dsn?this._dsn=$n(e.dsn):Fe&&H.warn("No DSN provided, client will not send events."),this._dsn){const t=Pr(this._dsn,e.tunnel,e._metadata?e._metadata.sdk:void 0);this._transport=e.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...e.transportOptions,url:t})}}captureException(e,t,n){const r=ce();if(he(e))return Fe&&H.log(vo),r;const o={event_id:r,...t};return this._process(this.eventFromException(e,o).then((e=>this._captureEvent(e,o,n)))),o.event_id}captureMessage(e,t,n,r){const o={event_id:ce(),...n},s=k(e)?e:String(e),i=x(e)?this.eventFromMessage(s,t,o):this.eventFromException(e,o);return this._process(i.then((e=>this._captureEvent(e,o,r)))),o.event_id}captureEvent(e,t,n){const r=ce();if(t?.originalException&&he(t.originalException))return Fe&&H.log(vo),r;const o={event_id:r,...t},s=e.sdkProcessingMetadata||{},i=s.capturedSpanScope,a=s.capturedSpanIsolationScope;return this._process(this._captureEvent(e,o,i||n,a)),o.event_id}captureSession(e){this.sendSession(e),me(e,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(e){const t=this._transport;return t?(this.emit("flush"),this._isClientDoneProcessing(e).then((n=>t.flush(e).then((e=>n&&e))))):Ue(!0)}close(e){return this.flush(e).then((e=>(this.getOptions().enabled=!1,this.emit("close"),e)))}getEventProcessors(){return this._eventProcessors}addEventProcessor(e){this._eventProcessors.push(e)}init(){(this._isEnabled()||this._options.integrations.some((({name:e})=>e.startsWith("Spotlight"))))&&this._setupIntegrations()}getIntegrationByName(e){return this._integrations[e]}addIntegration(e){const t=this._integrations[e.name];vn(this,e,this._integrations),t||yn(this,[e])}sendEvent(e,t={}){this.emit("beforeSendEvent",e,t);let n=function(e,t,n,r){const o=Xn(n),s=e.type&&"replay_event"!==e.type?e.type:"event";!function(e,t){t&&(e.sdk=e.sdk||{},e.sdk.name=e.sdk.name||t.name,e.sdk.version=e.sdk.version||t.version,e.sdk.integrations=[...e.sdk.integrations||[],...t.integrations||[]],e.sdk.packages=[...e.sdk.packages||[],...t.packages||[]])}(e,n?.sdk);const i=Jn(e,o,r,t);return delete e.sdkProcessingMetadata,Fn(i,[[{type:s},e]])}(e,this._dsn,this._options._metadata,this._options.tunnel);for(const e of t.attachments||[])n=Bn(n,Yn(e));const r=this.sendEnvelope(n);r&&r.then((t=>this.emit("afterSendEvent",e,t)),null)}sendSession(e){const{release:t,environment:n=Be}=this._options;if("aggregates"in e){const r=e.attrs||{};if(!r.release&&!t)return void(Fe&&H.warn(bo));r.release=r.release||t,r.environment=r.environment||n,e.attrs=r}else{if(!e.release&&!t)return void(Fe&&H.warn(bo));e.release=e.release||t,e.environment=e.environment||n}this.emit("beforeSendSession",e);const r=function(e,t,n,r){const o=Xn(n);return Fn({sent_at:(new Date).toISOString(),...o&&{sdk:o},...!!r&&t&&{dsn:Dn(t)}},["aggregates"in e?[{type:"sessions"},e]:[{type:"session"},e.toJSON()]])}(e,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(r)}recordDroppedEvent(e,t,n=1){if(this._options.sendClientReports){const r=`${e}:${t}`;Fe&&H.log(`Recording outcome: "${r}"${n>1?` (${n} times)`:""}`),this._outcomes[r]=(this._outcomes[r]||0)+n}}on(e,t){const n=this._hooks[e]=this._hooks[e]||[];return n.push(t),()=>{const e=n.indexOf(t);e>-1&&n.splice(e,1)}}emit(e,...t){const n=this._hooks[e];n&&n.forEach((e=>e(...t)))}sendEnvelope(e){return this.emit("beforeEnvelope",e),this._isEnabled()&&this._transport?this._transport.send(e).then(null,(e=>(Fe&&H.error("Error while sending envelope:",e),e))):(Fe&&H.error("Transport disabled"),Ue({}))}_setupIntegrations(){const{integrations:e}=this._options;this._integrations=function(e,t){const n={};return t.forEach((t=>{t&&vn(e,t,n)})),n}(this,e),yn(this,e)}_updateSessionFromEvent(e,t){let n="fatal"===t.level,r=!1;const o=t.exception?.values;if(o){r=!0;for(const e of o){if(!1===e.mechanism?.handled){n=!0;break}}}const s="ok"===e.status;(s&&0===e.errors||s&&n)&&(me(e,{...n&&{status:"crashed"},errors:e.errors||Number(r||n)}),this.captureSession(e))}_isClientDoneProcessing(e){return new He((t=>{let n=0;const r=setInterval((()=>{0==this._numProcessing?(clearInterval(r),t(!0)):(n+=1,e&&n>=e&&(clearInterval(r),t(!1)))}),1)}))}_isEnabled(){return!1!==this.getOptions().enabled&&void 0!==this._transport}_prepareEvent(e,t,n,r){const o=this.getOptions(),s=Object.keys(this._integrations);return!t.integrations&&s?.length&&(t.integrations=s),this.emit("preprocessEvent",e,t),e.type||r.setLastEventId(e.event_id||t.event_id),Gt(o,e,t,n,this,r).then((e=>{if(null===e)return e;this.emit("postprocessEvent",e,t),e.contexts={trace:Ne(n),...e.contexts};const r=zt(this,n);return e.sdkProcessingMetadata={dynamicSamplingContext:r,...e.sdkProcessingMetadata},e}))}_captureEvent(e,t={},n=Me(),r=Re()){return Fe&&wo(e)&&H.log(`Captured error event \`${Cr(e)[0]||" "}\``),this._processEvent(e,t,n,r).then((e=>e.event_id),(e=>{Fe&&(e instanceof gr&&"log"===e.logLevel?H.log(e.message):H.warn(e))}))}_processEvent(e,t,n,r){const o=this.getOptions(),{sampleRate:s}=o,i=ko(e),a=wo(e),c=e.type||"error",u=`before send for type \`${c}\``,l=void 0===s?void 0:_t(s);if(a&&"number"==typeof l&&Math.random()>l)return this.recordDroppedEvent("sample_rate","error"),ze(new gr(`Discarding event because it's not included in the random sample (sampling rate = ${s})`,"log"));const d="replay_event"===c?"replay":c;return this._prepareEvent(e,t,n,r).then((e=>{if(null===e)throw this.recordDroppedEvent("event_processor",d),new gr("An event processor returned `null`, will not send event.","log");if(t.data&&!0===t.data.__sentry__)return e;const n=function(e,t,n,r){const{beforeSend:o,beforeSendTransaction:s,beforeSendSpan:i}=t;let a=n;if(wo(a)&&o)return o(a,r);if(ko(a)){if(i){const e=i(function(e){const{trace_id:t,parent_span_id:n,span_id:r,status:o,origin:s,data:i,op:a}=e.contexts?.trace??{};return ne({data:i??{},description:e.transaction,op:a,parent_span_id:n,span_id:r??"",start_timestamp:e.start_timestamp??0,status:o,timestamp:e.timestamp,trace_id:t??"",origin:s,profile_id:i?.["sentry.profile_id"],exclusive_time:i?.["sentry.exclusive_time"],measurements:e.measurements,is_segment:!0})}(a));if(e?a=ye(n,ne({type:"transaction",timestamp:(c=e).timestamp,start_timestamp:c.start_timestamp,transaction:c.description,contexts:{trace:{trace_id:c.trace_id,span_id:c.span_id,parent_span_id:c.parent_span_id,op:c.op,status:c.status,origin:c.origin,data:{...c.data,...c.profile_id&&{[m]:c.profile_id},...c.exclusive_time&&{[g]:c.exclusive_time}}}},measurements:c.measurements})):$t(),a.spans){const e=[];for(const t of a.spans){const n=i(t);n?e.push(n):($t(),e.push(t))}a.spans=e}}if(s){if(a.spans){const e=a.spans.length;a.sdkProcessingMetadata={...n.sdkProcessingMetadata,spanCountBeforeProcessing:e}}return s(a,r)}}var c;return a}(0,o,e,t);return function(e,t){const n=`${t} must return \`null\` or a valid event.`;if(T(e))return e.then((e=>{if(!E(e)&&null!==e)throw new gr(n);return e}),(e=>{throw new gr(`${t} rejected with ${e}`)}));if(!E(e)&&null!==e)throw new gr(n);return e}(n,u)})).then((o=>{if(null===o){if(this.recordDroppedEvent("before_send",d),i){const t=1+(e.spans||[]).length;this.recordDroppedEvent("before_send","span",t)}throw new gr(`${u} returned \`null\`, will not send event.`,"log")}const s=n.getSession()||r.getSession();if(a&&s&&this._updateSessionFromEvent(s,o),i){const e=(o.sdkProcessingMetadata?.spanCountBeforeProcessing||0)-(o.spans?o.spans.length:0);e>0&&this.recordDroppedEvent("before_send","span",e)}const c=o.transaction_info;if(i&&c&&o.transaction!==e.transaction){const e="custom";o.transaction_info={...c,source:e}}return this.sendEvent(o,t),o})).then(null,(e=>{if(e instanceof gr)throw e;throw this.captureException(e,{data:{__sentry__:!0},originalException:e}),new gr(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${e}`)}))}_process(e){this._numProcessing++,e.then((e=>(this._numProcessing--,e)),(e=>(this._numProcessing--,e)))}_clearOutcomes(){const e=this._outcomes;return this._outcomes={},Object.entries(e).map((([e,t])=>{const[n,r]=e.split(":");return{reason:n,category:r,quantity:t}}))}_flushOutcomes(){Fe&&H.log("Flushing outcomes...");const e=this._clearOutcomes();if(0===e.length)return void(Fe&&H.log("No outcomes to send"));if(!this._dsn)return void(Fe&&H.log("No dsn provided, will not send outcomes"));Fe&&H.log("Sending outcomes:",e);const t=(n=e,Fn((r=this._options.tunnel&&Dn(this._dsn))?{dsn:r}:{},[[{type:"client_report"},{timestamp:o||oe(),discarded_events:n}]]));var n,r,o;this.sendEnvelope(t)}}function wo(e){return void 0===e.type}function ko(e){return"transaction"===e.type}function xo(e){void 0===e.user?.ip_address&&(e.user={...e.user,ip_address:"{{auto}}"})}function Eo(e){"aggregates"in e?void 0===e.attrs?.ip_address&&(e.attrs={...e.attrs,ip_address:"{{auto}}"}):void 0===e.ipAddress&&(e.ipAddress="{{auto}}")}function Co(e,t){const n=Mo(e,t),r={type:Ao(t),value:Lo(t)};return n.length&&(r.stacktrace={frames:n}),void 0===r.type&&""===r.value&&(r.value="Unrecoverable error caught"),r}function To(e,t,n,r){const o=De()?.getOptions().normalizeDepth,s=function(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];if(n instanceof Error)return n}return}(t),i={__serialized__:ot(t,o)};if(s)return{exception:{values:[Co(e,s)]},extra:i};const a={exception:{values:[{type:C(t)?t.constructor.name:r?"UnhandledRejection":"Error",value:Fo(t,{isUnhandledRejection:r})}]},extra:i};if(n){const t=Mo(e,n);t.length&&(a.exception.values[0].stacktrace={frames:t})}return a}function Io(e,t){return{exception:{values:[Co(e,t)]}}}function Mo(e,t){const n=t.stacktrace||t.stack||"",r=function(e){if(e&&Ro.test(e.message))return 1;return 0}(t),o=function(e){if("number"==typeof e.framesToPop)return e.framesToPop;return 0}(t);try{return e(n,r,o)}catch(e){}return[]}const Ro=/Minified React error #\d+;/i;function Oo(e){return"undefined"!=typeof WebAssembly&&void 0!==WebAssembly.Exception&&e instanceof WebAssembly.Exception}function Ao(e){const t=e?.name;if(!t&&Oo(e)){return e.message&&Array.isArray(e.message)&&2==e.message.length?e.message[0]:"WebAssembly.Exception"}return t}function Lo(e){const t=e?.message;return Oo(e)?Array.isArray(e.message)&&2==e.message.length?e.message[1]:"wasm exception":t?t.error&&"string"==typeof t.error.message?t.error.message:t:"No error message"}function Do(e,t,n,r){const o=Po(e,t,n?.syntheticException||void 0,r);return pe(o),o.level="error",n?.event_id&&(o.event_id=n.event_id),Ue(o)}function No(e,t,n="info",r,o){const s=$o(e,t,r?.syntheticException||void 0,o);return s.level=n,r?.event_id&&(s.event_id=r.event_id),Ue(s)}function Po(e,t,n,r,o){let s;if(b(t)&&t.error){return Io(e,t.error)}if(S(t)||v(t,"DOMException")){const o=t;if("stack"in t)s=Io(e,t);else{const t=o.name||(S(o)?"DOMError":"DOMException"),i=o.message?`${t}: ${o.message}`:t;s=$o(e,i,n,r),de(s,i)}return"code"in o&&(s.tags={...s.tags,"DOMException.code":`${o.code}`}),s}if(y(t))return Io(e,t);if(E(t)||C(t)){return s=To(e,t,n,o),pe(s,{synthetic:!0}),s}return s=$o(e,t,n,r),de(s,`${t}`,void 0),pe(s,{synthetic:!0}),s}function $o(e,t,n,r){const o={};if(r&&n){const r=Mo(e,n);r.length&&(o.exception={values:[{value:t,stacktrace:{frames:r}}]}),pe(o,{synthetic:!0})}if(k(t)){const{__sentry_template_string__:e,__sentry_template_values__:n}=t;return o.logentry={message:e,params:n},o}return o.message=t,o}function Fo(e,{isUnhandledRejection:t}){const n=function(e,t=40){const n=Object.keys(Q(e));n.sort();const r=n[0];if(!r)return"[object has no keys]";if(r.length>=t)return q(r,t);for(let e=n.length;e>0;e--){const r=n.slice(0,e).join(", ");if(!(r.length>t))return e===n.length?r:q(r,t)}return""}(e),r=t?"promise rejection":"exception";if(b(e))return`Event \`ErrorEvent\` captured as ${r} with message \`${e.message}\``;if(C(e)){return`Event \`${function(e){try{const t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch(e){}}(e)}\` (type=${e.type}) captured as ${r}`}return`Object captured as ${r} with keys: ${n}`}class Bo extends So{constructor(e){const t={parentSpanIsAlwaysRootSpan:!0,...e};!function(e,t,n=[t],r="npm"){const o=e._metadata||{};o.sdk||(o.sdk={name:`sentry.javascript.${t}`,packages:n.map((e=>({name:`${r}:@sentry/${e}`,version:i}))),version:i}),e._metadata=o}(t,"browser",["browser"],mo.SENTRY_SDK_SOURCE||"npm"),super(t),t.sendClientReports&&mo.document&&mo.document.addEventListener("visibilitychange",(()=>{"hidden"===mo.document.visibilityState&&this._flushOutcomes()})),this._options.sendDefaultPii&&(this.on("postprocessEvent",xo),this.on("beforeSendSession",Eo))}eventFromException(e,t){return Do(this._options.stackParser,e,t,this._options.attachStacktrace)}eventFromMessage(e,t="info",n){return No(this._options.stackParser,e,t,n,this._options.attachStacktrace)}_prepareEvent(e,t,n,r){return e.platform=e.platform||"javascript",super._prepareEvent(e,t,n,r)}}const jo=R;function Uo(){if(!("fetch"in jo))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch(e){return!1}}function zo(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function Ho(){if("string"==typeof EdgeRuntime)return!0;if(!Uo())return!1;if(zo(jo.fetch))return!0;let e=!1;const t=jo.document;if(t&&"function"==typeof t.createElement)try{const n=t.createElement("iframe");n.hidden=!0,t.head.appendChild(n),n.contentWindow?.fetch&&(e=zo(n.contentWindow.fetch)),t.head.removeChild(n)}catch(e){P&&H.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",e)}return e}const qo="undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__,Wo=R,Yo={};function Vo(e){const t=Yo[e];if(t)return t;let n=Wo[e];if(zo(n))return Yo[e]=n.bind(Wo);const r=Wo.document;if(r&&"function"==typeof r.createElement)try{const t=r.createElement("iframe");t.hidden=!0,r.head.appendChild(t);const o=t.contentWindow;o?.[e]&&(n=o[e]),r.head.removeChild(t)}catch(t){qo&&H.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `,t)}return n?Yo[e]=n.bind(Wo):n}function Go(e){Yo[e]=void 0}function Xo(...e){return Vo("setTimeout")(...e)}function Jo(e,t=Vo("fetch")){let n=0,r=0;return Sr(e,(function(o){const s=o.body.length;n+=s,r++;const i={body:o.body,method:"POST",referrerPolicy:"strict-origin",headers:e.headers,keepalive:n <=6e4&&r<15,...e.fetchOptions};if(!t)return Go( "fetch"),ze( "No fetch implementation available");try{return t(e.url,i).then((e=>(n-=s,r--,{statusCode:e.status,headers:{"x-sentry-rate-limits":e.headers.get("X-Sentry-Rate-Limits"),"retry-after":e.headers.get("Retry-After")}})))}catch(e){return Go("fetch"),n-=s,r--,ze(e)}}))}function Ko(e,t,n,r){const o={filename:e,function:" "===t?Xe:t,in_app:!0};return void 0!==n&&(o.lineno=n),void 0!==r&&(o.colno=r),o}const Zo=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,Qo=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?: |[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,es=/\((\S*)(?::(\d+))(?::(\d+))\)/,ts=[30,e=>{const t=Zo.exec(e);if(t){const[,e,n,r]=t;return Ko(e,Xe,+n,+r)}const n=Qo.exec(e);if(n){if(n[2]&&0===n[2].indexOf("eval")){const e=es.exec(n[2]);e&&(n[2]=e[1],n[3]=e[2],n[4]=e[3])}const[e,t]=hs(n[1]||Xe,n[2]);return Ko(t,e,n[3]?+n[3]:void 0,n[4]?+n[4]:void 0)}}],ns=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,rs=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,os=[50,e=>{const t=ns.exec(e);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){const e=rs.exec(t[3]);e&&(t[1]=t[1]||"eval",t[3]=e[1],t[4]=e[2],t[5]="")}let e=t[3],n=t[1]||Xe;return[n,e]=hs(n,e),Ko(e,n,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}}],ss=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i,is=[40,e=>{const t=ss.exec(e);return t?Ko(t[2],t[1]||Xe,+t[3],t[4]?+t[4]:void 0):void 0}],as=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,cs=[10,e=>{const t=as.exec(e);return t?Ko(t[2],t[3]||Xe,+t[1]):void 0}],us=/ line (\d+), column (\d+)\s*(?:in (?: ]+)>|([^)]+))\(.*\))? in (.*):\s*$/i,ls=[20,e=>{const t=us.exec(e);return t?Ko(t[5],t[3]||t[4]||Xe,+t[1],+t[2]):void 0}],ds=[ts,os],ps=Ze(...ds),hs=(e,t)=>{const n=-1!==e.indexOf("safari-extension"),r=-1!==e.indexOf("safari-web-extension");return n||r?[-1!==e.indexOf("@")?e.split("@")[0]:Xe,n?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]};function fs(e,{metadata:t,tunnel:n,dsn:r}){const o={event_id:e.event_id,sent_at:(new Date).toISOString(),...t?.sdk&&{sdk:{name:t.sdk.name,version:t.sdk.version}},...!!n&&!!r&&{dsn:Dn(r)}},s=function(e){return[{type:"user_report"},e]}(e);return Fn(o,[s])}const ms="undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__;let gs,_s,ys;function vs(e){kn("dom",e),xn("dom",bs)}function bs(){if(!Wo.document)return;const e=En.bind(null,"dom"),t=Ss(e,!0);Wo.document.addEventListener("click",t,!1),Wo.document.addEventListener("keypress",t,!1),["EventTarget","Node"].forEach((t=>{const n=Wo[t]?.prototype;n?.hasOwnProperty?.("addEventListener")&&(X(n,"addEventListener",(function(t){return function(n,r,o){if("click"===n||"keypress"==n)try{const r=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},s=r[n]=r[n]||{refCount:0};if(!s.handler){const r=Ss(e);s.handler=r,t.call(this,n,r,o)}s.refCount++}catch(e){}return t.call(this,n,r,o)}})),X(n,"removeEventListener",(function(e){return function(t,n,r){if("click"===t||"keypress"==t)try{const n=this.__sentry_instrumentation_handlers__||{},o=n[t];o&&(o.refCount--,o.refCount <=0&&(e.call(this,t,o.handler,r),o.handler=void 0,delete n[t]),0===Object.keys(n).length&&delete this.__sentry_instrumentation_handlers__)}catch(e){}return e.call(this,t,n,r)}})))}))}function Ss(e,t=!1){return n=>{if(!n||n._sentryCaptured)return;const r=function(e){try{return e.target}catch(e){return null}}(n);if(function(e,t){return"keypress"===e&&(!t?.tagName||"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName&&!t.isContentEditable)}(n.type,r))return;J(n,"_sentryCaptured",!0),r&&!r._sentryId&&J(r,"_sentryId",ce());const o="keypress"===n.type?"input":n.type;if(!function(e){if(e.type!==_s)return!1;try{if(!e.target||e.target._sentryId!==ys)return!1}catch(e){}return!0}(n)){e({event:n,name:o,global:t}),_s=n.type,ys=r?r._sentryId:void 0}clearTimeout(gs),gs=Wo.setTimeout((()=>{ys=void 0,_s=void 0}),1e3)}}function ws(e){kn("xhr",e),xn("xhr",ks)}function ks(){if(!Wo.XMLHttpRequest)return;const e=XMLHttpRequest.prototype;e.open=new Proxy(e.open,{apply(e,t,n){const r=new Error,o=1e3*se(),s=w(n[0])?n[0].toUpperCase():void 0,i=function(e){if(w(e))return e;try{return e.toString()}catch{}return}(n[1]);if(!s||!i)return e.apply(t,n);t.__sentry_xhr_v3__={method:s,url:i,request_headers:{}},"POST"===s&&i.match(/sentry_key/)&&(t.__sentry_own_request__=!0);const a=()=>{const e=t.__sentry_xhr_v3__;if(e&&4===t.readyState){try{e.status_code=t.status}catch(e){}En("xhr",{endTimestamp:1e3*se(),startTimestamp:o,xhr:t,virtualError:r})}};return"onreadystatechange"in t&&"function"==typeof t.onreadystatechange?t.onreadystatechange=new Proxy(t.onreadystatechange,{apply:(e,t,n)=>(a(),e.apply(t,n))}):t.addEventListener("readystatechange",a),t.setRequestHeader=new Proxy(t.setRequestHeader,{apply(e,t,n){const[r,o]=n,s=t.__sentry_xhr_v3__;return s&&w(r)&&w(o)&&(s.request_headers[r.toLowerCase()]=o),e.apply(t,n)}}),e.apply(t,n)}}),e.send=new Proxy(e.send,{apply(e,t,n){const r=t.__sentry_xhr_v3__;if(!r)return e.apply(t,n);void 0!==n[0]&&(r.body=n[0]);return En("xhr",{startTimestamp:1e3*se(),xhr:t}),e.apply(t,n)}})}let xs;function Es(e){const t="history";kn(t,e),xn(t,Cs)}function Cs(){function e(e){return function(...t){const n=t.length>2?t[2]:void 0;if(n){const r=xs,o=String(n);if(xs=o,r===o)return e.apply(this,t);En("history",{from:r,to:o})}return e.apply(this,t)}}Wo.addEventListener("popstate",(()=>{const e=Wo.location.href,t=xs;if(xs=e,t===e)return;En("history",{from:t,to:e})})),"history"in jo&&(X(Wo.history,"pushState",e),X(Wo.history,"replaceState",e))}function Ts(e,t){const n="fetch";kn(n,e),xn(n,(()=>Is(void 0,t)))}function Is(e,t=!1){t&&!Ho()||X(R,"fetch",(function(t){return function(...n){const r=new Error,{method:o,url:s}=function(e){if(0===e.length)return{method:"GET",url:""};if(2===e.length){const[t,n]=e;return{url:Os(t),method:Rs(n,"method")?String(n.method).toUpperCase():"GET"}}const t=e[0];return{url:Os(t),method:Rs(t,"method")?String(t.method).toUpperCase():"GET"}}(n),i={args:n,fetchData:{method:o,url:s},startTimestamp:1e3*se(),virtualError:r};return e||En("fetch",{...i}),t.apply(R,n).then((async t=>(e?e(t):En("fetch",{...i,endTimestamp:1e3*se(),response:t}),t)),(e=>{throw En("fetch",{...i,endTimestamp:1e3*se(),error:e}),y(e)&&void 0===e.stack&&(e.stack=r.stack,J(e,"framesToPop",1)),e}))}}))}function Ms(e){let t;try{t=e.clone()}catch{return}!async function(e,t){if(e?.body){const n=e.body,r=n.getReader(),o=setTimeout((()=>{n.cancel().then(null,(()=>{}))}),9e4);let s=!0;for(;s;){let e;try{e=setTimeout((()=>{n.cancel().then(null,(()=>{}))}),5e3);const{done:o}=await r.read();clearTimeout(e),o&&(t(),s=!1)}catch(e){s=!1}finally{clearTimeout(e)}}clearTimeout(o),r.releaseLock(),n.cancel().then(null,(()=>{}))}}(t,(()=>{En("fetch-body-resolved",{endTimestamp:1e3*se(),response:e})}))}function Rs(e,t){return!!e&&"object"==typeof e&&!!e[t]}function Os(e){return"string"==typeof e?e:e?Rs(e,"url")?e.url:e.toString?e.toString():"":""}function As(e){return void 0===e?void 0:e>=400&&e <500? "warning":e>=500?"error":void 0}function Ls(e){if(!e)return{};const t=e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};const n=t[6]||"",r=t[8]||"";return{host:t[4],path:t[5],protocol:t[2],search:n,hash:r,relative:t[5]+n+r}}function Ds(e){return e.split(/[?#]/,1)[0]}const Ns=1024,Ps=(e={})=>{const t={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e};return{name:"Breadcrumbs",setup(e){t.console&&Cn(function(e){return function(t){if(De()!==e)return;const n={category:"console",data:{arguments:t.args,logger:"console"},level:In(t.level),message:Y(t.args," ")};if("assert"===t.level){if(!1!==t.args[0])return;n.message=`Assertion failed: ${Y(t.args.slice(1)," ")||"console.assert"}`,n.data.arguments=t.args.slice(1)}$e(n,{input:t.args,level:t.level})}}(e)),t.dom&&vs(function(e,t){return function(n){if(De()!==e)return;let r,o,s="object"==typeof t?t.serializeAttribute:void 0,i="object"==typeof t&&"number"==typeof t.maxStringLength?t.maxStringLength:void 0;i&&i>Ns&&(ms&&H.warn(`\`dom.maxStringLength\` cannot exceed 1024, but a value of ${i} was configured. Sentry will use 1024 instead.`),i=Ns),"string"==typeof s&&(s=[s]);try{const e=n.event,t=function(e){return!!e&&!!e.target}(e)?e.target:e;r=A(t,{keyAttrs:s,maxStringLength:i}),o=N(t)}catch(e){r=" "}if(0===r.length)return;const a={category:`ui.${n.name}`,message:r};o&&(a.data={"ui.component_name":o}),$e(a,{event:n.event,name:n.name,global:n.global})}}(e,t.dom)),t.xhr&&ws(function(e){return function(t){if(De()!==e)return;const{startTimestamp:n,endTimestamp:r}=t,o=t.xhr.__sentry_xhr_v3__;if(!n||!r||!o)return;const{method:s,url:i,status_code:a,body:c}=o,u={method:s,url:i,status_code:a},l={xhr:t.xhr,input:c,startTimestamp:n,endTimestamp:r},d={category:"xhr",data:u,type:"http",level:As(a)};e.emit("beforeOutgoingRequestBreadcrumb",d,l),$e(d,l)}}(e)),t.fetch&&Ts(function(e){return function(t){if(De()!==e)return;const{startTimestamp:n,endTimestamp:r}=t;if(r&&(!t.fetchData.url.match(/sentry_key/)||"POST"!==t.fetchData.method))if(t.fetchData.method,t.fetchData.url,t.error){const o=t.fetchData,s={data:t.error,input:t.args,startTimestamp:n,endTimestamp:r},i={category:"fetch",data:o,level:"error",type:"http"};e.emit("beforeOutgoingRequestBreadcrumb",i,s),$e(i,s)}else{const o=t.response,s={...t.fetchData,status_code:o?.status};t.fetchData.request_body_size,t.fetchData.response_body_size,o?.status;const i={input:t.args,response:o,startTimestamp:n,endTimestamp:r},a={category:"fetch",data:s,type:"http",level:As(s.status_code)};e.emit("beforeOutgoingRequestBreadcrumb",a,i),$e(a,i)}}}(e)),t.history&&Es(function(e){return function(t){if(De()!==e)return;let n=t.from,r=t.to;const o=Ls(mo.location.href);let s=n?Ls(n):void 0;const i=Ls(r);s?.path||(s=o),o.protocol===i.protocol&&o.host===i.host&&(r=i.relative),o.protocol===s.protocol&&o.host===s.host&&(n=s.relative),$e({category:"navigation",data:{from:n,to:r}})}}(e)),t.sentry&&e.on("beforeSendEvent",function(e){return function(t){De()===e&&$e({category:"sentry."+("transaction"===t.type?"transaction":"event"),event_id:t.event_id,level:t.level,message:le(t)},{event:t})}}(e))}}};const $s=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],Fs=(e={})=>{const t={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...e};return{name:"BrowserApiErrors",setupOnce(){t.setTimeout&&X(mo,"setTimeout",Bs),t.setInterval&&X(mo,"setInterval",Bs),t.requestAnimationFrame&&X(mo,"requestAnimationFrame",js),t.XMLHttpRequest&&"XMLHttpRequest"in mo&&X(XMLHttpRequest.prototype,"send",Us);const e=t.eventTarget;if(e){(Array.isArray(e)?e:$s).forEach(zs)}}}};function Bs(e){return function(...t){const n=t[0];return t[0]=yo(n,{mechanism:{data:{function:tt(e)},handled:!1,type:"instrument"}}),e.apply(this,t)}}function js(e){return function(t){return e.apply(this,[yo(t,{mechanism:{data:{function:"requestAnimationFrame",handler:tt(e)},handled:!1,type:"instrument"}})])}}function Us(e){return function(...t){const n=this;return["onload","onerror","onprogress","onreadystatechange"].forEach((e=>{e in n&&"function"==typeof n[e]&&X(n,e,(function(t){const n={mechanism:{data:{function:e,handler:tt(t)},handled:!1,type:"instrument"}},r=Z(t);return r&&(n.mechanism.data.handler=tt(r)),yo(t,n)}))})),e.apply(this,t)}}function zs(e){const t=mo[e]?.prototype;t?.hasOwnProperty?.("addEventListener")&&(X(t,"addEventListener",(function(t){return function(n,r,o){try{"function"==typeof r.handleEvent&&(r.handleEvent=yo(r.handleEvent,{mechanism:{data:{function:"handleEvent",handler:tt(r),target:e},handled:!1,type:"instrument"}}))}catch{}return t.apply(this,[n,yo(r,{mechanism:{data:{function:"addEventListener",handler:tt(r),target:e},handled:!1,type:"instrument"}}),o])}})),X(t,"removeEventListener",(function(e){return function(t,n,r){try{const o=n.__sentry_wrapped__;o&&e.call(this,t,o,r)}catch(e){}return e.call(this,t,n,r)}})))}const Hs=()=>({name:"BrowserSession",setupOnce(){void 0!==mo.document?(pn({ignoreDuration:!0}),mn(),Es((({from:e,to:t})=>{void 0!==e&&e!==t&&(pn({ignoreDuration:!0}),mn())}))):ms&&H.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.")}}),qs=(e={})=>{const t={onerror:!0,onunhandledrejection:!0,...e};return{name:"GlobalHandlers",setupOnce(){Error.stackTraceLimit=50},setup(e){t.onerror&&(!function(e){Vr((t=>{const{stackParser:n,attachStacktrace:r}=Ys();if(De()!==e||_o())return;const{msg:o,url:s,line:i,column:a,error:c}=t,u=function(e,t,n,r){const o=e.exception=e.exception||{},s=o.values=o.values||[],i=s[0]=s[0]||{},a=i.stacktrace=i.stacktrace||{},c=a.frames=a.frames||[],u=r,l=n,d=w(t)&&t.length>0?t:D();0===c.length&&c.push({colno:u,filename:d,function:Xe,in_app:!0,lineno:l});return e}(Po(n,c||o,void 0,r,!1),s,i,a);u.level="error",Qt(u,{originalException:c,mechanism:{handled:!1,type:"onerror"}})}))}(e),Ws("onerror")),t.onunhandledrejection&&(!function(e){Jr((t=>{const{stackParser:n,attachStacktrace:r}=Ys();if(De()!==e||_o())return;const o=function(e){if(x(e))return e;try{if("reason"in e)return e.reason;if("detail"in e&&"reason"in e.detail)return e.detail.reason}catch{}return e}(t),s=x(o)?{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(o)}`}]}}:Po(n,o,void 0,r,!0);s.level="error",Qt(s,{originalException:o,mechanism:{handled:!1,type:"onunhandledrejection"}})}))}(e),Ws("onunhandledrejection"))}}};function Ws(e){ms&&H.log(`Global Handler attached: ${e}`)}function Ys(){return De()?.getOptions()||{stackParser:()=>[],attachStacktrace:!1}}const Vs=()=>({name:"HttpContext",preprocessEvent(e){if(!mo.navigator&&!mo.location&&!mo.document)return;const t=e.request?.url||D(),{referrer:n}=mo.document||{},{userAgent:r}=mo.navigator||{},o={...e.request?.headers,...n&&{Referer:n},...r&&{"User-Agent":r}},s={...e.request,...t&&{url:t},headers:o};e.request=s}});function Gs(e,t,n=250,r,o,s,i){if(!s.exception?.values||!i||!I(i.originalException,Error))return;const a=s.exception.values.length>0?s.exception.values[s.exception.values.length-1]:void 0;var c,u;a&&(s.exception.values=(c=Xs(e,t,o,i.originalException,r,s.exception.values,a,0),u=n,c.map((e=>(e.value&&(e.value=q(e.value,u)),e)))))}function Xs(e,t,n,r,o,s,i,a){if(s.length>=n+1)return s;let c=[...s];if(I(r[o],Error)){Js(i,a);const s=e(t,r[o]),u=c.length;Ks(s,o,u,a),c=Xs(e,t,n,r[o],o,[s,...c],s,u)}return Array.isArray(r.errors)&&r.errors.forEach(((r,s)=>{if(I(r,Error)){Js(i,a);const u=e(t,r),l=c.length;Ks(u,`errors[${s}]`,l,a),c=Xs(e,t,n,r,o,[u,...c],u,l)}})),c}function Js(e,t){e.mechanism=e.mechanism||{type:"generic",handled:!0},e.mechanism={...e.mechanism,..."AggregateError"===e.type&&{is_exception_group:!0},exception_id:t}}function Ks(e,t,n,r){e.mechanism=e.mechanism||{type:"generic",handled:!0},e.mechanism={...e.mechanism,type:"chained",source:t,exception_id:n,parent_id:r}}const Zs=(e={})=>{const t=e.limit||5,n=e.key||"cause";return{name:"LinkedErrors",preprocessEvent(e,r,o){const s=o.getOptions();Gs(Co,s.stackParser,s.maxValueLength,n,t,e,r)}}};function Qs(e){return[Mr(),Dr(),Fs(),Ps(),qs(),Zs(),wr(),Vs(),Hs()]}function ei(e){const t={};for(const n of Object.getOwnPropertyNames(e)){const r=n;void 0!==e[r]&&(t[r]=e[r])}return t}function ti(e={}){const t=function(e={}){return{defaultIntegrations:Qs(),release:"string"==typeof __SENTRY_RELEASE__?__SENTRY_RELEASE__:mo.SENTRY_RELEASE?.id,sendClientReports:!0,...ei(e)}}(e);if(!t.skipBrowserExtensionCheck&&function(){const e=void 0!==mo.window&&mo;if(!e)return!1;const t=e[e.chrome?"chrome":"browser"]?.runtime?.id,n=D()||"",r=!!t&&mo===mo.top&&["chrome-extension:","moz-extension:","ms-browser-extension:","safari-web-extension:"].some((e=>n.startsWith(`${e}//`))),o=void 0!==e.nw;return!!t&&!r&&!o}())return void(ms&&z((()=>{console.error("[Sentry] You cannot run Sentry this way in a browser extension, check: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")})));ms&&!Uo()&&H.warn("No Fetch API detected. The Sentry SDK requires a Fetch API compatible environment to send events. Please add a Fetch API polyfill.");const n={...t,stackParser:(r=t.stackParser||ps,Array.isArray(r)?Ze(...r):r),integrations:_n(t),transport:t.transport||Jo};var r;return function(e,t){!0===t.debug&&(Fe?H.enable():z((()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")}))),Me().update(t.initialScope);const n=new e(t);return ao(n),n.init(),n}(Bo,n)}function ni(e={}){if(!mo.document)return void(ms&&H.error("Global document not defined in showReportDialog call"));const t=Me(),n=t.getClient()?.getDsn();if(!n)return void(ms&&H.error("DSN not configured for showReportDialog call"));if(t&&(e.user={...t.getUser(),...e.user}),!e.eventId){const t=an();t&&(e.eventId=t)}const r=mo.document.createElement("script");r.async=!0,r.crossOrigin="anonymous",r.src=function(e,t){const n=$n(e);if(!n)return"";const r=`${Nr(n)}embed/error-page/`;let o=`dsn=${Dn(n)}`;for(const e in t)if("dsn"!==e&&"onClose"!==e)if("user"===e){const e=t.user;if(!e)continue;e.name&&(o+=`&name=${encodeURIComponent(e.name)}`),e.email&&(o+=`&email=${encodeURIComponent(e.email)}`)}else o+=`&${encodeURIComponent(e)}=${encodeURIComponent(t[e])}`;return`${r}?${o}`}(n,e),e.onLoad&&(r.onload=e.onLoad);const{onClose:o}=e;if(o){const e=t=>{if("__sentry_reportdialog_closed__"===t.data)try{o()}finally{mo.removeEventListener("message",e)}};mo.addEventListener("message",e)}const s=mo.document.head||mo.document.body;s?s.appendChild(r):ms&&H.error("Not injecting report dialog. No injection point found in HTML")}function ri(){}function oi(e){e()}const si={replayIntegration:"replay",replayCanvasIntegration:"replay-canvas",feedbackIntegration:"feedback",feedbackModalIntegration:"feedback-modal",feedbackScreenshotIntegration:"feedback-screenshot",captureConsoleIntegration:"captureconsole",contextLinesIntegration:"contextlines",linkedErrorsIntegration:"linkederrors",dedupeIntegration:"dedupe",extraErrorDataIntegration:"extraerrordata",graphqlClientIntegration:"graphqlclient",httpClientIntegration:"httpclient",reportingObserverIntegration:"reportingobserver",rewriteFramesIntegration:"rewriteframes",browserProfilingIntegration:"browserprofiling",moduleMetadataIntegration:"modulemetadata"},ii=mo;async function ai(e,t){const n=si[e],r=ii.Sentry=ii.Sentry||{};if(!n)throw new Error(`Cannot lazy load integration: ${e}`);const o=r[e];if("function"==typeof o&&!("_isShim"in o))return o;const s=function(e){const t=De()?.getOptions()?.cdnBaseUrl||"https://browser.sentry-cdn.com";return new URL(`/${i}/${e}.min.js`,t).toString()}(n),a=mo.document.createElement("script");a.src=s,a.crossOrigin="anonymous",a.referrerPolicy="strict-origin",t&&a.setAttribute("nonce",t);const c=new Promise(((e,t)=>{a.addEventListener("load",(()=>e())),a.addEventListener("error",t)})),u=mo.document.currentScript,l=mo.document.body||mo.document.head||u?.parentElement;if(!l)throw new Error(`Could not find parent element to insert lazy-loaded ${e} script`);l.appendChild(a);try{await c}catch{throw new Error(`Error when loading integration: ${e}`)}const d=r[e];if("function"!=typeof d)throw new Error(`Could not load integration: ${e}`);return d}const ci=R,ui=new WeakMap,li=(e={})=>{const t=e.types||["crash","deprecation","intervention"];function n(e){if(ui.has(De()))for(const t of e)Ae((e=>{e.setExtra("url",t.url);const n=`ReportingObserver [${t.type}]`;let r="No details available";if(t.body){const n={};for(const e in t.body)n[e]=t.body[e];if(e.setExtra("body",n),"crash"===t.type){const e=t.body;r=[e.crashId||"",e.reason||""].join(" ").trim()||r}else{r=t.body.message||r}}Zt(`${n}: ${r}`)}))}return{name:"ReportingObserver",setupOnce(){if(!("ReportingObserver"in jo))return;new ci.ReportingObserver(n,{buffered:!0,types:t}).observe()},setup(e){ui.set(e,!0)}}};function di(e,t){const n=t?.getDsn(),r=t?.getOptions().tunnel;return function(e,t){return!!t&&e.includes(t.host)}(e,n)||function(e,t){if(!t)return!1;return pi(e)===pi(t)}(e,r)}function pi(e){return"/"===e[e.length-1]?e.slice(0,-1):e}const hi=(e={})=>{const t={failedRequestStatusCodes:[[500,599]],failedRequestTargets:[/.*/],...e};return{name:"HttpClient",setup(e){!function(e,t){if(!Ho())return;Ts((n=>{if(De()!==e)return;const{response:r,args:o,error:s,virtualError:i}=n,[a,c]=o;r&&function(e,t,n,r,o){if(_i(e,n.status,n.url)){const e=function(e,t){if(!t&&e instanceof Request)return e;if(e instanceof Request&&e.bodyUsed)return e;return new Request(e,t)}(t,r);let s,i,a,c;vi()&&([s,a]=fi("Cookie",e),[i,c]=fi("Set-Cookie",n));Qt(yi({url:e.url,method:e.method,status:n.status,requestHeaders:s,responseHeaders:i,requestCookies:a,responseCookies:c,error:o}))}}(t,a,r,c,s||i)}),!1)}(e,t),function(e,t){if(!("XMLHttpRequest"in R))return;ws((n=>{if(De()!==e)return;const{error:r,virtualError:o}=n,s=n.xhr,i=s.__sentry_xhr_v3__;if(!i)return;const{method:a,request_headers:c}=i;try{!function(e,t,n,r,o){if(_i(e,t.status,t.responseURL)){let e,s,i;if(vi()){try{const e=t.getResponseHeader("Set-Cookie")||t.getResponseHeader("set-cookie")||void 0;e&&(s=gi(e))}catch{}try{i=function(e){const t=e.getAllResponseHeaders();if(!t)return{};return t.split("\r\n").reduce(((e,t)=>{const[n,r]=t.split(": ");return n&&r&&(e[n]=r),e}),{})}(t)}catch{}e=r}Qt(yi({url:t.responseURL,method:n,status:t.status,requestHeaders:e,responseHeaders:i,responseCookies:s,error:o}))}}(t,s,a,c,r||o)}catch(e){ms&&H.warn("Error while extracting response event form XHR response",e)}}))}(e,t)}}};function fi(e,t){const n=function(e){const t={};return e.forEach(((e,n)=>{t[n]=e})),t}(t.headers);let r;try{const t=n[e]||n[e.toLowerCase()]||void 0;t&&(r=gi(t))}catch{}return[n,r]}function mi(e){if(e){const t=e["Content-Length"]||e["content-length"];if(t)return parseInt(t,10)}}function gi(e){return e.split("; ").reduce(((e,t)=>{const[n,r]=t.split("=");return n&&r&&(e[n]=r),e}),{})}function _i(e,t,n){return function(e,t){return e.some((e=>"number"==typeof e?e===t:t>=e[0]&&t <=e[1]))}(e.failedRequestStatusCodes,t)&&(r=e.failedRequestTargets,o=n,r.some((e=>"string"==typeof e?o.includes(e):e.test(o))))&&!di(n,De());var r,o}function yi(e){const t=De(),n=t&&e.error&&e.error instanceof Error?e.error.stack:void 0,r=n&&t?t.getOptions().stackParser(n,0,1):void 0,o=`HTTP Client Error with status code: ${e.status}`,s={message:o,exception:{values:[{type:"Error",value:o,stacktrace:r?{frames:r}:void 0}]},request:{url:e.url,method:e.method,headers:e.requestHeaders,cookies:e.requestCookies},contexts:{response:{status_code:e.status,headers:e.responseHeaders,cookies:e.responseCookies,body_size:mi(e.responseHeaders)}}};return pe(s,{type:"http.client",handled:!1}),s}function vi(){const e=De();return!!e&&Boolean(e.getOptions().sendDefaultPii)}const bi=R,Si=(e={})=>{const t=null!=e.frameContextLines?e.frameContextLines:7;return{name:"ContextLines",processEvent:e=>function(e,t){const n=bi.document,r=bi.location&&Ds(bi.location.href);if(!n||!r)return e;const o=e.exception?.values;if(!o?.length)return e;const s=n.documentElement.innerHTML;if(!s)return e;const i=[" "," ",...s.split("\n")," "];return o.forEach((e=>{const n=e.stacktrace;n?.frames&&(n.frames=n.frames.map((e=>function(e,t,n,r){if(e.filename!==n||!e.lineno||!t.length)return e;return function(e,t,n=5){if(void 0===t.lineno)return;const r=e.length,o=Math.max(Math.min(r-1,t.lineno-1),0);t.pre_context=e.slice(Math.max(0,o-n),o).map((e=>W(e,0)));const s=Math.min(r-1,o);t.context_line=W(e[s],t.colno||0),t.post_context=e.slice(Math.min(o+1,r),o+1+n).map((e=>W(e,0)))}(t,e,r),e}(e,i,r,t))))})),e}(e,t)}};function wi(e){return new URLSearchParams(e).toString()}function ki(e,t=H){try{if("string"==typeof e)return[e];if(e instanceof URLSearchParams)return[e.toString()];if(e instanceof FormData)return[wi(e)];if(!e)return[void 0]}catch(n){return qo&&t.error(n,"Failed to serialize body",e),[void 0,"BODY_PARSE_ERROR"]}return qo&&t.info("Skipping network body because of body type",e),[void 0,"UNPARSEABLE_BODY_TYPE"]}function xi(e=[]){if(2===e.length&&"object"==typeof e[1])return e[1].body}function Ei(e){const{query:t,operationName:n}=e,{operationName:r=n,operationType:o}=function(e){const t=/^(?:\s*)(query|mutation|subscription)(?:\s*)(\w+)(?:\s*)[{(]/,n=/^(?:\s*)(query|mutation|subscription)(?:\s*)[{(]/,r=e.match(t);if(r)return{operationType:r[1],operationName:r[2]};const o=e.match(n);if(o)return{operationType:o[1],operationName:void 0};return{operationType:void 0,operationName:void 0}}(t);return r?`${o} ${r}`:`${o}`}function Ci(e){let t;if("xhr"in e){const n=e.xhr.__sentry_xhr_v3__;t=n&&ki(n.body)[0]}else{t=ki(xi(e.input))[0]}return t}function Ti(e){let t;try{const n=JSON.parse(e);!!n.query&&(t=n)}finally{return t}}const Ii=e=>({name:"GraphQLClient",setup(t){!function(e,t){e.on("beforeOutgoingRequestSpan",((e,n)=>{const r=It(e).data||{};if(!("http.client"===r[u]))return;const o=r["url.full"]||r["http.url"],s=r["http.request.method"]||r["http.method"];if(!w(o)||!w(s))return;const{endpoints:i}=t,a=G(o,i),c=Ci(n);if(a&&c){const t=Ti(c);if(t){const n=Ei(t);e.updateName(`${s} ${o} (${n})`),e.setAttribute("graphql.document",c)}}}))}(t,e),function(e,t){e.on("beforeOutgoingRequestBreadcrumb",((e,n)=>{const{category:r,type:o,data:s}=e;if("http"===o&&("fetch"===r||"xhr"===r)){const e=s?.url,{endpoints:r}=t,o=G(e,r),i=Ci(n);if(o&&s&&i){const e=Ti(i);if(!s.graphql&&e){const t=Ei(e);s["graphql.document"]=e.query,s["graphql.operation"]=t}}}}))}(t,e)}});var Mi=n(4155);function Ri(){return!("undefined"!=typeof __SENTRY_BROWSER_BUNDLE__&&__SENTRY_BROWSER_BUNDLE__)&&"[object process]"===Object.prototype.toString.call(void 0!==Mi?Mi:0)}function Oi(){return"undefined"!=typeof window&&(!Ri()||"renderer"===R.process?.type)}const Ai=(e,t,n,r)=>{let o,s;return i=>{t.value>=0&&(i||r)&&(s=t.value-(o||0),(s||void 0===o)&&(o=t.value,t.delta=s,t.rating=((e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good")(t.value,n),e(t)))}},Li=(e=!0)=>{const t=Wo.performance?.getEntriesByType?.("navigation")[0];if(!e||t&&t.responseStart>0&&t.responseStart Li()?.activationStart||0,Ni=(e,t)=>{const n=Li();let r="navigate";n&&(Wo.document?.prerendering||Di()>0?r="prerender":Wo.document?.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-")));return{name:e,value:void 0===t?-1:t,rating:"good",delta:0,entries:[],id:`v4-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:r}},Pi=(e,t,n)=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const r=new PerformanceObserver((e=>{Promise.resolve().then((()=>{t(e.getEntries())}))}));return r.observe(Object.assign({type:e,buffered:!0},n||{})),r}}catch(e){}},$i=e=>{const t=t=>{"pagehide"!==t.type&&"hidden"!==Wo.document?.visibilityState||e(t)};Wo.document&&(addEventListener("visibilitychange",t,!0),addEventListener("pagehide",t,!0))},Fi=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let Bi=-1;const ji=e=>{"hidden"===Wo.document.visibilityState&&Bi>-1&&(Bi="visibilitychange"===e.type?e.timeStamp:0,Ui())},Ui=()=>{removeEventListener("visibilitychange",ji,!0),removeEventListener("prerenderingchange",ji,!0)},zi=()=>(Wo.document&&Bi <0&&(Bi="hidden" !==Wo.document.visibilityState||Wo.document.prerendering?1/0:0,addEventListener( "visibilitychange",ji,!0),addEventListener( "prerenderingchange",ji,!0)),{get firstHiddenTime(){return Bi}}),Hi=e=>{Wo.document?.prerendering?addEventListener("prerenderingchange",(()=>e()),!0):e()},qi=[1800,3e3],Wi=[.1,.25],Yi=(e,t={})=>{((e,t={})=>{Hi((()=>{const n=zi(),r=Ni("FCP");let o;const s=Pi("paint",(e=>{e.forEach((e=>{"first-contentful-paint"===e.name&&(s.disconnect(),e.startTime {const n=Ni("CLS",0);let r,o=0,s=[];const i=e=>{e.forEach((e=>{if(!e.hadRecentInput){const t=s[0],n=s[s.length-1];o&&t&&n&&e.startTime-n.startTime <1e3&&e.startTime-t.startTime<5e3?(o+=e.value,s.push(e)):(o=e.value,s=[e])}})),o>n.value&&(n.value=o,n.entries=s,r())},a=Pi("layout-shift",i);a&&(r=Ai(e,n,Wi,t.reportAllChanges),$i((()=>{i(a.takeRecords()),r(!0)})),setTimeout(r,0))})))},Vi=[100,300];let Gi=0,Xi=1/0,Ji=0;const Ki=e=>{e.forEach((e=>{e.interactionId&&(Xi=Math.min(Xi,e.interactionId),Ji=Math.max(Ji,e.interactionId),Gi=Ji?(Ji-Xi)/7+1:0)}))};let Zi;const Qi=()=>{"interactionCount"in performance||Zi||(Zi=Pi("event",Ki,{type:"event",buffered:!0,durationThreshold:0}))},ea=[],ta=new Map;const na=()=>(Zi?Gi:performance.interactionCount||0)-0,ra=[],oa=e=>{if(ra.forEach((t=>t(e))),!e.interactionId&&"first-input"!==e.entryType)return;const t=ea[ea.length-1],n=ta.get(e.interactionId);if(n||ea.length <10||t&&e.duration>t.latency){if(n)e.duration>n.latency?(n.entries=[e],n.latency=e.duration):e.duration===n.latency&&e.startTime===n.entries[0]?.startTime&&n.entries.push(e);else{const t={id:e.interactionId,latency:e.duration,entries:[e]};ta.set(t.id,t),ea.push(t)}ea.sort(((e,t)=>t.latency-e.latency)),ea.length>10&&ea.splice(10).forEach((e=>ta.delete(e.id)))}},sa=e=>{const t=Wo.requestIdleCallback||Wo.setTimeout;let n=-1;return e=Fi(e),"hidden"===Wo.document?.visibilityState?e():(n=t(e),$i(e)),n},ia=[200,500],aa=(e,t={})=>{"PerformanceEventTiming"in Wo&&"interactionId"in PerformanceEventTiming.prototype&&Hi((()=>{Qi();const n=Ni("INP");let r;const o=e=>{sa((()=>{e.forEach(oa);const t=(()=>{const e=Math.min(ea.length-1,Math.floor(na()/50));return ea[e]})();t&&t.latency!==n.value&&(n.value=t.latency,n.entries=t.entries,r())}))},s=Pi("event",o,{durationThreshold:null!=t.durationThreshold?t.durationThreshold:40});r=Ai(e,n,ia,t.reportAllChanges),s&&(s.observe({type:"first-input",buffered:!0}),$i((()=>{o(s.takeRecords()),r(!0)})))}))},ca=[2500,4e3],ua={},la=[800,1800],da=e=>{Wo.document?.prerendering?Hi((()=>da(e))):"complete"!==Wo.document?.readyState?addEventListener("load",(()=>da(e)),!0):setTimeout(e,0)},pa={},ha={};let fa,ma,ga,_a,ya;function va(e,t=!1){return Ra("cls",e,Ea,fa,t)}function ba(e,t=!1){return Ra("lcp",e,Ta,ga,t)}function Sa(e){return Ra("fid",e,Ca,ma)}function wa(e){return Ra("inp",e,Ma,ya)}function ka(e,t){return Oa(e,t),ha[e]||(!function(e){const t={};"event"===e&&(t.durationThreshold=0);Pi(e,(t=>{xa(e,{entries:t})}),t)}(e),ha[e]=!0),Aa(e,t)}function xa(e,t){const n=pa[e];if(n?.length)for(const r of n)try{r(t)}catch(t){qo&&H.error(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${tt(r)}\nError:`,t)}}function Ea(){return Yi((e=>{xa("cls",{metric:e}),fa=e}),{reportAllChanges:!0})}function Ca(){return((e,t={})=>{Hi((()=>{const n=zi(),r=Ni("FID");let o;const s=e=>{e.startTime {e.forEach(s)},a=Pi("first-input",i);o=Ai(e,r,Vi,t.reportAllChanges),a&&$i(Fi((()=>{i(a.takeRecords()),a.disconnect()})))}))})((e=>{xa("fid",{metric:e}),ma=e}))}function Ta(){return((e,t={})=>{Hi((()=>{const n=zi(),r=Ni("LCP");let o;const s=e=>{t.reportAllChanges||(e=e.slice(-1)),e.forEach((e=>{e.startTime {ua[r.id]||(s(i.takeRecords()),i.disconnect(),ua[r.id]=!0,o(!0))}));["keydown","click"].forEach((e=>{Wo.document&&addEventListener(e,(()=>sa(n)),{once:!0,capture:!0})})),$i(n)}}))})((e=>{xa("lcp",{metric:e}),ga=e}),{reportAllChanges:!0})}function Ia(){return((e,t={})=>{const n=Ni("TTFB"),r=Ai(e,n,la,t.reportAllChanges);da((()=>{const e=Li();e&&(n.value=Math.max(e.responseStart-Di(),0),n.entries=[e],r(!0))}))})((e=>{xa("ttfb",{metric:e}),_a=e}))}function Ma(){return aa((e=>{xa("inp",{metric:e}),ya=e}))}function Ra(e,t,n,r,o=!1){let s;return Oa(e,t),ha[e]||(s=n(),ha[e]=!0),r&&t({metric:r}),Aa(e,t,o?s:void 0)}function Oa(e,t){pa[e]=pa[e]||[],pa[e].push(t)}function Aa(e,t,n){return()=>{n&&n();const r=pa[e];if(!r)return;const o=r.indexOf(t);-1!==o&&r.splice(o,1)}}const La=R,Da="sentryReplaySession",Na="Unable to send Replay",Pa=15e4,$a=5e3,Fa=2e7,Ba=36e5;var ja=Object.defineProperty,Ua=(e,t,n)=>((e,t,n)=>t in e?ja(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n)(e,"symbol"!=typeof t?t+"":t,n),za=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(za||{});function Ha(e){const t=e?.host;return Boolean(t?.shadowRoot===e)}function qa(e){return"[object ShadowRoot]"===Object.prototype.toString.call(e)}function Wa(e){try{const n=e.rules||e.cssRules;return n?((t=Array.from(n,Ya).join("")).includes(" background-clip: text;")&&!t.includes(" -webkit-background-clip: text;")&&(t=t.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),t):null}catch(e){return null}var t}function Ya(e){let t;if(function(e){return"styleSheet"in e}(e))try{t=Wa(e.styleSheet)||function(e){const{cssText:t}=e;if(t.split('"').length <3)return t;const n=[ "@import",`url(${JSON.stringify(e.href)})`];return ""===e.layerName?n.push( "layer"):e.layerName&&n.push(`layer(${e.layerName})`),e.supportsText&&n.push(`supports(${e.supportsText})`),e.media.length&&n.push(e.media.mediaText),n.join( " ")+ ";"}(e)}catch(e){}else if(function(e){return "selectorText"in e}(e)){let t=e.cssText;const n=e.selectorText.includes( ":"),r="string"==typeof e.style.all&&e.style.all;if(r&&(t=function(e){let t="" ;for(let n=0;nthis.removeNodeFromMap(e)))}has(e){return this.idNodeMap.has(e)}hasNode(e){return this.nodeMetaMap.has(e)}add(e,t){const n=t.id;this.idNodeMap.set(n,e),this.nodeMetaMap.set(e,t)}replace(e,t){const n=this.getNode(e);if(n){const e=this.nodeMetaMap.get(n);e&&this.nodeMetaMap.set(t,e)}this.idNodeMap.set(e,t)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function Ga({maskInputOptions:e,tagName:t,type:n}){return"OPTION"===t&&(t="SELECT"),Boolean(e[t.toLowerCase()]||n&&e[n]||"password"===n||"INPUT"===t&&!n&&e.text)}function Xa({isMasked:e,element:t,value:n,maskInputFn:r}){let o=n||"";return e?(r&&(o=r(o,t)),"*".repeat(o.length)):o}function Ja(e){return e.toLowerCase()}function Ka(e){return e.toUpperCase()}const Za="__rrweb_original__";function Qa(e){const t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Ja(t):null}function ec(e,t,n){return"INPUT"!==t||"radio"!==n&&"checkbox"!==n?e.value:e.getAttribute("value")||""}function tc(e,t){let n;try{n=new URL(e,t??window.location.href)}catch(e){return null}return n.pathname.match(/\.([0-9a-z]+)(?:$)/i)?.[1]??null}const nc={};function rc(e){const t=nc[e];if(t)return t;const n=window.document;let r=window[e];if(n&&"function"==typeof n.createElement)try{const t=n.createElement("iframe");t.hidden=!0,n.head.appendChild(t);const o=t.contentWindow;o&&o[e]&&(r=o[e]),n.head.removeChild(t)}catch(e){}return nc[e]=r.bind(window)}function oc(...e){return rc("setTimeout")(...e)}function sc(...e){return rc("clearTimeout")(...e)}function ic(e){try{return e.contentDocument}catch(e){}}let ac=1;const cc=new RegExp("[^a-z0-9-_:]");function uc(){return ac++}let lc,dc;const pc=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,hc=/^(?:[a-z+]+:)?\/\//i,fc=/^www\..*/i,mc=/^(data:)([^,]*),(.*)/i;function gc(e,t){return(e||"").replace(pc,((e,n,r,o,s,i)=>{const a=r||s||i,c=n||o||"";if(!a)return e;if(hc.test(a)||fc.test(a))return`url(${c}${a}${c})`;if(mc.test(a))return`url(${c}${a}${c})`;if("/"===a[0])return`url(${c}${function(e){let t="";return t=e.indexOf("//")>-1?e.split("/").slice(0,3).join("/"):e.split("/")[0],t=t.split("?")[0],t}(t)+a}${c})`;const u=t.split("/"),l=a.split("/");u.pop();for(const e of l)"."!==e&&(".."===e?u.pop():u.push(e));return`url(${c}${u.join("/")}${c})`}))}const _c=/^[^ \t\n\r\u000c]+/,yc=/^[, \t\n\r\u000c]+/;const vc=new WeakMap;function bc(e,t){return t&&""!==t.trim()?wc(e,t):t}function Sc(e){return Boolean("svg"===e.tagName||e.ownerSVGElement)}function wc(e,t){let n=vc.get(e);if(n||(n=e.createElement("a"),vc.set(e,n)),t){if(t.startsWith("blob:")||t.startsWith("data:"))return t}else t="";return n.setAttribute("href",t),n.href}function kc(e,t,n,r,o,s){return r?"src"===n||"href"===n&&("use"!==t||"#"!==r[0])||"xlink:href"===n&&"#"!==r[0]?bc(e,r):"background"!==n||"table"!==t&&"td"!==t&&"th"!==t?"srcset"===n?function(e,t){if(""===t.trim())return t;let n=0;function r(e){let r;const o=e.exec(t.substring(n));return o?(r=o[0],n+=r.length,r):""}const o=[];for(;r(yc),!(n>=t.length);){let s=r(_c);if(","===s.slice(-1))s=bc(e,s.substring(0,s.length-1)),o.push(s);else{let r="";s=bc(e,s);let i=!1;for(;;){const e=t.charAt(n);if(""===e){o.push((s+r).trim());break}if(i)")"===e&&(i=!1);else{if(","===e){n+=1,o.push((s+r).trim());break}"("===e&&(i=!0)}r+=e,n+=1}}}return o.join(", ")}(e,r):"style"===n?gc(r,wc(e)):"object"===t&&"data"===n?bc(e,r):"function"==typeof s?s(n,r,o):r:bc(e,r):r}function xc(e,t,n){return("video"===e||"audio"===e)&&"autoplay"===t}function Ec(e,t,n,r){try{if(r&&e.matches(r))return!1;if("string"==typeof t){if(e.classList.contains(t))return!0}else for(let n=e.classList.length;n--;){const r=e.classList[n];if(t.test(r))return!0}if(n)return e.matches(n)}catch(e){}return!1}function Cc(e,t,n=1/0,r=0){return e?e.nodeType!==e.ELEMENT_NODE||r>n?-1:t(e)?r:Cc(e.parentNode,t,n,r+1):-1}function Tc(e,t){return n=>{const r=n;if(null===r)return!1;try{if(e)if("string"==typeof e){if(r.matches(`.${e}`))return!0}else if(function(e,t){for(let n=e.classList.length;n--;){const r=e.classList[n];if(t.test(r))return!0}return!1}(r,e))return!0;return!(!t||!r.matches(t))}catch{return!1}}}function Ic(e,t,n,r,o,s){try{const i=e.nodeType===e.ELEMENT_NODE?e:e.parentElement;if(null===i)return!1;if("INPUT"===i.tagName){const e=i.getAttribute("autocomplete");if(["current-password","new-password","cc-number","cc-exp","cc-exp-month","cc-exp-year","cc-csc"].includes(e))return!0}let a=-1,c=-1;if(s){if(c=Cc(i,Tc(r,o)),c <0)return!0;a=Cc(i,Tc(t,n),c>=0?c:1/0)}else{if(a=Cc(i,Tc(t,n)),a <0)return!1;c=Cc(i,Tc(r,o),a>=0?a:1/0)}return a>=0?!(c>=0)||a <=c:!(c>=0)&&!!s}catch(e){}return!!s}function Mc(e,t){const{doc:n,mirror:r,blockClass:o,blockSelector:s,unblockSelector:i,maskAllText:a,maskAttributeFn:c,maskTextClass:u,unmaskTextClass:l,maskTextSelector:d,unmaskTextSelector:p,inlineStylesheet:h,maskInputOptions:f={},maskTextFn:m,maskInputFn:g,dataURLOptions:_={},inlineImages:y,recordCanvas:v,keepIframeSrcFn:b,newlyAddedElement:S=!1}=t,w=function(e,t){if(!t.hasNode(e))return;const n=t.getId(e);return 1===n?void 0:n}(n,r);switch(e.nodeType){case e.DOCUMENT_NODE:return"CSS1Compat"!==e.compatMode?{type:za.Document,childNodes:[],compatMode:e.compatMode}:{type:za.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:za.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:w};case e.ELEMENT_NODE:return function(e,t){const{doc:n,blockClass:r,blockSelector:o,unblockSelector:s,inlineStylesheet:i,maskInputOptions:a={},maskAttributeFn:c,maskInputFn:u,dataURLOptions:l={},inlineImages:d,recordCanvas:p,keepIframeSrcFn:h,newlyAddedElement:f=!1,rootId:m,maskTextClass:g,unmaskTextClass:_,maskTextSelector:y,unmaskTextSelector:v}=t,b=Ec(e,r,o,s),S=function(e){if(e instanceof HTMLFormElement)return"form";const t=Ja(e.tagName);return cc.test(t)?"div":t}(e);let w={};const k=e.attributes.length;for(let t=0;t t.href===e.href));let r=null;t&&(r=Wa(t)),r&&(w.rel=null,w.href=null,w.crossorigin=null,w._cssText=gc(r,t.href))}if("style"===S&&e.sheet&&!(e.innerText||e.textContent||"").trim().length){const t=Wa(e.sheet);t&&(w._cssText=gc(t,wc(n)))}if("input"===S||"textarea"===S||"select"===S||"option"===S){const t=e,n=Qa(t),r=ec(t,Ka(S),n),o=t.checked;if("submit"!==n&&"button"!==n&&r){const e=Ic(t,g,y,_,v,Ga({type:n,tagName:Ka(S),maskInputOptions:a}));w.value=Xa({isMasked:e,element:t,value:r,maskInputFn:u})}o&&(w.checked=o)}"option"===S&&(e.selected&&!a.select?w.selected=!0:delete w.selected);if("canvas"===S&&p)if("2d"===e.__context)(function(e){const t=e.getContext("2d");if(!t)return!0;for(let n=0;n 0!==e)))return!1}return!0})(e)||(w.rr_dataURL=e.toDataURL(l.type,l.quality));else if(!("__context"in e)){const t=e.toDataURL(l.type,l.quality),r=n.createElement("canvas");r.width=e.width,r.height=e.height;t!==r.toDataURL(l.type,l.quality)&&(w.rr_dataURL=t)}if("img"===S&&d){lc||(lc=n.createElement("canvas"),dc=lc.getContext("2d"));const t=e,r=t.currentSrc||t.getAttribute("src")||" ",o=t.crossOrigin,s=()=>{t.removeEventListener("load",s);try{lc.width=t.naturalWidth,lc.height=t.naturalHeight,dc.drawImage(t,0,0),w.rr_dataURL=lc.toDataURL(l.type,l.quality)}catch(e){if("anonymous"!==t.crossOrigin)return t.crossOrigin="anonymous",void(t.complete&&0!==t.naturalWidth?s():t.addEventListener("load",s));console.warn(`Cannot inline img src=${r}! Error: ${e}`)}"anonymous"===t.crossOrigin&&(o?w.crossOrigin=o:t.removeAttribute("crossorigin"))};t.complete&&0!==t.naturalWidth?s():t.addEventListener("load",s)}"audio"!==S&&"video"!==S||(w.rr_mediaState=e.paused?"paused":"played",w.rr_mediaCurrentTime=e.currentTime);f||(e.scrollLeft&&(w.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(w.rr_scrollTop=e.scrollTop));if(b){const{width:t,height:n}=e.getBoundingClientRect();w={class:w.class,rr_width:`${t}px`,rr_height:`${n}px`}}"iframe"!==S||h(w.src)||(b||ic(e)||(w.rr_src=w.src),delete w.src);let x;try{customElements.get(S)&&(x=!0)}catch(e){}return{type:za.Element,tagName:S,attributes:w,childNodes:[],isSVG:Sc(e)||void 0,needBlock:b,rootId:m,isCustom:x}}(e,{doc:n,blockClass:o,blockSelector:s,unblockSelector:i,inlineStylesheet:h,maskAttributeFn:c,maskInputOptions:f,maskInputFn:g,dataURLOptions:_,inlineImages:y,recordCanvas:v,keepIframeSrcFn:b,newlyAddedElement:S,rootId:w,maskAllText:a,maskTextClass:u,unmaskTextClass:l,maskTextSelector:d,unmaskTextSelector:p});case e.TEXT_NODE:return function(e,t){const{maskAllText:n,maskTextClass:r,unmaskTextClass:o,maskTextSelector:s,unmaskTextSelector:i,maskTextFn:a,maskInputOptions:c,maskInputFn:u,rootId:l}=t,d=e.parentNode&&e.parentNode.tagName;let p=e.textContent;const h="STYLE"===d||void 0,f="SCRIPT"===d||void 0,m="TEXTAREA"===d||void 0;if(h&&p){try{e.nextSibling||e.previousSibling||e.parentNode.sheet?.cssRules&&(p=Wa(e.parentNode.sheet))}catch(t){console.warn(`Cannot get CSS styles from text's parentNode. Error: ${t}`,e)}p=gc(p,wc(t.doc))}f&&(p="SCRIPT_PLACEHOLDER");const g=Ic(e,r,s,o,i,n);h||f||m||!p||!g||(p=a?a(p,e.parentElement):p.replace(/[\S]/g,"*"));m&&p&&(c.textarea||g)&&(p=u?u(p,e.parentNode):p.replace(/[\S]/g,"*"));if("OPTION"===d&&p){p=Xa({isMasked:Ic(e,r,s,o,i,Ga({type:null,tagName:d,maskInputOptions:c})),element:e,value:p,maskInputFn:u})}return{type:za.Text,textContent:p||"",isStyle:h,rootId:l}}(e,{doc:n,maskAllText:a,maskTextClass:u,unmaskTextClass:l,maskTextSelector:d,unmaskTextSelector:p,maskTextFn:m,maskInputOptions:f,maskInputFn:g,rootId:w});case e.CDATA_SECTION_NODE:return{type:za.CDATA,textContent:"",rootId:w};case e.COMMENT_NODE:return{type:za.Comment,textContent:e.textContent||"",rootId:w};default:return!1}}function Rc(e){return null==e?"":e.toLowerCase()}function Oc(e,t){const{doc:n,mirror:r,blockClass:o,blockSelector:s,unblockSelector:i,maskAllText:a,maskTextClass:c,unmaskTextClass:u,maskTextSelector:l,unmaskTextSelector:d,skipChild:p=!1,inlineStylesheet:h=!0,maskInputOptions:f={},maskAttributeFn:m,maskTextFn:g,maskInputFn:_,slimDOMOptions:y,dataURLOptions:v={},inlineImages:b=!1,recordCanvas:S=!1,onSerialize:w,onIframeLoad:k,iframeLoadTimeout:x=5e3,onStylesheetLoad:E,stylesheetLoadTimeout:C=5e3,keepIframeSrcFn:T=(()=>!1),newlyAddedElement:I=!1}=t;let{preserveWhiteSpace:M=!0}=t;const R=Mc(e,{doc:n,mirror:r,blockClass:o,blockSelector:s,maskAllText:a,unblockSelector:i,maskTextClass:c,unmaskTextClass:u,maskTextSelector:l,unmaskTextSelector:d,inlineStylesheet:h,maskInputOptions:f,maskAttributeFn:m,maskTextFn:g,maskInputFn:_,dataURLOptions:v,inlineImages:b,recordCanvas:S,keepIframeSrcFn:T,newlyAddedElement:I});if(!R)return console.warn(e,"not serialized"),null;let O;O=r.hasNode(e)?r.getId(e):!function(e,t){if(t.comment&&e.type===za.Comment)return!0;if(e.type===za.Element){if(t.script&&("script"===e.tagName||"link"===e.tagName&&("preload"===e.attributes.rel||"modulepreload"===e.attributes.rel)||"link"===e.tagName&&"prefetch"===e.attributes.rel&&"string"==typeof e.attributes.href&&"js"===tc(e.attributes.href)))return!0;if(t.headFavicon&&("link"===e.tagName&&"shortcut icon"===e.attributes.rel||"meta"===e.tagName&&(Rc(e.attributes.name).match(/^msapplication-tile(image|color)$/)||"application-name"===Rc(e.attributes.name)||"icon"===Rc(e.attributes.rel)||"apple-touch-icon"===Rc(e.attributes.rel)||"shortcut icon"===Rc(e.attributes.rel))))return!0;if("meta"===e.tagName){if(t.headMetaDescKeywords&&Rc(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(Rc(e.attributes.property).match(/^(og|twitter|fb):/)||Rc(e.attributes.name).match(/^(og|twitter):/)||"pinterest"===Rc(e.attributes.name)))return!0;if(t.headMetaRobots&&("robots"===Rc(e.attributes.name)||"googlebot"===Rc(e.attributes.name)||"bingbot"===Rc(e.attributes.name)))return!0;if(t.headMetaHttpEquiv&&void 0!==e.attributes["http-equiv"])return!0;if(t.headMetaAuthorship&&("author"===Rc(e.attributes.name)||"generator"===Rc(e.attributes.name)||"framework"===Rc(e.attributes.name)||"publisher"===Rc(e.attributes.name)||"progid"===Rc(e.attributes.name)||Rc(e.attributes.property).match(/^article:/)||Rc(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&("google-site-verification"===Rc(e.attributes.name)||"yandex-verification"===Rc(e.attributes.name)||"csrf-token"===Rc(e.attributes.name)||"p:domain_verify"===Rc(e.attributes.name)||"verify-v1"===Rc(e.attributes.name)||"verification"===Rc(e.attributes.name)||"shopify-checkout-api-token"===Rc(e.attributes.name)))return!0}}return!1}(R,y)&&(M||R.type!==za.Text||R.isStyle||R.textContent.replace(/^\s+|\s+$/gm,"").length)?uc():-2;const A=Object.assign(R,{id:O});if(r.add(e,A),-2===O)return null;w&&w(e);let L=!p;if(A.type===za.Element){L=L&&!A.needBlock,delete A.needBlock;const t=e.shadowRoot;t&&qa(t)&&(A.isShadowHost=!0)}if((A.type===za.Document||A.type===za.Element)&&L){y.headWhitespace&&A.type===za.Element&&"head"===A.tagName&&(M=!1);const t={doc:n,mirror:r,blockClass:o,blockSelector:s,maskAllText:a,unblockSelector:i,maskTextClass:c,unmaskTextClass:u,maskTextSelector:l,unmaskTextSelector:d,skipChild:p,inlineStylesheet:h,maskInputOptions:f,maskAttributeFn:m,maskTextFn:g,maskInputFn:_,slimDOMOptions:y,dataURLOptions:v,inlineImages:b,recordCanvas:S,preserveWhiteSpace:M,onSerialize:w,onIframeLoad:k,iframeLoadTimeout:x,onStylesheetLoad:E,stylesheetLoadTimeout:C,keepIframeSrcFn:T};for(const n of Array.from(e.childNodes)){const e=Oc(n,t);e&&A.childNodes.push(e)}if(function(e){return e.nodeType===e.ELEMENT_NODE}(e)&&e.shadowRoot)for(const n of Array.from(e.shadowRoot.childNodes)){const r=Oc(n,t);r&&(qa(e.shadowRoot)&&(r.isShadow=!0),A.childNodes.push(r))}}return e.parentNode&&Ha(e.parentNode)&&qa(e.parentNode)&&(A.isShadow=!0),A.type!==za.Element||"iframe"!==A.tagName||Ec(e,o,s,i)||function(e,t,n){const r=e.contentWindow;if(!r)return;let o,s=!1;try{o=r.document.readyState}catch(e){return}if("complete"!==o){const r=oc((()=>{s||(t(),s=!0)}),n);return void e.addEventListener("load",(()=>{sc(r),s=!0,t()}))}const i="about:blank";if(r.location.href!==i||e.src===i||""===e.src)return oc(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}(e,(()=>{const t=ic(e);if(t&&k){const n=Oc(t,{doc:t,mirror:r,blockClass:o,blockSelector:s,unblockSelector:i,maskAllText:a,maskTextClass:c,unmaskTextClass:u,maskTextSelector:l,unmaskTextSelector:d,skipChild:!1,inlineStylesheet:h,maskInputOptions:f,maskAttributeFn:m,maskTextFn:g,maskInputFn:_,slimDOMOptions:y,dataURLOptions:v,inlineImages:b,recordCanvas:S,preserveWhiteSpace:M,onSerialize:w,onIframeLoad:k,iframeLoadTimeout:x,onStylesheetLoad:E,stylesheetLoadTimeout:C,keepIframeSrcFn:T});n&&k(e,n)}}),x),A.type===za.Element&&"link"===A.tagName&&"string"==typeof A.attributes.rel&&("stylesheet"===A.attributes.rel||"preload"===A.attributes.rel&&"string"==typeof A.attributes.href&&"css"===tc(A.attributes.href))&&function(e,t,n){let r,o=!1;try{r=e.sheet}catch(e){return}if(r)return;const s=oc((()=>{o||(t(),o=!0)}),n);e.addEventListener("load",(()=>{sc(s),o=!0,t()}))}(e,(()=>{if(E){const t=Oc(e,{doc:n,mirror:r,blockClass:o,blockSelector:s,unblockSelector:i,maskAllText:a,maskTextClass:c,unmaskTextClass:u,maskTextSelector:l,unmaskTextSelector:d,skipChild:!1,inlineStylesheet:h,maskInputOptions:f,maskAttributeFn:m,maskTextFn:g,maskInputFn:_,slimDOMOptions:y,dataURLOptions:v,inlineImages:b,recordCanvas:S,preserveWhiteSpace:M,onSerialize:w,onIframeLoad:k,iframeLoadTimeout:x,onStylesheetLoad:E,stylesheetLoadTimeout:C,keepIframeSrcFn:T});t&&E(e,t)}}),C),A}function Ac(e,t,n=document){const r={capture:!0,passive:!0};return n.addEventListener(e,t,r),()=>n.removeEventListener(e,t,r)}const Lc="Please stop import mirror directly. Instead of that,\r\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\r\nor you can use record.mirror to access the mirror instance during recording.";let Dc={map:{},getId:()=>(console.error(Lc),-1),getNode:()=>(console.error(Lc),null),removeNodeFromMap(){console.error(Lc)},has:()=>(console.error(Lc),!1),reset(){console.error(Lc)}};function Nc(e,t,n={}){let r=null,o=0;return function(...s){const i=Date.now();o||!1!==n.leading||(o=i);const a=t-(i-o),c=this;a <=0||a>t?(r&&(!function(...e){tu("clearTimeout")(...e)}(r),r=null),o=i,e.apply(c,s)):r||!1===n.trailing||(r=nu((()=>{o=!1===n.leading?0:Date.now(),r=null,e.apply(c,s)}),a))}}function Pc(e,t,n,r,o=window){const s=o.Object.getOwnPropertyDescriptor(e,t);return o.Object.defineProperty(e,t,r?n:{set(e){nu((()=>{n.set.call(this,e)}),0),s&&s.set&&s.set.call(this,e)}}),()=>Pc(e,t,s||{},!0)}function $c(e,t,n){try{if(!(t in e))return()=>{};const r=e[t],o=n(r);return"function"==typeof o&&(o.prototype=o.prototype||{},Object.defineProperties(o,{__rrweb_original__:{enumerable:!1,value:r}})),e[t]=o,()=>{e[t]=r}}catch{return()=>{}}}"undefined"!=typeof window&&window.Proxy&&window.Reflect&&(Dc=new Proxy(Dc,{get:(e,t,n)=>("map"===t&&console.error(Lc),Reflect.get(e,t,n))}));let Fc=Date.now;function Bc(e){const t=e.document;return{left:t.scrollingElement?t.scrollingElement.scrollLeft:void 0!==e.pageXOffset?e.pageXOffset:t?.documentElement.scrollLeft||t?.body?.parentElement?.scrollLeft||t?.body?.scrollLeft||0,top:t.scrollingElement?t.scrollingElement.scrollTop:void 0!==e.pageYOffset?e.pageYOffset:t?.documentElement.scrollTop||t?.body?.parentElement?.scrollTop||t?.body?.scrollTop||0}}function jc(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Uc(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function zc(e){if(!e)return null;return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}function Hc(e,t,n,r,o){if(!e)return!1;const s=zc(e);if(!s)return!1;const i=Tc(t,n);if(!o){const e=r&&s.matches(r);return i(s)&&!e}const a=Cc(s,i);let c=-1;return!(a <0)&&(r&&(c=Cc(s,Tc(null,r))),a>-1&&c <0||a(new Date).getTime());class Jc{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(e){return this.styleIDMap.get(e)??-1}has(e){return this.styleIDMap.has(e)}add(e,t){if(this.has(e))return this.getId(e);let n;return n=void 0===t?this.id++:t,this.styleIDMap.set(e,n),this.idStyleMap.set(n,e),n}getStyle(e){return this.idStyleMap.get(e)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}}function Kc(e){let t=null;return e.getRootNode?.()?.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.getRootNode().host&&(t=e.getRootNode().host),t}function Zc(e){const t=e.ownerDocument;if(!t)return!1;const n=function(e){let t,n=e;for(;t=Kc(n);)n=t;return n}(e);return t.contains(n)}function Qc(e){const t=e.ownerDocument;return!!t&&(t.contains(e)||Zc(e))}const eu={};function tu(e){const t=eu[e];if(t)return t;const n=window.document;let r=window[e];if(n&&"function"==typeof n.createElement)try{const t=n.createElement("iframe");t.hidden=!0,n.head.appendChild(t);const o=t.contentWindow;o&&o[e]&&(r=o[e]),n.head.removeChild(t)}catch(e){}return eu[e]=r.bind(window)}function nu(...e){return tu("setTimeout")(...e)}var ru=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e))(ru||{}),ou=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(ou||{}),su=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(su||{}),iu=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(iu||{}),au=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(au||{});function cu(e){try{return e.contentDocument}catch(e){}}function uu(e){return"__ln"in e}class lu{constructor(){this.length=0,this.head=null,this.tail=null}get(e){if(e>=this.length)throw new Error("Position outside of list range");let t=this.head;for(let n=0;n `${e}@${t}`;class pu{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=e=>{e.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;const e=[],t=new Set,n=new lu,r=e=>{let t=e,n=-2;for(;-2===n;)t=t&&t.nextSibling,n=t&&this.mirror.getId(t);return n},o=o=>{if(!o.parentNode||!Qc(o))return;const s=Ha(o.parentNode)?this.mirror.getId(Kc(o)):this.mirror.getId(o.parentNode),i=r(o);if(-1===s||-1===i)return n.addNode(o);const a=Oc(o,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskAllText:this.maskAllText,unblockSelector:this.unblockSelector,maskTextClass:this.maskTextClass,unmaskTextClass:this.unmaskTextClass,maskTextSelector:this.maskTextSelector,unmaskTextSelector:this.unmaskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskAttributeFn:this.maskAttributeFn,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:e=>{Vc(e,this.mirror)&&!Hc(e,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&this.iframeManager.addIframe(e),Gc(e,this.mirror)&&this.stylesheetManager.trackLinkElement(e),Xc(o)&&this.shadowDomManager.addShadowRoot(o.shadowRoot,this.doc)},onIframeLoad:(e,t)=>{Hc(e,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(this.iframeManager.attachIframe(e,t),e.contentWindow&&this.canvasManager.addWindow(e.contentWindow),this.shadowDomManager.observeAttachShadow(e))},onStylesheetLoad:(e,t)=>{this.stylesheetManager.attachLinkElement(e,t)}});a&&(e.push({parentId:s,nextId:i,node:a}),t.add(a.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const e of this.movedSet)fu(this.removes,e,this.mirror)&&!this.movedSet.has(e.parentNode)||o(e);for(const e of this.addedSet)mu(this.droppedSet,e)||fu(this.removes,e,this.mirror)?mu(this.movedSet,e)?o(e):this.droppedSet.add(e):o(e);let s=null;for(;n.length;){let e=null;if(s){const t=this.mirror.getId(s.value.parentNode),n=r(s.value);-1!==t&&-1!==n&&(e=s)}if(!e){let t=n.tail;for(;t;){const n=t;if(t=t.previous,n){const t=this.mirror.getId(n.value.parentNode);if(-1===r(n.value))continue;if(-1!==t){e=n;break}{const t=n.value;if(t.parentNode&&t.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const r=t.parentNode.host;if(-1!==this.mirror.getId(r)){e=n;break}}}}}}if(!e){for(;n.head;)n.removeNode(n.head.value);break}s=e.previous,n.removeNode(e.value),o(e.value)}const i={texts:this.texts.map((e=>({id:this.mirror.getId(e.node),value:e.value}))).filter((e=>!t.has(e.id))).filter((e=>this.mirror.has(e.id))),attributes:this.attributes.map((e=>{const{attributes:t}=e;if("string"==typeof t.style){const n=JSON.stringify(e.styleDiff),r=JSON.stringify(e._unchangedStyles);n.length !t.has(e.id))).filter((e=>this.mirror.has(e.id))),removes:this.removes,adds:e};(i.texts.length||i.attributes.length||i.removes.length||i.adds.length)&&(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(i))},this.processMutation=e=>{if(!qc(e.target,this.mirror))switch(e.type){case"characterData":{const t=e.target.textContent;Hc(e.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||t===e.oldValue||this.texts.push({value:Ic(e.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,this.maskAllText)&&t?this.maskTextFn?this.maskTextFn(t,zc(e.target)):t.replace(/[\S]/g,"*"):t,node:e.target});break}case"attributes":{const t=e.target;let n=e.attributeName,r=e.target.getAttribute(n);if("value"===n){const n=Qa(t),o=t.tagName;r=ec(t,o,n);const s=Ga({maskInputOptions:this.maskInputOptions,tagName:o,type:n});r=Xa({isMasked:Ic(e.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,s),element:t,value:r,maskInputFn:this.maskInputFn})}if(Hc(e.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||r===e.oldValue)return;let o=this.attributeMap.get(e.target);if("IFRAME"===t.tagName&&"src"===n&&!this.keepIframeSrcFn(r)){if(cu(t))return;n="rr_src"}if(o||(o={node:e.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(o),this.attributeMap.set(e.target,o)),"type"===n&&"INPUT"===t.tagName&&"password"===(e.oldValue||"").toLowerCase()&&t.setAttribute("data-rr-is-password","true"),!xc(t.tagName,n)&&(o.attributes[n]=kc(this.doc,Ja(t.tagName),Ja(n),r,t,this.maskAttributeFn),"style"===n)){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch(e){this.unattachedDoc=this.doc}const n=this.unattachedDoc.createElement("span");e.oldValue&&n.setAttribute("style",e.oldValue);for(const e of Array.from(t.style)){const r=t.style.getPropertyValue(e),s=t.style.getPropertyPriority(e);r!==n.style.getPropertyValue(e)||s!==n.style.getPropertyPriority(e)?o.styleDiff[e]=""===s?r:[r,s]:o._unchangedStyles[e]=[r,s]}for(const e of Array.from(n.style))""===t.style.getPropertyValue(e)&&(o.styleDiff[e]=!1)}break}case"childList":if(Hc(e.target,this.blockClass,this.blockSelector,this.unblockSelector,!0))return;e.addedNodes.forEach((t=>this.genAdds(t,e.target))),e.removedNodes.forEach((t=>{const n=this.mirror.getId(t),r=Ha(e.target)?this.mirror.getId(e.target.host):this.mirror.getId(e.target);Hc(e.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||qc(t,this.mirror)||!function(e,t){return-1!==t.getId(e)}(t,this.mirror)||(this.addedSet.has(t)?(hu(this.addedSet,t),this.droppedSet.add(t)):this.addedSet.has(e.target)&&-1===n||Wc(e.target,this.mirror)||(this.movedSet.has(t)&&this.movedMap[du(n,r)]?hu(this.movedSet,t):this.removes.push({parentId:r,id:n,isShadow:!(!Ha(e.target)||!qa(e.target))||void 0})),this.mapRemoves.push(t))}))}},this.genAdds=(e,t)=>{if(!this.processedNodeManager.inOtherBuffer(e,this)&&!this.addedSet.has(e)&&!this.movedSet.has(e)){if(this.mirror.hasNode(e)){if(qc(e,this.mirror))return;this.movedSet.add(e);let n=null;t&&this.mirror.hasNode(t)&&(n=this.mirror.getId(t)),n&&-1!==n&&(this.movedMap[du(this.mirror.getId(e),n)]=!0)}else this.addedSet.add(e),this.droppedSet.delete(e);Hc(e,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(e.childNodes.forEach((e=>this.genAdds(e))),Xc(e)&&e.shadowRoot.childNodes.forEach((t=>{this.processedNodeManager.add(t,this),this.genAdds(t,e)})))}}}init(e){["mutationCb","blockClass","blockSelector","unblockSelector","maskAllText","maskTextClass","unmaskTextClass","maskTextSelector","unmaskTextSelector","inlineStylesheet","maskInputOptions","maskAttributeFn","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach((t=>{this[t]=e[t]}))}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function hu(e,t){e.delete(t),t.childNodes.forEach((t=>hu(e,t)))}function fu(e,t,n){return 0!==e.length&&function(e,t,n){let r=t.parentNode;for(;r;){const t=n.getId(r);if(e.some((e=>e.id===t)))return!0;r=r.parentNode}return!1}(e,t,n)}function mu(e,t){return 0!==e.size&&gu(e,t)}function gu(e,t){const{parentNode:n}=t;return!!n&&(!!e.has(n)||gu(e,n))}let _u;const yu=e=>{if(!_u)return e;return(...t)=>{try{return e(...t)}catch(e){if(_u&&!0===_u(e))return()=>{};throw e}}},vu=[];function bu(e){try{if("composedPath"in e){const t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function Su(e,t){const n=new pu;vu.push(n),n.init(e);let r=window.MutationObserver||window.__rrMutationObserver;const o=window?.Zone?.__symbol__?.("MutationObserver");o&&window[o]&&(r=window[o]);const s=new r(yu((t=>{e.onMutation&&!1===e.onMutation(t)||n.processMutations.bind(n)(t)})));return s.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),s}function wu({mouseInteractionCb:e,doc:t,mirror:n,blockClass:r,blockSelector:o,unblockSelector:s,sampling:i}){if(!1===i.mouseInteraction)return()=>{};const a=!0===i.mouseInteraction||void 0===i.mouseInteraction?{}:i.mouseInteraction,c=[];let u=null;return Object.keys(su).filter((e=>Number.isNaN(Number(e))&&!e.endsWith("_Departed")&&!1!==a[e])).forEach((i=>{let a=Ja(i);const l=(t=>i=>{const a=bu(i);if(Hc(a,r,o,s,!0))return;let c=null,l=t;if("pointerType"in i){switch(i.pointerType){case"mouse":c=iu.Mouse;break;case"touch":c=iu.Touch;break;case"pen":c=iu.Pen}c===iu.Touch?su[t]===su.MouseDown?l="TouchStart":su[t]===su.MouseUp&&(l="TouchEnd"):iu.Pen}else Yc(i)&&(c=iu.Touch);null!==c?(u=c,(l.startsWith("Touch")&&c===iu.Touch||l.startsWith("Mouse")&&c===iu.Mouse)&&(c=null)):su[t]===su.Click&&(c=u,u=null);const d=Yc(i)?i.changedTouches[0]:i;if(!d)return;const p=n.getId(a),{clientX:h,clientY:f}=d;yu(e)({type:su[l],id:p,x:h,y:f,...null!==c&&{pointerType:c}})})(i);if(window.PointerEvent)switch(su[i]){case su.MouseDown:case su.MouseUp:a=a.replace("mouse","pointer");break;case su.TouchStart:case su.TouchEnd:return}c.push(Ac(a,l,t))})),yu((()=>{c.forEach((e=>e()))}))}function ku({scrollCb:e,doc:t,mirror:n,blockClass:r,blockSelector:o,unblockSelector:s,sampling:i}){return Ac("scroll",yu(Nc(yu((i=>{const a=bu(i);if(!a||Hc(a,r,o,s,!0))return;const c=n.getId(a);if(a===t&&t.defaultView){const n=Bc(t.defaultView);e({id:c,x:n.left,y:n.top})}else e({id:c,x:a.scrollLeft,y:a.scrollTop})})),i.scroll||100)),t)}const xu=["INPUT","TEXTAREA","SELECT"],Eu=new WeakMap;function Cu({inputCb:e,doc:t,mirror:n,blockClass:r,blockSelector:o,unblockSelector:s,ignoreClass:i,ignoreSelector:a,maskInputOptions:c,maskInputFn:u,sampling:l,userTriggeredOnInput:d,maskTextClass:p,unmaskTextClass:h,maskTextSelector:f,unmaskTextSelector:m}){function g(e){let n=bu(e);const l=e.isTrusted,g=n&&Ka(n.tagName);if("OPTION"===g&&(n=n.parentElement),!n||!g||xu.indexOf(g) <0||Hc(n,r,o,s,!0))return;const y=n;if(y.classList.contains(i)||a&&y.matches(a))return;const v=Qa(n);let b=ec(y,g,v),S=!1;const w=Ga({maskInputOptions:c,tagName:g,type:v}),k=Ic(n,p,f,h,m,w); "radio"!==v&& "checkbox"!==v||(S=n.checked),b=Xa({isMasked:k,element:n,value:b,maskInputFn:u}),_(n,d?{text:b,isChecked:S,userTriggered:l}:{text:b,isChecked:S});const x=n.name; "radio"===v&&x&&S&&t.querySelectorAll(`input[type="radio" ][name="${x}" ]`).forEach((e=>{if(e!==n){const t=Xa({isMasked:k,element:e,value:ec(e,g,v),maskInputFn:u});_(e,d?{text:t,isChecked:!S,userTriggered:!1}:{text:t,isChecked:!S})}}))}function _(t,r){const o=Eu.get(t);if(!o||o.text!==r.text||o.isChecked!==r.isChecked){Eu.set(t,r);const o=n.getId(t);yu(e)({...r,id:o})}}const y=("last"===l.input?["change"]:["input","change"]).map((e=>Ac(e,yu(g),t))),v=t.defaultView;if(!v)return()=>{y.forEach((e=>e()))};const b=v.Object.getOwnPropertyDescriptor(v.HTMLInputElement.prototype,"value"),S=[[v.HTMLInputElement.prototype,"value"],[v.HTMLInputElement.prototype,"checked"],[v.HTMLSelectElement.prototype,"value"],[v.HTMLTextAreaElement.prototype,"value"],[v.HTMLSelectElement.prototype,"selectedIndex"],[v.HTMLOptionElement.prototype,"selected"]];return b&&b.set&&y.push(...S.map((e=>Pc(e[0],e[1],{set(){yu(g)({target:this,isTrusted:!1})}},!1,v)))),yu((()=>{y.forEach((e=>e()))}))}function Tu(e){return function(e,t){if(Ou("CSSGroupingRule")&&e.parentRule instanceof CSSGroupingRule||Ou("CSSMediaRule")&&e.parentRule instanceof CSSMediaRule||Ou("CSSSupportsRule")&&e.parentRule instanceof CSSSupportsRule||Ou("CSSConditionRule")&&e.parentRule instanceof CSSConditionRule){const n=Array.from(e.parentRule.cssRules).indexOf(e);t.unshift(n)}else if(e.parentStyleSheet){const n=Array.from(e.parentStyleSheet.cssRules).indexOf(e);t.unshift(n)}return t}(e,[])}function Iu(e,t,n){let r,o;return e?(e.ownerNode?r=t.getId(e.ownerNode):o=n.getId(e),{styleId:o,id:r}):{}}function Mu({mirror:e,stylesheetManager:t},n){let r=null;r="#document"===n.nodeName?e.getId(n):e.getId(n.host);const o="#document"===n.nodeName?n.defaultView?.Document:n.ownerDocument?.defaultView?.ShadowRoot,s=o?.prototype?Object.getOwnPropertyDescriptor(o?.prototype,"adoptedStyleSheets"):void 0;return null!==r&&-1!==r&&o&&s?(Object.defineProperty(n,"adoptedStyleSheets",{configurable:s.configurable,enumerable:s.enumerable,get(){return s.get?.call(this)},set(e){const n=s.set?.call(this,e);if(null!==r&&-1!==r)try{t.adoptStyleSheets(e,r)}catch(e){}return n}}),yu((()=>{Object.defineProperty(n,"adoptedStyleSheets",{configurable:s.configurable,enumerable:s.enumerable,get:s.get,set:s.set})}))):()=>{}}function Ru(e,t={}){const n=e.doc.defaultView;if(!n)return()=>{};let r;e.recordDOM&&(r=Su(e,e.doc));const o=function({mousemoveCb:e,sampling:t,doc:n,mirror:r}){if(!1===t.mousemove)return()=>{};const o="number"==typeof t.mousemove?t.mousemove:50,s="number"==typeof t.mousemoveCallback?t.mousemoveCallback:500;let i,a=[];const c=Nc(yu((t=>{const n=Date.now()-i;e(a.map((e=>(e.timeOffset-=n,e))),t),a=[],i=null})),s),u=yu(Nc(yu((e=>{const t=bu(e),{clientX:n,clientY:o}=Yc(e)?e.changedTouches[0]:e;i||(i=Fc()),a.push({x:n,y:o,id:r.getId(t),timeOffset:Fc()-i}),c("undefined"!=typeof DragEvent&&e instanceof DragEvent?ou.Drag:e instanceof MouseEvent?ou.MouseMove:ou.TouchMove)})),o,{trailing:!1})),l=[Ac("mousemove",u,n),Ac("touchmove",u,n),Ac("drag",u,n)];return yu((()=>{l.forEach((e=>e()))}))}(e),s=wu(e),i=ku(e),a=function({viewportResizeCb:e},{win:t}){let n=-1,r=-1;return Ac("resize",yu(Nc(yu((()=>{const t=jc(),o=Uc();n===t&&r===o||(e({width:Number(o),height:Number(t)}),n=t,r=o)})),200)),t)}(e,{win:n}),c=Cu(e),u=function({mediaInteractionCb:e,blockClass:t,blockSelector:n,unblockSelector:r,mirror:o,sampling:s,doc:i}){const a=yu((i=>Nc(yu((s=>{const a=bu(s);if(!a||Hc(a,t,n,r,!0))return;const{currentTime:c,volume:u,muted:l,playbackRate:d}=a;e({type:i,id:o.getId(a),currentTime:c,volume:u,muted:l,playbackRate:d})})),s.media||500))),c=[Ac("play",a(au.Play),i),Ac("pause",a(au.Pause),i),Ac("seeked",a(au.Seeked),i),Ac("volumechange",a(au.VolumeChange),i),Ac("ratechange",a(au.RateChange),i)];return yu((()=>{c.forEach((e=>e()))}))}(e);let l=()=>{},d=()=>{},p=()=>{},h=()=>{};e.recordDOM&&(l=function({styleSheetRuleCb:e,mirror:t,stylesheetManager:n},{win:r}){if(!r.CSSStyleSheet||!r.CSSStyleSheet.prototype)return()=>{};const o=r.CSSStyleSheet.prototype.insertRule;r.CSSStyleSheet.prototype.insertRule=new Proxy(o,{apply:yu(((r,o,s)=>{const[i,a]=s,{id:c,styleId:u}=Iu(o,t,n.styleMirror);return(c&&-1!==c||u&&-1!==u)&&e({id:c,styleId:u,adds:[{rule:i,index:a}]}),r.apply(o,s)}))});const s=r.CSSStyleSheet.prototype.deleteRule;let i,a;r.CSSStyleSheet.prototype.deleteRule=new Proxy(s,{apply:yu(((r,o,s)=>{const[i]=s,{id:a,styleId:c}=Iu(o,t,n.styleMirror);return(a&&-1!==a||c&&-1!==c)&&e({id:a,styleId:c,removes:[{index:i}]}),r.apply(o,s)}))}),r.CSSStyleSheet.prototype.replace&&(i=r.CSSStyleSheet.prototype.replace,r.CSSStyleSheet.prototype.replace=new Proxy(i,{apply:yu(((r,o,s)=>{const[i]=s,{id:a,styleId:c}=Iu(o,t,n.styleMirror);return(a&&-1!==a||c&&-1!==c)&&e({id:a,styleId:c,replace:i}),r.apply(o,s)}))})),r.CSSStyleSheet.prototype.replaceSync&&(a=r.CSSStyleSheet.prototype.replaceSync,r.CSSStyleSheet.prototype.replaceSync=new Proxy(a,{apply:yu(((r,o,s)=>{const[i]=s,{id:a,styleId:c}=Iu(o,t,n.styleMirror);return(a&&-1!==a||c&&-1!==c)&&e({id:a,styleId:c,replaceSync:i}),r.apply(o,s)}))}));const c={};Au("CSSGroupingRule")?c.CSSGroupingRule=r.CSSGroupingRule:(Au("CSSMediaRule")&&(c.CSSMediaRule=r.CSSMediaRule),Au("CSSConditionRule")&&(c.CSSConditionRule=r.CSSConditionRule),Au("CSSSupportsRule")&&(c.CSSSupportsRule=r.CSSSupportsRule));const u={};return Object.entries(c).forEach((([r,o])=>{u[r]={insertRule:o.prototype.insertRule,deleteRule:o.prototype.deleteRule},o.prototype.insertRule=new Proxy(u[r].insertRule,{apply:yu(((r,o,s)=>{const[i,a]=s,{id:c,styleId:u}=Iu(o.parentStyleSheet,t,n.styleMirror);return(c&&-1!==c||u&&-1!==u)&&e({id:c,styleId:u,adds:[{rule:i,index:[...Tu(o),a||0]}]}),r.apply(o,s)}))}),o.prototype.deleteRule=new Proxy(u[r].deleteRule,{apply:yu(((r,o,s)=>{const[i]=s,{id:a,styleId:c}=Iu(o.parentStyleSheet,t,n.styleMirror);return(a&&-1!==a||c&&-1!==c)&&e({id:a,styleId:c,removes:[{index:[...Tu(o),i]}]}),r.apply(o,s)}))})})),yu((()=>{r.CSSStyleSheet.prototype.insertRule=o,r.CSSStyleSheet.prototype.deleteRule=s,i&&(r.CSSStyleSheet.prototype.replace=i),a&&(r.CSSStyleSheet.prototype.replaceSync=a),Object.entries(c).forEach((([e,t])=>{t.prototype.insertRule=u[e].insertRule,t.prototype.deleteRule=u[e].deleteRule}))}))}(e,{win:n}),d=Mu(e,e.doc),p=function({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:n,stylesheetManager:r},{win:o}){const s=o.CSSStyleDeclaration.prototype.setProperty;o.CSSStyleDeclaration.prototype.setProperty=new Proxy(s,{apply:yu(((o,i,a)=>{const[c,u,l]=a;if(n.has(c))return s.apply(i,[c,u,l]);const{id:d,styleId:p}=Iu(i.parentRule?.parentStyleSheet,t,r.styleMirror);return(d&&-1!==d||p&&-1!==p)&&e({id:d,styleId:p,set:{property:c,value:u,priority:l},index:Tu(i.parentRule)}),o.apply(i,a)}))});const i=o.CSSStyleDeclaration.prototype.removeProperty;return o.CSSStyleDeclaration.prototype.removeProperty=new Proxy(i,{apply:yu(((o,s,a)=>{const[c]=a;if(n.has(c))return i.apply(s,[c]);const{id:u,styleId:l}=Iu(s.parentRule?.parentStyleSheet,t,r.styleMirror);return(u&&-1!==u||l&&-1!==l)&&e({id:u,styleId:l,remove:{property:c},index:Tu(s.parentRule)}),o.apply(s,a)}))}),yu((()=>{o.CSSStyleDeclaration.prototype.setProperty=s,o.CSSStyleDeclaration.prototype.removeProperty=i}))}(e,{win:n}),e.collectFonts&&(h=function({fontCb:e,doc:t}){const n=t.defaultView;if(!n)return()=>{};const r=[],o=new WeakMap,s=n.FontFace;n.FontFace=function(e,t,n){const r=new s(e,t,n);return o.set(r,{family:e,buffer:"string"!=typeof t,descriptors:n,fontSource:"string"==typeof t?t:JSON.stringify(Array.from(new Uint8Array(t)))}),r};const i=$c(t.fonts,"add",(function(t){return function(n){return nu(yu((()=>{const t=o.get(n);t&&(e(t),o.delete(n))})),0),t.apply(this,[n])}}));return r.push((()=>{n.FontFace=s})),r.push(i),yu((()=>{r.forEach((e=>e()))}))}(e)));const f=function(e){const{doc:t,mirror:n,blockClass:r,blockSelector:o,unblockSelector:s,selectionCb:i}=e;let a=!0;const c=yu((()=>{const e=t.getSelection();if(!e||a&&e?.isCollapsed)return;a=e.isCollapsed||!1;const c=[],u=e.rangeCount||0;for(let t=0;t {}}(e),g=[];for(const t of e.plugins)g.push(t.observer(t.callback,n,t.options));return yu((()=>{vu.forEach((e=>e.reset())),r?.disconnect(),o(),s(),i(),a(),c(),u(),l(),d(),p(),h(),f(),m(),g.forEach((e=>e()))}))}function Ou(e){return void 0!==window[e]}function Au(e){return Boolean(void 0!==window[e]&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}class Lu{constructor(e){this.generateIdFn=e,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(e,t,n,r){const o=n||this.getIdToRemoteIdMap(e),s=r||this.getRemoteIdToIdMap(e);let i=o.get(t);return i||(i=this.generateIdFn(),o.set(t,i),s.set(i,t)),i}getIds(e,t){const n=this.getIdToRemoteIdMap(e),r=this.getRemoteIdToIdMap(e);return t.map((t=>this.getId(e,t,n,r)))}getRemoteId(e,t,n){const r=n||this.getRemoteIdToIdMap(e);if("number"!=typeof t)return t;const o=r.get(t);return o||-1}getRemoteIds(e,t){const n=this.getRemoteIdToIdMap(e);return t.map((t=>this.getRemoteId(e,t,n)))}reset(e){if(!e)return this.iframeIdToRemoteIdMap=new WeakMap,void(this.iframeRemoteIdToIdMap=new WeakMap);this.iframeIdToRemoteIdMap.delete(e),this.iframeRemoteIdToIdMap.delete(e)}getIdToRemoteIdMap(e){let t=this.iframeIdToRemoteIdMap.get(e);return t||(t=new Map,this.iframeIdToRemoteIdMap.set(e,t)),t}getRemoteIdToIdMap(e){let t=this.iframeRemoteIdToIdMap.get(e);return t||(t=new Map,this.iframeRemoteIdToIdMap.set(e,t)),t}}class Du{constructor(){this.crossOriginIframeMirror=new Lu(uc),this.crossOriginIframeRootIdMap=new WeakMap}addIframe(){}addLoadListener(){}attachIframe(){}}class Nu{constructor(e){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new Lu(uc),this.crossOriginIframeRootIdMap=new WeakMap,this.mutationCb=e.mutationCb,this.wrappedEmit=e.wrappedEmit,this.stylesheetManager=e.stylesheetManager,this.recordCrossOriginIframes=e.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Lu(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=e.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(e){this.iframes.set(e,!0),e.contentWindow&&this.crossOriginIframeMap.set(e.contentWindow,e)}addLoadListener(e){this.loadListener=e}attachIframe(e,t){this.mutationCb({adds:[{parentId:this.mirror.getId(e),nextId:null,node:t}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&e.contentWindow?.addEventListener("message",this.handleMessage.bind(this)),this.loadListener?.(e);const n=cu(e);n&&n.adoptedStyleSheets&&n.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(n.adoptedStyleSheets,this.mirror.getId(n))}handleMessage(e){const t=e;if("rrweb"!==t.data.type||t.origin!==t.data.origin)return;if(!e.source)return;const n=this.crossOriginIframeMap.get(e.source);if(!n)return;const r=this.transformCrossOriginEvent(n,t.data.event);r&&this.wrappedEmit(r,t.data.isCheckout)}transformCrossOriginEvent(e,t){switch(t.type){case ru.FullSnapshot:{this.crossOriginIframeMirror.reset(e),this.crossOriginIframeStyleMirror.reset(e),this.replaceIdOnNode(t.data.node,e);const n=t.data.node.id;return this.crossOriginIframeRootIdMap.set(e,n),this.patchRootIdOnNode(t.data.node,n),{timestamp:t.timestamp,type:ru.IncrementalSnapshot,data:{source:ou.Mutation,adds:[{parentId:this.mirror.getId(e),nextId:null,node:t.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case ru.Meta:case ru.Load:case ru.DomContentLoaded:return!1;case ru.Plugin:return t;case ru.Custom:return this.replaceIds(t.data.payload,e,["id","parentId","previousId","nextId"]),t;case ru.IncrementalSnapshot:switch(t.data.source){case ou.Mutation:return t.data.adds.forEach((t=>{this.replaceIds(t,e,["parentId","nextId","previousId"]),this.replaceIdOnNode(t.node,e);const n=this.crossOriginIframeRootIdMap.get(e);n&&this.patchRootIdOnNode(t.node,n)})),t.data.removes.forEach((t=>{this.replaceIds(t,e,["parentId","id"])})),t.data.attributes.forEach((t=>{this.replaceIds(t,e,["id"])})),t.data.texts.forEach((t=>{this.replaceIds(t,e,["id"])})),t;case ou.Drag:case ou.TouchMove:case ou.MouseMove:return t.data.positions.forEach((t=>{this.replaceIds(t,e,["id"])})),t;case ou.ViewportResize:return!1;case ou.MediaInteraction:case ou.MouseInteraction:case ou.Scroll:case ou.CanvasMutation:case ou.Input:return this.replaceIds(t.data,e,["id"]),t;case ou.StyleSheetRule:case ou.StyleDeclaration:return this.replaceIds(t.data,e,["id"]),this.replaceStyleIds(t.data,e,["styleId"]),t;case ou.Font:return t;case ou.Selection:return t.data.ranges.forEach((t=>{this.replaceIds(t,e,["start","end"])})),t;case ou.AdoptedStyleSheet:return this.replaceIds(t.data,e,["id"]),this.replaceStyleIds(t.data,e,["styleIds"]),t.data.styles?.forEach((t=>{this.replaceStyleIds(t,e,["styleId"])})),t}}return!1}replace(e,t,n,r){for(const o of r)(Array.isArray(t[o])||"number"==typeof t[o])&&(Array.isArray(t[o])?t[o]=e.getIds(n,t[o]):t[o]=e.getId(n,t[o]));return t}replaceIds(e,t,n){return this.replace(this.crossOriginIframeMirror,e,t,n)}replaceStyleIds(e,t,n){return this.replace(this.crossOriginIframeStyleMirror,e,t,n)}replaceIdOnNode(e,t){this.replaceIds(e,t,["id","rootId"]),"childNodes"in e&&e.childNodes.forEach((e=>{this.replaceIdOnNode(e,t)}))}patchRootIdOnNode(e,t){e.type===za.Document||e.rootId||(e.rootId=t),"childNodes"in e&&e.childNodes.forEach((e=>{this.patchRootIdOnNode(e,t)}))}}class Pu{init(){}addShadowRoot(){}observeAttachShadow(){}reset(){}}class $u{constructor(e){this.shadowDoms=new WeakSet,this.restoreHandlers=[],this.mutationCb=e.mutationCb,this.scrollCb=e.scrollCb,this.bypassOptions=e.bypassOptions,this.mirror=e.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(e,t){if(!qa(e))return;if(this.shadowDoms.has(e))return;this.shadowDoms.add(e),this.bypassOptions.canvasManager.addShadowRoot(e);const n=Su({...this.bypassOptions,doc:t,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},e);this.restoreHandlers.push((()=>n.disconnect())),this.restoreHandlers.push(ku({...this.bypassOptions,scrollCb:this.scrollCb,doc:e,mirror:this.mirror})),nu((()=>{e.adoptedStyleSheets&&e.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(e.adoptedStyleSheets,this.mirror.getId(e.host)),this.restoreHandlers.push(Mu({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},e))}),0)}observeAttachShadow(e){const t=cu(e),n=function(e){try{return e.contentWindow}catch(e){}}(e);t&&n&&this.patchAttachShadow(n.Element,t)}patchAttachShadow(e,t){const n=this;this.restoreHandlers.push($c(e.prototype,"attachShadow",(function(e){return function(r){const o=e.call(this,r);return this.shadowRoot&&Qc(this)&&n.addShadowRoot(this.shadowRoot,t),o}})))}reset(){this.restoreHandlers.forEach((e=>{try{e()}catch(e){}})),this.restoreHandlers=[],this.shadowDoms=new WeakSet,this.bypassOptions.canvasManager.resetShadowRoots()}}for(var Fu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Bu="undefined"==typeof Uint8Array?[]:new Uint8Array(256),ju=0;ju ({rule:Ya(e),index:t})))})),n.styleIds.push(e)}r.length>0&&(n.styles=r),this.adoptedStyleSheetCb(n)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(e){}}class Hu{constructor(){this.nodeMap=new WeakMap,this.active=!1}inOtherBuffer(e,t){const n=this.nodeMap.get(e);return n&&Array.from(n).some((e=>e!==t))}add(e,t){this.active||(this.active=!0,function(...e){tu("requestAnimationFrame")(...e)}((()=>{this.nodeMap=new WeakMap,this.active=!1}))),this.nodeMap.set(e,(this.nodeMap.get(e)||new Set).add(t))}destroy(){}}let qu,Wu;try{if(2!==Array.from([1],(e=>2*e))[0]){const e=document.createElement("iframe");document.body.appendChild(e),Array.from=e.contentWindow?.Array.from||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}const Yu=new Va;function Vu(e={}){const{emit:t,checkoutEveryNms:n,checkoutEveryNth:r,blockClass:o="rr-block",blockSelector:s=null,unblockSelector:i=null,ignoreClass:a="rr-ignore",ignoreSelector:c=null,maskAllText:u=!1,maskTextClass:l="rr-mask",unmaskTextClass:d=null,maskTextSelector:p=null,unmaskTextSelector:h=null,inlineStylesheet:f=!0,maskAllInputs:m,maskInputOptions:g,slimDOMOptions:_,maskAttributeFn:y,maskInputFn:v,maskTextFn:b,maxCanvasSize:S=null,packFn:w,sampling:k={},dataURLOptions:x={},mousemoveWait:E,recordDOM:C=!0,recordCanvas:T=!1,recordCrossOriginIframes:I=!1,recordAfter:M=("DOMContentLoaded"===e.recordAfter?e.recordAfter:"load"),userTriggeredOnInput:R=!1,collectFonts:O=!1,inlineImages:A=!1,plugins:L,keepIframeSrcFn:D=(()=>!1),ignoreCSSAttributes:N=new Set([]),errorHandler:P,onMutation:$,getCanvasManager:F}=e;_u=P;const B=!I||window.parent===window;let j=!1;if(!B)try{window.parent.document&&(j=!1)}catch(e){j=!0}if(B&&!t)throw new Error("emit function is required");if(!B&&!j)return()=>{};void 0!==E&&void 0===k.mousemove&&(k.mousemove=E),Yu.reset();const U=!0===m?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,radio:!0,checkbox:!0}:void 0!==g?g:{},z=!0===_||"all"===_?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:"all"===_,headMetaDescKeywords:"all"===_}:_||{};let H;!function(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=(...e)=>{let t=e[0];if(!(0 in e))throw new TypeError("1 argument is required");do{if(this===t)return!0}while(t=t&&t.parentNode);return!1})}();let q=0;const W=e=>{for(const t of L||[])t.eventProcessor&&(e=t.eventProcessor(e));return w&&!j&&(e=w(e)),e};qu=(e,o)=>{const s=e;if(s.timestamp=Fc(),!vu[0]?.isFrozen()||s.type===ru.FullSnapshot||s.type===ru.IncrementalSnapshot&&s.data.source===ou.Mutation||vu.forEach((e=>e.unfreeze())),B)t?.(W(s),o);else if(j){const e={type:"rrweb",event:W(s),origin:window.location.origin,isCheckout:o};window.parent.postMessage(e,"*")}if(s.type===ru.FullSnapshot)H=s,q=0;else if(s.type===ru.IncrementalSnapshot){if(s.data.source===ou.Mutation&&s.data.isAttachIframe)return;q++;const e=r&&q>=r,t=n&&H&&s.timestamp-H.timestamp>n;(e||t)&&ee(!0)}};const Y=e=>{qu({type:ru.IncrementalSnapshot,data:{source:ou.Mutation,...e}})},V=e=>qu({type:ru.IncrementalSnapshot,data:{source:ou.Scroll,...e}}),G=e=>qu({type:ru.IncrementalSnapshot,data:{source:ou.CanvasMutation,...e}}),X=new zu({mutationCb:Y,adoptedStyleSheetCb:e=>qu({type:ru.IncrementalSnapshot,data:{source:ou.AdoptedStyleSheet,...e}})}),J="boolean"==typeof __RRWEB_EXCLUDE_IFRAME__&&__RRWEB_EXCLUDE_IFRAME__?new Du:new Nu({mirror:Yu,mutationCb:Y,stylesheetManager:X,recordCrossOriginIframes:I,wrappedEmit:qu});for(const e of L||[])e.getMirror&&e.getMirror({nodeMirror:Yu,crossOriginIframeMirror:J.crossOriginIframeMirror,crossOriginIframeStyleMirror:J.crossOriginIframeStyleMirror});const K=new Hu,Z=function(e,t){try{return e?e(t):new Uu}catch{return console.warn("Unable to initialize CanvasManager"),new Uu}}(F,{mirror:Yu,win:window,mutationCb:e=>qu({type:ru.IncrementalSnapshot,data:{source:ou.CanvasMutation,...e}}),recordCanvas:T,blockClass:o,blockSelector:s,unblockSelector:i,maxCanvasSize:S,sampling:k.canvas,dataURLOptions:x,errorHandler:P}),Q="boolean"==typeof __RRWEB_EXCLUDE_SHADOW_DOM__&&__RRWEB_EXCLUDE_SHADOW_DOM__?new Pu:new $u({mutationCb:Y,scrollCb:V,bypassOptions:{onMutation:$,blockClass:o,blockSelector:s,unblockSelector:i,maskAllText:u,maskTextClass:l,unmaskTextClass:d,maskTextSelector:p,unmaskTextSelector:h,inlineStylesheet:f,maskInputOptions:U,dataURLOptions:x,maskAttributeFn:y,maskTextFn:b,maskInputFn:v,recordCanvas:T,inlineImages:A,sampling:k,slimDOMOptions:z,iframeManager:J,stylesheetManager:X,canvasManager:Z,keepIframeSrcFn:D,processedNodeManager:K},mirror:Yu}),ee=(e=!1)=>{if(!C)return;qu({type:ru.Meta,data:{href:window.location.href,width:Uc(),height:jc()}},e),X.reset(),Q.init(),vu.forEach((e=>e.lock()));const t=function(e,t){const{mirror:n=new Va,blockClass:r="rr-block",blockSelector:o=null,unblockSelector:s=null,maskAllText:i=!1,maskTextClass:a="rr-mask",unmaskTextClass:c=null,maskTextSelector:u=null,unmaskTextSelector:l=null,inlineStylesheet:d=!0,inlineImages:p=!1,recordCanvas:h=!1,maskAllInputs:f=!1,maskAttributeFn:m,maskTextFn:g,maskInputFn:_,slimDOM:y=!1,dataURLOptions:v,preserveWhiteSpace:b,onSerialize:S,onIframeLoad:w,iframeLoadTimeout:k,onStylesheetLoad:x,stylesheetLoadTimeout:E,keepIframeSrcFn:C=(()=>!1)}=t;return Oc(e,{doc:e,mirror:n,blockClass:r,blockSelector:o,unblockSelector:s,maskAllText:i,maskTextClass:a,unmaskTextClass:c,maskTextSelector:u,unmaskTextSelector:l,skipChild:!1,inlineStylesheet:d,maskInputOptions:!0===f?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0}:!1===f?{}:f,maskAttributeFn:m,maskTextFn:g,maskInputFn:_,slimDOMOptions:!0===y||"all"===y?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:"all"===y,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:!1===y?{}:y,dataURLOptions:v,inlineImages:p,recordCanvas:h,preserveWhiteSpace:b,onSerialize:S,onIframeLoad:w,iframeLoadTimeout:k,onStylesheetLoad:x,stylesheetLoadTimeout:E,keepIframeSrcFn:C,newlyAddedElement:!1})}(document,{mirror:Yu,blockClass:o,blockSelector:s,unblockSelector:i,maskAllText:u,maskTextClass:l,unmaskTextClass:d,maskTextSelector:p,unmaskTextSelector:h,inlineStylesheet:f,maskAllInputs:U,maskAttributeFn:y,maskInputFn:v,maskTextFn:b,slimDOM:z,dataURLOptions:x,recordCanvas:T,inlineImages:A,onSerialize:e=>{Vc(e,Yu)&&J.addIframe(e),Gc(e,Yu)&&X.trackLinkElement(e),Xc(e)&&Q.addShadowRoot(e.shadowRoot,document)},onIframeLoad:(e,t)=>{J.attachIframe(e,t),e.contentWindow&&Z.addWindow(e.contentWindow),Q.observeAttachShadow(e)},onStylesheetLoad:(e,t)=>{X.attachLinkElement(e,t)},keepIframeSrcFn:D});if(!t)return console.warn("Failed to snapshot the document");qu({type:ru.FullSnapshot,data:{node:t,initialOffset:Bc(window)}}),vu.forEach((e=>e.unlock())),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&X.adoptStyleSheets(document.adoptedStyleSheets,Yu.getId(document))};Wu=ee;try{const e=[],t=e=>yu(Ru)({onMutation:$,mutationCb:Y,mousemoveCb:(e,t)=>qu({type:ru.IncrementalSnapshot,data:{source:t,positions:e}}),mouseInteractionCb:e=>qu({type:ru.IncrementalSnapshot,data:{source:ou.MouseInteraction,...e}}),scrollCb:V,viewportResizeCb:e=>qu({type:ru.IncrementalSnapshot,data:{source:ou.ViewportResize,...e}}),inputCb:e=>qu({type:ru.IncrementalSnapshot,data:{source:ou.Input,...e}}),mediaInteractionCb:e=>qu({type:ru.IncrementalSnapshot,data:{source:ou.MediaInteraction,...e}}),styleSheetRuleCb:e=>qu({type:ru.IncrementalSnapshot,data:{source:ou.StyleSheetRule,...e}}),styleDeclarationCb:e=>qu({type:ru.IncrementalSnapshot,data:{source:ou.StyleDeclaration,...e}}),canvasMutationCb:G,fontCb:e=>qu({type:ru.IncrementalSnapshot,data:{source:ou.Font,...e}}),selectionCb:e=>{qu({type:ru.IncrementalSnapshot,data:{source:ou.Selection,...e}})},customElementCb:e=>{qu({type:ru.IncrementalSnapshot,data:{source:ou.CustomElement,...e}})},blockClass:o,ignoreClass:a,ignoreSelector:c,maskAllText:u,maskTextClass:l,unmaskTextClass:d,maskTextSelector:p,unmaskTextSelector:h,maskInputOptions:U,inlineStylesheet:f,sampling:k,recordDOM:C,recordCanvas:T,inlineImages:A,userTriggeredOnInput:R,collectFonts:O,doc:e,maskAttributeFn:y,maskInputFn:v,maskTextFn:b,keepIframeSrcFn:D,blockSelector:s,unblockSelector:i,slimDOMOptions:z,dataURLOptions:x,mirror:Yu,iframeManager:J,stylesheetManager:X,shadowDomManager:Q,processedNodeManager:K,canvasManager:Z,ignoreCSSAttributes:N,plugins:L?.filter((e=>e.observer))?.map((e=>({observer:e.observer,options:e.options,callback:t=>qu({type:ru.Plugin,data:{plugin:e.name,payload:t}})})))||[]},{});J.addLoadListener((n=>{try{e.push(t(n.contentDocument))}catch(e){console.warn(e)}}));const n=()=>{ee(),e.push(t(document))};return"interactive"===document.readyState||"complete"===document.readyState?n():(e.push(Ac("DOMContentLoaded",(()=>{qu({type:ru.DomContentLoaded,data:{}}),"DOMContentLoaded"===M&&n()}))),e.push(Ac("load",(()=>{qu({type:ru.Load,data:{}}),"load"===M&&n()}),window))),()=>{e.forEach((e=>e())),K.destroy(),Wu=void 0,_u=void 0}}catch(e){console.warn(e)}}var Gu,Xu;Vu.mirror=Yu,Vu.takeFullSnapshot=function(e){if(!Wu)throw new Error("please take full snapshot after start recording");Wu(e)},(Xu=Gu||(Gu={}))[Xu.NotStarted=0]="NotStarted",Xu[Xu.Running=1]="Running",Xu[Xu.Stopped=2]="Stopped";function Ju(e){return e>9999999999?e:1e3*e}function Ku(e){return e>9999999999?e/1e3:e}function Zu(e,t){"sentry.transaction"!==t.category&&(["ui.click","ui.input"].includes(t.category)?e.triggerUserActivity():e.checkAndHandleExpiredSession(),e.addUpdate((()=>(e.throttledAddEvent({type:ru.Custom,timestamp:1e3*(t.timestamp||0),data:{tag:"breadcrumb",payload:rt(t,10,1e3)}}),"console"===t.category))))}function Qu(e){return e.closest("button,a")||e}function el(e){const t=tl(e);return t&&t instanceof Element?Qu(t):t}function tl(e){return function(e){return"object"==typeof e&&!!e&&"target"in e}(e)?e.target:e}let nl;function rl(e){return nl||(nl=[],X(La,"open",(function(e){return function(...t){if(nl)try{nl.forEach((e=>e()))}catch(e){}return e.apply(La,t)}}))),nl.push(e),()=>{const t=nl?nl.indexOf(e):-1;t>-1&&nl.splice(t,1)}}const ol=new Set([ou.Mutation,ou.StyleSheetRule,ou.StyleDeclaration,ou.AdoptedStyleSheet,ou.CanvasMutation,ou.Selection,ou.MediaInteraction]);class sl{constructor(e,t,n=Zu){this._lastMutation=0,this._lastScroll=0,this._clicks=[],this._timeout=t.timeout/1e3,this._threshold=t.threshold/1e3,this._scrollTimeout=t.scrollTimeout/1e3,this._replay=e,this._ignoreSelector=t.ignoreSelector,this._addBreadcrumbEvent=n}addListeners(){const e=rl((()=>{this._lastMutation=al()}));this._teardown=()=>{e(),this._clicks=[],this._lastMutation=0,this._lastScroll=0}}removeListeners(){this._teardown&&this._teardown(),this._checkClickTimeout&&clearTimeout(this._checkClickTimeout)}handleClick(e,t){if(function(e,t){if(!il.includes(e.tagName))return!0;if("INPUT"===e.tagName&&!["submit","button"].includes(e.getAttribute("type")||""))return!0;if("A"===e.tagName&&(e.hasAttribute("download")||e.hasAttribute("target")&&"_self"!==e.getAttribute("target")))return!0;if(t&&e.matches(t))return!0;return!1}(t,this._ignoreSelector)||!function(e){return!(!e.data||"number"!=typeof e.data.nodeId||!e.timestamp)}(e))return;const n={timestamp:Ku(e.timestamp),clickBreadcrumb:e,clickCount:0,node:t};this._clicks.some((e=>e.node===n.node&&Math.abs(e.timestamp-n.timestamp) <1))||(this._clicks.push(n),1===this._clicks.length&&this._scheduleCheckClicks())}registerMutation(e=Date.now()){this._lastMutation=Ku(e)}registerScroll(e=Date.now()){this._lastScroll=Ku(e)}registerClick(e){const t=Qu(e);this._handleMultiClick(t)}_handleMultiClick(e){this._getClicks(e).forEach((e=>{e.clickCount++}))}_getClicks(e){return this._clicks.filter((t=>t.node===e))}_checkClicks(){const e=[],t=al();this._clicks.forEach((n=>{!n.mutationAfter&&this._lastMutation&&(n.mutationAfter=n.timestamp <=this._lastMutation?this._lastMutation-n.timestamp:void 0),!n.scrollAfter&&this._lastScroll&&(n.scrollAfter=n.timestamp<=this._lastScroll?this._lastScroll-n.timestamp:void 0),n.timestamp+this._timeout<=t&&e.push(n)}));for(const t of e){const e=this._clicks.indexOf(t);e>-1&&(this._generateBreadcrumbs(t),this._clicks.splice(e,1))}this._clicks.length&&this._scheduleCheckClicks()}_generateBreadcrumbs(e){const t=this._replay,n=e.scrollAfter&&e.scrollAfter <=this._scrollTimeout,r=e.mutationAfter&&e.mutationAfter<=this._threshold,o=!n&&!r,{clickCount:s,clickBreadcrumb:i}=e;if(o){const n=1e3*Math.min(e.mutationAfter||this._timeout,this._timeout),r=n<1e3*this._timeout? "mutation": "timeout",o={type: "default",message:i.message,timestamp:i.timestamp,category: "ui.slowClickDetected",data:{...i.data,url:La.location.href,route:t.getCurrentRoute(),timeAfterClickMs:n,endReason:r,clickCount:s||1}};this._addBreadcrumbEvent(t,o)}else if(s>1){const e={type:"default",message:i.message,timestamp:i.timestamp,category:"ui.multiClick",data:{...i.data,url:La.location.href,route:t.getCurrentRoute(),clickCount:s,metric:!0}};this._addBreadcrumbEvent(t,e)}}_scheduleCheckClicks(){this._checkClickTimeout&&clearTimeout(this._checkClickTimeout),this._checkClickTimeout=Xo((()=>this._checkClicks()),1e3)}}const il=["A","BUTTON","INPUT"];function al(){return Date.now()/1e3}function cl(e,t){try{if(!function(e){return 3===e.type}(t))return;const{source:n}=t.data;if(ol.has(n)&&e.registerMutation(t.timestamp),n===ou.Scroll&&e.registerScroll(t.timestamp),function(e){return e.data.source===ou.MouseInteraction}(t)){const{type:n,id:r}=t.data,o=Vu.mirror.getNode(r);o instanceof HTMLElement&&n===su.Click&&e.registerClick(o)}}catch{}}function ul(e){return{timestamp:Date.now()/1e3,type:"default",...e}}var ll=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(ll||{});const dl=new Set(["id","class","aria-label","role","name","alt","title","data-test-id","data-testid","disabled","aria-disabled","data-sentry-component"]);function pl(e){const t={};!e["data-sentry-component"]&&e["data-sentry-element"]&&(e["data-sentry-component"]=e["data-sentry-element"]);for(const n in e)if(dl.has(n)){let r=n;"data-testid"!==n&&"data-test-id"!==n||(r="testId"),t[r]=e[n]}return t}const hl=e=>t=>{if(!e.isEnabled())return;const n=function(e){const{target:t,message:n}=function(e){const t="click"===e.name;let n,r=null;try{r=t?el(e.event):tl(e.event),n=A(r,{maxStringLength:200})||" "}catch(e){n=" "}return{target:r,message:n}}(e);return ul({category:`ui.${e.name}`,...fl(t,n)})}(t);if(!n)return;const r="click"===t.name,o=r?t.event:void 0;var s,i,a;!(r&&e.clickDetector&&o&&o.target)||o.altKey||o.metaKey||o.ctrlKey||o.shiftKey||(s=e.clickDetector,i=n,a=el(t.event),s.handleClick(i,a)),Zu(e,n)};function fl(e,t){const n=Vu.mirror.getId(e),r=n&&Vu.mirror.getNode(n),o=r&&Vu.mirror.getMeta(r),s=o&&function(e){return e.type===ll.Element}(o)?o:null;return{message:t,data:s?{nodeId:n,node:{id:n,tagName:s.tagName,textContent:Array.from(s.childNodes).map((e=>e.type===ll.Text&&e.textContent)).filter(Boolean).map((e=>e.trim())).join(""),attributes:pl(s.attributes)}}:{}}}function ml(e,t){if(!e.isEnabled())return;e.updateUserActivity();const n=function(e){const{metaKey:t,shiftKey:n,ctrlKey:r,altKey:o,key:s,target:i}=e;if(!i||function(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName||e.isContentEditable}(i)||!s)return null;const a=t||r||o,c=1===s.length;if(!a&&c)return null;const u=A(i,{maxStringLength:200})||" ",l=fl(i,u);return ul({category:"ui.keyDown",message:u,data:{...l.data,metaKey:t,shiftKey:n,ctrlKey:r,altKey:o,key:s}})}(t);n&&Zu(e,n)}const gl={resource:function(e){const{entryType:t,initiatorType:n,name:r,responseEnd:o,startTime:s,decodedBodySize:i,encodedBodySize:a,responseStatus:c,transferSize:u}=e;if(["fetch","xmlhttprequest"].includes(n))return null;return{type:`${t}.${n}`,start:vl(s),end:vl(o),name:r,data:{size:u,statusCode:c,decodedBodySize:i,encodedBodySize:a}}},paint:function(e){const{duration:t,entryType:n,name:r,startTime:o}=e,s=vl(o);return{type:n,name:r,start:s,end:s+t,data:void 0}},navigation:function(e){const{entryType:t,name:n,decodedBodySize:r,duration:o,domComplete:s,encodedBodySize:i,domContentLoadedEventStart:a,domContentLoadedEventEnd:c,domInteractive:u,loadEventStart:l,loadEventEnd:d,redirectCount:p,startTime:h,transferSize:f,type:m}=e;if(0===o)return null;return{type:`${t}.${m}`,start:vl(h),end:vl(s),name:n,data:{size:f,decodedBodySize:r,encodedBodySize:i,duration:o,domInteractive:u,domContentLoadedEventStart:a,domContentLoadedEventEnd:c,loadEventStart:l,loadEventEnd:d,domComplete:s,redirectCount:p}}}};function _l(e,t){return({metric:n})=>{t.replayPerformanceEntries.push(e(n))}}function yl(e){const t=gl[e.entryType];return t?t(e):null}function vl(e){return((ae()||La.performance.timeOrigin)+e)/1e3}function bl(e){const t=e.entries[e.entries.length-1];return El(e,"largest-contentful-paint",t?.element?[t.element]:void 0)}function Sl(e){return void 0!==e.sources}function wl(e){const t=[],n=[];for(const r of e.entries)if(Sl(r)){const e=[];for(const t of r.sources)if(t.node){n.push(t.node);const r=Vu.mirror.getId(t.node);r&&e.push(r)}t.push({value:r.value,nodeIds:e.length?e:void 0})}return El(e,"cumulative-layout-shift",n,t)}function kl(e){const t=e.entries[e.entries.length-1];return El(e,"first-input-delay",t?.target?[t.target]:void 0)}function xl(e){const t=e.entries[e.entries.length-1];return El(e,"interaction-to-next-paint",t?.target?[t.target]:void 0)}function El(e,t,n,r){const o=e.value,s=e.rating,i=vl(o);return{type:"web-vital",name:t,start:i,end:i,data:{value:o,size:o,rating:s,nodeIds:n?n.map((e=>Vu.mirror.getId(e))):void 0,attributions:r}}}const Cl="undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__;const Tl=["info","warn","error","log"],Il="[Replay] ";function Ml(e,t="info"){$e({category:"console",data:{logger:"replay"},level:t,message:`[Replay] ${e}`},{level:t})}const Rl=function(){let e=!1,t=!1;const n={exception:()=>{},infoTick:()=>{},setConfig:n=>{e=!!n.captureExceptions,t=!!n.traceInternals}};return Cl?(Tl.forEach((e=>{n[e]=(...n)=>{H[e](Il,...n),t&&Ml(n.join(""),In(e))}})),n.exception=(r,...o)=>{o.length&&n.error&&n.error(...o),H.error(Il,r),e?Kt(r):t&&Ml(r,"error")},n.infoTick=(...e)=>{H.info(Il,...e),t&&setTimeout((()=>Ml(e[0])),0)}):Tl.forEach((e=>{n[e]=()=>{}})),n}();class Ol extends Error{constructor(){super("Event buffer exceeded maximum size of 20000000.")}}class Al{constructor(){this.events=[],this._totalSize=0,this.hasCheckout=!1,this.waitForCheckout=!1}get hasEvents(){return this.events.length>0}get type(){return"sync"}destroy(){this.events=[]}async addEvent(e){const t=JSON.stringify(e).length;if(this._totalSize+=t,this._totalSize>Fa)throw new Ol;this.events.push(e)}finish(){return new Promise((e=>{const t=this.events;this.clear(),e(JSON.stringify(t))}))}clear(){this.events=[],this._totalSize=0,this.hasCheckout=!1}getEarliestTimestamp(){const e=this.events.map((e=>e.timestamp)).sort()[0];return e?Ju(e):null}}class Ll{constructor(e){this._worker=e,this._id=0}ensureReady(){return this._ensureReadyPromise||(this._ensureReadyPromise=new Promise(((e,t)=>{this._worker.addEventListener("message",(({data:n})=>{n.success?e():t()}),{once:!0}),this._worker.addEventListener("error",(e=>{t(e)}),{once:!0})}))),this._ensureReadyPromise}destroy(){Cl&&Rl.info("Destroying compression worker"),this._worker.terminate()}postMessage(e,t){const n=this._getAndIncrementId();return new Promise(((r,o)=>{const s=({data:t})=>{const i=t;if(i.method===e&&i.id===n){if(this._worker.removeEventListener("message",s),!i.success)return Cl&&Rl.error("Error in compression worker: ",i.response),void o(new Error("Error in compression worker"));r(i.response)}};this._worker.addEventListener("message",s),this._worker.postMessage({id:n,method:e,arg:t})}))}_getAndIncrementId(){return this._id++}}class Dl{constructor(e){this._worker=new Ll(e),this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this.waitForCheckout=!1}get hasEvents(){return!!this._earliestTimestamp}get type(){return"worker"}ensureReady(){return this._worker.ensureReady()}destroy(){this._worker.destroy()}addEvent(e){const t=Ju(e.timestamp);(!this._earliestTimestamp||t Fa?Promise.reject(new Ol):this._sendEventToWorker(n)}finish(){return this._finishRequest()}clear(){this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this._worker.postMessage("clear").then(null,(e=>{Cl&&Rl.exception(e,'Sending "clear" message to worker failed',e)}))}getEarliestTimestamp(){return this._earliestTimestamp}_sendEventToWorker(e){return this._worker.postMessage("addEvent",e)}async _finishRequest(){const e=await this._worker.postMessage("finish");return this._earliestTimestamp=null,this._totalSize=0,e}}class Nl{constructor(e){this._fallback=new Al,this._compression=new Dl(e),this._used=this._fallback,this._ensureWorkerIsLoadedPromise=this._ensureWorkerIsLoaded()}get waitForCheckout(){return this._used.waitForCheckout}get type(){return this._used.type}get hasEvents(){return this._used.hasEvents}get hasCheckout(){return this._used.hasCheckout}set hasCheckout(e){this._used.hasCheckout=e}set waitForCheckout(e){this._used.waitForCheckout=e}destroy(){this._fallback.destroy(),this._compression.destroy()}clear(){return this._used.clear()}getEarliestTimestamp(){return this._used.getEarliestTimestamp()}addEvent(e){return this._used.addEvent(e)}async finish(){return await this.ensureWorkerIsLoaded(),this._used.finish()}ensureWorkerIsLoaded(){return this._ensureWorkerIsLoadedPromise}async _ensureWorkerIsLoaded(){try{await this._compression.ensureReady()}catch(e){return void(Cl&&Rl.exception(e,"Failed to load the compression worker, falling back to simple buffer"))}await this._switchToCompressionWorker()}async _switchToCompressionWorker(){const{events:e,hasCheckout:t,waitForCheckout:n}=this._fallback,r=[];for(const t of e)r.push(this._compression.addEvent(t));this._compression.hasCheckout=t,this._compression.waitForCheckout=n,this._used=this._compression;try{await Promise.all(r),this._fallback.clear()}catch(e){Cl&&Rl.exception(e,"Failed to add events when switching buffers.")}}}function Pl({useCompression:e,workerUrl:t}){if(e&&window.Worker){const e=function(e){try{const t=e||function(){if("undefined"==typeof __SENTRY_EXCLUDE_REPLAY_WORKER__||!__SENTRY_EXCLUDE_REPLAY_WORKER__)return function(){const e=new Blob(['var t=Uint8Array,n=Uint16Array,r=Int32Array,e=new t([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),i=new t([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),s=new t([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=function(t,e){for(var i=new n(31),s=0;s <31;++s)i[s]=e+=1<>1|(21845&c) <<1;v=(61680&(v=(52428&v)>>2|(13107&v) <<2))>>4|(3855&v) <<4,u[c]=((65280&v)>>8|(255&v) <<8)>>1}var d=function(t,r,e){for(var i=t.length,s=0,a=new n(r);s >f]=l}else for(o=new n(i),s=0;s >15-t[s]);return o},p=new t(288);for(c=0;c <144;++c)p[c]=8;for(c=144;c<256;++c)p[c]=9;for(c=256;c<280;++c)p[c]=7;for(c=280;c<288;++c)p[c]=8;var g=new t(32);for(c=0;c<32;++c)g[c]=5;var w=d(p,9,0),y=d(g,5,0),m=function(t){return(t+7)/8|0},b=function(n,r,e){return(null==e||e>n.length)&&(e=n.length),new t(n.subarray(r,e))},M=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=function(t,n,r){var e=new Error(n||M[t]);if(e.code=t,Error.captureStackTrace&&Error.captureStackTrace(e,E),!r)throw e;return e},z=function(t,n,r){r <<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8},_=function(t,n,r){r <<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8,t[e+2]|=r>>16},x=function(r,e){for(var i=[],s=0;s d&&(d=o[s].s);var p=new n(d+1),g=A(i[c-1],p,0);if(g>e){s=0;var w=0,y=g-e,m=1 <e))break;w+=m-(1 <>=y;w>0;){var M=o[s].s;p[M] =0&&w;--s){var E=o[s].s;p[E]==e&&(--p[E],++w)}g=e}return{t:new t(p),l:g}},A=function(t,n,r){return-1==t.s?Math.max(A(t.l,n,r+1),A(t.r,n,r+1)):n[t.s]=r},D=function(t){for(var r=t.length;r&&!t[--r];);for(var e=new n(++r),i=0,s=t[0],a=1,o=function(t){e[i++]=t},h=1;h <=r;++h)if(t[h]==s&&h!=r)++a;else{if(!s&&a>2){for(;a>138;a-=138)o(32754);a>2&&(o(a>10?a-11 <<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(o(s),--a;a>6;a-=6)o(8304);a>2&&(o(a-3 <<5|8208),a=0)}for(;a--;)o(s);a=1,s=t[h]}return{c:e.subarray(0,i),n:r}},T=function(t,n){for(var r=0,e=0;e>8,t[i+2]=255^t[i],t[i+3]=255^t[i+1];for(var s=0;s 4&&!H[s[K-1]];--K);var N,P,Q,R,V=v+5 <<3,W=T(h,p)+T(f,g)+l,X=T(h,M)+T(f,U)+l+14+3*K+T(q,H)+2*q[16]+3*q[17]+7*q[18];if(c>=0&&V <=W&&V<=X)return k(r,m,t.subarray(c,c+v));if(z(r,m,1+(X15&&(z(r,m,tt[B]>>5&127),m+=tt[B]>>12)}}}else N=w,P=p,Q=y,R=g;for(B=0;B 255){_(r,m,N[(nt=rt>>18&31)+257]),m+=P[nt+257],nt>7&&(z(r,m,rt>>23&31),m+=e[nt]);var et=31&rt;_(r,m,Q[et]),m+=R[et],et>3&&(_(r,m,rt>>5&8191),m+=i[et])}else _(r,m,N[rt]),m+=P[rt]}return _(r,m,N[256]),m+P[256]},C=new r([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),F=new t(0),I=function(){for(var t=new Int32Array(256),n=0;n <256;++n){for(var r=n,e=9;--e;)r=(1&r&&-306674912)^r>>>1;t[n]=r}return t}(),S=function(){var t=-1;return{p:function(n){for(var r=t,e=0;e >>8;t=r},d:function(){return~t}}},L=function(){var t=1,n=0;return{p:function(r){for(var e=t,i=n,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a >16),i=(65535&i)+15*(i>>16)}t=e,n=i},d:function(){return(255&(t%=65521)) <<24|(65280&t)<<8|(255&(n%=65521))<<8|n>>8}}},O=function(s,a,o,h,u){if(!u&&(u={l:1},a.dictionary)){var c=a.dictionary.subarray(-32768),v=new t(c.length+s.length);v.set(c),v.set(s,c.length),s=v,u.w=c.length}return function(s,a,o,h,u,c){var v=c.z||s.length,d=new t(h+v+5*(1+Math.ceil(v/7e3))+u),p=d.subarray(h,d.length-u),g=c.l,w=7&(c.r||0);if(a){w&&(p[0]=c.r>>3);for(var y=C[a-1],M=y>>13,E=8191&y,z=(1 <7e3||q>24576)&&(N>423||!g)){w=U(s,p,0,F,I,S,O,q,G,j-G,w),q=L=O=0,G=j;for(var P=0;P <286;++P)I[P]=0;for(P=0;P<30;++P)S[P]=0}var Q=2,R=0,V=E,W=J-K&32767;if(N>2&&H==T(j-W))for(var X=Math.min(M,N)-1,Y=Math.min(32767,j),Z=Math.min(258,N);W <=Y&&--V&&J!=K;){if(s[j+Q]==s[j+Q-W]){for(var $=0;$Q){if(Q=$,R=W,$>X)break;var tt=Math.min(W,$-2),nt=0;for(P=0;P nt&&(nt=et,K=rt)}}}W+=(J=K)-(K=_[J])&32767}if(R){F[q++]=268435456|f[Q] <<18|l[R];var it=31&f[Q],st=31&l[R];O+=e[it]+i[st],++I[257+it],++S[st],B=j+Q,++L}else F[q++]=s[j],++I[s[j]]}}for(j=Math.max(j,B);j=v&&(p[w/8|0]=g,at=v),w=k(p,w+1,s.subarray(j,at))}c.i=v}return b(d,0,h+m(w)+u)}(s,null==a.level?6:a.level,null==a.mem?u.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(s.length)))):20:12+a.mem,o,h,u)},j=function(t,n,r){for(;r;++n)t[n]=r,r>>>=8},q=function(t,n){var r=n.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=n.level <2?4:9==n.level?2:0,t[9]=3,0!=n.mtime&&j(t,4,Math.floor(new Date(n.mtime||Date.now())/1e3)),r){t[3]=8;for(var e=0;e<=r.length;++e)t[e+10]=r.charCodeAt(e)}},B=function(t){return 10+(t.filename?t.filename.length+1:0)},G=function(){function n(n,r){if( "function"==typeof n&&(r=n,n={}),this.ondata=r,this.o=n||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new t(98304),this.o.dictionary){var e=this.o.dictionary.subarray(-32768);this.b.set(e,32768-e.length),this.s.i=32768-e.length}}return n.prototype.p=function(t,n){this.ondata(O(t,this.o,0,0,this.s),n)},n.prototype.push=function(n,r){this.ondata||E(5),this.s.l&&E(4);var e=n.length+this.s.z;if(e>this.b.length){if(e>2*this.b.length-32768){var i=new t(-32768&e);i.set(this.b.subarray(0,this.s.z)),this.b=i}var s=this.b.length-this.s.z;this.b.set(n.subarray(0,s),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(n.subarray(s),32768),this.s.z=n.length-s+32768,this.s.i=32766,this.s.w=32768}else this.b.set(n,this.s.z),this.s.z+=n.length;this.s.l=1&r,(this.s.z>this.s.w+8191||r)&&(this.p(this.b,r||!1),this.s.w=this.s.i,this.s.i-=2)},n.prototype.flush=function(){this.ondata||E(5),this.s.l&&E(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},n}();var H=function(){function t(t,n){this.c=L(),this.v=1,G.call(this,t,n)}return t.prototype.push=function(t,n){this.c.p(t),G.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){var r=O(t,this.o,this.v&&(this.o.dictionary?6:2),n&&4,this.s);this.v&&(function(t,n){var r=n.level,e=0==r?0:r <6?1:9==r?3:2;if(t[0]=120,t[1]=e<<6|(n.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,n.dictionary){var i=L();i.p(n.dictionary),j(t,2,i.d())}}(r,this.o),this.v=0),n&&j(r,r.length-4,this.c.d()),this.ondata(r,n)},t.prototype.flush=function(){G.prototype.flush.call(this)},t}(),J="undefined" !=typeof TextEncoder&&new TextEncoder,K="undefined" !=typeof TextDecoder&&new TextDecoder;try{K.decode(F,{stream:!0})}catch(t){}var N=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,n){this.ondata||E(5),this.d&&E(4),this.ondata(P(t),this.d=n||!1)},t}();function P(n,r){if(J)return J.encode(n);for(var e=n.length,i=new t(n.length+(n.length>>1)),s=0,a=function(t){i[s++]=t},o=0;o i.length){var h=new t(s+8+(e-o <<1));h.set(i),i=h}var f=n.charCodeAt(o);f<128||r?a(f):f<2048?(a(192|f>>6),a(128|63&f)):f>55295&&f <57344?(a(240|(f=65536+(1047552&f)|1023&n.charCodeAt(++o))>>18),a(128|f>>12&63),a(128|f>>6&63),a(128|63&f)):(a(224|f>>12),a(128|f>>6&63),a(128|63&f))}return b(i,0,s)}function Q(t){return function(t,n){n||(n={});var r=S(),e=t.length;r.p(t);var i=O(t,n,B(n),8),s=i.length;return q(i,n),j(i,s-8,r.d()),j(i,s-4,e),i}(P(t))}const R=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error("Adding invalid event");const n=this._hasEvents?",":"";this.stream.push(n+t),this._hasEvents=!0}finish(){this.stream.push("]",!0);const t=function(t){let n=0;for(const r of t)n+=r.length;const r=new Uint8Array(n);for(let n=0,e=0,i=t.length;n {this._deflatedData.push(t)},this.stream=new N(((t,n)=>{this.deflate.push(t,n)})),this.stream.push("[")}},V={clear:()=>{R.clear()},addEvent:t=>R.addEvent(t),finish:()=>R.finish(),compress:t=>Q(t)};addEventListener("message",(function(t){const n=t.data.method,r=t.data.id,e=t.data.arg;if(n in V&&"function"==typeof V[n])try{const t=V[n](e);postMessage({id:r,method:n,success:!0,response:t})}catch(t){postMessage({id:r,method:n,success:!1,response:t.message}),console.error(t)}})),postMessage({id:void 0,method:"init",success:!0,response:void 0});']);return URL.createObjectURL(e)}();return""}();if(!t)return;Cl&&Rl.info("Using compression worker"+(e?` from ${e}`:""));const n=new Worker(t);return new Nl(n)}catch(e){Cl&&Rl.exception(e,"Failed to create compression worker")}}(t);if(e)return e}return Cl&&Rl.info("Using simple buffer"),new Al}function $l(){try{return"sessionStorage"in La&&!!La.sessionStorage}catch{return!1}}function Fl(e){!function(){if(!$l())return;try{La.sessionStorage.removeItem(Da)}catch{}}(),e.session=void 0}function Bl(e){return void 0!==e&&Math.random() e.getContext().initialTimestamp+e.getOptions().maxReplayDuration)||(Cl&&Rl.infoTick(`Skipping event with timestamp ${n} because it is after maxReplayDuration`),!1))}function Jl(e){return!e.type}function Kl(e){return"transaction"===e.type}function Zl(e){return"feedback"===e.type}function Ql(e){return(t,n)=>{if(!e.isEnabled()||!Jl(t)&&!Kl(t))return;const r=n?.statusCode;!r||r <200||r>=300||(Kl(t)?function(e,t){const n=e.getContext();t.contexts?.trace?.trace_id&&n.traceIds.size <100&&n.traceIds.add(t.contexts.trace.trace_id)}(e,t):function(e,t){const n=e.getContext();t.event_id&&n.errorIds.size<100&&n.errorIds.add(t.event_id);if( "buffer"!==e.recordingMode||!t.tags||!t.tags.replayId)return;const{beforeErrorSampling:r}=e.getOptions();if( "function"==typeof r&&!r(t))return;Xo((async()=>{try{await e.sendBufferedReplayOrFlush()}catch(t){e.handleException(t)}}))}(e,t))}}function ed(e){return t=>{e.isEnabled()&&Jl(t)&&function(e,t){const n=t.exception?.values?.[0]?.value;if("string"!=typeof n)return;if(n.match(/(reactjs\.org\/docs\/error-decoder\.html\?invariant=|react\.dev\/errors\/)(418|419|422|423|425)/)||n.match(/(does not match server-rendered HTML|Hydration failed because)/i)){Zu(e,ul({category:"replay.hydrate-error",data:{url:D()}}))}}(e,t)}}function td(e){const t=De();t&&t.on("beforeAddBreadcrumb",(t=>function(e,t){if(!e.isEnabled()||!nd(t))return;const n=function(e){if(!nd(e)||["fetch","xhr","sentry.event","sentry.transaction"].includes(e.category)||e.category.startsWith("ui."))return null;if("console"===e.category)return function(e){const t=e.data?.arguments;if(!Array.isArray(t)||0===t.length)return ul(e);let n=!1;const r=t.map((e=>{if(!e)return e;if("string"==typeof e)return e.length>$a?(n=!0,`${e.slice(0,$a)}…`):e;if("object"==typeof e)try{const t=rt(e,7);return JSON.stringify(t).length>$a?(n=!0,`${JSON.stringify(t,null,2).slice(0,$a)}…`):t}catch{}return e}));return ul({...e,data:{...e.data,arguments:r,...n?{_meta:{warnings:["CONSOLE_ARG_TRUNCATED"]}}:{}}})}(e);return ul(e)}(t);n&&Zu(e,n)}(e,t)))}function nd(e){return!!e.category}function rd(){const e=Me().getPropagationContext().dsc;e&&delete e.replay_id;const t=Pt();if(t){delete Ht(t).replay_id}}function od(e){return Object.assign(((t,n)=>{if(!e.isEnabled()||e.isPaused())return t;if(function(e){return"replay_event"===e.type}(t))return delete t.breadcrumbs,t;if(!Jl(t)&&!Kl(t)&&!Zl(t))return t;if(!e.checkAndHandleExpiredSession())return rd(),t;if(Zl(t))return e.flush(),t.contexts.feedback.replay_id=e.getSessionId(),function(e,t){e.triggerUserActivity(),e.addUpdate((()=>!t.timestamp||(e.throttledAddEvent({type:ru.Custom,timestamp:1e3*t.timestamp,data:{tag:"breadcrumb",payload:{timestamp:t.timestamp,type:"default",category:"sentry.feedback",data:{feedbackId:t.event_id}}}}),!1)))}(e,t),t;if(function(e,t){return!(e.type||!e.exception||!e.exception.values||!e.exception.values.length||!t.originalException?.__rrweb__)}(t,n)&&!e.getOptions()._experiments.captureExceptions)return Cl&&Rl.log("Ignoring error from rrweb internals",t),null;const r=function(e,t){return"buffer"===e.recordingMode&&t.message!==Na&&!(!t.exception||t.type)&&Bl(e.getOptions().errorSampleRate)}(e,t);return(r||"session"===e.recordingMode)&&(t.tags={...t.tags,replayId:e.getSessionId()}),t}),{id:"Replay"})}function sd(e,t){return t.map((({type:t,start:n,end:r,name:o,data:s})=>{const i=e.throttledAddEvent({type:ru.Custom,timestamp:n,data:{tag:"performanceSpan",payload:{op:t,description:o,startTimestamp:n,endTimestamp:r,data:s}}});return"string"==typeof i?Promise.resolve(null):i}))}function id(e){return t=>{if(!e.isEnabled())return;const n=function(e){const{from:t,to:n}=e,r=Date.now()/1e3;return{type:"navigation.push",start:r,end:r,name:n,data:{previous:t}}}(t);null!==n&&(e.getContext().urls.push(n.name),e.triggerUserActivity(),e.addUpdate((()=>(sd(e,[n]),!1))))}}function ad(e,t){e.isEnabled()&&null!==t&&(function(e,t){return(!Cl||!e.getOptions()._experiments.traceInternals)&&di(t,De())}(e,t.name)||e.addUpdate((()=>(sd(e,[t]),!0))))}function cd(e){if(!e)return;const t=new TextEncoder;try{if("string"==typeof e)return t.encode(e).length;if(e instanceof URLSearchParams)return t.encode(e.toString()).length;if(e instanceof FormData){const n=wi(e);return t.encode(n).length}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength}catch{}}function ud(e){if(!e)return;const t=parseInt(e,10);return isNaN(t)?void 0:t}function ld(e,t){if(!e)return{headers:{},size:void 0,_meta:{warnings:[t]}};const n={...e._meta},r=n.warnings||[];return n.warnings=[...r,t],e._meta=n,e}function dd(e,t){if(!t)return null;const{startTimestamp:n,endTimestamp:r,url:o,method:s,statusCode:i,request:a,response:c}=t;return{type:e,start:n/1e3,end:r/1e3,name:o,data:ne({method:s,statusCode:i,request:a,response:c})}}function pd(e){return{headers:{},size:e,_meta:{warnings:["URL_SKIPPED"]}}}function hd(e,t,n){if(!t&&0===Object.keys(e).length)return;if(!t)return{headers:e};if(!n)return{headers:e,size:t};const r={headers:e,size:t},{body:o,warnings:s}=function(e){if(!e||"string"!=typeof e)return{body:e};const t=e.length>Pa,n=function(e){const t=e[0],n=e[e.length-1];return"["===t&&"]"===n||"{"===t&&"}"===n}(e);if(t){const t=e.slice(0,Pa);return n?{body:t,warnings:["MAYBE_JSON_TRUNCATED"]}:{body:`${t}…`,warnings:["TEXT_TRUNCATED"]}}if(n)try{return{body:JSON.parse(e)}}catch{}return{body:e}}(n);return r.body=o,s?.length&&(r._meta={warnings:s}),r}function fd(e,t){return Object.entries(e).reduce(((n,[r,o])=>{const s=r.toLowerCase();return t.includes(s)&&e[r]&&(n[s]=o),n}),{})}function md(e,t){const n=function(e,t=La.document.baseURI){if(e.startsWith("http://")||e.startsWith("https://")||e.startsWith(La.location.origin))return e;const n=new URL(e,t);if(n.origin!==new URL(t).origin)return e;const r=n.href;if(!e.endsWith("/")&&r.endsWith("/"))return r.slice(0,-1);return r}(e);return G(n,t)}async function gd(e,t,n){try{const r=await async function(e,t,n){const r=Date.now(),{startTimestamp:o=r,endTimestamp:s=r}=t,{url:i,method:a,status_code:c=0,request_body_size:u,response_body_size:l}=e.data,d=md(i,n.networkDetailAllowUrls)&&!md(i,n.networkDetailDenyUrls),p=d?function({networkCaptureBodies:e,networkRequestHeaders:t},n,r){const o=n?function(e,t){if(1===e.length&&"string"!=typeof e[0])return yd(e[0],t);if(2===e.length)return yd(e[1],t);return{}}(n,t):{};if(!e)return hd(o,r,void 0);const s=xi(n),[i,a]=ki(s,Rl),c=hd(o,r,i);if(a)return ld(c,a);return c}(n,t.input,u):pd(u),h=await async function(e,{networkCaptureBodies:t,networkResponseHeaders:n},r,o){if(!e&&void 0!==o)return pd(o);const s=r?_d(r.headers,n):{};if(!r||!t&&void 0!==o)return hd(s,o,void 0);const[i,a]=await async function(e){const t=function(e){try{return e.clone()}catch(e){Cl&&Rl.exception(e,"Failed to clone response body")}}(e);if(!t)return[void 0,"BODY_PARSE_ERROR"];try{const e=await function(e){return new Promise(((t,n)=>{const r=Xo((()=>n(new Error("Timeout while trying to read response body"))),500);(async function(e){return await e.text()})(e).then((e=>t(e)),(e=>n(e))).finally((()=>clearTimeout(r)))}))}(t);return[e]}catch(e){return e instanceof Error&&e.message.indexOf("Timeout")>-1?(Cl&&Rl.warn("Parsing text body from response timed out"),[void 0,"BODY_PARSE_TIMEOUT"]):(Cl&&Rl.exception(e,"Failed to get text body from response"),[void 0,"BODY_PARSE_ERROR"])}}(r),c=function(e,{networkCaptureBodies:t,responseBodySize:n,captureDetails:r,headers:o}){try{const s=e?.length&&void 0===n?cd(e):n;return r?hd(o,s,t?e:void 0):pd(s)}catch(e){return Cl&&Rl.exception(e,"Failed to serialize response body"),hd(o,n,void 0)}}(i,{networkCaptureBodies:t,responseBodySize:o,captureDetails:e,headers:s});if(a)return ld(c,a);return c}(d,n,t.response,l);return{startTimestamp:o,endTimestamp:s,url:i,method:a,statusCode:c,request:p,response:h}}(e,t,n),o=dd("resource.fetch",r);ad(n.replay,o)}catch(e){Cl&&Rl.exception(e,"Failed to capture fetch breadcrumb")}}function _d(e,t){const n={};return t.forEach((t=>{e.get(t)&&(n[t]=e.get(t))})),n}function yd(e,t){if(!e)return{};const n=e.headers;return n?n instanceof Headers?_d(n,t):Array.isArray(n)?{}:fd(n,t):{}}async function vd(e,t,n){try{const r=function(e,t,n){const r=Date.now(),{startTimestamp:o=r,endTimestamp:s=r,input:i,xhr:a}=t,{url:c,method:u,status_code:l=0,request_body_size:d,response_body_size:p}=e.data;if(!c)return null;if(!a||!md(c,n.networkDetailAllowUrls)||md(c,n.networkDetailDenyUrls)){return{startTimestamp:o,endTimestamp:s,url:c,method:u,statusCode:l,request:pd(d),response:pd(p)}}const h=a.__sentry_xhr_v3__,f=h?fd(h.request_headers,n.networkRequestHeaders):{},m=fd(function(e){const t=e.getAllResponseHeaders();if(!t)return{};return t.split("\r\n").reduce(((e,t)=>{const[n,r]=t.split(": ");return r&&(e[n.toLowerCase()]=r),e}),{})}(a),n.networkResponseHeaders),[g,_]=n.networkCaptureBodies?ki(i,Rl):[void 0],[y,v]=n.networkCaptureBodies?function(e){const t=[];try{return[e.responseText]}catch(e){t.push(e)}try{return function(e,t){try{if("string"==typeof e)return[e];if(e instanceof Document)return[e.body.outerHTML];if("json"===t&&e&&"object"==typeof e)return[JSON.stringify(e)];if(!e)return[void 0]}catch(t){return Cl&&Rl.exception(t,"Failed to serialize body",e),[void 0,"BODY_PARSE_ERROR"]}return Cl&&Rl.info("Skipping network body because of body type",e),[void 0,"UNPARSEABLE_BODY_TYPE"]}(e.response,e.responseType)}catch(e){t.push(e)}return Cl&&Rl.warn("Failed to get xhr response body",...t),[void 0]}(a):[void 0],b=hd(f,d,g),S=hd(m,p,y);return{startTimestamp:o,endTimestamp:s,url:c,method:u,statusCode:l,request:_?ld(b,_):b,response:v?ld(S,v):S}}(e,t,n),o=dd("resource.xhr",r);ad(n.replay,o)}catch(e){Cl&&Rl.exception(e,"Failed to capture xhr breadcrumb")}}function bd(e,t){const{xhr:n,input:r}=t;if(!n)return;const o=cd(r),s=n.getResponseHeader("content-length")?ud(n.getResponseHeader("content-length")):function(e,t){try{return cd("json"===t&&e&&"object"==typeof e?JSON.stringify(e):e)}catch{return}}(n.response,n.responseType);void 0!==o&&(e.data.request_body_size=o),void 0!==s&&(e.data.response_body_size=s)}function Sd(e){const t=De();try{const{networkDetailAllowUrls:n,networkDetailDenyUrls:r,networkCaptureBodies:o,networkRequestHeaders:s,networkResponseHeaders:i}=e.getOptions(),a={replay:e,networkDetailAllowUrls:n,networkDetailDenyUrls:r,networkCaptureBodies:o,networkRequestHeaders:s,networkResponseHeaders:i};t&&t.on("beforeAddBreadcrumb",((e,t)=>function(e,t,n){if(!t.data)return;try{(function(e){return"xhr"===e.category})(t)&&function(e){return e?.xhr}(n)&&(bd(t,n),vd(t,n,e)),function(e){return"fetch"===e.category}(t)&&function(e){return e?.response}(n)&&(!function(e,t){const{input:n,response:r}=t,o=cd(n?xi(n):void 0),s=r?ud(r.headers.get("content-length")):void 0;void 0!==o&&(e.data.request_body_size=o),void 0!==s&&(e.data.response_body_size=s)}(t,n),gd(t,n,e))}catch(e){Cl&&Rl.exception(e,"Error when enriching network breadcrumb")}}(a,e,t)))}catch{}}function wd(e){const{jsHeapSizeLimit:t,totalJSHeapSize:n,usedJSHeapSize:r}=e,o=Date.now()/1e3;return{type:"memory",name:"memory",start:o,end:o,data:{memory:{jsHeapSizeLimit:t,totalJSHeapSize:n,usedJSHeapSize:r}}}}const kd=R.navigator;function xd(e){let t=!1;return(n,r)=>{if(!e.checkAndHandleExpiredSession())return void(Cl&&Rl.warn("Received replay event after session expired."));const o=r||!t;t=!0,e.clickDetector&&cl(e.clickDetector,n),e.addUpdate((()=>{if("buffer"===e.recordingMode&&o&&e.setInitialState(),!Vl(e,n,o))return!0;if(!o)return!1;const t=e.session;if(function(e,t){if(!t||!e.session||0!==e.session.segmentId)return;Vl(e,function(e){const t=e.getOptions();return{type:ru.Custom,timestamp:Date.now(),data:{tag:"options",payload:{shouldRecordCanvas:e.isRecordingCanvas(),sessionSampleRate:t.sessionSampleRate,errorSampleRate:t.errorSampleRate,useCompressionOption:t.useCompression,blockAllMedia:t.blockAllMedia,maskAllText:t.maskAllText,maskAllInputs:t.maskAllInputs,useCompression:!!e.eventBuffer&&"worker"===e.eventBuffer.type,networkDetailHasUrls:t.networkDetailAllowUrls.length>0,networkCaptureBodies:t.networkCaptureBodies,networkRequestHasHeaders:t.networkRequestHeaders.length>0,networkResponseHasHeaders:t.networkResponseHeaders.length>0}}}}(e),!1)}(e,o),"buffer"===e.recordingMode&&t&&e.eventBuffer){const n=e.eventBuffer.getEarliestTimestamp();n&&(Cl&&Rl.info(`Updating session start time to earliest event in buffer to ${new Date(n)}`),t.started=n,e.getOptions().stickySession&&Ul(t))}return t?.previousSessionId||"session"===e.recordingMode&&e.flush(),!0}))}}async function Ed({recordingData:e,replayId:t,segmentId:n,eventContext:r,timestamp:o,session:s}){const i=function({recordingData:e,headers:t}){let n;const r=`${JSON.stringify(t)}\n`;if("string"==typeof e)n=`${r}${e}`;else{const t=(new TextEncoder).encode(r);n=new Uint8Array(t.length+e.length),n.set(t),n.set(e,t.length)}return n}({recordingData:e,headers:{segment_id:n}}),{urls:a,errorIds:c,traceIds:u,initialTimestamp:l}=r,d=De(),p=Me(),h=d?.getTransport(),f=d?.getDsn();if(!(d&&h&&f&&s.sampled))return Ue({});const m={type:"replay_event",replay_start_timestamp:l/1e3,timestamp:o/1e3,error_ids:c,trace_ids:u,urls:a,replay_id:t,segment_id:n,replay_type:s.sampled},g=await async function({client:e,scope:t,replayId:n,event:r}){const o={event_id:n,integrations:"object"!=typeof e._integrations||null===e._integrations||Array.isArray(e._integrations)?void 0:Object.keys(e._integrations)};e.emit("preprocessEvent",r,o);const s=await Gt(e.getOptions(),r,o,t,e,Re());if(!s)return null;e.emit("postprocessEvent",s,o),s.platform=s.platform||"javascript";const i=e.getSdkMetadata(),{name:a,version:c}=i?.sdk||{};return s.sdk={...s.sdk,name:a||"sentry.javascript.unknown",version:c||"0.0.0"},s}({scope:p,client:d,replayId:t,event:m});if(!g)return d.recordDroppedEvent("event_processor","replay"),Cl&&Rl.info("An event processor returned `null`, will not send event."),Ue({});delete g.sdkProcessingMetadata;const _=function(e,t,n,r){return Fn(Jn(e,Xn(e),r,n),[[{type:"replay_event"},e],[{type:"replay_recording",length:"string"==typeof t?(new TextEncoder).encode(t).length:t.length},t]])}(g,i,f,d.getOptions().tunnel);let y;try{y=await h.send(_)}catch(e){const t=new Error(Na);try{t.cause=e}catch{}throw t}if("number"==typeof y.statusCode&&(y.statusCode <200||y.statusCode>=300))throw new Cd(y.statusCode);const v=br({},y);if(vr(v,"replay"))throw new Td(v);return y}class Cd extends Error{constructor(e){super(`Transport returned status code ${e}`)}}class Td extends Error{constructor(e){super("Rate limit hit"),this.rateLimits=e}}async function Id(e,t={count:0,interval:5e3}){const{recordingData:n,onError:r}=e;if(n.length)try{return await Ed(e),!0}catch(n){if(n instanceof Cd||n instanceof Td)throw n;if(en("Replays",{_retryCount:t.count}),r&&r(n),t.count>=3){const e=new Error("Unable to send Replay - max retries exceeded");try{e.cause=n}catch{}throw e}return t.interval*=++t.count,new Promise(((n,r)=>{Xo((async()=>{try{await Id(e,t),n(!0)}catch(e){r(e)}}),t.interval)}))}}const Md="__THROTTLED";function Rd(e,t,n){const r=new Map;let o=!1;return(...s)=>{const i=Math.floor(Date.now()/1e3);if((e=>{const t=e-n;r.forEach(((e,n)=>{n e+t),0)>=t){const e=o;return o=!0,e?"__SKIPPED":Md}o=!1;const a=r.get(i)||0;return r.set(i,a+1),e(...s)}}class Od{constructor({options:e,recordingOptions:t}){this.eventBuffer=null,this.performanceEntries=[],this.replayPerformanceEntries=[],this.recordingMode="session",this.timeouts={sessionIdlePause:3e5,sessionIdleExpire:9e5},this._lastActivity=Date.now(),this._isEnabled=!1,this._isPaused=!1,this._requiresManualStart=!1,this._hasInitializedCoreListeners=!1,this._context={errorIds:new Set,traceIds:new Set,urls:[],initialTimestamp:Date.now(),initialUrl:""},this._recordingOptions=t,this._options=e,this._debouncedFlush=function(e,t,n){let r,o,s;const i=n?.maxWait?Math.max(n.maxWait,t):0;function a(){return c(),r=e(),r}function c(){void 0!==o&&clearTimeout(o),void 0!==s&&clearTimeout(s),o=s=void 0}function u(){return o&&clearTimeout(o),o=Xo(a,t),i&&void 0===s&&(s=Xo(a,i)),r}return u.cancel=c,u.flush=function(){return void 0!==o||void 0!==s?a():r},u}((()=>this._flush()),this._options.flushMinDelay,{maxWait:this._options.flushMaxDelay}),this._throttledAddEvent=Rd(((e,t)=>function(e,t,n){return Xl(e,t)?Gl(e,t,n):Promise.resolve(null)}(this,e,t)),300,5);const{slowClickTimeout:n,slowClickIgnoreSelectors:r}=this.getOptions(),o=n?{threshold:Math.min(3e3,n),timeout:n,scrollTimeout:300,ignoreSelector:r?r.join(","):""}:void 0;if(o&&(this.clickDetector=new sl(this,o)),Cl){const t=e._experiments;Rl.setConfig({captureExceptions:!!t.captureExceptions,traceInternals:!!t.traceInternals})}this._handleVisibilityChange=()=>{"visible"===La.document.visibilityState?this._doChangeToForegroundTasks():this._doChangeToBackgroundTasks()},this._handleWindowBlur=()=>{const e=ul({category:"ui.blur"});this._doChangeToBackgroundTasks(e)},this._handleWindowFocus=()=>{const e=ul({category:"ui.focus"});this._doChangeToForegroundTasks(e)},this._handleKeyboardEvent=e=>{ml(this,e)}}getContext(){return this._context}isEnabled(){return this._isEnabled}isPaused(){return this._isPaused}isRecordingCanvas(){return Boolean(this._canvas)}getOptions(){return this._options}handleException(e){Cl&&Rl.exception(e),this._options.onError&&this._options.onError(e)}initializeSampling(e){const{errorSampleRate:t,sessionSampleRate:n}=this._options,r=t <=0&&n<=0;this._requiresManualStart=r,r||(this._initializeSessionForSampling(e),this.session?!1!==this.session.sampled&&(this.recordingMode="buffer"===this.session.sampled&&0===this.session.segmentId? "buffer": "session",Cl&&Rl.infoTick(`Starting replay in ${this.recordingMode} mode`),this._initializeRecording()):Cl&&Rl.exception(new Error( "Unable to initialize and create session")))}start(){if(this._isEnabled&& "session"===this.recordingMode)return void(Cl&&Rl.info( "Recording is already in progress"));if(this._isEnabled&& "buffer"===this.recordingMode)return void(Cl&&Rl.info( "Buffering is in progress, call `flush()` to save the replay"));Cl&&Rl.infoTick( "Starting replay in session mode"),this._updateUserActivity();const e=Yl({maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire},{stickySession:this._options.stickySession,sessionSampleRate:1,allowBuffering:!1});this.session=e,this._initializeRecording()}startBuffering(){if(this._isEnabled)return void(Cl&&Rl.info( "Buffering is in progress, call `flush()` to save the replay"));Cl&&Rl.infoTick( "Starting replay in buffer mode");const e=Yl({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration},{stickySession:this._options.stickySession,sessionSampleRate:0,allowBuffering:!0});this.session=e,this.recordingMode="buffer" ,this._initializeRecording()}startRecording(){try{const e=this._canvas;this._stopRecording=Vu({...this._recordingOptions,... "buffer"===this.recordingMode?{checkoutEveryNms:6e4}:this._options._experiments.continuousCheckout&&{checkoutEveryNms:Math.max(36e4,this._options._experiments.continuousCheckout)},emit:xd(this),.../iPhone|iPad|iPod/i.test(kd?.userAgent?? "")||/Macintosh/i.test(kd?.userAgent?? "")&&kd?.maxTouchPoints&&kd?.maxTouchPoints>1?{sampling:{mousemove:!1}}:{},onMutation:this._onMutationHandler.bind(this),...e?{recordCanvas:e.recordCanvas,getCanvasManager:e.getCanvasManager,sampling:e.sampling,dataURLOptions:e.dataURLOptions}:{}})}catch(e){this.handleException(e)}}stopRecording(){try{return this._stopRecording&&(this._stopRecording(),this._stopRecording=void 0),!0}catch(e){return this.handleException(e),!1}}async stop({forceFlush:e=!1,reason:t}={}){if(this._isEnabled){this._isEnabled=!1;try{Cl&&Rl.info("Stopping Replay"+(t?` triggered by ${t}`:"")),rd(),this._removeListeners(),this.stopRecording(),this._debouncedFlush.cancel(),e&&await this._flush({force:!0}),this.eventBuffer?.destroy(),this.eventBuffer=null,Fl(this)}catch(e){this.handleException(e)}}}pause(){this._isPaused||(this._isPaused=!0,this.stopRecording(),Cl&&Rl.info("Pausing replay"))}resume(){this._isPaused&&this._checkSession()&&(this._isPaused=!1,this.startRecording(),Cl&&Rl.info("Resuming replay"))}async sendBufferedReplayOrFlush({continueRecording:e=!0}={}){if("session"===this.recordingMode)return this.flushImmediate();const t=Date.now();Cl&&Rl.info("Converting buffer to session"),await this.flushImmediate();const n=this.stopRecording();e&&n&&"session"!==this.recordingMode&&(this.recordingMode="session",this.session&&(this._updateUserActivity(t),this._updateSessionActivity(t),this._maybeSaveSession()),this.startRecording())}addUpdate(e){const t=e();"buffer"!==this.recordingMode&&!0!==t&&this._debouncedFlush()}triggerUserActivity(){if(this._updateUserActivity(),this._stopRecording)this.checkAndHandleExpiredSession(),this._updateSessionActivity();else{if(!this._checkSession())return;this.resume()}}updateUserActivity(){this._updateUserActivity(),this._updateSessionActivity()}conditionalFlush(){return"buffer"===this.recordingMode?Promise.resolve():this.flushImmediate()}flush(){return this._debouncedFlush()}flushImmediate(){return this._debouncedFlush(),this._debouncedFlush.flush()}cancelFlush(){this._debouncedFlush.cancel()}getSessionId(){return this.session?.id}checkAndHandleExpiredSession(){if(!(this._lastActivity&&Hl(this._lastActivity,this.timeouts.sessionIdlePause)&&this.session&&"session"===this.session.sampled))return!!this._checkSession();this.pause()}setInitialState(){const e=`${La.location.pathname}${La.location.hash}${La.location.search}`,t=`${La.location.origin}${e}`;this.performanceEntries=[],this.replayPerformanceEntries=[],this._clearContext(),this._context.initialUrl=t,this._context.initialTimestamp=Date.now(),this._context.urls.push(t)}throttledAddEvent(e,t){const n=this._throttledAddEvent(e,t);if(n===Md){const e=ul({category:"replay.throttled"});this.addUpdate((()=>!Vl(this,{type:5,timestamp:e.timestamp||0,data:{tag:"breadcrumb",payload:e,metric:!0}})))}return n}getCurrentRoute(){const e=this.lastActiveSpan||Pt(),t=e&&Nt(e),n=(t&&It(t).data||{})[a];if(t&&n&&["route","custom"].includes(n))return It(t).description}_initializeRecording(){this.setInitialState(),this._updateSessionActivity(),this.eventBuffer=Pl({useCompression:this._options.useCompression,workerUrl:this._options.workerUrl}),this._removeListeners(),this._addListeners(),this._isEnabled=!0,this._isPaused=!1,this.startRecording()}_initializeSessionForSampling(e){const t=this._options.errorSampleRate>0,n=Yl({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration,previousSessionId:e},{stickySession:this._options.stickySession,sessionSampleRate:this._options.sessionSampleRate,allowBuffering:t});this.session=n}_checkSession(){if(!this.session)return!1;const e=this.session;return!Wl(e,{sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration})||(this._refreshSession(e),!1)}async _refreshSession(e){this._isEnabled&&(await this.stop({reason:"refresh session"}),this.initializeSampling(e.id))}_addListeners(){try{La.document.addEventListener("visibilitychange",this._handleVisibilityChange),La.addEventListener("blur",this._handleWindowBlur),La.addEventListener("focus",this._handleWindowFocus),La.addEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.addListeners(),this._hasInitializedCoreListeners||(!function(e,{autoFlushOnFeedback:t}){const n=De();vs(hl(e)),Es(id(e)),td(e),Sd(e),dn(od(e)),n&&(n.on("beforeSendEvent",ed(e)),n.on("afterSendEvent",Ql(e)),n.on("createDsc",(t=>{const n=e.getSessionId();n&&e.isEnabled()&&"session"===e.recordingMode&&e.checkAndHandleExpiredSession()&&(t.replay_id=n)})),n.on("spanStart",(t=>{e.lastActiveSpan=t})),n.on("spanEnd",(t=>{e.lastActiveSpan=t})),n.on("beforeSendFeedback",(async(n,r)=>{const o=e.getSessionId();r?.includeReplay&&e.isEnabled()&&o&&n.contexts?.feedback&&("api"===n.contexts.feedback.source&&t&&await e.flush(),n.contexts.feedback.replay_id=o)})),t&&n.on("openFeedbackWidget",(async()=>{await e.flush()})))}(this,{autoFlushOnFeedback:this._options._experiments.autoFlushOnFeedback}),this._hasInitializedCoreListeners=!0)}catch(e){this.handleException(e)}this._performanceCleanupCallback=function(e){function t(t){e.performanceEntries.includes(t)||e.performanceEntries.push(t)}function n({entries:e}){e.forEach(t)}const r=[];return["navigation","paint","resource"].forEach((e=>{r.push(ka(e,n))})),r.push(ba(_l(bl,e)),va(_l(wl,e)),Sa(_l(kl,e)),wa(_l(xl,e))),()=>{r.forEach((e=>e()))}}(this)}_removeListeners(){try{La.document.removeEventListener("visibilitychange",this._handleVisibilityChange),La.removeEventListener("blur",this._handleWindowBlur),La.removeEventListener("focus",this._handleWindowFocus),La.removeEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.removeListeners(),this._performanceCleanupCallback&&this._performanceCleanupCallback()}catch(e){this.handleException(e)}}_doChangeToBackgroundTasks(e){if(!this.session)return;ql(this.session,{maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire})||(e&&this._createCustomBreadcrumb(e),this.conditionalFlush())}_doChangeToForegroundTasks(e){if(!this.session)return;this.checkAndHandleExpiredSession()?e&&this._createCustomBreadcrumb(e):Cl&&Rl.info("Document has become active, but session has expired")}_updateUserActivity(e=Date.now()){this._lastActivity=e}_updateSessionActivity(e=Date.now()){this.session&&(this.session.lastActivity=e,this._maybeSaveSession())}_createCustomBreadcrumb(e){this.addUpdate((()=>{this.throttledAddEvent({type:ru.Custom,timestamp:e.timestamp||0,data:{tag:"breadcrumb",payload:e}})}))}_addPerformanceEntries(){let e=(t=this.performanceEntries,t.map(yl).filter(Boolean)).concat(this.replayPerformanceEntries);var t;if(this.performanceEntries=[],this.replayPerformanceEntries=[],this._requiresManualStart){const t=this._context.initialTimestamp/1e3;e=e.filter((e=>e.start>=t))}return Promise.all(sd(this,e))}_clearContext(){this._context.errorIds.clear(),this._context.traceIds.clear(),this._context.urls=[]}_updateInitialTimestampFromEventBuffer(){const{session:e,eventBuffer:t}=this;if(!e||!t||this._requiresManualStart)return;if(e.segmentId)return;const n=t.getEarliestTimestamp();n&&n this._options.maxReplayDuration+3e4)throw new Error("Session is too long, not sending replay");const n=this._popEventContext(),r=this.session.segmentId++;this._maybeSaveSession();const o=await this.eventBuffer.finish();await Id({replayId:e,recordingData:o,segmentId:r,eventContext:n,session:this.session,timestamp:t,onError:e=>this.handleException(e)})}catch(e){this.handleException(e),this.stop({reason:"sendReplay"});const t=De();if(t){const n=e instanceof Td?"ratelimit_backoff":"send_error";t.recordDroppedEvent(n,"replay")}}}else Cl&&Rl.error("No session or eventBuffer found to flush.")}async _flush({force:e=!1}={}){if(!this._isEnabled&&!e)return;if(!this.checkAndHandleExpiredSession())return void(Cl&&Rl.error("Attempting to finish replay event after session expired."));if(!this.session)return;const t=this.session.started,n=Date.now()-t;this._debouncedFlush.cancel();const r=n this._options.maxReplayDuration+5e3;if(r||o)return Cl&&Rl.info(`Session duration (${Math.floor(n/1e3)}s) is too ${r?"short":"long"}, not sending replay.`),void(r&&this._debouncedFlush());const s=this.eventBuffer;s&&0===this.session.segmentId&&!s.hasCheckout&&Cl&&Rl.info("Flushing initial segment without checkout.");const i=!!this._flushLock;this._flushLock||(this._flushLock=this._runFlush());try{await this._flushLock}catch(e){this.handleException(e)}finally{this._flushLock=void 0,i&&this._debouncedFlush()}}_maybeSaveSession(){this.session&&this._options.stickySession&&Ul(this.session)}_onMutationHandler(e){const t=e.length,n=this._options.mutationLimit,r=n&&t>n;if(t>this._options.mutationBreadcrumbLimit||r){const e=ul({category:"replay.mutations",data:{count:t,limit:r}});this._createCustomBreadcrumb(e)}return!r||(this.stop({reason:"mutationLimit",forceFlush:"session"===this.recordingMode}),!1)}}function Ad(e,t){return[...e,...t].join(",")}const Ld='img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',Dd=["content-length","content-type","accept"];let Nd=!1;const Pd=e=>new $d(e);class $d{constructor({flushMinDelay:e=5e3,flushMaxDelay:t=5500,minReplayDuration:n=4999,maxReplayDuration:r=36e5,stickySession:o=!0,useCompression:s=!0,workerUrl:i,_experiments:a={},maskAllText:c=!0,maskAllInputs:u=!0,blockAllMedia:l=!0,mutationBreadcrumbLimit:d=750,mutationLimit:p=1e4,slowClickTimeout:h=7e3,slowClickIgnoreSelectors:f=[],networkDetailAllowUrls:m=[],networkDetailDenyUrls:g=[],networkCaptureBodies:_=!0,networkRequestHeaders:y=[],networkResponseHeaders:v=[],mask:b=[],maskAttributes:S=["title","placeholder"],unmask:w=[],block:k=[],unblock:x=[],ignore:E=[],maskFn:C,beforeAddRecordingEvent:T,beforeErrorSampling:I,onError:M}={}){this.name="Replay";const R=function({mask:e,unmask:t,block:n,unblock:r,ignore:o}){return{maskTextSelector:Ad(e,[".sentry-mask","[data-sentry-mask]"]),unmaskTextSelector:Ad(t,[]),blockSelector:Ad(n,[".sentry-block","[data-sentry-block]","base","iframe[srcdoc]:not([src])"]),unblockSelector:Ad(r,[]),ignoreSelector:Ad(o,[".sentry-ignore","[data-sentry-ignore]",'input[type="file"]'])}}({mask:b,unmask:w,block:k,unblock:x,ignore:E});if(this._recordingOptions={maskAllInputs:u,maskAllText:c,maskInputOptions:{password:!0},maskTextFn:C,maskInputFn:C,maskAttributeFn:(e,t,n)=>function({el:e,key:t,maskAttributes:n,maskAllText:r,privacyOptions:o,value:s}){return r?o.unmaskTextSelector&&e.matches(o.unmaskTextSelector)?s:n.includes(t)||"value"===t&&"INPUT"===e.tagName&&["submit","button"].includes(e.getAttribute("type")||"")?s.replace(/[\S]/g,"*"):s:s}({maskAttributes:S,maskAllText:c,privacyOptions:R,key:e,value:t,el:n}),...R,slimDOMOptions:"all",inlineStylesheet:!0,inlineImages:!1,collectFonts:!0,errorHandler:e=>{try{e.__rrweb__=!0}catch(e){}},recordCrossOriginIframes:Boolean(a.recordCrossOriginIframes)},this._initialOptions={flushMinDelay:e,flushMaxDelay:t,minReplayDuration:Math.min(n,15e3),maxReplayDuration:Math.min(r,Ba),stickySession:o,useCompression:s,workerUrl:i,blockAllMedia:l,maskAllInputs:u,maskAllText:c,mutationBreadcrumbLimit:d,mutationLimit:p,slowClickTimeout:h,slowClickIgnoreSelectors:f,networkDetailAllowUrls:m,networkDetailDenyUrls:g,networkCaptureBodies:_,networkRequestHeaders:Fd(y),networkResponseHeaders:Fd(v),beforeAddRecordingEvent:T,beforeErrorSampling:I,onError:M,_experiments:a},this._initialOptions.blockAllMedia&&(this._recordingOptions.blockSelector=this._recordingOptions.blockSelector?`${this._recordingOptions.blockSelector},${Ld}`:Ld),this._isInitialized&&Oi())throw new Error("Multiple Sentry Session Replay instances are not supported");this._isInitialized=!0}get _isInitialized(){return Nd}set _isInitialized(e){Nd=e}afterAllSetup(e){Oi()&&!this._replay&&(this._setup(e),this._initialize(e))}start(){this._replay&&this._replay.start()}startBuffering(){this._replay&&this._replay.startBuffering()}stop(){return this._replay?this._replay.stop({forceFlush:"session"===this._replay.recordingMode}):Promise.resolve()}flush(e){return this._replay?this._replay.isEnabled()?this._replay.sendBufferedReplayOrFlush(e):(this._replay.start(),Promise.resolve()):Promise.resolve()}getReplayId(){if(this._replay?.isEnabled())return this._replay.getSessionId()}getRecordingMode(){if(this._replay?.isEnabled())return this._replay.recordingMode}_initialize(e){this._replay&&(this._maybeLoadFromReplayCanvasIntegration(e),this._replay.initializeSampling())}_setup(e){const t=function(e,t){const n=t.getOptions(),r={sessionSampleRate:0,errorSampleRate:0,...ne(e)},o=_t(n.replaysSessionSampleRate),s=_t(n.replaysOnErrorSampleRate);null==o&&null==s&&z((()=>{console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.")}));null!=o&&(r.sessionSampleRate=o);null!=s&&(r.errorSampleRate=s);return r}(this._initialOptions,e);this._replay=new Od({options:t,recordingOptions:this._recordingOptions})}_maybeLoadFromReplayCanvasIntegration(e){try{const t=e.getIntegrationByName("ReplayCanvas");if(!t)return;this._replay._canvas=t.getOptions()}catch{}}}function Fd(e){return[...Dd,...e.map((e=>e.toLowerCase()))]}function Bd(){return De()?.getIntegrationByName("Replay")}var jd=Object.defineProperty,Ud=(e,t,n)=>((e,t,n)=>t in e?jd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n)(e,"symbol"!=typeof t?t+"":t,n);class zd{constructor(){Ud(this,"idNodeMap",new Map),Ud(this,"nodeMetaMap",new WeakMap)}getId(e){if(!e)return-1;const t=this.getMeta(e)?.id;return t??-1}getNode(e){return this.idNodeMap.get(e)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(e){return this.nodeMetaMap.get(e)||null}removeNodeFromMap(e){const t=this.getId(e);this.idNodeMap.delete(t),e.childNodes&&e.childNodes.forEach((e=>this.removeNodeFromMap(e)))}has(e){return this.idNodeMap.has(e)}hasNode(e){return this.nodeMetaMap.has(e)}add(e,t){const n=t.id;this.idNodeMap.set(n,e),this.nodeMetaMap.set(e,t)}replace(e,t){const n=this.getNode(e);if(n){const e=this.nodeMetaMap.get(n);e&&this.nodeMetaMap.set(t,e)}this.idNodeMap.set(e,t)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function Hd(e,t,n=1/0,r=0){return e?e.nodeType!==e.ELEMENT_NODE||r>n?-1:t(e)?r:Hd(e.parentNode,t,n,r+1):-1}function qd(e,t){return n=>{const r=n;if(null===r)return!1;try{if(e)if("string"==typeof e){if(r.matches(`.${e}`))return!0}else if(function(e,t){for(let n=e.classList.length;n--;){const r=e.classList[n];if(t.test(r))return!0}return!1}(r,e))return!0;return!(!t||!r.matches(t))}catch{return!1}}}const Wd="Please stop import mirror directly. Instead of that,\r\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\r\nor you can use record.mirror to access the mirror instance during recording.";let Yd={map:{},getId:()=>(console.error(Wd),-1),getNode:()=>(console.error(Wd),null),removeNodeFromMap(){console.error(Wd)},has:()=>(console.error(Wd),!1),reset(){console.error(Wd)}};function Vd(e,t,n,r,o=window){const s=o.Object.getOwnPropertyDescriptor(e,t);return o.Object.defineProperty(e,t,r?n:{set(e){Qd((()=>{n.set.call(this,e)}),0),s&&s.set&&s.set.call(this,e)}}),()=>Vd(e,t,s||{},!0)}function Gd(e,t,n){try{if(!(t in e))return()=>{};const r=e[t],o=n(r);return"function"==typeof o&&(o.prototype=o.prototype||{},Object.defineProperties(o,{__rrweb_original__:{enumerable:!1,value:r}})),e[t]=o,()=>{e[t]=r}}catch{return()=>{}}}function Xd(e,t,n,r,o){if(!e)return!1;const s=function(e){return e?e.nodeType===e.ELEMENT_NODE?e:e.parentElement:null}(e);if(!s)return!1;const i=qd(t,n);if(!o){const e=r&&s.matches(r);return i(s)&&!e}const a=Hd(s,i);let c=-1;return!(a <0)&&(r&&(c=Hd(s,qd(null,r))),a>-1&&c <0||a("map"===t&&console.error(Wd),Reflect.get(e,t,n))})),Date.now().toString();const Jd={};function Kd(e){const t=Jd[e];if(t)return t;const n=window.document;let r=window[e];if(n&&"function"==typeof n.createElement)try{const t=n.createElement("iframe");t.hidden=!0,n.head.appendChild(t);const o=t.contentWindow;o&&o[e]&&(r=o[e]),n.head.removeChild(t)}catch(e){}return Jd[e]=r.bind(window)}function Zd(...e){return Kd("requestAnimationFrame")(...e)}function Qd(...e){return Kd("setTimeout")(...e)}var ep=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(ep||{});let tp;const np=e=>{if(!tp)return e;return(...t)=>{try{return e(...t)}catch(e){if(tp&&!0===tp(e))return()=>{};throw e}}};for(var rp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",op="undefined"==typeof Uint8Array?[]:new Uint8Array(256),sp=0;sp {if(!e||!lp(e,t)&&"object"!=typeof e)return;const r=function(e,t){let n=ip.get(e);return n||(n=new Map,ip.set(e,n)),n.has(t)||n.set(t,[]),n.get(t)}(n,e.constructor.name);let o=r.indexOf(e);return-1===o&&(o=r.length,r.push(e)),o};function cp(e,t,n){if(e instanceof Array)return e.map((e=>cp(e,t,n)));if(null===e)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray){return{rr_type:e.constructor.name,args:[Object.values(e)]}}if(e instanceof ArrayBuffer){return{rr_type:e.constructor.name,base64:function(e){var t,n=new Uint8Array(e),r=n.length,o="";for(t=0;t >2],o+=rp[(3&n[t]) <<4|n[t+1]>>4],o+=rp[(15&n[t+1]) <<2|n[t+2]>>6],o+=rp[63&n[t+2]];return r%3==2?o=o.substring(0,o.length-1)+"=":r%3==1&&(o=o.substring(0,o.length-2)+"=="),o}(e)}}if(e instanceof DataView){return{rr_type:e.constructor.name,args:[cp(e.buffer,t,n),e.byteOffset,e.byteLength]}}if(e instanceof HTMLImageElement){const t=e.constructor.name,{src:n}=e;return{rr_type:t,src:n}}if(e instanceof HTMLCanvasElement){return{rr_type:"HTMLImageElement",src:e.toDataURL()}}if(e instanceof ImageData){return{rr_type:e.constructor.name,args:[cp(e.data,t,n),e.width,e.height]}}if(lp(e,t)||"object"==typeof e){return{rr_type:e.constructor.name,index:ap(e,t,n)}}return e}const up=(e,t,n)=>e.map((e=>cp(e,t,n))),lp=(e,t)=>{const n=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter((e=>"function"==typeof t[e]));return Boolean(n.find((n=>e instanceof t[n])))};function dp(e,t,n,r,o){const s=[];try{const i=Gd(e.HTMLCanvasElement.prototype,"getContext",(function(e){return function(s,...i){if(!Xd(this,t,n,r,!0)){const e=function(e){return"experimental-webgl"===e?"webgl":e}(s);if("__context"in this||(this.__context=e),o&&["webgl","webgl2"].includes(e))if(i[0]&&"object"==typeof i[0]){const e=i[0];e.preserveDrawingBuffer||(e.preserveDrawingBuffer=!0)}else i.splice(0,1,{preserveDrawingBuffer:!0})}return e.apply(this,[s,...i])}}));s.push(i)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{s.forEach((e=>e()))}}function pp(e,t,n,r,o,s,i,a){const c=[],u=Object.getOwnPropertyNames(e);for(const i of u)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(i))try{if("function"!=typeof e[i])continue;const u=Gd(e,i,(function(e){return function(...c){const u=e.apply(this,c);if(ap(u,a,this),"tagName"in this.canvas&&!Xd(this.canvas,r,o,s,!0)){const e=up(c,a,this),r={type:t,property:i,args:e};n(this.canvas,r)}return u}}));c.push(u)}catch{const r=Vd(e,i,{set(e){n(this.canvas,{type:t,property:i,args:[e],setter:!0})}});c.push(r)}return c}class hp{constructor(e){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.shadowDoms=new Set,this.windowsSet=new WeakSet,this.windows=[],this.restoreHandlers=[],this.frozen=!1,this.locked=!1,this.snapshotInProgressMap=new Map,this.worker=null,this.lastSnapshotTime=0,this.processMutation=(e,t)=>{!(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId)&&this.rafStamps.invokeId||(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(e)||this.pendingCanvasMutations.set(e,[]),this.pendingCanvasMutations.get(e).push(t)};const{sampling:t="all",win:n,blockClass:r,blockSelector:o,unblockSelector:s,maxCanvasSize:i,recordCanvas:a,dataURLOptions:c,errorHandler:u}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,this.options=e,u&&(tp=u),(a&&"number"==typeof t||e.enableManualSnapshot)&&(this.worker=this.initFPSWorker()),this.addWindow(n),e.enableManualSnapshot||np((()=>{a&&"all"===t&&(this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher()),a&&"number"==typeof t&&this.initCanvasFPSObserver(t,r,o,s,i,{dataURLOptions:c})}))()}reset(){this.pendingCanvasMutations.clear(),this.restoreHandlers.forEach((e=>{try{e()}catch(e){}})),this.restoreHandlers=[],this.windowsSet=new WeakSet,this.windows=[],this.shadowDoms=new Set,this.worker?.terminate(),this.worker=null,this.snapshotInProgressMap=new Map}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}addWindow(e){const{sampling:t="all",blockClass:n,blockSelector:r,unblockSelector:o,recordCanvas:s,enableManualSnapshot:i}=this.options;if(!this.windowsSet.has(e)){if(i)return this.windowsSet.add(e),void this.windows.push(new WeakRef(e));np((()=>{if(s&&"all"===t&&this.initCanvasMutationObserver(e,n,r,o),s&&"number"==typeof t){const t=dp(e,n,r,o,!0);this.restoreHandlers.push((()=>{t()}))}}))(),this.windowsSet.add(e),this.windows.push(new WeakRef(e))}}addShadowRoot(e){this.shadowDoms.add(new WeakRef(e))}resetShadowRoots(){this.shadowDoms=new Set}initFPSWorker(){const e=new Worker(function(){const e=new Blob(['for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t="undefined"==typeof Uint8Array?[]:new Uint8Array(256),a=0;a <64;a++)t[e.charCodeAt(a)]=a;var n=function(t){var a,n=new Uint8Array(t),r=n.length,s="" ;for(a=0;a>2],s+=e[(3&n[a]) <<4|n[a+1]>>4],s+=e[(15&n[a+1]) <<2|n[a+2]>>6],s+=e[63&n[a+2]];return r%3==2?s=s.substring(0,s.length-1)+"=":r%3==1&&(s=s.substring(0,s.length-2)+"=="),s};const r=new Map,s=new Map;const i=self;i.onmessage=async function(e){if(!("OffscreenCanvas"in globalThis))return i.postMessage({id:e.data.id});{const{id:t,bitmap:a,width:o,height:f,maxCanvasSize:c,dataURLOptions:g}=e.data,u=async function(e,t,a){const r=e+"-"+t;if("OffscreenCanvas"in globalThis){if(s.has(r))return s.get(r);const i=new OffscreenCanvas(e,t);i.getContext("2d");const o=await i.convertToBlob(a),f=await o.arrayBuffer(),c=n(f);return s.set(r,c),c}return""}(o,f,g),[h,d]=function(e,t,a){if(!a)return[e,t];const[n,r]=a;if(e <=n&&t<=r)return[e,t];let s=e,i=t;return s>n&&(i=Math.floor(n*t/e),s=n),i>r&&(s=Math.floor(r*e/t),i=r),[s,i]}(o,f,c),l=new OffscreenCanvas(h,d),w=l.getContext("bitmaprenderer"),p=h===o&&d===f?a:await createImageBitmap(a,{resizeWidth:h,resizeHeight:d,resizeQuality:"low"});w.transferFromImageBitmap(p),a.close();const y=await l.convertToBlob(g),v=y.type,b=await y.arrayBuffer(),m=n(b);if(p.close(),!r.has(t)&&await u===m)return r.set(t,m),i.postMessage({id:t});if(r.get(t)===m)return i.postMessage({id:t});i.postMessage({id:t,type:v,base64:m,width:o,height:f}),r.set(t,m)}};']);return URL.createObjectURL(e)}());return e.onmessage=e=>{const t=e.data,{id:n}=t;if(this.snapshotInProgressMap.set(n,!1),!("base64"in t))return;const{base64:r,type:o,width:s,height:i}=t;this.mutationCb({id:n,type:ep["2D"],commands:[{property:"clearRect",args:[0,0,s,i]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:r}],type:o}]},0,0,s,i]}]})},e}initCanvasFPSObserver(e,t,n,r,o,s){const i=this.takeSnapshot(!1,e,t,n,r,o,s.dataURLOptions);this.restoreHandlers.push((()=>{cancelAnimationFrame(i)}))}initCanvasMutationObserver(e,t,n,r){const o=dp(e,t,n,r,!1),s=function(e,t,n,r,o){const s=[],i=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(const a of i)try{if("function"!=typeof t.CanvasRenderingContext2D.prototype[a])continue;const i=Gd(t.CanvasRenderingContext2D.prototype,a,(function(s){return function(...i){return Xd(this.canvas,n,r,o,!0)||Qd((()=>{const n=up(i,t,this);e(this.canvas,{type:ep["2D"],property:a,args:n})}),0),s.apply(this,i)}}));s.push(i)}catch{const n=Vd(t.CanvasRenderingContext2D.prototype,a,{set(t){e(this.canvas,{type:ep["2D"],property:a,args:[t],setter:!0})}});s.push(n)}return()=>{s.forEach((e=>e()))}}(this.processMutation.bind(this),e,t,n,r),i=function(e,t,n,r,o,s){const i=[];return i.push(...pp(t.WebGLRenderingContext.prototype,ep.WebGL,e,n,r,o,0,t)),void 0!==t.WebGL2RenderingContext&&i.push(...pp(t.WebGL2RenderingContext.prototype,ep.WebGL2,e,n,r,o,0,t)),()=>{i.forEach((e=>e()))}}(this.processMutation.bind(this),e,t,n,r,this.mirror);this.restoreHandlers.push((()=>{o(),s(),i()}))}snapshot(e){const{options:t}=this,n=this.takeSnapshot(!0,"all"===t.sampling?2:t.sampling||2,t.blockClass,t.blockSelector,t.unblockSelector,t.maxCanvasSize,t.dataURLOptions,e);this.restoreHandlers.push((()=>{cancelAnimationFrame(n)}))}takeSnapshot(e,t,n,r,o,s,i,a){const c=1e3/t;let u;const l=e=>{if(e)return[e];const t=[],s=e=>{e.querySelectorAll("canvas").forEach((e=>{Xd(e,n,r,o,!0)||t.push(e)}))};for(const e of this.windows){const t=e.deref();let n;try{n=t&&t.document}catch{}n&&s(n)}for(const e of this.shadowDoms){const t=e.deref();t&&s(t)}return t},d=t=>{this.windows.length&&(this.lastSnapshotTime&&t-this.lastSnapshotTime {if(!this.mirror.hasNode(t))return;const n=this.mirror.getId(t);if(!this.snapshotInProgressMap.get(n)&&t.width&&t.height){if(this.snapshotInProgressMap.set(n,!0),!e&&["webgl","webgl2"].includes(t.__context)){const e=t.getContext(t.__context);!1===e?.getContextAttributes()?.preserveDrawingBuffer&&e.clear(e.COLOR_BUFFER_BIT)}createImageBitmap(t).then((e=>{this.worker?.postMessage({id:n,bitmap:e,width:t.width,height:t.height,dataURLOptions:i,maxCanvasSize:s},[e])})).catch((e=>{np((()=>{throw e}))()}))}})),e||(u=Zd(d))))};return u=Zd(d),u}startPendingCanvasMutationFlusher(){Zd((()=>this.flushPendingCanvasMutations()))}startRAFTimestamping(){const e=t=>{this.rafStamps.latestId=t,Zd(e)};Zd(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach(((e,t)=>{const n=this.mirror.getId(t);this.flushPendingCanvasMutationFor(t,n)})),Zd((()=>this.flushPendingCanvasMutations()))}flushPendingCanvasMutationFor(e,t){if(this.frozen||this.locked)return;const n=this.pendingCanvasMutations.get(e);if(!n||-1===t)return;const r=n.map((e=>{const{type:t,...n}=e;return n})),{type:o}=n[0];this.mutationCb({id:t,type:o,commands:r}),this.pendingCanvasMutations.delete(e)}}try{if(2!==Array.from([1],(e=>2*e))[0]){const e=document.createElement("iframe");document.body.appendChild(e),Array.from=e.contentWindow?.Array.from||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var fp;new zd,function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"}(fp||(fp={}));const mp={low:{sampling:{canvas:1},dataURLOptions:{type:"image/webp",quality:.25}},medium:{sampling:{canvas:2},dataURLOptions:{type:"image/webp",quality:.4}},high:{sampling:{canvas:4},dataURLOptions:{type:"image/webp",quality:.5}}},gp=1280,_p=(e={})=>{const[t,n]=e.maxCanvasSize||[],r={quality:e.quality||"medium",enableManualSnapshot:e.enableManualSnapshot,maxCanvasSize:[t?Math.min(t,gp):gp,n?Math.min(n,gp):gp]};let o;const s=new Promise((e=>o=e));return{name:"ReplayCanvas",getOptions(){const{quality:e,enableManualSnapshot:t,maxCanvasSize:n}=r;return{enableManualSnapshot:t,recordCanvas:!0,getCanvasManager:e=>{const r=new hp({...e,enableManualSnapshot:t,maxCanvasSize:n,errorHandler:e=>{try{"object"==typeof e&&(e.__rrweb__=!0)}catch(e){}}});return o(r),r},...mp[e||"medium"]||mp.medium}},async snapshot(e){(await s).snapshot(e)}}},yp=R,vp=yp.document,bp=yp.navigator,Sp="Report a Bug",wp=(e,t={includeReplay:!0})=>{if(!e.message)throw new Error("Unable to submit feedback with empty message");const n=De();if(!n)throw new Error("No client setup, cannot send feedback.");e.tags&&Object.keys(e.tags).length&&Me().setTags(e.tags);const r=Rn({source:"api",url:D(),...e},t);return new Promise(((e,t)=>{const o=setTimeout((()=>t("Unable to determine if Feedback was correctly sent.")),5e3),s=n.on("afterSendEvent",((n,i)=>{if(n.event_id===r)return clearTimeout(o),s(),i&&"number"==typeof i.statusCode&&i.statusCode>=200&&i.statusCode <300?e(r):i&& "number"==typeof i.statusCode&&0===i.statusCode?t( "Unable to send Feedback. This is because of network issues, or because you are using an ad-blocker."):i&& "number"==typeof i.statusCode&&403===i.statusCode?t( "Unable to send Feedback. This could be because this domain is not in your list of allowed domains."):t( "Unable to send Feedback. This could be because of network issues, or because you are using an ad-blocker")}))}))},kp="undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__;function xp(e,t){return{...e,...t,tags:{...e.tags,...t.tags},onFormOpen:()=>{t.onFormOpen?.(),e.onFormOpen?.()},onFormClose:()=>{t.onFormClose?.(),e.onFormClose?.()},onSubmitSuccess:n=>{t.onSubmitSuccess?.(n),e.onSubmitSuccess?.(n)},onSubmitError:n=>{t.onSubmitError?.(n),e.onSubmitError?.(n)},onFormSubmitted:()=>{t.onFormSubmitted?.(),e.onFormSubmitted?.()},themeDark:{...e.themeDark,...t.themeDark},themeLight:{...e.themeLight,...t.themeLight}}}function Ep(e,t){return Object.entries(t).forEach((([t,n])=>{e.setAttributeNS(null,t,n)})),e}function Cp({triggerLabel:e,triggerAriaLabel:t,shadow:n,styleNonce:r}){const o=vp.createElement("button");if(o.type="button",o.className="widget__actor",o.ariaHidden="false",o.ariaLabel=t||e||Sp,o.appendChild(function(){const e=e=>yp.document.createElementNS("http://www.w3.org/2000/svg",e),t=Ep(e("svg"),{width:"20",height:"20",viewBox:"0 0 20 20",fill:"var(--actor-color, var(--foreground))"}),n=Ep(e("g"),{clipPath:"url(#clip0_57_80)"}),r=Ep(e("path"),{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M15.6622 15H12.3997C12.2129 14.9959 12.031 14.9396 11.8747 14.8375L8.04965 12.2H7.49956V19.1C7.4875 19.3348 7.3888 19.5568 7.22256 19.723C7.05632 19.8892 6.83435 19.9879 6.59956 20H2.04956C1.80193 19.9968 1.56535 19.8969 1.39023 19.7218C1.21511 19.5467 1.1153 19.3101 1.11206 19.0625V12.2H0.949652C0.824431 12.2017 0.700142 12.1783 0.584123 12.1311C0.468104 12.084 0.362708 12.014 0.274155 11.9255C0.185602 11.8369 0.115689 11.7315 0.0685419 11.6155C0.0213952 11.4995 -0.00202913 11.3752 -0.00034808 11.25V3.75C-0.00900498 3.62067 0.0092504 3.49095 0.0532651 3.36904C0.0972798 3.24712 0.166097 3.13566 0.255372 3.04168C0.344646 2.94771 0.452437 2.87327 0.571937 2.82307C0.691437 2.77286 0.82005 2.74798 0.949652 2.75H8.04965L11.8747 0.1625C12.031 0.0603649 12.2129 0.00407221 12.3997 0H15.6622C15.9098 0.00323746 16.1464 0.103049 16.3215 0.278167C16.4966 0.453286 16.5964 0.689866 16.5997 0.9375V3.25269C17.3969 3.42959 18.1345 3.83026 18.7211 4.41679C19.5322 5.22788 19.9878 6.32796 19.9878 7.47502C19.9878 8.62209 19.5322 9.72217 18.7211 10.5333C18.1345 11.1198 17.3969 11.5205 16.5997 11.6974V14.0125C16.6047 14.1393 16.5842 14.2659 16.5395 14.3847C16.4948 14.5035 16.4268 14.6121 16.3394 14.7042C16.252 14.7962 16.147 14.8698 16.0307 14.9206C15.9144 14.9714 15.7891 14.9984 15.6622 15ZM1.89695 10.325H1.88715V4.625H8.33715C8.52423 4.62301 8.70666 4.56654 8.86215 4.4625L12.6872 1.875H14.7247V13.125H12.6872L8.86215 10.4875C8.70666 10.3835 8.52423 10.327 8.33715 10.325H2.20217C2.15205 10.3167 2.10102 10.3125 2.04956 10.3125C1.9981 10.3125 1.94708 10.3167 1.89695 10.325ZM2.98706 12.2V18.1625H5.66206V12.2H2.98706ZM16.5997 9.93612V5.01393C16.6536 5.02355 16.7072 5.03495 16.7605 5.04814C17.1202 5.13709 17.4556 5.30487 17.7425 5.53934C18.0293 5.77381 18.2605 6.06912 18.4192 6.40389C18.578 6.73866 18.6603 7.10452 18.6603 7.47502C18.6603 7.84552 18.578 8.21139 18.4192 8.54616C18.2605 8.88093 18.0293 9.17624 17.7425 9.41071C17.4556 9.64518 17.1202 9.81296 16.7605 9.90191C16.7072 9.91509 16.6536 9.9265 16.5997 9.93612Z"});t.appendChild(n).appendChild(r);const o=e("defs"),s=Ep(e("clipPath"),{id:"clip0_57_80"}),i=Ep(e("rect"),{width:"20",height:"20",fill:"white"});return s.appendChild(i),o.appendChild(s),t.appendChild(o).appendChild(s).appendChild(i),t}()),e){const t=vp.createElement("span");t.appendChild(vp.createTextNode(e)),o.appendChild(t)}const s=function(e){const t=vp.createElement("style");return t.textContent='\n.widget__actor {\n position: fixed;\n z-index: var(--z-index);\n margin: var(--page-margin);\n inset: var(--actor-inset);\n\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 16px;\n\n font-family: inherit;\n font-size: var(--font-size);\n font-weight: 600;\n line-height: 1.14em;\n text-decoration: none;\n\n background: var(--actor-background, var(--background));\n border-radius: var(--actor-border-radius, 1.7em/50%);\n border: var(--actor-border, var(--border));\n box-shadow: var(--actor-box-shadow, var(--box-shadow));\n color: var(--actor-color, var(--foreground));\n fill: var(--actor-color, var(--foreground));\n cursor: pointer;\n opacity: 1;\n transition: transform 0.2s ease-in-out;\n transform: translate(0, 0) scale(1);\n}\n.widget__actor[aria-hidden="true"] {\n opacity: 0;\n pointer-events: none;\n visibility: hidden;\n transform: translate(0, 16px) scale(0.98);\n}\n\n.widget__actor:hover {\n background: var(--actor-hover-background, var(--background));\n filter: var(--interactive-filter);\n}\n\n.widget__actor svg {\n width: 1.14em;\n height: 1.14em;\n}\n\n@media (max-width: 600px) {\n .widget__actor span {\n display: none;\n }\n}\n',e&&t.setAttribute("nonce",e),t}(r);return{el:o,appendToDom(){n.appendChild(s),n.appendChild(o)},removeFromDom(){n.removeChild(o),n.removeChild(s)},show(){o.ariaHidden="false"},hide(){o.ariaHidden="true"}}}const Tp="rgba(88, 74, 192, 1)",Ip={foreground:"#2b2233",background:"#ffffff",accentForeground:"white",accentBackground:Tp,successColor:"#268d75",errorColor:"#df3338",border:"1.5px solid rgba(41, 35, 47, 0.13)",boxShadow:"0px 4px 24px 0px rgba(43, 34, 51, 0.12)",outline:"1px auto var(--accent-background)",interactiveFilter:"brightness(95%)"},Mp={foreground:"#ebe6ef",background:"#29232f",accentForeground:"white",accentBackground:Tp,successColor:"#2da98c",errorColor:"#f55459",border:"1.5px solid rgba(235, 230, 239, 0.15)",boxShadow:"0px 4px 24px 0px rgba(43, 34, 51, 0.12)",outline:"1px auto var(--accent-background)",interactiveFilter:"brightness(150%)"};function Rp(e){return`\n --foreground: ${e.foreground};\n --background: ${e.background};\n --accent-foreground: ${e.accentForeground};\n --accent-background: ${e.accentBackground};\n --success-color: ${e.successColor};\n --error-color: ${e.errorColor};\n --border: ${e.border};\n --box-shadow: ${e.boxShadow};\n --outline: ${e.outline};\n --interactive-filter: ${e.interactiveFilter};\n `}const Op=({lazyLoadIntegration:e,getModalIntegration:t,getScreenshotIntegration:n})=>({id:r="sentry-feedback",autoInject:o=!0,showBranding:s=!0,isEmailRequired:i=!1,isNameRequired:a=!1,showEmail:c=!0,showName:u=!0,enableScreenshot:l=!0,useSentryUser:d={email:"email",name:"username"},_experiments:p={},tags:h,styleNonce:f,scriptNonce:m,colorScheme:g="system",themeLight:_={},themeDark:y={},addScreenshotButtonLabel:v="Add a screenshot",cancelButtonLabel:b="Cancel",confirmButtonLabel:S="Confirm",emailLabel:w="Email",emailPlaceholder:k="your.email@example.org",formTitle:x="Report a Bug",isRequiredLabel:E="(required)",messageLabel:C="Description",messagePlaceholder:T="What's the bug? What did you expect?",nameLabel:I="Name",namePlaceholder:M="Your Name",removeScreenshotButtonLabel:R="Remove screenshot",submitButtonLabel:O="Send Bug Report",successMessageText:A="Thank you for your report!",triggerLabel:L=Sp,triggerAriaLabel:D="",onFormOpen:N,onFormClose:P,onSubmitSuccess:$,onSubmitError:F,onFormSubmitted:B}={})=>{const j={id:r,autoInject:o,showBranding:s,isEmailRequired:i,isNameRequired:a,showEmail:c,showName:u,enableScreenshot:l,useSentryUser:d,tags:h,styleNonce:f,scriptNonce:m,colorScheme:g,themeDark:y,themeLight:_,triggerLabel:L,triggerAriaLabel:D,cancelButtonLabel:b,submitButtonLabel:O,confirmButtonLabel:S,formTitle:x,emailLabel:w,emailPlaceholder:k,messageLabel:C,messagePlaceholder:T,nameLabel:I,namePlaceholder:M,successMessageText:A,isRequiredLabel:E,addScreenshotButtonLabel:v,removeScreenshotButtonLabel:R,onFormClose:P,onFormOpen:N,onSubmitError:F,onSubmitSuccess:$,onFormSubmitted:B,_experiments:p};let U=null,z=[];const q=e=>{if(!U){const t=vp.createElement("div");t.id=String(e.id),vp.body.appendChild(t),U=t.attachShadow({mode:"open"}),U.appendChild(function({colorScheme:e,themeDark:t,themeLight:n,styleNonce:r}){const o=vp.createElement("style");return o.textContent=`\n:host {\n --font-family: system-ui, 'Helvetica Neue', Arial, sans-serif;\n --font-size: 14px;\n --z-index: 100000;\n\n --page-margin: 16px;\n --inset: auto 0 0 auto;\n --actor-inset: var(--inset);\n\n font-family: var(--font-family);\n font-size: var(--font-size);\n\n ${"system"!==e?"color-scheme: only light;":""}\n\n ${Rp("dark"===e?{...Mp,...t}:{...Ip,...n})}\n}\n\n${"system"===e?`\n@media (prefers-color-scheme: dark) {\n :host {\n ${Rp({...Mp,...t})}\n }\n}`:""}\n}\n`,r&&o.setAttribute("nonce",r),o}(e))}return U},W=async r=>{const o=r.enableScreenshot&&!(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(bp.userAgent)||/Macintosh/i.test(bp.userAgent)&&bp.maxTouchPoints&&bp.maxTouchPoints>1||!isSecureContext);let s,i;try{s=(t?t():await e("feedbackModalIntegration",m))(),bn(s)}catch{throw kp&&H.error("[Feedback] Error when trying to load feedback integrations. Try using `feedbackSyncIntegration` in your `Sentry.init`."),new Error("[Feedback] Missing feedback modal integration!")}try{const t=o?n?n():await e("feedbackScreenshotIntegration",m):void 0;t&&(i=t(),bn(i))}catch{kp&&H.error("[Feedback] Missing feedback screenshot integration. Proceeding without screenshots.")}const a=s.createDialog({options:{...r,onFormClose:()=>{a?.close(),r.onFormClose?.()},onFormSubmitted:()=>{a?.close(),r.onFormSubmitted?.()}},screenshotIntegration:i,sendFeedback:wp,shadow:q(r)});return a},Y=(e,t={})=>{const n=xp(j,t),r="string"==typeof e?vp.querySelector(e):"function"==typeof e.addEventListener?e:null;if(!r)throw kp&&H.error("[Feedback] Unable to attach to target element"),new Error("Unable to attach to target element");let o=null;const s=async()=>{o||(o=await W({...n,onFormSubmitted:()=>{o?.removeFromDom(),n.onFormSubmitted?.()}})),o.appendToDom(),o.open()};r.addEventListener("click",s);const i=()=>{z=z.filter((e=>e!==i)),o?.removeFromDom(),o=null,r.removeEventListener("click",s)};return z.push(i),i},V=(e={})=>{const t=xp(j,e),n=q(t),r=Cp({triggerLabel:t.triggerLabel,triggerAriaLabel:t.triggerAriaLabel,shadow:n,styleNonce:f});return Y(r.el,{...t,onFormOpen(){r.hide()},onFormClose(){r.show()},onFormSubmitted(){r.show()}}),r};return{name:"Feedback",setupOnce(){Oi()&&j.autoInject&&("loading"===vp.readyState?vp.addEventListener("DOMContentLoaded",(()=>V().appendToDom())):V().appendToDom())},attachTo:Y,createWidget(e={}){const t=V(xp(j,e));return t.appendToDom(),t},createForm:async(e={})=>W(xp(j,e)),remove(){U&&(U.parentElement?.remove(),U=null),z.forEach((e=>e())),z=[]}}};function Ap(){return De()?.getIntegrationByName("Feedback")}var Lp,Dp,Np,Pp,$p,Fp,Bp,jp={},Up=[],zp=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Hp=Array.isArray;function qp(e,t){for(var n in t)e[n]=t[n];return e}function Wp(e){var t=e.parentNode;t&&t.removeChild(e)}function Yp(e,t,n){var r,o,s,i={};for(s in t)"key"==s?r=t[s]:"ref"==s?o=t[s]:i[s]=t[s];if(arguments.length>2&&(i.children=arguments.length>3?Lp.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(s in e.defaultProps)void 0===i[s]&&(i[s]=e.defaultProps[s]);return Vp(e,i,r,o,null)}function Vp(e,t,n,r,o){var s={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==o?++Np:o,__i:-1,__u:0};return null==o&&null!=Dp.vnode&&Dp.vnode(s),s}function Gp(e){return e.children}function Xp(e,t){this.props=e,this.context=t}function Jp(e,t){if(null==t)return e.__?Jp(e.__,e.__i+1):null;for(var n;t n?(uh(r,t,o),o.length=r.length=0,t=void 0,Pp.sort(Bp)):t&&Dp.__c&&Dp.__c(t,Up));t&&uh(r,t,o),eh.__r=0}function th(e,t,n,r,o,s,i,a,c,u,l){var d,p,h,f,m,g=r&&r.__k||Up,_=t.length;for(n.__d=c,function(e,t,n){var r,o,s,i,a,c=t.length,u=n.length,l=u,d=0;for(e.__k=[],r=0;r 0?Vp(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o)?(o.__=e,o.__b=e.__b+1,a=rh(o,n,i=r+d,l),o.__i=a,s=null,-1!==a&&(l--,(s=n[a])&&(s.__u|=131072)),null==s||null===s.__v?(-1==a&&d--,"function"!=typeof o.type&&(o.__u|=65536)):a!==i&&(a===i+1?d++:a>i?l>c-i?d+=a-i:d--:d=a (null!=c&&0==(131072&c.__u)?1:0))for(;i>=0||a =0){if((c=t[i])&&0==(131072&c.__u)&&o==c.key&&s===c.type)return i;i--}if(a =n.__.length&&n.__.push({__V:vh}),n.__[e]}function Ih(e){return _h=1,Mh(Bh,e)}function Mh(e,t,n){var r=Th(hh++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Bh(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=fh,!fh.u)){var o=function(e,t,n){if(!r.__c.__H)return!0;var o=r.__c.__H.__.filter((function(e){return!!e.__c}));if(o.every((function(e){return!e.__N})))return!s||s.call(this,e,t,n);var i=!1;return o.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(i=!0)}})),!(!i&&r.__c.props===e)&&(!s||s.call(this,e,t,n))};fh.u=!0;var s=fh.shouldComponentUpdate,i=fh.componentWillUpdate;fh.componentWillUpdate=function(e,t,n){if(this.__e){var r=s;s=void 0,o(e,t,n),s=r}i&&i.call(this,e,t,n)},fh.shouldComponentUpdate=o}return r.__N||r.__}function Rh(e,t){var n=Th(hh++,4);!bh.__s&&Fh(n.__H,t)&&(n.__=e,n.i=t,fh.__h.push(n))}function Oh(e,t){var n=Th(hh++,7);return Fh(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function Ah(e,t){return _h=8,Oh((function(){return e}),t)}function Lh(){for(var e;e=yh.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(Ph),e.__H.__h.forEach($h),e.__H.__h=[]}catch(t){e.__H.__h=[],bh.__e(t,e.__v)}}bh.__b=function(e){fh=null,Sh&&Sh(e)},bh.__=function(e,t){t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Ch&&Ch(e,t)},bh.__r=function(e){wh&&wh(e),hh=0;var t=(fh=e.__c).__H;t&&(mh===fh?(t.__h=[],fh.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=vh,e.__N=e.i=void 0}))):(t.__h.forEach(Ph),t.__h.forEach($h),t.__h=[],hh=0)),mh=fh},bh.diffed=function(e){kh&&kh(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==yh.push(t)&&gh===bh.requestAnimationFrame||((gh=bh.requestAnimationFrame)||Nh)(Lh)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==vh&&(e.__=e.__V),e.i=void 0,e.__V=vh}))),mh=fh=null},bh.__c=function(e,t){t.some((function(e){try{e.__h.forEach(Ph),e.__h=e.__h.filter((function(e){return!e.__||$h(e)}))}catch(n){t.some((function(e){e.__h&&(e.__h=[])})),t=[],bh.__e(n,e.__v)}})),xh&&xh(e,t)},bh.unmount=function(e){Eh&&Eh(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{Ph(e)}catch(e){t=e}})),n.__H=void 0,t&&bh.__e(t,n.__v))};var Dh="function"==typeof requestAnimationFrame;function Nh(e){var t,n=function(){clearTimeout(r),Dh&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);Dh&&(t=requestAnimationFrame(n))}function Ph(e){var t=fh,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),fh=t}function $h(e){var t=fh;e.__c=e.__(),fh=t}function Fh(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function Bh(e,t){return"function"==typeof t?t(e):t}const jh=Object.defineProperty({__proto__:null,useCallback:Ah,useContext:function(e){var t=fh.context[e.__c],n=Th(hh++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(fh)),t.props.value):e.__},useDebugValue:function(e,t){bh.useDebugValue&&bh.useDebugValue(t?t(e):e)},useEffect:function(e,t){var n=Th(hh++,3);!bh.__s&&Fh(n.__H,t)&&(n.__=e,n.i=t,fh.__H.__h.push(n))},useErrorBoundary:function(e){var t=Th(hh++,10),n=Ih();return t.__=e,fh.componentDidCatch||(fh.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]},useId:function(){var e=Th(hh++,11);if(!e.__){for(var t=fh.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__},useImperativeHandle:function(e,t,n){_h=6,Rh((function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0}),null==n?n:n.concat(e))},useLayoutEffect:Rh,useMemo:Oh,useReducer:Mh,useRef:function(e){return _h=5,Oh((function(){return{current:e}}),[])},useState:Ih},Symbol.toStringTag,{value:"Module"});function Uh(){const e=e=>vp.createElementNS("http://www.w3.org/2000/svg",e),t=Ep(e("svg"),{width:"32",height:"30",viewBox:"0 0 72 66",fill:"inherit"}),n=Ep(e("path"),{transform:"translate(11, 11)",d:"M29,2.26a4.67,4.67,0,0,0-8,0L14.42,13.53A32.21,32.21,0,0,1,32.17,40.19H27.55A27.68,27.68,0,0,0,12.09,17.47L6,28a15.92,15.92,0,0,1,9.23,12.17H4.62A.76.76,0,0,1,4,39.06l2.94-5a10.74,10.74,0,0,0-3.36-1.9l-2.91,5a4.54,4.54,0,0,0,1.69,6.24A4.66,4.66,0,0,0,4.62,44H19.15a19.4,19.4,0,0,0-8-17.31l2.31-4A23.87,23.87,0,0,1,23.76,44H36.07a35.88,35.88,0,0,0-16.41-31.8l4.67-8a.77.77,0,0,1,1.05-.27c.53.29,20.29,34.77,20.66,35.17a.76.76,0,0,1-.68,1.13H40.6q.09,1.91,0,3.81h4.78A4.59,4.59,0,0,0,50,39.43a4.49,4.49,0,0,0-.62-2.28Z"});return t.appendChild(n),t}function zh({options:e}){const t=Oh((()=>({__html:Uh().outerHTML})),[]);return Yp("h2",{class:"dialog__header"},Yp("span",{class:"dialog__title"},e.formTitle),e.showBranding?Yp("a",{class:"brand-link",target:"_blank",href:"https://sentry.io/welcome/",title:"Powered by Sentry",rel:"noopener noreferrer",dangerouslySetInnerHTML:t}):null)}function Hh(e,t){const n=e.get(t);return"string"==typeof n?n.trim():""}function qh({options:e,defaultEmail:t,defaultName:n,onFormClose:r,onSubmit:o,onSubmitSuccess:s,onSubmitError:i,showEmail:a,showName:c,screenshotInput:u}){const{tags:l,addScreenshotButtonLabel:d,removeScreenshotButtonLabel:p,cancelButtonLabel:h,emailLabel:f,emailPlaceholder:m,isEmailRequired:g,isNameRequired:_,messageLabel:y,messagePlaceholder:v,nameLabel:b,namePlaceholder:S,submitButtonLabel:w,isRequiredLabel:k}=e,[x,E]=Ih(!1),[C,T]=Ih(null),[I,M]=Ih(!1),R=u?.input,[O,A]=Ih(null),L=Ah((e=>{A(e),M(!1)}),[]),D=Ah((e=>{const t=function(e,t){const n=[];return t.isNameRequired&&!e.name&&n.push(t.nameLabel),t.isEmailRequired&&!e.email&&n.push(t.emailLabel),e.message||n.push(t.messageLabel),n}(e,{emailLabel:f,isEmailRequired:g,isNameRequired:_,messageLabel:y,nameLabel:b});return t.length>0?T(`Please enter in the following required fields: ${t.join(", ")}`):T(null),0===t.length}),[f,g,_,y,b]),N=Ah((async e=>{E(!0);try{if(e.preventDefault(),!(e.target instanceof HTMLFormElement))return;const t=new FormData(e.target),n=await(u&&I?u.value():void 0),r={name:Hh(t,"name"),email:Hh(t,"email"),message:Hh(t,"message"),attachments:n?[n]:void 0};if(!D(r))return;try{await o({name:r.name,email:r.email,message:r.message,source:"widget",tags:l},{attachments:r.attachments}),s(r)}catch(e){kp&&H.error(e),T(e),i(e)}}finally{E(!1)}}),[u&&I,s,i]);return Yp("form",{class:"form",onSubmit:N},R&&I?Yp(R,{onError:L}):null,Yp("fieldset",{class:"form__right","data-sentry-feedback":!0,disabled:x},Yp("div",{class:"form__top"},C?Yp("div",{class:"form__error-container"},C):null,c?Yp("label",{for:"name",class:"form__label"},Yp(Wh,{label:b,isRequiredLabel:k,isRequired:_}),Yp("input",{class:"form__input",defaultValue:n,id:"name",name:"name",placeholder:S,required:_,type:"text"})):Yp("input",{"aria-hidden":!0,value:n,name:"name",type:"hidden"}),a?Yp("label",{for:"email",class:"form__label"},Yp(Wh,{label:f,isRequiredLabel:k,isRequired:g}),Yp("input",{class:"form__input",defaultValue:t,id:"email",name:"email",placeholder:m,required:g,type:"email"})):Yp("input",{"aria-hidden":!0,value:t,name:"email",type:"hidden"}),Yp("label",{for:"message",class:"form__label"},Yp(Wh,{label:y,isRequiredLabel:k,isRequired:!0}),Yp("textarea",{autoFocus:!0,class:"form__input form__input--textarea",id:"message",name:"message",placeholder:v,required:!0,rows:5})),R?Yp("label",{for:"screenshot",class:"form__label"},Yp("button",{class:"btn btn--default",disabled:x,type:"button",onClick:()=>{A(null),M((e=>!e))}},I?p:d),O?Yp("div",{class:"form__error-container"},O.message):null):null),Yp("div",{class:"btn-group"},Yp("button",{class:"btn btn--primary",disabled:x,type:"submit"},w),Yp("button",{class:"btn btn--default",disabled:x,type:"button",onClick:r},h))))}function Wh({label:e,isRequired:t,isRequiredLabel:n}){return Yp("span",{class:"form__label__text"},e,t&&Yp("span",{class:"form__label__text--required"},n))}function Yh(){const e=e=>yp.document.createElementNS("http://www.w3.org/2000/svg",e),t=Ep(e("svg"),{width:"16",height:"17",viewBox:"0 0 16 17",fill:"inherit"}),n=Ep(e("g"),{clipPath:"url(#clip0_57_156)"}),r=Ep(e("path"),{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3.55544 15.1518C4.87103 16.0308 6.41775 16.5 8 16.5C10.1217 16.5 12.1566 15.6571 13.6569 14.1569C15.1571 12.6566 16 10.6217 16 8.5C16 6.91775 15.5308 5.37103 14.6518 4.05544C13.7727 2.73985 12.5233 1.71447 11.0615 1.10897C9.59966 0.503466 7.99113 0.34504 6.43928 0.653721C4.88743 0.962403 3.46197 1.72433 2.34315 2.84315C1.22433 3.96197 0.462403 5.38743 0.153721 6.93928C-0.15496 8.49113 0.00346625 10.0997 0.608967 11.5615C1.21447 13.0233 2.23985 14.2727 3.55544 15.1518ZM4.40546 3.1204C5.46945 2.40946 6.72036 2.03 8 2.03C9.71595 2.03 11.3616 2.71166 12.575 3.92502C13.7883 5.13838 14.47 6.78405 14.47 8.5C14.47 9.77965 14.0905 11.0306 13.3796 12.0945C12.6687 13.1585 11.6582 13.9878 10.476 14.4775C9.29373 14.9672 7.99283 15.0953 6.73777 14.8457C5.48271 14.596 4.32987 13.9798 3.42502 13.075C2.52018 12.1701 1.90397 11.0173 1.65432 9.76224C1.40468 8.50718 1.5328 7.20628 2.0225 6.02404C2.5122 4.8418 3.34148 3.83133 4.40546 3.1204Z"}),o=Ep(e("path"),{d:"M6.68775 12.4297C6.78586 12.4745 6.89218 12.4984 7 12.5C7.11275 12.4955 7.22315 12.4664 7.32337 12.4145C7.4236 12.3627 7.51121 12.2894 7.58 12.2L12 5.63999C12.0848 5.47724 12.1071 5.28902 12.0625 5.11098C12.0178 4.93294 11.9095 4.77744 11.7579 4.67392C11.6064 4.57041 11.4221 4.52608 11.24 4.54931C11.0579 4.57254 10.8907 4.66173 10.77 4.79999L6.88 10.57L5.13 8.56999C5.06508 8.49566 4.98613 8.43488 4.89768 8.39111C4.80922 8.34735 4.713 8.32148 4.61453 8.31498C4.51605 8.30847 4.41727 8.32147 4.32382 8.35322C4.23038 8.38497 4.14413 8.43484 4.07 8.49999C3.92511 8.63217 3.83692 8.81523 3.82387 9.01092C3.81083 9.2066 3.87393 9.39976 4 9.54999L6.43 12.24C6.50187 12.3204 6.58964 12.385 6.68775 12.4297Z"});t.appendChild(n).append(o,r);const s=e("defs"),i=Ep(e("clipPath"),{id:"clip0_57_156"}),a=Ep(e("rect"),{width:"16",height:"16",fill:"white",transform:"translate(0 0.5)"});return i.appendChild(a),s.appendChild(i),t.appendChild(s).appendChild(i).appendChild(a),t}function Vh({open:e,onFormSubmitted:t,...n}){const r=n.options,o=Oh((()=>({__html:Yh().outerHTML})),[]),[s,i]=Ih(null),a=Ah((()=>{s&&(clearTimeout(s),i(null)),t()}),[s]),c=Ah((e=>{n.onSubmitSuccess(e),i(setTimeout((()=>{t(),i(null)}),5e3))}),[t]);return Yp(Gp,null,s?Yp("div",{class:"success__position",onClick:a},Yp("div",{class:"success__content"},r.successMessageText,Yp("span",{class:"success__icon",dangerouslySetInnerHTML:o}))):Yp("dialog",{class:"dialog",onClick:r.onFormClose,open:e},Yp("div",{class:"dialog__position"},Yp("div",{class:"dialog__content",onClick:e=>{e.stopPropagation()}},Yp(zh,{options:r}),Yp(qh,{...n,onSubmitSuccess:c})))))}const Gh=()=>({name:"FeedbackModal",setupOnce(){},createDialog:({options:e,screenshotIntegration:t,sendFeedback:n,shadow:r})=>{const o=r,s=e.useSentryUser,i=function(){const e=Me().getUser(),t=Re().getUser(),n=Oe().getUser();return e&&Object.keys(e).length?e:t&&Object.keys(t).length?t:n}(),a=vp.createElement("div"),c=function(e){const t=vp.createElement("style");return t.textContent="\n:host {\n --dialog-inset: var(--inset);\n}\n\n\n.dialog {\n position: fixed;\n z-index: var(--z-index);\n margin: 0;\n inset: 0;\n\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n height: 100vh;\n width: 100vw;\n\n color: var(--dialog-color, var(--foreground));\n fill: var(--dialog-color, var(--foreground));\n line-height: 1.75em;\n\n background-color: rgba(0, 0, 0, 0.05);\n border: none;\n inset: 0;\n opacity: 1;\n transition: opacity 0.2s ease-in-out;\n}\n\n.dialog__position {\n position: fixed;\n z-index: var(--z-index);\n inset: var(--dialog-inset);\n padding: var(--page-margin);\n display: flex;\n max-height: calc(100vh - (2 * var(--page-margin)));\n}\n@media (max-width: 600px) {\n .dialog__position {\n inset: var(--page-margin);\n padding: 0;\n }\n}\n\n.dialog__position:has(.editor) {\n inset: var(--page-margin);\n padding: 0;\n}\n\n.dialog:not([open]) {\n opacity: 0;\n pointer-events: none;\n visibility: hidden;\n}\n.dialog:not([open]) .dialog__content {\n transform: translate(0, -16px) scale(0.98);\n}\n\n.dialog__content {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: var(--dialog-padding, 24px);\n max-width: 100%;\n width: 100%;\n max-height: 100%;\n overflow: auto;\n\n background: var(--dialog-background, var(--background));\n border-radius: var(--dialog-border-radius, 20px);\n border: var(--dialog-border, var(--border));\n box-shadow: var(--dialog-box-shadow, var(--box-shadow));\n transform: translate(0, 0) scale(1);\n transition: transform 0.2s ease-in-out;\n}\n\n\n\n.dialog__header {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n font-weight: var(--dialog-header-weight, 600);\n margin: 0;\n}\n.dialog__title {\n align-self: center;\n width: var(--form-width, 272px);\n}\n\n@media (max-width: 600px) {\n .dialog__title {\n width: auto;\n }\n}\n\n.dialog__position:has(.editor) .dialog__title {\n width: auto;\n}\n\n\n.brand-link {\n display: inline-flex;\n}\n.brand-link:focus-visible {\n outline: var(--outline);\n}\n\n\n.form {\n display: flex;\n overflow: auto;\n flex-direction: row;\n gap: 16px;\n flex: 1 0;\n}\n\n.form fieldset {\n border: none;\n margin: 0;\n padding: 0;\n}\n\n.form__right {\n flex: 0 0 auto;\n display: flex;\n overflow: auto;\n flex-direction: column;\n justify-content: space-between;\n gap: 20px;\n width: var(--form-width, 100%);\n}\n\n.dialog__position:has(.editor) .form__right {\n width: var(--form-width, 272px);\n}\n\n.form__top {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.form__error-container {\n color: var(--error-color);\n fill: var(--error-color);\n}\n\n.form__label {\n display: flex;\n flex-direction: column;\n gap: 4px;\n margin: 0px;\n}\n\n.form__label__text {\n display: flex;\n gap: 4px;\n align-items: center;\n}\n\n.form__label__text--required {\n font-size: 0.85em;\n}\n\n.form__input {\n font-family: inherit;\n line-height: inherit;\n background: transparent;\n box-sizing: border-box;\n border: var(--input-border, var(--border));\n border-radius: var(--input-border-radius, 6px);\n color: var(--input-color, inherit);\n fill: var(--input-color, inherit);\n font-size: var(--input-font-size, inherit);\n font-weight: var(--input-font-weight, 500);\n padding: 6px 12px;\n}\n\n.form__input::placeholder {\n opacity: 0.65;\n color: var(--input-placeholder-color, inherit);\n filter: var(--interactive-filter);\n}\n\n.form__input:focus-visible {\n outline: var(--input-focus-outline, var(--outline));\n}\n\n.form__input--textarea {\n font-family: inherit;\n resize: vertical;\n}\n\n.error {\n color: var(--error-color);\n fill: var(--error-color);\n}\n\n\n.btn-group {\n display: grid;\n gap: 8px;\n}\n\n.btn {\n line-height: inherit;\n border: var(--button-border, var(--border));\n border-radius: var(--button-border-radius, 6px);\n cursor: pointer;\n font-family: inherit;\n font-size: var(--button-font-size, inherit);\n font-weight: var(--button-font-weight, 600);\n padding: var(--button-padding, 6px 16px);\n}\n.btn[disabled] {\n opacity: 0.6;\n pointer-events: none;\n}\n\n.btn--primary {\n color: var(--button-primary-color, var(--accent-foreground));\n fill: var(--button-primary-color, var(--accent-foreground));\n background: var(--button-primary-background, var(--accent-background));\n border: var(--button-primary-border, var(--border));\n border-radius: var(--button-primary-border-radius, 6px);\n font-weight: var(--button-primary-font-weight, 500);\n}\n.btn--primary:hover {\n color: var(--button-primary-hover-color, var(--accent-foreground));\n fill: var(--button-primary-hover-color, var(--accent-foreground));\n background: var(--button-primary-hover-background, var(--accent-background));\n filter: var(--interactive-filter);\n}\n.btn--primary:focus-visible {\n background: var(--button-primary-hover-background, var(--accent-background));\n filter: var(--interactive-filter);\n outline: var(--button-primary-focus-outline, var(--outline));\n}\n\n.btn--default {\n color: var(--button-color, var(--foreground));\n fill: var(--button-color, var(--foreground));\n background: var(--button-background, var(--background));\n border: var(--button-border, var(--border));\n border-radius: var(--button-border-radius, 6px);\n font-weight: var(--button-font-weight, 500);\n}\n.btn--default:hover {\n color: var(--button-color, var(--foreground));\n fill: var(--button-color, var(--foreground));\n background: var(--button-hover-background, var(--background));\n filter: var(--interactive-filter);\n}\n.btn--default:focus-visible {\n background: var(--button-hover-background, var(--background));\n filter: var(--interactive-filter);\n outline: var(--button-focus-outline, var(--outline));\n}\n\n\n.success__position {\n position: fixed;\n inset: var(--dialog-inset);\n padding: var(--page-margin);\n z-index: var(--z-index);\n}\n.success__content {\n background: var(--success-background, var(--background));\n border: var(--success-border, var(--border));\n border-radius: var(--success-border-radius, 1.7em/50%);\n box-shadow: var(--success-box-shadow, var(--box-shadow));\n font-weight: var(--success-font-weight, 600);\n color: var(--success-color);\n fill: var(--success-color);\n padding: 12px 24px;\n line-height: 1.75em;\n\n display: grid;\n align-items: center;\n grid-auto-flow: column;\n gap: 6px;\n cursor: default;\n}\n\n.success__icon {\n display: flex;\n}\n\n",e&&t.setAttribute("nonce",e),t}(e.styleNonce);let u="";const l={get el(){return a},appendToDom(){o.contains(c)||o.contains(a)||(o.appendChild(c),o.appendChild(a))},removeFromDom(){o.removeChild(a),o.removeChild(c),vp.body.style.overflow=u},open(){p(!0),e.onFormOpen?.(),De()?.emit("openFeedbackWidget"),u=vp.body.style.overflow,vp.body.style.overflow="hidden"},close(){p(!1),vp.body.style.overflow=u}},d=t?.createInput({h:Yp,hooks:jh,dialog:l,options:e}),p=t=>{!function(e,t,n){var r,o,s;Dp.__&&Dp.__(e,t),r=t.__k,o=[],s=[],ch(t,e=t.__k=Yp(Gp,null,[e]),r||jp,jp,void 0!==t.ownerSVGElement,r?null:t.firstChild?Lp.call(t.childNodes):null,o,r?r.__e:t.firstChild,!1,s),e.__d=void 0,uh(o,e,s)}(Yp(Vh,{options:e,screenshotInput:d,showName:e.showName||e.isNameRequired,showEmail:e.showEmail||e.isEmailRequired,defaultName:s&&i&&i[s.name]||"",defaultEmail:s&&i&&i[s.email]||"",onFormClose:()=>{p(!1),e.onFormClose?.()},onSubmit:n,onSubmitSuccess:t=>{p(!1),e.onSubmitSuccess?.(t)},onSubmitError:t=>{e.onSubmitError?.(t)},onFormSubmitted:()=>{e.onFormSubmitted?.()},open:t}),a)};return l}});const Xh=33,Jh=yp.devicePixelRatio,Kh=e=>({x:Math.min(e.startX,e.endX),y:Math.min(e.startY,e.endY),width:Math.abs(e.startX-e.endX),height:Math.abs(e.startY-e.endY)}),Zh=e=>{const t=e.clientHeight,n=e.clientWidth,r=e.width/e.height;let o=t*r,s=t;o>n&&(o=n,s=n/r);return{x:(n-o)/2,y:(t-s)/2,width:o,height:s}};function Qh({h:e,hooks:t,options:n}){const r=function({h:e}){return function({top:t,left:n,corner:r,onGrabButton:o}){return e("button",{class:`editor__crop-corner editor__crop-corner--${r} `,style:{top:t,left:n},onMouseDown:e=>{e.preventDefault(),o(e,r)},onClick:e=>{e.preventDefault()}})}}({h:e});return function({action:o,imageBuffer:s,croppingRef:i,cropContainerRef:a,croppingRect:c,setCroppingRect:u,resize:l}){const d=t.useRef({initialX:0,initialY:0}),[p,h]=t.useState(!1),[f,m]=t.useState(!1);t.useEffect((()=>{const e=i.current;if(!e)return;const t=e.getContext("2d");if(!t)return;const n=Zh(s),r=Kh(c);t.clearRect(0,0,n.width,n.height),"crop"===o&&(t.fillStyle="rgba(0, 0, 0, 0.5)",t.fillRect(0,0,n.width,n.height),t.clearRect(r.x,r.y,r.width,r.height),t.strokeStyle="#ffffff",t.lineWidth=3,t.strokeRect(r.x+1,r.y+1,r.width-2,r.height-2),t.strokeStyle="#000000",t.lineWidth=1,t.strokeRect(r.x+3,r.y+3,r.width-6,r.height-6))}),[c,o]);const g=t.useCallback((e=>t=>{if(!i.current)return;const n=i.current,r=n.getBoundingClientRect(),o=t.clientX-r.x,s=t.clientY-r.y;switch(e){case"top-left":u((e=>({...e,startX:Math.min(Math.max(0,o),e.endX-Xh),startY:Math.min(Math.max(0,s),e.endY-Xh)})));break;case"top-right":u((e=>({...e,endX:Math.max(Math.min(o,n.width/Jh),e.startX+Xh),startY:Math.min(Math.max(0,s),e.endY-Xh)})));break;case"bottom-left":u((e=>({...e,startX:Math.min(Math.max(0,o),e.endX-Xh),endY:Math.max(Math.min(s,n.height/Jh),e.startY+Xh)})));break;case"bottom-right":u((e=>({...e,endX:Math.max(Math.min(o,n.width/Jh),e.startX+Xh),endY:Math.max(Math.min(s,n.height/Jh),e.startY+Xh)})))}}),[]),_=(e,t)=>{h(!0);const n=g(t),r=()=>{vp.removeEventListener("mousemove",n),vp.removeEventListener("mouseup",r),m(!0),h(!1)};vp.addEventListener("mouseup",r),vp.addEventListener("mousemove",n)};return e("div",{class:`editor__crop-container ${"crop"===o?"":"editor__crop-container--inactive"}\n ${f?"editor__crop-container--move":""}`,ref:a},e("canvas",{onMouseDown:e=>{if(p)return;d.current={initialX:e.clientX,initialY:e.clientY};const t=e=>{const t=i.current;if(!t)return;const n=e.clientX-d.current.initialX,r=e.clientY-d.current.initialY;u((o=>{const s=Math.max(0,Math.min(o.startX+n,t.width/Jh-(o.endX-o.startX))),i=Math.max(0,Math.min(o.startY+r,t.height/Jh-(o.endY-o.startY))),a=s+(o.endX-o.startX),c=i+(o.endY-o.startY);return d.current.initialX=e.clientX,d.current.initialY=e.clientY,{startX:s,startY:i,endX:a,endY:c}}))},n=()=>{vp.removeEventListener("mousemove",t),vp.removeEventListener("mouseup",n)};vp.addEventListener("mousemove",t),vp.addEventListener("mouseup",n)},ref:i}),"crop"===o&&e("div",null,e(r,{left:c.startX-3,top:c.startY-3,onGrabButton:_,corner:"top-left"}),e(r,{left:c.endX-30+3,top:c.startY-3,onGrabButton:_,corner:"top-right"}),e(r,{left:c.startX-3,top:c.endY-30+3,onGrabButton:_,corner:"bottom-left"}),e(r,{left:c.endX-30+3,top:c.endY-30+3,onGrabButton:_,corner:"bottom-right"})),"crop"===o&&e("div",{style:{left:Math.max(0,c.endX-191),top:Math.max(0,c.endY+8)},class:"editor__crop-btn-group "+(f?"editor__crop-btn-group--active":"")},e("button",{onClick:e=>{e.preventDefault(),i.current&&u({startX:0,startY:0,endX:i.current.width/Jh,endY:i.current.height/Jh}),m(!1)},class:"btn btn--default"},n.cancelButtonLabel),e("button",{onClick:e=>{e.preventDefault(),function(){const e=vp.createElement("canvas"),t=Zh(s),n=Kh(c);e.width=n.width*Jh,e.height=n.height*Jh;const r=e.getContext("2d");r&&s&&r.drawImage(s,n.x/t.width*s.width,n.y/t.height*s.height,n.width/t.width*s.width,n.height/t.height*s.height,0,0,e.width,e.height);const o=s.getContext("2d");o&&(o.clearRect(0,0,s.width,s.height),s.width=e.width,s.height=e.height,s.style.width=`${n.width}px`,s.style.height=`${n.height}px`,o.drawImage(e,0,0),l())}(),m(!1)},class:"btn btn--primary"},n.confirmButtonLabel)))}}function ef(e){const t=vp.createElement("style");return t.textContent="\n.editor {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n}\n.editor__image-container {\n padding: 10px;\n padding-top: 65px;\n padding-bottom: 65px;\n position: relative;\n height: 100%;\n border-radius: var(--menu-border-radius, 6px);\n\n background-color: #1A141F;\n background-image: repeating-linear-gradient(\n -145deg,\n transparent,\n transparent 8px,\n #1A141F 8px,\n #1A141F 11px\n ),\n repeating-linear-gradient(\n -45deg,\n transparent,\n transparent 15px,\n #302735 15px,\n #302735 16px\n );\n}\n\n.editor__annotation {\n z-index: 1;\n}\n.editor__annotation--active {\n z-index: 2;\n}\n\n.editor__canvas-container {\n width: 100%;\n height: 100%;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.editor__canvas-container canvas {\n object-fit: contain;\n position: absolute;\n}\n\n.editor__crop-container {\n custor: auto;\n position: absolute;\n z-index: 2;\n}\n.editor__crop-container--inactive {\n z-index: 1;\n}\n.editor__crop-container--move {\n cursor: move;\n}\n\n.editor__crop-btn-group {\n padding: 8px;\n gap: 8px;\n border-radius: var(--menu-border-radius, 6px);\n background: var(--button-background, var(--background));\n width: 175px;\n position: absolute;\n display: none;\n}\n.editor__crop-btn-group--active {\n display: flex;\n}\n\n.editor__crop-corner {\n width: 30px;\n height: 30px;\n position: absolute;\n background: none;\n border: 3px solid #ffffff;\n}\n\n.editor__crop-corner--top-left {\n cursor: nwse-resize;\n border-right: none;\n border-bottom: none;\n}\n.editor__crop-corner--top-right {\n cursor: nesw-resize;\n border-left: none;\n border-bottom: none;\n}\n.editor__crop-corner--bottom-left {\n cursor: nesw-resize;\n border-right: none;\n border-top: none;\n}\n.editor__crop-corner--bottom-right {\n cursor: nwse-resize;\n border-left: none;\n border-top: none;\n}\n.editor__tool-container {\n padding-top: 8px;\n display: flex;\n justify-content: space-between;\n}\n.editor__tool-bar {\n display: flex;\n gap: 8px;\n}\n.editor__tool {\n display: flex;\n padding: 8px 12px;\n justify-content: center;\n align-items: center;\n border: var(--button-border, var(--border));\n border-radius: var(--button-border-radius, 6px);\n background: var(--button-background, var(--background));\n color: var(--button-foreground, var(--foreground));\n}\n\n.editor__tool--active {\n background: var(--button-primary-background, var(--accent-background));\n color: var(--button-primary-foreground, var(--accent-foreground));\n}\n",e&&t.setAttribute("nonce",e),t}const tf=yp.devicePixelRatio;function nf({h:e,hooks:t,imageBuffer:n,dialog:r,options:o}){const s=function({hooks:e}){return function({onBeforeScreenshot:t,onScreenshot:n,onAfterScreenshot:r,onError:o}){e.useEffect((()=>{(async()=>{t();const e=await bp.mediaDevices.getDisplayMedia({video:{width:yp.innerWidth*yp.devicePixelRatio,height:yp.innerHeight*yp.devicePixelRatio},audio:!1,monitorTypeSurfaces:"exclude",preferCurrentTab:!0,selfBrowserSurface:"include",surfaceSwitching:"exclude"}),o=vp.createElement("video");await new Promise(((t,r)=>{o.srcObject=e,o.onloadedmetadata=()=>{n(o),e.getTracks().forEach((e=>e.stop())),t()},o.play().catch(r)})),r()})().catch(o)}),[])}}({hooks:t}),i=function({h:e}){return function({action:t,setAction:n}){const r=function({h:e}){return function(){return e("svg",{width:"20",height:"20",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("path",{d:"M8.5 12L12 8.5L14 11L11 14L8.5 12Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M12 8.5L11 3.5L2 2L3.5 11L8.5 12L12 8.5Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M2 2L7.5 7.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}))}}({h:e}),o=function({h:e}){return function(){return e("svg",{width:"20",height:"20",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("path",{d:"M15.25 12.5H12.5M12.5 12.5H4.50001C3.94773 12.5 3.50001 12.0523 3.50001 11.5V3.50002M12.5 12.5L12.5 4.50002C12.5 3.94773 12.0523 3.50002 11.5 3.50002H3.50001M12.5 12.5L12.5 15.25M3.50001 3.50002V0.750031M3.50001 3.50002H0.75",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}))}}({h:e});return e("div",{class:"editor__tool-container"},e("div",null),e("div",{class:"editor__tool-bar"},e("button",{type:"button",class:"editor__tool "+("crop"===t?"editor__tool--active":""),onClick:()=>{n("crop"===t?"":"crop")}},e(o,null)),e("button",{type:"button",class:"editor__tool "+("annotate"===t?"editor__tool--active":""),onClick:()=>{n("annotate"===t?"":"annotate")}},e(r,null))),e("div",null))}}({h:e}),a=function({h:e}){return function({action:t,imageBuffer:n,annotatingRef:r}){const o=()=>{const e=n.getContext("2d"),t=r.current;if(e&&t){e.drawImage(t,0,0,t.width,t.height,0,0,n.width,n.height);const r=t.getContext("2d");r&&r.clearRect(0,0,t.width,t.height)}};return e("canvas",{class:"editor__annotation "+("annotate"===t?"editor__annotation--active":""),onMouseDown:()=>{if("annotate"!==t)return;const e=e=>{const t=r.current;if(t){const n=t.getBoundingClientRect(),r=e.clientX-n.x,o=e.clientY-n.y,s=t.getContext("2d");s&&(s.lineTo(r,o),s.stroke(),s.beginPath(),s.moveTo(r,o))}},n=()=>{const t=r.current?.getContext("2d");t&&t.beginPath(),o(),vp.removeEventListener("mousemove",e),vp.removeEventListener("mouseup",n)};vp.addEventListener("mousemove",e),vp.addEventListener("mouseup",n)},ref:r})}}({h:e}),c=Qh({h:e,hooks:t,options:o});return function({onError:u}){const l=t.useMemo((()=>({__html:ef(o.styleNonce).innerText})),[]),d=t.useRef(null),p=t.useRef(null),h=t.useRef(null),f=t.useRef(null),[m,g]=t.useState("crop"),[_,y]=t.useState({startX:0,startY:0,endX:0,endY:0});function v(e,t){const n=e.current;if(!n)return;n.width=t.width*tf,n.height=t.height*tf,n.style.width=`${t.width}px`,n.style.height=`${t.height}px`;const r=n.getContext("2d");r&&r.scale(tf,tf)}function b(){const e=(e=>{const t=e.clientHeight,n=e.clientWidth,r=e.width/e.height;let o=t*r,s=t;return o>n&&(o=n,s=n/r),{x:(n-o)/2,y:(t-s)/2,width:o,height:s}})(n);v(f,e),v(h,e);const t=p.current;t&&(t.style.width=`${e.width}px`,t.style.height=`${e.height}px`),y({startX:0,startY:0,endX:e.width,endY:e.height})}return t.useEffect((()=>(yp.addEventListener("resize",b),()=>{yp.removeEventListener("resize",b)})),[]),s({onBeforeScreenshot:t.useCallback((()=>{r.el.style.display="none"}),[]),onScreenshot:t.useCallback((e=>{const t=n.getContext("2d");if(!t)throw new Error("Could not get canvas context");n.width=e.videoWidth,n.height=e.videoHeight,n.style.width="100%",n.style.height="100%",t.drawImage(e,0,0)}),[n]),onAfterScreenshot:t.useCallback((()=>{r.el.style.display="block";d.current?.appendChild(n),b()}),[]),onError:t.useCallback((e=>{r.el.style.display="block",u(e)}),[])}),e("div",{class:"editor"},e("style",{nonce:o.styleNonce,dangerouslySetInnerHTML:l}),e("div",{class:"editor__image-container"},e("div",{class:"editor__canvas-container",ref:d},e(c,{action:m,imageBuffer:n,croppingRef:f,cropContainerRef:p,croppingRect:_,setCroppingRect:y,resize:b}),e(a,{action:m,imageBuffer:n,annotatingRef:h}))),o._experiments.annotations&&e(i,{action:m,setAction:g}))}}const rf=()=>({name:"FeedbackScreenshot",setupOnce(){},createInput:({h:e,hooks:t,dialog:n,options:r})=>{const o=vp.createElement("canvas");return{input:nf({h:e,hooks:t,imageBuffer:o,dialog:n,options:r}),value:async()=>{const e=await new Promise((e=>{o.toBlob(e,"image/png")}));if(e){return{data:new Uint8Array(await e.arrayBuffer()),filename:"screenshot.png",contentType:"application/png"}}}}}}),of=Op({lazyLoadIntegration:ai}),sf=Op({getModalIntegration:()=>Gh,getScreenshotIntegration:()=>rf});function af(e){return"number"==typeof e&&isFinite(e)}function cf(e,t,n,{...r}){const o=It(e).start_timestamp;return o&&o>t&&"function"==typeof e.updateStartTime&&e.updateStartTime(t),ar(e,(()=>{const e=sr({startTime:t,...r});return e&&e.end(n),e}))}function uf(e){const t=De();if(!t)return;const{name:n,transaction:r,attributes:o,startTime:s}=e,{release:i,environment:a,sendDefaultPii:c}=t.getOptions(),u=t.getIntegrationByName("Replay")?.getReplayId(),l=Me(),d=l.getUser(),p=void 0!==d?d.email||d.id||d.ip_address:void 0;let h;try{h=l.getScopeData().contexts.profile.profile_id}catch{}return sr({name:n,attributes:{release:i,environment:a,user:p||void 0,profile_id:h||void 0,replay_id:u||void 0,transaction:r,"user_agent.original":Wo.navigator?.userAgent,"client.address":c?"{{auto}}":void 0,...o},startTime:s,experimental:{standalone:!0}})}function lf(){return Wo.addEventListener&&Wo.performance}function df(e){return e/1e3}function pf(e){let t="unknown",n="unknown",r="";for(const o of e){if("/"===o){[t,n]=e.split("/");break}if(!isNaN(Number(o))){t="h"===r?"http":r,n=e.split(r)[1];break}r+=o}return r===e&&(t=r),{name:t,version:n}}function hf(e={}){const t=De();if(!function(){const e=De();return!1!==e?.getOptions().enabled&&!!e?.getTransport()}()||!t)return{};const n=Ie($());if(n.getTraceData)return n.getTraceData(e);const r=Me(),o=e.span||Pt(),s=o?xt(o):function(e){const{traceId:t,sampled:n,propagationSpanId:r}=e.getPropagationContext();return bt(t,r,n)}(r),i=ut(o?Ht(o):zt(t,r));return yt.test(s)?{"sentry-trace":s,baggage:i}:(H.warn("Invalid sentry-trace data. Cannot generate trace data"),{})}function ff(e,t,n,r,o="auto.http.browser"){if(!e.fetchData)return;const{method:s,url:i}=e.fetchData,a=dt()&&t(i);if(e.endTimestamp&&a){const t=e.fetchData.__span;if(!t)return;const n=r[t];return void(n&&(!function(e,t){if(t.response){ht(e,t.response.status);const n=t.response?.headers&&t.response.headers.get("content-length");if(n){const t=parseInt(n);t>0&&e.setAttribute("http.response_content_length",t)}}else t.error&&e.setStatus({code:2,message:"internal_error"});e.end()}(n,e),delete r[t]))}const c=function(e){try{return new URL(e).href}catch{return}}(i),d=Ls(c||i),p=!!Pt(),h=a&&p?sr({name:`${s} ${Ds(i)}`,attributes:{url:i,type:"fetch","http.method":s,"http.url":c,"server.address":d?.host,[l]:o,[u]:"http.client",...d?.search&&{"http.query":d?.search},...d?.hash&&{"http.fragment":d?.hash}}}):new An;if(e.fetchData.__span=h.spanContext().spanId,r[h.spanContext().spanId]=h,n(e.fetchData.url)){const t=e.args[0],n=e.args[1]||{},r=function(e,t,n){const r=hf({span:n}),o=r["sentry-trace"],s=r.baggage;if(!o)return;const i=t.headers||(function(e){return"undefined"!=typeof Request&&I(e,Request)}(e)?e.headers:void 0);if(i){if(function(e){return"undefined"!=typeof Headers&&I(e,Headers)}(i)){const e=new Headers(i);if(e.set("sentry-trace",o),s){const t=e.get("baggage");if(t){const n=mf(t);e.set("baggage",n?`${n},${s}`:s)}else e.set("baggage",s)}return e}if(Array.isArray(i)){const e=[...i.filter((e=>!(Array.isArray(e)&&"sentry-trace"===e[0]))).map((e=>{if(Array.isArray(e)&&"baggage"===e[0]&&"string"==typeof e[1]){const[t,n,...r]=e;return[t,mf(n),...r]}return e})),["sentry-trace",o]];return s&&e.push(["baggage",s]),e}{const e="baggage"in i?i.baggage:void 0;let t=[];return Array.isArray(e)?t=e.map((e=>"string"==typeof e?mf(e):e)).filter((e=>""===e)):e&&t.push(mf(e)),s&&t.push(s),{...i,"sentry-trace":o,baggage:t.length>0?t.join(","):void 0}}}return{...r}}(t,n,dt()&&p?h:void 0);r&&(e.args[1]=n,n.headers=r)}const f=De();if(f){const t={input:e.args,response:e.response,startTimestamp:e.startTimestamp,endTimestamp:e.endTimestamp};f.emit("beforeOutgoingRequestSpan",h,t)}return h}function mf(e){return e.split(",").filter((e=>!e.split("=")[0].startsWith(it))).join(",")}const gf=new WeakMap,_f=new Map,yf={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function vf(e,t){const{traceFetch:n,traceXHR:r,trackFetchStreamPerformance:o,shouldCreateSpanForRequest:s,enableHTTPTimings:i,tracePropagationTargets:a}={traceFetch:yf.traceFetch,traceXHR:yf.traceXHR,trackFetchStreamPerformance:yf.trackFetchStreamPerformance,...t},c="function"==typeof s?s:e=>!0,d=e=>function(e,t){const n=D();if(n){let r,o;try{r=new URL(e,n),o=new URL(n).origin}catch(e){return!1}const s=r.origin===o;return t?G(r.toString(),t)||s&&G(r.pathname,t):s}{const n=!!e.match(/^\/(?!\/)/);return t?G(e,t):n}}(e,a),p={};n&&(e.addEventProcessor((e=>("transaction"===e.type&&e.spans&&e.spans.forEach((e=>{if("http.client"===e.op){const t=_f.get(e.span_id);t&&(e.timestamp=t/1e3,_f.delete(e.span_id))}})),e))),o&&function(e){const t="fetch-body-resolved";kn(t,e),xn(t,(()=>Is(Ms)))}((e=>{if(e.response){const t=gf.get(e.response);t&&e.endTimestamp&&_f.set(t,e.endTimestamp)}})),Ts((e=>{const t=ff(e,c,d,p);if(e.response&&e.fetchData.__span&&gf.set(e.response,e.fetchData.__span),t){const n=wf(e.fetchData.url),r=n?Ls(n).host:void 0;t.setAttributes({"http.url":n,"server.address":r})}i&&t&&bf(t)}))),r&&ws((e=>{const t=function(e,t,n,r){const o=e.xhr,s=o?.__sentry_xhr_v3__;if(!o||o.__sentry_own_request__||!s)return;const{url:i,method:a}=s,c=dt()&&t(i);if(e.endTimestamp&&c){const e=o.__sentry_xhr_span_id__;if(!e)return;const t=r[e];return void(t&&void 0!==s.status_code&&(ht(t,s.status_code),t.end(),delete r[e]))}const d=wf(i),p=Ls(d||i),h=Ds(i),f=!!Pt(),m=c&&f?sr({name:`${a} ${h}`,attributes:{url:i,type:"xhr","http.method":a,"http.url":d,"server.address":p?.host,[l]:"auto.http.browser",[u]:"http.client",...p?.search&&{"http.query":p?.search},...p?.hash&&{"http.fragment":p?.hash}}}):new An;o.__sentry_xhr_span_id__=m.spanContext().spanId,r[o.__sentry_xhr_span_id__]=m,n(i)&&function(e,t){const{"sentry-trace":n,baggage:r}=hf({span:t});n&&function(e,t,n){try{e.setRequestHeader("sentry-trace",t),n&&e.setRequestHeader("baggage",n)}catch(e){}}(e,n,r)}(o,dt()&&f?m:void 0);const g=De();g&&g.emit("beforeOutgoingRequestSpan",m,e);return m}(e,c,d,p);i&&t&&bf(t)}))}function bf(e){const{url:t}=It(e).data;if(!t||"string"!=typeof t)return;const n=ka("resource",(({entries:r})=>{r.forEach((r=>{if(function(e){return"resource"===e.entryType&&"initiatorType"in e&&"string"==typeof e.nextHopProtocol&&("fetch"===e.initiatorType||"xmlhttprequest"===e.initiatorType)}(r)&&r.name.endsWith(t)){(function(e){const{name:t,version:n}=pf(e.nextHopProtocol),r=[];if(r.push(["network.protocol.version",n],["network.protocol.name",t]),!ae())return r;return[...r,["http.request.redirect_start",Sf(e.redirectStart)],["http.request.fetch_start",Sf(e.fetchStart)],["http.request.domain_lookup_start",Sf(e.domainLookupStart)],["http.request.domain_lookup_end",Sf(e.domainLookupEnd)],["http.request.connect_start",Sf(e.connectStart)],["http.request.secure_connection_start",Sf(e.secureConnectionStart)],["http.request.connection_end",Sf(e.connectEnd)],["http.request.request_start",Sf(e.requestStart)],["http.request.response_start",Sf(e.responseStart)],["http.request.response_end",Sf(e.responseEnd)]]})(r).forEach((t=>e.setAttribute(...t))),setTimeout(n)}}))}))}function Sf(e=0){return((ae()||performance.timeOrigin)+e)/1e3}function wf(e){try{return new URL(e,mo.location.origin).href}catch{return}}function kf(){let e,t,n=0;if(!function(){try{return PerformanceObserver.supportedEntryTypes.includes("layout-shift")}catch{return!1}}())return;let r=!1;function o(){r||(r=!0,t&&function(e,t,n){qo&&H.log(`Sending CLS span (${e})`);const r=df((ae()||0)+(t?.startTime||0)),o=Me().getScopeData().transactionName,s=t?A(t.sources[0]?.node):"Layout shift",i=ne({[l]:"auto.http.browser.cls",[u]:"ui.webvital.cls",[g]:t?.duration||0,"sentry.pageload.span_id":n}),a=uf({name:s,transaction:o,attributes:i,startTime:r});a&&(a.addEvent("cls",{[p]:"",[h]:e}),a.end(r))}(n,e,t),s())}const s=va((({metric:t})=>{const r=t.entries[t.entries.length-1];r&&(n=t.value,e=r)}),!0);$i((()=>{o()})),setTimeout((()=>{const e=De();if(!e)return;const n=e.on("startNavigationSpan",(()=>{o(),n?.()})),r=Pt();if(r){const e=Nt(r);"pageload"===It(e).op&&(t=e.spanContext().spanId)}}),0)}let xf,Ef,Cf=0,Tf={};function If({recordClsStandaloneSpans:e}){const t=lf();if(t&&ae()){t.mark&&Wo.performance.mark("sentry-tracing-init");const n=Sa((({metric:e})=>{const t=e.entries[e.entries.length-1];if(!t)return;const n=df(ae()),r=df(t.startTime);Tf.fid={value:e.value,unit:"millisecond"},Tf["mark.fid"]={value:n+r,unit:"second"}})),r=ba((({metric:e})=>{const t=e.entries[e.entries.length-1];t&&(Tf.lcp={value:e.value,unit:"millisecond"},xf=t)}),!0),o=Ra("ttfb",(({metric:e})=>{e.entries[e.entries.length-1]&&(Tf.ttfb={value:e.value,unit:"millisecond"})}),Ia,_a),s=e?kf():va((({metric:e})=>{const t=e.entries[e.entries.length-1];t&&(Tf.cls={value:e.value,unit:""},Ef=t)}),!0);return()=>{n(),r(),o(),s?.()}}return()=>{}}function Mf(e,t){const n=lf(),r=ae();if(!n?.getEntries||!r)return;const o=df(r),s=n.getEntries(),{op:i,start_timestamp:a}=It(e);if(s.slice(Cf).forEach((t=>{const n=df(t.startTime),r=df(Math.max(0,t.duration));if(!("navigation"===i&&a&&o+n {Rf(e,t,r,n)})),Rf(e,t,"secureConnection",n,"TLS/SSL"),Rf(e,t,"fetch",n,"cache"),Rf(e,t,"domainLookup",n,"DNS"),function(e,t,n){const r=n+df(t.requestStart),o=n+df(t.responseEnd),s=n+df(t.responseStart);t.responseEnd&&(cf(e,r,o,{op:"browser.request",name:t.name,attributes:{[l]:"auto.ui.browser.metrics"}}),cf(e,s,o,{op:"browser.response",name:t.name,attributes:{[l]:"auto.ui.browser.metrics"}}))}(e,t,n)}(e,t,o);break;case"mark":case"paint":case"measure":{!function(e,t,n,r,o){const s=Li(!1),i=df(s?s.requestStart:0),a=o+Math.max(n,i),c=o+n,u=c+r,d={[l]:"auto.resource.browser.metrics"};a!==c&&(d["sentry.browser.measure_happened_before_request"]=!0,d["sentry.browser.measure_start_time"]=a);a <=u&&cf(e,a,u,{name:t.name,op:t.entryType,attributes:d})}(e,t,n,r,o);const s=zi(),i=t.startTime{Kn(e,t.value,t.unit)})),e.setAttribute("performance.timeOrigin",o),e.setAttribute("performance.activationStart",Di()),function(e){xf&&(xf.element&&e.setAttribute("lcp.element",A(xf.element)),xf.id&&e.setAttribute("lcp.id",xf.id),xf.url&&e.setAttribute("lcp.url",xf.url.trim().slice(0,200)),null!=xf.loadTime&&e.setAttribute("lcp.loadTime",xf.loadTime),null!=xf.renderTime&&e.setAttribute("lcp.renderTime",xf.renderTime),e.setAttribute("lcp.size",xf.size));Ef?.sources&&Ef.sources.forEach(((t,n)=>e.setAttribute(`cls.source.${n+1}`,A(t.node))))}(e)}xf=void 0,Ef=void 0,Tf={}}function Rf(e,t,n,r,o=n){const s=function(e){if("secureConnection"===e)return"connectEnd";if("fetch"===e)return"domainLookupStart";return`${e}End`}(n),i=t[s],a=t[`${n}Start`];a&&i&&cf(e,r+df(a),r+df(i),{op:`browser.${o}`,name:t.name,attributes:{[l]:"auto.ui.browser.metrics"}})}function Of(e,t,n,r){const o=t[n];null!=o&&o <2147483647&&(e[r]=o)}const Af=[],Lf=new Map;function Df(){if(lf()&&ae()){const e=wa((({metric:e})=>{if(null==e.value)return;const t=e.entries.find((t=>t.duration===e.value&&Nf[t.name]));if(!t)return;const{interactionId:n}=t,r=Nf[t.name],o=df(ae()+t.startTime),s=df(e.value),i=Pt(),a=i?Nt(i):void 0,c=(null!=n?Lf.get(n):void 0)||a,d=c?It(c).description:Me().getScopeData().transactionName,f=uf({name:A(t.target),transaction:d,attributes:ne({[l]:"auto.http.browser.inp",[u]:`ui.interaction.${r}`,[g]:t.duration}),startTime:o});f&&(f.addEvent("inp",{[p]:"millisecond",[h]:e.value}),f.end(o+s))}));return()=>{e()}}return()=>{}}const Nf={click:"click",pointerdown:"click",pointerup:"click",mousedown:"click",mouseup:"click",touchstart:"click",touchend:"click",mouseover:"hover",mouseout:"hover",mouseenter:"hover",mouseleave:"hover",pointerover:"hover",pointerout:"hover",pointerenter:"hover",pointerleave:"hover",dragstart:"drag",dragend:"drag",drag:"drag",dragenter:"drag",dragleave:"drag",dragover:"drag",drop:"drag",keydown:"press",keyup:"press",keypress:"press",input:"press"};const Pf={idleTimeout:1e3,finalTimeout:3e4,childSpanTimeout:15e3};function $f(e,t={}){const n=new Map;let r,o=!1,s="externalFinish",i=!t.disableAutoFinish;const a=[],{idleTimeout:c=Pf.idleTimeout,finalTimeout:u=Pf.finalTimeout,childSpanTimeout:l=Pf.childSpanTimeout,beforeSpanEnd:p}=t,h=De();if(!h||!dt()){const e=new An;return jt(e,{sample_rate:"0",sampled:"false",...Ht(e)}),e}const f=Me(),m=Pt(),g=function(e){const t=sr(e);return be(Me(),t),Fe&&H.log("[Tracing] Started span is an idle span"),t}(e);function _(){r&&(clearTimeout(r),r=void 0)}function y(e){_(),r=setTimeout((()=>{!o&&0===n.size&&i&&(s="idleTimeout",g.end(e))}),c)}function v(e){r=setTimeout((()=>{!o&&i&&(s="heartbeatFailed",g.end(e))}),l)}function b(e){o=!0,n.clear(),a.forEach((e=>e())),be(f,m);const t=It(g),{start_timestamp:r}=t;if(!r)return;t.data["sentry.idle_span_finish_reason"]||g.setAttribute(d,s),H.log(`[Tracing] Idle span "${t.op}" finished`);const i=Dt(g).filter((e=>e!==g));let l=0;i.forEach((t=>{t.isRecording()&&(t.setStatus({code:2,message:"cancelled"}),t.end(e),Fe&&H.log("[Tracing] Cancelling span since span ended early",JSON.stringify(t,void 0,2)));const n=It(t),{timestamp:r=0,start_timestamp:o=0}=n,s=o <=e,i=r-o<=(u+c)/1e3;if(Fe){const e=JSON.stringify(t,void 0,2);s?i||H.log( "[Tracing] Discarding span since it finished after idle span final timeout",e):H.log( "[Tracing] Discarding span since it happened after idle span was finished",e)}i&&s||(!function(e,t){e._sentryChildSpans&&e._sentryChildSpans.delete(t)}(g,t),l++)})),l>0&&g.setAttribute("sentry.idle_span_discarded_spans",l)}return g.end=new Proxy(g.end,{apply(e,t,n){if(p&&p(g),t instanceof An)return;const[r,...o]=n,s=Ct(r||se()),i=Dt(g).filter((e=>e!==g));if(!i.length)return b(s),Reflect.apply(e,t,[s,...o]);const a=i.map((e=>It(e).timestamp)).filter((e=>!!e)),c=a.length?Math.max(...a):void 0,l=It(g).start_timestamp,d=Math.min(l?l+u/1e3:1/0,Math.max(l||-1/0,Math.min(s,c||1/0)));return b(d),Reflect.apply(e,t,[d,...o])}}),a.push(h.on("spanStart",(e=>{if(o||e===g||It(e).timestamp)return;var t;Dt(g).includes(e)&&(t=e.spanContext().spanId,_(),n.set(t,!0),v(se()+l/1e3))}))),a.push(h.on("spanEnd",(e=>{var t;o||(t=e.spanContext().spanId,n.has(t)&&n.delete(t),0===n.size&&y(se()+c/1e3))}))),a.push(h.on("idleSpanEnableAutoFinish",(e=>{e===g&&(i=!0,y(),n.size&&v())}))),t.disableAutoFinish||y(),setTimeout((()=>{o||(g.setStatus({code:2,message:"deadline_exceeded"}),s="finalTimeout",g.end())}),u),g}const Ff={...Pf,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,_experiments:{},...yf},Bf=(e={})=>{const t=mo.document;Qr();const{enableInp:n,enableLongTask:r,enableLongAnimationFrame:o,_experiments:{enableInteractions:s,enableStandaloneClsSpans:i},beforeStartSpan:c,idleTimeout:u,finalTimeout:p,childSpanTimeout:h,markBackgroundSpan:f,traceFetch:m,traceXHR:g,trackFetchStreamPerformance:_,shouldCreateSpanForRequest:y,enableHTTPTimings:v,instrumentPageLoad:b,instrumentNavigation:S}={...Ff,...e},w=If({recordClsStandaloneSpans:i||!1});n&&Df(),o&&R.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes("long-animation-frame")?new PerformanceObserver((e=>{const t=Pt();if(t)for(const n of e.getEntries()){if(!n.scripts[0])continue;const e=df(ae()+n.startTime),{start_timestamp:r,op:o}=It(t);if("navigation"===o&&r&&e {const t=Pt();if(!t)return;const{op:n,start_timestamp:r}=It(t);for(const o of e){const e=df(ae()+o.startTime),s=df(o.duration);"navigation"===n&&r&&e {const t=Pt();if(t)for(const n of e)if("click"===n.name){const e=df(ae()+n.startTime),r=df(n.duration),o={name:A(n.target),op:`ui.interaction.${n.name}`,startTime:e,attributes:{[l]:"auto.ui.browser.metrics"}},s=N(n.target);s&&(o.attributes["ui.component_name"]=s),cf(t,e,e+r,o)}}));const k={name:void 0,source:void 0};function x(e,n){const r="pageload"===n.op,o=c?c(n):n,s=o.attributes||{};n.name!==o.name&&(s[a]="custom",o.attributes=s),k.name=o.name,k.source=s[a];const l=$f(o,{idleTimeout:u,finalTimeout:p,childSpanTimeout:h,disableAutoFinish:r,beforeSpanEnd:t=>{w(),Mf(t,{recordClsOnPageloadSpan:!i}),Wf(e,void 0);const n=Me(),r=n.getPropagationContext();n.setPropagationContext({...r,traceId:l.spanContext().traceId,sampled:Mt(l),dsc:Ht(t)})}});function d(){t&&["interactive","complete"].includes(t.readyState)&&e.emit("idleSpanEnableAutoFinish",l)}Wf(e,l),r&&t&&(t.addEventListener("readystatechange",(()=>{d()})),d())}return{name:"BrowserTracing",afterAllSetup(e){let t=D();function r(){const t=qf(e);t&&!It(t).timestamp&&(ms&&H.log(`[Tracing] Finishing current active span with op: ${It(t).op}`),t.end())}if(e.on("startNavigationSpan",(t=>{De()===e&&(r(),Re().setPropagationContext({traceId:ge(),sampleRand:Math.random()}),Me().setPropagationContext({traceId:ge(),sampleRand:Math.random()}),x(e,{op:"navigation",...t}))})),e.on("startPageLoadSpan",((t,n={})=>{if(De()!==e)return;r();const o=vt(n.sentryTrace||zf("sentry-trace"),n.baggage||zf("baggage"));Me().setPropagationContext(o),x(e,{op:"pageload",...t})})),mo.location){if(b){const t=ae();jf(e,{name:mo.location.pathname,startTime:t?t/1e3:void 0,attributes:{[a]:"url",[l]:"auto.pageload.browser"}})}S&&Es((({to:n,from:r})=>{void 0!==r||-1===t?.indexOf(n)?r!==n&&(t=void 0,Uf(e,{name:mo.location.pathname,attributes:{[a]:"url",[l]:"auto.navigation.browser"}})):t=void 0}))}f&&(mo.document?mo.document.addEventListener("visibilitychange",(()=>{const e=Pt();if(!e)return;const t=Nt(e);if(mo.document.hidden&&t){const e="cancelled",{op:n,status:r}=It(t);ms&&H.log(`[Tracing] Transaction: ${e} -> since tab moved to the background, op: ${n}`),r||t.setStatus({code:2,message:e}),t.setAttribute("sentry.cancellation_reason","document.hidden"),t.end()}})):ms&&H.warn("[Tracing] Could not set up background tab detection due to lack of global document")),s&&function(e,t,n,r,o){const s=mo.document;let i;const c=()=>{const s="ui.action.click",c=qf(e);if(c){const e=It(c).op;if(["navigation","pageload"].includes(e))return void(ms&&H.warn(`[Tracing] Did not create ${s} span because a pageload or navigation span is in progress.`))}i&&(i.setAttribute(d,"interactionInterrupted"),i.end(),i=void 0),o.name?i=$f({name:o.name,op:s,attributes:{[a]:o.source||"url"}},{idleTimeout:t,finalTimeout:n,childSpanTimeout:r}):ms&&H.warn(`[Tracing] Did not create ${s} transaction because _latestRouteName is missing.`)};s&&addEventListener("click",c,{once:!1,capture:!0})}(e,u,p,h,k),n&&function(){const e=({entries:e})=>{const t=Pt(),n=t&&Nt(t);e.forEach((e=>{if(!function(e){return"duration"in e}(e)||!n)return;const t=e.interactionId;if(null!=t&&!Lf.has(t)){if(Af.length>10){const e=Af.shift();Lf.delete(e)}Af.push(t),Lf.set(t,n)}}))};ka("event",e),ka("first-input",e)}(),vf(e,{traceFetch:m,traceXHR:g,trackFetchStreamPerformance:_,tracePropagationTargets:e.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:y,enableHTTPTimings:v})}}};function jf(e,t,n){return e.emit("startPageLoadSpan",t,n),Me().setTransactionName(t.name),qf(e)}function Uf(e,t){return e.emit("startNavigationSpan",t),Me().setTransactionName(t.name),qf(e)}function zf(e){const t=mo.document?.querySelector(`meta[name=${e}]`);return t?.getAttribute("content")||void 0}const Hf="_sentry_idleSpan";function qf(e){return e._sentry_idleSpan}function Wf(e,t){J(e,Hf,t)}const Yf=5e3;function Vf(e){function t(...e){Fe&&H.info("[Offline]:",...e)}return n=>{const r=e(n);if(!n.createStore)throw new Error("No `createStore` function was provided");const o=n.createStore(n);let s,i=Yf;function a(e){s&&clearTimeout(s),s=setTimeout((async()=>{s=void 0;const e=await o.shift();e&&(t("Attempting to send previously queued event"),e[0].sent_at=(new Date).toISOString(),u(e,!0).catch((e=>{t("Failed to retry sending",e)})))}),e),"number"!=typeof s&&s.unref&&s.unref()}function c(){s||(a(i),i=Math.min(2*i,36e5))}async function u(e,s=!1){if(!s&&Un(e,["replay_event","replay_recording"]))return await o.push(e),a(100),{};try{const t=await r.send(e);let n=100;if(t)if(t.headers?.["retry-after"])n=yr(t.headers["retry-after"]);else if(t.headers?.["x-sentry-rate-limits"])n=6e4;else if((t.statusCode||0)>=400)return t;return a(n),i=Yf,t}catch(r){if(await function(e,t,r){return!Un(e,["client_report"])&&(!n.shouldStore||n.shouldStore(e,t,r))}(e,r,i))return s?await o.unshift(e):await o.push(e),c(),t("Error sending. Event queued.",r),{};throw r}}return n.flushAtStartup&&c(),{send:u,flush:e=>(void 0===e&&(i=Yf,a(100)),r.flush(e))}}}function Gf(e){return new Promise(((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)}))}function Xf(e){return Gf(e.getAllKeys())}function Jf(e){let t;function n(){return null==t&&(t=function(e,t){const n=indexedDB.open(e);n.onupgradeneeded=()=>n.result.createObjectStore(t);const r=Gf(n);return e=>r.then((n=>e(n.transaction(t,"readwrite").objectStore(t))))}(e.dbName||"sentry-offline",e.storeName||"queue")),t}return{push:async t=>{try{const r=await Hn(t);await function(e,t,n){return e((e=>Xf(e).then((r=>{if(!(r.length>=n))return e.put(t,Math.max(...r,0)+1),Gf(e.transaction)}))))}(n(),r,e.maxQueueSize||30)}catch(e){}},unshift:async t=>{try{const r=await Hn(t);await function(e,t,n){return e((e=>Xf(e).then((r=>{if(!(r.length>=n))return e.put(t,Math.min(...r,0)-1),Gf(e.transaction)}))))}(n(),r,e.maxQueueSize||30)}catch(e){}},shift:async()=>{try{const e=await function(e){return e((e=>Xf(e).then((t=>{const n=t[0];if(null!=n)return Gf(e.get(n)).then((t=>(e.delete(n),Gf(e.transaction).then((()=>t)))))}))))}(n());if(e)return qn(e)}catch(e){}}}}function Kf(e=Jo){return function(e){return t=>{const n=e({...t,createStore:Jf});return mo.addEventListener("online",(async e=>{await n.flush()})),n}}(Vf(e))}const Zf=1e6,Qf=String(0),em="main",tm=mo.navigator;let nm="",rm="",om="",sm=tm?.userAgent||"",im="";const am=tm?.language||tm?.languages?.[0]||"";const cm=tm?.userAgentData;var um;function lm(e){return function(e){return!("thread_metadata"in e)}(e)?function(e){let t,n=0;const r={samples:[],stacks:[],frames:[],thread_metadata:{[Qf]:{name:em}}},o=e.samples[0];if(!o)return r;const s=o.timestamp,i=ae(),a="number"==typeof performance.timeOrigin?performance.timeOrigin:i||0,c=a-(i||a);return e.samples.forEach(((o,i)=>{if(void 0===o.stackId)return void 0===t&&(t=n,r.stacks[t]=[],n++),void(r.samples[i]={elapsed_since_start_ns:((o.timestamp+c-s)*Zf).toFixed(0),stack_id:t,thread_id:Qf});let a=e.stacks[o.stackId];const u=[];for(;a;){u.push(a.frameId);const t=e.frames[a.frameId];t&&void 0===r.frames[a.frameId]&&(r.frames[a.frameId]={function:t.name,abs_path:"number"==typeof t.resourceId?e.resources[t.resourceId]:void 0,lineno:t.line,colno:t.column}),a=void 0===a.parentId?void 0:e.stacks[a.parentId]}const l={elapsed_since_start_ns:((o.timestamp+c-s)*Zf).toFixed(0),stack_id:n,thread_id:Qf};r.stacks[n]=u,r.samples[i]=l,n++})),r}(e):e}function dm(e,t,n,r){if("transaction"!==r.type)throw new TypeError("Profiling events may only be attached to transactions, this should never occur.");if(null==n)throw new TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${n} instead.`);const o=function(e){const t=e.contexts?.trace?.trace_id;return"string"==typeof t&&32!==t.length&&ms&&H.log(`[Profiling] Invalid traceId: ${t} on profiled event`),"string"!=typeof t?"":t}(r),s=lm(n),i=t||("number"==typeof r.start_timestamp?1e3*r.start_timestamp:1e3*se()),a="number"==typeof r.timestamp?1e3*r.timestamp:1e3*se();return{event_id:e,timestamp:new Date(i).toISOString(),platform:"javascript",version:"1",release:r.release||"",environment:r.environment||Be,runtime:{name:"javascript",version:mo.navigator.userAgent},os:{name:nm,version:rm,build_number:sm},device:{locale:am,model:im,manufacturer:sm,architecture:om,is_emulator:!1},debug_meta:{images:hm(n.resources)},profile:s,transactions:[{name:r.transaction||"",id:r.event_id||ce(),trace_id:o,active_thread_id:Qf,relative_start_ns:"0",relative_end_ns:(1e6*(a-i)).toFixed(0)}]}}function pm(e){return"pageload"===It(e).op}function hm(e){const t=De()?.getOptions(),n=t?.stackParser;return n?function(e,t){const n=Ge(e);if(!n)return[];const r=[];for(const e of t)e&&n[e]&&r.push({type:"sourcemap",code_file:e,debug_id:n[e]});return r}(n,e):[]}"object"==typeof(um=cm)&&null!==um&&"getHighEntropyValues"in um&&cm.getHighEntropyValues(["architecture","model","platform","platformVersion","fullVersionList"]).then((e=>{if(nm=e.platform||"",om=e.architecture||"",im=e.model||"",rm=e.platformVersion||"",e.fullVersionList?.length){const t=e.fullVersionList[e.fullVersionList.length-1];sm=`${t.brand} ${t.version}`}})).catch((e=>{}));let fm=!1;function mm(e){if(fm)return ms&&H.log("[Profiling] Profiling has been disabled for the duration of the current user session."),!1;if(!e.isRecording())return ms&&H.log("[Profiling] Discarding profile because transaction was not sampled."),!1;const t=De()?.getOptions();if(!t)return ms&&H.log("[Profiling] Profiling disabled, no options found."),!1;const n=t.profilesSampleRate;if(!("number"!=typeof(r=n)&&"boolean"!=typeof r||"number"==typeof r&&isNaN(r)?(ms&&H.warn(`[Profiling] Invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(r)} of type ${JSON.stringify(typeof r)}.`),0):!0===r||!1===r||!(r <0||r>1)||(ms&&H.warn(`[Profiling] Invalid sample rate. Sample rate must be between 0 and 1. Got ${r}.`),0)))return ms&&H.warn("[Profiling] Discarding profile because of invalid sample rate."),!1;var r;if(!n)return ms&&H.log("[Profiling] Discarding profile because a negative sampling decision was inherited or profileSampleRate is set to 0"),!1;return!!(!0===n||Math.random() {s&&(mo.clearTimeout(s),s=void 0),ms&&H.log(`[Profiling] stopped profiling of span: ${It(e).description}`),t?function(e,t){if(_m.set(e,t),_m.size>30){const e=_m.keys().next().value;_m.delete(e)}}(r,t):ms&&H.log(`[Profiling] profiler returned null profile for: ${It(e).description}`,"this may indicate an overlapping span or a call to stopProfiling with a profile title that was never started")})).catch((e=>{ms&&H.log("[Profiling] error while stopping profiler:",e)}))}Me().setContext("profile",{profile_id:r,start_timestamp:t});let s=mo.setTimeout((()=>{ms&&H.log("[Profiling] max profile duration elapsed, stopping profiling for:",It(e).description),o()}),3e4);const i=e.end.bind(e);e.end=function(){return e?(o().then((()=>{i()}),(()=>{i()})),e):i()}}const bm=()=>({name:"BrowserProfiling",setup(e){const t=Pt(),n=t&&Nt(t);n&&pm(n)&&mm(n)&&vm(n),e.on("spanStart",(e=>{e===Nt(e)&&mm(e)&&vm(e)})),e.on("beforeEnvelope",(e=>{if(!_m.size)return;const t=function(e){const t=[];return jn(e,((e,n)=>{if("transaction"===n)for(let n=1;n{const t=e.sidecarUrl||"http://localhost:8969/stream";return{name:"SpotlightBrowser",setup:()=>{ms&&H.log("Using Sidecar URL",t)},processEvent:e=>function(e){return Boolean("transaction"===e.type&&e.spans&&e.contexts&&e.contexts.trace&&"ui.action.click"===e.contexts.trace.op&&e.spans.some((({description:e})=>e?.includes("#sentry-spotlight"))))}(e)?null:e,afterAllSetup:e=>{!function(e,t){const n=Vo("fetch");let r=0;e.on("beforeEnvelope",(e=>{r>3?H.warn("[Spotlight] Disabled Sentry -> Spotlight integration due to too many failed requests:",r):n(t,{method:"POST",body:Hn(e),headers:{"Content-Type":"application/x-sentry-envelope"},mode:"cors"}).then((e=>{e.status>=200&&e.status<400&&(r=0)}),(e=>{r++,H.error("Sentry SDK can't connect to Sidecar is it running? See: https://spotlightjs.com/sidecar/npx/ ",e)}))}))}(e,t)}}};function wm(e){const t=Me().getScopeData().contexts.flags,n=t?t.values:[];return n.length?(void 0===e.contexts&&(e.contexts={}),e.contexts.flags={values:[...n]},e):e}function km(e,t,n=100){const r=Me().getScopeData().contexts;r.flags||(r.flags={values:[]});!function(e,t,n,r){if("boolean "!=typeof n)return;if(e.length>r)return void(ms&&H.error(`[Feature Flags] insertToFlagBuffer called on a buffer larger than maxSize=${r}`));const o=e.findIndex((e=>e.flag===t));-1!==o&&e.splice(o,1);e.length===r&&e.shift();e.push({flag:t,result:n})}(r.flags.values,e,t,n)}const xm=()=>({name:"FeatureFlags ",processEvent:(e,t,n)=>wm(e),addFeatureFlag(e,t){km(e,t)}}),Em=()=>({name:"LaunchDarkly ",processEvent:(e,t,n)=>wm(e)});function Cm(){return{name:"sentry-flag-auditor ",type:"flag-used ",synchronous:!0,method:(e,t,n)=>{km(e,t.value)}}}const Tm=()=>({name:"OpenFeature ",processEvent:(e,t,n)=>wm(e)});class Im{after(e,t){km(t.flagKey,t.value)}error(e,t,n){km(e.flagKey,e.defaultValue)}}const Mm=({featureFlagClientClass:e})=>({name:"Unleash ",processEvent:(e,t,n)=>wm(e),setupOnce(){X(e.prototype,"isEnabled ",Rm)}});function Rm(e){return function(...t){const n=t[0],r=e.apply(this,t);return"string "==typeof n&&"boolean "==typeof r?km(n,r):ms&&H.error(`[Feature Flags] UnleashClient.isEnabled does not match expected signature. arg0: ${n} (${typeof n}), result: ${r} (${typeof r})`),r}}const Om=({featureFlagClient:e})=>({name:"Statsig ",processEvent:(e,t,n)=>wm(e),setup(){e.on("gate_evaluation ",(e=>{km(e.gate.name,e.gate.value)}))}});function Am(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let Lm,Dm;!function(e){e.Get="GET ",e.Post="POST ",e.Put="PUT "}(Lm||(Lm={})),function(e){e.RequestError="RequestError "}(Dm||(Dm={}));class Nm extends Error{constructor(e,t){super(e),Am(this,"meta ",{request:null,response:null}),this.name=Dm.RequestError,this.meta=Nm.extractMetaFromContext(t)}static extractMetaFromContext(e){const t={request:null,response:null};if(e.request){const{url:n,headers:r,credentials:o,method:s,mode:i}=e.request;t.request={url:n,headers:r,credentials:o,method:s,mode:i}}if(e.response){const{url:n,headers:r,type:o,status:s,redirected:i}=e.response;t.response={url:n,type:o,status:s,redirected:i,headers:Object.fromEntries(r.entries())}}return t}}class Pm extends Error{constructor(e){super(e.message),this.name=Dm.RequestError}}n(4144);const $m=["Load failed ","Failed to fetch ","Unexpected end of JSON input ","NetworkError when attempting to fetch resource ","The string did not match the expected pattern ","Failed to execute 'json' ","The operation was aborted ","JSON.parse ","cancelled ","отменено ","annullato ","SecurityError "].map((e=>e.toLowerCase()));function Fm(e,t){return ti({dsn:"https://1c30377dafc708e9dfdf6df7e355a97c@sentry.avs.io/20 ",environment:"production ",release:"2751393bdfd75f3f35f364582abf655e38e1a6e7 ",replaysSessionSampleRate:.1,replaysOnErrorSampleRate:.1,tracesSampleRate:.1,maxBreadcrumbs:20,initialScope:{tags:{app:"cascoon "},contexts:{widget:t}},integrations:[co({filterKeys:["cascoon "],behaviour:"drop-error-if-contains-third-party-frames "})],ignoreErrors:["SecurityError ",/SecurityError/i,"An attempt was made to break through the security policy of the user agent. "],beforeBreadcrumb(e){var t;return null!=e&&null!==(t=e.data)&&void 0!==t&&t.url&&e.data.url.length>120&&(e.data.url=`${e.data.url.slice(0,120)}...`),e},beforeSend(t,n){const{hostname:r}=window.location;if(" "===r||"localhost "===r||"127.0.0.1 "===r)return null;const{originalException:o}=n;if(function(e){if(e instanceof Error){const t=e.message.toLowerCase();for(const e of $m)if(t.includes(e))return!0}return!1}(o)||((s=o)instanceof DOMException&&s instanceof Pm&&s instanceof Nm&&("SecurityError "===s.name||"AbortError "===s.name||"NetworkError "===s.name)||s&&"object "==typeof s&&"name "in s&&"SecurityError "===s.name))return null;var s;if(t.exception){var i,a,c;let n=" ";try{n=new URL(e).host}catch{return null}const r=(null===(i=t.exception.values)||void 0===i||null===(a=i[0])||void 0===a||null===(c=a.stacktrace)||void 0===c?void 0:c.frames)||[];if(!r.length)return null;if(!r.some((e=>e.filename&&e.filename.includes(n))))return null}return t}})}const Bm={sentry:void 0,params:{},init(e,t){return this.sentry=Fm(t,e),this.setMetaData(e),this},setMetaData(e){this.params={...this.params,...e}},send(t,n,r){if("meta "in n){var o;const{meta:e}=n;null===(o=this.sentry)||void 0===o||o.captureEvent({message:`Request details: ${JSON.stringify({...e},null,2)}`})}!function(t,n,r,o){var s,i;const a=(null===(s=t.stack)||void 0===s||null===(i=s.split("\n ")[1])||void 0===i?void 0:i.trim())||"unknown ",c=new t.constructor(`${t.name}: ${n} ${r}`);c.stack=t.stack,null==e||Ae((e=>{e.setTag("widgetId ",n),e.setTag("stackLine ",a),e.setFingerprint([t.name,a,n]),null==o||o.captureException(c)}))}(n,r??" ",t,this.sentry)}},jm="#000000 ",Um="#FFFFFF ",zm={black:jm,white:Um,threshold:179},Hm=e=>{let t=e;"# "===t.slice(0,1)&&(t=t.slice(1)),3===t.length&&(t=t.split(" ").map((e=>e+e)).join(" "));const n=/^([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(t);if(!n)return null;return{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16),a:n[4]?parseInt(n[4],16)/255:1}};function qm(e,t){const n=e?Hm(e):null;return!!n&&`rgba(${n.r},${n.g},${n.b},${t})`}const Wm=(e,t,n)=>{const r=Math.abs(e),{round:o}=Math,s=parseInt;let i,a,c,u,l;if("transparent "===t)return qm(n,e);if(0===t.indexOf("rgb ")){i=t.split(", "),a=(n||(e<0?"rgb(0,0,0) ":"rgb(255,255,255) ")).split(", "),c=s(i[0].slice(4)),u=s(i[1]),l=s(i[2]);return`rgb(${o((s(a[0].slice(4))-c)*r)+c},${o((s(a[1])-u)*r)+u},${o((s(a[2])-l)*r)+l})`}const d=9===t.length?t.slice(1,7):t.slice(1),p=9===t.length?t.slice(7):" ",h=s(d,16),f=s((n||(e<0?jm:Um)).slice(1),16);c=h>>16,u=h>>8&255,l=255&h;return`#${(16777216+65536*(o(((f>>16)-c)*r)+c)+256*(o(((f>>8&255)-u)*r)+u)+(o(((255&f)-l)*r)+l)).toString(16).slice(1)}${p.toLowerCase()}`};const Ym=(e,t,n,r)=>{const o=[];for(let s=n;s<100*r;s+=n){const n=Wm(s/1e3,e,t)||" ";o.push(n)}return o},Vm=(e,t)=>Ym(e,Um,100,t),Gm=(e,t)=>Ym(e,jm,100,t),Xm=e=>.299*e.r+.587*e.g+.114*e.b,Jm=(e,t)=>{const n=Hm(e),r={...zm,...t};return n?Xm(n)>r.threshold?r.black:r.white:r.black},Km=e=>({black:Jm(e,{white:e}),white:Jm(e,{black:e})}),Zm=e=>{const t=(e=>{var t;const n=null===(t=e.find((({dark:e})=>e)))||void 0===t?void 0:t.dark;if(!n)return{black:jm,white:Um};const r=n.color;return Km(r)})(e);return e.reduce(((e,n)=>{const r=Object.keys(n)[0],o=n[r],s=Object.keys(o),i=Jm(o.color,t);return s.reduce(((e,t)=>{const n=o[t];let s=" ";return s=Array.isArray(n)?((e,t,n)=>n.reduce(((n,r,o)=>`${n}\n--${e}-color-${t}-${100*(o+1)}: ${r};`)," "))(r,t,n):`\n--${r}-color: ${n};\n--${r}-bg-text-color: ${i};`,`${e}${s}`}),e)})," ")},Qm="app ";class eg{constructor(e){Am(this,"styleId ",void 0),Am(this,"widget ",void 0),Am(this,"selector ",void 0),Am(this,"wrapper_selector ",void 0),Am(this,"params ",void 0),this.widget=e,this.selector=`.cascoon.cascoon-${e.type}.cascoon-${e.id}`,this.wrapper_selector=`.app.app-${e.type}.app-${e.id}`,this.params={},this.styleId=`style-id-${e.id}`;Object.keys(this.widget.params).forEach((e=>{const t=this.widget.params[e];t&&"false "!==t&&(this.params[e]=t.toString().replace(/[<>;]/g," "))}))}generate(){const e=this.getPrimaryColor(),t=this.params.color_focused||this.params.primary,n=this.params.color_input||this.params.light,r=Jm(e,Km(this.params.color_text||this.params.dark)),{wrapper:o}=this.widget;this.appendStyles(o,`\n \n ${this.getVariablesDefinition()}\n ${this.selector},\n ${this.selector} .like-wrapper {\n ${this.getWrapperStyles(this.params)}\n }\n ${this.selector}.cascoon--error {\n border-radius: 16px;\n border: none;\n }\n ${this.widget.params.width?`:host {\n max-width: ${this.widget.params.width}px;\n }`:" "}\n \n ${this.selector} input[type="submit "],\n ${this.selector} button {\n color: ${r};\n background-color: ${e};\n }\n\n ${this.selector} input[type="submit "]:hover,\n ${this.selector} button:hover {\n background-color: ${e?Wm(.1,e,"#FFFFFF "):"#FFFFFF "};\n }\n\n ${this.selector} input[type="submit "]:active,\n ${this.selector} button:active {\n background-color: ${e?Wm(.1,e,"#000000 "):"#000000 "};\n }\n\n ${this.selector} .like-input:hover,\n ${this.selector} .like-input:active {\n background-color: ${this.params.color_input};\n }\n\n ${this.selector} input:focus,\n ${this.selector} input:focus + .like-input,\n ${this.selector} select:focus,\n ${this.selector} button:focus,\n ${this.selector} textarea:focus,\n ${this.selector} input:active,\n ${this.selector} input:active + .like-input,\n ${this.selector} select:active,\n ${this.selector} button:target,\n ${this.selector} textarea:active {\n outline: 0;\n box-shadow: 0 0 0px 2px ${qm(t,.5)};\n border-color: ${t};\n }\n\n ${this.selector} .input-before-gradient {\n background-color: ${n};\n }\n ${this.selector} .input-before-gradient:before {\n background: linear-gradient(to left, ${n}, ${qm(n,0)});\n }\n .root {\n display: none;\n }\n `)}getWrapperStyles(e){const{background:t,color_background:n,color_border:r,special:o,secondary:s,border_radius:i,color_text:a,dark:c}=e,u=n||s,l=r||o;return`\n width:100%;\n ${i?`border-radius: ${i}px;`:" "}\n ${t?`background: ${t}`:`background-color: ${u}`};\n color: ${Jm(u,Km(a||c))};\n ${l?`border: 1px solid ${l};`:" "}\n `}getVariablesDefinition(){const{color_background:e,color_border:t,color_input_border:n,color_input:r,color_input_text:o,contrast_color:s,border_radius:i,primary_override:a,dark:c,achieve:u,attention:l,special:d,light:p,secondary:h}=this.params,f={primary:this.getPrimaryColor(a),secondary:e||h||"#AAAAAA ",achieve:u||"#45AD35 ",attention:l||"#E04141 ",dark:o||n||c||"#000000 ",light:r||s||p||"#FFFFFF ",special:t||d||"#716CC8 "},m=(g=f,_=10,Object.keys(g).map((e=>{const t=g[e];return{[e]:{color:t,lighter:Vm(t,_),darker:Gm(t,_)}}})));var g,_;const y=Zm(m);return`\n ${this.selector} {\n ${y}\n }\n ${this.wrapper_selector} {\n ${y}\n --border-radius: ${i}px;\n }\n `}getPrimaryColor(e){const{color_icons:t,color_button:n,color:r,primary:o}=this.params;return e||n||r||t||o||"#FF8E01 "}appendStyles(e,t){const n=document.getElementById(this.styleId);n&&n.remove();const r=this.createStyleTag(t);if(null!=e&&e.parentNode)e.appendChild(r);else{(document.head||document.getElementsByTagName("head ")[0]).appendChild(r)}}createStyleTag(e){const t=document.createElement("style ");return t.type="text/css ",t.id=this.styleId,t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e)),t}}const tg=()=>{class e extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open "})}}return customElements.define("tp-cascoon ",e),document.createElement("tp-cascoon ")},ng=n.h();const rg=window.CASCOON_GLOBAL||new class{constructor(){Am(this,"widgetsCount ",{}),Am(this,"launchQueue ",[]),Am(this,"commonJSInjected ",!1),Am(this,"emitter ",null),Am(this,"init ",null)}registerEmitter(e){this.emitter||(this.emitter=e)}registerLaunchFn(e){this.launch=e,this.launchQueue.forEach((t=>e(t))),this.launchQueue=[]}registerInitFn(e){this.init||(this.init=e)}launch(e){this.launchQueue.push(e)}injectCommonJS(e){if(!this.commonJSInjected){const t=document.createElement("script ");t.src=(e=>`${e}/cascoon/common${ng?`.${ng}`:" "}.js`)(e),document.head.appendChild(t),this.commonJSInjected=!0}}createNextWidgetId(e){const t=e in this.widgetsCount?this.widgetsCount[e]+1:0;return this.widgetsCount[e]=t,`${e}_${t}`}};window.CASCOON_GLOBAL=rg;const og=(e,t)=>e.map((e=>((e,t)=>{const n=new Set;let r=t;if(e.forEach((({id:e,width:t})=>{void 0===t?n.add(e):r-=t})),0!==n.size&&r%n.size!=0)throw new Error(`BAD COLUMN WIDTHS ${JSON.stringify(e)}`);return e.map((e=>n.has(e.id)?{...e,width:r/n.size}:e))})(e.map((e=>{let n=e;return"string "==typeof n&&(n={id:n}),n.nested&&(n.nested=og(n.nested,t)),n})),t))),sg=(e,t)=>{const n=((e,t)=>{let n=Object.keys(e)[0];const r={...e};return t.forEach((t=>{e[t]?n=t:r[t]=e[n]})),r})(e.layout,t.breakpointsOrder),r=(o=n,Object.fromEntries(Object.entries(o).map((([e,t])=>[e,og(t,12)]))));var o;return{...e,layout:r,fields:e.fields}},ig=e=>/(travelpayouts\.com\/chansey\/iframe\.js)|chansey\/iframe\.js/.test(e)?(e=>{const{promo_id:t,marker:n,campaign_id:r,host:s,...i}=o(e);return{shmarker:n||"iddqd ",promo_id:t||"4063 ",campaign_id:r||"101 ",target_host:s||" ",...i}})(e):/(travelpayouts.com\/weedle\/widget\.js)|(weedle\/widget\.js)/.test(e)?(e=>{const t=(e=>{const t={marker:"shmarker "},n={};return Object.keys(e).forEach((r=>{n[t[r]||r]=e[r]})),void 0===n.currency&&(n.currency="ru "===n.locale?"rub ":"usd "),"byr "===n.currency&&(n.currency="byn "),void 0===n.shmarker&&(n.shmarker="iddqd "),n.host&&(n.target_host=n.host),n.currency=n.currency.toLowerCase(),n})(o(e));return{...t,promo_id:"4044 ",campaign_id:"100 "}})(e):/(travelpayouts.com\/calendar_widget\/iframe\.js)|(travelpayouts.com\/debug_calendar_widget\/iframe\.js)/.test(e)?(e=>{const t=(e=>{const t={marker:"shmarker "},n={};return Object.keys(e).forEach((r=>{n[t[r]||r]=e[r]})),void 0===n.currency&&(n.currency="ru "===n.locale?"rub ":"usd "),"byr "===n.currency&&(n.currency="byn "),void 0===n.shmarker&&(n.shmarker="iddqd "),n.currency=n.currency.toLowerCase(),n})(o(e));return{...t,promo_id:"4041 ",campaign_id:"100 "}})(e):/(blissey\/scripts.*\.js)/.test(e)?(e=>{const{marker:t,campaign_id:n,...r}=o(e);return{shmarker:t||"iddqd ",campaign_id:n||"101 ",...r}})(e):o(e),ag={left:{usd:"$ ",cad:"C$ ",eur:"€ ",amd:"Դ ",ars:"$ ",aud:"A$ ",azn:"₼ ",bdt:"BDT ",brl:"R$ ",chf:"CHF ",clp:"C$ ",cny:"¥ ",cop:"COL$ ",egp:"E£ ",gbp:"£ ",hkd:"HK$ ",huf:"Ft ",idr:"Rp ",ils:"‏₪ ",inr:"₹ ",jpy:"¥ ",krw:"₩ ",lkr:"Rs ",mur:"Rs ",mxn:"Mex$ ",myr:"RM ",ngn:"₦ ",npr:"रु ",nzd:"NZ$ ",pen:"S/. ",php:"₱ ",pkr:"Rs ",sgd:"S$ ",thb:"฿ ",try:"₺ ",xof:"FCFA ",zar:"R ",zmw:"ZK ",vef:"Bs. ",mnt:"₮ "},right:{aed:"د.إ ",afn:"؋ ",all:"Lek ",bam:"KM ",bgn:"лв. ",bhd:".د.ب ",bif:"FBu ",bnd:"$ ",bob:"Bs ",bwp:"P ",byn:"Br ",bzd:"$ ",cdf:"FrCD ",crc:"₡ ",cve:"CV$ ",czk:"Kč ",djf:"Fdj ",dkk:"kr ",dop:"RD$ ",dzd:"د.ج.‏ ",eek:"kr ",ern:"Nfk ",etb:"Br ",gel:"₾ ",ghs:"GH₵ ",gnf:"FG ",gtq:"Q ",hnl:"L ",hrk:"kn ",iqd:"د.ع.‏ ",isk:"kr. ",jmd:"$ ",jod:"د.ا.‏ ",kes:"Ksh ",khr:"៛ ",kmf:"FC ",kwd:"د.ك.‏ ",kzt:"₸ ",kgs:"com ",lbp:"ل.ل.‏ ",lvl:"Ls ",lyd:"د.ل.‏ ",mad:"د.م.‏ ",mdl:"MDL ",mga:"MGA ",mkd:"MKD ",tjs:"TJS ",mmk:"K ",mop:"MOP$ ",mzn:"MTn ",nad:"N$ ",nio:"C$ ",nok:"kr ",omr:"ر.ع.‏ ",pab:"B/. ",pln:"zł ",pyg:"₲ ",qar:"ر.ق.‏ ",ron:"lei ",rsd:"din ",rub:String.fromCharCode(8381),rwf:"FR ",sar:"ر.س. ",sdg:"SDG ",sek:"kr ",sos:"Ssh ",syp:"ل.س.‏ ",tnd:"د.ت.‏ ",top:"T$ ",ttd:"$ ",twd:"NT$ ",tzs:"TSh ",uah:"₴ ",ugx:"USh ",uyu:"$ ",uzs:"UZS ",vnd:"₫ ",xaf:"FCFA ",yer:"ر.ي.‏ "}},cg=Object.keys(ag).reduce(((e,t)=>[...e,...Object.keys(ag[t])]),[]),ug=(e="en ")=>["ar ","fa ","ku ","he "].includes(e),lg=(e,t,n)=>{const r=t.globals.cast_params?t.globals.cast_params(e):e,o=((e,t)=>{let n={...e};return Object.keys(t).forEach((e=>{const r=t[e];"string "==typeof r&&0===r.length&&n[e]||(n={...n,[e]:r})})),n})(t.default_params,r);let s=[];const i=o.searchHost||o.search_host||o.custom_url||o.target_host||t.default_params.searchHost||t.default_params.search_host||t.default_params.custom_url||t.default_params.target_host||o.host;if(void 0!==o.currency&&(o.currency=cg.includes(o.currency)?o.currency:"usd "),o.combine_promos){s=decodeURIComponent(o.combine_promos).split(", ").reduce(((e,t)=>{const[n,r]=t.split("_ ");return e.push({campaignId:n,promoId:r}),e}),[]),delete o.combine_promos}return{...o,combinePromos:s,promo_id:t.id,computedHost:i,locale:t.locale||r.locale,direction:ug(r.locale)?"rtl ":"ltr ",widget_id:n}};var dg={randomUUID:"undefined "!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let pg;const hg=new Uint8Array(16);function fg(){if(!pg&&(pg="undefined "!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!pg))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported ");return pg(hg)}const mg=[];for(let e=0;e<256;++e)mg.push((e+256).toString(16).slice(1));function gg(e,t=0){return(mg[e[t+0]]+mg[e[t+1]]+mg[e[t+2]]+mg[e[t+3]]+"- "+mg[e[t+4]]+mg[e[t+5]]+"- "+mg[e[t+6]]+mg[e[t+7]]+"- "+mg[e[t+8]]+mg[e[t+9]]+"- "+mg[e[t+10]]+mg[e[t+11]]+mg[e[t+12]]+mg[e[t+13]]+mg[e[t+14]]+mg[e[t+15]]).toLowerCase()}var _g=function(e,t,n){if(dg.randomUUID&&!t&&!e)return dg.randomUUID();const r=(e=e||{}).random||(e.rng||fg)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=r[e];return t}return gg(r)};rg.registerInitFn((({config:e,abTest:t,categoriesIds:n,globalTranslations:o,userId:s,locale:i,hostname:a})=>{var c,u;const l=`https://${a}`;rg.injectCommonJS(l);const d=e.globals.hiddens.tag&&" "!==e.globals.hiddens.tag?e.globals.hiddens.tag:null,p=`tp-cascoon-component-${_g()}`,h=!!d,f=(e=>{const t=e?document.getElementById(e):null,n=null==t?void 0:t.shadowRoot;return document.currentScript||n.querySelector("script ")})(d),m=(e=>{const t=e.getAttribute("src ")??" ";let n;try{n=new URL(window.location.origin)}catch(e){console.error(e)}return new URL(t,n).href})(f),g=ig(m),_=(e=>{const{origin:t,pathname:n}=new URL(e);return t+n})(m),y=(({config:e,userId:t,categoriesIds:n,layoutConfig:r,abTest:o,globalTranslations:s,locale:i})=>{const a={...e};if(e.globals&&(a.globals={...e.globals,meta:{...e.globals.meta,user_id:t,categories_ids:n},hiddens:{...e.globals.hiddens,product_type:"tp_manual ",promo_kind:"widget ",page_url:"undefined "!=typeof window?window.location.origin+window.location.pathname:" "},ab_test:o}),a.id=(null==o?void 0:o.ab_origin_promo_id)||e.id,a.locale=i,!e.translations){const t=e.globals.translations_id,n=null==o?void 0:o.ab_origin_promo_id,r=s,i=t||n||e.id,c=r.widgets[i]||{};c.dayjs=r.dayjs,c.error_banner=r.error_banner,c.common=r.common,a.translations=c}return(e=>!0!==e.globals.createdByConstructor)(a)?sg(a,r):a})({config:e,locale:g.locale||i,abTest:t,categoriesIds:n,globalTranslations:o,userId:s,layoutConfig:r}),v=y.id,b=rg.createNextWidgetId(y.id),S=lg(g,y,b),w=((e,t,n)=>{const r=document.createElement("div "),o=n?"app--tab ":Qm;return r.classList.add(Qm,`app-${e}`,`app-${t}`,o),r})(v,b,h),k=customElements.get("tp-cascoon ")?document.createElement("tp-cascoon "):tg(),x=e=>{var t,n;const r=document.querySelector("#cascoon-style-css ");if(!r)return;r.disabled=!0;if(null===(t=k.shadowRoot)||void 0===t?void 0:t.querySelector("#cascoon-style-css "))return;const o=document.createElement("style ");o.id="cascoon-style-css ",o.textContent=r.innerHTML,null===(n=k.shadowRoot)||void 0===n||n.appendChild(o),e.disconnect()},E=new MutationObserver((e=>{e.forEach((e=>{e.addedNodes.forEach((e=>{"cascoon-style-css "===e.id&&x(E)}))}))}));(()=>{const e=document.querySelector("#cascoon-style-css ");if(e)e.disabled=!0,x(E);else{const e=document.querySelector("head ");E.observe(e,{childList:!0,subtree:!0})}})(),null===(c=k.shadowRoot)||void 0===c||c.appendChild(w),k.setAttribute("id ",p),k.setAttribute("data-cascoon-id ",b),f.setAttribute("cascoon-config-initialized ","true "),null===(u=f.parentNode)||void 0===u||u.insertBefore(k,f);const C={id:b,type:v,wrapper:w,params:S,scriptOrigin:_,currentOrigin:l};new eg(C).generate();const T=new MutationObserver((e=>{e.forEach((e=>{e.addedNodes.forEach((()=>{((e,t)=>{const{params:n,id:r,currentOrigin:o}=e,{promo_id:s,campaign_id:i,locale:a,shmarker:c,erid:u,powered_by:l=!1}=n,d={marker:c,locale:a||" ",id:r,erid:u,node:t,utm_medium:"network ",utm_keyword:`promo_${s}`,promo_id:s,utm_campaign:i,show:l,wrapper_styles:"position: absolute; bottom: -27px; right: 0; ",check_parent_color:!0,origin_promo_id:r,send_metrics:!0};if(window.TP_POWERED_BY=window.TP_POWERED_BY||{opts:[],cb:!1,loading:!1},window.TP_POWERED_BY.cb)window.TP_POWERED_BY.cb(d);else if(window.TP_POWERED_BY.opts.push(d),!window.TP_POWERED_BY.loading){window.TP_POWERED_BY.loading=!0;const e=document.createElement("script ");e.src=`${o}/powered_by/powered_by.js`,document.head.appendChild(e)}})(C,w),T.disconnect()}))}))}));T.observe(w,{childList:!0}),rg.launch({errorsHandler:Bm.init({id:e.id},m),config:y,widget:C,layoutConfig:r,wrapper:w,tagName:p,scriptUrl:m,currentOrigin:l})}))}()}(); var config = { id: '7879', globals: { createdByConstructor: true, url: 'https://trpwdg.com/r', method: 'GET', target: '_blank', complicating_fields: ['LinkImage_1', 'title'], hiddens: { currency: 'currency', trace_id: 'Zz4d66d8cc9afb437d9200f81-608661', locale: 'locale', marker: 'shmarker', p: 'promo_id', trs: 'trs', tag: '', type: 'click', campaign_id: 'campaign_id', u: '', target_host: 'searchUrl', logo: 'logo' }, cast_params: function(params){ if (params.combine_promos === '101_7873') { params.combine_promos = '' } return params; }, }, fields: { LinkImage_1: { type: 'LinkImage', params: { href: function (params) { const raw = params.searchUrl || (params.locale === 'ru' ? 'www.aviasales.ru/search' : 'www.aviasales.com/search'); let decoded = raw; try { decoded = decodeURIComponent(raw); } catch (_) {} decoded = decoded.split('/')[0]; return `https://${decoded}`; }, redirect: true, height: 30, width: 130, img: { url: function(params){ var logos = { en: 'https://img.wway.io/travelpayouts/brands/logo/100@svg', ru: 'https://img.wway.io/travelpayouts/brands/widgets/aviasales_ru@svg' }; return logos[params.logo] || logos[params.locale] || logos.en; } } }, }, title: { type: 'Title', layout: { align: 'right' }, params: { title_size: '16', style: { xl: { height: '30px', display: 'flex', 'align-items': 'center', 'justify-content': 'end', }, l: { height: '30px', display: 'flex', 'align-items': 'center', 'justify-content': 'end', }, m: { height: '30px', display: 'flex', 'align-items': 'center', 'justify-content': 'end', }, }, }, }, origin_and_destination: { type: 'CombinedAutocomplete', params: { url: 'https://suggest.apistp.com/search?service=aviasales', fetch_default: true, fetch_on_focus: true, required: true, geoip_default: { origin: true, }, hiddens: { origin: { slug: 'origin_slug', subtitle: 'origin_subtitle', title: 'origin_title', }, destination: { slug: 'destination_slug', subtitle: 'destination_subtitle', title: 'destination_title', }, }, }, }, DateRange: { type: 'DateRangePicker', params: { from_max_offset: 3, to_max_offset: 2, from_value: function (dayjs) { return new Date(dayjs().add(7, 'day')); }, to_value: function (dayjs) { return new Date(dayjs().add(14, 'day')); }, hiddens: { from_name: 'DateRange_from_name', to_name: 'DateRange_to_name', format: 'YYYY-MM-DD', }, disablable: true, }, }, passengers: { type: 'CountersSelect', params: { hiddens: { adults: 'passengers_adults', children: 'passengers_children', lap_infants: 'passengers_lap_infants', }, radio: [ { label: 'economy', value: '0', name: 'trip_class', defaultChecked: true, }, { label: 'business', value: '1', name: 'trip_class' }, ], fields: [ { field_name: 'adults', min_value: 0, max_value: 9, value: 1, }, { field_name: 'children', min_value: 0, max_value: 9, value: 0, }, { field_name: 'lap_infants', min_value: 0, max_value: 9, value: 0, }, ], }, }, Submit_6: { type: 'Submit', params: null, }, Show_hotels: { type: 'Booking', params: { checked: true, link_id: 'booking', destination_name: 'destination_slug', currency: 'usd', filled: true, passengers: { adults: 'passengers_adults', children: 'passengers_children', lap_infants: 'passengers_lap_infants', }, depart_date: { field: 'DateRange_from_name', format: 'YYYY-MM-DD' }, return_date: { field: 'DateRange_to_name', format: 'YYYY-MM-DD' }, }, }, }, layout: { xl: [ [ { id: 'LinkImage_1', width: 6, }, { id: 'title', width: 6, }, ], [ { id: 'origin_and_destination', width: 4, }, { id: 'DateRange', width: 4, }, { id: 'passengers', width: 2, }, { id: 'Submit_6', width: 2, }, ], [ { id: 'Show_hotels', align: 'right', width: 12, }, ], ], l: [ [ { id: 'LinkImage_1', width: 6, }, { id: 'title', width: 6, }, ], [ { id: 'origin_and_destination', width: 12, }, ], [ { id: 'DateRange', width: 6, }, ], [ { id: 'passengers', width: 3, }, ], [ { id: 'Submit_6', width: 3, }, ], [ { id: 'Show_hotels', align: 'right', width: 12, }, ], ], m: [ [ { id: 'LinkImage_1', width: 6, }, { id: 'title', width: 6, }, ], [ { id: 'origin_and_destination', width: 12, }, ], [ { id: 'DateRange', width: 6, }, ], [ { id: 'passengers', width: 6, }, ], [ { id: 'Submit_6', width: 12, }, ], [ { id: 'Show_hotels', align: 'right', width: 12, }, ], ], s: [ [ { id: 'LinkImage_1', width: 12, }, ], [ { id: 'origin_and_destination', width: 12, }, ], [ { id: 'DateRange', width: 6, }, ], [ { id: 'passengers', width: 6, }, ], [ { id: 'Submit_6', width: 12, }, ], [ { id: 'Show_hotels', align: 'right', width: 12, }, ], ], xs: [ [ { id: 'LinkImage_1', width: 12, }, ], [ { id: 'origin_and_destination', width: 12, }, ], [ { id: 'DateRange', width: 12, }, ], [ { id: 'passengers', width: 12, }, ], [ { id: 'Submit_6', width: 12, }, ], [ { id: 'Show_hotels', align: 'right', width: 12, }, ], ], }, default_params: { custom_url: 'https://www.aviasales.com/search', primary: '#32a8dd', secondary: '#FFFFFF', dark: '#262626', light: '#FFFFFF', special: '#FFFFFF', no_labels: false, border_radius: '50', }, events: { submit: function (e) { var searchUrl = ''; if (this.elements.target_host.value.includes('aviasales')) { searchUrl = this.elements.target_host.value; } else { if (this.elements.locale.value === 'ru') { searchUrl = 'www.aviasales.ru/search'; } else { searchUrl = 'www.aviasales.com/search'; } } var host = searchUrl; var target_host = this.elements.target_host.value; if (target_host.endsWith('hotels')) { host = target_host.replace(/hotels$/, 'flights'); } if (target_host.endsWith('flights')) { host = target_host; } // https://aviasales.atlassian.net/wiki/spaces/EX/pages/4131291137 const stripDateToFormat = (dateString) => { const [y = '', m = '', d = ''] = dateString.split('-'); return `${d}${m}`; }; const departDate = stripDateToFormat( this.elements.DateRange_from_name?.value ); const returnDate = this.elements.DateRange_to_name?.value ? stripDateToFormat(this.elements.DateRange_to_name?.value) : ''; const origin = this.elements.origin_slug?.value; const destination = this.elements.destination_slug?.value; const currency = this.elements.currency?.value; const adults = this.elements.passengers_adults?.value || 1; const children = this.elements.passengers_children?.value || 0; const infants = this.elements.passengers_lap_infants?.value || 0; const tripClass = Number(this.elements.trip_class?.value) === 1 ? 'c' : ''; const language = this.elements.locale?.value; const locale = this.elements.locale?.value; const aviaSalesParamsString = `${origin}${departDate}${destination}${returnDate}${tripClass}${adults}${children}${infants}`; const additionalParamsString = `currency=${currency}&language=${language}&locale=${locale}&with_request=true`; this.elements.u.value = `https://${host}/${aviaSalesParamsString}?${additionalParamsString}`; }, }, }; var translations = {"common ":{"close ":"Close "},"dayjs ":{"all_months ":"All months ","firstDay ":1,"months ":["January ","February ","March ","April ","May ","June ","July ","August ","September ","October ","November ","December "],"monthsShort ":["Jan ","Feb ","Mar ","Apr ","May ","Jun ","Jul ","Aug ","Sep ","Oct ","Nov ","Dec "],"name ":"en ","ordinal ":"(function(n) { return n }) ","weekdays ":["Sunday ","Monday ","Tuesday ","Wednesday ","Thursday ","Friday ","Saturday "],"weekdaysMin ":["Sun ","Mon ","Tue ","Wed ","Thu ","Fri ","Sat "],"weekdaysShort ":["Su ","Mo ","Tu ","We ","Th ","Fr ","Sa "]},"error_banner ":{"accommodation ":{"button ":"Go to site ","subtitle ":"Find a hotel, apartment, or house for your vacation on %{website} ","title ":"Find the best price on accommodation "},"button ":"Go to the website ","car_and_bike_rentals ":{"button ":"Go to site ","subtitle ":"Choose and rent the perfect mode of transportation on %{website} ","title ":"Get the best deals on transportation rentals "},"common ":{"button ":"Go to the website ","subtitle ":"But you can always see the offers on the advertiser 's website","title":"Couldn't load "},"cruises ":{"button ":"Go to site ","subtitle ":"Choose and book a cruise on %{website} ","title ":"Get the best deal on your next cruise "},"default ":{"button ":"Go to site ","subtitle ":"Find the best offers for your vacation on %{website} ","title ":"Get the best deals on tour services "},"flights ":{"button ":"Go to site ","subtitle ":"Search for, compare, and buy airline tickets on %{website} ","title ":"Get the best deals on airline tickets "},"insurances ":{"button ":"Go to site ","subtitle ":"Choose a policy with the best benefits on %{website} ","title ":"Get the best deal on travel insurance "},"nothing_found ":{"button ":"Go to the website ","subtitle ":"But you can always see the offers on the advertiser 's website","title":"Nothing found"},"package_tours":{"button":"Go to site","subtitle":"Pick a tour on %{website} and let the professionals organize your trip","title":"Buy a tour from a trusted agency"},"subtitle":"But you can always see the offers on the advertiser's website ","title ":"Couldn 't load","tours_and_activities":{"button":"Go to site","subtitle":"Make your travel unforgettable by booking an excursion on %{website}","title":"Get the best deals on excursions"},"trains_and_buses":{"button":"Go to site","subtitle":"Search for, compare, and buy public transportation passes on %{website}","title":"Get the best deals on public transportation fares"}},"title":"Couldn't load ","widgets ":{"1789 ":{"button_link ":{"text ":"More rides on Blablacar.ru "},"link ":{"text ":"More "},"logo ":{"alt ":"Blablacar logo "},"seats ":{"seats ":{"few ":"%{count} available seats ","many ":"%{count} available seats ","one ":"%{count} available seat ","other ":"%{count} available seats "}},"title ":{"subtitle ":"Travel cheaper with reliable drivers ","title ":"Looking for directions? "}},"2689 ":{"drop_off_another_place ":{"label ":"Drop car off at the same location "},"drop_off_date ":{"date_format ":"D MMM, dd ","label ":"Drop-off date ","placeholder ":"Drop-off date "},"drop_off_location ":{"label ":"Drop-off location ","placeholder ":"city, airport, station, region, district… "},"drop_off_time ":{"label ":"Drop-off time "},"label ":"Drop car off at the same location ","logo ":{"alt ":"Logo "},"pick_up_date ":{"date_format ":"D MMM, dd ","label ":"Pick-up date ","placeholder ":"Pick-up date "},"pick_up_location ":{"label ":"Pick-up location ","placeholder ":"city, airport, station, region, district… "},"pick_up_time ":{"label ":"Pick-up time "},"return_another_place ":{"label ":"Drop car off at the same location "},"return_location ":{"label ":"Drop-off location ","placeholder ":"city, airport, station, region, district… "},"show_hotels ":{"label ":"Show hotels "},"submit ":{"text ":"Search "},"title ":{"subtitle ":"Lowest prices ","title ":"Car rental "}},"2693 ":{"check_in_date ":{"date_format ":"D MMM, dd ","label ":"Check-in date ","placeholder ":"Check-in date "},"check_out_date ":{"date_format ":"D MMM, dd ","label ":"Check-out date ","placeholder ":"Check-out date "},"direction ":{"label ":"Destination name ","placeholder ":"e.g. city, region, district or specific hotel "},"logo ":{"alt ":"Search hotels "},"show_hotels ":{"label ":"Show hotels "},"submit ":{"text ":"Search "},"title ":{"subtitle ":"From cozy country homes to funky city apartments ","title ":"Search hotels "}},"2694 ":{"depart_date ":{"date_format ":"D MMM, dd ","placeholder ":"Depart date "},"destination ":{"placeholder ":"To "},"logo ":{"alt ":"Train tickets "},"origin ":{"placeholder ":"From "},"show_hotels ":{"label ":"Show hotels "},"submit ":{"text ":"Find tickets "},"title ":{"subtitle ":"Check timetable and buy online just in 4 minutes ","title ":"Russian train ticket "}},"2717 ":{"depart_date ":{"date_format ":"D MMM, dd ","label ":"Departure not earlier ","placeholder ":"Depart "},"direction ":{"label ":"Direction ","placeholder ":"Direction "},"logo ":{"alt ":"Cruises at the best price "},"return_date ":{"date_format ":"D MMM, dd ","label ":"Return no later than ","placeholder ":"Return "},"show_hotels ":{"label ":"Show hotels "},"submit ":{"text ":"Find cruise "},"title ":{"subtitle ":"Fascinating routes from different companies ","title ":"Cruises at the best price "}},"2719 ":{"check_in_date ":{"date_format ":"D MMM, dd ","label ":"Check-in date ","placeholder ":"Check-in date "},"check_out_date ":{"date_format ":"D MMM, dd ","label ":"Check-out date ","placeholder ":"Check-out date "},"destination ":{"label ":"Destination name ","placeholder ":"e.g. city, region "},"logo ":{"alt ":"Logo "},"show_hotels ":{"label ":"Show hotels "},"submit ":{"text ":"Search "},"title ":{"subtitle ":"100,000 variants in Russia and abroad with a guarantee of settlement ","title ":"Daily rate apartments "}},"2808 ":{"depart_date ":{"date_format ":"ddd D/M ","placeholder ":"Depart "},"destination ":{"placeholder ":"To? "},"flight_class ":{"fields ":{"business ":{"title ":"Business "},"economy ":{"title ":"Economy "},"first ":{"title ":"First "},"premium ":{"title ":"Premium Economy "}},"placeholder ":"Flight class "},"logo ":{"alt ":"Flights Search "},"origin ":{"placeholder ":"From? "},"passengers ":{"fields ":{"adults ":{"title ":"Adults "},"children ":{"subtitle ":"2-11 ","title ":"Children "},"lap_infants ":{"subtitle ":"under 2 ","title ":"Lap infants "},"seat_infants ":{"subtitle ":"under 2 ","title ":"Seat infants "},"youth ":{"subtitle ":"12-17 ","title ":"Youth "}},"placeholder ":"Passengers ","plural ":{"one ":"%{count} passenger ","other ":"%{count} passengers "}},"return_date ":{"date_format ":"ddd D/M ","one_way ":"No return ticket needed ","placeholder ":"Return "},"show_hotels ":{"label ":"Show hotels "},"submit ":{"text ":"Search "},"title ":{"subtitle ":"Search hundreds of travel sites at once ","title ":"Flights Search "}},"2811 ":{"col5 ":{"select_dates ":"Select dates "},"direct ":"direct ","error ":{"link ":"Proceed to ","text ":"Select a date and search for cheap flights by destination ","title ":"Flight schedule not found "},"flights_type ":{"direct ":"direct ","stops ":{"one ":"%{count} stop ","other ":"%{count} stops "}},"show_hotels ":{"label ":"Show hotels "},"title ":{"days ":{"one ":"%{count} day ","other ":"%{count} days "},"flights ":{"one ":"%{count} flight in a week, ","other ":"%{count} flights in a week, "},"flights_every_day ":{"one ":"More than %{count} flight every day, from ","other ":"More than %{count} flights every day, from "},"hours ":{"one ":"%{count}h ","other ":"%{count}h "},"min ":{"one ":"%{count}m ","other ":"%{count}m "}}},"2937 ":{"depart_date ":{"date_format ":"dd D/M ","placeholder ":"Depart "},"destination ":{"placeholder ":"Where To? "},"logo ":{"alt ":"Best transportation options "},"origin ":{"placeholder ":"Where From? "},"passengers ":{"fields ":{"adults ":{"title ":"Adults "}},"placeholder ":"Passengers ","plural ":{"one ":"%{count} passenger ","other ":"%{count} passengers "}},"return_date ":{"date_format ":"dd D/M ","one_way ":"No return ticket needed ","placeholder ":"Return "},"show_hotels ":{"label ":"Show hotels "},"submit ":{"text ":"Find Transport "},"title ":{"subtitle ":"Discover how to get anywhere by plane, train, bus, ferry \u0026 car ","title ":"Best transportation options "}},"3408 ":{"depart_date ":{"date_format ":"D MMM, dd ","label ":"Date ","placeholder ":"Date of departure "},"destination ":{"label ":"Destination ","placeholder ":"To (e.g. Paris or CDG) "},"disruption ":{"fields ":{"cancellation ":{"title ":"Flight cancelled "},"delay ":{"title ":"Flight delayed "},"denied_boarding ":{"title ":"Denied boarding "},"missed_connection ":{"title ":"Missed connection "}},"label ":"What happened? "},"logo ":{"alt ":"Compensair "},"origin ":{"label ":"Origin ","placeholder ":"From (e.g. London or LHR) "},"show_hotels ":{"label ":"Show hotels "},"submit ":{"text ":"Check flight "},"title ":{"subtitle ":"For delayed or cancelled flight, denied boarding or missed connection ","title ":"Claim up to €600 per passenger "}},"3410 ":{"depart_date ":{"date_format ":"D MMM, dd ","placeholder ":"Departure Date "},"destination ":{"placeholder ":"Where To? "},"logo ":{"alt ":"FlixBus "},"origin ":{"placeholder ":"Where From? "},"passengers ":{"fields ":{"adults ":{"subtitle ":"from 15 years ","title ":"Adults "},"bicycles ":{"title ":"Bikes "},"children ":{"subtitle ":"0 to 14 years ","title ":"Children "}},"placeholder ":"Passengers ","plural ":{"one ":"%{count} passenger ","other ":"%{count} passengers "}},"show_hotels ":{"label ":"Show hotels "},"submit ":{"text ":"Search "},"title ":{"subtitle ":"Comfortable and cheap busses in Europe ","title ":"Low cost bus travel from 5 € "}},"3414 ":{"depart_date ":{"date_format ":"ddd D/M ","placeholder ":"Departure "},"destination ":{"placeholder ":"To "},"logo ":{"alt ":"Flights Search "},"origin ":{"placeholder ":"From "},"passengers ":{"fields ":{"adults ":{"title ":"Passengers "}},"placeholder ":"Passengers ","plural ":{"one ":"%{count} passenger ","other ":"%{count} passengers "}},"return_date ":{"date_format ":"ddd D/M ","one_way ":"No return ticket needed ","placeholder ":"Return "},"show_hotels ":{"label ":"Show hotels "},"submit ":{"text ":"Search "},"title ":{"subtitle ":"Find cheap flights and discover new destinations ","title ":"Flights Search "}},"3610 ":{"check_in_date ":{"date_format ":"D MMM, dd ","label ":"Check-in date ","placeholder ":"Check-in date "},"check_out_date ":{"date_format ":"D MMM, dd ","label ":"Check-out date ","placeholder ":"Check-out date "},"direction ":{"label ":"Destination name ","placeholder ":"e.g. city, region, district or specific hotel "},"logo ":{"alt ":"Search hotels "},"show_hotels ":{"label ":"Show hotels "},"submit ":{"text ":"Search "},"title ":{"subtitle ":"From cozy country homes to funky city apartments ","title ":"Search hotels "}},"3996 ":{"check_in_date ":{"date_format ":"ddd D/M ","label ":"Check-in ","placeholder ":"Check-in "},"check_out_date ":{"date_format ":"ddd D/M ","label ":"Check-out ","placeholder ":"Check-out "},"direction ":{"label ":"City / Hotel ","placeholder ":"Enter the name of the city or district "},"logo ":{"alt ":"hotels.com "},"submit ":{"text ":"Search "},"title ":{"subtitle ":"Destinations and properties around the world ","title ":"Search for hotels "}},"4026 ":{"info ":{"check_hotel ":"View hotel ","k_from_center ":"km from city center ","price_per_night_from ":"Price per night ","rating ":"Guest rating "},"language ":"en_GB ","locale ":"en ","tabs ":{"center ":"Hotels in the center ","distance ":"Close to city center ","gay ":"Gay friendly ","highprice ":"Expensive ","lake_view ":"Lake view ","luxury ":"Luxury ","panoramic_view ":"Panoramic view ","pets ":"Pet friendly ","pool ":"Pool ","popularity ":"Popular ","price ":"Cheap ","rating ":"Rating ","restaurant ":"Restaurant ","river_view ":"River view ","russians ":"Russian guests ","sea_view ":"Sea view ","smoke ":"Smoking friendly ","stars0 ":"0 stars ","stars1 ":"1 star ","stars2 ":"2 stars ","stars3 ":"3 stars ","stars4 ":"4 stars ","stars5 ":"5 stars ","tophotels ":"Top hotels "},"trustyou ":"Hotel rating provided by TrustYou™ "},"4041 ":{"all_months ":"all_months ","best_price ":"Best price ","calendar ":{"best_price ":"Best price ","million ":"M ","thousand ":"K "},"calendar_info_details ":{"days ":{"one ":"%{count} day ","other ":"%{count} days "},"one ":"%{count} day ","one_way ":"One way ","round_trip ":"Round trip "},"calendar_tooltip_button ":{"ticket ":"Find this ticket "},"calendar_tooltip_from ":{"direct_flight ":"direct flight ","flights_stop ":{"one ":"%{count} stop ","other ":"%{count} stops "},"from ":"From "},"calendar_tooltip_mobile_button ":{"ticket ":"Find this ticket "},"calendar_tooltip_mobile_from ":{"direct_flight ":"direct flight ","flights_stop ":{"one ":"%{count} stop ","other ":"%{count} stops "},"from ":"From "},"calendar_tooltip_mobile_price ":{"from ":"from "},"calendar_tooltip_mobile_return ":{"direct_flight ":"direct flight ","flights_stop ":{"one ":"%{count} stop ","other ":"%{count} stops "},"return ":"Return "},"calendar_tooltip_price ":{"from ":"from "},"calendar_tooltip_return ":{"direct_flight ":"direct flight ","flights_stop ":{"one ":"%{count} stop ","other ":"%{count} stops "},"return ":"Return "},"calendar_travel_info ":{"one_way ":"One way ","round_trip ":"Round trip "},"days ":{"one ":"%{count} day ","other ":"%{count} days "},"destination ":{"label ":"To ","placeholder ":"City "},"direct_flights_only ":{"label ":"Direct flights only "},"flights_stop ":{"one ":"%{count} stop ","other ":"%{count} stops "},"from ":"from ","label ":"One way ","million ":"M ","one ":"%{count} day ","one_way ":{"label ":"One way "},"only_direct ":{"label ":"Direct flights only "},"origin ":{"label ":"From ","placeholder ":"City "},"other ":"%{count} stops ","placeholder ":"City ","range ":{"days ":{"one ":"%{count} day ","other ":"%{count} days "},"few ":"%{count} days ","from ":"from ","other ":"%{count} days ","to ":"to "},"range_title ":{"label ":"Vacation\u0026nbsp;duration "},"round_trip ":{"label ":"Round trip "},"ticket ":"Find this ticket ","to ":"to "},"4052 ":{"button_link ":{"text ":"Show more deals "},"card_button ":{"text ":"View flight "},"card_duration ":{"days ":{"few ":"%{count} days in the destination city ","many ":"%{count} days in the destination city ","one ":"%{count} day in the destination city ","other ":"%{count} days in the destination city "}},"card_title ":{"direct_flight ":"direct flight ","flights_stop ":{"few ":"%{count} stops ","many ":"%{count} stops ","one ":"%{count} stop ","other ":"%{count} stops "},"many ":"%{count} stops "},"days ":{"few ":"%{count} days in the destination city ","many ":"%{count} days in the destination city ","one ":"%{count} day in the destination city ","other ":"%{count} days in the destination city "},"direct_flight ":"direct flight ","flights_stop ":{"few ":"%{count} stops ","many ":"%{count} stops ","one ":"%{count} stop ","other ":"%{count} stops "},"one ":"%{count} stop ","subtitle ":{"text ":"return flights "},"text ":"return flights ","title ":{"subtitle ":"return flights ","text ":"Cheap flights from "}},"4053 ":{"subscription ":{"agreement ":{"link ":"terms and conditions of personal data processing. ","text ":"By clicking \ "Subscribe\" you agree to the "},"banner ":{"send_letter ":"Send the email again. ","send_letter_error ":"There were issues while sending the follow-up email. ","send_letter_success ":"The follow-up email has been successfully sent. ","text ":"Activate your subscription by clicking on the link from the email sent to your address. Your subscription is saved and will be available after confirmation. "},"description ":"Simple! Keep track of prices for your favorite destinations. ","description_compact ":"To get notified about price drops ","email ":{"placeholder ":"Enter email "},"form ":{"add_direction ":"Add direction ","cancel ":"Cancel ","city_of_departure ":"Departure city ","city_or_country_destination ":"Destination city/country ","depart ":"Depart ","exact_dates ":"Exact dates ","flexible_dates ":"Flexible dates ","from ":"From ","max_flight_duration ":"Flight duration ","max_flight_duration_any ":"Any ","max_price ":"Price ","max_price_any ":"Any ","max_stops ":"Number of stops ","max_stops_any ":"Any ","max_stops_no ":"Non-stop ","one_way ":"One way ","return ":"Return ","save ":"Save ","to ":"To "},"highlight_alert ":{"description ":"The price will drop soon. Leave your email and wait to get notified. ","title ":"Couldn 't find the right price?"},"popup":{"add_direction":"Add direction","flight_duration":{"any":"Any","capped":{"few":"less than %{count} hours","many":"less than %{count} hours","one":"less than %{count} hour","other":"less than %{count} hours"}},"loader":"Loading...","news_subscription":"Subscribe to news","price":{"any":"Any","capped":"less than %{price} %{currency}"},"stops":{"any":"Any","capped":"%{stops} or less","none":"Without stops"},"subscription_card":{"delete":"Delete","edit":"Edit","freeze":"Freeze","info":{"dates":{"flexible":"Flexible months","one_way":"Depart date","round_trip":"Depart/Return"},"direction":"Origin/Destination","flight_duration":"Flight duration","price":"Price","stops":"Number of stops","vacation_duration":"Vacation duration"},"status":{"disabled":"Non-activated subscription","frozen":"Frozen","outdated":"Outdated subscription"},"unfreeze":"Unfreeze"},"title":"Create subscription","vacation_duration":{"few":"from %{min} to %{max} days","many":"from %{min} to %{max} days","one":"from %{min} to %{max} days","other":"from %{min} to %{max} days"}},"price_alert":{"description":"Air tickets prices frequently change. Subscribe now to stay updated.","title":"Stay informed about price changes!"},"subscribe":{"text":"Subscribe","text_compact":"Subscribe"},"title":"Looking for cheap flights?","title_compact":"Subscribe"}},"4054":{"button_link":{"text":"Find this ticket"},"tooltip_date_return":{"date_return":"Return"},"tooltip_date_to":{"date_to":"To","direct_flight":"direct flight","flights_stop":{"one":"%{count} stop","other":"%{count} stops"}}},"4063":{"chansey":{"hotel":{"one":"%{count} review","review":"Based on","review_fallback":"no review","reviews_count":null,"reviews_plural":{"one":"%{count} review","other":"%{count} reviews"}},"range_error":"Bookings can only be made for a maximum of 30 nights.","review_fallback":"no review","search":{"booking_at":"on","button_text":"Book for","checkout":"Check-Out","date_format":"D MMM YYYY","datepicker_placeholder":{"checkin":"Check-In","checkout":"Check-Out"},"enter_dates":"Enter dates \u0026 see best prices","nights_plural":{"one":"%{count} night","other":"%{count} nights"},"nigths_price_for":"for","nigths_price_price":"Price","no_rooms":"Sorry, there are no available rooms on your selected dates.","other":"%{count} nights","price_error":"Enter other dates","show_prices":"Show prices"},"validation":{"empty_date_error":"Fill dates","range_error":"Bookings can only be made for a maximum of 30 nights."}}},"4072":{"depart_date":{"date_format":"D MMM, dd","placeholder":"Depart date"},"destination":{"placeholder":"To"},"logo":{"alt":"Train tickets"},"origin":{"placeholder":"From"},"show_hotels":{"label":"Show hotels"},"submit":{"text":"Find tickets"},"title":{"subtitle":"Check timetable and buy online just in 4 minutes","title":"Russian train ticket"}},"4084":{"button_link":{"text":"Show more deals"},"card_button":{"text":"View flight"},"card_duration":{"days":{"few":"%{count} days in the destination city","many":"%{count} days in the destination city","one":"%{count} day in the destination city","other":"%{count} days in the destination city"}},"card_title":{"direct_flight":"direct flight","flights_stop":{"few":"%{count} stops","many":"%{count} stops","one":"%{count} stop","other":"%{count} stops"},"many":"%{count} stops"},"days":{"few":"%{count} days in the destination city","many":"%{count} days in the destination city","one":"%{count} day in the destination city","other":"%{count} days in the destination city"},"direct_flight":"direct flight","flights_stop":{"few":"%{count} stops","many":"%{count} stops","one":"%{count} stop","other":"%{count} stops"},"one":"%{count} stop","subtitle":{"text":"return flights"},"text":"return flights","title":{"subtitle":"return flights","text":"Cheap flights from"}},"4085":{"destination":{"placeholder":"City or place"},"logo":{"alt":"www.musement.com"},"submit":{"text":"Search"},"title":{"title":"Book tickets and experiences all over the world"}},"4097":{"adults":{"many":"for %{count} adults"},"button_link":{"from":"from","text":"Choose a tour"},"card_button":{"text":"View tour"},"card_dates":{"from":"from","nights":{"few":"to %{count} nights","many":"to %{count} nights","one":"to %{count} night","other":"to %{count} nights"}},"card_guest":{"adults":{"few":"for %{count} adults","many":"for %{count} adults","one":"for %{count} adult","other":"for %{count} adults"}},"from":"from","many":"for %{count} adults","text":"View tour","title":{"text":"Popular tours"}},"4098":{"adults":{"one":"for %{count} adult"},"button_link":{"from":"from","text":"Choose a tour"},"card_button":{"text":"View tour"},"card_dates":{"from":"from","many":"to %{count} nights","nights":{"few":"to %{count} nights","many":"to %{count} nights","one":"to %{count} night","other":"to %{count} nights"}},"card_guest":{"adults":{"few":"for %{count} adults","many":"for %{count} adults","one":"for %{count} adult","other":"for %{count} adults"}},"from":"from","nights":{"other":"to %{count} nights"},"one":"for %{count} adult","other":"to %{count} nights","text":"Choose a tour","title":{"text":"Popular tours"}},"4128":{"depart_date":{"date_format":"ddd D/M","placeholder":"Depart"},"destination":{"placeholder":"To?"},"flight_class":{"fields":{"business":{"title":"Business"},"economy":{"title":"Economy"},"first":{"title":"First"},"premium":{"title":"Premium Economy"}},"placeholder":"Flight class"},"logo":{"alt":"Flights Search"},"origin":{"placeholder":"From?"},"passengers":{"fields":{"adults":{"title":"Adults"},"children":{"subtitle":"2-11","title":"Children"},"lap_infants":{"subtitle":"under 2","title":"Lap infants"},"seat_infants":{"subtitle":"under 2","title":"Seat infants"},"youth":{"subtitle":"12-17","title":"Youth"}},"placeholder":"Passengers","plural":{"one":"%{count} passenger","other":"%{count} passengers"}},"return_date":{"date_format":"ddd D/M","one_way":"No return ticket needed","placeholder":"Return"},"show_hotels":{"label":"Show hotels"},"submit":{"text":"Search"},"title":{"subtitle":"Search hundreds of travel sites at once","title":"Flights Search"}},"4131":{"alt":"Search hotels","check_in_date":{"date_format":"D MMM, dd","label":"Check-in date","placeholder":"Check-in date"},"check_out_date":{"date_format":"D MMM, dd","label":"Check-out date","placeholder":"Check-out date"},"date_format":"D MMM, dd","direction":{"label":"Destination name","placeholder":"e.g. city, region, district or specific hotel"},"label":"Show hotels","logo":{"alt":"Search hotels"},"show_hotels":{"label":"Show hotels"},"submit":{"text":"Search"},"text":"Search","title":{"title":"Search hotels"}},"4132":{"depart_date":{"date_format":"D MMM, dd","placeholder":"Depart"},"destination":{"placeholder":"To?"},"flight_class":{"fields":{"bf":{"title":"Business/First"},"business":{"title":"Business"},"economy":{"title":"Economy/Premium Economy"},"first":{"title":"First"},"premium":{"title":"Premium Economy"}},"placeholder":"Class"},"logo":{"alt":"Trip.com"},"origin":{"placeholder":"From?"},"passengers":{"fields":{"adults":{"title":"Adults"},"children":{"subtitle":"2-11 yrs","title":"Children"},"seat_infants":{"subtitle":"\u003c2 yrs","title":"Infants"}},"placeholder":"Passengers","plural":{"few":"%{count} passengers","many":"%{count} passengers","one":"%{count} passenger","other":"%{count} passengers"}},"return_date":{"date_format":"D MMM, dd","one_way":"No return ticket needed","placeholder":"Return"},"submit":{"text":"Search"},"title":{"subtitle":"Find cheap flights and discover new destinations","title":"Flights Search"}},"4211":{"button_link":{"text":"View all offers"},"card_button":{"text":"View cruise"},"card_dates":{"from":"from","nights":{"few":"to %{count} nights","many":"to %{count} nights","one":"to %{count} night","other":"to %{count} nights"}},"card_price":{"from":"from"},"title":{"title":"Best Price Cruises"}},"4228":{"button_link":{"text":"View all offers"},"card_button":{"text":"View cruise"},"card_dates":{"from":"from","nights":{"few":"to %{count} nights","many":"to %{count} nights","one":"to %{count} night","other":"to %{count} nights"}},"card_price":{"from":"from"},"title":{"title":"Best Price Cruises"}},"4285":{"button_link":{"text":"Сheck prices"},"from":"from","rating":"Guest rating","text":"Сheck prices","tooltip_duration":{"average_price":"Average price for 1 night"},"tooltip_price":{"duration":"per night","from":"from"},"tooltip_rating":{"rating":"Guest rating"}},"4294":{"check_in_date":{"date_format":"D MMM, dd","label":"Check-in date","placeholder":"Check-in date"},"check_out_date":{"date_format":"D MMM, dd","label":"Check-out date","placeholder":"Check-out date"},"direction":{"label":"Destination name","placeholder":"e.g. city, region, district or specific hostel"},"logo":{"alt":"Search hostels"},"submit":{"text":"Search"},"title":{"subtitle":"36,000 properties, 178 countries. Over 13 million verified guest review","title":"Search hostels"}},"4362":{"drop_off_another_place":{"label":"Drop car off at different location"},"drop_off_date":{"date_format":"D MMM YYYY","label":"Drop-off date","placeholder":"Drop-off date"},"drop_off_location":{"label":"Drop-off localtion","placeholder":"Enter drop-off location"},"drop_off_time":{"label":"Drop-off time"},"logo":{"alt":"Car Search"},"pick_up_date":{"date_format":"D MMM YYYY","label":"Pick-up date","placeholder":"Pick-up date"},"pick_up_location":{"label":"Pick-up localtion","placeholder":"Enter pick-up location"},"pick_up_time":{"label":"Pick-up time"},"submit":{"text":"Search"},"title":{"subtitle":"Best Worldwide Car Hire Deals","title":"Search for Car Hire"}},"4421":{"all_months":"all_months","calendar":{"best_price":"Best price","million":"M","thousand":"K"},"calendar_info_details":{"days":{"one":"%{count} day","other":"%{count} days"},"one":"%{count} day","one_way":"One way","round_trip":"Round trip"},"calendar_tooltip_button":{"ticket":"Find this ticket"},"calendar_tooltip_from":{"direct_flight":"direct flight","flights_stop":{"one":"%{count} stop","other":"%{count} stops"},"from":"From"},"calendar_tooltip_mobile_button":{"ticket":"Find this ticket"},"calendar_tooltip_mobile_from":{"direct_flight":"direct flight","flights_stop":{"one":"%{count} stop","other":"%{count} stops"},"from":"From"},"calendar_tooltip_mobile_price":{"from":"from"},"calendar_tooltip_mobile_return":{"direct_flight":"direct flight","flights_stop":{"one":"%{count} stop","other":"%{count} stops"},"return":"Return"},"calendar_tooltip_price":{"from":"from"},"calendar_tooltip_return":{"direct_flight":"direct flight","flights_stop":{"one":"%{count} stop","other":"%{count} stops"},"return":"Return"},"calendar_travel_info":{"one_way":"One way","round_trip":"Round trip"},"days":{"one":"%{count} day","other":"%{count} days"},"destination":{"label":"To","placeholder":"City"},"direct_flights_only":{"label":"Direct flights only"},"flights_stop":{"one":"%{count} stop","other":"%{count} stops"},"from":"from","label":"Direct flights only","million":"M","one":"%{count} day","one_way":{"label":"One way"},"only_direct":{"label":"Direct flights only"},"origin":{"label":"From","placeholder":"City"},"placeholder":"City","range":{"days":{"one":"%{count} day","other":"%{count} days"},"few":"%{count} days","from":"from","to":"to"},"range_title":{"label":"Vacation\u0026nbsp;duration"},"round_trip":{"label":"Round trip"},"ticket":"Find this ticket"},"4440":{"button_link":{"text":"Show all"},"col2":{"text":"On the way"},"col3":{"from":"from"},"submit":{"text":"Select a date"},"title":{"title":"Train schedule"},"titleCol1":{"title":"Train number"},"titleCol2":{"title":"Departure / Arrival"},"titleCol3":{"text":"Estimated prices"}},"4464":{"drop_off_another_place":{"label":"Drop car off at different location"},"drop_off_date":{"date_format":"D MMM YYYY","label":"Drop-off date","placeholder":"Drop-off date"},"drop_off_location":{"label":"Drop-off localtion","placeholder":"Enter drop-off location"},"drop_off_time":{"label":"Drop-off time"},"logo":{"alt":"Car Search"},"pick_up_date":{"date_format":"D MMM YYYY","label":"Pick-up date","placeholder":"Pick-up date"},"pick_up_location":{"label":"Pick-up localtion","placeholder":"Enter pick-up location"},"pick_up_time":{"label":"Pick-up time"},"submit":{"text":"Search"},"title":{"subtitle":"Best Worldwide Car Hire Deals","title":"Search for Car Hire"}},"4479":{"drop_off_another_place":{"label":"Drop car off at different location"},"drop_off_date":{"date_format":"D MMM YYYY","label":"Drop-off date","placeholder":"Drop-off date"},"drop_off_location":{"label":"Drop-off localtion","placeholder":"Enter drop-off location"},"drop_off_time":{"label":"Drop-off time"},"logo":{"alt":"Car Search"},"pick_up_date":{"date_format":"D MMM YYYY","label":"Pick-up date","placeholder":"Pick-up date"},"pick_up_location":{"label":"Pick-up localtion","placeholder":"Enter pick-up location"},"pick_up_time":{"label":"Pick-up time"},"submit":{"text":"Search"},"title":{"subtitle":"Best Worldwide Car Hire Deals","title":"Search for Car Hire"}},"4480":{"drop_off_another_place":{"label":"Drop car off at different location"},"drop_off_date":{"date_format":"D MMM YYYY","label":"Drop-off date","placeholder":"Drop-off date"},"drop_off_location":{"label":"Drop-off localtion","placeholder":"Enter drop-off location"},"drop_off_time":{"label":"Drop-off time"},"logo":{"alt":"Car Search"},"pick_up_date":{"date_format":"D MMM YYYY","label":"Pick-up date","placeholder":"Pick-up date"},"pick_up_location":{"label":"Pick-up localtion","placeholder":"Enter pick-up location"},"pick_up_time":{"label":"Pick-up time"},"submit":{"text":"Search"},"title":{"subtitle":"Best Worldwide Car Hire Deals","title":"Search for Car Hire"}},"4576":{"depart_date":{"date_format":"D MMM, dd","placeholder":"Depart date"},"destination":{"placeholder":"To"},"logo":{"alt":"Bus tickets"},"origin":{"placeholder":"From"},"submit":{"text":"Find tickets"},"title":{"subtitle":"Over 20,000 destinations, secure payment, 24/7 support","title":"Bus tickets online"}},"4578":{"drop_off_another_place":{"label":"Drop car off at different location"},"drop_off_date":{"date_format":"D MMM YYYY","label":"Drop-off date","placeholder":"Drop-off date"},"drop_off_location":{"label":"Drop-off localtion","placeholder":"Enter drop-off location"},"drop_off_time":{"label":"Drop-off time"},"logo":{"alt":"Car Search"},"pick_up_date":{"date_format":"D MMM YYYY","label":"Pick-up date","placeholder":"Pick-up date"},"pick_up_location":{"label":"Pick-up localtion","placeholder":"Enter pick-up location"},"pick_up_time":{"label":"Pick-up time"},"submit":{"text":"Search"},"title":{"subtitle":"Best Worldwide Car Hire Deals","title":"Search for Car Hire"}},"4674":{"arrival_date":{"date_format":"D MMM YYYY","label":"Arrival date","placeholder":"Arrival date"},"arrival_time":{"label":"Arrival time"},"departure_date":{"date_format":"D MMM YYYY","label":"Дата и время возврата","placeholder":"Departure date"},"departure_time":{"label":"Departure time"},"destination":{"placeholder":"Specify resort, city, hotel"},"logo":{"alt":"Transfer booking"},"origin":{"placeholder":"Specify airport, port, station"},"passengers":{"fields":{"adults":{"subtitle":"12+","title":"Adults"},"children":{"subtitle":"3-11","title":"Children"},"infants":{"subtitle":"0-2","title":"Infants"}},"placeholder":"Passengers","plural":{"few":"%{count} passengers","many":"%{count} passengers","one":"%{count} passenger","other":"%{count} passengers"}},"return_checkbox":{"label":"Return"},"submit":{"text":"Search"},"title":{"subtitle":"Airport transfers executed by local professional companies","title":"Transfer booking"}},"4684":{"depart_date":{"date_format":"ddd D/M","placeholder":"Depart"},"destination":{"placeholder":"To?"},"flight_class":{"fields":{"business":{"title":"Business"},"coach":{"title":"Coach"},"first":{"title":"First"},"premium_economy":{"title":"Premium Economy"}},"placeholder":"Flight class"},"logo":{"alt":"Flights Search"},"origin":{"placeholder":"From?"},"passengers":{"fields":{"adults":{"title":"Adults"},"child":{"subtitle":"2-11","title":"Children"},"lap_infants":{"subtitle":"under 2","title":"Lap infants"},"seat_infants":{"subtitle":"under 2","title":"Seat infants"},"seniors":{"subtitle":"65+","title":"Senior"},"youth":{"subtitle":"12-17","title":"Youth"}},"placeholder":"Passengers","plural":{"few":"%{count} passengers","many":"%{count} passengers","one":"%{count} passenger","other":"%{count} passengers"}},"return_date":{"date_format":"ddd D/M","one_way":"No return ticket needed","placeholder":"Return"},"submit":{"text":"Search"},"title":{"subtitle":"Compare and Book Cheap Flights on Over 600 Airlines","title":"Flights Search"}},"4694":{"departure_date":{"date_format":"D MMM YYYY","label":"Departure date","placeholder":"Departure date"},"destination":{"label":"Country or resort","placeholder":"Country or resort"},"logo":{"alt":"Onlinetours logo"},"nights":{"fields":{"nights":{"title":"Nights"}},"label":"Nights","placeholder":"Nights","plural":{"few":"%{count} nights","many":"%{count} nights","one":"%{count} night","other":"%{count} nights"}},"origin":{"label":"Departure city"},"submit":{"text":"Search"},"title":{"title":"Tour search"},"tourists":{"fields":{"adults":{"subtitle":"14+","title":"Adults"},"children":{"subtitle":"1-14","title":"Children"}},"label":"Number of tourists","placeholder":"Number of tourists","plural":{"few":"%{count} persons","many":"%{count} persons","one":"%{count} person","other":"%{count} persons"}}},"4734":{"origin":{"text":"Find now"},"title_origin":{"text":"Origin"},"title_origin2":{"text":"Origin"},"title_origin3":{"text":"Origin"},"title_origin4":{"text":"Origin"},"title_price":{"text":"Price from"},"title_price2":{"text":"Price from"},"title_price3":{"text":"Price from"},"title_price4":{"text":"Price from"}},"4983":{"button_link":{"text":"Find this ticket"},"tooltip_date_return":{"date_return":"Return"},"tooltip_date_to":{"date_to":"To","direct_flight":"direct flight","flights_stop":{"one":"%{count} stop","other":"%{count} stops"}}},"5050":{"check_in_date":{"date_format":"D MMM YYYY","label":"Check-in date","placeholder":"Check-in date"},"check_out_date":{"date_format":"D MMM YYYY","label":"Check-out date","placeholder":"Check-out date"},"destination":{"label":"City","placeholder":"City"},"logo":{"alt":"Sanatory logo"},"submit":{"text":"Find"},"title":{"subtitle":"online booking of health resorts, spa hotels, vacation homes","title":"Search for sanatoriums"},"travellers":{"fields":{"adults":{"subtitle":"14+","title":"Adults"},"children":{"subtitle":"1-14","title":"Children"}},"plural":{"few":"%{count} persons","many":"%{count} persons","one":"%{count} person","other":"%{count} persons"}}},"5075":{"button_link":{"text":"View more experiences"},"card_button":{"text":"Book"},"card_host":{"text":"Hosted by"},"title":{"online":"Online experiences","text":"Experiences in"}},"5139":{"depart_date":{"date_format":"D MMM, dd","placeholder":"Date"},"destination":{"placeholder":"To"},"logo":{"alt":"BlaBlaCar logo"},"origin":{"placeholder":"From"},"passengers":{"fields":{"seats":{"title":"Seats"}},"placeholder":"Passengers","plural":{"few":"%{count} passengers","many":"%{count} passengers","one":"%{count} passenger","other":"%{count} passengers"}},"submit":{"text":"Search"},"title":{"subtitle":"A new way to travel cheap","title":"BlaBlaCar – buses"}},"5199":{"departure_date":{"date_format":"D MMM YYYY","label":"Departure date","placeholder":"Departure date"},"destination":{"label":"Country","placeholder":"Country"},"logo":{"alt":"Teztour logo"},"nights":{"fields":{"nights":{"title":"Nights"}},"label":"Nights","placeholder":"Nights","plural":{"few":"%{count} nights","many":"%{count} nights","one":"%{count} night","other":"%{count} nights"}},"origin":{"label":"Departure city"},"submit":{"text":"Find"},"title":{"subtitle":"More than 520,000 hotels worldwide","title":"Search tours"},"tourists":{"fields":{"adults":{"subtitle":"17+","title":"Adults"},"children":{"subtitle":"1-17","title":"Children"}},"label":"Tourists","placeholder":"Tourists","plural":{"few":"%{count} persons","many":"%{count} persons","one":"%{count} person","other":"%{count} persons"}}},"5322":{"departure_date":{"date_format":"D MMM YYYY","label":"Arrival date","placeholder":"Arrival date"},"logo":{"alt":"Dolphin logo"},"nights":{"fields":{"nights":{"title":"Nights"}},"label":"Nights","placeholder":"Nights","plural":{"few":"%{count} nights","many":"%{count} nights","one":"%{count} night","other":"%{count} nights"}},"origin":{"label":"Where","placeholder":"Country, city, resort, hotel"},"submit":{"text":"Search"},"title":{"subtitle":"More than 25 years of specialization in domestic tourism","title":"Tour Search"},"tourists":{"fields":{"adults":{"subtitle":"17+","title":"Adults"},"children":{"subtitle":"1-17","title":"Children"}},"label":"Tourists","placeholder":"Tourists","plural":{"few":"%{count} persons","many":"%{count} persons","one":"%{count} person","other":"%{count} persons"}}},"5369":{"days":{"label":"Days on the cruise"},"departure_date":{"date_format":"D MMM, dd","label":"Departure date","placeholder":"Departure date"},"logo":{"alt":"kruiz.online logo"},"month":{"label":"Departure month"},"start_cities":{"label":"Departure city","placeholder":"Departure city"},"submit":{"text":"Find"},"title":{"subtitle":"All cruises in Russia online without a surcharge","title":"Search cruises"},"tourists":{"fields":{"adults":{"subtitle":"14+","title":"Adults"},"children":{"subtitle":"1-14","title":"Children"}},"label":"Number of tourists","plural":{"few":"%{count} persons","many":"%{count} persons","one":"%{count} person","other":"%{count} persons"}},"visit_cities":{"label":"Visit city","placeholder":"Visit city"}},"5431":{"button_link":{"text":"View more events"},"card_button":{"text":"Buy now"},"title":{"text":"events in"}},"5469":{"button_link":{"text":"View more excursions"},"card_button":{"text":"View excursion"},"title":{"text":"Excursions"}},"5470":{"departure_date":{"date_format":"D MMM YYYY","label":"Departure date","placeholder":"Departure date"},"destination":{"label":"Direction","placeholder":"Country, city or hotel"},"logo":{"alt":"Level.Travel logo"},"nights":{"fields":{"nights":{"title":"Nights"}},"label":"Nights","placeholder":"Nights","plural":{"few":"%{count} nights","many":"%{count} nights","one":"%{count} night","other":"%{count} nights"}},"origin":{"label":"Departure city"},"submit":{"text":"Search"},"title":{"subtitle":"The best price guarantee","title":"Tour search"},"tourists":{"fields":{"adults":{"subtitle":"16+","title":"Adults"},"children":{"subtitle":"1-16","title":"Children"}},"label":"Tourists","placeholder":"Tourists","plural":{"few":"%{count} persons","many":"%{count} persons","one":"%{count} person","other":"%{count} persons"}}},"5472":{"drop_off_another_place":{"label":"Return to another location"},"drop_off_date":{"date_format":"D MMM YYYY","label":"Drop off date","placeholder":"Drop off date"},"drop_off_location":{"placeholder":"Enter drop off city"},"drop_off_time":{"label":"Drop off time"},"logo":{"alt":"bikesbooking logo"},"pick_up_date":{"date_format":"D MMM YYYY","label":"Pick up date","placeholder":"Pick up date"},"pick_up_location":{"placeholder":"Enter pick up city"},"pick_up_time":{"label":"Pick up time"},"submit":{"text":"Search"},"title":{"subtitle":"Rent a motorcycle, scooter or bicycle in any part of the world","title":"Search for a rental"}},"5494":{"date_from":{"date_format":"D MMM YYYY","label":"Departure date","placeholder":"Departure date"},"date_to":{"date_format":"D MMM YYYY","label":"Arrival date","placeholder":"Arrival date"},"days_max":{"fields":{"days_max":{"title":"Up to days"}},"label":"Up to days","plural":{"few":"up to %{count} days","many":"up to %{count} days","one":"up to %{count} day","other":"up to %{count} days"}},"days_min":{"fields":{"days_min":{"title":"Days from"}},"label":"Days from","plural":{"few":"from %{count} days","many":"from %{count} days","one":"from %{count} day","other":"from %{count} days"}},"destination":{"label":"Region","placeholder":"Region"},"logo":{"alt":"Search tours"},"rest_type":{"label":"Travel style","placeholder":"Travel style"},"submit":{"text":"Choose your tour"},"title":{"subtitle":"Adventures in Russia","title":"Tours search"}},"5850":{"button_link":{"text":"View more tours"},"card_button":{"text":"View tour"},"logo":{"alt":"Viator logo"},"title":{"text":"Popular tours"}},"5919":{"days":{"label":"Days on the cruise"},"departure_date":{"date_format":"D MMM, dd","label":"Departure date","placeholder":"Departure date"},"logo":{"alt":"kruiz.online logo"},"start_cities":{"label":"Departure city","placeholder":"Departure city"},"submit":{"text":"Find"},"title":{"subtitle":"Sea cruises online without a surcharge","title":"Search cruises"},"visit_cities":{"label":"Visit city","placeholder":"Visit city"}},"7257":{"check_in_date":{"date_format":"D MMM, dd","label":"Check-in","placeholder":"Check-in"},"check_out_date":{"date_format":"D MMM, dd","label":"Check-out","placeholder":"Check-out"},"destination":{"label":"Destination","placeholder":"City or airport"},"guests":{"fields":{"adults":{"title":"Adults"},"child_age":{"title":"Age"},"children":{"title":"Children to 17 years"},"children_details":{"title":"to 17 years"},"children_text":{"title":"Children"}},"label":"Guests","placeholder":"Guests","plural":{"few":"%{count} guests","many":"%{count} guests","one":"%{count} guest","other":"%{count} guests","zero":"%{count} guests"}},"logo":{"alt":"Logo"},"submit":{"text":"Search"},"title":{"subtitle":"over 1,700,000 properties around the world","title":"Find hotels, hostels, and apartments"}},"7263":{"destination":{"text":"Find now"},"title_destination":{"text":"Destination"},"title_destination2":{"text":"Destination"},"title_destination3":{"text":"Destination"},"title_destination4":{"text":"Destination"},"title_price":{"text":"Price from"},"title_price2":{"text":"Price from"},"title_price3":{"text":"Price from"},"title_price4":{"text":"Price from"}},"7281":{"col5":{"select_dates":"Select dates"},"direct":"direct","error":{"link":"Proceed to","text":"Select a date and search for cheap flights by destination","title":"Flight schedule not found"},"flights_type":{"direct":"direct","stops":{"one":"%{count} stop","other":"%{count} stops"}},"show_hotels":{"label":"Show hotels"},"title":{"days":{"one":"%{count} day","other":"%{count} days"},"flights":{"one":"%{count} flight in a week,","other":"%{count} flights in a week,"},"flights_every_day":{"one":"More than %{count} flight every day, from","other":"More than %{count} flights every day, from"},"hours":{"one":"%{count}h","other":"%{count}h"},"min":{"one":"%{count}m","other":"%{count}m"}}},"7298":{"check_in_date":{"date_format":"D MMM, dd","label":"Check-in","placeholder":"Check-in"},"check_out_date":{"date_format":"D MMM, dd","label":"Check-out","placeholder":"Check-out"},"destination":{"label":"Destination","placeholder":"City or airport"},"guests":{"fields":{"adults":{"title":"Guests"}},"label":"Guests","placeholder":"Guests","plural":{"few":"%{count} guests","many":"%{count} guests","one":"%{count} guest","other":"%{count} guests"}},"logo":{"alt":"Logo"},"submit":{"text":"Search"},"title":{"subtitle":"over 1,700,000 properties around the world","title":"Find hotels, hostels, and apartments"}},"7339":{"check_in_date":{"date_format":"D MMM, dd","label":"Check-in","placeholder":"Check-in"},"check_out_date":{"date_format":"D MMM, dd","label":"Check-out","placeholder":"Check-out"},"destination":{"label":"Destination","placeholder":"City or airport"},"guests":{"fields":{"adults":{"title":"Guests"}},"label":"Guests","placeholder":"Guests","plural":{"few":"%{count} guests","many":"%{count} guests","one":"%{count} guest","other":"%{count} guests"}},"logo":{"alt":"Logo"},"submit":{"text":"Search"},"title":{"subtitle":"More than 3,000,000 hotels, resorts, campgrounds, hostels and apart-hotels","title":"All types of accommodation"}},"7453":{"button_link":{"text":"View all offers"},"card_button":{"text":"View an offer"},"card_price":{"text":"price per night from","text_2":"specify the price"},"title":{"title":"Hotels and Inns"}},"7849":{"check_in_date":{"date_format":"D MMM, dd","label":"Check in","placeholder":"Check in"},"check_out_date":{"date_format":"D MMM, dd","label":"Check out","placeholder":"Check out"},"destination":{"label":"Destination","placeholder":"Enter destination"},"guests":{"fields":{"adults":{"title":"Guests"}},"label":"Guests","placeholder":"Guests","plural":{"few":"%{count} guests","many":"%{count} guests","one":"%{count} guest","other":"%{count} guests"}},"logo":{"alt":"Logo"},"submit":{"text":"Search"},"title":{"subtitle":"Deals from your favorite booking sites","title":"Search \u0026 compare hotel deals"}},"7873":{"alt":"Search and compare hotel prices","check_in_date":{"date_format":"D MMM, dd","label":"Check-In","placeholder":"Check-In"},"check_out_date":{"date_format":"D MMM, dd","label":"Check-Out","placeholder":"Check-Out"},"date_format":"D MMM, dd","destination":{"label":"City or hotel name","placeholder":"City or hotel name"},"guests":{"fields":{"adults":{"title":"Adults"},"child_age":{"title":"Age"},"children":{"title":"Children to 17 years"},"children_details":{"title":"to 17 years"},"children_text":{"title":"Children"}},"label":"Guests","placeholder":"Guests","plural":{"few":"%{count} guests","many":"%{count} guests","one":"%{count} guest","other":"%{count} guests","zero":"%{count} guests"}},"hotels":"hotels","label":"Show hotels","logo":{"alt":"Search and compare hotel prices"},"show_hotels":{"label":"Show hotels"},"submit":{"text":"Search"},"tabs":{"avia":"FLIGHTS","hotels":"HOTELS"},"text":"Search","title":{"title":"Search and compare hotel prices"}},"7879":{"DateRange":{"date_format":"D MMM, dd","from_label":"Depart date","from_placeholder":"Depart date","one_way":"Return ticket is not needed","to_label":"Return date","to_placeholder":"Return date"},"LinkImage_1":{"alt":"Cheap flights and airline tickets"},"Show_hotels":{"label":"Show hotels"},"Submit_6":{"text":"Search"},"alt":"Cheap flights and airline tickets","avia":"avia","label":"Origin","origin_and_destination":{"destination":{"label":"Destination","placeholder":"Destination"},"origin":{"label":"Origin","placeholder":"Origin"}},"passengers":{"fields":{"adults":{"title":"Adults"},"children":{"subtitle":"under 12 years","title":"Children"},"lap_infants":{"subtitle":"under 2 years","title":"Infants"},"title":"Infants"},"label":"Passengers","other":"%{count} passengers","placeholder":"Passengers","plural":{"few":"%{count} passengers","many":"%{count} passengers","one":"%{count} passenger","other":"%{count} passengers","zero":"%{count} passengers"},"radio":{"business":"Business","economy":"Economy"}},"placeholder":"Destination","tabs":{"avia":"FLIGHTS","hotels":"HOTELS"},"text":"Search","title":{"title":"Cheap flights and airline tickets"},"to_placeholder":"Return date","trip_class":{"label":"Business сlass"}},"7921":{"check_in_date":{"date_format":"D MMM, dd","label":"Check in","placeholder":"Check in"},"check_out_date":{"date_format":"D MMM, dd","label":"Check out","placeholder":"Check out"},"destination":{"label":"Destination","placeholder":"Enter destination"},"guests":{"fields":{"child_age":{"title":"Age"},"children":{"title":"Children (0-17 y.o.)"},"children_details":{"title":"under 17"},"children_text":{"title":"Children"},"men":{"title":"Men"}},"label":"Guests","placeholder":"Guests","plural":{"few":"%{count} guests","many":"%{count} guests","one":"%{count} guest","other":"%{count} guests"}},"logo":{"alt":"Logo"},"submit":{"text":"Search"},"title":{"title":"Look for hotels, apartments and houses at once on Tvil"}},"8003":{"check_in_date":{"date_format":"D MMM, dd","label":"Check in","placeholder":"Check in"},"check_out_date":{"date_format":"D MMM, dd","label":"Check out","placeholder":"Check out"},"destination":{"label":"Destination","placeholder":"Country, city or hotel"},"guests":{"fields":{"adults":{"subtitle":"16+","title":"Adults"}},"label":"Guests","placeholder":"Guests","plural":{"few":"%{count} guests","many":"%{count} guests","one":"%{count} guest","other":"%{count} guests"}},"logo":{"alt":"Logo"},"submit":{"text":"Search"},"title":{"subtitle":"The best price guarantee","title":"Hotel search"}},"8288":{"button_link":{"text":"View all offers"},"card_button":{"text":"View cruise"},"card_dates":{"from":"from"},"card_price":{"from":"from"},"card_title":{"stops":{"few":"%{count} more stops","many":"%{count} more stops","one":"%{count} more stop","other":"%{count} more stops"}},"title":{"title":"Sea cruises"}},"8303":{"check_in_date":{"date_format":"D MMM, dd","label":"Check In","placeholder":"Check In"},"check_out_date":{"date_format":"D MMM, dd","label":"Check Out","placeholder":"Check Out"},"destination":{"label":"Destination name","placeholder":"Enter a destination or property"},"logo":{"alt":"logo"},"submit":{"text":"Search"},"title":{"subtitle":"Get the best prices on 2,000,000+ properties, worldwide","title":"Hotels, resorts, hostels \u0026 more"}},"8344":{"check_in_date":{"date_format":"D MMM, dd","label":"Check In","placeholder":"Check In"},"check_out_date":{"date_format":"D MMM, dd","label":"Check Out","placeholder":"Check Out"},"destination":{"label":"Destination","placeholder":"Country or resort"},"guests":{"fields":{"adults":{"subtitle":"18+","title":"Adults"},"children":{"subtitle":"from 0 to 17","title":"Children"}},"label":"Tourists","placeholder":"Tourists","plural":{"few":"%{count} tourists","many":"%{count} tourists","one":"%{count} tourist","other":"%{count} tourists"}},"logo":{"alt":"logo"},"origin":{"label":"Departure city","placeholder":"Departure city"},"submit":{"text":"Search"},"title":{"subtitle":"at tour operator prices or lower","title":"Tours online"}},"8380":{"check_in_date":{"date_format":"D MMM, dd","label":"Check In","placeholder":"Check In"},"check_out_date":{"date_format":"D MMM, dd","label":"Check Out","placeholder":"Check Out"},"destination":{"label":"Destination","placeholder":"Country or resort"},"guests":{"fields":{"adults":{"subtitle":"16+","title":"Adults"}},"label":"Tourists","placeholder":"Tourists","plural":{"few":"%{count} tourists","many":"%{count} tourists","one":"%{count} tourist","other":"%{count} tourists"}},"logo":{"alt":"logo"},"submit":{"text":"Search"},"title":{"subtitle":"on the best terms","title":"Hotel search"}},"8450":{"date":{"date_format":"D MMM YYYY","placeholder":"When"},"destination":{"placeholder":"To"},"logo":{"alt":"indriver logo"},"origin":{"placeholder":"From"},"submit":{"text":"Find a driver"},"title":{"subtitle":"Discover hundreds of intercity routes","title":"City to city rides at your fare"}},"8566":{"check_in_date":{"date_format":"D MMM, dd","label":"Check in","placeholder":"Check in"},"check_out_date":{"date_format":"D MMM, dd","label":"Check out","placeholder":"Check out"},"destination":{"label":"City or hotel","placeholder":"City or hotel"},"guests":{"fields":{"adults":{"title":"Adults"},"child_age":{"title":"Age"},"children":{"title":"Children (0-17 y.o.)"},"children_details":{"title":"under 17"},"children_text":{"title":"Children"}},"label":"Guests","placeholder":"Guests","plural":{"few":"%{count} guests","many":"%{count} guests","one":"%{count} guest","other":"%{count} guests"}},"logo":{"alt":"Logo"},"submit":{"text":"Search"},"title":{"title":"Hotels for traveling in Russia"}},"8588":{"country":{"label":"Destination name","placeholder":"Search data packs for 200+ countries and regions"},"logo":{"alt":"logo"},"submit":{"text":"Search"},"title":{"subtitle":"Stay connected, wherever you travel, at affordable rates","title":"Local, regional and global eSIMs for travellers"}},"8601":{"card_button":{"text":"Book now"},"card_price":{"from":"from"}},"adults":{"title":"Adults"},"all_months":"all_months","average_price":"Average price for 1 night","button_link":{"text":"Choose a tour"},"calendar_tooltip_mobile_button":{"ticket":"Find this ticket"},"card_dates":{"nights":{"other":"to %{count} nights"}},"chansey":{"search":{"show_prices":"Show prices"}},"check_in_date":{"placeholder":"Check-in date"},"fields":{"adults":{"title":"Adults"}},"nights":{"other":"to %{count} nights"},"other":"to %{count} nights","passengers":{"fields":{"adults":{"title":"Adults"}}},"placeholder":"Check-in date","search":{"show_prices":"Show prices"},"show_prices":"Show prices","text":"Choose a tour","ticket":"Find this ticket","title":"Adults","tooltip_duration":{"average_price":"Average price for 1 night"}}} var initParams = { config: config, abTest: null, categoriesIds: [14], globalTranslations: translations, locale: 'en ', hostname: 'trpwdg.com ' } window.CASCOON_GLOBAL.init(initParams); })();