+
+## Get started
+
+1. Install Claude Code:
+
+```sh
+npm install -g @anthropic-ai/claude-code
+```
+
+2. Navigate to your project directory and run `claude`.
+
+## Reporting Bugs
+
+We welcome feedback during this beta period. Use the `/bug` command to report issues directly within Claude Code, or file a [GitHub issue](https://github.com/anthropics/claude-code/issues).
+
+## Data collection, usage, and retention
+
+When you use Claude Code, we collect feedback, which includes usage data (such as code acceptance or rejections), associated conversation data, and user feedback submitted via the `/bug` command.
+
+### How we use your data
+
+We may use feedback to improve our products and services, but we will not train generative models using your feedback from Claude Code. Given their potentially sensitive nature, we store user feedback transcripts for only 30 days.
+
+If you choose to send us feedback about Claude Code, such as transcripts of your usage, Anthropic may use that feedback to debug related issues and improve Claude Code's functionality (e.g., to reduce the risk of similar bugs occurring in the future).
+
+### Privacy safeguards
+
+We have implemented several safeguards to protect your data, including limited retention periods for sensitive information, restricted access to user session data, and clear policies against using feedback for model training.
+
+For full details, please review our [Commercial Terms of Service](https://www.anthropic.com/legal/commercial-terms) and [Privacy Policy](https://www.anthropic.com/legal/privacy).
diff --git a/node_modules/.pnpm/@anthropic-ai+claude-code@1.0.120/node_modules/@anthropic-ai/claude-code/cli.js b/node_modules/.pnpm/@anthropic-ai+claude-code@1.0.120/node_modules/@anthropic-ai/claude-code/cli.js
new file mode 100755
index 0000000..4827f72
--- /dev/null
+++ b/node_modules/.pnpm/@anthropic-ai+claude-code@1.0.120/node_modules/@anthropic-ai/claude-code/cli.js
@@ -0,0 +1,3741 @@
+#!/usr/bin/env node
+
+// (c) Anthropic PBC. All rights reserved. Use is subject to Anthropic's Commercial Terms of Service (https://www.anthropic.com/legal/commercial-terms).
+
+// Version: 1.0.120
+
+// Want to see the unminified source? We're hiring!
+// https://job-boards.greenhouse.io/anthropic/jobs/4816199008
+
+import{createRequire as w6Q}from"node:module";var D6Q=Object.create;var{getPrototypeOf:C6Q,defineProperty:Dl1,getOwnPropertyNames:U6Q}=Object;var $6Q=Object.prototype.hasOwnProperty;var A1=(A,B,Q)=>{Q=A!=null?D6Q(C6Q(A)):{};let Z=B||!A||!A.__esModule?Dl1(Q,"default",{value:A,enumerable:!0}):Q;for(let G of U6Q(A))if(!$6Q.call(Z,G))Dl1(Z,G,{get:()=>A[G],enumerable:!0});return Z};var U=(A,B)=>()=>(B||A((B={exports:{}}).exports,B),B.exports);var Ph=(A,B)=>{for(var Q in B)Dl1(A,Q,{get:B[Q],enumerable:!0,configurable:!0,set:(Z)=>B[Q]=()=>Z})};var fF1=(A,B)=>()=>(A&&(B=A(A=0)),B);var X1=w6Q(import.meta.url);var V1=U((v6Q)=>{var rB1=Symbol.for("react.element"),q6Q=Symbol.for("react.portal"),E6Q=Symbol.for("react.fragment"),N6Q=Symbol.for("react.strict_mode"),L6Q=Symbol.for("react.profiler"),M6Q=Symbol.for("react.provider"),O6Q=Symbol.for("react.context"),R6Q=Symbol.for("react.forward_ref"),T6Q=Symbol.for("react.suspense"),P6Q=Symbol.for("react.memo"),j6Q=Symbol.for("react.lazy"),u_0=Symbol.iterator;function S6Q(A){if(A===null||typeof A!=="object")return null;return A=u_0&&A[u_0]||A["@@iterator"],typeof A==="function"?A:null}var c_0={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},l_0=Object.assign,p_0={};function wp(A,B,Q){this.props=A,this.context=B,this.refs=p_0,this.updater=Q||c_0}wp.prototype.isReactComponent={};wp.prototype.setState=function(A,B){if(typeof A!=="object"&&typeof A!=="function"&&A!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,A,B,"setState")};wp.prototype.forceUpdate=function(A){this.updater.enqueueForceUpdate(this,A,"forceUpdate")};function i_0(){}i_0.prototype=wp.prototype;function Ul1(A,B,Q){this.props=A,this.context=B,this.refs=p_0,this.updater=Q||c_0}var $l1=Ul1.prototype=new i_0;$l1.constructor=Ul1;l_0($l1,wp.prototype);$l1.isPureReactComponent=!0;var m_0=Array.isArray,n_0=Object.prototype.hasOwnProperty,wl1={current:null},a_0={key:!0,ref:!0,__self:!0,__source:!0};function s_0(A,B,Q){var Z,G={},Y=null,I=null;if(B!=null)for(Z in B.ref!==void 0&&(I=B.ref),B.key!==void 0&&(Y=""+B.key),B)n_0.call(B,Z)&&!a_0.hasOwnProperty(Z)&&(G[Z]=B[Z]);var W=arguments.length-2;if(W===1)G.children=Q;else if(11){let J=W[1];if(J.endsWith("/"))J=J.slice(0,-1);Z.push(`https://${J}${Y}`)}}return Z})}_pickNewFallbackUrl(A,B){var Q;if(B==null)return null;let Z=new Set((Q=A===null||A===void 0?void 0:A.previous)!==null&&Q!==void 0?Q:[]),G=A===null||A===void 0?void 0:A.url,Y=null;for(let I of B){let W=I.endsWith("/")?I.slice(0,-1):I;if(!Z.has(I)&&W!==G){Y=W;break}}return Y}}ey.NetworkFallbackResolver=im0;function nm0(A,B){var Q;let Z=(Q=A===null||A===void 0?void 0:A.toLowerCase())!==null&&Q!==void 0?Q:"";return B||Z.includes("uncaught exception")||Z.includes("failed to fetch")||Z.includes("networkerror when attempting to fetch resource")}ey._isDomainFailure=nm0;function am0(A){return`statsig.network_fallback.${VzQ._DJB2(A)}`}function Vi1(A,B){let Q=am0(A);if(!B||Object.keys(B).length===0){Ki1.Storage.removeItem(Q);return}Ki1.Storage.setItem(Q,JSON.stringify(B))}function HzQ(A){let B=am0(A),Q=Ki1.Storage.getItem(B);if(!Q)return null;try{return JSON.parse(Q)}catch(Z){return KzQ.Log.error("Failed to parse FallbackInfo"),null}}function pm0(A){try{return new URL(A).pathname}catch(B){return null}}});var zi1=U((om0)=>{Object.defineProperty(om0,"__esModule",{value:!0});om0.SDKFlags=void 0;var rm0={};om0.SDKFlags={setFlags:(A,B)=>{rm0[A]=B},get:(A,B)=>{var Q,Z;return(Z=(Q=rm0[A])===null||Q===void 0?void 0:Q[B])!==null&&Z!==void 0?Z:!1}}});var yK1=U((Yd0)=>{Object.defineProperty(Yd0,"__esModule",{value:!0});Yd0.StatsigSession=Yd0.SessionID=void 0;var DzQ=PQ1(),CzQ=GF(),Ad0=GT(),Bd0=LK1(),Qd0=1800000,Zd0=14400000,SK1={};Yd0.SessionID={get:(A)=>{return Yd0.StatsigSession.get(A).data.sessionID}};Yd0.StatsigSession={get:(A)=>{if(SK1[A]==null)SK1[A]=UzQ(A);let B=SK1[A];return wzQ(B)},overrideInitialSessionID:(A,B)=>{SK1[B]=$zQ(A,B)}};function UzQ(A){let B=LzQ(A),Q=Date.now();if(!B)B={sessionID:Bd0.getUUID(),startTime:Q,lastUpdate:Q};return{data:B,sdkKey:A}}function $zQ(A,B){let Q=Date.now();return{data:{sessionID:A,startTime:Q,lastUpdate:Q},sdkKey:B}}function wzQ(A){let B=Date.now(),Q=A.data;if(qzQ(Q)||EzQ(Q))Q.sessionID=Bd0.getUUID(),Q.startTime=B;Q.lastUpdate=B,NzQ(Q,A.sdkKey),clearTimeout(A.idleTimeoutID),clearTimeout(A.ageTimeoutID);let Z=B-Q.startTime,G=A.sdkKey;return A.idleTimeoutID=em0(G,Qd0),A.ageTimeoutID=em0(G,Zd0-Z),A}function em0(A,B){return setTimeout(()=>{let Q=__STATSIG__===null||__STATSIG__===void 0?void 0:__STATSIG__.instance(A);if(Q)Q.$emt({name:"session_expired"})},B)}function qzQ({lastUpdate:A}){return Date.now()-A>Qd0}function EzQ({startTime:A}){return Date.now()-A>Zd0}function Gd0(A){return`statsig.session_id.${DzQ._getStorageKey(A)}`}function NzQ(A,B){let Q=Gd0(B);try{Ad0._setObjectInStorage(Q,A)}catch(Z){CzQ.Log.warn("Failed to save SessionID")}}function LzQ(A){let B=Gd0(A);return Ad0._getObjectFromStorage(B)}});var Di1=U((Id0)=>{Object.defineProperty(Id0,"__esModule",{value:!0});Id0.ErrorTag=void 0;Id0.ErrorTag={NetworkError:"NetworkError"}});var Cd0=U((Di)=>{var Hi=Di&&Di.__awaiter||function(A,B,Q,Z){function G(Y){return Y instanceof Q?Y:new Q(function(I){I(Y)})}return new(Q||(Q=Promise))(function(Y,I){function W(F){try{X(Z.next(F))}catch(V){I(V)}}function J(F){try{X(Z.throw(F))}catch(V){I(V)}}function X(F){F.done?Y(F.value):G(F.value).then(W,J)}X((Z=Z.apply(A,B||[])).next())})};Object.defineProperty(Di,"__esModule",{value:!0});Di.NetworkCore=void 0;lh();var Jd0=lh(),Ci1=FK1(),nh=GF(),hw=jQ1(),OzQ=sm0(),RzQ=zi1(),Vd0=jK1(),TzQ=ph(),Kd0=yK1(),PzQ=OK1(),jzQ=Di1(),zd0=_Q1(),SzQ=EK1(),yzQ=1e4,kzQ=500,_zQ=30000,xzQ=1000,Hd0=50,vzQ=Hd0/xzQ,bzQ=new Set([408,500,502,503,504,522,524,599]);class Dd0{constructor(A,B){if(this._emitter=B,this._errorBoundary=null,this._timeout=yzQ,this._netConfig={},this._options={},this._leakyBucket={},this._lastUsedInitUrl=null,A)this._options=A;if(this._options.networkConfig)this._netConfig=this._options.networkConfig;if(this._netConfig.networkTimeoutMs)this._timeout=this._netConfig.networkTimeoutMs;this._fallbackResolver=new OzQ.NetworkFallbackResolver(this._options)}setErrorBoundary(A){this._errorBoundary=A,this._errorBoundary.wrap(this),this._errorBoundary.wrap(this._fallbackResolver),this._fallbackResolver.setErrorBoundary(A)}isBeaconSupported(){return typeof navigator!=="undefined"&&typeof navigator.sendBeacon==="function"}getLastUsedInitUrlAndReset(){let A=this._lastUsedInitUrl;return this._lastUsedInitUrl=null,A}beacon(A){return Hi(this,void 0,void 0,function*(){if(!Xd0(A))return!1;let B=this._getInternalRequestArgs("POST",A);yield this._tryToCompressBody(B);let Q=yield this._getPopulatedURL(B),Z=navigator;return Z.sendBeacon.bind(Z)(Q,B.body)})}post(A){return Hi(this,void 0,void 0,function*(){let B=this._getInternalRequestArgs("POST",A);return this._tryEncodeBody(B),yield this._tryToCompressBody(B),this._sendRequest(B)})}get(A){let B=this._getInternalRequestArgs("GET",A);return this._sendRequest(B)}_sendRequest(A){var B,Q,Z,G;return Hi(this,void 0,void 0,function*(){if(!Xd0(A))return null;if(this._netConfig.preventAllNetworkTraffic)return null;let{method:Y,body:I,retries:W,attempt:J}=A,X=A.urlConfig.endpoint;if(this._isRateLimited(X))return nh.Log.warn(`Request to ${X} was blocked because you are making requests too frequently.`),null;let F=J!==null&&J!==void 0?J:1,V=typeof AbortController!=="undefined"?new AbortController:null,K=setTimeout(()=>{V===null||V===void 0||V.abort(`Timeout of ${this._timeout}ms expired.`)},this._timeout),z=yield this._getPopulatedURL(A),H=null,D=SzQ._isUnloading();try{let C={method:Y,body:I,headers:Object.assign({},A.headers),signal:V===null||V===void 0?void 0:V.signal,priority:A.priority,keepalive:D};uzQ(A,F);let w=this._leakyBucket[X];if(w)w.lastRequestTime=Date.now(),this._leakyBucket[X]=w;if(H=yield((B=this._netConfig.networkOverrideFunc)!==null&&B!==void 0?B:fetch)(z,C),clearTimeout(K),!H.ok){let O=yield H.text().catch(()=>"No Text"),R=new Error(`NetworkError: ${z} ${O}`);throw R.name="NetworkError",R}let L=yield H.text();return Fd0(A,H,F,L),this._fallbackResolver.tryBumpExpiryTime(A.sdkKey,A.urlConfig),{body:L,code:H.status}}catch(C){let w=hzQ(V,C),E=gzQ(V);if(Fd0(A,H,F,"",C),yield this._fallbackResolver.tryFetchUpdatedFallbackInfo(A.sdkKey,A.urlConfig,w,E))A.fallbackUrl=this._fallbackResolver.getActiveFallbackUrl(A.sdkKey,A.urlConfig);if(!W||F>W||!bzQ.has((Q=H===null||H===void 0?void 0:H.status)!==null&&Q!==void 0?Q:500)){(Z=this._emitter)===null||Z===void 0||Z.call(this,{name:"error",error:C,tag:jzQ.ErrorTag.NetworkError,requestArgs:A});let O=`A networking error occurred during ${Y} request to ${z}.`;return nh.Log.error(O,w,C),(G=this._errorBoundary)===null||G===void 0||G.attachErrorIfNoneExists(O),null}return yield mzQ(F),this._sendRequest(Object.assign(Object.assign({},A),{retries:W,attempt:F+1}))}})}_isRateLimited(A){var B;let Q=Date.now(),Z=(B=this._leakyBucket[A])!==null&&B!==void 0?B:{count:0,lastRequestTime:Q},G=Q-Z.lastRequestTime,Y=Math.floor(G*vzQ);if(Z.count=Math.max(0,Z.count-Y),Z.count>=Hd0)return!0;return Z.count+=1,Z.lastRequestTime=Q,this._leakyBucket[A]=Z,!1}_getPopulatedURL(A){var B;return Hi(this,void 0,void 0,function*(){let Q=(B=A.fallbackUrl)!==null&&B!==void 0?B:A.urlConfig.getUrl();if(A.urlConfig.endpoint===hw.Endpoint._initialize||A.urlConfig.endpoint===hw.Endpoint._download_config_specs)this._lastUsedInitUrl=Q;let Z=Object.assign({[hw.NetworkParam.SdkKey]:A.sdkKey,[hw.NetworkParam.SdkType]:Vd0.SDKType._get(A.sdkKey),[hw.NetworkParam.SdkVersion]:zd0.SDK_VERSION,[hw.NetworkParam.Time]:String(Date.now()),[hw.NetworkParam.SessionID]:Kd0.SessionID.get(A.sdkKey)},A.params),G=Object.keys(Z).map((Y)=>{return`${encodeURIComponent(Y)}=${encodeURIComponent(Z[Y])}`}).join("&");return`${Q}${G?`?${G}`:""}`})}_tryEncodeBody(A){var B;let Q=TzQ._getWindowSafe(),Z=A.body;if(!A.isStatsigEncodable||this._options.disableStatsigEncoding||typeof Z!=="string"||Jd0._getStatsigGlobalFlag("no-encode")!=null||!(Q===null||Q===void 0?void 0:Q.btoa))return;try{A.body=Q.btoa(Z).split("").reverse().join(""),A.params=Object.assign(Object.assign({},(B=A.params)!==null&&B!==void 0?B:{}),{[hw.NetworkParam.StatsigEncoded]:"1"})}catch(G){nh.Log.warn(`Request encoding failed for ${A.urlConfig.getUrl()}`,G)}}_tryToCompressBody(A){var B;return Hi(this,void 0,void 0,function*(){let Q=A.body;if(!A.isCompressable||this._options.disableCompression||typeof Q!=="string"||RzQ.SDKFlags.get(A.sdkKey,"enable_log_event_compression")!==!0||Jd0._getStatsigGlobalFlag("no-compress")!=null||typeof CompressionStream==="undefined"||typeof TextEncoder==="undefined")return;try{let Z=new TextEncoder().encode(Q),G=new CompressionStream("gzip"),Y=G.writable.getWriter();Y.write(Z).catch(nh.Log.error),Y.close().catch(nh.Log.error);let I=G.readable.getReader(),W=[],J;while(!(J=yield I.read()).done)W.push(J.value);let X=W.reduce((K,z)=>K+z.length,0),F=new Uint8Array(X),V=0;for(let K of W)F.set(K,V),V+=K.length;A.body=F,A.params=Object.assign(Object.assign({},(B=A.params)!==null&&B!==void 0?B:{}),{[hw.NetworkParam.IsGzipped]:"1"})}catch(Z){nh.Log.warn(`Request compression failed for ${A.urlConfig.getUrl()}`,Z)}})}_getInternalRequestArgs(A,B){let Q=this._fallbackResolver.getActiveFallbackUrl(B.sdkKey,B.urlConfig),Z=Object.assign(Object.assign({},B),{method:A,fallbackUrl:Q});if("data"in B)fzQ(Z,B.data);return Z}}Di.NetworkCore=Dd0;var Xd0=(A)=>{if(!A.sdkKey)return nh.Log.warn("Unable to make request without an SDK key"),!1;return!0},fzQ=(A,B)=>{let{sdkKey:Q,fallbackUrl:Z}=A,G=PzQ.StableID.get(Q),Y=Kd0.SessionID.get(Q),I=Vd0.SDKType._get(Q);A.body=JSON.stringify(Object.assign(Object.assign({},B),{statsigMetadata:Object.assign(Object.assign({},zd0.StatsigMetadataProvider.get()),{stableID:G,sessionID:Y,sdkType:I,fallbackUrl:Z})}))};function hzQ(A,B){if((A===null||A===void 0?void 0:A.signal.aborted)&&typeof A.signal.reason==="string")return A.signal.reason;if(typeof B==="string")return B;if(B instanceof Error)return`${B.name}: ${B.message}`;return"Unknown Error"}function gzQ(A){return(A===null||A===void 0?void 0:A.signal.aborted)&&typeof A.signal.reason==="string"&&A.signal.reason.includes("Timeout")||!1}function uzQ(A,B){if(A.urlConfig.endpoint!==hw.Endpoint._initialize)return;Ci1.Diagnostics._markInitNetworkReqStart(A.sdkKey,{attempt:B})}function Fd0(A,B,Q,Z,G){if(A.urlConfig.endpoint!==hw.Endpoint._initialize)return;Ci1.Diagnostics._markInitNetworkReqEnd(A.sdkKey,Ci1.Diagnostics._getDiagnosticsData(B,Q,Z,G))}function mzQ(A){return Hi(this,void 0,void 0,function*(){yield new Promise((B)=>setTimeout(B,Math.min(kzQ*(A*A),_zQ)))})}});var $d0=U((Ud0)=>{Object.defineProperty(Ud0,"__esModule",{value:!0})});var qd0=U((wd0)=>{Object.defineProperty(wd0,"__esModule",{value:!0})});var Nd0=U((Ci)=>{var dzQ=Ci&&Ci.__awaiter||function(A,B,Q,Z){function G(Y){return Y instanceof Q?Y:new Q(function(I){I(Y)})}return new(Q||(Q=Promise))(function(Y,I){function W(F){try{X(Z.next(F))}catch(V){I(V)}}function J(F){try{X(Z.throw(F))}catch(V){I(V)}}function X(F){F.done?Y(F.value):G(F.value).then(W,J)}X((Z=Z.apply(A,B||[])).next())})};Object.defineProperty(Ci,"__esModule",{value:!0});Ci.StatsigClientBase=void 0;lh();var czQ=lh(),lzQ=Xi1(),pzQ=Gi1(),Ui1=GF(),izQ=Fi1(),nzQ=ph(),azQ=yK1(),kK1=GT(),szQ=3000;class Ed0{constructor(A,B,Q,Z){var G;this.loadingStatus="Uninitialized",this._initializePromise=null,this._listeners={};let Y=this.$emt.bind(this);(Z===null||Z===void 0?void 0:Z.logLevel)!=null&&(Ui1.Log.level=Z.logLevel),(Z===null||Z===void 0?void 0:Z.disableStorage)&&kK1.Storage._setDisabled(!0),(Z===null||Z===void 0?void 0:Z.initialSessionID)&&azQ.StatsigSession.overrideInitialSessionID(Z.initialSessionID,A),(Z===null||Z===void 0?void 0:Z.storageProvider)&&kK1.Storage._setProvider(Z.storageProvider),this._sdkKey=A,this._options=Z!==null&&Z!==void 0?Z:{},this._memoCache={},this.overrideAdapter=(G=Z===null||Z===void 0?void 0:Z.overrideAdapter)!==null&&G!==void 0?G:null,this._logger=new pzQ.EventLogger(A,Y,Q,Z),this._errorBoundary=new lzQ.ErrorBoundary(A,Z,Y),this._errorBoundary.wrap(this),this._errorBoundary.wrap(B),this._errorBoundary.wrap(this._logger),Q.setErrorBoundary(this._errorBoundary),this.dataAdapter=B,this.dataAdapter.attach(A,Z),this.storageProvider=kK1.Storage,this._primeReadyRipcord(),rzQ(A,this)}updateRuntimeOptions(A){if(A.disableLogging!=null)this._options.disableLogging=A.disableLogging,this._logger.setLoggingDisabled(A.disableLogging);if(A.disableStorage!=null)this._options.disableStorage=A.disableStorage,kK1.Storage._setDisabled(A.disableStorage)}flush(){return this._logger.flush()}shutdown(){return dzQ(this,void 0,void 0,function*(){this.$emt({name:"pre_shutdown"}),this._setStatus("Uninitialized",null),this._initializePromise=null,yield this._logger.stop()})}on(A,B){if(!this._listeners[A])this._listeners[A]=[];this._listeners[A].push(B)}off(A,B){if(this._listeners[A]){let Q=this._listeners[A].indexOf(B);if(Q!==-1)this._listeners[A].splice(Q,1)}}$on(A,B){B.__isInternal=!0,this.on(A,B)}$emt(A){var B;let Q=(Z)=>{try{Z(A)}catch(G){if(Z.__isInternal===!0){this._errorBoundary.logError(`__emit:${A.name}`,G);return}Ui1.Log.error("An error occurred in a StatsigClientEvent listener. This is not an issue with Statsig.",A)}};if(this._listeners[A.name])this._listeners[A.name].forEach((Z)=>Q(Z));(B=this._listeners["*"])===null||B===void 0||B.forEach(Q)}_setStatus(A,B){this.loadingStatus=A,this._memoCache={},this.$emt({name:"values_updated",status:A,values:B})}_enqueueExposure(A,B,Q){if((Q===null||Q===void 0?void 0:Q.disableExposureLog)===!0){this._logger.incrementNonExposureCount(A);return}this._logger.enqueue(B)}_memoize(A,B){return(Q,Z)=>{if(this._options.disableEvaluationMemoization)return B(Q,Z);let G=izQ.createMemoKey(A,Q,Z);if(!G)return B(Q,Z);if(!(G in this._memoCache)){if(Object.keys(this._memoCache).length>=szQ)this._memoCache={};this._memoCache[G]=B(Q,Z)}return this._memoCache[G]}}}Ci.StatsigClientBase=Ed0;function rzQ(A,B){var Q;if(nzQ._isServerEnv())return;let Z=czQ._getStatsigGlobal(),G=(Q=Z.instances)!==null&&Q!==void 0?Q:{},Y=B;if(G[A]!=null)Ui1.Log.warn("Creating multiple Statsig clients with the same SDK key can lead to unexpected behavior. Multi-instance support requires different SDK keys.");if(G[A]=Y,!Z.firstInstance)Z.firstInstance=Y;Z.instances=G,__STATSIG__=Z}});var Od0=U((Ld0)=>{Object.defineProperty(Ld0,"__esModule",{value:!0});Ld0.DataAdapterCachePrefix=void 0;Ld0.DataAdapterCachePrefix="statsig.cached"});var Td0=U((Rd0)=>{Object.defineProperty(Rd0,"__esModule",{value:!0})});var jd0=U((Pd0)=>{Object.defineProperty(Pd0,"__esModule",{value:!0})});var _d0=U((yd0)=>{Object.defineProperty(yd0,"__esModule",{value:!0});yd0._makeTypedGet=yd0._mergeOverride=yd0._makeLayer=yd0._makeExperiment=yd0._makeDynamicConfig=yd0._makeFeatureGate=void 0;var ozQ=GF(),tzQ=VK1(),ezQ="default";function $i1(A,B,Q,Z){var G;return{name:A,details:B,ruleID:(G=Q===null||Q===void 0?void 0:Q.rule_id)!==null&&G!==void 0?G:ezQ,__evaluation:Q,value:Z}}function AHQ(A,B,Q){return $i1(A,B,Q,(Q===null||Q===void 0?void 0:Q.value)===!0)}yd0._makeFeatureGate=AHQ;function Sd0(A,B,Q){var Z;let G=(Z=Q===null||Q===void 0?void 0:Q.value)!==null&&Z!==void 0?Z:{};return Object.assign(Object.assign({},$i1(A,B,Q,G)),{get:_K1(A,Q===null||Q===void 0?void 0:Q.value)})}yd0._makeDynamicConfig=Sd0;function BHQ(A,B,Q){var Z;let G=Sd0(A,B,Q);return Object.assign(Object.assign({},G),{groupName:(Z=Q===null||Q===void 0?void 0:Q.group_name)!==null&&Z!==void 0?Z:null})}yd0._makeExperiment=BHQ;function QHQ(A,B,Q,Z){var G,Y;return Object.assign(Object.assign({},$i1(A,B,Q,void 0)),{get:_K1(A,Q===null||Q===void 0?void 0:Q.value,Z),groupName:(G=Q===null||Q===void 0?void 0:Q.group_name)!==null&&G!==void 0?G:null,__value:(Y=Q===null||Q===void 0?void 0:Q.value)!==null&&Y!==void 0?Y:{}})}yd0._makeLayer=QHQ;function ZHQ(A,B,Q,Z){return Object.assign(Object.assign(Object.assign({},A),B),{get:_K1(A.name,Q,Z)})}yd0._mergeOverride=ZHQ;function _K1(A,B,Q){return(Z,G)=>{var Y;let I=(Y=B===null||B===void 0?void 0:B[Z])!==null&&Y!==void 0?Y:null;if(I==null)return G!==null&&G!==void 0?G:null;if(G!=null&&!tzQ._isTypeMatch(I,G))return ozQ.Log.warn(`Parameter type mismatch. '${A}.${Z}' was found to be type '${typeof I}' but fallback/return type is '${typeof G}'. See https://docs.statsig.com/client/javascript-sdk/#typed-getters`),G!==null&&G!==void 0?G:null;return Q===null||Q===void 0||Q(Z),I}}yd0._makeTypedGet=_K1});var vd0=U((xd0)=>{Object.defineProperty(xd0,"__esModule",{value:!0})});var hd0=U((bd0)=>{Object.defineProperty(bd0,"__esModule",{value:!0});bd0.UPDATE_DETAIL_ERROR_MESSAGES=bd0.createUpdateDetails=void 0;var XHQ=(A,B,Q,Z,G,Y)=>{return{duration:Q,source:B,success:A,error:Z,sourceUrl:G,warnings:Y}};bd0.createUpdateDetails=XHQ;bd0.UPDATE_DETAIL_ERROR_MESSAGES={NO_NETWORK_DATA:"No data was returned from the network. This may be due to a network timeout if a timeout value was specified in the options or ad blocker error."}});var Ak=U((pQ)=>{var VHQ=pQ&&pQ.__createBinding||(Object.create?function(A,B,Q,Z){if(Z===void 0)Z=Q;var G=Object.getOwnPropertyDescriptor(B,Q);if(!G||("get"in G?!B.__esModule:G.writable||G.configurable))G={enumerable:!0,get:function(){return B[Q]}};Object.defineProperty(A,Z,G)}:function(A,B,Q,Z){if(Z===void 0)Z=Q;A[Z]=B[Q]}),g4=pQ&&pQ.__exportStar||function(A,B){for(var Q in A)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call(B,Q))VHQ(B,A,Q)};Object.defineProperty(pQ,"__esModule",{value:!0});pQ.Storage=pQ.Log=pQ.EventLogger=pQ.Diagnostics=void 0;lh();var KHQ=FK1();Object.defineProperty(pQ,"Diagnostics",{enumerable:!0,get:function(){return KHQ.Diagnostics}});var zHQ=Gi1();Object.defineProperty(pQ,"EventLogger",{enumerable:!0,get:function(){return zHQ.EventLogger}});var gd0=GF();Object.defineProperty(pQ,"Log",{enumerable:!0,get:function(){return gd0.Log}});var HHQ=_Q1(),DHQ=GT();Object.defineProperty(pQ,"Storage",{enumerable:!0,get:function(){return DHQ.Storage}});g4(lh(),pQ);g4(PQ1(),pQ);g4(Jm0(),pQ);g4(Om0(),pQ);g4(FK1(),pQ);g4(Tm0(),pQ);g4(Xi1(),pQ);g4(vm0(),pQ);g4(fm0(),pQ);g4(Wi(),pQ);g4(gm0(),pQ);g4(GF(),pQ);g4(Fi1(),pQ);g4(jQ1(),pQ);g4(Cd0(),pQ);g4($d0(),pQ);g4(qd0(),pQ);g4(ph(),pQ);g4(jK1(),pQ);g4(yK1(),pQ);g4(OK1(),pQ);g4(Nd0(),pQ);g4(Di1(),pQ);g4(Od0(),pQ);g4(rp1(),pQ);g4(_Q1(),pQ);g4(Td0(),pQ);g4(jd0(),pQ);g4(_d0(),pQ);g4(vd0(),pQ);g4(Ii1(),pQ);g4(GT(),pQ);g4(Wi1(),pQ);g4(VK1(),pQ);g4(ep1(),pQ);g4(LK1(),pQ);g4(EK1(),pQ);g4(hd0(),pQ);g4(zi1(),pQ);__STATSIG__=Object.assign(Object.assign({},__STATSIG__!==null&&__STATSIG__!==void 0?__STATSIG__:{}),{Log:gd0.Log,SDK_VERSION:HHQ.SDK_VERSION})});var dd0=U((md0)=>{Object.defineProperty(md0,"__esModule",{value:!0});var ah=Ak();class ud0{constructor(A){this._sdkKey=A,this._rawValues=null,this._values=null,this._source="Uninitialized",this._lcut=0,this._receivedAt=0,this._bootstrapMetadata=null,this._warnings=new Set}reset(){this._values=null,this._rawValues=null,this._source="Loading",this._lcut=0,this._receivedAt=0,this._bootstrapMetadata=null}finalize(){if(this._values)return;this._source="NoValues"}getValues(){return this._rawValues?ah._typedJsonParse(this._rawValues,"has_updates","EvaluationStoreValues"):null}setValues(A,B){var Q;if(!A)return!1;let Z=ah._typedJsonParse(A.data,"has_updates","EvaluationResponse");if(Z==null)return!1;if(this._source=A.source,(Z===null||Z===void 0?void 0:Z.has_updates)!==!0)return!0;if(this._rawValues=A.data,this._lcut=Z.time,this._receivedAt=A.receivedAt,this._values=Z,this._bootstrapMetadata=this._extractBootstrapMetadata(A.source,Z),A.source&&Z.user)this._setWarningState(B,Z);return ah.SDKFlags.setFlags(this._sdkKey,(Q=Z.sdk_flags)!==null&&Q!==void 0?Q:{}),!0}getWarnings(){if(this._warnings.size===0)return;return Array.from(this._warnings)}getGate(A){var B;return this._getDetailedStoreResult((B=this._values)===null||B===void 0?void 0:B.feature_gates,A)}getConfig(A){var B;return this._getDetailedStoreResult((B=this._values)===null||B===void 0?void 0:B.dynamic_configs,A)}getLayer(A){var B;return this._getDetailedStoreResult((B=this._values)===null||B===void 0?void 0:B.layer_configs,A)}getParamStore(A){var B;return this._getDetailedStoreResult((B=this._values)===null||B===void 0?void 0:B.param_stores,A)}getSource(){return this._source}getExposureMapping(){var A;return(A=this._values)===null||A===void 0?void 0:A.exposures}_extractBootstrapMetadata(A,B){if(A!=="Bootstrap")return null;let Q={};if(B.user)Q.user=B.user;if(B.sdkInfo)Q.generatorSDKInfo=B.sdkInfo;return Q.lcut=B.time,Q}_getDetailedStoreResult(A,B){let Q=null;if(A)Q=A[B]?A[B]:A[ah._DJB2(B)];return{result:Q,details:this._getDetails(Q==null)}}_setWarningState(A,B){var Q;let Z=ah.StableID.get(this._sdkKey);if(((Q=A.customIDs)===null||Q===void 0?void 0:Q.stableID)!==Z){this._warnings.add("StableIDMismatch");return}if("user"in B){let G=B.user;if(ah._getFullUserHash(A)!==ah._getFullUserHash(G))this._warnings.add("PartialUserMatch")}}getCurrentSourceDetails(){if(this._source==="Uninitialized"||this._source==="NoValues")return{reason:this._source};let A={reason:this._source,lcut:this._lcut,receivedAt:this._receivedAt};if(this._warnings.size>0)A.warnings=Array.from(this._warnings);return A}_getDetails(A){var B,Q;let Z=this.getCurrentSourceDetails(),G=Z.reason,Y=(B=Z.warnings)!==null&&B!==void 0?B:[];if(this._source==="Bootstrap"&&Y.length>0)G=G+Y[0];if(G!=="Uninitialized"&&G!=="NoValues")G=`${G}:${A?"Unrecognized":"Recognized"}`;let I=this._source==="Bootstrap"?(Q=this._bootstrapMetadata)!==null&&Q!==void 0?Q:void 0:void 0;if(I)Z.bootstrapMetadata=I;return Object.assign(Object.assign({},Z),{reason:G})}}md0.default=ud0});var id0=U((ld0)=>{Object.defineProperty(ld0,"__esModule",{value:!0});ld0._resolveDeltasResponse=void 0;var cd0=Ak(),UHQ=2;function $HQ(A,B){let Q=cd0._typedJsonParse(B,"checksum","DeltasEvaluationResponse");if(!Q)return{hadBadDeltaChecksum:!0};let Z=wHQ(A,Q),G=qHQ(Z),Y=cd0._DJB2Object({feature_gates:G.feature_gates,dynamic_configs:G.dynamic_configs,layer_configs:G.layer_configs},UHQ);if(Y!==Q.checksumV2)return{hadBadDeltaChecksum:!0,badChecksum:Y,badMergedConfigs:G,badFullResponse:Q.deltas_full_response};return JSON.stringify(G)}ld0._resolveDeltasResponse=$HQ;function wHQ(A,B){return Object.assign(Object.assign(Object.assign({},A),B),{feature_gates:Object.assign(Object.assign({},A.feature_gates),B.feature_gates),layer_configs:Object.assign(Object.assign({},A.layer_configs),B.layer_configs),dynamic_configs:Object.assign(Object.assign({},A.dynamic_configs),B.dynamic_configs)})}function qHQ(A){let B=A;return wi1(A.deleted_gates,B.feature_gates),delete B.deleted_gates,wi1(A.deleted_configs,B.dynamic_configs),delete B.deleted_configs,wi1(A.deleted_layers,B.layer_configs),delete B.deleted_layers,B}function wi1(A,B){A===null||A===void 0||A.forEach((Q)=>{delete B[Q]})}});var qi1=U((xQ1)=>{var nd0=xQ1&&xQ1.__awaiter||function(A,B,Q,Z){function G(Y){return Y instanceof Q?Y:new Q(function(I){I(Y)})}return new(Q||(Q=Promise))(function(Y,I){function W(F){try{X(Z.next(F))}catch(V){I(V)}}function J(F){try{X(Z.throw(F))}catch(V){I(V)}}function X(F){F.done?Y(F.value):G(F.value).then(W,J)}X((Z=Z.apply(A,B||[])).next())})};Object.defineProperty(xQ1,"__esModule",{value:!0});var xK1=Ak(),EHQ=id0();class ad0 extends xK1.NetworkCore{constructor(A,B){super(A,B);let Q=A===null||A===void 0?void 0:A.networkConfig;this._initializeUrlConfig=new xK1.UrlConfiguration(xK1.Endpoint._initialize,Q===null||Q===void 0?void 0:Q.initializeUrl,Q===null||Q===void 0?void 0:Q.api,Q===null||Q===void 0?void 0:Q.initializeFallbackUrls)}fetchEvaluations(A,B,Q,Z,G){return nd0(this,void 0,void 0,function*(){let Y=B?xK1._typedJsonParse(B,"has_updates","InitializeResponse"):null,I={user:Z,hash:"djb2",deltasResponseRequested:!1,full_checksum:null};if(Y===null||Y===void 0?void 0:Y.has_updates)I=Object.assign(Object.assign({},I),{sinceTime:G?Y.time:0,previousDerivedFields:"derived_fields"in Y&&G?Y.derived_fields:{},deltasResponseRequested:!0,full_checksum:Y.full_checksum});return this._fetchEvaluations(A,Y,I,Q)})}_fetchEvaluations(A,B,Q,Z){var G,Y;return nd0(this,void 0,void 0,function*(){let I=yield this.post({sdkKey:A,urlConfig:this._initializeUrlConfig,data:Q,retries:2,isStatsigEncodable:!0,priority:Z});if((I===null||I===void 0?void 0:I.code)===204)return'{"has_updates": false}';if((I===null||I===void 0?void 0:I.code)!==200)return(G=I===null||I===void 0?void 0:I.body)!==null&&G!==void 0?G:null;if((B===null||B===void 0?void 0:B.has_updates)!==!0||((Y=I.body)===null||Y===void 0?void 0:Y.includes('"is_delta":true'))!==!0||Q.deltasResponseRequested!==!0)return I.body;let W=EHQ._resolveDeltasResponse(B,I.body);if(typeof W==="string")return W;return this._fetchEvaluations(A,B,Object.assign(Object.assign(Object.assign({},Q),W),{deltasResponseRequested:!1}),Z)})}}xQ1.default=ad0});var td0=U((rd0)=>{Object.defineProperty(rd0,"__esModule",{value:!0});rd0._makeParamStoreGetter=void 0;var sd0=Ak(),vK1={disableExposureLog:!0};function bK1(A){return A==null||A.disableExposureLog===!1}function Ei1(A,B){return B!=null&&!sd0._isTypeMatch(A,B)}function NHQ(A,B){return A.value}function LHQ(A,B,Q){if(A.getFeatureGate(B.gate_name,bK1(Q)?void 0:vK1).value)return B.pass_value;return B.fail_value}function MHQ(A,B,Q,Z){let Y=A.getDynamicConfig(B.config_name,vK1).get(B.param_name);if(Ei1(Y,Q))return Q;if(bK1(Z))A.getDynamicConfig(B.config_name);return Y}function OHQ(A,B,Q,Z){let Y=A.getExperiment(B.experiment_name,vK1).get(B.param_name);if(Ei1(Y,Q))return Q;if(bK1(Z))A.getExperiment(B.experiment_name);return Y}function RHQ(A,B,Q,Z){let Y=A.getLayer(B.layer_name,vK1).get(B.param_name);if(Ei1(Y,Q))return Q;if(bK1(Z))A.getLayer(B.layer_name).get(B.param_name);return Y}function THQ(A,B,Q){return(Z,G)=>{if(B==null)return G;let Y=B[Z];if(Y==null||G!=null&&sd0._typeOf(G)!==Y.param_type)return G;switch(Y.ref_type){case"static":return NHQ(Y,Q);case"gate":return LHQ(A,Y,Q);case"dynamic_config":return MHQ(A,Y,G,Q);case"experiment":return OHQ(A,Y,G,Q);case"layer":return RHQ(A,Y,G,Q);default:return G}}}rd0._makeParamStoreGetter=THQ});var Ac0=U((Ui)=>{var PHQ=Ui&&Ui.__awaiter||function(A,B,Q,Z){function G(Y){return Y instanceof Q?Y:new Q(function(I){I(Y)})}return new(Q||(Q=Promise))(function(Y,I){function W(F){try{X(Z.next(F))}catch(V){I(V)}}function J(F){try{X(Z.throw(F))}catch(V){I(V)}}function X(F){F.done?Y(F.value):G(F.value).then(W,J)}X((Z=Z.apply(A,B||[])).next())})};Object.defineProperty(Ui,"__esModule",{value:!0});Ui.StatsigEvaluationsDataAdapter=void 0;var sh=Ak(),jHQ=qi1();class ed0 extends sh.DataAdapterCore{constructor(){super("EvaluationsDataAdapter","evaluations");this._network=null,this._options=null}attach(A,B){super.attach(A,B),this._network=new jHQ.default(B!==null&&B!==void 0?B:{})}getDataAsync(A,B,Q){return this._getDataAsyncImpl(A,sh._normalizeUser(B,this._options),Q)}prefetchData(A,B){return this._prefetchDataImpl(A,B)}setData(A){let B=sh._typedJsonParse(A,"has_updates","data");if(B&&"user"in B)super.setData(A,B.user);else sh.Log.error("StatsigUser not found. You may be using an older server SDK version. Please upgrade your SDK or use setDataLegacy.")}setDataLegacy(A,B){super.setData(A,B)}_fetchFromNetwork(A,B,Q,Z){var G;return PHQ(this,void 0,void 0,function*(){let Y=yield(G=this._network)===null||G===void 0?void 0:G.fetchEvaluations(this._getSdkKey(),A,Q===null||Q===void 0?void 0:Q.priority,B,Z);return Y!==null&&Y!==void 0?Y:null})}_getCacheKey(A){var B;let Q=sh._getStorageKey(this._getSdkKey(),A,(B=this._options)===null||B===void 0?void 0:B.customUserCacheKeyFunc);return`${sh.DataAdapterCachePrefix}.${this._cacheSuffix}.${Q}`}_isCachedResultValidFor204(A,B){return A.fullUserHash!=null&&A.fullUserHash===sh._getFullUserHash(B)}}Ui.StatsigEvaluationsDataAdapter=ed0});var Qc0=U((vQ1)=>{var Ni1=vQ1&&vQ1.__awaiter||function(A,B,Q,Z){function G(Y){return Y instanceof Q?Y:new Q(function(I){I(Y)})}return new(Q||(Q=Promise))(function(Y,I){function W(F){try{X(Z.next(F))}catch(V){I(V)}}function J(F){try{X(Z.throw(F))}catch(V){I(V)}}function X(F){F.done?Y(F.value):G(F.value).then(W,J)}X((Z=Z.apply(A,B||[])).next())})};Object.defineProperty(vQ1,"__esModule",{value:!0});var a4=Ak(),SHQ=dd0(),yHQ=qi1(),Bc0=td0(),kHQ=Ac0();class fK1 extends a4.StatsigClientBase{static instance(A){let B=a4._getStatsigGlobal().instance(A);if(B instanceof fK1)return B;return a4.Log.warn(a4._isServerEnv()?"StatsigClient.instance is not supported in server environments":"Unable to find StatsigClient instance"),new fK1(A!==null&&A!==void 0?A:"",{})}constructor(A,B,Q=null){var Z,G;a4.SDKType._setClientType(A,"javascript-client");let Y=new yHQ.default(Q,(W)=>{this.$emt(W)});super(A,(Z=Q===null||Q===void 0?void 0:Q.dataAdapter)!==null&&Z!==void 0?Z:new kHQ.StatsigEvaluationsDataAdapter,Y,Q);this.getFeatureGate=this._memoize(a4.MemoPrefix._gate,this._getFeatureGateImpl.bind(this)),this.getDynamicConfig=this._memoize(a4.MemoPrefix._dynamicConfig,this._getDynamicConfigImpl.bind(this)),this.getExperiment=this._memoize(a4.MemoPrefix._experiment,this._getExperimentImpl.bind(this)),this.getLayer=this._memoize(a4.MemoPrefix._layer,this._getLayerImpl.bind(this)),this.getParameterStore=this._memoize(a4.MemoPrefix._paramStore,this._getParameterStoreImpl.bind(this)),this._store=new SHQ.default(A),this._network=Y,this._user=this._configureUser(B,Q);let I=(G=Q===null||Q===void 0?void 0:Q.plugins)!==null&&G!==void 0?G:[];for(let W of I)W.bind(this)}initializeSync(A){var B;if(this.loadingStatus!=="Uninitialized")return a4.createUpdateDetails(!0,this._store.getSource(),-1,null,null,["MultipleInitializations",...(B=this._store.getWarnings())!==null&&B!==void 0?B:[]]);return this._logger.start(),this.updateUserSync(this._user,A)}initializeAsync(A){return Ni1(this,void 0,void 0,function*(){if(this._initializePromise)return this._initializePromise;return this._initializePromise=this._initializeAsyncImpl(A),this._initializePromise})}updateUserSync(A,B){var Q;let Z=performance.now(),G=[...(Q=this._store.getWarnings())!==null&&Q!==void 0?Q:[]];this._resetForUser(A);let Y=this.dataAdapter.getDataSync(this._user);if(Y==null)G.push("NoCachedValues");this._store.setValues(Y,this._user),this._finalizeUpdate(Y);let I=B===null||B===void 0?void 0:B.disableBackgroundCacheRefresh;if(I===!0||I==null&&(Y===null||Y===void 0?void 0:Y.source)==="Bootstrap")return a4.createUpdateDetails(!0,this._store.getSource(),performance.now()-Z,this._errorBoundary.getLastSeenErrorAndReset(),this._network.getLastUsedInitUrlAndReset(),G);return this._runPostUpdate(Y!==null&&Y!==void 0?Y:null,this._user),a4.createUpdateDetails(!0,this._store.getSource(),performance.now()-Z,this._errorBoundary.getLastSeenErrorAndReset(),this._network.getLastUsedInitUrlAndReset(),G)}updateUserAsync(A,B){return Ni1(this,void 0,void 0,function*(){this._resetForUser(A);let Q=this._user;a4.Diagnostics._markInitOverallStart(this._sdkKey);let Z=this.dataAdapter.getDataSync(Q);if(this._store.setValues(Z,this._user),this._setStatus("Loading",Z),Z=yield this.dataAdapter.getDataAsync(Z,Q,B),Q!==this._user)return a4.createUpdateDetails(!1,this._store.getSource(),-1,new Error("User changed during update"),this._network.getLastUsedInitUrlAndReset());let G=!1;if(Z!=null)a4.Diagnostics._markInitProcessStart(this._sdkKey),G=this._store.setValues(Z,this._user),a4.Diagnostics._markInitProcessEnd(this._sdkKey,{success:G});if(this._finalizeUpdate(Z),!G)this._errorBoundary.attachErrorIfNoneExists(a4.UPDATE_DETAIL_ERROR_MESSAGES.NO_NETWORK_DATA),this.$emt({name:"initialization_failure"});a4.Diagnostics._markInitOverallEnd(this._sdkKey,G,this._store.getCurrentSourceDetails());let Y=a4.Diagnostics._enqueueDiagnosticsEvent(this._user,this._logger,this._sdkKey,this._options);return a4.createUpdateDetails(G,this._store.getSource(),Y,this._errorBoundary.getLastSeenErrorAndReset(),this._network.getLastUsedInitUrlAndReset(),this._store.getWarnings())})}getContext(){return{sdkKey:this._sdkKey,options:this._options,values:this._store.getValues(),user:JSON.parse(JSON.stringify(this._user)),errorBoundary:this._errorBoundary,session:a4.StatsigSession.get(this._sdkKey),stableID:a4.StableID.get(this._sdkKey)}}checkGate(A,B){return this.getFeatureGate(A,B).value}logEvent(A,B,Q){let Z=typeof A==="string"?{eventName:A,value:B,metadata:Q}:A;this._logger.enqueue(Object.assign(Object.assign({},Z),{user:this._user,time:Date.now()}))}_primeReadyRipcord(){this.$on("error",()=>{this.loadingStatus==="Loading"&&this._finalizeUpdate(null)})}_initializeAsyncImpl(A){return Ni1(this,void 0,void 0,function*(){if(!a4.Storage.isReady())yield a4.Storage.isReadyResolver();return this._logger.start(),this.updateUserAsync(this._user,A)})}_finalizeUpdate(A){this._store.finalize(),this._setStatus("Ready",A)}_runPostUpdate(A,B){this.dataAdapter.getDataAsync(A,B,{priority:"low"}).catch((Q)=>{a4.Log.error("An error occurred after update.",Q)})}_resetForUser(A){this._logger.reset(),this._store.reset(),this._user=this._configureUser(A,this._options)}_configureUser(A,B){var Q;let Z=a4._normalizeUser(A,B),G=(Q=Z.customIDs)===null||Q===void 0?void 0:Q.stableID;if(G)a4.StableID.setOverride(G,this._sdkKey);return Z}_getFeatureGateImpl(A,B){var Q,Z;let{result:G,details:Y}=this._store.getGate(A),I=a4._makeFeatureGate(A,Y,G),W=(Z=(Q=this.overrideAdapter)===null||Q===void 0?void 0:Q.getGateOverride)===null||Z===void 0?void 0:Z.call(Q,I,this._user,B),J=W!==null&&W!==void 0?W:I;return this._enqueueExposure(A,a4._createGateExposure(this._user,J,this._store.getExposureMapping()),B),this.$emt({name:"gate_evaluation",gate:J}),J}_getDynamicConfigImpl(A,B){var Q,Z;let{result:G,details:Y}=this._store.getConfig(A),I=a4._makeDynamicConfig(A,Y,G),W=(Z=(Q=this.overrideAdapter)===null||Q===void 0?void 0:Q.getDynamicConfigOverride)===null||Z===void 0?void 0:Z.call(Q,I,this._user,B),J=W!==null&&W!==void 0?W:I;return this._enqueueExposure(A,a4._createConfigExposure(this._user,J,this._store.getExposureMapping()),B),this.$emt({name:"dynamic_config_evaluation",dynamicConfig:J}),J}_getExperimentImpl(A,B){var Q,Z,G,Y;let{result:I,details:W}=this._store.getConfig(A),J=a4._makeExperiment(A,W,I);if(J.__evaluation!=null)J.__evaluation.secondary_exposures=a4._mapExposures((Z=(Q=J.__evaluation)===null||Q===void 0?void 0:Q.secondary_exposures)!==null&&Z!==void 0?Z:[],this._store.getExposureMapping());let X=(Y=(G=this.overrideAdapter)===null||G===void 0?void 0:G.getExperimentOverride)===null||Y===void 0?void 0:Y.call(G,J,this._user,B),F=X!==null&&X!==void 0?X:J;return this._enqueueExposure(A,a4._createConfigExposure(this._user,F,this._store.getExposureMapping()),B),this.$emt({name:"experiment_evaluation",experiment:F}),F}_getLayerImpl(A,B){var Q,Z,G;let{result:Y,details:I}=this._store.getLayer(A),W=a4._makeLayer(A,I,Y),J=(Z=(Q=this.overrideAdapter)===null||Q===void 0?void 0:Q.getLayerOverride)===null||Z===void 0?void 0:Z.call(Q,W,this._user,B);if(B===null||B===void 0?void 0:B.disableExposureLog)this._logger.incrementNonExposureCount(A);let X=a4._mergeOverride(W,J,(G=J===null||J===void 0?void 0:J.__value)!==null&&G!==void 0?G:W.__value,(F)=>{if(B===null||B===void 0?void 0:B.disableExposureLog)return;this._enqueueExposure(A,a4._createLayerParameterExposure(this._user,X,F,this._store.getExposureMapping()),B)});return this.$emt({name:"layer_evaluation",layer:X}),X}_getParameterStoreImpl(A,B){var Q,Z;let{result:G,details:Y}=this._store.getParamStore(A);this._logger.incrementNonExposureCount(A);let I={name:A,details:Y,__configuration:G,get:Bc0._makeParamStoreGetter(this,G,B)},W=(Z=(Q=this.overrideAdapter)===null||Q===void 0?void 0:Q.getParamStoreOverride)===null||Z===void 0?void 0:Z.call(Q,I,B);if(W!=null)I.__configuration=W.config,I.details=W.details,I.get=Bc0._makeParamStoreGetter(this,W.config,B);return I}}vQ1.default=fK1});var Gc0=U((TN)=>{var _HQ=TN&&TN.__createBinding||(Object.create?function(A,B,Q,Z){if(Z===void 0)Z=Q;var G=Object.getOwnPropertyDescriptor(B,Q);if(!G||("get"in G?!B.__esModule:G.writable||G.configurable))G={enumerable:!0,get:function(){return B[Q]}};Object.defineProperty(A,Z,G)}:function(A,B,Q,Z){if(Z===void 0)Z=Q;A[Z]=B[Q]}),xHQ=TN&&TN.__exportStar||function(A,B){for(var Q in A)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call(B,Q))_HQ(B,A,Q)};Object.defineProperty(TN,"__esModule",{value:!0});TN.StatsigClient=void 0;var Zc0=Qc0();TN.StatsigClient=Zc0.default;xHQ(Ak(),TN);__STATSIG__=Object.assign(Object.assign({},__STATSIG__!==null&&__STATSIG__!==void 0?__STATSIG__:{}),{StatsigClient:Zc0.default});TN.default=__STATSIG__});var OC=U((Jc0)=>{Object.defineProperty(Jc0,"__esModule",{value:!0});var Yc0=Object.prototype.toString;function hHQ(A){switch(Yc0.call(A)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return hK1(A,Error)}}function $i(A,B){return Yc0.call(A)===`[object ${B}]`}function gHQ(A){return $i(A,"ErrorEvent")}function uHQ(A){return $i(A,"DOMError")}function mHQ(A){return $i(A,"DOMException")}function dHQ(A){return $i(A,"String")}function Ic0(A){return typeof A==="object"&&A!==null&&"__sentry_template_string__"in A&&"__sentry_template_values__"in A}function cHQ(A){return A===null||Ic0(A)||typeof A!=="object"&&typeof A!=="function"}function Wc0(A){return $i(A,"Object")}function lHQ(A){return typeof Event!=="undefined"&&hK1(A,Event)}function pHQ(A){return typeof Element!=="undefined"&&hK1(A,Element)}function iHQ(A){return $i(A,"RegExp")}function nHQ(A){return Boolean(A&&A.then&&typeof A.then==="function")}function aHQ(A){return Wc0(A)&&"nativeEvent"in A&&"preventDefault"in A&&"stopPropagation"in A}function sHQ(A){return typeof A==="number"&&A!==A}function hK1(A,B){try{return A instanceof B}catch(Q){return!1}}function rHQ(A){return!!(typeof A==="object"&&A!==null&&(A.__isVue||A._isVue))}Jc0.isDOMError=uHQ;Jc0.isDOMException=mHQ;Jc0.isElement=pHQ;Jc0.isError=hHQ;Jc0.isErrorEvent=gHQ;Jc0.isEvent=lHQ;Jc0.isInstanceOf=hK1;Jc0.isNaN=sHQ;Jc0.isParameterizedString=Ic0;Jc0.isPlainObject=Wc0;Jc0.isPrimitive=cHQ;Jc0.isRegExp=iHQ;Jc0.isString=dHQ;Jc0.isSyntheticEvent=aHQ;Jc0.isThenable=nHQ;Jc0.isVueViewModel=rHQ});var bQ1=U((Fc0)=>{Object.defineProperty(Fc0,"__esModule",{value:!0});var gK1=OC();function zDQ(A,B=0){if(typeof A!=="string"||B===0)return A;return A.length<=B?A:`${A.slice(0,B)}...`}function HDQ(A,B){let Q=A,Z=Q.length;if(Z<=150)return Q;if(B>Z)B=Z;let G=Math.max(B-60,0);if(G<5)G=0;let Y=Math.min(G+140,Z);if(Y>Z-5)Y=Z;if(Y===Z)G=Math.max(Y-140,0);if(Q=Q.slice(G,Y),G>0)Q=`'{snip} ${Q}`;if(YXc0(A,Z,Q))}Fc0.isMatchingPattern=Xc0;Fc0.safeJoin=DDQ;Fc0.snipLine=HDQ;Fc0.stringMatchesSomePattern=CDQ;Fc0.truncate=zDQ});var Hc0=U((zc0)=>{Object.defineProperty(zc0,"__esModule",{value:!0});var Li1=OC(),NDQ=bQ1();function LDQ(A,B,Q=250,Z,G,Y,I){if(!Y.exception||!Y.exception.values||!I||!Li1.isInstanceOf(I.originalException,Error))return;let W=Y.exception.values.length>0?Y.exception.values[Y.exception.values.length-1]:void 0;if(W)Y.exception.values=MDQ(Mi1(A,B,G,I.originalException,Z,Y.exception.values,W,0),Q)}function Mi1(A,B,Q,Z,G,Y,I,W){if(Y.length>=Q+1)return Y;let J=[...Y];if(Li1.isInstanceOf(Z[G],Error)){Vc0(I,W);let X=A(B,Z[G]),F=J.length;Kc0(X,G,F,W),J=Mi1(A,B,Q,Z[G],G,[X,...J],X,F)}if(Array.isArray(Z.errors))Z.errors.forEach((X,F)=>{if(Li1.isInstanceOf(X,Error)){Vc0(I,W);let V=A(B,X),K=J.length;Kc0(V,`errors[${F}]`,K,W),J=Mi1(A,B,Q,X,G,[V,...J],V,K)}});return J}function Vc0(A,B){A.mechanism=A.mechanism||{type:"generic",handled:!0},A.mechanism={...A.mechanism,...A.type==="AggregateError"&&{is_exception_group:!0},exception_id:B}}function Kc0(A,B,Q,Z){A.mechanism=A.mechanism||{type:"generic",handled:!0},A.mechanism={...A.mechanism,type:"chained",source:B,exception_id:Q,parent_id:Z}}function MDQ(A,B){return A.map((Q)=>{if(Q.value)Q.value=NDQ.truncate(Q.value,B);return Q})}zc0.applyAggregateErrorsToEvent=LDQ});var YF=U((Dc0)=>{Object.defineProperty(Dc0,"__esModule",{value:!0});function uK1(A){return A&&A.Math==Math?A:void 0}var Oi1=typeof globalThis=="object"&&uK1(globalThis)||typeof window=="object"&&uK1(window)||typeof self=="object"&&uK1(self)||typeof global=="object"&&uK1(global)||function(){return this}()||{};function RDQ(){return Oi1}function TDQ(A,B,Q){let Z=Q||Oi1,G=Z.__SENTRY__=Z.__SENTRY__||{};return G[A]||(G[A]=B())}Dc0.GLOBAL_OBJ=Oi1;Dc0.getGlobalObject=RDQ;Dc0.getGlobalSingleton=TDQ});var Ri1=U((Cc0)=>{Object.defineProperty(Cc0,"__esModule",{value:!0});var yDQ=OC(),kDQ=YF(),wi=kDQ.getGlobalObject(),_DQ=80;function xDQ(A,B={}){if(!A)return" ";try{let Q=A,Z=5,G=[],Y=0,I=0,W=" > ",J=W.length,X,F=Array.isArray(B)?B:B.keyAttrs,V=!Array.isArray(B)&&B.maxStringLength||_DQ;while(Q&&Y++ 1&&I+G.length*J+X.length>=V)break;G.push(X),I+=X.length,Q=Q.parentNode}return G.reverse().join(W)}catch(Q){return" "}}function vDQ(A,B){let Q=A,Z=[],G,Y,I,W,J;if(!Q||!Q.tagName)return"";if(wi.HTMLElement){if(Q instanceof HTMLElement&&Q.dataset&&Q.dataset.sentryComponent)return Q.dataset.sentryComponent}Z.push(Q.tagName.toLowerCase());let X=B&&B.length?B.filter((V)=>Q.getAttribute(V)).map((V)=>[V,Q.getAttribute(V)]):null;if(X&&X.length)X.forEach((V)=>{Z.push(`[${V[0]}="${V[1]}"]`)});else{if(Q.id)Z.push(`#${Q.id}`);if(G=Q.className,G&&yDQ.isString(G)){Y=G.split(/\s+/);for(J=0;J {Object.defineProperty(Uc0,"__esModule",{value:!0});var cDQ=typeof __SENTRY_DEBUG__==="undefined"||__SENTRY_DEBUG__;Uc0.DEBUG_BUILD=cDQ});var gw=U((wc0)=>{Object.defineProperty(wc0,"__esModule",{value:!0});var pDQ=PN(),Ti1=YF(),iDQ="Sentry Logger ",Pi1=["debug","info","warn","error","log","assert","trace"],ji1={};function $c0(A){if(!("console"in Ti1.GLOBAL_OBJ))return A();let B=Ti1.GLOBAL_OBJ.console,Q={},Z=Object.keys(ji1);Z.forEach((G)=>{let Y=ji1[G];Q[G]=B[G],B[G]=Y});try{return A()}finally{Z.forEach((G)=>{B[G]=Q[G]})}}function nDQ(){let A=!1,B={enable:()=>{A=!0},disable:()=>{A=!1},isEnabled:()=>A};if(pDQ.DEBUG_BUILD)Pi1.forEach((Q)=>{B[Q]=(...Z)=>{if(A)$c0(()=>{Ti1.GLOBAL_OBJ.console[Q](`${iDQ}[${Q}]:`,...Z)})}});else Pi1.forEach((Q)=>{B[Q]=()=>{return}});return B}var aDQ=nDQ();wc0.CONSOLE_LEVELS=Pi1;wc0.consoleSandbox=$c0;wc0.logger=aDQ;wc0.originalConsoleMethods=ji1});var Si1=U((Nc0)=>{Object.defineProperty(Nc0,"__esModule",{value:!0});var eDQ=PN(),fQ1=gw(),ACQ=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function BCQ(A){return A==="http"||A==="https"}function QCQ(A,B=!1){let{host:Q,path:Z,pass:G,port:Y,projectId:I,protocol:W,publicKey:J}=A;return`${W}://${J}${B&&G?`:${G}`:""}@${Q}${Y?`:${Y}`:""}/${Z?`${Z}/`:Z}${I}`}function qc0(A){let B=ACQ.exec(A);if(!B){fQ1.consoleSandbox(()=>{console.error(`Invalid Sentry Dsn: ${A}`)});return}let[Q,Z,G="",Y,I="",W]=B.slice(1),J="",X=W,F=X.split("/");if(F.length>1)J=F.slice(0,-1).join("/"),X=F.pop();if(X){let V=X.match(/^\d+/);if(V)X=V[0]}return Ec0({host:Y,pass:G,path:J,projectId:X,port:I,protocol:Q,publicKey:Z})}function Ec0(A){return{protocol:A.protocol,publicKey:A.publicKey||"",pass:A.pass||"",host:A.host,port:A.port||"",path:A.path||"",projectId:A.projectId}}function ZCQ(A){if(!eDQ.DEBUG_BUILD)return!0;let{port:B,projectId:Q,protocol:Z}=A;if(["protocol","publicKey","host","projectId"].find((I)=>{if(!A[I])return fQ1.logger.error(`Invalid Sentry Dsn: ${I} missing`),!0;return!1}))return!1;if(!Q.match(/^\d+$/))return fQ1.logger.error(`Invalid Sentry Dsn: Invalid projectId ${Q}`),!1;if(!BCQ(Z))return fQ1.logger.error(`Invalid Sentry Dsn: Invalid protocol ${Z}`),!1;if(B&&isNaN(parseInt(B,10)))return fQ1.logger.error(`Invalid Sentry Dsn: Invalid port ${B}`),!1;return!0}function GCQ(A){let B=typeof A==="string"?qc0(A):Ec0(A);if(!B||!ZCQ(B))return;return B}Nc0.dsnFromString=qc0;Nc0.dsnToString=QCQ;Nc0.makeDsn=GCQ});var yi1=U((Mc0)=>{Object.defineProperty(Mc0,"__esModule",{value:!0});class Lc0 extends Error{constructor(A,B="warn"){super(A);this.message=A,this.name=new.target.prototype.constructor.name,Object.setPrototypeOf(this,new.target.prototype),this.logLevel=B}}Mc0.SentryError=Lc0});var RC=U((yc0)=>{Object.defineProperty(yc0,"__esModule",{value:!0});var XCQ=Ri1(),FCQ=PN(),qi=OC(),VCQ=gw(),Oc0=bQ1();function KCQ(A,B,Q){if(!(B in A))return;let Z=A[B],G=Q(Z);if(typeof G==="function")jc0(G,Z);A[B]=G}function Pc0(A,B,Q){try{Object.defineProperty(A,B,{value:Q,writable:!0,configurable:!0})}catch(Z){FCQ.DEBUG_BUILD&&VCQ.logger.log(`Failed to add non-enumerable property "${B}" to object`,A)}}function jc0(A,B){try{let Q=B.prototype||{};A.prototype=B.prototype=Q,Pc0(A,"__sentry_original__",B)}catch(Q){}}function zCQ(A){return A.__sentry_original__}function HCQ(A){return Object.keys(A).map((B)=>`${encodeURIComponent(B)}=${encodeURIComponent(A[B])}`).join("&")}function Sc0(A){if(qi.isError(A))return{message:A.message,name:A.name,stack:A.stack,...Tc0(A)};else if(qi.isEvent(A)){let B={type:A.type,target:Rc0(A.target),currentTarget:Rc0(A.currentTarget),...Tc0(A)};if(typeof CustomEvent!=="undefined"&&qi.isInstanceOf(A,CustomEvent))B.detail=A.detail;return B}else return A}function Rc0(A){try{return qi.isElement(A)?XCQ.htmlTreeAsString(A):Object.prototype.toString.call(A)}catch(B){return" "}}function Tc0(A){if(typeof A==="object"&&A!==null){let B={};for(let Q in A)if(Object.prototype.hasOwnProperty.call(A,Q))B[Q]=A[Q];return B}else return{}}function DCQ(A,B=40){let Q=Object.keys(Sc0(A));if(Q.sort(),!Q.length)return"[object has no keys]";if(Q[0].length>=B)return Oc0.truncate(Q[0],B);for(let Z=Q.length;Z>0;Z--){let G=Q.slice(0,Z).join(", ");if(G.length>B)continue;if(Z===Q.length)return G;return Oc0.truncate(G,B)}return""}function CCQ(A){return ki1(A,new Map)}function ki1(A,B){if(UCQ(A)){let Q=B.get(A);if(Q!==void 0)return Q;let Z={};B.set(A,Z);for(let G of Object.keys(A))if(typeof A[G]!=="undefined")Z[G]=ki1(A[G],B);return Z}if(Array.isArray(A)){let Q=B.get(A);if(Q!==void 0)return Q;let Z=[];return B.set(A,Z),A.forEach((G)=>{Z.push(ki1(G,B))}),Z}return A}function UCQ(A){if(!qi.isPlainObject(A))return!1;try{let B=Object.getPrototypeOf(A).constructor.name;return!B||B==="Object"}catch(B){return!0}}function $CQ(A){let B;switch(!0){case(A===void 0||A===null):B=new String(A);break;case(typeof A==="symbol"||typeof A==="bigint"):B=Object(A);break;case qi.isPrimitive(A):B=new A.constructor(A);break;default:B=A;break}return B}yc0.addNonEnumerableProperty=Pc0;yc0.convertToPlainObject=Sc0;yc0.dropUndefinedKeys=CCQ;yc0.extractExceptionKeysForMessage=DCQ;yc0.fill=KCQ;yc0.getOriginalFunction=zCQ;yc0.markFunctionWrapped=jc0;yc0.objectify=$CQ;yc0.urlEncode=HCQ});var mK1=U((_c0)=>{Object.defineProperty(_c0,"__esModule",{value:!0});function kc0(A,B=!1){return!(B||A&&!A.startsWith("/")&&!A.match(/^[A-Z]:/)&&!A.startsWith(".")&&!A.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&A!==void 0&&!A.includes("node_modules/")}function PCQ(A){let B=/^\s*[-]{4,}$/,Q=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/;return(Z)=>{let G=Z.match(Q);if(G){let Y,I,W,J,X;if(G[1]){W=G[1];let K=W.lastIndexOf(".");if(W[K-1]===".")K--;if(K>0){Y=W.slice(0,K),I=W.slice(K+1);let z=Y.indexOf(".Module");if(z>0)W=W.slice(z+1),Y=Y.slice(0,z)}J=void 0}if(I)J=Y,X=I;if(I===" ")X=void 0,W=void 0;if(W===void 0)X=X||" ",W=J?`${J}.${X}`:X;let F=G[2]&&G[2].startsWith("file://")?G[2].slice(7):G[2],V=G[5]==="native";if(F&&F.match(/\/[A-Z]:/))F=F.slice(1);if(!F&&G[5]&&!V)F=G[5];return{filename:F,module:A?A(F):void 0,function:W,lineno:parseInt(G[3],10)||void 0,colno:parseInt(G[4],10)||void 0,in_app:kc0(F,V)}}if(Z.match(B))return{filename:Z};return}}_c0.filenameIsInApp=kc0;_c0.node=PCQ});var dK1=U((uc0)=>{Object.defineProperty(uc0,"__esModule",{value:!0});var bc0=mK1(),fc0=50,xc0=/\(error: (.*)\)/,vc0=/captureMessage|captureException/;function hc0(...A){let B=A.sort((Q,Z)=>Q[0]-Z[0]).map((Q)=>Q[1]);return(Q,Z=0)=>{let G=[],Y=Q.split(` +`);for(let I=Z;I 1024)continue;let J=xc0.test(W)?W.replace(xc0,"$1"):W;if(J.match(/\S*Error: /))continue;for(let X of B){let F=X(J);if(F){G.push(F);break}}if(G.length>=fc0)break}return gc0(G)}}function yCQ(A){if(Array.isArray(A))return hc0(...A);return A}function gc0(A){if(!A.length)return[];let B=Array.from(A);if(/sentryWrapped/.test(B[B.length-1].function||""))B.pop();if(B.reverse(),vc0.test(B[B.length-1].function||"")){if(B.pop(),vc0.test(B[B.length-1].function||""))B.pop()}return B.slice(0,fc0).map((Q)=>({...Q,filename:Q.filename||B[B.length-1].filename,function:Q.function||"?"}))}var _i1=" ";function kCQ(A){try{if(!A||typeof A!=="function")return _i1;return A.name||_i1}catch(B){return _i1}}function _CQ(A){return[90,bc0.node(A)]}uc0.filenameIsInApp=bc0.filenameIsInApp;uc0.createStackParser=hc0;uc0.getFunctionName=kCQ;uc0.nodeStackLineParser=_CQ;uc0.stackParserFromStackParserOptions=yCQ;uc0.stripSentryFramesAndReverse=gc0});var IT=U((dc0)=>{Object.defineProperty(dc0,"__esModule",{value:!0});var uCQ=PN(),mCQ=gw(),dCQ=dK1(),Ei={},mc0={};function cCQ(A,B){Ei[A]=Ei[A]||[],Ei[A].push(B)}function lCQ(){Object.keys(Ei).forEach((A)=>{Ei[A]=void 0})}function pCQ(A,B){if(!mc0[A])B(),mc0[A]=!0}function iCQ(A,B){let Q=A&&Ei[A];if(!Q)return;for(let Z of Q)try{Z(B)}catch(G){uCQ.DEBUG_BUILD&&mCQ.logger.error(`Error while triggering instrumentation handler. +Type: ${A} +Name: ${dCQ.getFunctionName(Z)} +Error:`,G)}}dc0.addHandler=cCQ;dc0.maybeInstrument=pCQ;dc0.resetInstrumentationHandlers=lCQ;dc0.triggerHandlers=iCQ});var bi1=U((cc0)=>{Object.defineProperty(cc0,"__esModule",{value:!0});var xi1=gw(),oCQ=RC(),cK1=YF(),vi1=IT();function tCQ(A){vi1.addHandler("console",A),vi1.maybeInstrument("console",eCQ)}function eCQ(){if(!("console"in cK1.GLOBAL_OBJ))return;xi1.CONSOLE_LEVELS.forEach(function(A){if(!(A in cK1.GLOBAL_OBJ.console))return;oCQ.fill(cK1.GLOBAL_OBJ.console,A,function(B){return xi1.originalConsoleMethods[A]=B,function(...Q){let Z={args:Q,level:A};vi1.triggerHandlers("console",Z);let G=xi1.originalConsoleMethods[A];G&&G.apply(cK1.GLOBAL_OBJ.console,Q)}})})}cc0.addConsoleInstrumentationHandler=tCQ});var hQ1=U((pc0)=>{Object.defineProperty(pc0,"__esModule",{value:!0});var BUQ=RC(),fi1=bQ1(),QUQ=YF();function ZUQ(){let A=QUQ.GLOBAL_OBJ,B=A.crypto||A.msCrypto,Q=()=>Math.random()*16;try{if(B&&B.randomUUID)return B.randomUUID().replace(/-/g,"");if(B&&B.getRandomValues)Q=()=>{let Z=new Uint8Array(1);return B.getRandomValues(Z),Z[0]}}catch(Z){}return([1e7]+1000+4000+8000+100000000000).replace(/[018]/g,(Z)=>(Z^(Q()&15)>>Z/4).toString(16))}function lc0(A){return A.exception&&A.exception.values?A.exception.values[0]:void 0}function GUQ(A){let{message:B,event_id:Q}=A;if(B)return B;let Z=lc0(A);if(Z){if(Z.type&&Z.value)return`${Z.type}: ${Z.value}`;return Z.type||Z.value||Q||" "}return Q||" "}function YUQ(A,B,Q){let Z=A.exception=A.exception||{},G=Z.values=Z.values||[],Y=G[0]=G[0]||{};if(!Y.value)Y.value=B||"";if(!Y.type)Y.type=Q||"Error"}function IUQ(A,B){let Q=lc0(A);if(!Q)return;let Z={type:"generic",handled:!0},G=Q.mechanism;if(Q.mechanism={...Z,...G,...B},B&&"data"in B){let Y={...G&&G.data,...B.data};Q.mechanism.data=Y}}var WUQ=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;function JUQ(A){let B=A.match(WUQ)||[],Q=parseInt(B[1],10),Z=parseInt(B[2],10),G=parseInt(B[3],10);return{buildmetadata:B[5],major:isNaN(Q)?void 0:Q,minor:isNaN(Z)?void 0:Z,patch:isNaN(G)?void 0:G,prerelease:B[4]}}function XUQ(A,B,Q=5){if(B.lineno===void 0)return;let Z=A.length,G=Math.max(Math.min(Z-1,B.lineno-1),0);B.pre_context=A.slice(Math.max(0,G-Q),G).map((Y)=>fi1.snipLine(Y,0)),B.context_line=fi1.snipLine(A[Math.min(Z-1,G)],B.colno||0),B.post_context=A.slice(Math.min(G+1,Z),G+1+Q).map((Y)=>fi1.snipLine(Y,0))}function FUQ(A){if(A&&A.__sentry_captured__)return!0;try{BUQ.addNonEnumerableProperty(A,"__sentry_captured__",!0)}catch(B){}return!1}function VUQ(A){return Array.isArray(A)?A:[A]}pc0.addContextToFrame=XUQ;pc0.addExceptionMechanism=IUQ;pc0.addExceptionTypeValue=YUQ;pc0.arrayify=VUQ;pc0.checkOrSetAlreadyCaught=FUQ;pc0.getEventDescription=GUQ;pc0.parseSemver=JUQ;pc0.uuid4=ZUQ});var mi1=U((sc0)=>{Object.defineProperty(sc0,"__esModule",{value:!0});var qUQ=hQ1(),lK1=RC(),EUQ=YF(),hi1=IT(),Ni=EUQ.GLOBAL_OBJ,NUQ=1000,ic0,gi1,ui1;function LUQ(A){hi1.addHandler("dom",A),hi1.maybeInstrument("dom",ac0)}function ac0(){if(!Ni.document)return;let A=hi1.triggerHandlers.bind(null,"dom"),B=nc0(A,!0);Ni.document.addEventListener("click",B,!1),Ni.document.addEventListener("keypress",B,!1),["EventTarget","Node"].forEach((Q)=>{let Z=Ni[Q]&&Ni[Q].prototype;if(!Z||!Z.hasOwnProperty||!Z.hasOwnProperty("addEventListener"))return;lK1.fill(Z,"addEventListener",function(G){return function(Y,I,W){if(Y==="click"||Y=="keypress")try{let J=this,X=J.__sentry_instrumentation_handlers__=J.__sentry_instrumentation_handlers__||{},F=X[Y]=X[Y]||{refCount:0};if(!F.handler){let V=nc0(A);F.handler=V,G.call(this,Y,V,W)}F.refCount++}catch(J){}return G.call(this,Y,I,W)}}),lK1.fill(Z,"removeEventListener",function(G){return function(Y,I,W){if(Y==="click"||Y=="keypress")try{let J=this,X=J.__sentry_instrumentation_handlers__||{},F=X[Y];if(F){if(F.refCount--,F.refCount<=0)G.call(this,Y,F.handler,W),F.handler=void 0,delete X[Y];if(Object.keys(X).length===0)delete J.__sentry_instrumentation_handlers__}}catch(J){}return G.call(this,Y,I,W)}})})}function MUQ(A){if(A.type!==gi1)return!1;try{if(!A.target||A.target._sentryId!==ui1)return!1}catch(B){}return!0}function OUQ(A,B){if(A!=="keypress")return!1;if(!B||!B.tagName)return!0;if(B.tagName==="INPUT"||B.tagName==="TEXTAREA"||B.isContentEditable)return!1;return!0}function nc0(A,B=!1){return(Q)=>{if(!Q||Q._sentryCaptured)return;let Z=RUQ(Q);if(OUQ(Q.type,Z))return;if(lK1.addNonEnumerableProperty(Q,"_sentryCaptured",!0),Z&&!Z._sentryId)lK1.addNonEnumerableProperty(Z,"_sentryId",qUQ.uuid4());let G=Q.type==="keypress"?"input":Q.type;if(!MUQ(Q))A({event:Q,name:G,global:B}),gi1=Q.type,ui1=Z?Z._sentryId:void 0;clearTimeout(ic0),ic0=Ni.setTimeout(()=>{ui1=void 0,gi1=void 0},NUQ)}}function RUQ(A){try{return A.target}catch(B){return null}}sc0.addClickKeypressInstrumentationHandler=LUQ;sc0.instrumentDOM=ac0});var li1=U((rc0)=>{Object.defineProperty(rc0,"__esModule",{value:!0});var jUQ=PN(),SUQ=gw(),yUQ=YF(),pK1=yUQ.getGlobalObject();function kUQ(){try{return new ErrorEvent(""),!0}catch(A){return!1}}function _UQ(){try{return new DOMError(""),!0}catch(A){return!1}}function xUQ(){try{return new DOMException(""),!0}catch(A){return!1}}function ci1(){if(!("fetch"in pK1))return!1;try{return new Request("http://www.example.com"),!0}catch(A){return!1}}function di1(A){return A&&/^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(A.toString())}function vUQ(){if(typeof EdgeRuntime==="string")return!0;if(!ci1())return!1;if(di1(pK1.fetch))return!0;let A=!1,B=pK1.document;if(B&&typeof B.createElement==="function")try{let Q=B.createElement("iframe");if(Q.hidden=!0,B.head.appendChild(Q),Q.contentWindow&&Q.contentWindow.fetch)A=di1(Q.contentWindow.fetch);B.head.removeChild(Q)}catch(Q){jUQ.DEBUG_BUILD&&SUQ.logger.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",Q)}return A}function bUQ(){return"ReportingObserver"in pK1}function fUQ(){if(!ci1())return!1;try{return new Request("_",{referrerPolicy:"origin"}),!0}catch(A){return!1}}rc0.isNativeFetch=di1;rc0.supportsDOMError=_UQ;rc0.supportsDOMException=xUQ;rc0.supportsErrorEvent=kUQ;rc0.supportsFetch=ci1;rc0.supportsNativeFetch=vUQ;rc0.supportsReferrerPolicy=fUQ;rc0.supportsReportingObserver=bUQ});var ii1=U((Al0)=>{Object.defineProperty(Al0,"__esModule",{value:!0});var iUQ=RC(),nUQ=li1(),oc0=YF(),gQ1=IT();function aUQ(A){gQ1.addHandler("fetch",A),gQ1.maybeInstrument("fetch",sUQ)}function sUQ(){if(!nUQ.supportsNativeFetch())return;iUQ.fill(oc0.GLOBAL_OBJ,"fetch",function(A){return function(...B){let{method:Q,url:Z}=ec0(B),G={args:B,fetchData:{method:Q,url:Z},startTimestamp:Date.now()};return gQ1.triggerHandlers("fetch",{...G}),A.apply(oc0.GLOBAL_OBJ,B).then((Y)=>{let I={...G,endTimestamp:Date.now(),response:Y};return gQ1.triggerHandlers("fetch",I),Y},(Y)=>{let I={...G,endTimestamp:Date.now(),error:Y};throw gQ1.triggerHandlers("fetch",I),Y})}})}function pi1(A,B){return!!A&&typeof A==="object"&&!!A[B]}function tc0(A){if(typeof A==="string")return A;if(!A)return"";if(pi1(A,"url"))return A.url;if(A.toString)return A.toString();return""}function ec0(A){if(A.length===0)return{method:"GET",url:""};if(A.length===2){let[Q,Z]=A;return{url:tc0(Q),method:pi1(Z,"method")?String(Z.method).toUpperCase():"GET"}}let B=A[0];return{url:tc0(B),method:pi1(B,"method")?String(B.method).toUpperCase():"GET"}}Al0.addFetchInstrumentationHandler=aUQ;Al0.parseFetchArgs=ec0});var si1=U((Bl0)=>{Object.defineProperty(Bl0,"__esModule",{value:!0});var ni1=YF(),ai1=IT(),iK1=null;function tUQ(A){ai1.addHandler("error",A),ai1.maybeInstrument("error",eUQ)}function eUQ(){iK1=ni1.GLOBAL_OBJ.onerror,ni1.GLOBAL_OBJ.onerror=function(A,B,Q,Z,G){let Y={column:Z,error:G,line:Q,msg:A,url:B};if(ai1.triggerHandlers("error",Y),iK1&&!iK1.__SENTRY_LOADER__)return iK1.apply(this,arguments);return!1},ni1.GLOBAL_OBJ.onerror.__SENTRY_INSTRUMENTED__=!0}Bl0.addGlobalErrorInstrumentationHandler=tUQ});var ti1=U((Ql0)=>{Object.defineProperty(Ql0,"__esModule",{value:!0});var ri1=YF(),oi1=IT(),nK1=null;function B$Q(A){oi1.addHandler("unhandledrejection",A),oi1.maybeInstrument("unhandledrejection",Q$Q)}function Q$Q(){nK1=ri1.GLOBAL_OBJ.onunhandledrejection,ri1.GLOBAL_OBJ.onunhandledrejection=function(A){let B=A;if(oi1.triggerHandlers("unhandledrejection",B),nK1&&!nK1.__SENTRY_LOADER__)return nK1.apply(this,arguments);return!0},ri1.GLOBAL_OBJ.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}Ql0.addGlobalUnhandledRejectionInstrumentationHandler=B$Q});var ei1=U((Zl0)=>{Object.defineProperty(Zl0,"__esModule",{value:!0});var G$Q=YF(),aK1=G$Q.getGlobalObject();function Y$Q(){let A=aK1.chrome,B=A&&A.app&&A.app.runtime,Q="history"in aK1&&!!aK1.history.pushState&&!!aK1.history.replaceState;return!B&&Q}Zl0.supportsHistory=Y$Q});var An1=U((Yl0)=>{Object.defineProperty(Yl0,"__esModule",{value:!0});var Gl0=RC();PN();gw();var W$Q=YF(),J$Q=ei1(),rK1=IT(),uQ1=W$Q.GLOBAL_OBJ,sK1;function X$Q(A){rK1.addHandler("history",A),rK1.maybeInstrument("history",F$Q)}function F$Q(){if(!J$Q.supportsHistory())return;let A=uQ1.onpopstate;uQ1.onpopstate=function(...Q){let Z=uQ1.location.href,G=sK1;sK1=Z;let Y={from:G,to:Z};if(rK1.triggerHandlers("history",Y),A)try{return A.apply(this,Q)}catch(I){}};function B(Q){return function(...Z){let G=Z.length>2?Z[2]:void 0;if(G){let Y=sK1,I=String(G);sK1=I;let W={from:Y,to:I};rK1.triggerHandlers("history",W)}return Q.apply(this,Z)}}Gl0.fill(uQ1.history,"pushState",B),Gl0.fill(uQ1.history,"replaceState",B)}Yl0.addHistoryInstrumentationHandler=X$Q});var Bn1=U((Wl0)=>{Object.defineProperty(Wl0,"__esModule",{value:!0});var tK1=OC(),oK1=RC(),K$Q=YF(),eK1=IT(),z$Q=K$Q.GLOBAL_OBJ,mQ1="__sentry_xhr_v3__";function H$Q(A){eK1.addHandler("xhr",A),eK1.maybeInstrument("xhr",Il0)}function Il0(){if(!z$Q.XMLHttpRequest)return;let A=XMLHttpRequest.prototype;oK1.fill(A,"open",function(B){return function(...Q){let Z=Date.now(),G=tK1.isString(Q[0])?Q[0].toUpperCase():void 0,Y=D$Q(Q[1]);if(!G||!Y)return B.apply(this,Q);if(this[mQ1]={method:G,url:Y,request_headers:{}},G==="POST"&&Y.match(/sentry_key/))this.__sentry_own_request__=!0;let I=()=>{let W=this[mQ1];if(!W)return;if(this.readyState===4){try{W.status_code=this.status}catch(X){}let J={args:[G,Y],endTimestamp:Date.now(),startTimestamp:Z,xhr:this};eK1.triggerHandlers("xhr",J)}};if("onreadystatechange"in this&&typeof this.onreadystatechange==="function")oK1.fill(this,"onreadystatechange",function(W){return function(...J){return I(),W.apply(this,J)}});else this.addEventListener("readystatechange",I);return oK1.fill(this,"setRequestHeader",function(W){return function(...J){let[X,F]=J,V=this[mQ1];if(V&&tK1.isString(X)&&tK1.isString(F))V.request_headers[X.toLowerCase()]=F;return W.apply(this,J)}}),B.apply(this,Q)}}),oK1.fill(A,"send",function(B){return function(...Q){let Z=this[mQ1];if(!Z)return B.apply(this,Q);if(Q[0]!==void 0)Z.body=Q[0];let G={args:[Z.method,Z.url],startTimestamp:Date.now(),xhr:this};return eK1.triggerHandlers("xhr",G),B.apply(this,Q)}})}function D$Q(A){if(tK1.isString(A))return A;try{return A.toString()}catch(B){}return}Wl0.SENTRY_XHR_DATA_KEY=mQ1;Wl0.addXhrInstrumentationHandler=H$Q;Wl0.instrumentXHR=Il0});var Dl0=U((Hl0)=>{Object.defineProperty(Hl0,"__esModule",{value:!0});var w$Q=PN(),q$Q=gw(),Jl0=bi1(),Xl0=mi1(),Fl0=ii1(),Vl0=si1(),Kl0=ti1(),zl0=An1(),Qn1=Bn1();function E$Q(A,B){switch(A){case"console":return Jl0.addConsoleInstrumentationHandler(B);case"dom":return Xl0.addClickKeypressInstrumentationHandler(B);case"xhr":return Qn1.addXhrInstrumentationHandler(B);case"fetch":return Fl0.addFetchInstrumentationHandler(B);case"history":return zl0.addHistoryInstrumentationHandler(B);case"error":return Vl0.addGlobalErrorInstrumentationHandler(B);case"unhandledrejection":return Kl0.addGlobalUnhandledRejectionInstrumentationHandler(B);default:w$Q.DEBUG_BUILD&&q$Q.logger.warn("unknown instrumentation type:",A)}}Hl0.addConsoleInstrumentationHandler=Jl0.addConsoleInstrumentationHandler;Hl0.addClickKeypressInstrumentationHandler=Xl0.addClickKeypressInstrumentationHandler;Hl0.addFetchInstrumentationHandler=Fl0.addFetchInstrumentationHandler;Hl0.addGlobalErrorInstrumentationHandler=Vl0.addGlobalErrorInstrumentationHandler;Hl0.addGlobalUnhandledRejectionInstrumentationHandler=Kl0.addGlobalUnhandledRejectionInstrumentationHandler;Hl0.addHistoryInstrumentationHandler=zl0.addHistoryInstrumentationHandler;Hl0.SENTRY_XHR_DATA_KEY=Qn1.SENTRY_XHR_DATA_KEY;Hl0.addXhrInstrumentationHandler=Qn1.addXhrInstrumentationHandler;Hl0.addInstrumentationHandler=E$Q});var Zn1=U((Cl0)=>{Object.defineProperty(Cl0,"__esModule",{value:!0});function y$Q(){return typeof __SENTRY_BROWSER_BUNDLE__!=="undefined"&&!!__SENTRY_BROWSER_BUNDLE__}function k$Q(){return"npm"}Cl0.getSDKSource=k$Q;Cl0.isBrowserBundle=y$Q});var Gn1=U((Ul0,Bz1)=>{Object.defineProperty(Ul0,"__esModule",{value:!0});var v$Q=Zn1();function b$Q(){return!v$Q.isBrowserBundle()&&Object.prototype.toString.call(typeof process!=="undefined"?process:0)==="[object process]"}function Az1(A,B){return A.require(B)}function f$Q(A){let B;try{B=Az1(Bz1,A)}catch(Q){}try{let{cwd:Q}=Az1(Bz1,"process");B=Az1(Bz1,`${Q()}/node_modules/${A}`)}catch(Q){}return B}Ul0.dynamicRequire=Az1;Ul0.isNodeEnv=b$Q;Ul0.loadModule=f$Q});var ql0=U((wl0)=>{Object.defineProperty(wl0,"__esModule",{value:!0});var m$Q=Gn1(),$l0=YF();function d$Q(){return typeof window!=="undefined"&&(!m$Q.isNodeEnv()||c$Q())}function c$Q(){return $l0.GLOBAL_OBJ.process!==void 0&&$l0.GLOBAL_OBJ.process.type==="renderer"}wl0.isBrowser=d$Q});var Yn1=U((El0)=>{Object.defineProperty(El0,"__esModule",{value:!0});function p$Q(){let A=typeof WeakSet==="function",B=A?new WeakSet:[];function Q(G){if(A){if(B.has(G))return!0;return B.add(G),!1}for(let Y=0;Y {Object.defineProperty(Ml0,"__esModule",{value:!0});var In1=OC(),n$Q=Yn1(),a$Q=RC(),s$Q=dK1();function Nl0(A,B=100,Q=1/0){try{return Qz1("",A,B,Q)}catch(Z){return{ERROR:`**non-serializable** (${Z})`}}}function Ll0(A,B=3,Q=102400){let Z=Nl0(A,B);if(e$Q(Z)>Q)return Ll0(A,B-1,Q);return Z}function Qz1(A,B,Q=1/0,Z=1/0,G=n$Q.memoBuilder()){let[Y,I]=G;if(B==null||["number","boolean","string"].includes(typeof B)&&!In1.isNaN(B))return B;let W=r$Q(A,B);if(!W.startsWith("[object "))return W;if(B.__sentry_skip_normalization__)return B;let J=typeof B.__sentry_override_normalization_depth__==="number"?B.__sentry_override_normalization_depth__:Q;if(J===0)return W.replace("object ","");if(Y(B))return"[Circular ~]";let X=B;if(X&&typeof X.toJSON==="function")try{let z=X.toJSON();return Qz1("",z,J-1,Z,G)}catch(z){}let F=Array.isArray(B)?[]:{},V=0,K=a$Q.convertToPlainObject(B);for(let z in K){if(!Object.prototype.hasOwnProperty.call(K,z))continue;if(V>=Z){F[z]="[MaxProperties ~]";break}let H=K[z];F[z]=Qz1(z,H,J-1,Z,G),V++}return I(B),F}function r$Q(A,B){try{if(A==="domain"&&B&&typeof B==="object"&&B._events)return"[Domain]";if(A==="domainEmitter")return"[DomainEmitter]";if(typeof global!=="undefined"&&B===global)return"[Global]";if(typeof window!=="undefined"&&B===window)return"[Window]";if(typeof document!=="undefined"&&B===document)return"[Document]";if(In1.isVueViewModel(B))return"[VueViewModel]";if(In1.isSyntheticEvent(B))return"[SyntheticEvent]";if(typeof B==="number"&&B!==B)return"[NaN]";if(typeof B==="function")return`[Function: ${s$Q.getFunctionName(B)}]`;if(typeof B==="symbol")return`[${String(B)}]`;if(typeof B==="bigint")return`[BigInt: ${String(B)}]`;let Q=o$Q(B);if(/^HTML(\w*)Element$/.test(Q))return`[HTMLElement: ${Q}]`;return`[object ${Q}]`}catch(Q){return`**non-serializable** (${Q})`}}function o$Q(A){let B=Object.getPrototypeOf(A);return B?B.constructor.name:"null prototype"}function t$Q(A){return~-encodeURI(A).split(/%..|./).length}function e$Q(A){return t$Q(JSON.stringify(A))}function AwQ(A,B){let Q=B.replace(/\\/g,"/").replace(/[|\\{}()[\]^$+*?.]/g,"\\$&"),Z=A;try{Z=decodeURI(A)}catch(G){}return Z.replace(/\\/g,"/").replace(/webpack:\/?/g,"").replace(new RegExp(`(file://)?/*${Q}/*`,"ig"),"app:///")}Ml0.normalize=Nl0;Ml0.normalizeToSize=Ll0;Ml0.normalizeUrlToBase=AwQ;Ml0.walk=Qz1});var yl0=U((Sl0)=>{Object.defineProperty(Sl0,"__esModule",{value:!0});function Rl0(A,B){let Q=0;for(let Z=A.length-1;Z>=0;Z--){let G=A[Z];if(G===".")A.splice(Z,1);else if(G==="..")A.splice(Z,1),Q++;else if(Q)A.splice(Z,1),Q--}if(B)for(;Q--;Q)A.unshift("..");return A}var YwQ=/^(\S+:\\|\/?)([\s\S]*?)((?:\.{1,2}|[^/\\]+?|)(\.[^./\\]*|))(?:[/\\]*)$/;function Tl0(A){let B=A.length>1024?` ${A.slice(-1024)}`:A,Q=YwQ.exec(B);return Q?Q.slice(1):[]}function Wn1(...A){let B="",Q=!1;for(let Z=A.length-1;Z>=-1&&!Q;Z--){let G=Z>=0?A[Z]:"/";if(!G)continue;B=`${G}/${B}`,Q=G.charAt(0)==="/"}return B=Rl0(B.split("/").filter((Z)=>!!Z),!Q).join("/"),(Q?"/":"")+B||"."}function Ol0(A){let B=0;for(;B =0;Q--)if(A[Q]!=="")break;if(B>Q)return[];return A.slice(B,Q-B+1)}function IwQ(A,B){A=Wn1(A).slice(1),B=Wn1(B).slice(1);let Q=Ol0(A.split("/")),Z=Ol0(B.split("/")),G=Math.min(Q.length,Z.length),Y=G;for(let W=0;W !!G),!B).join("/");if(!Z&&!B)Z=".";if(Z&&Q)Z+="/";return(B?"/":"")+Z}function jl0(A){return A.charAt(0)==="/"}function WwQ(...A){return Pl0(A.join("/"))}function JwQ(A){let B=Tl0(A),Q=B[0],Z=B[1];if(!Q&&!Z)return".";if(Z)Z=Z.slice(0,Z.length-1);return Q+Z}function XwQ(A,B){let Q=Tl0(A)[2];if(B&&Q.slice(B.length*-1)===B)Q=Q.slice(0,Q.length-B.length);return Q}Sl0.basename=XwQ;Sl0.dirname=JwQ;Sl0.isAbsolute=jl0;Sl0.join=WwQ;Sl0.normalizePath=Pl0;Sl0.relative=IwQ;Sl0.resolve=Wn1});var Jn1=U((kl0)=>{Object.defineProperty(kl0,"__esModule",{value:!0});var UwQ=OC(),WT;(function(A){A[A.PENDING=0]="PENDING";let Q=1;A[A.RESOLVED=Q]="RESOLVED";let Z=2;A[A.REJECTED=Z]="REJECTED"})(WT||(WT={}));function $wQ(A){return new jN((B)=>{B(A)})}function wwQ(A){return new jN((B,Q)=>{Q(A)})}class jN{constructor(A){jN.prototype.__init.call(this),jN.prototype.__init2.call(this),jN.prototype.__init3.call(this),jN.prototype.__init4.call(this),this._state=WT.PENDING,this._handlers=[];try{A(this._resolve,this._reject)}catch(B){this._reject(B)}}then(A,B){return new jN((Q,Z)=>{this._handlers.push([!1,(G)=>{if(!A)Q(G);else try{Q(A(G))}catch(Y){Z(Y)}},(G)=>{if(!B)Z(G);else try{Q(B(G))}catch(Y){Z(Y)}}]),this._executeHandlers()})}catch(A){return this.then((B)=>B,A)}finally(A){return new jN((B,Q)=>{let Z,G;return this.then((Y)=>{if(G=!1,Z=Y,A)A()},(Y)=>{if(G=!0,Z=Y,A)A()}).then(()=>{if(G){Q(Z);return}B(Z)})})}__init(){this._resolve=(A)=>{this._setResult(WT.RESOLVED,A)}}__init2(){this._reject=(A)=>{this._setResult(WT.REJECTED,A)}}__init3(){this._setResult=(A,B)=>{if(this._state!==WT.PENDING)return;if(UwQ.isThenable(B)){B.then(this._resolve,this._reject);return}this._state=A,this._value=B,this._executeHandlers()}}__init4(){this._executeHandlers=()=>{if(this._state===WT.PENDING)return;let A=this._handlers.slice();this._handlers=[],A.forEach((B)=>{if(B[0])return;if(this._state===WT.RESOLVED)B[1](this._value);if(this._state===WT.REJECTED)B[2](this._value);B[0]=!0})}}}kl0.SyncPromise=jN;kl0.rejectedSyncPromise=wwQ;kl0.resolvedSyncPromise=$wQ});var xl0=U((_l0)=>{Object.defineProperty(_l0,"__esModule",{value:!0});var LwQ=yi1(),Xn1=Jn1();function MwQ(A){let B=[];function Q(){return A===void 0||B.lengthZ(W)).then(null,()=>Z(W).then(null,()=>{})),W}function Y(I){return new Xn1.SyncPromise((W,J)=>{let X=B.length;if(!X)return W(!0);let F=setTimeout(()=>{if(I&&I>0)W(!1)},I);B.forEach((V)=>{Xn1.resolvedSyncPromise(V).then(()=>{if(!--X)clearTimeout(F),W(!0)},J)})})}return{$:B,add:G,drain:Y}}_l0.makePromiseBuffer=MwQ});var bl0=U((vl0)=>{Object.defineProperty(vl0,"__esModule",{value:!0});function RwQ(A){let B={},Q=0;while(Q /g,">").replace(/"/g,""").replace(/'/g,"'")}function pk(A,...B){let Q=Object.create(null);for(let Z in A)Q[Z]=A[Z];return B.forEach(function(Z){for(let G in Z)Q[G]=Z[G]}),Q}var RV9="",xXA=(A)=>{return!!A.kind};class mXA{constructor(A,B){this.buffer="",this.classPrefix=B.classPrefix,A.walk(this)}addText(A){this.buffer+=Ja(A)}openNode(A){if(!xXA(A))return;let B=A.kind;if(!A.sublanguage)B=`${this.classPrefix}${B}`;this.span(B)}closeNode(A){if(!xXA(A))return;this.buffer+=RV9}value(){return this.buffer}span(A){this.buffer+=``}}class B10{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(A){this.top.children.push(A)}openNode(A){let B={kind:A,children:[]};this.add(B),this.stack.push(B)}closeNode(){if(this.stack.length>1)return this.stack.pop();return}closeAllNodes(){while(this.closeNode());}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(A){return this.constructor._walk(A,this.rootNode)}static _walk(A,B){if(typeof B==="string")A.addText(B);else if(B.children)A.openNode(B),B.children.forEach((Q)=>this._walk(A,Q)),A.closeNode(B);return A}static _collapse(A){if(typeof A==="string")return;if(!A.children)return;if(A.children.every((B)=>typeof B==="string"))A.children=[A.children.join("")];else A.children.forEach((B)=>{B10._collapse(B)})}}class dXA extends B10{constructor(A){super();this.options=A}addKeyword(A,B){if(A==="")return;this.openNode(B),this.addText(A),this.closeNode()}addText(A){if(A==="")return;this.add(A)}addSublanguage(A,B){let Q=A.root;Q.kind=B,Q.sublanguage=!0,this.add(Q)}toHTML(){return new mXA(this,this.options).value()}finalize(){return!0}}function TV9(A){return new RegExp(A.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}function b41(A){if(!A)return null;if(typeof A==="string")return A;return A.source}function PV9(...A){return A.map((Q)=>b41(Q)).join("")}function jV9(...A){return"("+A.map((Q)=>b41(Q)).join("|")+")"}function SV9(A){return new RegExp(A.toString()+"|").exec("").length-1}function yV9(A,B){let Q=A&&A.exec(B);return Q&&Q.index===0}var kV9=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function _V9(A,B="|"){let Q=0;return A.map((Z)=>{Q+=1;let G=Q,Y=b41(Z),I="";while(Y.length>0){let W=kV9.exec(Y);if(!W){I+=Y;break}if(I+=Y.substring(0,W.index),Y=Y.substring(W.index+W[0].length),W[0][0]==="\\"&&W[1])I+="\\"+String(Number(W[1])+G);else if(I+=W[0],W[0]==="(")Q++}return I}).map((Z)=>`(${Z})`).join(B)}var xV9=/\b\B/,cXA="[a-zA-Z]\\w*",Q10="[a-zA-Z_]\\w*",Z10="\\b\\d+(\\.\\d+)?",lXA="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",pXA="\\b(0b[01]+)",vV9="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",bV9=(A={})=>{let B=/^#![ ]*\//;if(A.binary)A.begin=PV9(B,/.*\b/,A.binary,/\b.*/);return pk({className:"meta",begin:B,end:/$/,relevance:0,"on:begin":(Q,Z)=>{if(Q.index!==0)Z.ignoreMatch()}},A)},f41={begin:"\\\\[\\s\\S]",relevance:0},fV9={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[f41]},hV9={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[f41]},iXA={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},vC1=function(A,B,Q={}){let Z=pk({className:"comment",begin:A,end:B,contains:[]},Q);return Z.contains.push(iXA),Z.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),Z},gV9=vC1("//","$"),uV9=vC1("/\\*","\\*/"),mV9=vC1("#","$"),dV9={className:"number",begin:Z10,relevance:0},cV9={className:"number",begin:lXA,relevance:0},lV9={className:"number",begin:pXA,relevance:0},pV9={className:"number",begin:Z10+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},iV9={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[f41,{begin:/\[/,end:/\]/,relevance:0,contains:[f41]}]}]},nV9={className:"title",begin:cXA,relevance:0},aV9={className:"title",begin:Q10,relevance:0},sV9={begin:"\\.\\s*"+Q10,relevance:0},rV9=function(A){return Object.assign(A,{"on:begin":(B,Q)=>{Q.data._beginMatch=B[1]},"on:end":(B,Q)=>{if(Q.data._beginMatch!==B[1])Q.ignoreMatch()}})},xC1=Object.freeze({__proto__:null,MATCH_NOTHING_RE:xV9,IDENT_RE:cXA,UNDERSCORE_IDENT_RE:Q10,NUMBER_RE:Z10,C_NUMBER_RE:lXA,BINARY_NUMBER_RE:pXA,RE_STARTERS_RE:vV9,SHEBANG:bV9,BACKSLASH_ESCAPE:f41,APOS_STRING_MODE:fV9,QUOTE_STRING_MODE:hV9,PHRASAL_WORDS_MODE:iXA,COMMENT:vC1,C_LINE_COMMENT_MODE:gV9,C_BLOCK_COMMENT_MODE:uV9,HASH_COMMENT_MODE:mV9,NUMBER_MODE:dV9,C_NUMBER_MODE:cV9,BINARY_NUMBER_MODE:lV9,CSS_NUMBER_MODE:pV9,REGEXP_MODE:iV9,TITLE_MODE:nV9,UNDERSCORE_TITLE_MODE:aV9,METHOD_GUARD:sV9,END_SAME_AS_BEGIN:rV9});function oV9(A,B){if(A.input[A.index-1]===".")B.ignoreMatch()}function tV9(A,B){if(!B)return;if(!A.beginKeywords)return;if(A.begin="\\b("+A.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",A.__beforeBegin=oV9,A.keywords=A.keywords||A.beginKeywords,delete A.beginKeywords,A.relevance===void 0)A.relevance=0}function eV9(A,B){if(!Array.isArray(A.illegal))return;A.illegal=jV9(...A.illegal)}function AK9(A,B){if(!A.match)return;if(A.begin||A.end)throw new Error("begin & end are not supported with match");A.begin=A.match,delete A.match}function BK9(A,B){if(A.relevance===void 0)A.relevance=1}var QK9=["of","and","for","in","not","or","if","then","parent","list","value"],ZK9="keyword";function nXA(A,B,Q=ZK9){let Z={};if(typeof A==="string")G(Q,A.split(" "));else if(Array.isArray(A))G(Q,A);else Object.keys(A).forEach(function(Y){Object.assign(Z,nXA(A[Y],B,Y))});return Z;function G(Y,I){if(B)I=I.map((W)=>W.toLowerCase());I.forEach(function(W){let J=W.split("|");Z[J[0]]=[Y,GK9(J[0],J[1])]})}}function GK9(A,B){if(B)return Number(B);return YK9(A)?0:1}function YK9(A){return QK9.includes(A.toLowerCase())}function IK9(A,{plugins:B}){function Q(W,J){return new RegExp(b41(W),"m"+(A.case_insensitive?"i":"")+(J?"g":""))}class Z{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(W,J){J.position=this.position++,this.matchIndexes[this.matchAt]=J,this.regexes.push([J,W]),this.matchAt+=SV9(W)+1}compile(){if(this.regexes.length===0)this.exec=()=>null;let W=this.regexes.map((J)=>J[1]);this.matcherRe=Q(_V9(W),!0),this.lastIndex=0}exec(W){this.matcherRe.lastIndex=this.lastIndex;let J=this.matcherRe.exec(W);if(!J)return null;let X=J.findIndex((V,K)=>K>0&&V!==void 0),F=this.matchIndexes[X];return J.splice(0,X),Object.assign(J,F)}}class G{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(W){if(this.multiRegexes[W])return this.multiRegexes[W];let J=new Z;return this.rules.slice(W).forEach(([X,F])=>J.addRule(X,F)),J.compile(),this.multiRegexes[W]=J,J}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(W,J){if(this.rules.push([W,J]),J.type==="begin")this.count++}exec(W){let J=this.getMatcher(this.regexIndex);J.lastIndex=this.lastIndex;let X=J.exec(W);if(this.resumingScanAtSamePosition())if(X&&X.index===this.lastIndex);else{let F=this.getMatcher(0);F.lastIndex=this.lastIndex+1,X=F.exec(W)}if(X){if(this.regexIndex+=X.position+1,this.regexIndex===this.count)this.considerAll()}return X}}function Y(W){let J=new G;if(W.contains.forEach((X)=>J.addRule(X.begin,{rule:X,type:"begin"})),W.terminatorEnd)J.addRule(W.terminatorEnd,{type:"end"});if(W.illegal)J.addRule(W.illegal,{type:"illegal"});return J}function I(W,J){let X=W;if(W.isCompiled)return X;[AK9].forEach((V)=>V(W,J)),A.compilerExtensions.forEach((V)=>V(W,J)),W.__beforeBegin=null,[tV9,eV9,BK9].forEach((V)=>V(W,J)),W.isCompiled=!0;let F=null;if(typeof W.keywords==="object")F=W.keywords.$pattern,delete W.keywords.$pattern;if(W.keywords)W.keywords=nXA(W.keywords,A.case_insensitive);if(W.lexemes&&F)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");if(F=F||W.lexemes||/\w+/,X.keywordPatternRe=Q(F,!0),J){if(!W.begin)W.begin=/\B|\b/;if(X.beginRe=Q(W.begin),W.endSameAsBegin)W.end=W.begin;if(!W.end&&!W.endsWithParent)W.end=/\B|\b/;if(W.end)X.endRe=Q(W.end);if(X.terminatorEnd=b41(W.end)||"",W.endsWithParent&&J.terminatorEnd)X.terminatorEnd+=(W.end?"|":"")+J.terminatorEnd}if(W.illegal)X.illegalRe=Q(W.illegal);if(!W.contains)W.contains=[];if(W.contains=[].concat(...W.contains.map(function(V){return WK9(V==="self"?W:V)})),W.contains.forEach(function(V){I(V,X)}),W.starts)I(W.starts,J);return X.matcher=Y(X),X}if(!A.compilerExtensions)A.compilerExtensions=[];if(A.contains&&A.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return A.classNameAliases=pk(A.classNameAliases||{}),I(A)}function aXA(A){if(!A)return!1;return A.endsWithParent||aXA(A.starts)}function WK9(A){if(A.variants&&!A.cachedVariants)A.cachedVariants=A.variants.map(function(B){return pk(A,{variants:null},B)});if(A.cachedVariants)return A.cachedVariants;if(aXA(A))return pk(A,{starts:A.starts?pk(A.starts):null});if(Object.isFrozen(A))return pk(A);return A}var JK9="10.7.3";function XK9(A){return Boolean(A||A==="")}function FK9(A){let B={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){if(this.unknownLanguage)return"";return"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!A.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,Ja(this.code);let Z={};if(this.autoDetect)Z=A.highlightAuto(this.code),this.detectedLanguage=Z.language;else Z=A.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language;return Z.value},autoDetect(){return!this.language||XK9(this.autodetect)},ignoreIllegals(){return!0}},render(Z){return Z("pre",{},[Z("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:B,VuePlugin:{install(Z){Z.component("highlightjs",B)}}}}var VK9={"after:highlightElement":({el:A,result:B,text:Q})=>{let Z=vXA(A);if(!Z.length)return;let G=document.createElement("div");G.innerHTML=B.value,B.value=KK9(Z,vXA(G),Q)}};function ee1(A){return A.nodeName.toLowerCase()}function vXA(A){let B=[];return function Q(Z,G){for(let Y=Z.firstChild;Y;Y=Y.nextSibling)if(Y.nodeType===3)G+=Y.nodeValue.length;else if(Y.nodeType===1){if(B.push({event:"start",offset:G,node:Y}),G=Q(Y,G),!ee1(Y).match(/br|hr|img|input/))B.push({event:"stop",offset:G,node:Y})}return G}(A,0),B}function KK9(A,B,Q){let Z=0,G="",Y=[];function I(){if(!A.length||!B.length)return A.length?A:B;if(A[0].offset!==B[0].offset)return A[0].offset"}function J(F){G+=""+ee1(F)+">"}function X(F){(F.event==="start"?W:J)(F.node)}while(A.length||B.length){let F=I();if(G+=Ja(Q.substring(Z,F[0].offset)),Z=F[0].offset,F===A){Y.reverse().forEach(J);do X(F.splice(0,1)[0]),F=I();while(F===A&&F.length&&F[0].offset===Z);Y.reverse().forEach(W)}else{if(F[0].event==="start")Y.push(F[0].node);else Y.pop();X(F.splice(0,1)[0])}}return G+Ja(Q.substr(Z))}var bXA={},re1=(A)=>{console.error(A)},fXA=(A,...B)=>{console.log(`WARN: ${A}`,...B)},mC=(A,B)=>{if(bXA[`${A}/${B}`])return;console.log(`Deprecated as of ${A}. ${B}`),bXA[`${A}/${B}`]=!0},oe1=Ja,hXA=pk,gXA=Symbol("nomatch"),zK9=function(A){let B=Object.create(null),Q=Object.create(null),Z=[],G=!0,Y=/(^(<[^>]+>|\t|)+|\n)/gm,I="Could not find the language '{}', did you forget to load/include a language module?",W={disableAutodetect:!0,name:"Plain text",contains:[]},J={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:dXA};function X(D1){return J.noHighlightRe.test(D1)}function F(D1){let m1=D1.className+" ";m1+=D1.parentNode?D1.parentNode.className:"";let x1=J.languageDetectRe.exec(m1);if(x1){let e1=r(x1[1]);if(!e1)fXA(I.replace("{}",x1[1])),fXA("Falling back to no-highlight mode for this block.",D1);return e1?x1[1]:"no-highlight"}return m1.split(/\s+/).find((e1)=>X(e1)||r(e1))}function V(D1,m1,x1,e1){let J0="",$0="";if(typeof m1==="object")J0=D1,x1=m1.ignoreIllegals,$0=m1.language,e1=void 0;else mC("10.7.0","highlight(lang, code, ...args) has been deprecated."),mC("10.7.0",`Please use highlight(code, options) instead. +https://github.com/highlightjs/highlight.js/issues/2277`),$0=D1,J0=m1;let B1={code:J0,language:$0};Q0("before:highlight",B1);let I1=B1.result?B1.result:K(B1.language,B1.code,x1,e1);return I1.code=B1.code,Q0("after:highlight",I1),I1}function K(D1,m1,x1,e1){function J0(cA,xA){let oA=H1.case_insensitive?xA[0].toLowerCase():xA[0];return Object.prototype.hasOwnProperty.call(cA.keywords,oA)&&cA.keywords[oA]}function $0(){if(!C0.keywords){wA.addText(JA);return}let cA=0;C0.keywordPatternRe.lastIndex=0;let xA=C0.keywordPatternRe.exec(JA),oA="";while(xA){oA+=JA.substring(cA,xA.index);let X2=J0(C0,xA);if(X2){let[nA,wB]=X2;if(wA.addText(oA),oA="",hA+=wB,nA.startsWith("_"))oA+=xA[0];else{let AQ=H1.classNameAliases[nA]||nA;wA.addKeyword(xA[0],AQ)}}else oA+=xA[0];cA=C0.keywordPatternRe.lastIndex,xA=C0.keywordPatternRe.exec(JA)}oA+=JA.substr(cA),wA.addText(oA)}function B1(){if(JA==="")return;let cA=null;if(typeof C0.subLanguage==="string"){if(!B[C0.subLanguage]){wA.addText(JA);return}cA=K(C0.subLanguage,JA,!0,p0[C0.subLanguage]),p0[C0.subLanguage]=cA.top}else cA=H(JA,C0.subLanguage.length?C0.subLanguage:null);if(C0.relevance>0)hA+=cA.relevance;wA.addSublanguage(cA.emitter,cA.language)}function I1(){if(C0.subLanguage!=null)B1();else $0();JA=""}function K1(cA){if(cA.className)wA.openNode(H1.classNameAliases[cA.className]||cA.className);return C0=Object.create(cA,{parent:{value:C0}}),C0}function h1(cA,xA,oA){let X2=yV9(cA.endRe,oA);if(X2){if(cA["on:end"]){let nA=new te1(cA);if(cA["on:end"](xA,nA),nA.isMatchIgnored)X2=!1}if(X2){while(cA.endsParent&&cA.parent)cA=cA.parent;return cA}}if(cA.endsWithParent)return h1(cA.parent,xA,oA)}function v1(cA){if(C0.matcher.regexIndex===0)return JA+=cA[0],1;else return F4=!0,0}function _1(cA){let xA=cA[0],oA=cA.rule,X2=new te1(oA),nA=[oA.__beforeBegin,oA["on:begin"]];for(let wB of nA){if(!wB)continue;if(wB(cA,X2),X2.isMatchIgnored)return v1(xA)}if(oA&&oA.endSameAsBegin)oA.endRe=TV9(xA);if(oA.skip)JA+=xA;else{if(oA.excludeBegin)JA+=xA;if(I1(),!oA.returnBegin&&!oA.excludeBegin)JA=xA}return K1(oA),oA.returnBegin?0:xA.length}function l1(cA){let xA=cA[0],oA=m1.substr(cA.index),X2=h1(C0,cA,oA);if(!X2)return gXA;let nA=C0;if(nA.skip)JA+=xA;else{if(!(nA.returnEnd||nA.excludeEnd))JA+=xA;if(I1(),nA.excludeEnd)JA=xA}do{if(C0.className)wA.closeNode();if(!C0.skip&&!C0.subLanguage)hA+=C0.relevance;C0=C0.parent}while(C0!==X2.parent);if(X2.starts){if(X2.endSameAsBegin)X2.starts.endRe=X2.endRe;K1(X2.starts)}return nA.returnEnd?0:xA.length}function r1(){let cA=[];for(let xA=C0;xA!==H1;xA=xA.parent)if(xA.className)cA.unshift(xA.className);cA.forEach((xA)=>wA.openNode(xA))}let X0={};function Y0(cA,xA){let oA=xA&&xA[0];if(JA+=cA,oA==null)return I1(),0;if(X0.type==="begin"&&xA.type==="end"&&X0.index===xA.index&&oA===""){if(JA+=m1.slice(xA.index,xA.index+1),!G){let X2=new Error("0 width match regex");throw X2.languageName=D1,X2.badRule=X0.rule,X2}return 1}if(X0=xA,xA.type==="begin")return _1(xA);else if(xA.type==="illegal"&&!x1){let X2=new Error('Illegal lexeme "'+oA+'" for mode "'+(C0.className||"{Object.defineProperty(fl0,"__esModule",{value:!0});function PwQ(A){if(!A)return{};let B=A.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!B)return{};let Q=B[6]||"",Z=B[8]||"";return{host:B[4],path:B[5],protocol:B[2],search:Q,hash:Z,relative:B[5]+Q+Z}}function jwQ(A){return A.split(/[\?#]/,1)[0]}function SwQ(A){return A.split(/\\?\//).filter((B)=>B.length>0&&B!==",").length}function ywQ(A){let{protocol:B,host:Q,path:Z}=A,G=Q&&Q.replace(/^.*@/,"[filtered]:[filtered]@").replace(/(:80)$/,"").replace(/(:443)$/,"")||"";return`${B?`${B}://`:""}${G}${Z}`}fl0.getNumberOfUrlSegments=SwQ;fl0.getSanitizedUrlString=ywQ;fl0.parseUrl=PwQ;fl0.stripUrlQueryAndFragment=jwQ});var cl0=U((dl0)=>{Object.defineProperty(dl0,"__esModule",{value:!0});var bwQ=bl0(),fwQ=PN(),hl0=OC(),hwQ=gw(),gwQ=dQ1(),uwQ=Fn1(),mwQ={ip:!1,request:!0,transaction:!0,user:!0},dwQ=["cookies","data","headers","method","query_string","url"],gl0=["id","username","email"];function cwQ(A,B,Q){if(!A)return;if(!A.metadata.source||A.metadata.source==="url"){let[Z,G]=Zz1(B,{path:!0,method:!0});A.updateName(Z),A.setMetadata({source:G})}if(A.setAttribute("url",B.originalUrl||B.url),B.baseUrl)A.setAttribute("baseUrl",B.baseUrl);A.setData("query",ul0(B,Q))}function Zz1(A,B={}){let Q=A.method&&A.method.toUpperCase(),Z="",G="url";if(B.customRoute||A.route)Z=B.customRoute||`${A.baseUrl||""}${A.route&&A.route.path}`,G="route";else if(A.originalUrl||A.url)Z=uwQ.stripUrlQueryAndFragment(A.originalUrl||A.url||"");let Y="";if(B.method&&Q)Y+=Q;if(B.method&&B.path)Y+=" ";if(B.path&&Z)Y+=Z;return[Y,G]}function lwQ(A,B){switch(B){case"path":return Zz1(A,{path:!0})[0];case"handler":return A.route&&A.route.stack&&A.route.stack[0]&&A.route.stack[0].name||" ";case"methodPath":default:{let Q=A._reconstructedRoute?A._reconstructedRoute:void 0;return Zz1(A,{path:!0,method:!0,customRoute:Q})[0]}}}function pwQ(A,B){let Q={};return(Array.isArray(B)?B:gl0).forEach((G)=>{if(A&&G in A)Q[G]=A[G]}),Q}function Vn1(A,B){let{include:Q=dwQ,deps:Z}=B||{},G={},Y=A.headers||{},I=A.method,W=Y.host||A.hostname||A.host||" ",J=A.protocol==="https"||A.socket&&A.socket.encrypted?"https":"http",X=A.originalUrl||A.url||"",F=X.startsWith(J)?X:`${J}://${W}${X}`;return Q.forEach((V)=>{switch(V){case"headers":{if(G.headers=Y,!Q.includes("cookies"))delete G.headers.cookie;break}case"method":{G.method=I;break}case"url":{G.url=F;break}case"cookies":{G.cookies=A.cookies||Y.cookie&&bwQ.parseCookie(Y.cookie)||{};break}case"query_string":{G.query_string=ul0(A,Z);break}case"data":{if(I==="GET"||I==="HEAD")break;if(A.body!==void 0)G.data=hl0.isString(A.body)?A.body:JSON.stringify(gwQ.normalize(A.body));break}default:if({}.hasOwnProperty.call(A,V))G[V]=A[V]}}),G}function iwQ(A,B,Q){let Z={...mwQ,...Q&&Q.include};if(Z.request){let G=Array.isArray(Z.request)?Vn1(B,{include:Z.request,deps:Q&&Q.deps}):Vn1(B,{deps:Q&&Q.deps});A.request={...A.request,...G}}if(Z.user){let G=B.user&&hl0.isPlainObject(B.user)?pwQ(B.user,Z.user):{};if(Object.keys(G).length)A.user={...A.user,...G}}if(Z.ip){let G=B.ip||B.socket&&B.socket.remoteAddress;if(G)A.user={...A.user,ip_address:G}}if(Z.transaction&&!A.transaction)A.transaction=lwQ(B,Z.transaction);return A}function ul0(A,B){let Q=A.originalUrl||A.url||"";if(!Q)return;if(Q.startsWith("/"))Q=`http://dogs.are.great${Q}`;try{return A.query||typeof URL!=="undefined"&&new URL(Q).search.slice(1)||B&&B.url&&B.url.parse(Q).query||void 0}catch(Z){return}}function ml0(A){let B={};try{A.forEach((Q,Z)=>{if(typeof Q==="string")B[Z]=Q})}catch(Q){fwQ.DEBUG_BUILD&&hwQ.logger.warn("Sentry failed extracting headers from a request object. If you see this, please file an issue.")}return B}function nwQ(A){let B=ml0(A.headers);return{method:A.method,url:A.url,headers:B}}dl0.DEFAULT_USER_INCLUDES=gl0;dl0.addRequestDataToEvent=iwQ;dl0.addRequestDataToTransaction=cwQ;dl0.extractPathForTransaction=Zz1;dl0.extractRequestData=Vn1;dl0.winterCGHeadersToDict=ml0;dl0.winterCGRequestToRequestData=nwQ});var nl0=U((il0)=>{Object.defineProperty(il0,"__esModule",{value:!0});var ll0=["fatal","error","warning","log","info","debug"];function BqQ(A){return pl0(A)}function pl0(A){return A==="warn"?"warning":ll0.includes(A)?A:"log"}il0.severityFromString=BqQ;il0.severityLevelFromString=pl0;il0.validSeverityLevels=ll0});var Kn1=U((tl0)=>{Object.defineProperty(tl0,"__esModule",{value:!0});var al0=YF(),sl0=1000;function rl0(){return Date.now()/sl0}function YqQ(){let{performance:A}=al0.GLOBAL_OBJ;if(!A||!A.now)return rl0;let B=Date.now()-A.now(),Q=A.timeOrigin==null?B:A.timeOrigin;return()=>{return(Q+A.now())/sl0}}var ol0=YqQ(),IqQ=ol0;tl0._browserPerformanceTimeOriginMode=void 0;var WqQ=(()=>{let{performance:A}=al0.GLOBAL_OBJ;if(!A||!A.now){tl0._browserPerformanceTimeOriginMode="none";return}let B=3600000,Q=A.now(),Z=Date.now(),G=A.timeOrigin?Math.abs(A.timeOrigin+Q-Z):B,Y=G{Object.defineProperty(Qp0,"__esModule",{value:!0});var KqQ=PN(),zqQ=OC(),HqQ=gw(),DqQ="baggage",zn1="sentry-",Ap0=/^sentry-/,Bp0=8192;function CqQ(A){if(!zqQ.isString(A)&&!Array.isArray(A))return;let B={};if(Array.isArray(A))B=A.reduce((Z,G)=>{let Y=el0(G);for(let I of Object.keys(Y))Z[I]=Y[I];return Z},{});else{if(!A)return;B=el0(A)}let Q=Object.entries(B).reduce((Z,[G,Y])=>{if(G.match(Ap0)){let I=G.slice(zn1.length);Z[I]=Y}return Z},{});if(Object.keys(Q).length>0)return Q;else return}function UqQ(A){if(!A)return;let B=Object.entries(A).reduce((Q,[Z,G])=>{if(G)Q[`${zn1}${Z}`]=G;return Q},{});return $qQ(B)}function el0(A){return A.split(",").map((B)=>B.split("=").map((Q)=>decodeURIComponent(Q.trim()))).reduce((B,[Q,Z])=>{return B[Q]=Z,B},{})}function $qQ(A){if(Object.keys(A).length===0)return;return Object.entries(A).reduce((B,[Q,Z],G)=>{let Y=`${encodeURIComponent(Q)}=${encodeURIComponent(Z)}`,I=G===0?Y:`${B},${Y}`;if(I.length>Bp0)return KqQ.DEBUG_BUILD&&HqQ.logger.warn(`Not adding key: ${Q} with val: ${Z} to baggage header due to exceeding baggage size limits.`),B;else return I},"")}Qp0.BAGGAGE_HEADER_NAME=DqQ;Qp0.MAX_BAGGAGE_STRING_LENGTH=Bp0;Qp0.SENTRY_BAGGAGE_KEY_PREFIX=zn1;Qp0.SENTRY_BAGGAGE_KEY_PREFIX_REGEX=Ap0;Qp0.baggageHeaderToDynamicSamplingContext=CqQ;Qp0.dynamicSamplingContextToSentryBaggageHeader=UqQ});var Ip0=U((Yp0)=>{Object.defineProperty(Yp0,"__esModule",{value:!0});var Zp0=Hn1(),TC=hQ1(),Gp0=new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$");function Dn1(A){if(!A)return;let B=A.match(Gp0);if(!B)return;let Q;if(B[3]==="1")Q=!0;else if(B[3]==="0")Q=!1;return{traceId:B[1],parentSampled:Q,parentSpanId:B[2]}}function OqQ(A,B){let Q=Dn1(A),Z=Zp0.baggageHeaderToDynamicSamplingContext(B),{traceId:G,parentSpanId:Y,parentSampled:I}=Q||{};if(!Q)return{traceparentData:Q,dynamicSamplingContext:void 0,propagationContext:{traceId:G||TC.uuid4(),spanId:TC.uuid4().substring(16)}};else return{traceparentData:Q,dynamicSamplingContext:Z||{},propagationContext:{traceId:G||TC.uuid4(),parentSpanId:Y||TC.uuid4().substring(16),spanId:TC.uuid4().substring(16),sampled:I,dsc:Z||{}}}}function RqQ(A,B){let Q=Dn1(A),Z=Zp0.baggageHeaderToDynamicSamplingContext(B),{traceId:G,parentSpanId:Y,parentSampled:I}=Q||{};if(!Q)return{traceId:G||TC.uuid4(),spanId:TC.uuid4().substring(16)};else return{traceId:G||TC.uuid4(),parentSpanId:Y||TC.uuid4().substring(16),spanId:TC.uuid4().substring(16),sampled:I,dsc:Z||{}}}function TqQ(A=TC.uuid4(),B=TC.uuid4().substring(16),Q){let Z="";if(Q!==void 0)Z=Q?"-1":"-0";return`${A}-${B}${Z}`}Yp0.TRACEPARENT_REGEXP=Gp0;Yp0.extractTraceparentData=Dn1;Yp0.generateSentryTraceHeader=TqQ;Yp0.propagationContextFromHeaders=RqQ;Yp0.tracingContextFromHeaders=OqQ});var Un1=U((Xp0)=>{Object.defineProperty(Xp0,"__esModule",{value:!0});var _qQ=Si1(),xqQ=dQ1(),Wp0=RC();function vqQ(A,B=[]){return[A,B]}function bqQ(A,B){let[Q,Z]=A;return[Q,[...Z,B]]}function Jp0(A,B){let Q=A[1];for(let Z of Q){let G=Z[0].type;if(B(Z,G))return!0}return!1}function fqQ(A,B){return Jp0(A,(Q,Z)=>B.includes(Z))}function Cn1(A,B){return(B||new TextEncoder).encode(A)}function hqQ(A,B){let[Q,Z]=A,G=JSON.stringify(Q);function Y(I){if(typeof G==="string")G=typeof I==="string"?G+I:[Cn1(G,B),I];else G.push(typeof I==="string"?Cn1(I,B):I)}for(let I of Z){let[W,J]=I;if(Y(` +${JSON.stringify(W)} +`),typeof J==="string"||J instanceof Uint8Array)Y(J);else{let X;try{X=JSON.stringify(J)}catch(F){X=JSON.stringify(xqQ.normalize(J))}Y(X)}}return typeof G==="string"?G:gqQ(G)}function gqQ(A){let B=A.reduce((G,Y)=>G+Y.length,0),Q=new Uint8Array(B),Z=0;for(let G of A)Q.set(G,Z),Z+=G.length;return Q}function uqQ(A,B,Q){let Z=typeof A==="string"?B.encode(A):A;function G(J){let X=Z.subarray(0,J);return Z=Z.subarray(J+1),X}function Y(){let J=Z.indexOf(10);if(J<0)J=Z.length;return JSON.parse(Q.decode(G(J)))}let I=Y(),W=[];while(Z.length){let J=Y(),X=typeof J.length==="number"?J.length:void 0;W.push([J,X?G(X):Y()])}return[I,W]}function mqQ(A,B){let Q=typeof A.data==="string"?Cn1(A.data,B):A.data;return[Wp0.dropUndefinedKeys({type:"attachment",length:Q.length,filename:A.filename,content_type:A.contentType,attachment_type:A.attachmentType}),Q]}var dqQ={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",feedback:"feedback",span:"span",statsd:"metric_bucket"};function cqQ(A){return dqQ[A]}function lqQ(A){if(!A||!A.sdk)return;let{name:B,version:Q}=A.sdk;return{name:B,version:Q}}function pqQ(A,B,Q,Z){let G=A.sdkProcessingMetadata&&A.sdkProcessingMetadata.dynamicSamplingContext;return{event_id:A.event_id,sent_at:new Date().toISOString(),...B&&{sdk:B},...!!Q&&Z&&{dsn:_qQ.dsnToString(Z)},...G&&{trace:Wp0.dropUndefinedKeys({...G})}}}Xp0.addItemToEnvelope=bqQ;Xp0.createAttachmentEnvelopeItem=mqQ;Xp0.createEnvelope=vqQ;Xp0.createEventEnvelopeHeaders=pqQ;Xp0.envelopeContainsItemType=fqQ;Xp0.envelopeItemTypeToDataCategory=cqQ;Xp0.forEachEnvelopeItem=Jp0;Xp0.getSdkMetadataForEnvelopeHeader=lqQ;Xp0.parseEnvelope=uqQ;Xp0.serializeEnvelope=hqQ});var Vp0=U((Fp0)=>{Object.defineProperty(Fp0,"__esModule",{value:!0});var QEQ=Un1(),ZEQ=Kn1();function GEQ(A,B,Q){let Z=[{type:"client_report"},{timestamp:Q||ZEQ.dateTimestampInSeconds(),discarded_events:A}];return QEQ.createEnvelope(B?{dsn:B}:{},[Z])}Fp0.createClientReportEnvelope=GEQ});var Cp0=U((Dp0)=>{Object.defineProperty(Dp0,"__esModule",{value:!0});var Kp0=60000;function zp0(A,B=Date.now()){let Q=parseInt(`${A}`,10);if(!isNaN(Q))return Q*1000;let Z=Date.parse(`${A}`);if(!isNaN(Z))return Z-B;return Kp0}function Hp0(A,B){return A[B]||A.all||0}function IEQ(A,B,Q=Date.now()){return Hp0(A,B)>Q}function WEQ(A,{statusCode:B,headers:Q},Z=Date.now()){let G={...A},Y=Q&&Q["x-sentry-rate-limits"],I=Q&&Q["retry-after"];if(Y)for(let W of Y.trim().split(",")){let[J,X,,,F]=W.split(":",5),V=parseInt(J,10),K=(!isNaN(V)?V:60)*1000;if(!X)G.all=Z+K;else for(let z of X.split(";"))if(z==="metric_bucket"){if(!F||F.split(";").includes("custom"))G[z]=Z+K}else G[z]=Z+K}else if(I)G.all=Z+zp0(I,Z);else if(B===429)G.all=Z+60000;return G}Dp0.DEFAULT_RETRY_AFTER=Kp0;Dp0.disabledUntil=Hp0;Dp0.isRateLimited=IEQ;Dp0.parseRetryAfterHeader=zp0;Dp0.updateRateLimits=WEQ});var qp0=U((wp0)=>{Object.defineProperty(wp0,"__esModule",{value:!0});function Up0(A,B,Q){let Z=B.match(/([a-z_]+)\.(.*)/i);if(Z===null)A[B]=Q;else{let G=A[Z[1]];Up0(G,Z[2],Q)}}function zEQ(A,B,Q={}){return Array.isArray(B)?$p0(A,B,Q):HEQ(A,B,Q)}function $p0(A,B,Q){let Z=B.find((G)=>G.name===A.name);if(Z){for(let[G,Y]of Object.entries(Q))Up0(Z,G,Y);return B}return[...B,A]}function HEQ(A,B,Q){return(G)=>{let Y=B(G);if(A.allowExclusionByUser){if(!Y.find((W)=>W.name===A.name))return Y}return $p0(A,Y,Q)}}wp0.addOrUpdateIntegration=zEQ});var Np0=U((Ep0)=>{Object.defineProperty(Ep0,"__esModule",{value:!0});function CEQ(A){let B=[],Q={};return{add(Z,G){while(B.length>=A){let Y=B.shift();if(Y!==void 0)delete Q[Y]}if(Q[Z])this.delete(Z);B.push(Z),Q[Z]=G},clear(){Q={},B=[]},get(Z){return Q[Z]},size(){return B.length},delete(Z){if(!Q[Z])return!1;delete Q[Z];for(let G=0;G {Object.defineProperty(Op0,"__esModule",{value:!0});var $n1=OC(),Lp0=hQ1(),$EQ=dQ1(),wEQ=RC();function wn1(A,B){return A(B.stack||"",1)}function Mp0(A,B){let Q={type:B.name||B.constructor.name,value:B.message},Z=wn1(A,B);if(Z.length)Q.stacktrace={frames:Z};return Q}function qEQ(A){if("name"in A&&typeof A.name==="string"){let B=`'${A.name}' captured as exception`;if("message"in A&&typeof A.message==="string")B+=` with message '${A.message}'`;return B}else if("message"in A&&typeof A.message==="string")return A.message;else return`Object captured as exception with keys: ${wEQ.extractExceptionKeysForMessage(A)}`}function EEQ(A,B,Q,Z){let G=typeof A==="function"?A().getClient():A,Y=Q,W=Z&&Z.data&&Z.data.mechanism||{handled:!0,type:"generic"},J;if(!$n1.isError(Q)){if($n1.isPlainObject(Q)){let F=G&&G.getOptions().normalizeDepth;J={["__serialized__"]:$EQ.normalizeToSize(Q,F)};let V=qEQ(Q);Y=Z&&Z.syntheticException||new Error(V),Y.message=V}else Y=Z&&Z.syntheticException||new Error(Q),Y.message=Q;W.synthetic=!0}let X={exception:{values:[Mp0(B,Y)]}};if(J)X.extra=J;return Lp0.addExceptionTypeValue(X,void 0,void 0),Lp0.addExceptionMechanism(X,W),{...X,event_id:Z&&Z.event_id}}function NEQ(A,B,Q="info",Z,G){let Y={event_id:Z&&Z.event_id,level:Q};if(G&&Z&&Z.syntheticException){let I=wn1(A,Z.syntheticException);if(I.length)Y.exception={values:[{value:B,stacktrace:{frames:I}}]}}if($n1.isParameterizedString(B)){let{__sentry_template_string__:I,__sentry_template_values__:W}=B;return Y.logentry={message:I,params:W},Y}return Y.message=B,Y}Op0.eventFromMessage=NEQ;Op0.eventFromUnknownInput=EEQ;Op0.exceptionFromError=Mp0;Op0.parseStackFrames=wn1});var Pp0=U((Tp0)=>{Object.defineProperty(Tp0,"__esModule",{value:!0});var TEQ=RC(),PEQ=mK1();function jEQ(A,B,Q,Z){let G=A(),Y=!1,I=!0;return setInterval(()=>{let W=G.getTimeMs();if(Y===!1&&W>B+Q){if(Y=!0,I)Z()}if(W{G.reset()},enabled:(W)=>{I=W}}}function SEQ(A,B,Q){let Z=B?B.replace(/^file:\/\//,""):void 0,G=A.location.columnNumber?A.location.columnNumber+1:void 0,Y=A.location.lineNumber?A.location.lineNumber+1:void 0;return TEQ.dropUndefinedKeys({filename:Z,module:Q(Z),function:A.functionName||"?",colno:G,lineno:Y,in_app:Z?PEQ.filenameIsInApp(Z):void 0})}Tp0.callFrameToStackFrame=SEQ;Tp0.watchdogTimer=jEQ});var yp0=U((Sp0)=>{Object.defineProperty(Sp0,"__esModule",{value:!0});class jp0{constructor(A){this._maxSize=A,this._cache=new Map}get size(){return this._cache.size}get(A){let B=this._cache.get(A);if(B===void 0)return;return this._cache.delete(A),this._cache.set(A,B),B}set(A,B){if(this._cache.size>=this._maxSize)this._cache.delete(this._cache.keys().next().value);this._cache.set(A,B)}remove(A){let B=this._cache.get(A);if(B)this._cache.delete(A);return B}clear(){this._cache.clear()}keys(){return Array.from(this._cache.keys())}values(){let A=[];return this._cache.forEach((B)=>A.push(B)),A}}Sp0.LRUMap=jp0});var qn1=U((kp0)=>{Object.defineProperty(kp0,"__esModule",{value:!0});function xEQ(A,B){return A!=null?A:B()}kp0._nullishCoalesce=xEQ});var xp0=U((_p0)=>{Object.defineProperty(_p0,"__esModule",{value:!0});var bEQ=qn1();async function fEQ(A,B){return bEQ._nullishCoalesce(A,B)}_p0._asyncNullishCoalesce=fEQ});var En1=U((vp0)=>{Object.defineProperty(vp0,"__esModule",{value:!0});async function gEQ(A){let B=void 0,Q=A[0],Z=1;while(Z Q.call(B,...I)),B=void 0}return Q}vp0._asyncOptionalChain=gEQ});var fp0=U((bp0)=>{Object.defineProperty(bp0,"__esModule",{value:!0});var mEQ=En1();async function dEQ(A){let B=await mEQ._asyncOptionalChain(A);return B==null?!0:B}bp0._asyncOptionalChainDelete=dEQ});var Nn1=U((hp0)=>{Object.defineProperty(hp0,"__esModule",{value:!0});function lEQ(A){let B=void 0,Q=A[0],Z=1;while(Z Q.call(B,...I)),B=void 0}return Q}hp0._optionalChain=lEQ});var up0=U((gp0)=>{Object.defineProperty(gp0,"__esModule",{value:!0});var iEQ=Nn1();function nEQ(A){let B=iEQ._optionalChain(A);return B==null?!0:B}gp0._optionalChainDelete=nEQ});var dp0=U((mp0)=>{Object.defineProperty(mp0,"__esModule",{value:!0});function sEQ(A){return A.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}mp0.escapeStringForRegex=sEQ});var NA=U((Pn1)=>{Object.defineProperty(Pn1,"__esModule",{value:!0});var oEQ=Hc0(),Gz1=Ri1(),Ln1=Si1(),tEQ=yi1(),Mn1=YF(),eEQ=Dl0(),IF=OC(),ANQ=ql0(),Yz1=gw(),BNQ=Yn1(),Bk=hQ1(),On1=Gn1(),Iz1=dQ1(),JT=RC(),rh=yl0(),QNQ=xl0(),oh=cl0(),Rn1=nl0(),lQ1=dK1(),pQ1=bQ1(),Qk=li1(),Tn1=Jn1(),iQ1=Kn1(),nQ1=Ip0(),cp0=Zn1(),SN=Un1(),ZNQ=Vp0(),aQ1=Cp0(),Li=Hn1(),Wz1=Fn1(),GNQ=qp0(),YNQ=Np0(),Jz1=Rp0(),lp0=Pp0(),INQ=yp0(),WNQ=xp0(),JNQ=En1(),XNQ=fp0(),FNQ=qn1(),VNQ=Nn1(),KNQ=up0(),zNQ=bi1(),HNQ=mi1(),pp0=Bn1(),DNQ=ii1(),CNQ=An1(),UNQ=si1(),$NQ=ti1(),wNQ=IT(),qNQ=mK1(),ENQ=dp0(),NNQ=ei1();Pn1.applyAggregateErrorsToEvent=oEQ.applyAggregateErrorsToEvent;Pn1.getComponentName=Gz1.getComponentName;Pn1.getDomElement=Gz1.getDomElement;Pn1.getLocationHref=Gz1.getLocationHref;Pn1.htmlTreeAsString=Gz1.htmlTreeAsString;Pn1.dsnFromString=Ln1.dsnFromString;Pn1.dsnToString=Ln1.dsnToString;Pn1.makeDsn=Ln1.makeDsn;Pn1.SentryError=tEQ.SentryError;Pn1.GLOBAL_OBJ=Mn1.GLOBAL_OBJ;Pn1.getGlobalObject=Mn1.getGlobalObject;Pn1.getGlobalSingleton=Mn1.getGlobalSingleton;Pn1.addInstrumentationHandler=eEQ.addInstrumentationHandler;Pn1.isDOMError=IF.isDOMError;Pn1.isDOMException=IF.isDOMException;Pn1.isElement=IF.isElement;Pn1.isError=IF.isError;Pn1.isErrorEvent=IF.isErrorEvent;Pn1.isEvent=IF.isEvent;Pn1.isInstanceOf=IF.isInstanceOf;Pn1.isNaN=IF.isNaN;Pn1.isParameterizedString=IF.isParameterizedString;Pn1.isPlainObject=IF.isPlainObject;Pn1.isPrimitive=IF.isPrimitive;Pn1.isRegExp=IF.isRegExp;Pn1.isString=IF.isString;Pn1.isSyntheticEvent=IF.isSyntheticEvent;Pn1.isThenable=IF.isThenable;Pn1.isVueViewModel=IF.isVueViewModel;Pn1.isBrowser=ANQ.isBrowser;Pn1.CONSOLE_LEVELS=Yz1.CONSOLE_LEVELS;Pn1.consoleSandbox=Yz1.consoleSandbox;Pn1.logger=Yz1.logger;Pn1.originalConsoleMethods=Yz1.originalConsoleMethods;Pn1.memoBuilder=BNQ.memoBuilder;Pn1.addContextToFrame=Bk.addContextToFrame;Pn1.addExceptionMechanism=Bk.addExceptionMechanism;Pn1.addExceptionTypeValue=Bk.addExceptionTypeValue;Pn1.arrayify=Bk.arrayify;Pn1.checkOrSetAlreadyCaught=Bk.checkOrSetAlreadyCaught;Pn1.getEventDescription=Bk.getEventDescription;Pn1.parseSemver=Bk.parseSemver;Pn1.uuid4=Bk.uuid4;Pn1.dynamicRequire=On1.dynamicRequire;Pn1.isNodeEnv=On1.isNodeEnv;Pn1.loadModule=On1.loadModule;Pn1.normalize=Iz1.normalize;Pn1.normalizeToSize=Iz1.normalizeToSize;Pn1.normalizeUrlToBase=Iz1.normalizeUrlToBase;Pn1.walk=Iz1.walk;Pn1.addNonEnumerableProperty=JT.addNonEnumerableProperty;Pn1.convertToPlainObject=JT.convertToPlainObject;Pn1.dropUndefinedKeys=JT.dropUndefinedKeys;Pn1.extractExceptionKeysForMessage=JT.extractExceptionKeysForMessage;Pn1.fill=JT.fill;Pn1.getOriginalFunction=JT.getOriginalFunction;Pn1.markFunctionWrapped=JT.markFunctionWrapped;Pn1.objectify=JT.objectify;Pn1.urlEncode=JT.urlEncode;Pn1.basename=rh.basename;Pn1.dirname=rh.dirname;Pn1.isAbsolute=rh.isAbsolute;Pn1.join=rh.join;Pn1.normalizePath=rh.normalizePath;Pn1.relative=rh.relative;Pn1.resolve=rh.resolve;Pn1.makePromiseBuffer=QNQ.makePromiseBuffer;Pn1.DEFAULT_USER_INCLUDES=oh.DEFAULT_USER_INCLUDES;Pn1.addRequestDataToEvent=oh.addRequestDataToEvent;Pn1.addRequestDataToTransaction=oh.addRequestDataToTransaction;Pn1.extractPathForTransaction=oh.extractPathForTransaction;Pn1.extractRequestData=oh.extractRequestData;Pn1.winterCGHeadersToDict=oh.winterCGHeadersToDict;Pn1.winterCGRequestToRequestData=oh.winterCGRequestToRequestData;Pn1.severityFromString=Rn1.severityFromString;Pn1.severityLevelFromString=Rn1.severityLevelFromString;Pn1.validSeverityLevels=Rn1.validSeverityLevels;Pn1.createStackParser=lQ1.createStackParser;Pn1.getFunctionName=lQ1.getFunctionName;Pn1.nodeStackLineParser=lQ1.nodeStackLineParser;Pn1.stackParserFromStackParserOptions=lQ1.stackParserFromStackParserOptions;Pn1.stripSentryFramesAndReverse=lQ1.stripSentryFramesAndReverse;Pn1.isMatchingPattern=pQ1.isMatchingPattern;Pn1.safeJoin=pQ1.safeJoin;Pn1.snipLine=pQ1.snipLine;Pn1.stringMatchesSomePattern=pQ1.stringMatchesSomePattern;Pn1.truncate=pQ1.truncate;Pn1.isNativeFetch=Qk.isNativeFetch;Pn1.supportsDOMError=Qk.supportsDOMError;Pn1.supportsDOMException=Qk.supportsDOMException;Pn1.supportsErrorEvent=Qk.supportsErrorEvent;Pn1.supportsFetch=Qk.supportsFetch;Pn1.supportsNativeFetch=Qk.supportsNativeFetch;Pn1.supportsReferrerPolicy=Qk.supportsReferrerPolicy;Pn1.supportsReportingObserver=Qk.supportsReportingObserver;Pn1.SyncPromise=Tn1.SyncPromise;Pn1.rejectedSyncPromise=Tn1.rejectedSyncPromise;Pn1.resolvedSyncPromise=Tn1.resolvedSyncPromise;Object.defineProperty(Pn1,"_browserPerformanceTimeOriginMode",{enumerable:!0,get:()=>iQ1._browserPerformanceTimeOriginMode});Pn1.browserPerformanceTimeOrigin=iQ1.browserPerformanceTimeOrigin;Pn1.dateTimestampInSeconds=iQ1.dateTimestampInSeconds;Pn1.timestampInSeconds=iQ1.timestampInSeconds;Pn1.timestampWithMs=iQ1.timestampWithMs;Pn1.TRACEPARENT_REGEXP=nQ1.TRACEPARENT_REGEXP;Pn1.extractTraceparentData=nQ1.extractTraceparentData;Pn1.generateSentryTraceHeader=nQ1.generateSentryTraceHeader;Pn1.propagationContextFromHeaders=nQ1.propagationContextFromHeaders;Pn1.tracingContextFromHeaders=nQ1.tracingContextFromHeaders;Pn1.getSDKSource=cp0.getSDKSource;Pn1.isBrowserBundle=cp0.isBrowserBundle;Pn1.addItemToEnvelope=SN.addItemToEnvelope;Pn1.createAttachmentEnvelopeItem=SN.createAttachmentEnvelopeItem;Pn1.createEnvelope=SN.createEnvelope;Pn1.createEventEnvelopeHeaders=SN.createEventEnvelopeHeaders;Pn1.envelopeContainsItemType=SN.envelopeContainsItemType;Pn1.envelopeItemTypeToDataCategory=SN.envelopeItemTypeToDataCategory;Pn1.forEachEnvelopeItem=SN.forEachEnvelopeItem;Pn1.getSdkMetadataForEnvelopeHeader=SN.getSdkMetadataForEnvelopeHeader;Pn1.parseEnvelope=SN.parseEnvelope;Pn1.serializeEnvelope=SN.serializeEnvelope;Pn1.createClientReportEnvelope=ZNQ.createClientReportEnvelope;Pn1.DEFAULT_RETRY_AFTER=aQ1.DEFAULT_RETRY_AFTER;Pn1.disabledUntil=aQ1.disabledUntil;Pn1.isRateLimited=aQ1.isRateLimited;Pn1.parseRetryAfterHeader=aQ1.parseRetryAfterHeader;Pn1.updateRateLimits=aQ1.updateRateLimits;Pn1.BAGGAGE_HEADER_NAME=Li.BAGGAGE_HEADER_NAME;Pn1.MAX_BAGGAGE_STRING_LENGTH=Li.MAX_BAGGAGE_STRING_LENGTH;Pn1.SENTRY_BAGGAGE_KEY_PREFIX=Li.SENTRY_BAGGAGE_KEY_PREFIX;Pn1.SENTRY_BAGGAGE_KEY_PREFIX_REGEX=Li.SENTRY_BAGGAGE_KEY_PREFIX_REGEX;Pn1.baggageHeaderToDynamicSamplingContext=Li.baggageHeaderToDynamicSamplingContext;Pn1.dynamicSamplingContextToSentryBaggageHeader=Li.dynamicSamplingContextToSentryBaggageHeader;Pn1.getNumberOfUrlSegments=Wz1.getNumberOfUrlSegments;Pn1.getSanitizedUrlString=Wz1.getSanitizedUrlString;Pn1.parseUrl=Wz1.parseUrl;Pn1.stripUrlQueryAndFragment=Wz1.stripUrlQueryAndFragment;Pn1.addOrUpdateIntegration=GNQ.addOrUpdateIntegration;Pn1.makeFifoCache=YNQ.makeFifoCache;Pn1.eventFromMessage=Jz1.eventFromMessage;Pn1.eventFromUnknownInput=Jz1.eventFromUnknownInput;Pn1.exceptionFromError=Jz1.exceptionFromError;Pn1.parseStackFrames=Jz1.parseStackFrames;Pn1.callFrameToStackFrame=lp0.callFrameToStackFrame;Pn1.watchdogTimer=lp0.watchdogTimer;Pn1.LRUMap=INQ.LRUMap;Pn1._asyncNullishCoalesce=WNQ._asyncNullishCoalesce;Pn1._asyncOptionalChain=JNQ._asyncOptionalChain;Pn1._asyncOptionalChainDelete=XNQ._asyncOptionalChainDelete;Pn1._nullishCoalesce=FNQ._nullishCoalesce;Pn1._optionalChain=VNQ._optionalChain;Pn1._optionalChainDelete=KNQ._optionalChainDelete;Pn1.addConsoleInstrumentationHandler=zNQ.addConsoleInstrumentationHandler;Pn1.addClickKeypressInstrumentationHandler=HNQ.addClickKeypressInstrumentationHandler;Pn1.SENTRY_XHR_DATA_KEY=pp0.SENTRY_XHR_DATA_KEY;Pn1.addXhrInstrumentationHandler=pp0.addXhrInstrumentationHandler;Pn1.addFetchInstrumentationHandler=DNQ.addFetchInstrumentationHandler;Pn1.addHistoryInstrumentationHandler=CNQ.addHistoryInstrumentationHandler;Pn1.addGlobalErrorInstrumentationHandler=UNQ.addGlobalErrorInstrumentationHandler;Pn1.addGlobalUnhandledRejectionInstrumentationHandler=$NQ.addGlobalUnhandledRejectionInstrumentationHandler;Pn1.resetInstrumentationHandlers=wNQ.resetInstrumentationHandlers;Pn1.filenameIsInApp=qNQ.filenameIsInApp;Pn1.escapeStringForRegex=ENQ.escapeStringForRegex;Pn1.supportsHistory=NNQ.supportsHistory});var ZI=U((ip0)=>{Object.defineProperty(ip0,"__esModule",{value:!0});var LOQ=typeof __SENTRY_DEBUG__==="undefined"||__SENTRY_DEBUG__;ip0.DEBUG_BUILD=LOQ});var Mi=U((np0)=>{Object.defineProperty(np0,"__esModule",{value:!0});var OOQ="production";np0.DEFAULT_ENVIRONMENT=OOQ});var sQ1=U((sp0)=>{Object.defineProperty(sp0,"__esModule",{value:!0});var Xz1=NA(),TOQ=ZI();function ap0(){return Xz1.getGlobalSingleton("globalEventProcessors",()=>[])}function POQ(A){ap0().push(A)}function jn1(A,B,Q,Z=0){return new Xz1.SyncPromise((G,Y)=>{let I=A[Z];if(B===null||typeof I!=="function")G(B);else{let W=I({...B},Q);if(TOQ.DEBUG_BUILD&&I.id&&W===null&&Xz1.logger.log(`Event processor "${I.id}" dropped event`),Xz1.isThenable(W))W.then((J)=>jn1(A,J,Q,Z+1).then(G)).then(null,Y);else jn1(A,W,Q,Z+1).then(G).then(null,Y)}})}sp0.addGlobalEventProcessor=POQ;sp0.getGlobalEventProcessors=ap0;sp0.notifyEventProcessors=jn1});var Oi=U((rp0)=>{Object.defineProperty(rp0,"__esModule",{value:!0});var rQ1=NA();function kOQ(A){let B=rQ1.timestampInSeconds(),Q={sid:rQ1.uuid4(),init:!0,timestamp:B,started:B,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>xOQ(Q)};if(A)Sn1(Q,A);return Q}function Sn1(A,B={}){if(B.user){if(!A.ipAddress&&B.user.ip_address)A.ipAddress=B.user.ip_address;if(!A.did&&!B.did)A.did=B.user.id||B.user.email||B.user.username}if(A.timestamp=B.timestamp||rQ1.timestampInSeconds(),B.abnormal_mechanism)A.abnormal_mechanism=B.abnormal_mechanism;if(B.ignoreDuration)A.ignoreDuration=B.ignoreDuration;if(B.sid)A.sid=B.sid.length===32?B.sid:rQ1.uuid4();if(B.init!==void 0)A.init=B.init;if(!A.did&&B.did)A.did=`${B.did}`;if(typeof B.started==="number")A.started=B.started;if(A.ignoreDuration)A.duration=void 0;else if(typeof B.duration==="number")A.duration=B.duration;else{let Q=A.timestamp-A.started;A.duration=Q>=0?Q:0}if(B.release)A.release=B.release;if(B.environment)A.environment=B.environment;if(!A.ipAddress&&B.ipAddress)A.ipAddress=B.ipAddress;if(!A.userAgent&&B.userAgent)A.userAgent=B.userAgent;if(typeof B.errors==="number")A.errors=B.errors;if(B.status)A.status=B.status}function _OQ(A,B){let Q={};if(B)Q={status:B};else if(A.status==="ok")Q={status:"exited"};Sn1(A,Q)}function xOQ(A){return rQ1.dropUndefinedKeys({sid:`${A.sid}`,init:A.init,started:new Date(A.started*1000).toISOString(),timestamp:new Date(A.timestamp*1000).toISOString(),status:A.status,errors:A.errors,did:typeof A.did==="number"||typeof A.did==="string"?`${A.did}`:void 0,duration:A.duration,abnormal_mechanism:A.abnormal_mechanism,attrs:{release:A.release,environment:A.environment,ip_address:A.ipAddress,user_agent:A.userAgent}})}rp0.closeSession=_OQ;rp0.makeSession=kOQ;rp0.updateSession=Sn1});var cK=U((Bi0)=>{Object.defineProperty(Bi0,"__esModule",{value:!0});var yn1=NA(),hOQ=0,tp0=1;function gOQ(A){let{spanId:B,traceId:Q}=A.spanContext(),{data:Z,op:G,parent_span_id:Y,status:I,tags:W,origin:J}=ep0(A);return yn1.dropUndefinedKeys({data:Z,op:G,parent_span_id:Y,span_id:B,status:I,tags:W,trace_id:Q,origin:J})}function uOQ(A){let{traceId:B,spanId:Q}=A.spanContext(),Z=Ai0(A);return yn1.generateSentryTraceHeader(B,Q,Z)}function mOQ(A){if(typeof A==="number")return op0(A);if(Array.isArray(A))return A[0]+A[1]/1e9;if(A instanceof Date)return op0(A.getTime());return yn1.timestampInSeconds()}function op0(A){return A>9999999999?A/1000:A}function ep0(A){if(dOQ(A))return A.getSpanJSON();if(typeof A.toJSON==="function")return A.toJSON();return{}}function dOQ(A){return typeof A.getSpanJSON==="function"}function Ai0(A){let{traceFlags:B}=A.spanContext();return Boolean(B&tp0)}Bi0.TRACE_FLAG_NONE=hOQ;Bi0.TRACE_FLAG_SAMPLED=tp0;Bi0.spanIsSampled=Ai0;Bi0.spanTimeInputToSeconds=mOQ;Bi0.spanToJSON=ep0;Bi0.spanToTraceContext=gOQ;Bi0.spanToTraceHeader=uOQ});var Fz1=U((Ii0)=>{Object.defineProperty(Ii0,"__esModule",{value:!0});var NH=NA(),rOQ=Mi(),Qi0=sQ1(),_n1=Kz1(),kn1=Vz1(),oOQ=cK();function tOQ(A,B,Q,Z,G,Y){let{normalizeDepth:I=3,normalizeMaxBreadth:W=1000}=A,J={...B,event_id:B.event_id||Q.event_id||NH.uuid4(),timestamp:B.timestamp||NH.dateTimestampInSeconds()},X=Q.integrations||A.integrations.map((C)=>C.name);if(eOQ(J,A),ARQ(J,X),B.type===void 0)Gi0(J,A.stackParser);let F=QRQ(Z,Q.captureContext);if(Q.mechanism)NH.addExceptionMechanism(J,Q.mechanism);let V=G&&G.getEventProcessors?G.getEventProcessors():[],K=_n1.getGlobalScope().getScopeData();if(Y){let C=Y.getScopeData();kn1.mergeScopeData(K,C)}if(F){let C=F.getScopeData();kn1.mergeScopeData(K,C)}let z=[...Q.attachments||[],...K.attachments];if(z.length)Q.attachments=z;kn1.applyScopeDataToEvent(J,K);let H=[...V,...Qi0.getGlobalEventProcessors(),...K.eventProcessors];return Qi0.notifyEventProcessors(H,J,Q).then((C)=>{if(C)Yi0(C);if(typeof I==="number"&&I>0)return BRQ(C,I,W);return C})}function eOQ(A,B){let{environment:Q,release:Z,dist:G,maxValueLength:Y=250}=B;if(!("environment"in A))A.environment="environment"in B?Q:rOQ.DEFAULT_ENVIRONMENT;if(A.release===void 0&&Z!==void 0)A.release=Z;if(A.dist===void 0&&G!==void 0)A.dist=G;if(A.message)A.message=NH.truncate(A.message,Y);let I=A.exception&&A.exception.values&&A.exception.values[0];if(I&&I.value)I.value=NH.truncate(I.value,Y);let W=A.request;if(W&&W.url)W.url=NH.truncate(W.url,Y)}var Zi0=new WeakMap;function Gi0(A,B){let Q=NH.GLOBAL_OBJ._sentryDebugIds;if(!Q)return;let Z,G=Zi0.get(B);if(G)Z=G;else Z=new Map,Zi0.set(B,Z);let Y=Object.keys(Q).reduce((I,W)=>{let J,X=Z.get(W);if(X)J=X;else J=B(W),Z.set(W,J);for(let F=J.length-1;F>=0;F--){let V=J[F];if(V.filename){I[V.filename]=Q[W];break}}return I},{});try{A.exception.values.forEach((I)=>{I.stacktrace.frames.forEach((W)=>{if(W.filename)W.debug_id=Y[W.filename]})})}catch(I){}}function Yi0(A){let B={};try{A.exception.values.forEach((Z)=>{Z.stacktrace.frames.forEach((G)=>{if(G.debug_id){if(G.abs_path)B[G.abs_path]=G.debug_id;else if(G.filename)B[G.filename]=G.debug_id;delete G.debug_id}})})}catch(Z){}if(Object.keys(B).length===0)return;A.debug_meta=A.debug_meta||{},A.debug_meta.images=A.debug_meta.images||[];let Q=A.debug_meta.images;Object.keys(B).forEach((Z)=>{Q.push({type:"sourcemap",code_file:Z,debug_id:B[Z]})})}function ARQ(A,B){if(B.length>0)A.sdk=A.sdk||{},A.sdk.integrations=[...A.sdk.integrations||[],...B]}function BRQ(A,B,Q){if(!A)return null;let Z={...A,...A.breadcrumbs&&{breadcrumbs:A.breadcrumbs.map((G)=>({...G,...G.data&&{data:NH.normalize(G.data,B,Q)}}))},...A.user&&{user:NH.normalize(A.user,B,Q)},...A.contexts&&{contexts:NH.normalize(A.contexts,B,Q)},...A.extra&&{extra:NH.normalize(A.extra,B,Q)}};if(A.contexts&&A.contexts.trace&&Z.contexts){if(Z.contexts.trace=A.contexts.trace,A.contexts.trace.data)Z.contexts.trace.data=NH.normalize(A.contexts.trace.data,B,Q)}if(A.spans)Z.spans=A.spans.map((G)=>{let Y=oOQ.spanToJSON(G).data;if(Y)G.data=NH.normalize(Y,B,Q);return G});return Z}function QRQ(A,B){if(!B)return A;let Q=A?A.clone():new _n1.Scope;return Q.update(B),Q}function ZRQ(A){if(!A)return;if(GRQ(A))return{captureContext:A};if(IRQ(A))return{captureContext:A};return A}function GRQ(A){return A instanceof _n1.Scope||typeof A==="function"}var YRQ=["user","level","extra","contexts","tags","fingerprint","requestSession","propagationContext"];function IRQ(A){return Object.keys(A).some((B)=>YRQ.includes(B))}Ii0.applyDebugIds=Gi0;Ii0.applyDebugMeta=Yi0;Ii0.parseEventHintOrCaptureContext=ZRQ;Ii0.prepareEvent=tOQ});var PC=U((Xi0)=>{Object.defineProperty(Xi0,"__esModule",{value:!0});var XT=NA(),VRQ=Mi(),zz1=ZI(),IY=yN(),xn1=Oi(),KRQ=Fz1();function zRQ(A,B){return IY.getCurrentHub().captureException(A,KRQ.parseEventHintOrCaptureContext(B))}function HRQ(A,B){let Q=typeof B==="string"?B:void 0,Z=typeof B!=="string"?{captureContext:B}:void 0;return IY.getCurrentHub().captureMessage(A,Q,Z)}function DRQ(A,B){return IY.getCurrentHub().captureEvent(A,B)}function CRQ(A){IY.getCurrentHub().configureScope(A)}function URQ(A,B){IY.getCurrentHub().addBreadcrumb(A,B)}function $RQ(A,B){IY.getCurrentHub().setContext(A,B)}function wRQ(A){IY.getCurrentHub().setExtras(A)}function qRQ(A,B){IY.getCurrentHub().setExtra(A,B)}function ERQ(A){IY.getCurrentHub().setTags(A)}function NRQ(A,B){IY.getCurrentHub().setTag(A,B)}function LRQ(A){IY.getCurrentHub().setUser(A)}function Wi0(...A){let B=IY.getCurrentHub();if(A.length===2){let[Q,Z]=A;if(!Q)return B.withScope(Z);return B.withScope(()=>{return B.getStackTop().scope=Q,Z(Q)})}return B.withScope(A[0])}function MRQ(A){return IY.runWithAsyncContext(()=>{return A(IY.getIsolationScope())})}function ORQ(A,B){return Wi0((Q)=>{return Q.setSpan(A),B(Q)})}function RRQ(A,B){return IY.getCurrentHub().startTransaction({...A},B)}function vn1(A,B){let Q=oQ1(),Z=th();if(!Z)zz1.DEBUG_BUILD&&XT.logger.warn("Cannot capture check-in. No client defined.");else if(!Z.captureCheckIn)zz1.DEBUG_BUILD&&XT.logger.warn("Cannot capture check-in. Client does not support sending check-ins.");else return Z.captureCheckIn(A,B,Q);return XT.uuid4()}function TRQ(A,B,Q){let Z=vn1({monitorSlug:A,status:"in_progress"},Q),G=XT.timestampInSeconds();function Y(W){vn1({monitorSlug:A,status:W,checkInId:Z,duration:XT.timestampInSeconds()-G})}let I;try{I=B()}catch(W){throw Y("error"),W}if(XT.isThenable(I))Promise.resolve(I).then(()=>{Y("ok")},()=>{Y("error")});else Y("ok");return I}async function PRQ(A){let B=th();if(B)return B.flush(A);return zz1.DEBUG_BUILD&&XT.logger.warn("Cannot flush events. No client defined."),Promise.resolve(!1)}async function jRQ(A){let B=th();if(B)return B.close(A);return zz1.DEBUG_BUILD&&XT.logger.warn("Cannot flush events and disable SDK. No client defined."),Promise.resolve(!1)}function SRQ(){return IY.getCurrentHub().lastEventId()}function th(){return IY.getCurrentHub().getClient()}function yRQ(){return!!th()}function oQ1(){return IY.getCurrentHub().getScope()}function kRQ(A){let B=th(),Q=IY.getIsolationScope(),Z=oQ1(),{release:G,environment:Y=VRQ.DEFAULT_ENVIRONMENT}=B&&B.getOptions()||{},{userAgent:I}=XT.GLOBAL_OBJ.navigator||{},W=xn1.makeSession({release:G,environment:Y,user:Z.getUser()||Q.getUser(),...I&&{userAgent:I},...A}),J=Q.getSession();if(J&&J.status==="ok")xn1.updateSession(J,{status:"exited"});return bn1(),Q.setSession(W),Z.setSession(W),W}function bn1(){let A=IY.getIsolationScope(),B=oQ1(),Q=B.getSession()||A.getSession();if(Q)xn1.closeSession(Q);Ji0(),A.setSession(),B.setSession()}function Ji0(){let A=IY.getIsolationScope(),B=oQ1(),Q=th(),Z=B.getSession()||A.getSession();if(Z&&Q&&Q.captureSession)Q.captureSession(Z)}function _RQ(A=!1){if(A){bn1();return}Ji0()}Xi0.addBreadcrumb=URQ;Xi0.captureCheckIn=vn1;Xi0.captureEvent=DRQ;Xi0.captureException=zRQ;Xi0.captureMessage=HRQ;Xi0.captureSession=_RQ;Xi0.close=jRQ;Xi0.configureScope=CRQ;Xi0.endSession=bn1;Xi0.flush=PRQ;Xi0.getClient=th;Xi0.getCurrentScope=oQ1;Xi0.isInitialized=yRQ;Xi0.lastEventId=SRQ;Xi0.setContext=$RQ;Xi0.setExtra=qRQ;Xi0.setExtras=wRQ;Xi0.setTag=NRQ;Xi0.setTags=ERQ;Xi0.setUser=LRQ;Xi0.startSession=kRQ;Xi0.startTransaction=RRQ;Xi0.withActiveSpan=ORQ;Xi0.withIsolationScope=MRQ;Xi0.withMonitor=TRQ;Xi0.withScope=Wi0});var Ri=U((Fi0)=>{Object.defineProperty(Fi0,"__esModule",{value:!0});function ITQ(A){return A.transaction}Fi0.getRootSpan=ITQ});var eh=U((zi0)=>{Object.defineProperty(zi0,"__esModule",{value:!0});var JTQ=NA(),XTQ=Mi(),Vi0=PC(),FTQ=Ri(),fn1=cK();function Ki0(A,B,Q){let Z=B.getOptions(),{publicKey:G}=B.getDsn()||{},{segment:Y}=Q&&Q.getUser()||{},I=JTQ.dropUndefinedKeys({environment:Z.environment||XTQ.DEFAULT_ENVIRONMENT,release:Z.release,user_segment:Y,public_key:G,trace_id:A});return B.emit&&B.emit("createDsc",I),I}function VTQ(A){let B=Vi0.getClient();if(!B)return{};let Q=Ki0(fn1.spanToJSON(A).trace_id||"",B,Vi0.getCurrentScope()),Z=FTQ.getRootSpan(A);if(!Z)return Q;let G=Z&&Z._frozenDynamicSamplingContext;if(G)return G;let{sampleRate:Y,source:I}=Z.metadata;if(Y!=null)Q.sample_rate=`${Y}`;let W=fn1.spanToJSON(Z);if(I&&I!=="url")Q.transaction=W.description;return Q.sampled=String(fn1.spanIsSampled(Z)),B.emit&&B.emit("createDsc",Q),Q}zi0.getDynamicSamplingContextFromClient=Ki0;zi0.getDynamicSamplingContextFromSpan=VTQ});var Vz1=U((Di0)=>{Object.defineProperty(Di0,"__esModule",{value:!0});var tQ1=NA(),HTQ=eh(),DTQ=Ri(),Hi0=cK();function CTQ(A,B){let{fingerprint:Q,span:Z,breadcrumbs:G,sdkProcessingMetadata:Y}=B;if($TQ(A,B),Z)ETQ(A,Z);NTQ(A,Q),wTQ(A,G),qTQ(A,Y)}function UTQ(A,B){let{extra:Q,tags:Z,user:G,contexts:Y,level:I,sdkProcessingMetadata:W,breadcrumbs:J,fingerprint:X,eventProcessors:F,attachments:V,propagationContext:K,transactionName:z,span:H}=B;if(Ti(A,"extra",Q),Ti(A,"tags",Z),Ti(A,"user",G),Ti(A,"contexts",Y),Ti(A,"sdkProcessingMetadata",W),I)A.level=I;if(z)A.transactionName=z;if(H)A.span=H;if(J.length)A.breadcrumbs=[...A.breadcrumbs,...J];if(X.length)A.fingerprint=[...A.fingerprint,...X];if(F.length)A.eventProcessors=[...A.eventProcessors,...F];if(V.length)A.attachments=[...A.attachments,...V];A.propagationContext={...A.propagationContext,...K}}function Ti(A,B,Q){if(Q&&Object.keys(Q).length){A[B]={...A[B]};for(let Z in Q)if(Object.prototype.hasOwnProperty.call(Q,Z))A[B][Z]=Q[Z]}}function $TQ(A,B){let{extra:Q,tags:Z,user:G,contexts:Y,level:I,transactionName:W}=B,J=tQ1.dropUndefinedKeys(Q);if(J&&Object.keys(J).length)A.extra={...J,...A.extra};let X=tQ1.dropUndefinedKeys(Z);if(X&&Object.keys(X).length)A.tags={...X,...A.tags};let F=tQ1.dropUndefinedKeys(G);if(F&&Object.keys(F).length)A.user={...F,...A.user};let V=tQ1.dropUndefinedKeys(Y);if(V&&Object.keys(V).length)A.contexts={...V,...A.contexts};if(I)A.level=I;if(W)A.transaction=W}function wTQ(A,B){let Q=[...A.breadcrumbs||[],...B];A.breadcrumbs=Q.length?Q:void 0}function qTQ(A,B){A.sdkProcessingMetadata={...A.sdkProcessingMetadata,...B}}function ETQ(A,B){A.contexts={trace:Hi0.spanToTraceContext(B),...A.contexts};let Q=DTQ.getRootSpan(B);if(Q){A.sdkProcessingMetadata={dynamicSamplingContext:HTQ.getDynamicSamplingContextFromSpan(B),...A.sdkProcessingMetadata};let Z=Hi0.spanToJSON(Q).description;if(Z)A.tags={transaction:Z,...A.tags}}}function NTQ(A,B){if(A.fingerprint=A.fingerprint?tQ1.arrayify(A.fingerprint):[],B)A.fingerprint=A.fingerprint.concat(B);if(A.fingerprint&&!A.fingerprint.length)delete A.fingerprint}Di0.applyScopeDataToEvent=CTQ;Di0.mergeAndOverwriteScopeData=Ti;Di0.mergeScopeData=UTQ});var Kz1=U(($i0)=>{Object.defineProperty($i0,"__esModule",{value:!0});var kN=NA(),Ci0=sQ1(),RTQ=Oi(),TTQ=Vz1(),PTQ=100,Hz1;class Pi{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext=Ui0()}static clone(A){return A?A.clone():new Pi}clone(){let A=new Pi;return A._breadcrumbs=[...this._breadcrumbs],A._tags={...this._tags},A._extra={...this._extra},A._contexts={...this._contexts},A._user=this._user,A._level=this._level,A._span=this._span,A._session=this._session,A._transactionName=this._transactionName,A._fingerprint=this._fingerprint,A._eventProcessors=[...this._eventProcessors],A._requestSession=this._requestSession,A._attachments=[...this._attachments],A._sdkProcessingMetadata={...this._sdkProcessingMetadata},A._propagationContext={...this._propagationContext},A._client=this._client,A}setClient(A){this._client=A}getClient(){return this._client}addScopeListener(A){this._scopeListeners.push(A)}addEventProcessor(A){return this._eventProcessors.push(A),this}setUser(A){if(this._user=A||{email:void 0,id:void 0,ip_address:void 0,segment:void 0,username:void 0},this._session)RTQ.updateSession(this._session,{user:A});return this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(A){return this._requestSession=A,this}setTags(A){return this._tags={...this._tags,...A},this._notifyScopeListeners(),this}setTag(A,B){return this._tags={...this._tags,[A]:B},this._notifyScopeListeners(),this}setExtras(A){return this._extra={...this._extra,...A},this._notifyScopeListeners(),this}setExtra(A,B){return this._extra={...this._extra,[A]:B},this._notifyScopeListeners(),this}setFingerprint(A){return this._fingerprint=A,this._notifyScopeListeners(),this}setLevel(A){return this._level=A,this._notifyScopeListeners(),this}setTransactionName(A){return this._transactionName=A,this._notifyScopeListeners(),this}setContext(A,B){if(B===null)delete this._contexts[A];else this._contexts[A]=B;return this._notifyScopeListeners(),this}setSpan(A){return this._span=A,this._notifyScopeListeners(),this}getSpan(){return this._span}getTransaction(){let A=this._span;return A&&A.transaction}setSession(A){if(!A)delete this._session;else this._session=A;return this._notifyScopeListeners(),this}getSession(){return this._session}update(A){if(!A)return this;let B=typeof A==="function"?A(this):A;if(B instanceof Pi){let Q=B.getScopeData();if(this._tags={...this._tags,...Q.tags},this._extra={...this._extra,...Q.extra},this._contexts={...this._contexts,...Q.contexts},Q.user&&Object.keys(Q.user).length)this._user=Q.user;if(Q.level)this._level=Q.level;if(Q.fingerprint.length)this._fingerprint=Q.fingerprint;if(B.getRequestSession())this._requestSession=B.getRequestSession();if(Q.propagationContext)this._propagationContext=Q.propagationContext}else if(kN.isPlainObject(B)){let Q=A;if(this._tags={...this._tags,...Q.tags},this._extra={...this._extra,...Q.extra},this._contexts={...this._contexts,...Q.contexts},Q.user)this._user=Q.user;if(Q.level)this._level=Q.level;if(Q.fingerprint)this._fingerprint=Q.fingerprint;if(Q.requestSession)this._requestSession=Q.requestSession;if(Q.propagationContext)this._propagationContext=Q.propagationContext}return this}clear(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._requestSession=void 0,this._span=void 0,this._session=void 0,this._notifyScopeListeners(),this._attachments=[],this._propagationContext=Ui0(),this}addBreadcrumb(A,B){let Q=typeof B==="number"?B:PTQ;if(Q<=0)return this;let Z={timestamp:kN.dateTimestampInSeconds(),...A},G=this._breadcrumbs;return G.push(Z),this._breadcrumbs=G.length>Q?G.slice(-Q):G,this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(A){return this._attachments.push(A),this}getAttachments(){return this.getScopeData().attachments}clearAttachments(){return this._attachments=[],this}getScopeData(){let{_breadcrumbs:A,_attachments:B,_contexts:Q,_tags:Z,_extra:G,_user:Y,_level:I,_fingerprint:W,_eventProcessors:J,_propagationContext:X,_sdkProcessingMetadata:F,_transactionName:V,_span:K}=this;return{breadcrumbs:A,attachments:B,contexts:Q,tags:Z,extra:G,user:Y,level:I,fingerprint:W||[],eventProcessors:J,propagationContext:X,sdkProcessingMetadata:F,transactionName:V,span:K}}applyToEvent(A,B={},Q=[]){TTQ.applyScopeDataToEvent(A,this.getScopeData());let Z=[...Q,...Ci0.getGlobalEventProcessors(),...this._eventProcessors];return Ci0.notifyEventProcessors(Z,A,B)}setSDKProcessingMetadata(A){return this._sdkProcessingMetadata={...this._sdkProcessingMetadata,...A},this}setPropagationContext(A){return this._propagationContext=A,this}getPropagationContext(){return this._propagationContext}captureException(A,B){let Q=B&&B.event_id?B.event_id:kN.uuid4();if(!this._client)return kN.logger.warn("No client configured on scope - will not capture exception!"),Q;let Z=new Error("Sentry syntheticException");return this._client.captureException(A,{originalException:A,syntheticException:Z,...B,event_id:Q},this),Q}captureMessage(A,B,Q){let Z=Q&&Q.event_id?Q.event_id:kN.uuid4();if(!this._client)return kN.logger.warn("No client configured on scope - will not capture message!"),Z;let G=new Error(A);return this._client.captureMessage(A,B,{originalException:A,syntheticException:G,...Q,event_id:Z},this),Z}captureEvent(A,B){let Q=B&&B.event_id?B.event_id:kN.uuid4();if(!this._client)return kN.logger.warn("No client configured on scope - will not capture event!"),Q;return this._client.captureEvent(A,{...B,event_id:Q},this),Q}_notifyScopeListeners(){if(!this._notifyingListeners)this._notifyingListeners=!0,this._scopeListeners.forEach((A)=>{A(this)}),this._notifyingListeners=!1}}function jTQ(){if(!Hz1)Hz1=new Pi;return Hz1}function STQ(A){Hz1=A}function Ui0(){return{traceId:kN.uuid4(),spanId:kN.uuid4().substring(16)}}$i0.Scope=Pi;$i0.getGlobalScope=jTQ;$i0.setGlobalScope=STQ});var Dz1=U((wi0)=>{Object.defineProperty(wi0,"__esModule",{value:!0});var xTQ="7.120.3";wi0.SDK_VERSION=xTQ});var yN=U((Mi0)=>{Object.defineProperty(Mi0,"__esModule",{value:!0});var CV=NA(),bTQ=Mi(),hn1=ZI(),qi0=Kz1(),gn1=Oi(),fTQ=Dz1(),Cz1=parseFloat(fTQ.SDK_VERSION),hTQ=100;class A91{constructor(A,B,Q,Z=Cz1){this._version=Z;let G;if(!B)G=new qi0.Scope,G.setClient(A);else G=B;let Y;if(!Q)Y=new qi0.Scope,Y.setClient(A);else Y=Q;if(this._stack=[{scope:G}],A)this.bindClient(A);this._isolationScope=Y}isOlderThan(A){return this._version{return this.popScope(),Z},(Z)=>{throw this.popScope(),Z});return this.popScope(),Q}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStack(){return this._stack}getStackTop(){return this._stack[this._stack.length-1]}captureException(A,B){let Q=this._lastEventId=B&&B.event_id?B.event_id:CV.uuid4(),Z=new Error("Sentry syntheticException");return this.getScope().captureException(A,{originalException:A,syntheticException:Z,...B,event_id:Q}),Q}captureMessage(A,B,Q){let Z=this._lastEventId=Q&&Q.event_id?Q.event_id:CV.uuid4(),G=new Error(A);return this.getScope().captureMessage(A,B,{originalException:A,syntheticException:G,...Q,event_id:Z}),Z}captureEvent(A,B){let Q=B&&B.event_id?B.event_id:CV.uuid4();if(!A.type)this._lastEventId=Q;return this.getScope().captureEvent(A,{...B,event_id:Q}),Q}lastEventId(){return this._lastEventId}addBreadcrumb(A,B){let{scope:Q,client:Z}=this.getStackTop();if(!Z)return;let{beforeBreadcrumb:G=null,maxBreadcrumbs:Y=hTQ}=Z.getOptions&&Z.getOptions()||{};if(Y<=0)return;let W={timestamp:CV.dateTimestampInSeconds(),...A},J=G?CV.consoleSandbox(()=>G(W,B)):W;if(J===null)return;if(Z.emit)Z.emit("beforeAddBreadcrumb",J,B);Q.addBreadcrumb(J,Y)}setUser(A){this.getScope().setUser(A),this.getIsolationScope().setUser(A)}setTags(A){this.getScope().setTags(A),this.getIsolationScope().setTags(A)}setExtras(A){this.getScope().setExtras(A),this.getIsolationScope().setExtras(A)}setTag(A,B){this.getScope().setTag(A,B),this.getIsolationScope().setTag(A,B)}setExtra(A,B){this.getScope().setExtra(A,B),this.getIsolationScope().setExtra(A,B)}setContext(A,B){this.getScope().setContext(A,B),this.getIsolationScope().setContext(A,B)}configureScope(A){let{scope:B,client:Q}=this.getStackTop();if(Q)A(B)}run(A){let B=un1(this);try{A(this)}finally{un1(B)}}getIntegration(A){let B=this.getClient();if(!B)return null;try{return B.getIntegration(A)}catch(Q){return hn1.DEBUG_BUILD&&CV.logger.warn(`Cannot retrieve integration ${A.id} from the current Hub`),null}}startTransaction(A,B){let Q=this._callExtensionMethod("startTransaction",A,B);if(hn1.DEBUG_BUILD&&!Q)if(!this.getClient())CV.logger.warn("Tracing extension 'startTransaction' is missing. You should 'init' the SDK before calling 'startTransaction'");else CV.logger.warn(`Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init': +Sentry.addTracingExtensions(); +Sentry.init({...}); +`);return Q}traceHeaders(){return this._callExtensionMethod("traceHeaders")}captureSession(A=!1){if(A)return this.endSession();this._sendSessionUpdate()}endSession(){let B=this.getStackTop().scope,Q=B.getSession();if(Q)gn1.closeSession(Q);this._sendSessionUpdate(),B.setSession()}startSession(A){let{scope:B,client:Q}=this.getStackTop(),{release:Z,environment:G=bTQ.DEFAULT_ENVIRONMENT}=Q&&Q.getOptions()||{},{userAgent:Y}=CV.GLOBAL_OBJ.navigator||{},I=gn1.makeSession({release:Z,environment:G,user:B.getUser(),...Y&&{userAgent:Y},...A}),W=B.getSession&&B.getSession();if(W&&W.status==="ok")gn1.updateSession(W,{status:"exited"});return this.endSession(),B.setSession(I),I}shouldSendDefaultPii(){let A=this.getClient(),B=A&&A.getOptions();return Boolean(B&&B.sendDefaultPii)}_sendSessionUpdate(){let{scope:A,client:B}=this.getStackTop(),Q=A.getSession();if(Q&&B&&B.captureSession)B.captureSession(Q)}_callExtensionMethod(A,...B){let Z=Ag().__SENTRY__;if(Z&&Z.extensions&&typeof Z.extensions[A]==="function")return Z.extensions[A].apply(this,B);hn1.DEBUG_BUILD&&CV.logger.warn(`Extension method ${A} couldn't be found, doing nothing.`)}}function Ag(){return CV.GLOBAL_OBJ.__SENTRY__=CV.GLOBAL_OBJ.__SENTRY__||{extensions:{},hub:void 0},CV.GLOBAL_OBJ}function un1(A){let B=Ag(),Q=eQ1(B);return Uz1(B,A),Q}function Ei0(){let A=Ag();if(A.__SENTRY__&&A.__SENTRY__.acs){let B=A.__SENTRY__.acs.getCurrentHub();if(B)return B}return Ni0(A)}function gTQ(){return Ei0().getIsolationScope()}function Ni0(A=Ag()){if(!Li0(A)||eQ1(A).isOlderThan(Cz1))Uz1(A,new A91);return eQ1(A)}function uTQ(A,B=Ni0()){if(!Li0(A)||eQ1(A).isOlderThan(Cz1)){let Q=B.getClient(),Z=B.getScope(),G=B.getIsolationScope();Uz1(A,new A91(Q,Z.clone(),G.clone()))}}function mTQ(A){let B=Ag();B.__SENTRY__=B.__SENTRY__||{},B.__SENTRY__.acs=A}function dTQ(A,B={}){let Q=Ag();if(Q.__SENTRY__&&Q.__SENTRY__.acs)return Q.__SENTRY__.acs.runWithAsyncContext(A,B);return A()}function Li0(A){return!!(A&&A.__SENTRY__&&A.__SENTRY__.hub)}function eQ1(A){return CV.getGlobalSingleton("hub",()=>new A91,A)}function Uz1(A,B){if(!A)return!1;let Q=A.__SENTRY__=A.__SENTRY__||{};return Q.hub=B,!0}Mi0.API_VERSION=Cz1;Mi0.Hub=A91;Mi0.ensureHubOnCarrier=uTQ;Mi0.getCurrentHub=Ei0;Mi0.getHubFromCarrier=eQ1;Mi0.getIsolationScope=gTQ;Mi0.getMainCarrier=Ag;Mi0.makeMain=un1;Mi0.runWithAsyncContext=dTQ;Mi0.setAsyncContextStrategy=mTQ;Mi0.setHubOnCarrier=Uz1});var $z1=U((Ri0)=>{Object.defineProperty(Ri0,"__esModule",{value:!0});var Oi0=NA(),APQ=yN();function BPQ(A){return(A||APQ.getCurrentHub()).getScope().getTransaction()}var QPQ=Oi0.extractTraceparentData;Ri0.stripUrlQueryAndFragment=Oi0.stripUrlQueryAndFragment;Ri0.extractTraceparentData=QPQ;Ri0.getActiveTransaction=BPQ});var wz1=U((Pi0)=>{Object.defineProperty(Pi0,"__esModule",{value:!0});var mn1=NA(),IPQ=ZI(),WPQ=$z1(),Ti0=!1;function JPQ(){if(Ti0)return;Ti0=!0,mn1.addGlobalErrorInstrumentationHandler(dn1),mn1.addGlobalUnhandledRejectionInstrumentationHandler(dn1)}function dn1(){let A=WPQ.getActiveTransaction();if(A)IPQ.DEBUG_BUILD&&mn1.logger.log("[Tracing] Transaction: internal_error -> Global error occured"),A.setStatus("internal_error")}dn1.tag="sentry_tracingErrorCallback";Pi0.registerErrorInstrumentation=JPQ});var ji=U((ji0)=>{Object.defineProperty(ji0,"__esModule",{value:!0});ji0.SpanStatus=void 0;(function(A){A.Ok="ok";let Q="deadline_exceeded";A.DeadlineExceeded=Q;let Z="unauthenticated";A.Unauthenticated=Z;let G="permission_denied";A.PermissionDenied=G;let Y="not_found";A.NotFound=Y;let I="resource_exhausted";A.ResourceExhausted=I;let W="invalid_argument";A.InvalidArgument=W;let J="unimplemented";A.Unimplemented=J;let X="unavailable";A.Unavailable=X;let F="internal_error";A.InternalError=F;let V="unknown_error";A.UnknownError=V;let K="cancelled";A.Cancelled=K;let z="already_exists";A.AlreadyExists=z;let H="failed_precondition";A.FailedPrecondition=H;let D="aborted";A.Aborted=D;let C="out_of_range";A.OutOfRange=C;let w="data_loss";A.DataLoss=w})(ji0.SpanStatus||(ji0.SpanStatus={}));function ln1(A){if(A<400&&A>=100)return"ok";if(A>=400&&A<500)switch(A){case 401:return"unauthenticated";case 403:return"permission_denied";case 404:return"not_found";case 409:return"already_exists";case 413:return"failed_precondition";case 429:return"resource_exhausted";default:return"invalid_argument"}if(A>=500&&A<600)switch(A){case 501:return"unimplemented";case 503:return"unavailable";case 504:return"deadline_exceeded";default:return"internal_error"}return"unknown_error"}var FPQ=ln1;function VPQ(A,B){A.setTag("http.status_code",String(B)),A.setData("http.response.status_code",B);let Q=ln1(B);if(Q!=="unknown_error")A.setStatus(Q)}ji0.getSpanStatusFromHttpCode=ln1;ji0.setHttpStatus=VPQ;ji0.spanStatusfromHttpCode=FPQ});var pn1=U((Si0)=>{Object.defineProperty(Si0,"__esModule",{value:!0});var DPQ=NA();function CPQ(A,B,Q=()=>{}){let Z;try{Z=A()}catch(G){throw B(G),Q(),G}return UPQ(Z,B,Q)}function UPQ(A,B,Q){if(DPQ.isThenable(A))return A.then((Z)=>{return Q(),Z},(Z)=>{throw B(Z),Q(),Z});return Q(),A}Si0.handleCallbackErrors=CPQ});var qz1=U((yi0)=>{Object.defineProperty(yi0,"__esModule",{value:!0});var wPQ=PC();function qPQ(A){if(typeof __SENTRY_TRACING__==="boolean"&&!__SENTRY_TRACING__)return!1;let B=wPQ.getClient(),Q=A||B&&B.getOptions();return!!Q&&(Q.enableTracing||("tracesSampleRate"in Q)||("tracesSampler"in Q))}yi0.hasTracingEnabled=qPQ});var Mz1=U((fi0)=>{Object.defineProperty(fi0,"__esModule",{value:!0});var B91=NA(),NPQ=ZI(),Zk=yN(),Ez1=cK();wz1();ji();var LPQ=eh(),Si=PC(),in1=pn1(),ki0=qz1();function MPQ(A,B,Q=()=>{},Z=()=>{}){let G=Zk.getCurrentHub(),Y=Si.getCurrentScope(),I=Y.getSpan(),W=Lz1(A),J=Nz1(G,{parentSpan:I,spanContext:W,forceTransaction:!1,scope:Y});return Y.setSpan(J),in1.handleCallbackErrors(()=>B(J),(X)=>{J&&J.setStatus("internal_error"),Q(X,J)},()=>{J&&J.end(),Y.setSpan(I),Z()})}function _i0(A,B){let Q=Lz1(A);return Zk.runWithAsyncContext(()=>{return Si.withScope(A.scope,(Z)=>{let G=Zk.getCurrentHub(),Y=Z.getSpan(),W=A.onlyIfParent&&!Y?void 0:Nz1(G,{parentSpan:Y,spanContext:Q,forceTransaction:A.forceTransaction,scope:Z});return in1.handleCallbackErrors(()=>B(W),()=>{if(W){let{status:J}=Ez1.spanToJSON(W);if(!J||J==="ok")W.setStatus("internal_error")}},()=>W&&W.end())})})}var OPQ=_i0;function RPQ(A,B){let Q=Lz1(A);return Zk.runWithAsyncContext(()=>{return Si.withScope(A.scope,(Z)=>{let G=Zk.getCurrentHub(),Y=Z.getSpan(),W=A.onlyIfParent&&!Y?void 0:Nz1(G,{parentSpan:Y,spanContext:Q,forceTransaction:A.forceTransaction,scope:Z});function J(){W&&W.end()}return in1.handleCallbackErrors(()=>B(W,J),()=>{if(W&&W.isRecording()){let{status:X}=Ez1.spanToJSON(W);if(!X||X==="ok")W.setStatus("internal_error")}})})})}function TPQ(A){if(!ki0.hasTracingEnabled())return;let B=Lz1(A),Q=Zk.getCurrentHub(),Z=A.scope?A.scope.getSpan():xi0();if(A.onlyIfParent&&!Z)return;let I=(A.scope||Si.getCurrentScope()).clone();return Nz1(Q,{parentSpan:Z,spanContext:B,forceTransaction:A.forceTransaction,scope:I})}function xi0(){return Si.getCurrentScope().getSpan()}var PPQ=({sentryTrace:A,baggage:B},Q)=>{let Z=Si.getCurrentScope(),{traceparentData:G,dynamicSamplingContext:Y,propagationContext:I}=B91.tracingContextFromHeaders(A,B);if(Z.setPropagationContext(I),NPQ.DEBUG_BUILD&&G)B91.logger.log(`[Tracing] Continuing trace ${G.traceId}.`);let W={...G,metadata:B91.dropUndefinedKeys({dynamicSamplingContext:Y})};if(!Q)return W;return Zk.runWithAsyncContext(()=>{return Q(W)})};function Nz1(A,{parentSpan:B,spanContext:Q,forceTransaction:Z,scope:G}){if(!ki0.hasTracingEnabled())return;let Y=Zk.getIsolationScope(),I;if(B&&!Z)I=B.startChild(Q);else if(B){let W=LPQ.getDynamicSamplingContextFromSpan(B),{traceId:J,spanId:X}=B.spanContext(),F=Ez1.spanIsSampled(B);I=A.startTransaction({traceId:J,parentSpanId:X,parentSampled:F,...Q,metadata:{dynamicSamplingContext:W,...Q.metadata}})}else{let{traceId:W,dsc:J,parentSpanId:X,sampled:F}={...Y.getPropagationContext(),...G.getPropagationContext()};I=A.startTransaction({traceId:W,parentSpanId:X,parentSampled:F,...Q,metadata:{dynamicSamplingContext:J,...Q.metadata}})}return G.setSpan(I),jPQ(I,G,Y),I}function Lz1(A){if(A.startTime){let B={...A};return B.startTimestamp=Ez1.spanTimeInputToSeconds(A.startTime),delete B.startTime,B}return A}var vi0="_sentryScope",bi0="_sentryIsolationScope";function jPQ(A,B,Q){if(A)B91.addNonEnumerableProperty(A,bi0,Q),B91.addNonEnumerableProperty(A,vi0,B)}function SPQ(A){return{scope:A[vi0],isolationScope:A[bi0]}}fi0.continueTrace=PPQ;fi0.getActiveSpan=xi0;fi0.getCapturedScopesOnSpan=SPQ;fi0.startActiveSpan=OPQ;fi0.startInactiveSpan=TPQ;fi0.startSpan=_i0;fi0.startSpanManual=RPQ;fi0.trace=MPQ});var Z91=U((gi0)=>{Object.defineProperty(gi0,"__esModule",{value:!0});var gPQ=NA();ZI();wz1();ji();var uPQ=Mz1(),Q91;function hi0(A){return Q91?Q91.get(A):void 0}function mPQ(A){let B=hi0(A);if(!B)return;let Q={};for(let[,[Z,G]]of B){if(!Q[Z])Q[Z]=[];Q[Z].push(gPQ.dropUndefinedKeys(G))}return Q}function dPQ(A,B,Q,Z,G,Y){let I=uPQ.getActiveSpan();if(I){let W=hi0(I)||new Map,J=`${A}:${B}@${Z}`,X=W.get(Y);if(X){let[,F]=X;W.set(Y,[J,{min:Math.min(F.min,Q),max:Math.max(F.max,Q),count:F.count+=1,sum:F.sum+=Q,tags:F.tags}])}else W.set(Y,[J,{min:Q,max:Q,count:1,sum:Q,tags:G}]);if(!Q91)Q91=new WeakMap;Q91.set(I,W)}}gi0.getMetricSummaryJsonForSpan=mPQ;gi0.updateMetricSummaryOnActiveSpan=dPQ});var G91=U((ui0)=>{Object.defineProperty(ui0,"__esModule",{value:!0});var pPQ="sentry.source",iPQ="sentry.sample_rate",nPQ="sentry.op",aPQ="sentry.origin",sPQ="profile_id";ui0.SEMANTIC_ATTRIBUTE_PROFILE_ID=sPQ;ui0.SEMANTIC_ATTRIBUTE_SENTRY_OP=nPQ;ui0.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN=aPQ;ui0.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE=iPQ;ui0.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE=pPQ});var Oz1=U((li0)=>{Object.defineProperty(li0,"__esModule",{value:!0});var Bg=NA(),mi0=ZI(),BjQ=Z91(),FT=G91(),di0=Ri(),yi=cK(),QjQ=ji();class ci0{constructor(A=1000){this._maxlen=A,this.spans=[]}add(A){if(this.spans.length>this._maxlen)A.spanRecorder=void 0;else this.spans.push(A)}}class nn1{constructor(A={}){if(this._traceId=A.traceId||Bg.uuid4(),this._spanId=A.spanId||Bg.uuid4().substring(16),this._startTime=A.startTimestamp||Bg.timestampInSeconds(),this.tags=A.tags?{...A.tags}:{},this.data=A.data?{...A.data}:{},this.instrumenter=A.instrumenter||"sentry",this._attributes={},this.setAttributes({[FT.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]:A.origin||"manual",[FT.SEMANTIC_ATTRIBUTE_SENTRY_OP]:A.op,...A.attributes}),this._name=A.name||A.description,A.parentSpanId)this._parentSpanId=A.parentSpanId;if("sampled"in A)this._sampled=A.sampled;if(A.status)this._status=A.status;if(A.endTimestamp)this._endTime=A.endTimestamp;if(A.exclusiveTime!==void 0)this._exclusiveTime=A.exclusiveTime;this._measurements=A.measurements?{...A.measurements}:{}}get name(){return this._name||""}set name(A){this.updateName(A)}get description(){return this._name}set description(A){this._name=A}get traceId(){return this._traceId}set traceId(A){this._traceId=A}get spanId(){return this._spanId}set spanId(A){this._spanId=A}set parentSpanId(A){this._parentSpanId=A}get parentSpanId(){return this._parentSpanId}get sampled(){return this._sampled}set sampled(A){this._sampled=A}get attributes(){return this._attributes}set attributes(A){this._attributes=A}get startTimestamp(){return this._startTime}set startTimestamp(A){this._startTime=A}get endTimestamp(){return this._endTime}set endTimestamp(A){this._endTime=A}get status(){return this._status}set status(A){this._status=A}get op(){return this._attributes[FT.SEMANTIC_ATTRIBUTE_SENTRY_OP]}set op(A){this.setAttribute(FT.SEMANTIC_ATTRIBUTE_SENTRY_OP,A)}get origin(){return this._attributes[FT.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]}set origin(A){this.setAttribute(FT.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,A)}spanContext(){let{_spanId:A,_traceId:B,_sampled:Q}=this;return{spanId:A,traceId:B,traceFlags:Q?yi.TRACE_FLAG_SAMPLED:yi.TRACE_FLAG_NONE}}startChild(A){let B=new nn1({...A,parentSpanId:this._spanId,sampled:this._sampled,traceId:this._traceId});if(B.spanRecorder=this.spanRecorder,B.spanRecorder)B.spanRecorder.add(B);let Q=di0.getRootSpan(this);if(B.transaction=Q,mi0.DEBUG_BUILD&&Q){let Z=A&&A.op||"< unknown op >",G=yi.spanToJSON(B).description||"< unknown name >",Y=Q.spanContext().spanId,I=`[Tracing] Starting '${Z}' span on transaction '${G}' (${Y}).`;Bg.logger.log(I),this._logMessage=I}return B}setTag(A,B){return this.tags={...this.tags,[A]:B},this}setData(A,B){return this.data={...this.data,[A]:B},this}setAttribute(A,B){if(B===void 0)delete this._attributes[A];else this._attributes[A]=B}setAttributes(A){Object.keys(A).forEach((B)=>this.setAttribute(B,A[B]))}setStatus(A){return this._status=A,this}setHttpStatus(A){return QjQ.setHttpStatus(this,A),this}setName(A){this.updateName(A)}updateName(A){return this._name=A,this}isSuccess(){return this._status==="ok"}finish(A){return this.end(A)}end(A){if(this._endTime)return;let B=di0.getRootSpan(this);if(mi0.DEBUG_BUILD&&B&&B.spanContext().spanId!==this._spanId){let Q=this._logMessage;if(Q)Bg.logger.log(Q.replace("Starting","Finishing"))}this._endTime=yi.spanTimeInputToSeconds(A)}toTraceparent(){return yi.spanToTraceHeader(this)}toContext(){return Bg.dropUndefinedKeys({data:this._getData(),description:this._name,endTimestamp:this._endTime,op:this.op,parentSpanId:this._parentSpanId,sampled:this._sampled,spanId:this._spanId,startTimestamp:this._startTime,status:this._status,tags:this.tags,traceId:this._traceId})}updateWithContext(A){return this.data=A.data||{},this._name=A.name||A.description,this._endTime=A.endTimestamp,this.op=A.op,this._parentSpanId=A.parentSpanId,this._sampled=A.sampled,this._spanId=A.spanId||this._spanId,this._startTime=A.startTimestamp||this._startTime,this._status=A.status,this.tags=A.tags||{},this._traceId=A.traceId||this._traceId,this}getTraceContext(){return yi.spanToTraceContext(this)}getSpanJSON(){return Bg.dropUndefinedKeys({data:this._getData(),description:this._name,op:this._attributes[FT.SEMANTIC_ATTRIBUTE_SENTRY_OP],parent_span_id:this._parentSpanId,span_id:this._spanId,start_timestamp:this._startTime,status:this._status,tags:Object.keys(this.tags).length>0?this.tags:void 0,timestamp:this._endTime,trace_id:this._traceId,origin:this._attributes[FT.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN],_metrics_summary:BjQ.getMetricSummaryJsonForSpan(this),profile_id:this._attributes[FT.SEMANTIC_ATTRIBUTE_PROFILE_ID],exclusive_time:this._exclusiveTime,measurements:Object.keys(this._measurements).length>0?this._measurements:void 0})}isRecording(){return!this._endTime&&!!this._sampled}toJSON(){return this.getSpanJSON()}_getData(){let{data:A,_attributes:B}=this,Q=Object.keys(A).length>0,Z=Object.keys(B).length>0;if(!Q&&!Z)return;if(Q&&Z)return{...A,...B};return Q?A:B}}li0.Span=nn1;li0.SpanRecorder=ci0});var Pz1=U((ai0)=>{Object.defineProperty(ai0,"__esModule",{value:!0});var ki=NA(),Rz1=ZI(),YjQ=yN(),IjQ=Z91(),Y91=G91(),Tz1=cK(),pi0=eh(),ii0=Oz1(),WjQ=Mz1();class ni0 extends ii0.Span{constructor(A,B){super(A);this._contexts={},this._hub=B||YjQ.getCurrentHub(),this._name=A.name||"",this._metadata={...A.metadata},this._trimEnd=A.trimEnd,this.transaction=this;let Q=this._metadata.dynamicSamplingContext;if(Q)this._frozenDynamicSamplingContext={...Q}}get name(){return this._name}set name(A){this.setName(A)}get metadata(){return{source:"custom",spanMetadata:{},...this._metadata,...this._attributes[Y91.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]&&{source:this._attributes[Y91.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]},...this._attributes[Y91.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE]&&{sampleRate:this._attributes[Y91.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE]}}}set metadata(A){this._metadata=A}setName(A,B="custom"){this._name=A,this.setAttribute(Y91.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,B)}updateName(A){return this._name=A,this}initSpanRecorder(A=1000){if(!this.spanRecorder)this.spanRecorder=new ii0.SpanRecorder(A);this.spanRecorder.add(this)}setContext(A,B){if(B===null)delete this._contexts[A];else this._contexts[A]=B}setMeasurement(A,B,Q=""){this._measurements[A]={value:B,unit:Q}}setMetadata(A){this._metadata={...this._metadata,...A}}end(A){let B=Tz1.spanTimeInputToSeconds(A),Q=this._finishTransaction(B);if(!Q)return;return this._hub.captureEvent(Q)}toContext(){let A=super.toContext();return ki.dropUndefinedKeys({...A,name:this._name,trimEnd:this._trimEnd})}updateWithContext(A){return super.updateWithContext(A),this._name=A.name||"",this._trimEnd=A.trimEnd,this}getDynamicSamplingContext(){return pi0.getDynamicSamplingContextFromSpan(this)}setHub(A){this._hub=A}getProfileId(){if(this._contexts!==void 0&&this._contexts.profile!==void 0)return this._contexts.profile.profile_id;return}_finishTransaction(A){if(this._endTime!==void 0)return;if(!this._name)Rz1.DEBUG_BUILD&&ki.logger.warn("Transaction has no name, falling back to ` `."),this._name=" ";super.end(A);let B=this._hub.getClient();if(B&&B.emit)B.emit("finishTransaction",this);if(this._sampled!==!0){if(Rz1.DEBUG_BUILD&&ki.logger.log("[Tracing] Discarding transaction because its trace was not chosen to be sampled."),B)B.recordDroppedEvent("sample_rate","transaction");return}let Q=this.spanRecorder?this.spanRecorder.spans.filter((X)=>X!==this&&Tz1.spanToJSON(X).timestamp):[];if(this._trimEnd&&Q.length>0){let X=Q.map((F)=>Tz1.spanToJSON(F).timestamp).filter(Boolean);this._endTime=X.reduce((F,V)=>{return F>V?F:V})}let{scope:Z,isolationScope:G}=WjQ.getCapturedScopesOnSpan(this),{metadata:Y}=this,{source:I}=Y,W={contexts:{...this._contexts,trace:Tz1.spanToTraceContext(this)},spans:Q,start_timestamp:this._startTime,tags:this.tags,timestamp:this._endTime,transaction:this._name,type:"transaction",sdkProcessingMetadata:{...Y,capturedSpanScope:Z,capturedSpanIsolationScope:G,...ki.dropUndefinedKeys({dynamicSamplingContext:pi0.getDynamicSamplingContextFromSpan(this)})},_metrics_summary:IjQ.getMetricSummaryJsonForSpan(this),...I&&{transaction_info:{source:I}}};if(Object.keys(this._measurements).length>0)Rz1.DEBUG_BUILD&&ki.logger.log("[Measurements] Adding measurements to transaction",JSON.stringify(this._measurements,void 0,2)),W.measurements=this._measurements;return Rz1.DEBUG_BUILD&&ki.logger.log(`[Tracing] Finishing ${this.op} transaction: ${this._name}.`),W}}ai0.Transaction=ni0});var sn1=U((ri0)=>{Object.defineProperty(ri0,"__esModule",{value:!0});var WF=NA(),lK=ZI(),jz1=cK(),XjQ=Oz1(),FjQ=Pz1(),Sz1={idleTimeout:1000,finalTimeout:30000,heartbeatInterval:5000},VjQ="finishReason",_i=["heartbeatFailed","idleTimeout","documentHidden","finalTimeout","externalFinish","cancelled"];class an1 extends XjQ.SpanRecorder{constructor(A,B,Q,Z){super(Z);this._pushActivity=A,this._popActivity=B,this.transactionSpanId=Q}add(A){if(A.spanContext().spanId!==this.transactionSpanId){let B=A.end;if(A.end=(...Q)=>{return this._popActivity(A.spanContext().spanId),B.apply(A,Q)},jz1.spanToJSON(A).timestamp===void 0)this._pushActivity(A.spanContext().spanId)}super.add(A)}}class si0 extends FjQ.Transaction{constructor(A,B,Q=Sz1.idleTimeout,Z=Sz1.finalTimeout,G=Sz1.heartbeatInterval,Y=!1,I=!1){super(A,B);if(this._idleHub=B,this._idleTimeout=Q,this._finalTimeout=Z,this._heartbeatInterval=G,this._onScope=Y,this.activities={},this._heartbeatCounter=0,this._finished=!1,this._idleTimeoutCanceledPermanently=!1,this._beforeFinishCallbacks=[],this._finishReason=_i[4],this._autoFinishAllowed=!I,Y)lK.DEBUG_BUILD&&WF.logger.log(`Setting idle transaction on scope. Span ID: ${this.spanContext().spanId}`),B.getScope().setSpan(this);if(!I)this._restartIdleTimeout();setTimeout(()=>{if(!this._finished)this.setStatus("deadline_exceeded"),this._finishReason=_i[3],this.end()},this._finalTimeout)}end(A){let B=jz1.spanTimeInputToSeconds(A);if(this._finished=!0,this.activities={},this.op==="ui.action.click")this.setAttribute(VjQ,this._finishReason);if(this.spanRecorder){lK.DEBUG_BUILD&&WF.logger.log("[Tracing] finishing IdleTransaction",new Date(B*1000).toISOString(),this.op);for(let Q of this._beforeFinishCallbacks)Q(this,B);this.spanRecorder.spans=this.spanRecorder.spans.filter((Q)=>{if(Q.spanContext().spanId===this.spanContext().spanId)return!0;if(!jz1.spanToJSON(Q).timestamp)Q.setStatus("cancelled"),Q.end(B),lK.DEBUG_BUILD&&WF.logger.log("[Tracing] cancelling span since transaction ended early",JSON.stringify(Q,void 0,2));let{start_timestamp:Z,timestamp:G}=jz1.spanToJSON(Q),Y=Z&&Z{if(this._finished)return;this._pushActivity(Z)},Q=(Z)=>{if(this._finished)return;this._popActivity(Z)};this.spanRecorder=new an1(B,Q,this.spanContext().spanId,A),lK.DEBUG_BUILD&&WF.logger.log("Starting heartbeat"),this._pingHeartbeat()}this.spanRecorder.add(this)}cancelIdleTimeout(A,{restartOnChildSpanChange:B}={restartOnChildSpanChange:!0}){if(this._idleTimeoutCanceledPermanently=B===!1,this._idleTimeoutID){if(clearTimeout(this._idleTimeoutID),this._idleTimeoutID=void 0,Object.keys(this.activities).length===0&&this._idleTimeoutCanceledPermanently)this._finishReason=_i[5],this.end(A)}}setFinishReason(A){this._finishReason=A}sendAutoFinishSignal(){if(!this._autoFinishAllowed)lK.DEBUG_BUILD&&WF.logger.log("[Tracing] Received finish signal for idle transaction."),this._restartIdleTimeout(),this._autoFinishAllowed=!0}_restartIdleTimeout(A){this.cancelIdleTimeout(),this._idleTimeoutID=setTimeout(()=>{if(!this._finished&&Object.keys(this.activities).length===0)this._finishReason=_i[1],this.end(A)},this._idleTimeout)}_pushActivity(A){this.cancelIdleTimeout(void 0,{restartOnChildSpanChange:!this._idleTimeoutCanceledPermanently}),lK.DEBUG_BUILD&&WF.logger.log(`[Tracing] pushActivity: ${A}`),this.activities[A]=!0,lK.DEBUG_BUILD&&WF.logger.log("[Tracing] new activities count",Object.keys(this.activities).length)}_popActivity(A){if(this.activities[A])lK.DEBUG_BUILD&&WF.logger.log(`[Tracing] popActivity ${A}`),delete this.activities[A],lK.DEBUG_BUILD&&WF.logger.log("[Tracing] new activities count",Object.keys(this.activities).length);if(Object.keys(this.activities).length===0){let B=WF.timestampInSeconds();if(this._idleTimeoutCanceledPermanently){if(this._autoFinishAllowed)this._finishReason=_i[5],this.end(B)}else this._restartIdleTimeout(B+this._idleTimeout/1000)}}_beat(){if(this._finished)return;let A=Object.keys(this.activities).join("");if(A===this._prevHeartbeatString)this._heartbeatCounter++;else this._heartbeatCounter=1;if(this._prevHeartbeatString=A,this._heartbeatCounter>=3){if(this._autoFinishAllowed)lK.DEBUG_BUILD&&WF.logger.log("[Tracing] Transaction finished because of no change for 3 heart beats"),this.setStatus("deadline_exceeded"),this._finishReason=_i[0],this.end()}else this._pingHeartbeat()}_pingHeartbeat(){lK.DEBUG_BUILD&&WF.logger.log(`pinging Heartbeat -> current counter: ${this._heartbeatCounter}`),setTimeout(()=>{this._beat()},this._heartbeatInterval)}}ri0.IdleTransaction=si0;ri0.IdleTransactionSpanRecorder=an1;ri0.TRACING_DEFAULTS=Sz1});var rn1=U((ti0)=>{Object.defineProperty(ti0,"__esModule",{value:!0});var Qg=NA(),xi=ZI(),yz1=G91(),DjQ=qz1(),CjQ=cK();function UjQ(A,B,Q){if(!DjQ.hasTracingEnabled(B))return A.sampled=!1,A;if(A.sampled!==void 0)return A.setAttribute(yz1.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE,Number(A.sampled)),A;let Z;if(typeof B.tracesSampler==="function")Z=B.tracesSampler(Q),A.setAttribute(yz1.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE,Number(Z));else if(Q.parentSampled!==void 0)Z=Q.parentSampled;else if(typeof B.tracesSampleRate!=="undefined")Z=B.tracesSampleRate,A.setAttribute(yz1.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE,Number(Z));else Z=1,A.setAttribute(yz1.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE,Z);if(!oi0(Z))return xi.DEBUG_BUILD&&Qg.logger.warn("[Tracing] Discarding transaction because of invalid sample rate."),A.sampled=!1,A;if(!Z)return xi.DEBUG_BUILD&&Qg.logger.log(`[Tracing] Discarding transaction because ${typeof B.tracesSampler==="function"?"tracesSampler returned 0 or false":"a negative sampling decision was inherited or tracesSampleRate is set to 0"}`),A.sampled=!1,A;if(A.sampled=Math.random() 1)return xi.DEBUG_BUILD&&Qg.logger.warn(`[Tracing] Given sample rate is invalid. Sample rate must be between 0 and 1. Got ${A}.`),!1;return!0}ti0.isValidSampleRate=oi0;ti0.sampleTransaction=UjQ});var on1=U((An0)=>{Object.defineProperty(An0,"__esModule",{value:!0});var qjQ=NA(),EjQ=ZI(),NjQ=yN(),LjQ=cK(),MjQ=wz1(),OjQ=sn1(),ei0=rn1(),RjQ=Pz1();function TjQ(){let B=this.getScope().getSpan();return B?{"sentry-trace":LjQ.spanToTraceHeader(B)}:{}}function PjQ(A,B){let Q=this.getClient(),Z=Q&&Q.getOptions()||{},G=Z.instrumenter||"sentry",Y=A.instrumenter||"sentry";if(G!==Y)EjQ.DEBUG_BUILD&&qjQ.logger.error(`A transaction was started with instrumenter=\`${Y}\`, but the SDK is configured with the \`${G}\` instrumenter. +The transaction will not be sampled. Please use the ${G} instrumentation to start transactions.`),A.sampled=!1;let I=new RjQ.Transaction(A,this);if(I=ei0.sampleTransaction(I,Z,{name:A.name,parentSampled:A.parentSampled,transactionContext:A,attributes:{...A.data,...A.attributes},...B}),I.isRecording())I.initSpanRecorder(Z._experiments&&Z._experiments.maxSpans);if(Q&&Q.emit)Q.emit("startTransaction",I);return I}function jjQ(A,B,Q,Z,G,Y,I,W=!1){let J=A.getClient(),X=J&&J.getOptions()||{},F=new OjQ.IdleTransaction(B,A,Q,Z,I,G,W);if(F=ei0.sampleTransaction(F,X,{name:B.name,parentSampled:B.parentSampled,transactionContext:B,attributes:{...B.data,...B.attributes},...Y}),F.isRecording())F.initSpanRecorder(X._experiments&&X._experiments.maxSpans);if(J&&J.emit)J.emit("startTransaction",F);return F}function SjQ(){let A=NjQ.getMainCarrier();if(!A.__SENTRY__)return;if(A.__SENTRY__.extensions=A.__SENTRY__.extensions||{},!A.__SENTRY__.extensions.startTransaction)A.__SENTRY__.extensions.startTransaction=PjQ;if(!A.__SENTRY__.extensions.traceHeaders)A.__SENTRY__.extensions.traceHeaders=TjQ;MjQ.registerErrorInstrumentation()}An0.addTracingExtensions=SjQ;An0.startIdleTransaction=jjQ});var Qn0=U((Bn0)=>{Object.defineProperty(Bn0,"__esModule",{value:!0});var _jQ=$z1();function xjQ(A,B,Q){let Z=_jQ.getActiveTransaction();if(Z)Z.setMeasurement(A,B,Q)}Bn0.setMeasurement=xjQ});var tn1=U((Zn0)=>{Object.defineProperty(Zn0,"__esModule",{value:!0});var vi=NA();function bjQ(A,B){if(!B)return A;return A.sdk=A.sdk||{},A.sdk.name=A.sdk.name||B.name,A.sdk.version=A.sdk.version||B.version,A.sdk.integrations=[...A.sdk.integrations||[],...B.integrations||[]],A.sdk.packages=[...A.sdk.packages||[],...B.packages||[]],A}function fjQ(A,B,Q,Z){let G=vi.getSdkMetadataForEnvelopeHeader(Q),Y={sent_at:new Date().toISOString(),...G&&{sdk:G},...!!Z&&B&&{dsn:vi.dsnToString(B)}},I="aggregates"in A?[{type:"sessions"},A]:[{type:"session"},A.toJSON()];return vi.createEnvelope(Y,[I])}function hjQ(A,B,Q,Z){let G=vi.getSdkMetadataForEnvelopeHeader(Q),Y=A.type&&A.type!=="replay_event"?A.type:"event";bjQ(A,Q&&Q.sdk);let I=vi.createEventEnvelopeHeaders(A,G,Z,B);delete A.sdkProcessingMetadata;let W=[{type:Y},A];return vi.createEnvelope(I,[W])}Zn0.createEventEnvelope=hjQ;Zn0.createSessionEnvelope=fjQ});var en1=U((Yn0)=>{Object.defineProperty(Yn0,"__esModule",{value:!0});var mjQ=NA(),djQ=PC();class Gn0{constructor(A,B){if(this._client=A,this.flushTimeout=60,this._pendingAggregates={},this._isEnabled=!0,this._intervalId=setInterval(()=>this.flush(),this.flushTimeout*1000),this._intervalId.unref)this._intervalId.unref();this._sessionAttrs=B}flush(){let A=this.getSessionAggregates();if(A.aggregates.length===0)return;this._pendingAggregates={},this._client.sendSession(A)}getSessionAggregates(){let A=Object.keys(this._pendingAggregates).map((Q)=>{return this._pendingAggregates[parseInt(Q)]}),B={attrs:this._sessionAttrs,aggregates:A};return mjQ.dropUndefinedKeys(B)}close(){clearInterval(this._intervalId),this._isEnabled=!1,this.flush()}incrementSessionStatusCount(){if(!this._isEnabled)return;let A=djQ.getCurrentScope(),B=A.getRequestSession();if(B&&B.status)this._incrementSessionStatusCount(B.status,new Date),A.setRequestSession(void 0)}_incrementSessionStatusCount(A,B){let Q=new Date(B).setSeconds(0,0);this._pendingAggregates[Q]=this._pendingAggregates[Q]||{};let Z=this._pendingAggregates[Q];if(!Z.started)Z.started=new Date(Q).toISOString();switch(A){case"errored":return Z.errored=(Z.errored||0)+1,Z.errored;case"ok":return Z.exited=(Z.exited||0)+1,Z.exited;default:return Z.crashed=(Z.crashed||0)+1,Z.crashed}}}Yn0.SessionFlusher=Gn0});var kz1=U((Wn0)=>{Object.defineProperty(Wn0,"__esModule",{value:!0});var Aa1=NA(),ljQ="7";function In0(A){let B=A.protocol?`${A.protocol}:`:"",Q=A.port?`:${A.port}`:"";return`${B}//${A.host}${Q}${A.path?`/${A.path}`:""}/api/`}function pjQ(A){return`${In0(A)}${A.projectId}/envelope/`}function ijQ(A,B){return Aa1.urlEncode({sentry_key:A.publicKey,sentry_version:ljQ,...B&&{sentry_client:`${B.name}/${B.version}`}})}function njQ(A,B={}){let Q=typeof B==="string"?B:B.tunnel,Z=typeof B==="string"||!B._metadata?void 0:B._metadata.sdk;return Q?Q:`${pjQ(A)}?${ijQ(A,Z)}`}function ajQ(A,B){let Q=Aa1.makeDsn(A);if(!Q)return"";let Z=`${In0(Q)}embed/error-page/`,G=`dsn=${Aa1.dsnToString(Q)}`;for(let Y in B){if(Y==="dsn")continue;if(Y==="onClose")continue;if(Y==="user"){let I=B.user;if(!I)continue;if(I.name)G+=`&name=${encodeURIComponent(I.name)}`;if(I.email)G+=`&email=${encodeURIComponent(I.email)}`}else G+=`&${encodeURIComponent(Y)}=${encodeURIComponent(B[Y])}`}return`${Z}?${G}`}Wn0.getEnvelopeEndpointWithUrlEncodedAuth=njQ;Wn0.getReportDialogEndpoint=ajQ});var VT=U((Xn0)=>{Object.defineProperty(Xn0,"__esModule",{value:!0});var _z1=NA(),Ba1=ZI(),ojQ=sQ1(),tjQ=PC(),ejQ=yN(),Qa1=[];function ASQ(A){let B={};return A.forEach((Q)=>{let{name:Z}=Q,G=B[Z];if(G&&!G.isDefaultInstance&&Q.isDefaultInstance)return;B[Z]=Q}),Object.keys(B).map((Q)=>B[Q])}function BSQ(A){let B=A.defaultIntegrations||[],Q=A.integrations;B.forEach((I)=>{I.isDefaultInstance=!0});let Z;if(Array.isArray(Q))Z=[...B,...Q];else if(typeof Q==="function")Z=_z1.arrayify(Q(B));else Z=B;let G=ASQ(Z),Y=YSQ(G,(I)=>I.name==="Debug");if(Y!==-1){let[I]=G.splice(Y,1);G.push(I)}return G}function QSQ(A,B){let Q={};return B.forEach((Z)=>{if(Z)Jn0(A,Z,Q)}),Q}function ZSQ(A,B){for(let Q of B)if(Q&&Q.afterAllSetup)Q.afterAllSetup(A)}function Jn0(A,B,Q){if(Q[B.name]){Ba1.DEBUG_BUILD&&_z1.logger.log(`Integration skipped because it was already installed: ${B.name}`);return}if(Q[B.name]=B,Qa1.indexOf(B.name)===-1)B.setupOnce(ojQ.addGlobalEventProcessor,ejQ.getCurrentHub),Qa1.push(B.name);if(B.setup&&typeof B.setup==="function")B.setup(A);if(A.on&&typeof B.preprocessEvent==="function"){let Z=B.preprocessEvent.bind(B);A.on("preprocessEvent",(G,Y)=>Z(G,Y,A))}if(A.addEventProcessor&&typeof B.processEvent==="function"){let Z=B.processEvent.bind(B),G=Object.assign((Y,I)=>Z(Y,I,A),{id:B.name});A.addEventProcessor(G)}Ba1.DEBUG_BUILD&&_z1.logger.log(`Integration installed: ${B.name}`)}function GSQ(A){let B=tjQ.getClient();if(!B||!B.addIntegration){Ba1.DEBUG_BUILD&&_z1.logger.warn(`Cannot add integration "${A.name}" because no SDK Client is available.`);return}B.addIntegration(A)}function YSQ(A,B){for(let Q=0;Q {Object.defineProperty(Fn0,"__esModule",{value:!0});var CSQ=NA();function USQ(A,B,Q,Z){let G=Object.entries(CSQ.dropUndefinedKeys(Z)).sort((Y,I)=>Y[0].localeCompare(I[0]));return`${A}${B}${Q}${G}`}function $SQ(A){let B=0;for(let Q=0;Q >>0}function wSQ(A){let B="";for(let Q of A){let Z=Object.entries(Q.tags),G=Z.length>0?`|#${Z.map(([Y,I])=>`${Y}:${I}`).join(",")}`:"";B+=`${Q.name}@${Q.unit}:${Q.metric}|${Q.metricType}${G}|T${Q.timestamp} +`}return B}function qSQ(A){return A.replace(/[^\w]+/gi,"_")}function ESQ(A){return A.replace(/[^\w\-.]+/gi,"_")}function NSQ(A){return A.replace(/[^\w\-./]+/gi,"")}var LSQ=[[` +`,"\\n"],["\r","\\r"],["\t","\\t"],["\\","\\\\"],["|","\\u{7c}"],[",","\\u{2c}"]];function MSQ(A){for(let[B,Q]of LSQ)if(A===B)return Q;return A}function OSQ(A){return[...A].reduce((B,Q)=>B+MSQ(Q),"")}function RSQ(A){let B={};for(let Q in A)if(Object.prototype.hasOwnProperty.call(A,Q)){let Z=NSQ(Q);B[Z]=OSQ(String(A[Q]))}return B}Fn0.getBucketKey=USQ;Fn0.sanitizeMetricKey=ESQ;Fn0.sanitizeTags=RSQ;Fn0.sanitizeUnit=qSQ;Fn0.serializeMetricBuckets=wSQ;Fn0.simpleHash=$SQ});var zn0=U((Kn0)=>{Object.defineProperty(Kn0,"__esModule",{value:!0});var Vn0=NA(),_SQ=I91();function xSQ(A,B,Q,Z){let G={sent_at:new Date().toISOString()};if(Q&&Q.sdk)G.sdk={name:Q.sdk.name,version:Q.sdk.version};if(!!Z&&B)G.dsn=Vn0.dsnToString(B);let Y=vSQ(A);return Vn0.createEnvelope(G,[Y])}function vSQ(A){let B=_SQ.serializeMetricBuckets(A);return[{type:"statsd",length:B.length},B]}Kn0.createMetricEnvelope=xSQ});var Za1=U((qn0)=>{Object.defineProperty(qn0,"__esModule",{value:!0});var s5=NA(),fSQ=kz1(),_N=ZI(),Hn0=tn1(),hSQ=PC(),gSQ=yN(),xz1=VT(),uSQ=zn0(),Dn0=Oi(),mSQ=eh(),dSQ=Fz1(),Cn0="Not capturing exception because it's already been captured.";class Un0{constructor(A){if(this._options=A,this._integrations={},this._integrationsInitialized=!1,this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],A.dsn)this._dsn=s5.makeDsn(A.dsn);else _N.DEBUG_BUILD&&s5.logger.warn("No DSN provided, client will not send events.");if(this._dsn){let B=fSQ.getEnvelopeEndpointWithUrlEncodedAuth(this._dsn,A);this._transport=A.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...A.transportOptions,url:B})}}captureException(A,B,Q){if(s5.checkOrSetAlreadyCaught(A)){_N.DEBUG_BUILD&&s5.logger.log(Cn0);return}let Z=B&&B.event_id;return this._process(this.eventFromException(A,B).then((G)=>this._captureEvent(G,B,Q)).then((G)=>{Z=G})),Z}captureMessage(A,B,Q,Z){let G=Q&&Q.event_id,Y=s5.isParameterizedString(A)?A:String(A),I=s5.isPrimitive(A)?this.eventFromMessage(Y,B,Q):this.eventFromException(A,Q);return this._process(I.then((W)=>this._captureEvent(W,Q,Z)).then((W)=>{G=W})),G}captureEvent(A,B,Q){if(B&&B.originalException&&s5.checkOrSetAlreadyCaught(B.originalException)){_N.DEBUG_BUILD&&s5.logger.log(Cn0);return}let Z=B&&B.event_id,Y=(A.sdkProcessingMetadata||{}).capturedSpanScope;return this._process(this._captureEvent(A,B,Y||Q).then((I)=>{Z=I})),Z}captureSession(A){if(typeof A.release!=="string")_N.DEBUG_BUILD&&s5.logger.warn("Discarded session because of missing or non-string release");else this.sendSession(A),Dn0.updateSession(A,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(A){let B=this._transport;if(B){if(this.metricsAggregator)this.metricsAggregator.flush();return this._isClientDoneProcessing(A).then((Q)=>{return B.flush(A).then((Z)=>Q&&Z)})}else return s5.resolvedSyncPromise(!0)}close(A){return this.flush(A).then((B)=>{if(this.getOptions().enabled=!1,this.metricsAggregator)this.metricsAggregator.close();return B})}getEventProcessors(){return this._eventProcessors}addEventProcessor(A){this._eventProcessors.push(A)}setupIntegrations(A){if(A&&!this._integrationsInitialized||this._isEnabled()&&!this._integrationsInitialized)this._setupIntegrations()}init(){if(this._isEnabled())this._setupIntegrations()}getIntegrationById(A){return this.getIntegrationByName(A)}getIntegrationByName(A){return this._integrations[A]}getIntegration(A){try{return this._integrations[A.id]||null}catch(B){return _N.DEBUG_BUILD&&s5.logger.warn(`Cannot retrieve integration ${A.id} from the current Client`),null}}addIntegration(A){let B=this._integrations[A.name];if(xz1.setupIntegration(this,A,this._integrations),!B)xz1.afterSetupIntegrations(this,[A])}sendEvent(A,B={}){this.emit("beforeSendEvent",A,B);let Q=Hn0.createEventEnvelope(A,this._dsn,this._options._metadata,this._options.tunnel);for(let G of B.attachments||[])Q=s5.addItemToEnvelope(Q,s5.createAttachmentEnvelopeItem(G,this._options.transportOptions&&this._options.transportOptions.textEncoder));let Z=this._sendEnvelope(Q);if(Z)Z.then((G)=>this.emit("afterSendEvent",A,G),null)}sendSession(A){let B=Hn0.createSessionEnvelope(A,this._dsn,this._options._metadata,this._options.tunnel);this._sendEnvelope(B)}recordDroppedEvent(A,B,Q){if(this._options.sendClientReports){let Z=typeof Q==="number"?Q:1,G=`${A}:${B}`;_N.DEBUG_BUILD&&s5.logger.log(`Recording outcome: "${G}"${Z>1?` (${Z} times)`:""}`),this._outcomes[G]=(this._outcomes[G]||0)+Z}}captureAggregateMetrics(A){_N.DEBUG_BUILD&&s5.logger.log(`Flushing aggregated metrics, number of metrics: ${A.length}`);let B=uSQ.createMetricEnvelope(A,this._dsn,this._options._metadata,this._options.tunnel);this._sendEnvelope(B)}on(A,B){if(!this._hooks[A])this._hooks[A]=[];this._hooks[A].push(B)}emit(A,...B){if(this._hooks[A])this._hooks[A].forEach((Q)=>Q(...B))}_setupIntegrations(){let{integrations:A}=this._options;this._integrations=xz1.setupIntegrations(this,A),xz1.afterSetupIntegrations(this,A),this._integrationsInitialized=!0}_updateSessionFromEvent(A,B){let Q=!1,Z=!1,G=B.exception&&B.exception.values;if(G){Z=!0;for(let W of G){let J=W.mechanism;if(J&&J.handled===!1){Q=!0;break}}}let Y=A.status==="ok";if(Y&&A.errors===0||Y&&Q)Dn0.updateSession(A,{...Q&&{status:"crashed"},errors:A.errors||Number(Z||Q)}),this.captureSession(A)}_isClientDoneProcessing(A){return new s5.SyncPromise((B)=>{let Q=0,Z=1,G=setInterval(()=>{if(this._numProcessing==0)clearInterval(G),B(!0);else if(Q+=Z,A&&Q>=A)clearInterval(G),B(!1)},Z)})}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(A,B,Q,Z=gSQ.getIsolationScope()){let G=this.getOptions(),Y=Object.keys(this._integrations);if(!B.integrations&&Y.length>0)B.integrations=Y;return this.emit("preprocessEvent",A,B),dSQ.prepareEvent(G,A,B,Q,this,Z).then((I)=>{if(I===null)return I;let W={...Z.getPropagationContext(),...Q?Q.getPropagationContext():void 0};if(!(I.contexts&&I.contexts.trace)&&W){let{traceId:X,spanId:F,parentSpanId:V,dsc:K}=W;I.contexts={trace:{trace_id:X,span_id:F,parent_span_id:V},...I.contexts};let z=K?K:mSQ.getDynamicSamplingContextFromClient(X,this,Q);I.sdkProcessingMetadata={dynamicSamplingContext:z,...I.sdkProcessingMetadata}}return I})}_captureEvent(A,B={},Q){return this._processEvent(A,B,Q).then((Z)=>{return Z.event_id},(Z)=>{if(_N.DEBUG_BUILD){let G=Z;if(G.logLevel==="log")s5.logger.log(G.message);else s5.logger.warn(G)}return})}_processEvent(A,B,Q){let Z=this.getOptions(),{sampleRate:G}=Z,Y=wn0(A),I=$n0(A),W=A.type||"error",J=`before send for type \`${W}\``;if(I&&typeof G==="number"&&Math.random()>G)return this.recordDroppedEvent("sample_rate","error",A),s5.rejectedSyncPromise(new s5.SentryError(`Discarding event because it's not included in the random sample (sampling rate = ${G})`,"log"));let X=W==="replay_event"?"replay":W,V=(A.sdkProcessingMetadata||{}).capturedSpanIsolationScope;return this._prepareEvent(A,B,Q,V).then((K)=>{if(K===null)throw this.recordDroppedEvent("event_processor",X,A),new s5.SentryError("An event processor returned `null`, will not send event.","log");if(B.data&&B.data.__sentry__===!0)return K;let H=lSQ(Z,K,B);return cSQ(H,J)}).then((K)=>{if(K===null){if(this.recordDroppedEvent("before_send",X,A),Y){let C=1+(A.spans||[]).length;this.recordDroppedEvent("before_send","span",C)}throw new s5.SentryError(`${J} returned \`null\`, will not send event.`,"log")}let z=Q&&Q.getSession();if(!Y&&z)this._updateSessionFromEvent(z,K);if(Y){let D=K.sdkProcessingMetadata&&K.sdkProcessingMetadata.spanCountBeforeProcessing||0,C=K.spans?K.spans.length:0,w=D-C;if(w>0)this.recordDroppedEvent("before_send","span",w)}let H=K.transaction_info;if(Y&&H&&K.transaction!==A.transaction)K.transaction_info={...H,source:"custom"};return this.sendEvent(K,B),K}).then(null,(K)=>{if(K instanceof s5.SentryError)throw K;throw this.captureException(K,{data:{__sentry__:!0},originalException:K}),new s5.SentryError(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event. +Reason: ${K}`)})}_process(A){this._numProcessing++,A.then((B)=>{return this._numProcessing--,B},(B)=>{return this._numProcessing--,B})}_sendEnvelope(A){if(this.emit("beforeEnvelope",A),this._isEnabled()&&this._transport)return this._transport.send(A).then(null,(B)=>{_N.DEBUG_BUILD&&s5.logger.error("Error while sending event:",B)});else _N.DEBUG_BUILD&&s5.logger.error("Transport disabled")}_clearOutcomes(){let A=this._outcomes;return this._outcomes={},Object.keys(A).map((B)=>{let[Q,Z]=B.split(":");return{reason:Q,category:Z,quantity:A[B]}})}}function cSQ(A,B){let Q=`${B} must return \`null\` or a valid event.`;if(s5.isThenable(A))return A.then((Z)=>{if(!s5.isPlainObject(Z)&&Z!==null)throw new s5.SentryError(Q);return Z},(Z)=>{throw new s5.SentryError(`${B} rejected with ${Z}`)});else if(!s5.isPlainObject(A)&&A!==null)throw new s5.SentryError(Q);return A}function lSQ(A,B,Q){let{beforeSend:Z,beforeSendTransaction:G}=A;if($n0(B)&&Z)return Z(B,Q);if(wn0(B)&&G){if(B.spans){let Y=B.spans.length;B.sdkProcessingMetadata={...B.sdkProcessingMetadata,spanCountBeforeProcessing:Y}}return G(B,Q)}return B}function $n0(A){return A.type===void 0}function wn0(A){return A.type==="transaction"}function pSQ(A){let B=hSQ.getClient();if(!B||!B.addEventProcessor)return;B.addEventProcessor(A)}qn0.BaseClient=Un0;qn0.addEventProcessor=pSQ});var Ya1=U((En0)=>{Object.defineProperty(En0,"__esModule",{value:!0});var Ga1=NA();function aSQ(A,B,Q,Z,G){let Y={sent_at:new Date().toISOString()};if(Q&&Q.sdk)Y.sdk={name:Q.sdk.name,version:Q.sdk.version};if(!!Z&&!!G)Y.dsn=Ga1.dsnToString(G);if(B)Y.trace=Ga1.dropUndefinedKeys(B);let I=sSQ(A);return Ga1.createEnvelope(Y,[I])}function sSQ(A){return[{type:"check_in"},A]}En0.createCheckInEnvelope=aSQ});var W91=U((Nn0)=>{Object.defineProperty(Nn0,"__esModule",{value:!0});var oSQ="c",tSQ="g",eSQ="s",AyQ="d",ByQ=5000,QyQ=1e4,ZyQ=1e4;Nn0.COUNTER_METRIC_TYPE=oSQ;Nn0.DEFAULT_BROWSER_FLUSH_INTERVAL=ByQ;Nn0.DEFAULT_FLUSH_INTERVAL=QyQ;Nn0.DISTRIBUTION_METRIC_TYPE=AyQ;Nn0.GAUGE_METRIC_TYPE=tSQ;Nn0.MAX_WEIGHT=ZyQ;Nn0.SET_METRIC_TYPE=eSQ});var Fa1=U((Ln0)=>{Object.defineProperty(Ln0,"__esModule",{value:!0});var vz1=W91(),VyQ=I91();class Ia1{constructor(A){this._value=A}get weight(){return 1}add(A){this._value+=A}toString(){return`${this._value}`}}class Wa1{constructor(A){this._last=A,this._min=A,this._max=A,this._sum=A,this._count=1}get weight(){return 5}add(A){if(this._last=A,A this._max)this._max=A;this._sum+=A,this._count++}toString(){return`${this._last}:${this._min}:${this._max}:${this._sum}:${this._count}`}}class Ja1{constructor(A){this._value=[A]}get weight(){return this._value.length}add(A){this._value.push(A)}toString(){return this._value.join(":")}}class Xa1{constructor(A){this.first=A,this._value=new Set([A])}get weight(){return this._value.size}add(A){this._value.add(A)}toString(){return Array.from(this._value).map((A)=>typeof A==="string"?VyQ.simpleHash(A):A).join(":")}}var KyQ={[vz1.COUNTER_METRIC_TYPE]:Ia1,[vz1.GAUGE_METRIC_TYPE]:Wa1,[vz1.DISTRIBUTION_METRIC_TYPE]:Ja1,[vz1.SET_METRIC_TYPE]:Xa1};Ln0.CounterMetric=Ia1;Ln0.DistributionMetric=Ja1;Ln0.GaugeMetric=Wa1;Ln0.METRIC_MAP=KyQ;Ln0.SetMetric=Xa1});var Tn0=U((Rn0)=>{Object.defineProperty(Rn0,"__esModule",{value:!0});var Mn0=NA(),J91=W91(),$yQ=Fa1(),wyQ=Z91(),bz1=I91();class On0{constructor(A){if(this._client=A,this._buckets=new Map,this._bucketsTotalWeight=0,this._interval=setInterval(()=>this._flush(),J91.DEFAULT_FLUSH_INTERVAL),this._interval.unref)this._interval.unref();this._flushShift=Math.floor(Math.random()*J91.DEFAULT_FLUSH_INTERVAL/1000),this._forceFlush=!1}add(A,B,Q,Z="none",G={},Y=Mn0.timestampInSeconds()){let I=Math.floor(Y),W=bz1.sanitizeMetricKey(B),J=bz1.sanitizeTags(G),X=bz1.sanitizeUnit(Z),F=bz1.getBucketKey(A,W,X,J),V=this._buckets.get(F),K=V&&A===J91.SET_METRIC_TYPE?V.metric.weight:0;if(V){if(V.metric.add(Q),V.timestamp=J91.MAX_WEIGHT)this.flush()}flush(){this._forceFlush=!0,this._flush()}close(){this._forceFlush=!0,clearInterval(this._interval),this._flush()}_flush(){if(this._forceFlush){this._forceFlush=!1,this._bucketsTotalWeight=0,this._captureMetrics(this._buckets),this._buckets.clear();return}let A=Math.floor(Mn0.timestampInSeconds())-J91.DEFAULT_FLUSH_INTERVAL/1000-this._flushShift,B=new Map;for(let[Q,Z]of this._buckets)if(Z.timestamp<=A)B.set(Q,Z),this._bucketsTotalWeight-=Z.metric.weight;for(let[Q]of B)this._buckets.delete(Q);this._captureMetrics(B)}_captureMetrics(A){if(A.size>0&&this._client.captureAggregateMetrics){let B=Array.from(A).map(([,Q])=>Q);this._client.captureAggregateMetrics(B)}}}Rn0.MetricsAggregator=On0});var yn0=U((Sn0)=>{Object.defineProperty(Sn0,"__esModule",{value:!0});var KT=NA(),EyQ=Za1(),NyQ=Ya1(),fz1=ZI(),LyQ=PC(),MyQ=Tn0(),OyQ=en1(),RyQ=on1(),TyQ=cK(),PyQ=Ri();ji();var Pn0=eh();class jn0 extends EyQ.BaseClient{constructor(A){RyQ.addTracingExtensions();super(A);if(A._experiments&&A._experiments.metricsAggregator)this.metricsAggregator=new MyQ.MetricsAggregator(this)}eventFromException(A,B){return KT.resolvedSyncPromise(KT.eventFromUnknownInput(LyQ.getClient(),this._options.stackParser,A,B))}eventFromMessage(A,B="info",Q){return KT.resolvedSyncPromise(KT.eventFromMessage(this._options.stackParser,A,B,Q,this._options.attachStacktrace))}captureException(A,B,Q){if(this._options.autoSessionTracking&&this._sessionFlusher&&Q){let Z=Q.getRequestSession();if(Z&&Z.status==="ok")Z.status="errored"}return super.captureException(A,B,Q)}captureEvent(A,B,Q){if(this._options.autoSessionTracking&&this._sessionFlusher&&Q){if((A.type||"exception")==="exception"&&A.exception&&A.exception.values&&A.exception.values.length>0){let Y=Q.getRequestSession();if(Y&&Y.status==="ok")Y.status="errored"}}return super.captureEvent(A,B,Q)}close(A){if(this._sessionFlusher)this._sessionFlusher.close();return super.close(A)}initSessionFlusher(){let{release:A,environment:B}=this._options;if(!A)fz1.DEBUG_BUILD&&KT.logger.warn("Cannot initialise an instance of SessionFlusher if no release is provided!");else this._sessionFlusher=new OyQ.SessionFlusher(this,{release:A,environment:B})}captureCheckIn(A,B,Q){let Z="checkInId"in A&&A.checkInId?A.checkInId:KT.uuid4();if(!this._isEnabled())return fz1.DEBUG_BUILD&&KT.logger.warn("SDK not enabled, will not capture checkin."),Z;let G=this.getOptions(),{release:Y,environment:I,tunnel:W}=G,J={check_in_id:Z,monitor_slug:A.monitorSlug,status:A.status,release:Y,environment:I};if("duration"in A)J.duration=A.duration;if(B)J.monitor_config={schedule:B.schedule,checkin_margin:B.checkinMargin,max_runtime:B.maxRuntime,timezone:B.timezone};let[X,F]=this._getTraceInfoFromScope(Q);if(F)J.contexts={trace:F};let V=NyQ.createCheckInEnvelope(J,X,this.getSdkMetadata(),W,this.getDsn());return fz1.DEBUG_BUILD&&KT.logger.info("Sending checkin:",A.monitorSlug,A.status),this._sendEnvelope(V),Z}_captureRequestSession(){if(!this._sessionFlusher)fz1.DEBUG_BUILD&&KT.logger.warn("Discarded request mode session because autoSessionTracking option was disabled");else this._sessionFlusher.incrementSessionStatusCount()}_prepareEvent(A,B,Q,Z){if(this._options.platform)A.platform=A.platform||this._options.platform;if(this._options.runtime)A.contexts={...A.contexts,runtime:(A.contexts||{}).runtime||this._options.runtime};if(this._options.serverName)A.server_name=A.server_name||this._options.serverName;return super._prepareEvent(A,B,Q,Z)}_getTraceInfoFromScope(A){if(!A)return[void 0,void 0];let B=A.getSpan();if(B)return[PyQ.getRootSpan(B)?Pn0.getDynamicSamplingContextFromSpan(B):void 0,TyQ.spanToTraceContext(B)];let{traceId:Q,spanId:Z,parentSpanId:G,dsc:Y}=A.getPropagationContext(),I={trace_id:Q,span_id:Z,parent_span_id:G};if(Y)return[Y,I];return[Pn0.getDynamicSamplingContextFromClient(Q,this,A),I]}}Sn0.ServerRuntimeClient=jn0});var vn0=U((xn0)=>{Object.defineProperty(xn0,"__esModule",{value:!0});var kn0=NA(),SyQ=ZI(),yyQ=PC(),kyQ=yN();function _yQ(A,B){if(B.debug===!0)if(SyQ.DEBUG_BUILD)kn0.logger.enable();else kn0.consoleSandbox(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")});yyQ.getCurrentScope().update(B.initialScope);let Z=new A(B);_n0(Z),xyQ(Z)}function _n0(A){let Q=kyQ.getCurrentHub().getStackTop();Q.client=A,Q.scope.setClient(A)}function xyQ(A){if(A.init)A.init();else if(A.setupIntegrations)A.setupIntegrations()}xn0.initAndBind=_yQ;xn0.setCurrentClient=_n0});var un0=U((gn0)=>{Object.defineProperty(gn0,"__esModule",{value:!0});var pK=NA(),bn0=ZI(),hn0=30;function fyQ(A,B,Q=pK.makePromiseBuffer(A.bufferSize||hn0)){let Z={},G=(I)=>Q.drain(I);function Y(I){let W=[];if(pK.forEachEnvelopeItem(I,(V,K)=>{let z=pK.envelopeItemTypeToDataCategory(K);if(pK.isRateLimited(Z,z)){let H=fn0(V,K);A.recordDroppedEvent("ratelimit_backoff",z,H)}else W.push(V)}),W.length===0)return pK.resolvedSyncPromise();let J=pK.createEnvelope(I[0],W),X=(V)=>{pK.forEachEnvelopeItem(J,(K,z)=>{let H=fn0(K,z);A.recordDroppedEvent(V,pK.envelopeItemTypeToDataCategory(z),H)})},F=()=>B({body:pK.serializeEnvelope(J,A.textEncoder)}).then((V)=>{if(V.statusCode!==void 0&&(V.statusCode<200||V.statusCode>=300))bn0.DEBUG_BUILD&&pK.logger.warn(`Sentry responded with status code ${V.statusCode} to sent event.`);return Z=pK.updateRateLimits(Z,V),V},(V)=>{throw X("network_error"),V});return Q.add(F).then((V)=>V,(V)=>{if(V instanceof pK.SentryError)return bn0.DEBUG_BUILD&&pK.logger.error("Skipped sending event because buffer is full."),X("queue_overflow"),pK.resolvedSyncPromise();else throw V})}return Y.__sentry__baseTransport__=!0,{send:Y,flush:G}}function fn0(A,B){if(B!=="event"&&B!=="transaction")return;return Array.isArray(A)?A[1]:void 0}gn0.DEFAULT_TRANSPORT_BUFFER_SIZE=hn0;gn0.createTransport=fyQ});var cn0=U((dn0)=>{Object.defineProperty(dn0,"__esModule",{value:!0});var Ka1=NA(),uyQ=ZI(),mn0=100,za1=5000,myQ=3600000;function Va1(A,B){uyQ.DEBUG_BUILD&&Ka1.logger.info(`[Offline]: ${A}`,B)}function dyQ(A){return(B)=>{let Q=A(B),Z=B.createStore?B.createStore(B):void 0,G=za1,Y;function I(F,V,K){if(Ka1.envelopeContainsItemType(F,["replay_event","replay_recording","client_report"]))return!1;if(B.shouldStore)return B.shouldStore(F,V,K);return!0}function W(F){if(!Z)return;if(Y)clearTimeout(Y);if(Y=setTimeout(async()=>{Y=void 0;let V=await Z.pop();if(V)Va1("Attempting to send previously queued event"),X(V).catch((K)=>{Va1("Failed to retry sending",K)})},F),typeof Y!=="number"&&Y.unref)Y.unref()}function J(){if(Y)return;W(G),G=Math.min(G*2,myQ)}async function X(F){try{let V=await Q.send(F),K=mn0;if(V){if(V.headers&&V.headers["retry-after"])K=Ka1.parseRetryAfterHeader(V.headers["retry-after"]);else if((V.statusCode||0)>=400)return V}return W(K),G=za1,V}catch(V){if(Z&&await I(F,V,G))return await Z.insert(F),J(),Va1("Error sending. Event queued",V),{};else throw V}}if(B.flushAtStartup)J();return{send:X,flush:(F)=>Q.flush(F)}}}dn0.MIN_DELAY=mn0;dn0.START_DELAY=za1;dn0.makeOfflineTransport=dyQ});var pn0=U((ln0)=>{Object.defineProperty(ln0,"__esModule",{value:!0});var Ha1=NA(),iyQ=kz1();function Da1(A,B){let Q;return Ha1.forEachEnvelopeItem(A,(Z,G)=>{if(B.includes(G))Q=Array.isArray(Z)?Z[1]:void 0;return!!Q}),Q}function nyQ(A,B){return(Q)=>{let Z=A(Q);return{...Z,send:async(G)=>{let Y=Da1(G,["event","transaction","profile","replay_event"]);if(Y)Y.release=B;return Z.send(G)}}}}function ayQ(A,B){return Ha1.createEnvelope(B?{...A[0],dsn:B}:A[0],A[1])}function syQ(A,B){return(Q)=>{let Z=A(Q),G=new Map;function Y(J,X){let F=X?`${J}:${X}`:J,V=G.get(F);if(!V){let K=Ha1.dsnFromString(J);if(!K)return;let z=iyQ.getEnvelopeEndpointWithUrlEncodedAuth(K,Q.tunnel);V=X?nyQ(A,X)({...Q,url:z}):A({...Q,url:z}),G.set(F,V)}return[J,V]}async function I(J){function X(K){let z=K&&K.length?K:["event"];return Da1(J,z)}let F=B({envelope:J,getEvent:X}).map((K)=>{if(typeof K==="string")return Y(K,void 0);else return Y(K.dsn,K.release)}).filter((K)=>!!K);if(F.length===0)F.push(["",Z]);return(await Promise.all(F.map(([K,z])=>z.send(ayQ(J,K)))))[0]}async function W(J){let X=[await Z.flush(J)];for(let[,F]of G)X.push(await F.flush(J));return X.every((F)=>F)}return{send:I,flush:W}}}ln0.eventFromEnvelope=Da1;ln0.makeMultiplexedTransport=syQ});var an0=U((nn0)=>{Object.defineProperty(nn0,"__esModule",{value:!0});var in0=NA();function tyQ(A,B){let Q={sent_at:new Date().toISOString()};if(B)Q.dsn=in0.dsnToString(B);let Z=A.map(eyQ);return in0.createEnvelope(Q,Z)}function eyQ(A){return[{type:"span"},A]}nn0.createSpanEnvelope=tyQ});var on0=U((rn0)=>{Object.defineProperty(rn0,"__esModule",{value:!0});function BkQ(A,B){let Q=B&&GkQ(B)?B.getClient():B,Z=Q&&Q.getDsn(),G=Q&&Q.getOptions().tunnel;return ZkQ(A,Z)||QkQ(A,G)}function QkQ(A,B){if(!B)return!1;return sn0(A)===sn0(B)}function ZkQ(A,B){return B?A.includes(B.host):!1}function sn0(A){return A[A.length-1]==="/"?A.slice(0,-1):A}function GkQ(A){return A.getClient!==void 0}rn0.isSentryRequestUrl=BkQ});var en0=U((tn0)=>{Object.defineProperty(tn0,"__esModule",{value:!0});function IkQ(A,...B){let Q=new String(String.raw(A,...B));return Q.__sentry_template_string__=A.join("\x00").replace(/%/g,"%%").replace(/\0/g,"%s"),Q.__sentry_template_values__=B,Q}tn0.parameterize=IkQ});var Qa0=U((Ba0)=>{Object.defineProperty(Ba0,"__esModule",{value:!0});var Aa0=Dz1();function JkQ(A,B,Q=[B],Z="npm"){let G=A._metadata||{};if(!G.sdk)G.sdk={name:`sentry.javascript.${B}`,packages:Q.map((Y)=>({name:`${Z}:@sentry/${Y}`,version:Aa0.SDK_VERSION})),version:Aa0.SDK_VERSION};A._metadata=G}Ba0.applySdkMetadata=JkQ});var Wa0=U((Ia0)=>{Object.defineProperty(Ia0,"__esModule",{value:!0});var Ca1=NA(),Ga0=new Map,Za0=new Set;function FkQ(A){if(!Ca1.GLOBAL_OBJ._sentryModuleMetadata)return;for(let B of Object.keys(Ca1.GLOBAL_OBJ._sentryModuleMetadata)){let Q=Ca1.GLOBAL_OBJ._sentryModuleMetadata[B];if(Za0.has(B))continue;Za0.add(B);let Z=A(B);for(let G of Z.reverse())if(G.filename){Ga0.set(G.filename,Q);break}}}function Ya0(A,B){return FkQ(A),Ga0.get(B)}function VkQ(A,B){try{B.exception.values.forEach((Q)=>{if(!Q.stacktrace)return;for(let Z of Q.stacktrace.frames||[]){if(!Z.filename)continue;let G=Ya0(A,Z.filename);if(G)Z.module_metadata=G}})}catch(Q){}}function KkQ(A){try{A.exception.values.forEach((B)=>{if(!B.stacktrace)return;for(let Q of B.stacktrace.frames||[])delete Q.module_metadata})}catch(B){}}Ia0.addMetadataToStackFrames=VkQ;Ia0.getMetadataForUrl=Ya0;Ia0.stripMetadataFromStackFrames=KkQ});var za0=U((Ka0)=>{Object.defineProperty(Ka0,"__esModule",{value:!0});var CkQ=NA(),Xa0=VT(),Ja0=Wa0(),Fa0="ModuleMetadata",UkQ=()=>{return{name:Fa0,setupOnce(){},setup(A){if(typeof A.on!=="function")return;A.on("beforeEnvelope",(B)=>{CkQ.forEachEnvelopeItem(B,(Q,Z)=>{if(Z==="event"){let G=Array.isArray(Q)?Q[1]:void 0;if(G)Ja0.stripMetadataFromStackFrames(G),Q[1]=G}})})},processEvent(A,B,Q){let Z=Q.getOptions().stackParser;return Ja0.addMetadataToStackFrames(Z,A),A}}},Va0=Xa0.defineIntegration(UkQ),$kQ=Xa0.convertIntegrationFnToClass(Fa0,Va0);Ka0.ModuleMetadata=$kQ;Ka0.moduleMetadataIntegration=Va0});var wa0=U(($a0)=>{Object.defineProperty($a0,"__esModule",{value:!0});var Ha0=NA(),Da0=VT(),EkQ=cK(),Ua1={include:{cookies:!0,data:!0,headers:!0,ip:!1,query_string:!0,url:!0,user:{id:!0,username:!0,email:!0}},transactionNamingScheme:"methodPath"},Ca0="RequestData",NkQ=(A={})=>{let B=Ha0.addRequestDataToEvent,Q={...Ua1,...A,include:{method:!0,...Ua1.include,...A.include,user:A.include&&typeof A.include.user==="boolean"?A.include.user:{...Ua1.include.user,...(A.include||{}).user}}};return{name:Ca0,setupOnce(){},processEvent(Z,G,Y){let{transactionNamingScheme:I}=Q,{sdkProcessingMetadata:W={}}=Z,J=W.request;if(!J)return Z;let X=W.requestDataOptionsFromExpressHandler||W.requestDataOptionsFromGCPWrapper||MkQ(Q),F=B(Z,J,X);if(Z.type==="transaction"||I==="handler")return F;let K=J._sentryTransaction;if(K){let z=EkQ.spanToJSON(K).description||"",H=OkQ(Y)==="sentry.javascript.nextjs"?z.startsWith("/api"):I!=="path",[D]=Ha0.extractPathForTransaction(J,{path:!0,method:H,customRoute:z});F.transaction=D}return F}}},Ua0=Da0.defineIntegration(NkQ),LkQ=Da0.convertIntegrationFnToClass(Ca0,Ua0);function MkQ(A){let{transactionNamingScheme:B,include:{ip:Q,user:Z,...G}}=A,Y=[];for(let[W,J]of Object.entries(G))if(J)Y.push(W);let I;if(Z===void 0)I=!0;else if(typeof Z==="boolean")I=Z;else{let W=[];for(let[J,X]of Object.entries(Z))if(X)W.push(J);I=W}return{include:{ip:Q,user:I,request:Y.length!==0?Y:void 0,transaction:B}}}function OkQ(A){try{return A.getOptions()._metadata.sdk.name}catch(B){return}}$a0.RequestData=LkQ;$a0.requestDataIntegration=Ua0});var $a1=U((La0)=>{Object.defineProperty(La0,"__esModule",{value:!0});var vW=NA(),Zg=ZI(),qa0=VT(),PkQ=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/],jkQ=[/^.*\/healthcheck$/,/^.*\/healthy$/,/^.*\/live$/,/^.*\/ready$/,/^.*\/heartbeat$/,/^.*\/health$/,/^.*\/healthz$/],Ea0="InboundFilters",SkQ=(A={})=>{return{name:Ea0,setupOnce(){},processEvent(B,Q,Z){let G=Z.getOptions(),Y=kkQ(A,G);return _kQ(B,Y)?null:B}}},Na0=qa0.defineIntegration(SkQ),ykQ=qa0.convertIntegrationFnToClass(Ea0,Na0);function kkQ(A={},B={}){return{allowUrls:[...A.allowUrls||[],...B.allowUrls||[]],denyUrls:[...A.denyUrls||[],...B.denyUrls||[]],ignoreErrors:[...A.ignoreErrors||[],...B.ignoreErrors||[],...A.disableErrorDefaults?[]:PkQ],ignoreTransactions:[...A.ignoreTransactions||[],...B.ignoreTransactions||[],...A.disableTransactionDefaults?[]:jkQ],ignoreInternal:A.ignoreInternal!==void 0?A.ignoreInternal:!0}}function _kQ(A,B){if(B.ignoreInternal&&gkQ(A))return Zg.DEBUG_BUILD&&vW.logger.warn(`Event dropped due to being internal Sentry Error. +Event: ${vW.getEventDescription(A)}`),!0;if(xkQ(A,B.ignoreErrors))return Zg.DEBUG_BUILD&&vW.logger.warn(`Event dropped due to being matched by \`ignoreErrors\` option. +Event: ${vW.getEventDescription(A)}`),!0;if(vkQ(A,B.ignoreTransactions))return Zg.DEBUG_BUILD&&vW.logger.warn(`Event dropped due to being matched by \`ignoreTransactions\` option. +Event: ${vW.getEventDescription(A)}`),!0;if(bkQ(A,B.denyUrls))return Zg.DEBUG_BUILD&&vW.logger.warn(`Event dropped due to being matched by \`denyUrls\` option. +Event: ${vW.getEventDescription(A)}. +Url: ${hz1(A)}`),!0;if(!fkQ(A,B.allowUrls))return Zg.DEBUG_BUILD&&vW.logger.warn(`Event dropped due to not being matched by \`allowUrls\` option. +Event: ${vW.getEventDescription(A)}. +Url: ${hz1(A)}`),!0;return!1}function xkQ(A,B){if(A.type||!B||!B.length)return!1;return hkQ(A).some((Q)=>vW.stringMatchesSomePattern(Q,B))}function vkQ(A,B){if(A.type!=="transaction"||!B||!B.length)return!1;let Q=A.transaction;return Q?vW.stringMatchesSomePattern(Q,B):!1}function bkQ(A,B){if(!B||!B.length)return!1;let Q=hz1(A);return!Q?!1:vW.stringMatchesSomePattern(Q,B)}function fkQ(A,B){if(!B||!B.length)return!0;let Q=hz1(A);return!Q?!0:vW.stringMatchesSomePattern(Q,B)}function hkQ(A){let B=[];if(A.message)B.push(A.message);let Q;try{Q=A.exception.values[A.exception.values.length-1]}catch(Z){}if(Q){if(Q.value){if(B.push(Q.value),Q.type)B.push(`${Q.type}: ${Q.value}`)}}if(Zg.DEBUG_BUILD&&B.length===0)vW.logger.error(`Could not extract message for event ${vW.getEventDescription(A)}`);return B}function gkQ(A){try{return A.exception.values[0].type==="SentryError"}catch(B){}return!1}function ukQ(A=[]){for(let B=A.length-1;B>=0;B--){let Q=A[B];if(Q&&Q.filename!==" "&&Q.filename!=="[native code]")return Q.filename||null}return null}function hz1(A){try{let B;try{B=A.exception.values[0].stacktrace.frames}catch(Q){}return B?ukQ(B):null}catch(B){return Zg.DEBUG_BUILD&&vW.logger.error(`Cannot extract url for event ${vW.getEventDescription(A)}`),null}}La0.InboundFilters=ykQ;La0.inboundFiltersIntegration=Na0});var wa1=U((ja0)=>{Object.defineProperty(ja0,"__esModule",{value:!0});var ckQ=NA(),lkQ=PC(),Ra0=VT(),Ma0,Ta0="FunctionToString",Oa0=new WeakMap,pkQ=()=>{return{name:Ta0,setupOnce(){Ma0=Function.prototype.toString;try{Function.prototype.toString=function(...A){let B=ckQ.getOriginalFunction(this),Q=Oa0.has(lkQ.getClient())&&B!==void 0?B:this;return Ma0.apply(Q,A)}}catch(A){}},setup(A){Oa0.set(A,!0)}}},Pa0=Ra0.defineIntegration(pkQ),ikQ=Ra0.convertIntegrationFnToClass(Ta0,Pa0);ja0.FunctionToString=ikQ;ja0.functionToStringIntegration=Pa0});var qa1=U((xa0)=>{Object.defineProperty(xa0,"__esModule",{value:!0});var Sa0=NA(),ya0=VT(),skQ="cause",rkQ=5,ka0="LinkedErrors",okQ=(A={})=>{let B=A.limit||rkQ,Q=A.key||skQ;return{name:ka0,setupOnce(){},preprocessEvent(Z,G,Y){let I=Y.getOptions();Sa0.applyAggregateErrorsToEvent(Sa0.exceptionFromError,I.stackParser,I.maxValueLength,Q,B,Z,G)}}},_a0=ya0.defineIntegration(okQ),tkQ=ya0.convertIntegrationFnToClass(ka0,_a0);xa0.LinkedErrors=tkQ;xa0.linkedErrorsIntegration=_a0});var ba0=U((va0)=>{Object.defineProperty(va0,"__esModule",{value:!0});var B_Q=wa1(),Q_Q=$a1(),Z_Q=qa1();va0.FunctionToString=B_Q.FunctionToString;va0.InboundFilters=Q_Q.InboundFilters;va0.LinkedErrors=Z_Q.LinkedErrors});var ua0=U((ga0)=>{Object.defineProperty(ga0,"__esModule",{value:!0});var W_Q=NA(),fa0=W91(),J_Q=Fa1(),X_Q=Z91(),gz1=I91();class ha0{constructor(A){this._client=A,this._buckets=new Map,this._interval=setInterval(()=>this.flush(),fa0.DEFAULT_BROWSER_FLUSH_INTERVAL)}add(A,B,Q,Z="none",G={},Y=W_Q.timestampInSeconds()){let I=Math.floor(Y),W=gz1.sanitizeMetricKey(B),J=gz1.sanitizeTags(G),X=gz1.sanitizeUnit(Z),F=gz1.getBucketKey(A,W,X,J),V=this._buckets.get(F),K=V&&A===fa0.SET_METRIC_TYPE?V.metric.weight:0;if(V){if(V.metric.add(Q),V.timestampB);this._client.captureAggregateMetrics(A)}this._buckets.clear()}close(){clearInterval(this._interval),this.flush()}}ga0.BrowserMetricsAggregator=ha0});var pa0=U((la0)=>{Object.defineProperty(la0,"__esModule",{value:!0});var ma0=VT(),V_Q=ua0(),da0="MetricsAggregator",K_Q=()=>{return{name:da0,setupOnce(){},setup(A){A.metricsAggregator=new V_Q.BrowserMetricsAggregator(A)}}},ca0=ma0.defineIntegration(K_Q),z_Q=ma0.convertIntegrationFnToClass(da0,ca0);la0.MetricsAggregator=z_Q;la0.metricsAggregatorIntegration=ca0});var Bs0=U((As0)=>{Object.defineProperty(As0,"__esModule",{value:!0});var ia0=NA(),na0=ZI(),aa0=PC(),C_Q=cK(),uz1=W91(),sa0=pa0();function mz1(A,B,Q,Z={}){let G=aa0.getClient(),Y=aa0.getCurrentScope();if(G){if(!G.metricsAggregator){na0.DEBUG_BUILD&&ia0.logger.warn("No metrics aggregator enabled. Please add the MetricsAggregator integration to use metrics APIs");return}let{unit:I,tags:W,timestamp:J}=Z,{release:X,environment:F}=G.getOptions(),V=Y.getTransaction(),K={};if(X)K.release=X;if(F)K.environment=F;if(V)K.transaction=C_Q.spanToJSON(V).description||"";na0.DEBUG_BUILD&&ia0.logger.log(`Adding value of ${Q} to ${A} metric ${B}`),G.metricsAggregator.add(A,B,Q,I,{...K,...W},J)}}function ra0(A,B=1,Q){mz1(uz1.COUNTER_METRIC_TYPE,A,B,Q)}function oa0(A,B,Q){mz1(uz1.DISTRIBUTION_METRIC_TYPE,A,B,Q)}function ta0(A,B,Q){mz1(uz1.SET_METRIC_TYPE,A,B,Q)}function ea0(A,B,Q){mz1(uz1.GAUGE_METRIC_TYPE,A,B,Q)}var U_Q={increment:ra0,distribution:oa0,set:ta0,gauge:ea0,MetricsAggregator:sa0.MetricsAggregator,metricsAggregatorIntegration:sa0.metricsAggregatorIntegration};As0.distribution=oa0;As0.gauge=ea0;As0.increment=ra0;As0.metrics=U_Q;As0.set=ta0});var j9=U((La1)=>{Object.defineProperty(La1,"__esModule",{value:!0});var Qs0=on1(),Zs0=sn1(),L_Q=Oz1(),M_Q=Pz1(),Gs0=$z1(),dz1=ji(),Gg=Mz1(),Ys0=eh(),O_Q=Qn0(),R_Q=rn1(),X91=G91(),Is0=tn1(),J3=PC(),xN=yN(),Ea1=Oi(),T_Q=en1(),Na1=Kz1(),Ws0=sQ1(),Js0=kz1(),Xs0=Za1(),P_Q=yn0(),Fs0=vn0(),j_Q=un0(),S_Q=cn0(),y_Q=pn0(),k_Q=Dz1(),cz1=VT(),Vs0=Vz1(),__Q=Fz1(),x_Q=Ya1(),v_Q=an0(),b_Q=qz1(),f_Q=on0(),h_Q=pn1(),g_Q=en0(),lz1=cK(),u_Q=Ri(),m_Q=Qa0(),d_Q=Mi(),Ks0=za0(),zs0=wa0(),Hs0=$a1(),Ds0=wa1(),Cs0=qa1(),c_Q=ba0(),l_Q=Bs0(),p_Q=c_Q;La1.addTracingExtensions=Qs0.addTracingExtensions;La1.startIdleTransaction=Qs0.startIdleTransaction;La1.IdleTransaction=Zs0.IdleTransaction;La1.TRACING_DEFAULTS=Zs0.TRACING_DEFAULTS;La1.Span=L_Q.Span;La1.Transaction=M_Q.Transaction;La1.extractTraceparentData=Gs0.extractTraceparentData;La1.getActiveTransaction=Gs0.getActiveTransaction;Object.defineProperty(La1,"SpanStatus",{enumerable:!0,get:()=>dz1.SpanStatus});La1.getSpanStatusFromHttpCode=dz1.getSpanStatusFromHttpCode;La1.setHttpStatus=dz1.setHttpStatus;La1.spanStatusfromHttpCode=dz1.spanStatusfromHttpCode;La1.continueTrace=Gg.continueTrace;La1.getActiveSpan=Gg.getActiveSpan;La1.startActiveSpan=Gg.startActiveSpan;La1.startInactiveSpan=Gg.startInactiveSpan;La1.startSpan=Gg.startSpan;La1.startSpanManual=Gg.startSpanManual;La1.trace=Gg.trace;La1.getDynamicSamplingContextFromClient=Ys0.getDynamicSamplingContextFromClient;La1.getDynamicSamplingContextFromSpan=Ys0.getDynamicSamplingContextFromSpan;La1.setMeasurement=O_Q.setMeasurement;La1.isValidSampleRate=R_Q.isValidSampleRate;La1.SEMANTIC_ATTRIBUTE_PROFILE_ID=X91.SEMANTIC_ATTRIBUTE_PROFILE_ID;La1.SEMANTIC_ATTRIBUTE_SENTRY_OP=X91.SEMANTIC_ATTRIBUTE_SENTRY_OP;La1.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN=X91.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN;La1.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE=X91.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE;La1.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE=X91.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE;La1.createEventEnvelope=Is0.createEventEnvelope;La1.createSessionEnvelope=Is0.createSessionEnvelope;La1.addBreadcrumb=J3.addBreadcrumb;La1.captureCheckIn=J3.captureCheckIn;La1.captureEvent=J3.captureEvent;La1.captureException=J3.captureException;La1.captureMessage=J3.captureMessage;La1.captureSession=J3.captureSession;La1.close=J3.close;La1.configureScope=J3.configureScope;La1.endSession=J3.endSession;La1.flush=J3.flush;La1.getClient=J3.getClient;La1.getCurrentScope=J3.getCurrentScope;La1.isInitialized=J3.isInitialized;La1.lastEventId=J3.lastEventId;La1.setContext=J3.setContext;La1.setExtra=J3.setExtra;La1.setExtras=J3.setExtras;La1.setTag=J3.setTag;La1.setTags=J3.setTags;La1.setUser=J3.setUser;La1.startSession=J3.startSession;La1.startTransaction=J3.startTransaction;La1.withActiveSpan=J3.withActiveSpan;La1.withIsolationScope=J3.withIsolationScope;La1.withMonitor=J3.withMonitor;La1.withScope=J3.withScope;La1.Hub=xN.Hub;La1.ensureHubOnCarrier=xN.ensureHubOnCarrier;La1.getCurrentHub=xN.getCurrentHub;La1.getHubFromCarrier=xN.getHubFromCarrier;La1.getIsolationScope=xN.getIsolationScope;La1.getMainCarrier=xN.getMainCarrier;La1.makeMain=xN.makeMain;La1.runWithAsyncContext=xN.runWithAsyncContext;La1.setAsyncContextStrategy=xN.setAsyncContextStrategy;La1.setHubOnCarrier=xN.setHubOnCarrier;La1.closeSession=Ea1.closeSession;La1.makeSession=Ea1.makeSession;La1.updateSession=Ea1.updateSession;La1.SessionFlusher=T_Q.SessionFlusher;La1.Scope=Na1.Scope;La1.getGlobalScope=Na1.getGlobalScope;La1.setGlobalScope=Na1.setGlobalScope;La1.addGlobalEventProcessor=Ws0.addGlobalEventProcessor;La1.notifyEventProcessors=Ws0.notifyEventProcessors;La1.getEnvelopeEndpointWithUrlEncodedAuth=Js0.getEnvelopeEndpointWithUrlEncodedAuth;La1.getReportDialogEndpoint=Js0.getReportDialogEndpoint;La1.BaseClient=Xs0.BaseClient;La1.addEventProcessor=Xs0.addEventProcessor;La1.ServerRuntimeClient=P_Q.ServerRuntimeClient;La1.initAndBind=Fs0.initAndBind;La1.setCurrentClient=Fs0.setCurrentClient;La1.createTransport=j_Q.createTransport;La1.makeOfflineTransport=S_Q.makeOfflineTransport;La1.makeMultiplexedTransport=y_Q.makeMultiplexedTransport;La1.SDK_VERSION=k_Q.SDK_VERSION;La1.addIntegration=cz1.addIntegration;La1.convertIntegrationFnToClass=cz1.convertIntegrationFnToClass;La1.defineIntegration=cz1.defineIntegration;La1.getIntegrationsToSetup=cz1.getIntegrationsToSetup;La1.applyScopeDataToEvent=Vs0.applyScopeDataToEvent;La1.mergeScopeData=Vs0.mergeScopeData;La1.prepareEvent=__Q.prepareEvent;La1.createCheckInEnvelope=x_Q.createCheckInEnvelope;La1.createSpanEnvelope=v_Q.createSpanEnvelope;La1.hasTracingEnabled=b_Q.hasTracingEnabled;La1.isSentryRequestUrl=f_Q.isSentryRequestUrl;La1.handleCallbackErrors=h_Q.handleCallbackErrors;La1.parameterize=g_Q.parameterize;La1.spanIsSampled=lz1.spanIsSampled;La1.spanToJSON=lz1.spanToJSON;La1.spanToTraceContext=lz1.spanToTraceContext;La1.spanToTraceHeader=lz1.spanToTraceHeader;La1.getRootSpan=u_Q.getRootSpan;La1.applySdkMetadata=m_Q.applySdkMetadata;La1.DEFAULT_ENVIRONMENT=d_Q.DEFAULT_ENVIRONMENT;La1.ModuleMetadata=Ks0.ModuleMetadata;La1.moduleMetadataIntegration=Ks0.moduleMetadataIntegration;La1.RequestData=zs0.RequestData;La1.requestDataIntegration=zs0.requestDataIntegration;La1.InboundFilters=Hs0.InboundFilters;La1.inboundFiltersIntegration=Hs0.inboundFiltersIntegration;La1.FunctionToString=Ds0.FunctionToString;La1.functionToStringIntegration=Ds0.functionToStringIntegration;La1.LinkedErrors=Cs0.LinkedErrors;La1.linkedErrorsIntegration=Cs0.linkedErrorsIntegration;La1.metrics=l_Q.metrics;La1.Integrations=p_Q});var iK=U((Us0)=>{Object.defineProperty(Us0,"__esModule",{value:!0});var BbQ=typeof __SENTRY_DEBUG__==="undefined"||__SENTRY_DEBUG__;Us0.DEBUG_BUILD=BbQ});var Gk=U((ws0)=>{var{_optionalChain:$s0}=NA();Object.defineProperty(ws0,"__esModule",{value:!0});function ZbQ(A){let B=$s0([A,"call",(Z)=>Z(),"access",(Z)=>Z.getClient,"call",(Z)=>Z(),"optionalAccess",(Z)=>Z.getOptions,"call",(Z)=>Z()]);return($s0([B,"optionalAccess",(Z)=>Z.instrumenter])||"sentry")!=="sentry"}ws0.shouldDisableAutoInstrumentation=ZbQ});var Ms0=U((Ls0)=>{var{_optionalChain:uw}=NA();Object.defineProperty(Ls0,"__esModule",{value:!0});var Ma1=j9(),nK=NA(),pz1=iK(),YbQ=Gk();class iz1{static __initStatic(){this.id="Express"}constructor(A={}){this.name=iz1.id,this._router=A.router||A.app,this._methods=(Array.isArray(A.methods)?A.methods:[]).concat("use")}setupOnce(A,B){if(!this._router){pz1.DEBUG_BUILD&&nK.logger.error("ExpressIntegration is missing an Express instance");return}if(YbQ.shouldDisableAutoInstrumentation(B)){pz1.DEBUG_BUILD&&nK.logger.log("Express Integration is skipped because of instrumenter configuration.");return}JbQ(this._router,this._methods),XbQ(this._router)}}iz1.__initStatic();function qs0(A,B){let Q=A.length;switch(Q){case 2:return function(Z,G){let Y=G.__sentry_transaction;if(Y){let I=Y.startChild({description:A.name,op:`middleware.express.${B}`,origin:"auto.middleware.express"});G.once("finish",()=>{I.end()})}return A.call(this,Z,G)};case 3:return function(Z,G,Y){let I=G.__sentry_transaction,W=uw([I,"optionalAccess",(J)=>J.startChild,"call",(J)=>J({description:A.name,op:`middleware.express.${B}`,origin:"auto.middleware.express"})]);A.call(this,Z,G,function(...J){uw([W,"optionalAccess",(X)=>X.end,"call",(X)=>X()]),Y.call(this,...J)})};case 4:return function(Z,G,Y,I){let W=Y.__sentry_transaction,J=uw([W,"optionalAccess",(X)=>X.startChild,"call",(X)=>X({description:A.name,op:`middleware.express.${B}`,origin:"auto.middleware.express"})]);A.call(this,Z,G,Y,function(...X){uw([J,"optionalAccess",(F)=>F.end,"call",(F)=>F()]),I.call(this,...X)})};default:throw new Error(`Express middleware takes 2-4 arguments. Got: ${Q}`)}}function IbQ(A,B){return A.map((Q)=>{if(typeof Q==="function")return qs0(Q,B);if(Array.isArray(Q))return Q.map((Z)=>{if(typeof Z==="function")return qs0(Z,B);return Z});return Q})}function WbQ(A,B){let Q=A[B];return A[B]=function(...Z){return Q.call(this,...IbQ(Z,B))},A}function JbQ(A,B=[]){B.forEach((Q)=>WbQ(A,Q))}function XbQ(A){let B="settings"in A;if(B&&A._router===void 0&&A.lazyrouter)A.lazyrouter();let Q=B?A._router:A;if(!Q){pz1.DEBUG_BUILD&&nK.logger.debug("Cannot instrument router for URL Parameterization (did not find a valid router)."),pz1.DEBUG_BUILD&&nK.logger.debug("Routing instrumentation is currently only supported in Express 4.");return}let Z=Object.getPrototypeOf(Q),G=Z.process_params;Z.process_params=function Y(I,W,J,X,F){if(!J._reconstructedRoute)J._reconstructedRoute="";let{layerRoutePath:V,isRegex:K,isArray:z,numExtraSegments:H}=FbQ(I);if(V||K||z)J._hasParameters=!0;let D;if(V)D=V;else D=Ns0(J.originalUrl,J._reconstructedRoute,I.path)||"";let C=D.split("/").filter((L)=>L.length>0&&(K||z||!L.includes("*"))).join("/");if(C&&C.length>0)J._reconstructedRoute+=`/${C}${K?"/":""}`;let w=nK.getNumberOfUrlSegments(nK.stripUrlQueryAndFragment(J.originalUrl||""))+H,E=nK.getNumberOfUrlSegments(J._reconstructedRoute);if(w===E){if(!J._hasParameters){if(J._reconstructedRoute!==J.originalUrl)J._reconstructedRoute=J.originalUrl?nK.stripUrlQueryAndFragment(J.originalUrl):J.originalUrl}let L=X.__sentry_transaction,O=L&&Ma1.spanToJSON(L).data||{};if(L&&O[Ma1.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]!=="custom"){let R=J._reconstructedRoute||"/",[P,k]=nK.extractPathForTransaction(J,{path:!0,method:!0,customRoute:R});L.updateName(P),L.setAttribute(Ma1.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,k)}}return G.call(this,I,W,J,X,F)}}var Es0=(A,B,Q)=>{if(!A||!B||!Q||Object.keys(Q).length===0||uw([Q,"access",(X)=>X[0],"optionalAccess",(X)=>X.offset])===void 0||uw([Q,"access",(X)=>X[0],"optionalAccess",(X)=>X.offset])===null)return;let Z=Q.sort((X,F)=>X.offset-F.offset),Y=new RegExp(B,`${B.flags}d`).exec(A);if(!Y||!Y.indices)return;let[,...I]=Y.indices;if(I.length!==Z.length)return;let W=A,J=0;return I.forEach((X,F)=>{if(X){let[V,K]=X,z=W.substring(0,V-J),H=`:${Z[F].name}`,D=W.substring(K-J);W=z+H+D,J=J+(K-V-H.length)}}),W};function FbQ(A){let B=uw([A,"access",(I)=>I.route,"optionalAccess",(I)=>I.path]),Q=nK.isRegExp(B),Z=Array.isArray(B);if(!B){let[I]=nK.GLOBAL_OBJ.process.versions.node.split(".").map(Number);if(I>=16)B=Es0(A.path,A.regexp,A.keys)}if(!B)return{isRegex:Q,isArray:Z,numExtraSegments:0};let G=Z?Math.max(VbQ(B)-nK.getNumberOfUrlSegments(A.path||""),0):0;return{layerRoutePath:KbQ(Z,B),isRegex:Q,isArray:Z,numExtraSegments:G}}function VbQ(A){return A.reduce((B,Q)=>{return B+nK.getNumberOfUrlSegments(Q.toString())},0)}function KbQ(A,B){if(A)return B.map((Q)=>Q.toString()).join(",");return B&&B.toString()}function Ns0(A,B,Q){let Z=nK.stripUrlQueryAndFragment(A||""),G=uw([Z,"optionalAccess",(J)=>J.split,"call",(J)=>J("/"),"access",(J)=>J.filter,"call",(J)=>J((X)=>!!X)]),Y=0,I=uw([B,"optionalAccess",(J)=>J.split,"call",(J)=>J("/"),"access",(J)=>J.filter,"call",(J)=>J((X)=>!!X),"access",(J)=>J.length])||0;return uw([Q,"optionalAccess",(J)=>J.split,"call",(J)=>J("/"),"access",(J)=>J.filter,"call",(J)=>J((X)=>{if(uw([G,"optionalAccess",(F)=>F[I+Y]])===X)return Y+=1,!0;return!1}),"access",(J)=>J.join,"call",(J)=>J("/")])}Ls0.Express=iz1;Ls0.extractOriginalRoute=Es0;Ls0.preventDuplicateSegments=Ns0});var Rs0=U((Os0)=>{var{_optionalChain:bi}=NA();Object.defineProperty(Os0,"__esModule",{value:!0});var fi=NA(),Oa1=iK(),CbQ=Gk();class nz1{static __initStatic(){this.id="Postgres"}constructor(A={}){this.name=nz1.id,this._usePgNative=!!A.usePgNative,this._module=A.module}loadDependency(){return this._module=this._module||fi.loadModule("pg")}setupOnce(A,B){if(CbQ.shouldDisableAutoInstrumentation(B)){Oa1.DEBUG_BUILD&&fi.logger.log("Postgres Integration is skipped because of instrumenter configuration.");return}let Q=this.loadDependency();if(!Q){Oa1.DEBUG_BUILD&&fi.logger.error("Postgres Integration was unable to require `pg` package.");return}let Z=this._usePgNative?bi([Q,"access",(G)=>G.native,"optionalAccess",(G)=>G.Client]):Q.Client;if(!Z){Oa1.DEBUG_BUILD&&fi.logger.error("Postgres Integration was unable to access 'pg-native' bindings.");return}fi.fill(Z.prototype,"query",function(G){return function(Y,I,W){let X=B().getScope().getSpan(),F={"db.system":"postgresql"};try{if(this.database)F["db.name"]=this.database;if(this.host)F["server.address"]=this.host;if(this.port)F["server.port"]=this.port;if(this.user)F["db.user"]=this.user}catch(z){}let V=bi([X,"optionalAccess",(z)=>z.startChild,"call",(z)=>z({description:typeof Y==="string"?Y:Y.text,op:"db",origin:"auto.db.postgres",data:F})]);if(typeof W==="function")return G.call(this,Y,I,function(z,H){bi([V,"optionalAccess",(D)=>D.end,"call",(D)=>D()]),W(z,H)});if(typeof I==="function")return G.call(this,Y,function(z,H){bi([V,"optionalAccess",(D)=>D.end,"call",(D)=>D()]),I(z,H)});let K=typeof I!=="undefined"?G.call(this,Y,I):G.call(this,Y);if(fi.isThenable(K))return K.then((z)=>{return bi([V,"optionalAccess",(H)=>H.end,"call",(H)=>H()]),z});return bi([V,"optionalAccess",(z)=>z.end,"call",(z)=>z()]),K}})}}nz1.__initStatic();Os0.Postgres=nz1});var Ps0=U((Ts0)=>{var{_optionalChain:$bQ}=NA();Object.defineProperty(Ts0,"__esModule",{value:!0});var F91=NA(),Ra1=iK(),wbQ=Gk();class az1{static __initStatic(){this.id="Mysql"}constructor(){this.name=az1.id}loadDependency(){return this._module=this._module||F91.loadModule("mysql/lib/Connection.js")}setupOnce(A,B){if(wbQ.shouldDisableAutoInstrumentation(B)){Ra1.DEBUG_BUILD&&F91.logger.log("Mysql Integration is skipped because of instrumenter configuration.");return}let Q=this.loadDependency();if(!Q){Ra1.DEBUG_BUILD&&F91.logger.error("Mysql Integration was unable to require `mysql` package.");return}let Z=void 0;try{Q.prototype.connect=new Proxy(Q.prototype.connect,{apply(I,W,J){if(!Z)Z=W.config;return I.apply(W,J)}})}catch(I){Ra1.DEBUG_BUILD&&F91.logger.error("Mysql Integration was unable to instrument `mysql` config.")}function G(){if(!Z)return{};return{"server.address":Z.host,"server.port":Z.port,"db.user":Z.user}}function Y(I){if(!I)return;let W=G();Object.keys(W).forEach((J)=>{I.setAttribute(J,W[J])}),I.end()}F91.fill(Q,"createQuery",function(I){return function(W,J,X){let V=B().getScope().getSpan(),K=$bQ([V,"optionalAccess",(H)=>H.startChild,"call",(H)=>H({description:typeof W==="string"?W:W.sql,op:"db",origin:"auto.db.mysql",data:{"db.system":"mysql"}})]);if(typeof X==="function")return I.call(this,W,J,function(H,D,C){Y(K),X(H,D,C)});if(typeof J==="function")return I.call(this,W,function(H,D,C){Y(K),J(H,D,C)});let z=I.call(this,W,J);return z.on("end",()=>{Y(K)}),z}})}}az1.__initStatic();Ts0.Mysql=az1});var ys0=U((Ss0)=>{var{_optionalChain:Yk}=NA();Object.defineProperty(Ss0,"__esModule",{value:!0});var V91=NA(),js0=iK(),EbQ=Gk(),NbQ=["aggregate","bulkWrite","countDocuments","createIndex","createIndexes","deleteMany","deleteOne","distinct","drop","dropIndex","dropIndexes","estimatedDocumentCount","find","findOne","findOneAndDelete","findOneAndReplace","findOneAndUpdate","indexes","indexExists","indexInformation","initializeOrderedBulkOp","insertMany","insertOne","isCapped","mapReduce","options","parallelCollectionScan","rename","replaceOne","stats","updateMany","updateOne"],LbQ={bulkWrite:["operations"],countDocuments:["query"],createIndex:["fieldOrSpec"],createIndexes:["indexSpecs"],deleteMany:["filter"],deleteOne:["filter"],distinct:["key","query"],dropIndex:["indexName"],find:["query"],findOne:["query"],findOneAndDelete:["filter"],findOneAndReplace:["filter","replacement"],findOneAndUpdate:["filter","update"],indexExists:["indexes"],insertMany:["docs"],insertOne:["doc"],mapReduce:["map","reduce"],rename:["newName"],replaceOne:["filter","doc"],updateMany:["filter","update"],updateOne:["filter","update"]};function MbQ(A){return A&&typeof A==="object"&&A.once&&typeof A.once==="function"}class sz1{static __initStatic(){this.id="Mongo"}constructor(A={}){this.name=sz1.id,this._operations=Array.isArray(A.operations)?A.operations:NbQ,this._describeOperations="describeOperations"in A?A.describeOperations:!0,this._useMongoose=!!A.useMongoose}loadDependency(){let A=this._useMongoose?"mongoose":"mongodb";return this._module=this._module||V91.loadModule(A)}setupOnce(A,B){if(EbQ.shouldDisableAutoInstrumentation(B)){js0.DEBUG_BUILD&&V91.logger.log("Mongo Integration is skipped because of instrumenter configuration.");return}let Q=this.loadDependency();if(!Q){let Z=this._useMongoose?"mongoose":"mongodb";js0.DEBUG_BUILD&&V91.logger.error(`Mongo Integration was unable to require \`${Z}\` package.`);return}this._instrumentOperations(Q.Collection,this._operations,B)}_instrumentOperations(A,B,Q){B.forEach((Z)=>this._patchOperation(A,Z,Q))}_patchOperation(A,B,Q){if(!(B in A.prototype))return;let Z=this._getSpanContextFromOperationArguments.bind(this);V91.fill(A.prototype,B,function(G){return function(...Y){let I=Y[Y.length-1],W=Q(),J=W.getScope(),X=W.getClient(),F=J.getSpan(),V=Yk([X,"optionalAccess",(z)=>z.getOptions,"call",(z)=>z(),"access",(z)=>z.sendDefaultPii]);if(typeof I!=="function"||B==="mapReduce"&&Y.length===2){let z=Yk([F,"optionalAccess",(D)=>D.startChild,"call",(D)=>D(Z(this,B,Y,V))]),H=G.call(this,...Y);if(V91.isThenable(H))return H.then((D)=>{return Yk([z,"optionalAccess",(C)=>C.end,"call",(C)=>C()]),D});else if(MbQ(H)){let D=H;try{D.once("close",()=>{Yk([z,"optionalAccess",(C)=>C.end,"call",(C)=>C()])})}catch(C){Yk([z,"optionalAccess",(w)=>w.end,"call",(w)=>w()])}return D}else return Yk([z,"optionalAccess",(D)=>D.end,"call",(D)=>D()]),H}let K=Yk([F,"optionalAccess",(z)=>z.startChild,"call",(z)=>z(Z(this,B,Y.slice(0,-1)))]);return G.call(this,...Y.slice(0,-1),function(z,H){Yk([K,"optionalAccess",(D)=>D.end,"call",(D)=>D()]),I(z,H)})}})}_getSpanContextFromOperationArguments(A,B,Q,Z=!1){let G={"db.system":"mongodb","db.name":A.dbName,"db.operation":B,"db.mongodb.collection":A.collectionName},Y={op:"db",origin:"auto.db.mongo",description:B,data:G},I=LbQ[B],W=Array.isArray(this._describeOperations)?this._describeOperations.includes(B):this._describeOperations;if(!I||!W||!Z)return Y;try{if(B==="mapReduce"){let[J,X]=Q;G[I[0]]=typeof J==="string"?J:J.name||" ",G[I[1]]=typeof X==="string"?X:X.name||" "}else for(let J=0;J {Object.defineProperty(_s0,"__esModule",{value:!0});var Ta1=j9(),ks0=NA(),RbQ=iK(),TbQ=Gk();function PbQ(A){return!!A&&!!A.$use}class rz1{static __initStatic(){this.id="Prisma"}constructor(A={}){if(this.name=rz1.id,PbQ(A.client)&&!A.client._sentryInstrumented){ks0.addNonEnumerableProperty(A.client,"_sentryInstrumented",!0);let B={};try{let Q=A.client._engineConfig;if(Q){let{activeProvider:Z,clientVersion:G}=Q;if(Z)B["db.system"]=Z;if(G)B["db.prisma.version"]=G}}catch(Q){}A.client.$use((Q,Z)=>{if(TbQ.shouldDisableAutoInstrumentation(Ta1.getCurrentHub))return Z(Q);let{action:G,model:Y}=Q;return Ta1.startSpan({name:Y?`${Y} ${G}`:G,onlyIfParent:!0,op:"db.prisma",attributes:{[Ta1.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]:"auto.db.prisma"},data:{...B,"db.operation":G}},()=>Z(Q))})}else RbQ.DEBUG_BUILD&&ks0.logger.warn("Unsupported Prisma client provided to PrismaIntegration. Provided client:",A.client)}setupOnce(){}}rz1.__initStatic();_s0.Prisma=rz1});var fs0=U((bs0)=>{var{_optionalChain:hi}=NA();Object.defineProperty(bs0,"__esModule",{value:!0});var K91=NA(),vs0=iK(),SbQ=Gk();class oz1{static __initStatic(){this.id="GraphQL"}constructor(){this.name=oz1.id}loadDependency(){return this._module=this._module||K91.loadModule("graphql/execution/execute.js")}setupOnce(A,B){if(SbQ.shouldDisableAutoInstrumentation(B)){vs0.DEBUG_BUILD&&K91.logger.log("GraphQL Integration is skipped because of instrumenter configuration.");return}let Q=this.loadDependency();if(!Q){vs0.DEBUG_BUILD&&K91.logger.error("GraphQL Integration was unable to require graphql/execution package.");return}K91.fill(Q,"execute",function(Z){return function(...G){let Y=B().getScope(),I=Y.getSpan(),W=hi([I,"optionalAccess",(X)=>X.startChild,"call",(X)=>X({description:"execute",op:"graphql.execute",origin:"auto.graphql.graphql"})]);hi([Y,"optionalAccess",(X)=>X.setSpan,"call",(X)=>X(W)]);let J=Z.call(this,...G);if(K91.isThenable(J))return J.then((X)=>{return hi([W,"optionalAccess",(F)=>F.end,"call",(F)=>F()]),hi([Y,"optionalAccess",(F)=>F.setSpan,"call",(F)=>F(I)]),X});return hi([W,"optionalAccess",(X)=>X.end,"call",(X)=>X()]),hi([Y,"optionalAccess",(X)=>X.setSpan,"call",(X)=>X(I)]),J}})}}oz1.__initStatic();bs0.GraphQL=oz1});var us0=U((gs0)=>{var{_optionalChain:Pa1}=NA();Object.defineProperty(gs0,"__esModule",{value:!0});var JF=NA(),tz1=iK(),kbQ=Gk();class ez1{static __initStatic(){this.id="Apollo"}constructor(A={useNestjs:!1}){this.name=ez1.id,this._useNest=!!A.useNestjs}loadDependency(){if(this._useNest)this._module=this._module||JF.loadModule("@nestjs/graphql");else this._module=this._module||JF.loadModule("apollo-server-core");return this._module}setupOnce(A,B){if(kbQ.shouldDisableAutoInstrumentation(B)){tz1.DEBUG_BUILD&&JF.logger.log("Apollo Integration is skipped because of instrumenter configuration.");return}if(this._useNest){let Q=this.loadDependency();if(!Q){tz1.DEBUG_BUILD&&JF.logger.error("Apollo-NestJS Integration was unable to require @nestjs/graphql package.");return}JF.fill(Q.GraphQLFactory.prototype,"mergeWithSchema",function(Z){return function(...G){return JF.fill(this.resolversExplorerService,"explore",function(Y){return function(){let I=JF.arrayify(Y.call(this));return hs0(I,B)}}),Z.call(this,...G)}})}else{let Q=this.loadDependency();if(!Q){tz1.DEBUG_BUILD&&JF.logger.error("Apollo Integration was unable to require apollo-server-core package.");return}JF.fill(Q.ApolloServerBase.prototype,"constructSchema",function(Z){return function(){if(!this.config.resolvers){if(tz1.DEBUG_BUILD){if(this.config.schema)JF.logger.warn("Apollo integration is not able to trace `ApolloServer` instances constructed via `schema` property.If you are using NestJS with Apollo, please use `Sentry.Integrations.Apollo({ useNestjs: true })` instead."),JF.logger.warn();else if(this.config.modules)JF.logger.warn("Apollo integration is not able to trace `ApolloServer` instances constructed via `modules` property.");JF.logger.error("Skipping tracing as no resolvers found on the `ApolloServer` instance.")}return Z.call(this)}let G=JF.arrayify(this.config.resolvers);return this.config.resolvers=hs0(G,B),Z.call(this)}})}}}ez1.__initStatic();function hs0(A,B){return A.map((Q)=>{return Object.keys(Q).forEach((Z)=>{Object.keys(Q[Z]).forEach((G)=>{if(typeof Q[Z][G]!=="function")return;_bQ(Q,Z,G,B)})}),Q})}function _bQ(A,B,Q,Z){JF.fill(A[B],Q,function(G){return function(...Y){let W=Z().getScope().getSpan(),J=Pa1([W,"optionalAccess",(F)=>F.startChild,"call",(F)=>F({description:`${B}.${Q}`,op:"graphql.resolve",origin:"auto.graphql.apollo"})]),X=G.call(this,...Y);if(JF.isThenable(X))return X.then((F)=>{return Pa1([J,"optionalAccess",(V)=>V.end,"call",(V)=>V()]),F});return Pa1([J,"optionalAccess",(F)=>F.end,"call",(F)=>F()]),X}})}gs0.Apollo=ez1});var ds0=U((ms0,Ik)=>{Object.defineProperty(ms0,"__esModule",{value:!0});var Yg=NA(),vbQ=[()=>{return new(Yg.dynamicRequire(Ik,"./apollo")).Apollo},()=>{return new(Yg.dynamicRequire(Ik,"./apollo")).Apollo({useNestjs:!0})},()=>{return new(Yg.dynamicRequire(Ik,"./graphql")).GraphQL},()=>{return new(Yg.dynamicRequire(Ik,"./mongo")).Mongo},()=>{return new(Yg.dynamicRequire(Ik,"./mongo")).Mongo({mongoose:!0})},()=>{return new(Yg.dynamicRequire(Ik,"./mysql")).Mysql},()=>{return new(Yg.dynamicRequire(Ik,"./postgres")).Postgres}];ms0.lazyLoadedNodePerformanceMonitoringIntegrations=vbQ});var LH=U((cs0)=>{Object.defineProperty(cs0,"__esModule",{value:!0});var fbQ=NA(),hbQ=fbQ.GLOBAL_OBJ;cs0.WINDOW=hbQ});var Sa1=U((ns0)=>{Object.defineProperty(ns0,"__esModule",{value:!0});var ls0=j9(),ps0=NA(),is0=iK(),ja1=LH();function ubQ(){if(ja1.WINDOW.document)ja1.WINDOW.document.addEventListener("visibilitychange",()=>{let A=ls0.getActiveTransaction();if(ja1.WINDOW.document.hidden&&A){let{op:Q,status:Z}=ls0.spanToJSON(A);if(is0.DEBUG_BUILD&&ps0.logger.log(`[Tracing] Transaction: cancelled -> since tab moved to the background, op: ${Q}`),!Z)A.setStatus("cancelled");A.setTag("visibilitychange","document.hidden"),A.end()}});else is0.DEBUG_BUILD&&ps0.logger.warn("[Tracing] Could not set up background tab detection due to lack of global document")}ns0.registerBackgroundTabDetection=ubQ});var gi=U((as0)=>{Object.defineProperty(as0,"__esModule",{value:!0});var dbQ=(A,B,Q)=>{let Z,G;return(Y)=>{if(B.value>=0){if(Y||Q){if(G=B.value-(Z||0),G||Z===void 0)Z=B.value,B.delta=G,A(B)}}}};as0.bindReporter=dbQ});var rs0=U((ss0)=>{Object.defineProperty(ss0,"__esModule",{value:!0});var lbQ=()=>{return`v3-${Date.now()}-${Math.floor(Math.random()*8999999999999)+1000000000000}`};ss0.generateUniqueID=lbQ});var H91=U((os0)=>{Object.defineProperty(os0,"__esModule",{value:!0});var z91=LH(),ibQ=()=>{let A=z91.WINDOW.performance.timing,B=z91.WINDOW.performance.navigation.type,Q={entryType:"navigation",startTime:0,type:B==2?"back_forward":B===1?"reload":"navigate"};for(let Z in A)if(Z!=="navigationStart"&&Z!=="toJSON")Q[Z]=Math.max(A[Z]-A.navigationStart,0);return Q},nbQ=()=>{if(z91.WINDOW.__WEB_VITALS_POLYFILL__)return z91.WINDOW.performance&&(performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]||ibQ());else return z91.WINDOW.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]};os0.getNavigationEntry=nbQ});var AH1=U((ts0)=>{Object.defineProperty(ts0,"__esModule",{value:!0});var sbQ=H91(),rbQ=()=>{let A=sbQ.getNavigationEntry();return A&&A.activationStart||0};ts0.getActivationStart=rbQ});var ui=U((Ar0)=>{Object.defineProperty(Ar0,"__esModule",{value:!0});var es0=LH(),tbQ=rs0(),ebQ=AH1(),AfQ=H91(),BfQ=(A,B)=>{let Q=AfQ.getNavigationEntry(),Z="navigate";if(Q)if(es0.WINDOW.document&&es0.WINDOW.document.prerendering||ebQ.getActivationStart()>0)Z="prerender";else Z=Q.type.replace(/_/g,"-");return{name:A,value:typeof B==="undefined"?-1:B,rating:"good",delta:0,entries:[],id:tbQ.generateUniqueID(),navigationType:Z}};Ar0.initMetric=BfQ});var Ig=U((Br0)=>{Object.defineProperty(Br0,"__esModule",{value:!0});var ZfQ=(A,B,Q)=>{try{if(PerformanceObserver.supportedEntryTypes.includes(A)){let Z=new PerformanceObserver((G)=>{B(G.getEntries())});return Z.observe(Object.assign({type:A,buffered:!0},Q||{})),Z}}catch(Z){}return};Br0.observe=ZfQ});var mi=U((Zr0)=>{Object.defineProperty(Zr0,"__esModule",{value:!0});var Qr0=LH(),YfQ=(A,B)=>{let Q=(Z)=>{if(Z.type==="pagehide"||Qr0.WINDOW.document.visibilityState==="hidden"){if(A(Z),B)removeEventListener("visibilitychange",Q,!0),removeEventListener("pagehide",Q,!0)}};if(Qr0.WINDOW.document)addEventListener("visibilitychange",Q,!0),addEventListener("pagehide",Q,!0)};Zr0.onHidden=YfQ});var Yr0=U((Gr0)=>{Object.defineProperty(Gr0,"__esModule",{value:!0});var WfQ=gi(),JfQ=ui(),XfQ=Ig(),FfQ=mi(),VfQ=(A,B={})=>{let Q=JfQ.initMetric("CLS",0),Z,G=0,Y=[],I=(J)=>{J.forEach((X)=>{if(!X.hadRecentInput){let F=Y[0],V=Y[Y.length-1];if(G&&Y.length!==0&&X.startTime-V.startTime<1000&&X.startTime-F.startTime<5000)G+=X.value,Y.push(X);else G=X.value,Y=[X];if(G>Q.value){if(Q.value=G,Q.entries=Y,Z)Z()}}})},W=XfQ.observe("layout-shift",I);if(W){Z=WfQ.bindReporter(A,Q,B.reportAllChanges);let J=()=>{I(W.takeRecords()),Z(!0)};return FfQ.onHidden(J),J}return};Gr0.onCLS=VfQ});var ZH1=U((Ir0)=>{Object.defineProperty(Ir0,"__esModule",{value:!0});var BH1=LH(),zfQ=mi(),QH1=-1,HfQ=()=>{if(BH1.WINDOW.document&&BH1.WINDOW.document.visibilityState)QH1=BH1.WINDOW.document.visibilityState==="hidden"&&!BH1.WINDOW.document.prerendering?0:1/0},DfQ=()=>{zfQ.onHidden(({timeStamp:A})=>{QH1=A},!0)},CfQ=()=>{if(QH1<0)HfQ(),DfQ();return{get firstHiddenTime(){return QH1}}};Ir0.getVisibilityWatcher=CfQ});var Jr0=U((Wr0)=>{Object.defineProperty(Wr0,"__esModule",{value:!0});var $fQ=gi(),wfQ=ZH1(),qfQ=ui(),EfQ=Ig(),NfQ=mi(),LfQ=(A)=>{let B=wfQ.getVisibilityWatcher(),Q=qfQ.initMetric("FID"),Z,G=(W)=>{if(W.startTime {W.forEach(G)},I=EfQ.observe("first-input",Y);if(Z=$fQ.bindReporter(A,Q),I)NfQ.onHidden(()=>{Y(I.takeRecords()),I.disconnect()},!0)};Wr0.onFID=LfQ});var Vr0=U((Fr0)=>{Object.defineProperty(Fr0,"__esModule",{value:!0});var OfQ=Ig(),Xr0=0,ya1=1/0,GH1=0,RfQ=(A)=>{A.forEach((B)=>{if(B.interactionId)ya1=Math.min(ya1,B.interactionId),GH1=Math.max(GH1,B.interactionId),Xr0=GH1?(GH1-ya1)/7+1:0})},ka1,TfQ=()=>{return ka1?Xr0:performance.interactionCount||0},PfQ=()=>{if("interactionCount"in performance||ka1)return;ka1=OfQ.observe("event",RfQ,{type:"event",buffered:!0,durationThreshold:0})};Fr0.getInteractionCount=TfQ;Fr0.initInteractionCountPolyfill=PfQ});var Ur0=U((Cr0)=>{Object.defineProperty(Cr0,"__esModule",{value:!0});var yfQ=gi(),kfQ=ui(),_fQ=Ig(),xfQ=mi(),Hr0=Vr0(),Dr0=()=>{return Hr0.getInteractionCount()},Kr0=10,zT=[],_a1={},zr0=(A)=>{let B=zT[zT.length-1],Q=_a1[A.interactionId];if(Q||zT.length B.latency){if(Q)Q.entries.push(A),Q.latency=Math.max(Q.latency,A.duration);else{let Z={id:A.interactionId,latency:A.duration,entries:[A]};_a1[Z.id]=Z,zT.push(Z)}zT.sort((Z,G)=>G.latency-Z.latency),zT.splice(Kr0).forEach((Z)=>{delete _a1[Z.id]})}},vfQ=()=>{let A=Math.min(zT.length-1,Math.floor(Dr0()/50));return zT[A]},bfQ=(A,B)=>{B=B||{},Hr0.initInteractionCountPolyfill();let Q=kfQ.initMetric("INP"),Z,G=(I)=>{I.forEach((J)=>{if(J.interactionId)zr0(J);if(J.entryType==="first-input"){if(!zT.some((F)=>{return F.entries.some((V)=>{return J.duration===V.duration&&J.startTime===V.startTime})}))zr0(J)}});let W=vfQ();if(W&&W.latency!==Q.value)Q.value=W.latency,Q.entries=W.entries,Z()},Y=_fQ.observe("event",G,{durationThreshold:B.durationThreshold||40});if(Z=yfQ.bindReporter(A,Q,B.reportAllChanges),Y)Y.observe({type:"first-input",buffered:!0}),xfQ.onHidden(()=>{if(G(Y.takeRecords()),Q.value<0&&Dr0()>0)Q.value=0,Q.entries=[];Z(!0)})};Cr0.onINP=bfQ});var qr0=U((wr0)=>{Object.defineProperty(wr0,"__esModule",{value:!0});var hfQ=LH(),gfQ=gi(),ufQ=AH1(),mfQ=ZH1(),dfQ=ui(),cfQ=Ig(),lfQ=mi(),$r0={},pfQ=(A)=>{let B=mfQ.getVisibilityWatcher(),Q=dfQ.initMetric("LCP"),Z,G=(I)=>{let W=I[I.length-1];if(W){let J=Math.max(W.startTime-ufQ.getActivationStart(),0);if(J {if(!$r0[Q.id])G(Y.takeRecords()),Y.disconnect(),$r0[Q.id]=!0,Z(!0)};return["keydown","click"].forEach((W)=>{if(hfQ.WINDOW.document)addEventListener(W,I,{once:!0,capture:!0})}),lfQ.onHidden(I,!0),I}return};wr0.onLCP=pfQ});var Nr0=U((Er0)=>{Object.defineProperty(Er0,"__esModule",{value:!0});var xa1=LH(),nfQ=gi(),afQ=AH1(),sfQ=H91(),rfQ=ui(),va1=(A)=>{if(!xa1.WINDOW.document)return;if(xa1.WINDOW.document.prerendering)addEventListener("prerenderingchange",()=>va1(A),!0);else if(xa1.WINDOW.document.readyState!=="complete")addEventListener("load",()=>va1(A),!0);else setTimeout(A,0)},ofQ=(A,B)=>{B=B||{};let Q=rfQ.initMetric("TTFB"),Z=nfQ.bindReporter(A,Q,B.reportAllChanges);va1(()=>{let G=sfQ.getNavigationEntry();if(G){if(Q.value=Math.max(G.responseStart-afQ.getActivationStart(),0),Q.value<0||Q.value>performance.now())return;Q.entries=[G],Z(!0)}})};Er0.onTTFB=ofQ});var ci=U((yr0)=>{Object.defineProperty(yr0,"__esModule",{value:!0});var Lr0=NA(),efQ=iK(),AhQ=Yr0(),BhQ=Jr0(),QhQ=Ur0(),ZhQ=qr0(),GhQ=Ig(),YhQ=Nr0(),D91={},YH1={},Mr0,Or0,Rr0,Tr0,Pr0;function IhQ(A,B=!1){return C91("cls",A,KhQ,Mr0,B)}function WhQ(A,B=!1){return C91("lcp",A,HhQ,Rr0,B)}function JhQ(A){return C91("ttfb",A,DhQ,Tr0)}function XhQ(A){return C91("fid",A,zhQ,Or0)}function FhQ(A){return C91("inp",A,ChQ,Pr0)}function VhQ(A,B){if(jr0(A,B),!YH1[A])UhQ(A),YH1[A]=!0;return Sr0(A,B)}function di(A,B){let Q=D91[A];if(!Q||!Q.length)return;for(let Z of Q)try{Z(B)}catch(G){efQ.DEBUG_BUILD&&Lr0.logger.error(`Error while triggering instrumentation handler. +Type: ${A} +Name: ${Lr0.getFunctionName(Z)} +Error:`,G)}}function KhQ(){return AhQ.onCLS((A)=>{di("cls",{metric:A}),Mr0=A},{reportAllChanges:!0})}function zhQ(){return BhQ.onFID((A)=>{di("fid",{metric:A}),Or0=A})}function HhQ(){return ZhQ.onLCP((A)=>{di("lcp",{metric:A}),Rr0=A})}function DhQ(){return YhQ.onTTFB((A)=>{di("ttfb",{metric:A}),Tr0=A})}function ChQ(){return QhQ.onINP((A)=>{di("inp",{metric:A}),Pr0=A})}function C91(A,B,Q,Z,G=!1){jr0(A,B);let Y;if(!YH1[A])Y=Q(),YH1[A]=!0;if(Z)B({metric:Z});return Sr0(A,B,G?Y:void 0)}function UhQ(A){let B={};if(A==="event")B.durationThreshold=0;GhQ.observe(A,(Q)=>{di(A,{entries:Q})},B)}function jr0(A,B){D91[A]=D91[A]||[],D91[A].push(B)}function Sr0(A,B,Q){return()=>{if(Q)Q();let Z=D91[A];if(!Z)return;let G=Z.indexOf(B);if(G!==-1)Z.splice(G,1)}}yr0.addClsInstrumentationHandler=IhQ;yr0.addFidInstrumentationHandler=XhQ;yr0.addInpInstrumentationHandler=FhQ;yr0.addLcpInstrumentationHandler=WhQ;yr0.addPerformanceInstrumentationHandler=VhQ;yr0.addTtfbInstrumentationHandler=JhQ});var _r0=U((kr0)=>{Object.defineProperty(kr0,"__esModule",{value:!0});function MhQ(A){return typeof A==="number"&&isFinite(A)}function OhQ(A,{startTimestamp:B,...Q}){if(B&&A.startTimestamp>B)A.startTimestamp=B;return A.startChild({startTimestamp:B,...Q})}kr0._startChild=OhQ;kr0.isMeasurementValue=MhQ});var ha1=U((hr0)=>{Object.defineProperty(hr0,"__esModule",{value:!0});var HT=j9(),h7=NA(),MH=iK(),Wg=ci(),DT=LH(),PhQ=ZH1(),CT=_r0(),jhQ=H91(),ShQ=2147483647;function iI(A){return A/1000}function fa1(){return DT.WINDOW&&DT.WINDOW.addEventListener&&DT.WINDOW.performance}var xr0=0,yG={},vN,U91;function yhQ(){let A=fa1();if(A&&h7.browserPerformanceTimeOrigin){if(A.mark)DT.WINDOW.performance.mark("sentry-tracing-init");let B=fhQ(),Q=vhQ(),Z=bhQ(),G=hhQ();return()=>{B(),Q(),Z(),G()}}return()=>{return}}function khQ(){Wg.addPerformanceInstrumentationHandler("longtask",({entries:A})=>{for(let B of A){let Q=HT.getActiveTransaction();if(!Q)return;let Z=iI(h7.browserPerformanceTimeOrigin+B.startTime),G=iI(B.duration);Q.startChild({description:"Main UI thread blocked",op:"ui.long-task",origin:"auto.ui.browser.metrics",startTimestamp:Z,endTimestamp:Z+G})}})}function _hQ(){Wg.addPerformanceInstrumentationHandler("event",({entries:A})=>{for(let B of A){let Q=HT.getActiveTransaction();if(!Q)return;if(B.name==="click"){let Z=iI(h7.browserPerformanceTimeOrigin+B.startTime),G=iI(B.duration),Y={description:h7.htmlTreeAsString(B.target),op:`ui.interaction.${B.name}`,origin:"auto.ui.browser.metrics",startTimestamp:Z,endTimestamp:Z+G},I=h7.getComponentName(B.target);if(I)Y.attributes={"ui.component_name":I};Q.startChild(Y)}}})}function xhQ(A,B){if(fa1()&&h7.browserPerformanceTimeOrigin){let Z=ghQ(A,B);return()=>{Z()}}return()=>{return}}function vhQ(){return Wg.addClsInstrumentationHandler(({metric:A})=>{let B=A.entries[A.entries.length-1];if(!B)return;MH.DEBUG_BUILD&&h7.logger.log("[Measurements] Adding CLS"),yG.cls={value:A.value,unit:""},U91=B},!0)}function bhQ(){return Wg.addLcpInstrumentationHandler(({metric:A})=>{let B=A.entries[A.entries.length-1];if(!B)return;MH.DEBUG_BUILD&&h7.logger.log("[Measurements] Adding LCP"),yG.lcp={value:A.value,unit:"millisecond"},vN=B},!0)}function fhQ(){return Wg.addFidInstrumentationHandler(({metric:A})=>{let B=A.entries[A.entries.length-1];if(!B)return;let Q=iI(h7.browserPerformanceTimeOrigin),Z=iI(B.startTime);MH.DEBUG_BUILD&&h7.logger.log("[Measurements] Adding FID"),yG.fid={value:A.value,unit:"millisecond"},yG["mark.fid"]={value:Q+Z,unit:"second"}})}function hhQ(){return Wg.addTtfbInstrumentationHandler(({metric:A})=>{if(!A.entries[A.entries.length-1])return;MH.DEBUG_BUILD&&h7.logger.log("[Measurements] Adding TTFB"),yG.ttfb={value:A.value,unit:"millisecond"}})}var vr0={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"};function ghQ(A,B){return Wg.addInpInstrumentationHandler(({metric:Q})=>{if(Q.value===void 0)return;let Z=Q.entries.find((L)=>L.duration===Q.value&&vr0[L.name]!==void 0),G=HT.getClient();if(!Z||!G)return;let Y=vr0[Z.name],I=G.getOptions(),W=iI(h7.browserPerformanceTimeOrigin+Z.startTime),J=iI(Q.value),X=Z.interactionId!==void 0?A[Z.interactionId]:void 0;if(X===void 0)return;let{routeName:F,parentContext:V,activeTransaction:K,user:z,replayId:H}=X,D=z!==void 0?z.email||z.id||z.ip_address:void 0,C=K!==void 0?K.getProfileId():void 0,w=new HT.Span({startTimestamp:W,endTimestamp:W+J,op:`ui.interaction.${Y}`,name:h7.htmlTreeAsString(Z.target),attributes:{release:I.release,environment:I.environment,transaction:F,...D!==void 0&&D!==""?{user:D}:{},...C!==void 0?{profile_id:C}:{},...H!==void 0?{replay_id:H}:{}},exclusiveTime:Q.value,measurements:{inp:{value:Q.value,unit:"millisecond"}}}),E=ihQ(V,I,B);if(!E)return;if(Math.random() {MH.DEBUG_BUILD&&h7.logger.error("Error while sending interaction:",R)});return}})}function uhQ(A){let B=fa1();if(!B||!DT.WINDOW.performance.getEntries||!h7.browserPerformanceTimeOrigin)return;MH.DEBUG_BUILD&&h7.logger.log("[Tracing] Adding & adjusting spans using Performance API");let Q=iI(h7.browserPerformanceTimeOrigin),Z=B.getEntries(),{op:G,start_timestamp:Y}=HT.spanToJSON(A);if(Z.slice(xr0).forEach((I)=>{let W=iI(I.startTime),J=iI(I.duration);if(A.op==="navigation"&&Y&&Q+W {if(!yG[W]||!Y||Q>=Y)return;let J=yG[W].value,X=Q+iI(J),F=Math.abs((X-Y)*1000),V=F-J;MH.DEBUG_BUILD&&h7.logger.log(`[Measurements] Normalized ${W} from ${J} to ${F} (${V})`),yG[W].value=F});let I=yG["mark.fid"];if(I&&yG.fid)CT._startChild(A,{description:"first input delay",endTimestamp:I.value+iI(yG.fid.value),op:"ui.action",origin:"auto.ui.browser.metrics",startTimestamp:I.value}),delete yG["mark.fid"];if(!("fcp"in yG))delete yG.cls;Object.keys(yG).forEach((W)=>{HT.setMeasurement(W,yG[W].value,yG[W].unit)}),lhQ(A)}vN=void 0,U91=void 0,yG={}}function br0(A,B,Q,Z,G){let Y=G+Q,I=Y+Z;return CT._startChild(A,{description:B.name,endTimestamp:I,op:B.entryType,origin:"auto.resource.browser.metrics",startTimestamp:Y}),Y}function mhQ(A,B,Q){["unloadEvent","redirect","domContentLoadedEvent","loadEvent","connect"].forEach((Z)=>{IH1(A,B,Z,Q)}),IH1(A,B,"secureConnection",Q,"TLS/SSL","connectEnd"),IH1(A,B,"fetch",Q,"cache","domainLookupStart"),IH1(A,B,"domainLookup",Q,"DNS"),dhQ(A,B,Q)}function IH1(A,B,Q,Z,G,Y){let I=Y?B[Y]:B[`${Q}End`],W=B[`${Q}Start`];if(!W||!I)return;CT._startChild(A,{op:"browser",origin:"auto.browser.browser.metrics",description:G||Q,startTimestamp:Z+iI(W),endTimestamp:Z+iI(I)})}function dhQ(A,B,Q){if(B.responseEnd)CT._startChild(A,{op:"browser",origin:"auto.browser.browser.metrics",description:"request",startTimestamp:Q+iI(B.requestStart),endTimestamp:Q+iI(B.responseEnd)}),CT._startChild(A,{op:"browser",origin:"auto.browser.browser.metrics",description:"response",startTimestamp:Q+iI(B.responseStart),endTimestamp:Q+iI(B.responseEnd)})}function fr0(A,B,Q,Z,G,Y){if(B.initiatorType==="xmlhttprequest"||B.initiatorType==="fetch")return;let I=h7.parseUrl(Q),W={};if(ba1(W,B,"transferSize","http.response_transfer_size"),ba1(W,B,"encodedBodySize","http.response_content_length"),ba1(W,B,"decodedBodySize","http.decoded_response_content_length"),"renderBlockingStatus"in B)W["resource.render_blocking_status"]=B.renderBlockingStatus;if(I.protocol)W["url.scheme"]=I.protocol.split(":").pop();if(I.host)W["server.address"]=I.host;W["url.same_origin"]=Q.includes(DT.WINDOW.location.origin);let J=Y+Z,X=J+G;CT._startChild(A,{description:Q.replace(DT.WINDOW.location.origin,""),endTimestamp:X,op:B.initiatorType?`resource.${B.initiatorType}`:"resource.other",origin:"auto.resource.browser.metrics",startTimestamp:J,data:W})}function chQ(A){let B=DT.WINDOW.navigator;if(!B)return;let Q=B.connection;if(Q){if(Q.effectiveType)A.setTag("effectiveConnectionType",Q.effectiveType);if(Q.type)A.setTag("connectionType",Q.type);if(CT.isMeasurementValue(Q.rtt))yG["connection.rtt"]={value:Q.rtt,unit:"millisecond"}}if(CT.isMeasurementValue(B.deviceMemory))A.setTag("deviceMemory",`${B.deviceMemory} GB`);if(CT.isMeasurementValue(B.hardwareConcurrency))A.setTag("hardwareConcurrency",String(B.hardwareConcurrency))}function lhQ(A){if(vN){if(MH.DEBUG_BUILD&&h7.logger.log("[Measurements] Adding LCP Data"),vN.element)A.setTag("lcp.element",h7.htmlTreeAsString(vN.element));if(vN.id)A.setTag("lcp.id",vN.id);if(vN.url)A.setTag("lcp.url",vN.url.trim().slice(0,200));A.setTag("lcp.size",vN.size)}if(U91&&U91.sources)MH.DEBUG_BUILD&&h7.logger.log("[Measurements] Adding CLS Data"),U91.sources.forEach((B,Q)=>A.setTag(`cls.source.${Q+1}`,h7.htmlTreeAsString(B.node)))}function ba1(A,B,Q,Z){let G=B[Q];if(G!=null&&G {Object.defineProperty(ur0,"__esModule",{value:!0});var bN=j9(),Jg=NA();function AgQ(A,B,Q,Z,G="auto.http.browser"){if(!bN.hasTracingEnabled()||!A.fetchData)return;let Y=B(A.fetchData.url);if(A.endTimestamp&&Y){let z=A.fetchData.__span;if(!z)return;let H=Z[z];if(H)QgQ(H,A),delete Z[z];return}let I=bN.getCurrentScope(),W=bN.getClient(),{method:J,url:X}=A.fetchData,F=BgQ(X),V=F?Jg.parseUrl(F).host:void 0,K=Y?bN.startInactiveSpan({name:`${J} ${X}`,onlyIfParent:!0,attributes:{url:X,type:"fetch","http.method":J,"http.url":F,"server.address":V,[bN.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]:G},op:"http.client"}):void 0;if(K)A.fetchData.__span=K.spanContext().spanId,Z[K.spanContext().spanId]=K;if(Q(A.fetchData.url)&&W){let z=A.args[0];A.args[1]=A.args[1]||{};let H=A.args[1];H.headers=gr0(z,W,I,H,K)}return K}function gr0(A,B,Q,Z,G){let Y=G||Q.getSpan(),I=bN.getIsolationScope(),{traceId:W,spanId:J,sampled:X,dsc:F}={...I.getPropagationContext(),...Q.getPropagationContext()},V=Y?bN.spanToTraceHeader(Y):Jg.generateSentryTraceHeader(W,J,X),K=Jg.dynamicSamplingContextToSentryBaggageHeader(F||(Y?bN.getDynamicSamplingContextFromSpan(Y):bN.getDynamicSamplingContextFromClient(W,B,Q))),z=Z.headers||(typeof Request!=="undefined"&&Jg.isInstanceOf(A,Request)?A.headers:void 0);if(!z)return{"sentry-trace":V,baggage:K};else if(typeof Headers!=="undefined"&&Jg.isInstanceOf(z,Headers)){let H=new Headers(z);if(H.append("sentry-trace",V),K)H.append(Jg.BAGGAGE_HEADER_NAME,K);return H}else if(Array.isArray(z)){let H=[...z,["sentry-trace",V]];if(K)H.push([Jg.BAGGAGE_HEADER_NAME,K]);return H}else{let H="baggage"in z?z.baggage:void 0,D=[];if(Array.isArray(H))D.push(...H);else if(H)D.push(H);if(K)D.push(K);return{...z,"sentry-trace":V,baggage:D.length>0?D.join(","):void 0}}}function BgQ(A){try{return new URL(A).href}catch(B){return}}function QgQ(A,B){if(B.response){bN.setHttpStatus(A,B.response.status);let Q=B.response&&B.response.headers&&B.response.headers.get("content-length");if(Q){let Z=parseInt(Q);if(Z>0)A.setAttribute("http.response_content_length",Z)}}else if(B.error)A.setStatus("internal_error");A.end()}ur0.addTracingHeadersToFetchRequest=gr0;ur0.instrumentFetchRequest=AgQ});var JH1=U((ir0)=>{Object.defineProperty(ir0,"__esModule",{value:!0});var mw=j9(),dw=NA(),YgQ=ga1(),IgQ=ci(),WgQ=LH(),WH1=["localhost",/^\/(?!\/)/],ua1={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,tracingOrigins:WH1,tracePropagationTargets:WH1};function JgQ(A){let{traceFetch:B,traceXHR:Q,tracePropagationTargets:Z,tracingOrigins:G,shouldCreateSpanForRequest:Y,enableHTTPTimings:I}={traceFetch:ua1.traceFetch,traceXHR:ua1.traceXHR,...A},W=typeof Y==="function"?Y:(F)=>!0,J=(F)=>cr0(F,Z||G),X={};if(B)dw.addFetchInstrumentationHandler((F)=>{let V=YgQ.instrumentFetchRequest(F,W,J,X);if(V){let K=pr0(F.fetchData.url),z=K?dw.parseUrl(K).host:void 0;V.setAttributes({"http.url":K,"server.address":z})}if(I&&V)mr0(V)});if(Q)dw.addXhrInstrumentationHandler((F)=>{let V=lr0(F,W,J,X);if(I&&V)mr0(V)})}function XgQ(A){return A.entryType==="resource"&&"initiatorType"in A&&typeof A.nextHopProtocol==="string"&&(A.initiatorType==="fetch"||A.initiatorType==="xmlhttprequest")}function mr0(A){let{url:B}=mw.spanToJSON(A).data||{};if(!B||typeof B!=="string")return;let Q=IgQ.addPerformanceInstrumentationHandler("resource",({entries:Z})=>{Z.forEach((G)=>{if(XgQ(G)&&G.name.endsWith(B))FgQ(G).forEach((I)=>A.setAttribute(...I)),setTimeout(Q)})})}function dr0(A){let B="unknown",Q="unknown",Z="";for(let G of A){if(G==="/"){[B,Q]=A.split("/");break}if(!isNaN(Number(G))){B=Z==="h"?"http":Z,Q=A.split(Z)[1];break}Z+=G}if(Z===A)B=Z;return{name:B,version:Q}}function fN(A=0){return((dw.browserPerformanceTimeOrigin||performance.timeOrigin)+A)/1000}function FgQ(A){let{name:B,version:Q}=dr0(A.nextHopProtocol),Z=[];if(Z.push(["network.protocol.version",Q],["network.protocol.name",B]),!dw.browserPerformanceTimeOrigin)return Z;return[...Z,["http.request.redirect_start",fN(A.redirectStart)],["http.request.fetch_start",fN(A.fetchStart)],["http.request.domain_lookup_start",fN(A.domainLookupStart)],["http.request.domain_lookup_end",fN(A.domainLookupEnd)],["http.request.connect_start",fN(A.connectStart)],["http.request.secure_connection_start",fN(A.secureConnectionStart)],["http.request.connection_end",fN(A.connectEnd)],["http.request.request_start",fN(A.requestStart)],["http.request.response_start",fN(A.responseStart)],["http.request.response_end",fN(A.responseEnd)]]}function cr0(A,B){return dw.stringMatchesSomePattern(A,B||WH1)}function lr0(A,B,Q,Z){let G=A.xhr,Y=G&&G[dw.SENTRY_XHR_DATA_KEY];if(!mw.hasTracingEnabled()||!G||G.__sentry_own_request__||!Y)return;let I=B(Y.url);if(A.endTimestamp&&I){let z=G.__sentry_xhr_span_id__;if(!z)return;let H=Z[z];if(H&&Y.status_code!==void 0)mw.setHttpStatus(H,Y.status_code),H.end(),delete Z[z];return}let W=mw.getCurrentScope(),J=mw.getIsolationScope(),X=pr0(Y.url),F=X?dw.parseUrl(X).host:void 0,V=I?mw.startInactiveSpan({name:`${Y.method} ${Y.url}`,onlyIfParent:!0,attributes:{type:"xhr","http.method":Y.method,"http.url":X,url:Y.url,"server.address":F,[mw.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]:"auto.http.browser"},op:"http.client"}):void 0;if(V)G.__sentry_xhr_span_id__=V.spanContext().spanId,Z[G.__sentry_xhr_span_id__]=V;let K=mw.getClient();if(G.setRequestHeader&&Q(Y.url)&&K){let{traceId:z,spanId:H,sampled:D,dsc:C}={...J.getPropagationContext(),...W.getPropagationContext()},w=V?mw.spanToTraceHeader(V):dw.generateSentryTraceHeader(z,H,D),E=dw.dynamicSamplingContextToSentryBaggageHeader(C||(V?mw.getDynamicSamplingContextFromSpan(V):mw.getDynamicSamplingContextFromClient(z,K,W)));VgQ(G,w,E)}return V}function VgQ(A,B,Q){try{if(A.setRequestHeader("sentry-trace",B),Q)A.setRequestHeader(dw.BAGGAGE_HEADER_NAME,Q)}catch(Z){}}function pr0(A){try{return new URL(A,WgQ.WINDOW.location.origin).href}catch(B){return}}ir0.DEFAULT_TRACE_PROPAGATION_TARGETS=WH1;ir0.defaultRequestInstrumentationOptions=ua1;ir0.extractNetworkProtocol=dr0;ir0.instrumentOutgoingRequests=JgQ;ir0.shouldAttachHeaders=cr0;ir0.xhrCallback=lr0});var sr0=U((ar0)=>{Object.defineProperty(ar0,"__esModule",{value:!0});var $91=NA(),nr0=iK(),w91=LH();function $gQ(A,B=!0,Q=!0){if(!w91.WINDOW||!w91.WINDOW.location){nr0.DEBUG_BUILD&&$91.logger.warn("Could not initialize routing instrumentation due to invalid location");return}let Z=w91.WINDOW.location.href,G;if(B)G=A({name:w91.WINDOW.location.pathname,startTimestamp:$91.browserPerformanceTimeOrigin?$91.browserPerformanceTimeOrigin/1000:void 0,op:"pageload",origin:"auto.pageload.browser",metadata:{source:"url"}});if(Q)$91.addHistoryInstrumentationHandler(({to:Y,from:I})=>{if(I===void 0&&Z&&Z.indexOf(Y)!==-1){Z=void 0;return}if(I!==Y){if(Z=void 0,G)nr0.DEBUG_BUILD&&$91.logger.log(`[Tracing] Finishing current transaction with op: ${G.op}`),G.end();G=A({name:w91.WINDOW.location.pathname,op:"navigation",origin:"auto.navigation.browser",metadata:{source:"url"}})}})}ar0.instrumentRoutingWithDefaults=$gQ});var Qo0=U((Bo0)=>{Object.defineProperty(Bo0,"__esModule",{value:!0});var cw=j9(),UT=NA(),Wk=iK(),qgQ=Sa1(),rr0=ci(),q91=ha1(),tr0=JH1(),EgQ=sr0(),Xg=LH(),er0="BrowserTracing",NgQ={...cw.TRACING_DEFAULTS,markBackgroundTransactions:!0,routingInstrumentation:EgQ.instrumentRoutingWithDefaults,startTransactionOnLocationChange:!0,startTransactionOnPageLoad:!0,enableLongTask:!0,enableInp:!1,interactionsSampleRate:1,_experiments:{},...tr0.defaultRequestInstrumentationOptions},or0=10;class Ao0{constructor(A){if(this.name=er0,this._hasSetTracePropagationTargets=!1,cw.addTracingExtensions(),Wk.DEBUG_BUILD)this._hasSetTracePropagationTargets=!!(A&&(A.tracePropagationTargets||A.tracingOrigins));if(this.options={...NgQ,...A},this.options._experiments.enableLongTask!==void 0)this.options.enableLongTask=this.options._experiments.enableLongTask;if(A&&!A.tracePropagationTargets&&A.tracingOrigins)this.options.tracePropagationTargets=A.tracingOrigins;if(this._collectWebVitals=q91.startTrackingWebVitals(),this._interactionIdToRouteNameMapping={},this.options.enableInp)q91.startTrackingINP(this._interactionIdToRouteNameMapping,this.options.interactionsSampleRate);if(this.options.enableLongTask)q91.startTrackingLongTasks();if(this.options._experiments.enableInteractions)q91.startTrackingInteractions();this._latestRoute={name:void 0,context:void 0}}setupOnce(A,B){this._getCurrentHub=B;let Z=B().getClient(),G=Z&&Z.getOptions(),{routingInstrumentation:Y,startTransactionOnLocationChange:I,startTransactionOnPageLoad:W,markBackgroundTransactions:J,traceFetch:X,traceXHR:F,shouldCreateSpanForRequest:V,enableHTTPTimings:K,_experiments:z}=this.options,H=G&&G.tracePropagationTargets,D=H||this.options.tracePropagationTargets;if(Wk.DEBUG_BUILD&&this._hasSetTracePropagationTargets&&H)UT.logger.warn("[Tracing] The `tracePropagationTargets` option was set in the BrowserTracing integration and top level `Sentry.init`. The top level `Sentry.init` value is being used.");if(Y((C)=>{let w=this._createRouteTransaction(C);return this.options._experiments.onStartRouteTransaction&&this.options._experiments.onStartRouteTransaction(w,C,B),w},W,I),J)qgQ.registerBackgroundTabDetection();if(z.enableInteractions)this._registerInteractionListener();if(this.options.enableInp)this._registerInpInteractionListener();tr0.instrumentOutgoingRequests({traceFetch:X,traceXHR:F,tracePropagationTargets:D,shouldCreateSpanForRequest:V,enableHTTPTimings:K})}_createRouteTransaction(A){if(!this._getCurrentHub){Wk.DEBUG_BUILD&&UT.logger.warn(`[Tracing] Did not create ${A.op} transaction because _getCurrentHub is invalid.`);return}let B=this._getCurrentHub(),{beforeNavigate:Q,idleTimeout:Z,finalTimeout:G,heartbeatInterval:Y}=this.options,I=A.op==="pageload",W;if(I){let K=I?ma1("sentry-trace"):"",z=I?ma1("baggage"):void 0,{traceId:H,dsc:D,parentSpanId:C,sampled:w}=UT.propagationContextFromHeaders(K,z);W={traceId:H,parentSpanId:C,parentSampled:w,...A,metadata:{...A.metadata,dynamicSamplingContext:D},trimEnd:!0}}else W={trimEnd:!0,...A};let J=typeof Q==="function"?Q(W):W,X=J===void 0?{...W,sampled:!1}:J;if(X.metadata=X.name!==W.name?{...X.metadata,source:"custom"}:X.metadata,this._latestRoute.name=X.name,this._latestRoute.context=X,X.sampled===!1)Wk.DEBUG_BUILD&&UT.logger.log(`[Tracing] Will not send ${X.op} transaction because of beforeNavigate.`);Wk.DEBUG_BUILD&&UT.logger.log(`[Tracing] Starting ${X.op} transaction on scope`);let{location:F}=Xg.WINDOW,V=cw.startIdleTransaction(B,X,Z,G,!0,{location:F},Y,I);if(I){if(Xg.WINDOW.document){if(Xg.WINDOW.document.addEventListener("readystatechange",()=>{if(["interactive","complete"].includes(Xg.WINDOW.document.readyState))V.sendAutoFinishSignal()}),["interactive","complete"].includes(Xg.WINDOW.document.readyState))V.sendAutoFinishSignal()}}return V.registerBeforeFinishCallback((K)=>{this._collectWebVitals(),q91.addPerformanceEntries(K)}),V}_registerInteractionListener(){let A,B=()=>{let{idleTimeout:Q,finalTimeout:Z,heartbeatInterval:G}=this.options,Y="ui.action.click",I=cw.getActiveTransaction();if(I&&I.op&&["navigation","pageload"].includes(I.op)){Wk.DEBUG_BUILD&&UT.logger.warn("[Tracing] Did not create ui.action.click transaction because a pageload or navigation transaction is in progress.");return}if(A)A.setFinishReason("interactionInterrupted"),A.end(),A=void 0;if(!this._getCurrentHub){Wk.DEBUG_BUILD&&UT.logger.warn("[Tracing] Did not create ui.action.click transaction because _getCurrentHub is invalid.");return}if(!this._latestRoute.name){Wk.DEBUG_BUILD&&UT.logger.warn("[Tracing] Did not create ui.action.click transaction because _latestRouteName is missing.");return}let W=this._getCurrentHub(),{location:J}=Xg.WINDOW,X={name:this._latestRoute.name,op:"ui.action.click",trimEnd:!0,data:{[cw.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]:this._latestRoute.context?LgQ(this._latestRoute.context):"url"}};A=cw.startIdleTransaction(W,X,Q,Z,!0,{location:J},G)};["click"].forEach((Q)=>{if(Xg.WINDOW.document)addEventListener(Q,B,{once:!1,capture:!0})})}_registerInpInteractionListener(){let A=({entries:B})=>{let Q=cw.getClient(),Z=Q!==void 0&&Q.getIntegrationByName!==void 0?Q.getIntegrationByName("Replay"):void 0,G=Z!==void 0?Z.getReplayId():void 0,Y=cw.getActiveTransaction(),I=cw.getCurrentScope(),W=I!==void 0?I.getUser():void 0;B.forEach((J)=>{if(MgQ(J)){let X=J.interactionId;if(X===void 0)return;let F=this._interactionIdToRouteNameMapping[X],V=J.duration,K=J.startTime,z=Object.keys(this._interactionIdToRouteNameMapping),H=z.length>0?z.reduce((D,C)=>{return this._interactionIdToRouteNameMapping[D].duration this._interactionIdToRouteNameMapping[C]).some((C)=>{return C.duration===V&&C.startTime===K}))return}if(!X)return;if(F)F.duration=Math.max(F.duration,V);else if(z.length this._interactionIdToRouteNameMapping[H].duration){let D=this._latestRoute.name,C=this._latestRoute.context;if(D&&C){if(H&&Object.keys(this._interactionIdToRouteNameMapping).length>=or0)delete this._interactionIdToRouteNameMapping[H];this._interactionIdToRouteNameMapping[X]={routeName:D,duration:V,parentContext:C,user:W,activeTransaction:Y,replayId:G,startTime:K}}}}})};rr0.addPerformanceInstrumentationHandler("event",A),rr0.addPerformanceInstrumentationHandler("first-input",A)}}function ma1(A){let B=UT.getDomElement(`meta[name=${A}]`);return B?B.getAttribute("content"):void 0}function LgQ(A){let B=A.attributes&&A.attributes[cw.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE],Q=A.data&&A.data[cw.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE],Z=A.metadata&&A.metadata.source;return B||Q||Z}function MgQ(A){return"duration"in A}Bo0.BROWSER_TRACING_INTEGRATION_ID=er0;Bo0.BrowserTracing=Ao0;Bo0.getMetaContent=ma1});var Fo0=U((Xo0)=>{Object.defineProperty(Xo0,"__esModule",{value:!0});var WY=j9(),jC=NA(),Jk=iK(),PgQ=Sa1(),Zo0=ci(),E91=ha1(),Yo0=JH1(),OH=LH(),Io0="BrowserTracing",jgQ={...WY.TRACING_DEFAULTS,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableInp:!1,interactionsSampleRate:1,_experiments:{},...Yo0.defaultRequestInstrumentationOptions},SgQ=(A={})=>{let B=Jk.DEBUG_BUILD?!!(A.tracePropagationTargets||A.tracingOrigins):!1;if(WY.addTracingExtensions(),!A.tracePropagationTargets&&A.tracingOrigins)A.tracePropagationTargets=A.tracingOrigins;let Q={...jgQ,...A},Z=E91.startTrackingWebVitals(),G={};if(Q.enableInp)E91.startTrackingINP(G,Q.interactionsSampleRate);if(Q.enableLongTask)E91.startTrackingLongTasks();if(Q._experiments.enableInteractions)E91.startTrackingInteractions();let Y={name:void 0,context:void 0};function I(W){let J=WY.getCurrentHub(),{beforeStartSpan:X,idleTimeout:F,finalTimeout:V,heartbeatInterval:K}=Q,z=W.op==="pageload",H;if(z){let E=z?da1("sentry-trace"):"",L=z?da1("baggage"):void 0,{traceId:O,dsc:R,parentSpanId:P,sampled:k}=jC.propagationContextFromHeaders(E,L);H={traceId:O,parentSpanId:P,parentSampled:k,...W,metadata:{...W.metadata,dynamicSamplingContext:R},trimEnd:!0}}else H={trimEnd:!0,...W};let D=X?X(H):H;if(D.metadata=D.name!==H.name?{...D.metadata,source:"custom"}:D.metadata,Y.name=D.name,Y.context=D,D.sampled===!1)Jk.DEBUG_BUILD&&jC.logger.log(`[Tracing] Will not send ${D.op} transaction because of beforeNavigate.`);Jk.DEBUG_BUILD&&jC.logger.log(`[Tracing] Starting ${D.op} transaction on scope`);let{location:C}=OH.WINDOW,w=WY.startIdleTransaction(J,D,F,V,!0,{location:C},K,z);if(z&&OH.WINDOW.document){if(OH.WINDOW.document.addEventListener("readystatechange",()=>{if(["interactive","complete"].includes(OH.WINDOW.document.readyState))w.sendAutoFinishSignal()}),["interactive","complete"].includes(OH.WINDOW.document.readyState))w.sendAutoFinishSignal()}return w.registerBeforeFinishCallback((E)=>{Z(),E91.addPerformanceEntries(E)}),w}return{name:Io0,setupOnce:()=>{},afterAllSetup(W){let J=W.getOptions(),{markBackgroundSpan:X,traceFetch:F,traceXHR:V,shouldCreateSpanForRequest:K,enableHTTPTimings:z,_experiments:H}=Q,D=J&&J.tracePropagationTargets,C=D||Q.tracePropagationTargets;if(Jk.DEBUG_BUILD&&B&&D)jC.logger.warn("[Tracing] The `tracePropagationTargets` option was set in the BrowserTracing integration and top level `Sentry.init`. The top level `Sentry.init` value is being used.");let w,E=OH.WINDOW.location&&OH.WINDOW.location.href;if(W.on)W.on("startNavigationSpan",(L)=>{if(w)Jk.DEBUG_BUILD&&jC.logger.log(`[Tracing] Finishing current transaction with op: ${WY.spanToJSON(w).op}`),w.end();w=I({op:"navigation",...L})}),W.on("startPageLoadSpan",(L)=>{if(w)Jk.DEBUG_BUILD&&jC.logger.log(`[Tracing] Finishing current transaction with op: ${WY.spanToJSON(w).op}`),w.end();w=I({op:"pageload",...L})});if(Q.instrumentPageLoad&&W.emit&&OH.WINDOW.location){let L={name:OH.WINDOW.location.pathname,startTimestamp:jC.browserPerformanceTimeOrigin?jC.browserPerformanceTimeOrigin/1000:void 0,origin:"auto.pageload.browser",attributes:{[WY.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]:"url"}};Wo0(W,L)}if(Q.instrumentNavigation&&W.emit&&OH.WINDOW.location)jC.addHistoryInstrumentationHandler(({to:L,from:O})=>{if(O===void 0&&E&&E.indexOf(L)!==-1){E=void 0;return}if(O!==L){E=void 0;let R={name:OH.WINDOW.location.pathname,origin:"auto.navigation.browser",attributes:{[WY.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]:"url"}};Jo0(W,R)}});if(X)PgQ.registerBackgroundTabDetection();if(H.enableInteractions)ygQ(Q,Y);if(Q.enableInp)_gQ(G,Y);Yo0.instrumentOutgoingRequests({traceFetch:F,traceXHR:V,tracePropagationTargets:C,shouldCreateSpanForRequest:K,enableHTTPTimings:z})},options:Q}};function Wo0(A,B){if(!A.emit)return;A.emit("startPageLoadSpan",B);let Q=WY.getActiveSpan();return(Q&&WY.spanToJSON(Q).op)==="pageload"?Q:void 0}function Jo0(A,B){if(!A.emit)return;A.emit("startNavigationSpan",B);let Q=WY.getActiveSpan();return(Q&&WY.spanToJSON(Q).op)==="navigation"?Q:void 0}function da1(A){let B=jC.getDomElement(`meta[name=${A}]`);return B?B.getAttribute("content"):void 0}function ygQ(A,B){let Q,Z=()=>{let{idleTimeout:G,finalTimeout:Y,heartbeatInterval:I}=A,W="ui.action.click",J=WY.getActiveTransaction();if(J&&J.op&&["navigation","pageload"].includes(J.op)){Jk.DEBUG_BUILD&&jC.logger.warn("[Tracing] Did not create ui.action.click transaction because a pageload or navigation transaction is in progress.");return}if(Q)Q.setFinishReason("interactionInterrupted"),Q.end(),Q=void 0;if(!B.name){Jk.DEBUG_BUILD&&jC.logger.warn("[Tracing] Did not create ui.action.click transaction because _latestRouteName is missing.");return}let{location:X}=OH.WINDOW,F={name:B.name,op:"ui.action.click",trimEnd:!0,data:{[WY.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]:B.context?xgQ(B.context):"url"}};Q=WY.startIdleTransaction(WY.getCurrentHub(),F,G,Y,!0,{location:X},I)};["click"].forEach((G)=>{if(OH.WINDOW.document)addEventListener(G,Z,{once:!1,capture:!0})})}function kgQ(A){return"duration"in A}var Go0=10;function _gQ(A,B){let Q=({entries:Z})=>{let G=WY.getClient(),Y=G!==void 0&&G.getIntegrationByName!==void 0?G.getIntegrationByName("Replay"):void 0,I=Y!==void 0?Y.getReplayId():void 0,W=WY.getActiveTransaction(),J=WY.getCurrentScope(),X=J!==void 0?J.getUser():void 0;Z.forEach((F)=>{if(kgQ(F)){let V=F.interactionId;if(V===void 0)return;let K=A[V],z=F.duration,H=F.startTime,D=Object.keys(A),C=D.length>0?D.reduce((w,E)=>{return A[w].durationA[E]).some((E)=>{return E.duration===z&&E.startTime===H}))return}if(!V)return;if(K)K.duration=Math.max(K.duration,z);else if(D.length A[C].duration){let{name:w,context:E}=B;if(w&&E){if(C&&Object.keys(A).length>=Go0)delete A[C];A[V]={routeName:w,duration:z,parentContext:E,user:X,activeTransaction:W,replayId:I,startTime:H}}}}})};Zo0.addPerformanceInstrumentationHandler("event",Q),Zo0.addPerformanceInstrumentationHandler("first-input",Q)}function xgQ(A){let B=A.attributes&&A.attributes[WY.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE],Q=A.data&&A.data[WY.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE],Z=A.metadata&&A.metadata.source;return B||Q||Z}Xo0.BROWSER_TRACING_INTEGRATION_ID=Io0;Xo0.browserTracingIntegration=SgQ;Xo0.getMetaContent=da1;Xo0.startBrowserTracingNavigationSpan=Jo0;Xo0.startBrowserTracingPageLoadSpan=Wo0});var zo0=U((Ko0,N91)=>{Object.defineProperty(Ko0,"__esModule",{value:!0});var Vo0=j9(),li=NA();function ugQ(){let A=Vo0.getMainCarrier();if(!A.__SENTRY__)return;let B={mongodb(){return new(li.dynamicRequire(N91,"./node/integrations/mongo")).Mongo},mongoose(){return new(li.dynamicRequire(N91,"./node/integrations/mongo")).Mongo},mysql(){return new(li.dynamicRequire(N91,"./node/integrations/mysql")).Mysql},pg(){return new(li.dynamicRequire(N91,"./node/integrations/postgres")).Postgres}},Q=Object.keys(B).filter((Z)=>!!li.loadModule(Z)).map((Z)=>{try{return B[Z]()}catch(G){return}}).filter((Z)=>Z);if(Q.length>0)A.__SENTRY__.integrations=[...A.__SENTRY__.integrations||[],...Q]}function mgQ(){if(Vo0.addTracingExtensions(),li.isNodeEnv())ugQ()}Ko0.addExtensionMethods=mgQ});var la1=U(($o0)=>{Object.defineProperty($o0,"__esModule",{value:!0});var $T=j9(),Ho0=NA(),cgQ=Ms0(),lgQ=Rs0(),pgQ=Ps0(),igQ=ys0(),ngQ=xs0(),agQ=fs0(),sgQ=us0(),rgQ=ds0(),Do0=Qo0(),ca1=Fo0(),Co0=JH1(),XH1=ci(),Uo0=ga1(),ogQ=zo0();$o0.IdleTransaction=$T.IdleTransaction;$o0.Span=$T.Span;$o0.SpanStatus=$T.SpanStatus;$o0.Transaction=$T.Transaction;$o0.extractTraceparentData=$T.extractTraceparentData;$o0.getActiveTransaction=$T.getActiveTransaction;$o0.hasTracingEnabled=$T.hasTracingEnabled;$o0.spanStatusfromHttpCode=$T.spanStatusfromHttpCode;$o0.startIdleTransaction=$T.startIdleTransaction;$o0.TRACEPARENT_REGEXP=Ho0.TRACEPARENT_REGEXP;$o0.stripUrlQueryAndFragment=Ho0.stripUrlQueryAndFragment;$o0.Express=cgQ.Express;$o0.Postgres=lgQ.Postgres;$o0.Mysql=pgQ.Mysql;$o0.Mongo=igQ.Mongo;$o0.Prisma=ngQ.Prisma;$o0.GraphQL=agQ.GraphQL;$o0.Apollo=sgQ.Apollo;$o0.lazyLoadedNodePerformanceMonitoringIntegrations=rgQ.lazyLoadedNodePerformanceMonitoringIntegrations;$o0.BROWSER_TRACING_INTEGRATION_ID=Do0.BROWSER_TRACING_INTEGRATION_ID;$o0.BrowserTracing=Do0.BrowserTracing;$o0.browserTracingIntegration=ca1.browserTracingIntegration;$o0.startBrowserTracingNavigationSpan=ca1.startBrowserTracingNavigationSpan;$o0.startBrowserTracingPageLoadSpan=ca1.startBrowserTracingPageLoadSpan;$o0.defaultRequestInstrumentationOptions=Co0.defaultRequestInstrumentationOptions;$o0.instrumentOutgoingRequests=Co0.instrumentOutgoingRequests;$o0.addClsInstrumentationHandler=XH1.addClsInstrumentationHandler;$o0.addFidInstrumentationHandler=XH1.addFidInstrumentationHandler;$o0.addLcpInstrumentationHandler=XH1.addLcpInstrumentationHandler;$o0.addPerformanceInstrumentationHandler=XH1.addPerformanceInstrumentationHandler;$o0.addTracingHeadersToFetchRequest=Uo0.addTracingHeadersToFetchRequest;$o0.instrumentFetchRequest=Uo0.instrumentFetchRequest;$o0.addExtensionMethods=ogQ.addExtensionMethods});var qo0=U((wo0)=>{Object.defineProperty(wo0,"__esModule",{value:!0});var yuQ=la1(),kuQ=NA();function _uQ(){let A=yuQ.lazyLoadedNodePerformanceMonitoringIntegrations.map((B)=>{try{return B()}catch(Q){return}}).filter((B)=>!!B);if(A.length===0)kuQ.logger.warn("Performance monitoring integrations could not be automatically loaded.");return A.filter((B)=>!!B.loadDependency())}wo0.autoDiscoverNodePerformanceMonitoringIntegrations=_uQ});var pa1=U((Lo0)=>{Object.defineProperty(Lo0,"__esModule",{value:!0});var vuQ=X1("os"),buQ=X1("util"),Eo0=j9();class No0 extends Eo0.ServerRuntimeClient{constructor(A){Eo0.applySdkMetadata(A,"node"),A.transportOptions={textEncoder:new buQ.TextEncoder,...A.transportOptions};let B={...A,platform:"node",runtime:{name:"node",version:global.process.version},serverName:A.serverName||global.process.env.SENTRY_NAME||vuQ.hostname()};super(B)}}Lo0.NodeClient=No0});var Po0=U((To0)=>{var{_nullishCoalesce:Mo0}=NA();Object.defineProperty(To0,"__esModule",{value:!0});var Oo0=X1("http");X1("https");var hN=Symbol("AgentBaseInternalState");class Ro0 extends Oo0.Agent{constructor(A){super(A);this[hN]={}}isSecureEndpoint(A){if(A){if(typeof A.secureEndpoint==="boolean")return A.secureEndpoint;if(typeof A.protocol==="string")return A.protocol==="https:"}let{stack:B}=new Error;if(typeof B!=="string")return!1;return B.split(` +`).some((Q)=>Q.indexOf("(https.js:")!==-1||Q.indexOf("node:https:")!==-1)}createSocket(A,B,Q){let Z={...B,secureEndpoint:this.isSecureEndpoint(B)};Promise.resolve().then(()=>this.connect(A,Z)).then((G)=>{if(G instanceof Oo0.Agent)return G.addRequest(A,Z);this[hN].currentSocket=G,super.createSocket(A,B,Q)},Q)}createConnection(){let A=this[hN].currentSocket;if(this[hN].currentSocket=void 0,!A)throw new Error("No socket was returned in the `connect()` function");return A}get defaultPort(){return Mo0(this[hN].defaultPort,()=>this.protocol==="https:"?443:80)}set defaultPort(A){if(this[hN])this[hN].defaultPort=A}get protocol(){return Mo0(this[hN].protocol,()=>this.isSecureEndpoint()?"https:":"http:")}set protocol(A){if(this[hN])this[hN].protocol=A}}To0.Agent=Ro0});var So0=U((jo0)=>{Object.defineProperty(jo0,"__esModule",{value:!0});var guQ=NA();function FH1(...A){guQ.logger.log("[https-proxy-agent:parse-proxy-response]",...A)}function uuQ(A){return new Promise((B,Q)=>{let Z=0,G=[];function Y(){let F=A.read();if(F)X(F);else A.once("readable",Y)}function I(){A.removeListener("end",W),A.removeListener("error",J),A.removeListener("readable",Y)}function W(){I(),FH1("onend"),Q(new Error("Proxy connection ended before receiving CONNECT response"))}function J(F){I(),FH1("onerror %o",F),Q(F)}function X(F){G.push(F),Z+=F.length;let V=Buffer.concat(G,Z),K=V.indexOf(`\r +\r +`);if(K===-1){FH1("have not received end of HTTP headers yet..."),Y();return}let z=V.slice(0,K).toString("ascii").split(`\r +`),H=z.shift();if(!H)return A.destroy(),Q(new Error("No header received from proxy CONNECT response"));let D=H.split(" "),C=+D[1],w=D.slice(2).join(" "),E={};for(let L of z){if(!L)continue;let O=L.indexOf(":");if(O===-1)return A.destroy(),Q(new Error(`Invalid header from proxy CONNECT response: "${L}"`));let R=L.slice(0,O).toLowerCase(),P=L.slice(O+1).trimStart(),k=E[R];if(typeof k==="string")E[R]=[k,P];else if(Array.isArray(k))k.push(P);else E[R]=P}FH1("got proxy server response: %o %o",H,E),I(),B({connect:{statusCode:C,statusText:w,headers:E},buffered:V})}A.on("error",J),A.on("end",W),Y()})}jo0.parseProxyResponse=uuQ});var xo0=U((_o0)=>{var{_nullishCoalesce:duQ,_optionalChain:cuQ}=NA();Object.defineProperty(_o0,"__esModule",{value:!0});var L91=X1("net"),yo0=X1("tls"),luQ=X1("url"),puQ=NA(),iuQ=Po0(),nuQ=So0();function M91(...A){puQ.logger.log("[https-proxy-agent]",...A)}class ia1 extends iuQ.Agent{static __initStatic(){this.protocols=["http","https"]}constructor(A,B){super(B);this.options={},this.proxy=typeof A==="string"?new luQ.URL(A):A,this.proxyHeaders=duQ(cuQ([B,"optionalAccess",(G)=>G.headers]),()=>({})),M91("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let Q=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),Z=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...B?ko0(B,"headers"):null,host:Q,port:Z}}async connect(A,B){let{proxy:Q}=this;if(!B.host)throw new TypeError('No "host" provided');let Z;if(Q.protocol==="https:"){M91("Creating `tls.Socket`: %o",this.connectOpts);let V=this.connectOpts.servername||this.connectOpts.host;Z=yo0.connect({...this.connectOpts,servername:V&&L91.isIP(V)?void 0:V})}else M91("Creating `net.Socket`: %o",this.connectOpts),Z=L91.connect(this.connectOpts);let G=typeof this.proxyHeaders==="function"?this.proxyHeaders():{...this.proxyHeaders},Y=L91.isIPv6(B.host)?`[${B.host}]`:B.host,I=`CONNECT ${Y}:${B.port} HTTP/1.1\r +`;if(Q.username||Q.password){let V=`${decodeURIComponent(Q.username)}:${decodeURIComponent(Q.password)}`;G["Proxy-Authorization"]=`Basic ${Buffer.from(V).toString("base64")}`}if(G.Host=`${Y}:${B.port}`,!G["Proxy-Connection"])G["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close";for(let V of Object.keys(G))I+=`${V}: ${G[V]}\r +`;let W=nuQ.parseProxyResponse(Z);Z.write(`${I}\r +`);let{connect:J,buffered:X}=await W;if(A.emit("proxyConnect",J),this.emit("proxyConnect",J,A),J.statusCode===200){if(A.once("socket",auQ),B.secureEndpoint){M91("Upgrading socket connection to TLS");let V=B.servername||B.host;return yo0.connect({...ko0(B,"host","path","port"),socket:Z,servername:L91.isIP(V)?void 0:V})}return Z}Z.destroy();let F=new L91.Socket({writable:!1});return F.readable=!0,A.once("socket",(V)=>{M91("Replaying proxy buffer for failed request"),V.push(X),V.push(null)}),F}}ia1.__initStatic();function auQ(A){A.resume()}function ko0(A,...B){let Q={},Z;for(Z in A)if(!B.includes(Z))Q[Z]=A[Z];return Q}_o0.HttpsProxyAgent=ia1});var aa1=U((fo0)=>{var{_nullishCoalesce:na1}=NA();Object.defineProperty(fo0,"__esModule",{value:!0});var ruQ=X1("http"),ouQ=X1("https"),tuQ=X1("stream"),bo0=X1("url"),euQ=X1("zlib"),vo0=j9(),AmQ=NA(),BmQ=xo0(),QmQ=32768;function ZmQ(A){return new tuQ.Readable({read(){this.push(A),this.push(null)}})}function GmQ(A){let B;try{B=new bo0.URL(A.url)}catch(J){return AmQ.consoleSandbox(()=>{console.warn("[@sentry/node]: Invalid dsn or tunnel option, will not send any events. The tunnel option must be a full URL when used.")}),vo0.createTransport(A,()=>Promise.resolve({}))}let Q=B.protocol==="https:",Z=YmQ(B,A.proxy||(Q?process.env.https_proxy:void 0)||process.env.http_proxy),G=Q?ouQ:ruQ,Y=A.keepAlive===void 0?!1:A.keepAlive,I=Z?new BmQ.HttpsProxyAgent(Z):new G.Agent({keepAlive:Y,maxSockets:30,timeout:2000}),W=ImQ(A,na1(A.httpModule,()=>G),I);return vo0.createTransport(A,W)}function YmQ(A,B){let{no_proxy:Q}=process.env;if(Q&&Q.split(",").some((G)=>A.host.endsWith(G)||A.hostname.endsWith(G)))return;else return B}function ImQ(A,B,Q){let{hostname:Z,pathname:G,port:Y,protocol:I,search:W}=new bo0.URL(A.url);return function J(X){return new Promise((F,V)=>{let K=ZmQ(X.body),z={...A.headers};if(X.body.length>QmQ)z["content-encoding"]="gzip",K=K.pipe(euQ.createGzip());let H=B.request({method:"POST",agent:Q,headers:z,hostname:Z,path:`${G}${W}`,port:Y,protocol:I,ca:A.caCerts},(D)=>{D.on("data",()=>{}),D.on("end",()=>{}),D.setEncoding("utf8");let C=na1(D.headers["retry-after"],()=>null),w=na1(D.headers["x-sentry-rate-limits"],()=>null);F({statusCode:D.statusCode,headers:{"retry-after":C,"x-sentry-rate-limits":Array.isArray(w)?w[0]:w}})});H.on("error",V),K.pipe(H)})}}fo0.makeNodeTransport=GmQ});var Fg=U((ho0)=>{Object.defineProperty(ho0,"__esModule",{value:!0});var JmQ=NA(),XmQ=JmQ.parseSemver(process.versions.node);ho0.NODE_VERSION=XmQ});var do0=U((mo0)=>{var{_optionalChain:VmQ}=NA();Object.defineProperty(mo0,"__esModule",{value:!0});var go0=X1("domain"),Vg=j9();function uo0(){return go0.active}function KmQ(){let A=uo0();if(!A)return;return Vg.ensureHubOnCarrier(A),Vg.getHubFromCarrier(A)}function zmQ(A){let B={};return Vg.ensureHubOnCarrier(B,A),Vg.getHubFromCarrier(B)}function HmQ(A,B){let Q=uo0();if(Q&&VmQ([B,"optionalAccess",(I)=>I.reuseExisting]))return A();let Z=go0.create(),G=Q?Vg.getHubFromCarrier(Q):void 0,Y=zmQ(G);return Vg.setHubOnCarrier(Z,Y),Z.bind(()=>{return A()})()}function DmQ(){Vg.setAsyncContextStrategy({getCurrentHub:KmQ,runWithAsyncContext:HmQ})}mo0.setDomainAsyncContextStrategy=DmQ});var lo0=U((co0)=>{var{_optionalChain:UmQ}=NA();Object.defineProperty(co0,"__esModule",{value:!0});var sa1=j9(),$mQ=X1("async_hooks"),VH1;function wmQ(){if(!VH1)VH1=new $mQ.AsyncLocalStorage;function A(){return VH1.getStore()}function B(Z){let G={};return sa1.ensureHubOnCarrier(G,Z),sa1.getHubFromCarrier(G)}function Q(Z,G){let Y=A();if(Y&&UmQ([G,"optionalAccess",(W)=>W.reuseExisting]))return Z();let I=B(Y);return VH1.run(I,()=>{return Z()})}sa1.setAsyncContextStrategy({getCurrentHub:A,runWithAsyncContext:Q})}co0.setHooksAsyncContextStrategy=wmQ});var io0=U((po0)=>{Object.defineProperty(po0,"__esModule",{value:!0});var EmQ=Fg(),NmQ=do0(),LmQ=lo0();function MmQ(){if(EmQ.NODE_VERSION.major>=14)LmQ.setHooksAsyncContextStrategy();else NmQ.setDomainAsyncContextStrategy()}po0.setNodeAsyncContextStrategy=MmQ});var zH1=U((ro0)=>{Object.defineProperty(ro0,"__esModule",{value:!0});var RmQ=X1("util"),KH1=j9(),no0=NA(),ao0="Console",TmQ=()=>{return{name:ao0,setupOnce(){},setup(A){no0.addConsoleInstrumentationHandler(({args:B,level:Q})=>{if(KH1.getClient()!==A)return;KH1.addBreadcrumb({category:"console",level:no0.severityLevelFromString(Q),message:RmQ.format.apply(void 0,B)},{input:[...B],level:Q})})}}},so0=KH1.defineIntegration(TmQ),PmQ=KH1.convertIntegrationFnToClass(ao0,so0);ro0.Console=PmQ;ro0.consoleIntegration=so0});var HH1=U((It0)=>{var{_optionalChain:Kg}=NA();Object.defineProperty(It0,"__esModule",{value:!0});var ymQ=X1("child_process"),to0=X1("fs"),SC=X1("os"),kmQ=X1("path"),eo0=X1("util"),At0=j9(),Bt0=eo0.promisify(to0.readFile),Qt0=eo0.promisify(to0.readdir),Zt0="Context",_mQ=(A={})=>{let B,Q={app:!0,os:!0,device:!0,culture:!0,cloudResource:!0,...A};async function Z(Y){if(B===void 0)B=G();let I=vmQ(await B);return Y.contexts={...Y.contexts,app:{...I.app,...Kg([Y,"access",(W)=>W.contexts,"optionalAccess",(W)=>W.app])},os:{...I.os,...Kg([Y,"access",(W)=>W.contexts,"optionalAccess",(W)=>W.os])},device:{...I.device,...Kg([Y,"access",(W)=>W.contexts,"optionalAccess",(W)=>W.device])},culture:{...I.culture,...Kg([Y,"access",(W)=>W.contexts,"optionalAccess",(W)=>W.culture])},cloud_resource:{...I.cloud_resource,...Kg([Y,"access",(W)=>W.contexts,"optionalAccess",(W)=>W.cloud_resource])}},Y}async function G(){let Y={};if(Q.os)Y.os=await bmQ();if(Q.app)Y.app=hmQ();if(Q.device)Y.device=Yt0(Q.device);if(Q.culture){let I=fmQ();if(I)Y.culture=I}if(Q.cloudResource)Y.cloud_resource=lmQ();return Y}return{name:Zt0,setupOnce(){},processEvent(Y){return Z(Y)}}},Gt0=At0.defineIntegration(_mQ),xmQ=At0.convertIntegrationFnToClass(Zt0,Gt0);function vmQ(A){if(Kg([A,"optionalAccess",(B)=>B.app,"optionalAccess",(B)=>B.app_memory]))A.app.app_memory=process.memoryUsage().rss;if(Kg([A,"optionalAccess",(B)=>B.device,"optionalAccess",(B)=>B.free_memory]))A.device.free_memory=SC.freemem();return A}async function bmQ(){let A=SC.platform();switch(A){case"darwin":return dmQ();case"linux":return cmQ();default:return{name:gmQ[A]||A,version:SC.release()}}}function fmQ(){try{if(typeof process.versions.icu!=="string")return;let A=new Date(900000000);if(new Intl.DateTimeFormat("es",{month:"long"}).format(A)==="enero"){let Q=Intl.DateTimeFormat().resolvedOptions();return{locale:Q.locale,timezone:Q.timeZone}}}catch(A){}return}function hmQ(){let A=process.memoryUsage().rss;return{app_start_time:new Date(Date.now()-process.uptime()*1000).toISOString(),app_memory:A}}function Yt0(A){let B={},Q;try{Q=SC.uptime&&SC.uptime()}catch(Z){}if(typeof Q==="number")B.boot_time=new Date(Date.now()-Q*1000).toISOString();if(B.arch=SC.arch(),A===!0||A.memory)B.memory_size=SC.totalmem(),B.free_memory=SC.freemem();if(A===!0||A.cpu){let Z=SC.cpus();if(Z&&Z.length){let G=Z[0];B.processor_count=Z.length,B.cpu_description=G.model,B.processor_frequency=G.speed}}return B}var gmQ={aix:"IBM AIX",freebsd:"FreeBSD",openbsd:"OpenBSD",sunos:"SunOS",win32:"Windows"},umQ=[{name:"fedora-release",distros:["Fedora"]},{name:"redhat-release",distros:["Red Hat Linux","Centos"]},{name:"redhat_version",distros:["Red Hat Linux"]},{name:"SuSE-release",distros:["SUSE Linux"]},{name:"lsb-release",distros:["Ubuntu Linux","Arch Linux"]},{name:"debian_version",distros:["Debian"]},{name:"debian_release",distros:["Debian"]},{name:"arch-release",distros:["Arch Linux"]},{name:"gentoo-release",distros:["Gentoo Linux"]},{name:"novell-release",distros:["SUSE Linux"]},{name:"alpine-release",distros:["Alpine Linux"]}],mmQ={alpine:(A)=>A,arch:(A)=>gN(/distrib_release=(.*)/,A),centos:(A)=>gN(/release ([^ ]+)/,A),debian:(A)=>A,fedora:(A)=>gN(/release (..)/,A),mint:(A)=>gN(/distrib_release=(.*)/,A),red:(A)=>gN(/release ([^ ]+)/,A),suse:(A)=>gN(/VERSION = (.*)\n/,A),ubuntu:(A)=>gN(/distrib_release=(.*)/,A)};function gN(A,B){let Q=A.exec(B);return Q?Q[1]:void 0}async function dmQ(){let A={kernel_version:SC.release(),name:"Mac OS X",version:`10.${Number(SC.release().split(".")[0])-4}`};try{let B=await new Promise((Q,Z)=>{ymQ.execFile("/usr/bin/sw_vers",(G,Y)=>{if(G){Z(G);return}Q(Y)})});A.name=gN(/^ProductName:\s+(.*)$/m,B),A.version=gN(/^ProductVersion:\s+(.*)$/m,B),A.build=gN(/^BuildVersion:\s+(.*)$/m,B)}catch(B){}return A}function oo0(A){return A.split(" ")[0].toLowerCase()}async function cmQ(){let A={kernel_version:SC.release(),name:"Linux"};try{let B=await Qt0("/etc"),Q=umQ.find((W)=>B.includes(W.name));if(!Q)return A;let Z=kmQ.join("/etc",Q.name),G=(await Bt0(Z,{encoding:"utf-8"})).toLowerCase(),{distros:Y}=Q;A.name=Y.find((W)=>G.indexOf(oo0(W))>=0)||Y[0];let I=oo0(A.name);A.version=mmQ[I](G)}catch(B){}return A}function lmQ(){if(process.env.VERCEL)return{"cloud.provider":"vercel","cloud.region":process.env.VERCEL_REGION};else if(process.env.AWS_REGION)return{"cloud.provider":"aws","cloud.region":process.env.AWS_REGION,"cloud.platform":process.env.AWS_EXECUTION_ENV};else if(process.env.GCP_PROJECT)return{"cloud.provider":"gcp"};else if(process.env.ALIYUN_REGION_ID)return{"cloud.provider":"alibaba_cloud","cloud.region":process.env.ALIYUN_REGION_ID};else if(process.env.WEBSITE_SITE_NAME&&process.env.REGION_NAME)return{"cloud.provider":"azure","cloud.region":process.env.REGION_NAME};else if(process.env.IBM_CLOUD_REGION)return{"cloud.provider":"ibm_cloud","cloud.region":process.env.IBM_CLOUD_REGION};else if(process.env.TENCENTCLOUD_REGION)return{"cloud.provider":"tencent_cloud","cloud.region":process.env.TENCENTCLOUD_REGION,"cloud.account.id":process.env.TENCENTCLOUD_APPID,"cloud.availability_zone":process.env.TENCENTCLOUD_ZONE};else if(process.env.NETLIFY)return{"cloud.provider":"netlify"};else if(process.env.FLY_REGION)return{"cloud.provider":"fly.io","cloud.region":process.env.FLY_REGION};else if(process.env.DYNO)return{"cloud.provider":"heroku"};else return}It0.Context=xmQ;It0.getDeviceContext=Yt0;It0.nodeContextIntegration=Gt0;It0.readDirAsync=Qt0;It0.readFileAsync=Bt0});var CH1=U((Vt0)=>{var{_optionalChain:ra1}=NA();Object.defineProperty(Vt0,"__esModule",{value:!0});var rmQ=X1("fs"),Wt0=j9(),Jt0=NA(),DH1=new Jt0.LRUMap(100),omQ=7,Xt0="ContextLines";function tmQ(A){return new Promise((B,Q)=>{rmQ.readFile(A,"utf8",(Z,G)=>{if(Z)Q(Z);else B(G)})})}var emQ=(A={})=>{let B=A.frameContextLines!==void 0?A.frameContextLines:omQ;return{name:Xt0,setupOnce(){},processEvent(Q){return BdQ(Q,B)}}},Ft0=Wt0.defineIntegration(emQ),AdQ=Wt0.convertIntegrationFnToClass(Xt0,Ft0);async function BdQ(A,B){let Q={},Z=[];if(B>0&&ra1([A,"access",(G)=>G.exception,"optionalAccess",(G)=>G.values]))for(let G of A.exception.values){if(!ra1([G,"access",(Y)=>Y.stacktrace,"optionalAccess",(Y)=>Y.frames]))continue;for(let Y=G.stacktrace.frames.length-1;Y>=0;Y--){let I=G.stacktrace.frames[Y];if(I.filename&&!Q[I.filename]&&!DH1.get(I.filename))Z.push(ZdQ(I.filename)),Q[I.filename]=1}}if(Z.length>0)await Promise.all(Z);if(B>0&&ra1([A,"access",(G)=>G.exception,"optionalAccess",(G)=>G.values])){for(let G of A.exception.values)if(G.stacktrace&&G.stacktrace.frames)await QdQ(G.stacktrace.frames,B)}return A}function QdQ(A,B){for(let Q of A)if(Q.filename&&Q.context_line===void 0){let Z=DH1.get(Q.filename);if(Z)try{Jt0.addContextToFrame(Z,Q,B)}catch(G){}}}async function ZdQ(A){let B=DH1.get(A);if(B===null)return null;if(B!==void 0)return B;let Q=null;try{Q=(await tmQ(A)).split(` +`)}catch(Z){}return DH1.set(A,Q),Q}Vt0.ContextLines=AdQ;Vt0.contextLinesIntegration=Ft0});var O91=U((Kt0)=>{Object.defineProperty(Kt0,"__esModule",{value:!0});var IdQ=typeof __SENTRY_DEBUG__==="undefined"||__SENTRY_DEBUG__;Kt0.DEBUG_BUILD=IdQ});var Ct0=U((Dt0)=>{var{_optionalChain:uN}=NA();Object.defineProperty(Dt0,"__esModule",{value:!0});var oa1=X1("url"),JdQ=Fg();function XdQ(A){let{protocol:B,hostname:Q,port:Z}=Ht0(A),G=A.path?A.path:"/";return`${B}//${Q}${Z}${G}`}function zt0(A){let{protocol:B,hostname:Q,port:Z}=Ht0(A),G=A.pathname||"/",Y=A.auth?FdQ(A.auth):"";return`${B}//${Y}${Q}${Z}${G}`}function FdQ(A){let[B,Q]=A.split(":");return`${B?"[Filtered]":""}:${Q?"[Filtered]":""}@`}function VdQ(A,B,Q){if(!A)return A;let[Z,G]=A.split(" ");if(B.host&&!B.protocol)B.protocol=uN([Q,"optionalAccess",(Y)=>Y.agent,"optionalAccess",(Y)=>Y.protocol]),G=zt0(B);if(uN([G,"optionalAccess",(Y)=>Y.startsWith,"call",(Y)=>Y("///")]))G=G.slice(2);return`${Z} ${G}`}function ta1(A){let B={protocol:A.protocol,hostname:typeof A.hostname==="string"&&A.hostname.startsWith("[")?A.hostname.slice(1,-1):A.hostname,hash:A.hash,search:A.search,pathname:A.pathname,path:`${A.pathname||""}${A.search||""}`,href:A.href};if(A.port!=="")B.port=Number(A.port);if(A.username||A.password)B.auth=`${A.username}:${A.password}`;return B}function KdQ(A,B){let Q,Z;if(typeof B[B.length-1]==="function")Q=B.pop();if(typeof B[0]==="string")Z=ta1(new oa1.URL(B[0]));else if(B[0]instanceof oa1.URL)Z=ta1(B[0]);else{Z=B[0];try{let G=new oa1.URL(Z.path||"",`${Z.protocol||"http:"}//${Z.hostname}`);Z={pathname:G.pathname,search:G.search,hash:G.hash,...Z}}catch(G){}}if(B.length===2)Z={...Z,...B[1]};if(Z.protocol===void 0)if(JdQ.NODE_VERSION.major>8)Z.protocol=uN([uN([A,"optionalAccess",(G)=>G.globalAgent]),"optionalAccess",(G)=>G.protocol])||uN([Z.agent,"optionalAccess",(G)=>G.protocol])||uN([Z._defaultAgent,"optionalAccess",(G)=>G.protocol]);else Z.protocol=uN([Z.agent,"optionalAccess",(G)=>G.protocol])||uN([Z._defaultAgent,"optionalAccess",(G)=>G.protocol])||uN([uN([A,"optionalAccess",(G)=>G.globalAgent]),"optionalAccess",(G)=>G.protocol]);if(Q)return[Z,Q];else return[Z]}function Ht0(A){let B=A.protocol||"",Q=A.hostname||A.host||"",Z=!A.port||A.port===80||A.port===443||/^(.*):(\d+)$/.test(Q)?"":`:${A.port}`;return{protocol:B,hostname:Q,port:Z}}Dt0.cleanSpanDescription=VdQ;Dt0.extractRawUrl=XdQ;Dt0.extractUrl=zt0;Dt0.normalizeRequestArgs=KdQ;Dt0.urlToOptions=ta1});var UH1=U((qt0)=>{var{_optionalChain:pi}=NA();Object.defineProperty(qt0,"__esModule",{value:!0});var XF=j9(),RH=NA(),ea1=O91(),$dQ=Fg(),R91=Ct0(),wdQ=(A={})=>{let{breadcrumbs:B,tracing:Q,shouldCreateSpanForRequest:Z}=A,G={breadcrumbs:B,tracing:Q===!1?!1:RH.dropUndefinedKeys({enableIfHasTracingEnabled:Q===!0?void 0:!0,shouldCreateSpanForRequest:Z})};return new zg(G)},qdQ=XF.defineIntegration(wdQ);class zg{static __initStatic(){this.id="Http"}__init(){this.name=zg.id}constructor(A={}){zg.prototype.__init.call(this),this._breadcrumbs=typeof A.breadcrumbs==="undefined"?!0:A.breadcrumbs,this._tracing=!A.tracing?void 0:A.tracing===!0?{}:A.tracing}setupOnce(A,B){let Q=pi([B,"call",(J)=>J(),"access",(J)=>J.getClient,"call",(J)=>J(),"optionalAccess",(J)=>J.getOptions,"call",(J)=>J()]),Z=$t0(this._tracing,Q);if(!this._breadcrumbs&&!Z)return;if(Q&&Q.instrumenter!=="sentry"){ea1.DEBUG_BUILD&&RH.logger.log("HTTP Integration is skipped because of instrumenter configuration.");return}let G=wt0(Z,this._tracing,Q),Y=pi([Q,"optionalAccess",(J)=>J.tracePropagationTargets])||pi([this,"access",(J)=>J._tracing,"optionalAccess",(J)=>J.tracePropagationTargets]),I=X1("http"),W=Ut0(I,this._breadcrumbs,G,Y);if(RH.fill(I,"get",W),RH.fill(I,"request",W),$dQ.NODE_VERSION.major>8){let J=X1("https"),X=Ut0(J,this._breadcrumbs,G,Y);RH.fill(J,"get",X),RH.fill(J,"request",X)}}}zg.__initStatic();function Ut0(A,B,Q,Z){let G=new RH.LRUMap(100),Y=new RH.LRUMap(100),I=(X)=>{if(Q===void 0)return!0;let F=G.get(X);if(F!==void 0)return F;let V=Q(X);return G.set(X,V),V},W=(X)=>{if(Z===void 0)return!0;let F=Y.get(X);if(F!==void 0)return F;let V=RH.stringMatchesSomePattern(X,Z);return Y.set(X,V),V};function J(X,F,V,K){if(!XF.getCurrentHub().getIntegration(zg))return;XF.addBreadcrumb({category:"http",data:{status_code:K&&K.statusCode,...F},type:"http"},{event:X,request:V,response:K})}return function X(F){return function V(...K){let z=R91.normalizeRequestArgs(A,K),H=z[0],D=R91.extractRawUrl(H),C=R91.extractUrl(H),w=XF.getClient();if(XF.isSentryRequestUrl(C,w))return F.apply(A,z);let E=XF.getCurrentScope(),L=XF.getIsolationScope(),O=XF.getActiveSpan(),R=NdQ(C,H),P=I(D)?pi([O,"optionalAccess",(k)=>k.startChild,"call",(k)=>k({op:"http.client",origin:"auto.http.node.http",description:`${R["http.method"]} ${R.url}`,data:R})]):void 0;if(w&&W(D)){let{traceId:k,spanId:b,sampled:S,dsc:d}={...L.getPropagationContext(),...E.getPropagationContext()},u=P?XF.spanToTraceHeader(P):RH.generateSentryTraceHeader(k,b,S),o=RH.dynamicSamplingContextToSentryBaggageHeader(d||(P?XF.getDynamicSamplingContextFromSpan(P):XF.getDynamicSamplingContextFromClient(k,w,E)));EdQ(H,C,u,o)}else ea1.DEBUG_BUILD&&RH.logger.log(`[Tracing] Not adding sentry-trace header to outgoing request (${C}) due to mismatching tracePropagationTargets option.`);return F.apply(A,z).once("response",function(k){let b=this;if(B)J("response",R,b,k);if(P){if(k.statusCode)XF.setHttpStatus(P,k.statusCode);P.updateName(R91.cleanSpanDescription(XF.spanToJSON(P).description||"",H,b)||""),P.end()}}).once("error",function(){let k=this;if(B)J("error",R,k);if(P)XF.setHttpStatus(P,500),P.updateName(R91.cleanSpanDescription(XF.spanToJSON(P).description||"",H,k)||""),P.end()})}}}function EdQ(A,B,Q,Z){if((A.headers||{})["sentry-trace"])return;ea1.DEBUG_BUILD&&RH.logger.log(`[Tracing] Adding sentry-trace header ${Q} to outgoing request to "${B}": `),A.headers={...A.headers,"sentry-trace":Q,...Z&&Z.length>0&&{baggage:LdQ(A,Z)}}}function NdQ(A,B){let Q=B.method||"GET",Z={url:A,"http.method":Q};if(B.hash)Z["http.fragment"]=B.hash.substring(1);if(B.search)Z["http.query"]=B.search.substring(1);return Z}function LdQ(A,B){if(!A.headers||!A.headers.baggage)return B;else if(!B)return A.headers.baggage;else if(Array.isArray(A.headers.baggage))return[...A.headers.baggage,B];return[A.headers.baggage,B]}function $t0(A,B){return A===void 0?!1:A.enableIfHasTracingEnabled?XF.hasTracingEnabled(B):!0}function wt0(A,B,Q){return A?pi([B,"optionalAccess",(G)=>G.shouldCreateSpanForRequest])||pi([Q,"optionalAccess",(G)=>G.shouldCreateSpanForRequest]):()=>!1}qt0.Http=zg;qt0._getShouldCreateSpanForRequest=wt0;qt0._shouldCreateSpans=$t0;qt0.httpIntegration=qdQ});var Lt0=U((Nt0)=>{Object.defineProperty(Nt0,"__esModule",{value:!0});function PdQ(A,B,Q){let Z=0,G=5,Y=0;return setInterval(()=>{if(Y===0){if(Z>A){if(G*=2,Q(G),G>86400)G=86400;Y=G}}else if(Y-=1,Y===0)B();Z=0},1000).unref(),()=>{Z+=1}}function As1(A){return A!==void 0&&(A.length===0||A==="?"||A===" ")}function jdQ(A,B){return A===B||As1(A)&&As1(B)}function Et0(A){if(A===void 0)return;return A.slice(-10).reduce((B,Q)=>`${B},${Q.function},${Q.lineno},${Q.colno}`,"")}function SdQ(A,B){if(B===void 0)return;return Et0(A(B,1))}Nt0.createRateLimiter=PdQ;Nt0.functionNamesMatch=jdQ;Nt0.hashFrames=Et0;Nt0.hashFromStack=SdQ;Nt0.isAnonymous=As1});var Pt0=U((Tt0)=>{var{_optionalChain:kG}=NA();Object.defineProperty(Tt0,"__esModule",{value:!0});var Bs1=j9(),$H1=NA(),bdQ=Fg(),wH1=Lt0();function Qs1(A){let B=[],Q=!1;function Z(I){if(B=[],Q)return;Q=!0,A(I)}B.push(Z);function G(I){B.push(I)}function Y(I){let W=B.pop()||Z;try{W(I)}catch(J){Z(I)}}return{add:G,next:Y}}class Mt0{constructor(){let{Session:A}=X1("inspector");this._session=new A}configureAndConnect(A,B){this._session.connect(),this._session.on("Debugger.paused",(Q)=>{A(Q,()=>{this._session.post("Debugger.resume")})}),this._session.post("Debugger.enable"),this._session.post("Debugger.setPauseOnExceptions",{state:B?"all":"uncaught"})}setPauseOnExceptions(A){this._session.post("Debugger.setPauseOnExceptions",{state:A?"all":"uncaught"})}getLocalVariables(A,B){this._getProperties(A,(Q)=>{let{add:Z,next:G}=Qs1(B);for(let Y of Q)if(kG([Y,"optionalAccess",(I)=>I.value,"optionalAccess",(I)=>I.objectId])&&kG([Y,"optionalAccess",(I)=>I.value,"access",(I)=>I.className])==="Array"){let I=Y.value.objectId;Z((W)=>this._unrollArray(I,Y.name,W,G))}else if(kG([Y,"optionalAccess",(I)=>I.value,"optionalAccess",(I)=>I.objectId])&&kG([Y,"optionalAccess",(I)=>I.value,"optionalAccess",(I)=>I.className])==="Object"){let I=Y.value.objectId;Z((W)=>this._unrollObject(I,Y.name,W,G))}else if(kG([Y,"optionalAccess",(I)=>I.value,"optionalAccess",(I)=>I.value])!=null||kG([Y,"optionalAccess",(I)=>I.value,"optionalAccess",(I)=>I.description])!=null)Z((I)=>this._unrollOther(Y,I,G));G({})})}_getProperties(A,B){this._session.post("Runtime.getProperties",{objectId:A,ownProperties:!0},(Q,Z)=>{if(Q)B([]);else B(Z.result)})}_unrollArray(A,B,Q,Z){this._getProperties(A,(G)=>{Q[B]=G.filter((Y)=>Y.name!=="length"&&!isNaN(parseInt(Y.name,10))).sort((Y,I)=>parseInt(Y.name,10)-parseInt(I.name,10)).map((Y)=>kG([Y,"optionalAccess",(I)=>I.value,"optionalAccess",(I)=>I.value])),Z(Q)})}_unrollObject(A,B,Q,Z){this._getProperties(A,(G)=>{Q[B]=G.map((Y)=>[Y.name,kG([Y,"optionalAccess",(I)=>I.value,"optionalAccess",(I)=>I.value])]).reduce((Y,[I,W])=>{return Y[I]=W,Y},{}),Z(Q)})}_unrollOther(A,B,Q){if(kG([A,"optionalAccess",(Z)=>Z.value,"optionalAccess",(Z)=>Z.value])!=null)B[A.name]=A.value.value;else if(kG([A,"optionalAccess",(Z)=>Z.value,"optionalAccess",(Z)=>Z.description])!=null&&kG([A,"optionalAccess",(Z)=>Z.value,"optionalAccess",(Z)=>Z.type])!=="function")B[A.name]=`<${A.value.description}>`;Q(B)}}function fdQ(){try{return new Mt0}catch(A){return}}var Ot0="LocalVariables",hdQ=(A={},B=fdQ())=>{let Q=new $H1.LRUMap(20),Z,G=!1;function Y(J,{params:{reason:X,data:F,callFrames:V}},K){if(X!=="exception"&&X!=="promiseRejection"){K();return}kG([Z,"optionalCall",(C)=>C()]);let z=wH1.hashFromStack(J,kG([F,"optionalAccess",(C)=>C.description]));if(z==null){K();return}let{add:H,next:D}=Qs1((C)=>{Q.set(z,C),K()});for(let C=0;C P.type==="local"),R=L.className==="global"||!L.className?E:`${L.className}.${E}`;if(kG([O,"optionalAccess",(P)=>P.object,"access",(P)=>P.objectId])===void 0)H((P)=>{P[C]={function:R},D(P)});else{let P=O.object.objectId;H((k)=>kG([B,"optionalAccess",(b)=>b.getLocalVariables,"call",(b)=>b(P,(S)=>{k[C]={function:R,vars:S},D(k)})]))}}D([])}function I(J){let X=wH1.hashFrames(kG([J,"optionalAccess",(K)=>K.stacktrace,"optionalAccess",(K)=>K.frames]));if(X===void 0)return;let F=Q.remove(X);if(F===void 0)return;let V=(kG([J,"access",(K)=>K.stacktrace,"optionalAccess",(K)=>K.frames])||[]).filter((K)=>K.function!=="new Promise");for(let K=0;K F.exception,"optionalAccess",(F)=>F.values])||[])I(X);return J}return{name:Ot0,setupOnce(){let J=Bs1.getClient(),X=kG([J,"optionalAccess",(F)=>F.getOptions,"call",(F)=>F()]);if(B&&kG([X,"optionalAccess",(F)=>F.includeLocalVariables])){if(bdQ.NODE_VERSION.major<18){$H1.logger.log("The `LocalVariables` integration is only supported on Node >= v18.");return}let V=A.captureAllExceptions!==!1;if(B.configureAndConnect((K,z)=>Y(X.stackParser,K,z),V),V){let K=A.maxExceptionsPerSecond||50;Z=wH1.createRateLimiter(K,()=>{$H1.logger.log("Local variables rate-limit lifted."),kG([B,"optionalAccess",(z)=>z.setPauseOnExceptions,"call",(z)=>z(!0)])},(z)=>{$H1.logger.log(`Local variables rate-limit exceeded. Disabling capturing of caught exceptions for ${z} seconds.`),kG([B,"optionalAccess",(H)=>H.setPauseOnExceptions,"call",(H)=>H(!1)])})}G=!0}},processEvent(J){if(G)return W(J);return J},_getCachedFramesCount(){return Q.size},_getFirstCachedFrame(){return Q.values()[0]}}},Rt0=Bs1.defineIntegration(hdQ),gdQ=Bs1.convertIntegrationFnToClass(Ot0,Rt0);Tt0.LocalVariablesSync=gdQ;Tt0.createCallbackList=Qs1;Tt0.localVariablesSyncIntegration=Rt0});var qH1=U((St0)=>{Object.defineProperty(St0,"__esModule",{value:!0});var jt0=Pt0(),cdQ=jt0.LocalVariablesSync,ldQ=jt0.localVariablesSyncIntegration;St0.LocalVariables=cdQ;St0.localVariablesIntegration=ldQ});var EH1=U((bt0)=>{Object.defineProperty(bt0,"__esModule",{value:!0});var yt0=X1("fs"),kt0=X1("path"),_t0=j9(),Zs1,xt0="Modules";function ndQ(){try{return X1.cache?Object.keys(X1.cache):[]}catch(A){return[]}}function adQ(){let A=X1.main&&X1.main.paths||[],B=ndQ(),Q={},Z={};return B.forEach((G)=>{let Y=G,I=()=>{let W=Y;if(Y=kt0.dirname(W),!Y||W===Y||Z[W])return;if(A.indexOf(Y)<0)return I();let J=kt0.join(W,"package.json");if(Z[W]=!0,!yt0.existsSync(J))return I();try{let X=JSON.parse(yt0.readFileSync(J,"utf8"));Q[X.name]=X.version}catch(X){}};I()}),Q}function sdQ(){if(!Zs1)Zs1=adQ();return Zs1}var rdQ=()=>{return{name:xt0,setupOnce(){},processEvent(A){return A.modules={...A.modules,...sdQ()},A}}},vt0=_t0.defineIntegration(rdQ),odQ=_t0.convertIntegrationFnToClass(xt0,vt0);bt0.Modules=odQ;bt0.modulesIntegration=vt0});var Ys1=U((ft0)=>{Object.defineProperty(ft0,"__esModule",{value:!0});var AcQ=j9(),NH1=NA(),Gs1=O91(),BcQ=2000;function QcQ(A){NH1.consoleSandbox(()=>{console.error(A)});let B=AcQ.getClient();if(B===void 0)Gs1.DEBUG_BUILD&&NH1.logger.warn("No NodeClient was defined, we are exiting the process now."),global.process.exit(1);let Q=B.getOptions(),Z=Q&&Q.shutdownTimeout&&Q.shutdownTimeout>0&&Q.shutdownTimeout||BcQ;B.close(Z).then((G)=>{if(!G)Gs1.DEBUG_BUILD&&NH1.logger.warn("We reached the timeout for emptying the request buffer, still exiting now!");global.process.exit(1)},(G)=>{Gs1.DEBUG_BUILD&&NH1.logger.error(G)})}ft0.logAndExitProcess=QcQ});var MH1=U((dt0)=>{Object.defineProperty(dt0,"__esModule",{value:!0});var LH1=j9(),GcQ=NA(),YcQ=O91(),ht0=Ys1(),gt0="OnUncaughtException",IcQ=(A={})=>{let B={exitEvenIfOtherHandlersAreRegistered:!0,...A};return{name:gt0,setupOnce(){},setup(Q){global.process.on("uncaughtException",mt0(Q,B))}}},ut0=LH1.defineIntegration(IcQ),WcQ=LH1.convertIntegrationFnToClass(gt0,ut0);function mt0(A,B){let Z=!1,G=!1,Y=!1,I,W=A.getOptions();return Object.assign((J)=>{let X=ht0.logAndExitProcess;if(B.onFatalError)X=B.onFatalError;else if(W.onFatalError)X=W.onFatalError;let V=global.process.listeners("uncaughtException").reduce((z,H)=>{if(H.name==="domainUncaughtExceptionClear"||H.tag&&H.tag==="sentry_tracingErrorCallback"||H._errorHandler)return z;else return z+1},0)===0,K=B.exitEvenIfOtherHandlersAreRegistered||V;if(!Z){if(I=J,Z=!0,LH1.getClient()===A)LH1.captureException(J,{originalException:J,captureContext:{level:"fatal"},mechanism:{handled:!1,type:"onuncaughtexception"}});if(!Y&&K)Y=!0,X(J)}else if(K){if(Y)YcQ.DEBUG_BUILD&&GcQ.logger.warn("uncaught exception after calling fatal error shutdown callback - this is bad! forcing shutdown"),ht0.logAndExitProcess(J);else if(!G)G=!0,setTimeout(()=>{if(!Y)Y=!0,X(I,J)},2000)}},{_errorHandler:!0})}dt0.OnUncaughtException=WcQ;dt0.makeErrorHandler=mt0;dt0.onUncaughtExceptionIntegration=ut0});var RH1=U((nt0)=>{Object.defineProperty(nt0,"__esModule",{value:!0});var OH1=j9(),ct0=NA(),VcQ=Ys1(),lt0="OnUnhandledRejection",KcQ=(A={})=>{let B=A.mode||"warn";return{name:lt0,setupOnce(){},setup(Q){global.process.on("unhandledRejection",it0(Q,{mode:B}))}}},pt0=OH1.defineIntegration(KcQ),zcQ=OH1.convertIntegrationFnToClass(lt0,pt0);function it0(A,B){return function Q(Z,G){if(OH1.getClient()!==A)return;OH1.captureException(Z,{originalException:G,captureContext:{extra:{unhandledPromiseRejection:!0}},mechanism:{handled:!1,type:"onunhandledrejection"}}),HcQ(Z,B)}}function HcQ(A,B){let Q="This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:";if(B.mode==="warn")ct0.consoleSandbox(()=>{console.warn(Q),console.error(A&&A.stack?A.stack:A)});else if(B.mode==="strict")ct0.consoleSandbox(()=>{console.warn(Q)}),VcQ.logAndExitProcess(A)}nt0.OnUnhandledRejection=zcQ;nt0.makeUnhandledPromiseHandler=it0;nt0.onUnhandledRejectionIntegration=pt0});var TH1=U((tt0)=>{Object.defineProperty(tt0,"__esModule",{value:!0});var $cQ=X1("http"),wcQ=X1("url"),at0=j9(),ii=NA(),st0="Spotlight",qcQ=(A={})=>{let B={sidecarUrl:A.sidecarUrl||"http://localhost:8969/stream"};return{name:st0,setupOnce(){},setup(Q){if(typeof process==="object"&&process.env)ii.logger.warn("[Spotlight] It seems you're not in dev mode. Do you really want to have Spotlight enabled?");NcQ(Q,B)}}},rt0=at0.defineIntegration(qcQ),EcQ=at0.convertIntegrationFnToClass(st0,rt0);function NcQ(A,B){let Q=LcQ(B.sidecarUrl);if(!Q)return;let Z=0;if(typeof A.on!=="function"){ii.logger.warn("[Spotlight] Cannot connect to spotlight due to missing method on SDK client (`client.on`)");return}A.on("beforeEnvelope",(G)=>{if(Z>3){ii.logger.warn("[Spotlight] Disabled Sentry -> Spotlight integration due to too many failed requests");return}let Y=ii.serializeEnvelope(G),W=ot0()({method:"POST",path:Q.pathname,hostname:Q.hostname,port:Q.port,headers:{"Content-Type":"application/x-sentry-envelope"}},(J)=>{J.on("data",()=>{}),J.on("end",()=>{}),J.setEncoding("utf8")});W.on("error",()=>{Z++,ii.logger.warn("[Spotlight] Failed to send envelope to Spotlight Sidecar")}),W.write(Y),W.end()})}function LcQ(A){try{return new wcQ.URL(`${A}`)}catch(B){ii.logger.warn(`[Spotlight] Invalid sidecar URL: ${A}`);return}}function ot0(){let{request:A}=$cQ;if(McQ(A))return A.__sentry_original__;return A}function McQ(A){return"__sentry_original__"in A}tt0.Spotlight=EcQ;tt0.getNativeHttpRequest=ot0;tt0.spotlightIntegration=rt0});var jH1=U((et0)=>{var{_optionalChain:PH1}=NA();Object.defineProperty(et0,"__esModule",{value:!0});var GI=j9(),Hg=NA(),PcQ=Fg();et0.ChannelName=void 0;(function(A){A.RequestCreate="undici:request:create";let Q="undici:request:headers";A.RequestEnd=Q;let Z="undici:request:error";A.RequestError=Z})(et0.ChannelName||(et0.ChannelName={}));var jcQ=(A)=>{return new aK(A)},ScQ=GI.defineIntegration(jcQ);class aK{static __initStatic(){this.id="Undici"}__init(){this.name=aK.id}__init2(){this._createSpanUrlMap=new Hg.LRUMap(100)}__init3(){this._headersUrlMap=new Hg.LRUMap(100)}constructor(A={}){aK.prototype.__init.call(this),aK.prototype.__init2.call(this),aK.prototype.__init3.call(this),aK.prototype.__init4.call(this),aK.prototype.__init5.call(this),aK.prototype.__init6.call(this),this._options={breadcrumbs:A.breadcrumbs===void 0?!0:A.breadcrumbs,tracing:A.tracing,shouldCreateSpanForRequest:A.shouldCreateSpanForRequest}}setupOnce(A){if(PcQ.NODE_VERSION.major<16)return;let B;try{B=X1("diagnostics_channel")}catch(Q){}if(!B||!B.subscribe)return;B.subscribe(et0.ChannelName.RequestCreate,this._onRequestCreate),B.subscribe(et0.ChannelName.RequestEnd,this._onRequestEnd),B.subscribe(et0.ChannelName.RequestError,this._onRequestError)}_shouldCreateSpan(A){if(this._options.tracing===!1||this._options.tracing===void 0&&!GI.hasTracingEnabled())return!1;if(this._options.shouldCreateSpanForRequest===void 0)return!0;let B=this._createSpanUrlMap.get(A);if(B!==void 0)return B;let Q=this._options.shouldCreateSpanForRequest(A);return this._createSpanUrlMap.set(A,Q),Q}__init4(){this._onRequestCreate=(A)=>{if(!PH1([GI.getClient,"call",(F)=>F(),"optionalAccess",(F)=>F.getIntegration,"call",(F)=>F(aK)]))return;let{request:B}=A,Q=B.origin?B.origin.toString()+B.path:B.path,Z=GI.getClient();if(!Z)return;if(GI.isSentryRequestUrl(Q,Z)||B.__sentry_span__!==void 0)return;let G=Z.getOptions(),Y=GI.getCurrentScope(),I=GI.getIsolationScope(),W=GI.getActiveSpan(),J=this._shouldCreateSpan(Q)?kcQ(W,B,Q):void 0;if(J)B.__sentry_span__=J;if(((F)=>{if(G.tracePropagationTargets===void 0)return!0;let V=this._headersUrlMap.get(F);if(V!==void 0)return V;let K=Hg.stringMatchesSomePattern(F,G.tracePropagationTargets);return this._headersUrlMap.set(F,K),K})(Q)){let{traceId:F,spanId:V,sampled:K,dsc:z}={...I.getPropagationContext(),...Y.getPropagationContext()},H=J?GI.spanToTraceHeader(J):Hg.generateSentryTraceHeader(F,V,K),D=Hg.dynamicSamplingContextToSentryBaggageHeader(z||(J?GI.getDynamicSamplingContextFromSpan(J):GI.getDynamicSamplingContextFromClient(F,Z,Y)));ycQ(B,H,D)}}}__init5(){this._onRequestEnd=(A)=>{if(!PH1([GI.getClient,"call",(Y)=>Y(),"optionalAccess",(Y)=>Y.getIntegration,"call",(Y)=>Y(aK)]))return;let{request:B,response:Q}=A,Z=B.origin?B.origin.toString()+B.path:B.path;if(GI.isSentryRequestUrl(Z,GI.getClient()))return;let G=B.__sentry_span__;if(G)GI.setHttpStatus(G,Q.statusCode),G.end();if(this._options.breadcrumbs)GI.addBreadcrumb({category:"http",data:{method:B.method,status_code:Q.statusCode,url:Z},type:"http"},{event:"response",request:B,response:Q})}}__init6(){this._onRequestError=(A)=>{if(!PH1([GI.getClient,"call",(G)=>G(),"optionalAccess",(G)=>G.getIntegration,"call",(G)=>G(aK)]))return;let{request:B}=A,Q=B.origin?B.origin.toString()+B.path:B.path;if(GI.isSentryRequestUrl(Q,GI.getClient()))return;let Z=B.__sentry_span__;if(Z)Z.setStatus("internal_error"),Z.end();if(this._options.breadcrumbs)GI.addBreadcrumb({category:"http",data:{method:B.method,url:Q},level:"error",type:"http"},{event:"error",request:B})}}}aK.__initStatic();function ycQ(A,B,Q){let Z;if(Array.isArray(A.headers))Z=A.headers.some((G)=>G==="sentry-trace");else Z=A.headers.split(`\r +`).some((Y)=>Y.startsWith("sentry-trace:"));if(Z)return;if(A.addHeader("sentry-trace",B),Q)A.addHeader("baggage",Q)}function kcQ(A,B,Q){let Z=Hg.parseUrl(Q),G=B.method||"GET",Y={"http.method":G};if(Z.search)Y["http.query"]=Z.search;if(Z.hash)Y["http.fragment"]=Z.hash;return PH1([A,"optionalAccess",(I)=>I.startChild,"call",(I)=>I({op:"http.client",origin:"auto.http.node.undici",description:`${G} ${Hg.getSanitizedUrlString(Z)}`,data:Y})])}et0.Undici=aK;et0.nativeNodeFetchintegration=ScQ});var Is1=U((Qe0)=>{Object.defineProperty(Qe0,"__esModule",{value:!0});var Ae0=X1("path"),vcQ=NA();function Be0(A){return A.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}function bcQ(A=process.argv[1]?vcQ.dirname(process.argv[1]):process.cwd(),B=Ae0.sep==="\\"){let Q=B?Be0(A):A;return(Z)=>{if(!Z)return;let G=B?Be0(Z):Z,{dir:Y,base:I,ext:W}=Ae0.posix.parse(G);if(W===".js"||W===".mjs"||W===".cjs")I=I.slice(0,W.length*-1);if(!Y)Y=".";let J=Y.lastIndexOf("/node_modules");if(J>-1)return`${Y.slice(J+14).replace(/\//g,".")}:${I}`;if(Y.startsWith(Q)){let X=Y.slice(Q.length+1).replace(/\//g,".");if(X)X+=":";return X+=I,X}return I}}Qe0.createGetModuleFromFilename=bcQ});var Ws1=U((We0)=>{var{_optionalChain:hcQ}=NA();Object.defineProperty(We0,"__esModule",{value:!0});var yC=j9(),Dg=NA(),gcQ=io0(),ucQ=pa1(),mcQ=zH1(),dcQ=HH1(),ccQ=CH1(),lcQ=UH1(),pcQ=qH1(),icQ=EH1(),ncQ=MH1(),acQ=RH1(),scQ=TH1(),rcQ=jH1(),ocQ=Is1(),tcQ=aa1(),Ze0=[yC.inboundFiltersIntegration(),yC.functionToStringIntegration(),yC.linkedErrorsIntegration(),yC.requestDataIntegration(),mcQ.consoleIntegration(),lcQ.httpIntegration(),rcQ.nativeNodeFetchintegration(),ncQ.onUncaughtExceptionIntegration(),acQ.onUnhandledRejectionIntegration(),ccQ.contextLinesIntegration(),pcQ.localVariablesIntegration(),dcQ.nodeContextIntegration(),icQ.modulesIntegration()];function Ge0(A){let B=yC.getMainCarrier(),Q=hcQ([B,"access",(Z)=>Z.__SENTRY__,"optionalAccess",(Z)=>Z.integrations])||[];return[...Ze0,...Q]}function ecQ(A={}){if(gcQ.setNodeAsyncContextStrategy(),A.defaultIntegrations===void 0)A.defaultIntegrations=Ge0();if(A.dsn===void 0&&process.env.SENTRY_DSN)A.dsn=process.env.SENTRY_DSN;let B=process.env.SENTRY_TRACES_SAMPLE_RATE;if(A.tracesSampleRate===void 0&&B){let Z=parseFloat(B);if(isFinite(Z))A.tracesSampleRate=Z}if(A.release===void 0){let Z=Ye0();if(Z!==void 0)A.release=Z;else A.autoSessionTracking=!1}if(A.environment===void 0&&process.env.SENTRY_ENVIRONMENT)A.environment=process.env.SENTRY_ENVIRONMENT;if(A.autoSessionTracking===void 0&&A.dsn!==void 0)A.autoSessionTracking=!0;if(A.instrumenter===void 0)A.instrumenter="sentry";let Q={...A,stackParser:Dg.stackParserFromStackParserOptions(A.stackParser||Ie0),integrations:yC.getIntegrationsToSetup(A),transport:A.transport||tcQ.makeNodeTransport};if(yC.initAndBind(A.clientClass||ucQ.NodeClient,Q),A.autoSessionTracking)BlQ();if(QlQ(),A.spotlight){let Z=yC.getClient();if(Z&&Z.addIntegration){let G=Z.getOptions().integrations;for(let Y of G)Z.addIntegration(Y);Z.addIntegration(scQ.spotlightIntegration({sidecarUrl:typeof A.spotlight==="string"?A.spotlight:void 0}))}}}function AlQ(A){if(A===void 0)return!1;let B=A&&A.getOptions();if(B&&B.autoSessionTracking!==void 0)return B.autoSessionTracking;return!1}function Ye0(A){if(process.env.SENTRY_RELEASE)return process.env.SENTRY_RELEASE;if(Dg.GLOBAL_OBJ.SENTRY_RELEASE&&Dg.GLOBAL_OBJ.SENTRY_RELEASE.id)return Dg.GLOBAL_OBJ.SENTRY_RELEASE.id;return process.env.GITHUB_SHA||process.env.COMMIT_REF||process.env.VERCEL_GIT_COMMIT_SHA||process.env.VERCEL_GITHUB_COMMIT_SHA||process.env.VERCEL_GITLAB_COMMIT_SHA||process.env.VERCEL_BITBUCKET_COMMIT_SHA||process.env.ZEIT_GITHUB_COMMIT_SHA||process.env.ZEIT_GITLAB_COMMIT_SHA||process.env.ZEIT_BITBUCKET_COMMIT_SHA||process.env.CF_PAGES_COMMIT_SHA||A}var Ie0=Dg.createStackParser(Dg.nodeStackLineParser(ocQ.createGetModuleFromFilename()));function BlQ(){yC.startSession(),process.on("beforeExit",()=>{let A=yC.getIsolationScope().getSession();if(A&&!["exited","crashed"].includes(A.status))yC.endSession()})}function QlQ(){let A=(process.env.SENTRY_USE_ENVIRONMENT||"").toLowerCase();if(!["false","n","no","off","0"].includes(A)){let B=process.env.SENTRY_TRACE,Q=process.env.SENTRY_BAGGAGE,Z=Dg.propagationContextFromHeaders(B,Q);yC.getCurrentScope().setPropagationContext(Z)}}We0.defaultIntegrations=Ze0;We0.defaultStackParser=Ie0;We0.getDefaultIntegrations=Ge0;We0.getSentryRelease=Ye0;We0.init=ecQ;We0.isAutoSessionTrackingEnabled=AlQ});var Xe0=U((Je0)=>{Object.defineProperty(Je0,"__esModule",{value:!0});var SH1=X1("fs"),Js1=X1("path");function XlQ(A){let B=Js1.resolve(A);if(!SH1.existsSync(B))throw new Error(`Cannot read contents of ${B}. Directory does not exist.`);if(!SH1.statSync(B).isDirectory())throw new Error(`Cannot read contents of ${B}, because it is not a directory.`);let Q=(Z)=>{return SH1.readdirSync(Z).reduce((G,Y)=>{let I=Js1.join(Z,Y);if(SH1.statSync(I).isDirectory())return G.concat(Q(I));return G.push(I),G},[])};return Q(B).map((Z)=>Js1.relative(B,Z))}Je0.deepReadDirSync=XlQ});var Fe0=U((VlQ)=>{/*! @sentry/node 7.120.3 (5a833b4) | https://github.com/getsentry/sentry-javascript */VlQ.base64WorkerScript="aW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gJ2luc3BlY3Rvcic7CmltcG9ydCB7IHdvcmtlckRhdGEsIHBhcmVudFBvcnQgfSBmcm9tICd3b3JrZXJfdGhyZWFkcyc7CmltcG9ydCB7IHBvc2l4LCBzZXAgfSBmcm9tICdwYXRoJzsKaW1wb3J0ICogYXMgaHR0cCBmcm9tICdodHRwJzsKaW1wb3J0ICogYXMgaHR0cHMgZnJvbSAnaHR0cHMnOwppbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gJ3N0cmVhbSc7CmltcG9ydCB7IFVSTCB9IGZyb20gJ3VybCc7CmltcG9ydCB7IGNyZWF0ZUd6aXAgfSBmcm9tICd6bGliJzsKaW1wb3J0ICogYXMgbmV0IGZyb20gJ25ldCc7CmltcG9ydCAqIGFzIHRscyBmcm9tICd0bHMnOwoKLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZApjb25zdCBvYmplY3RUb1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CgovKioKICogQ2hlY2tzIHdoZXRoZXIgZ2l2ZW4gdmFsdWUncyB0eXBlIGlzIG9uZSBvZiBhIGZldyBFcnJvciBvciBFcnJvci1saWtlCiAqIHtAbGluayBpc0Vycm9yfS4KICoKICogQHBhcmFtIHdhdCBBIHZhbHVlIHRvIGJlIGNoZWNrZWQuCiAqIEByZXR1cm5zIEEgYm9vbGVhbiByZXByZXNlbnRpbmcgdGhlIHJlc3VsdC4KICovCmZ1bmN0aW9uIGlzRXJyb3Iod2F0KSB7CiAgc3dpdGNoIChvYmplY3RUb1N0cmluZy5jYWxsKHdhdCkpIHsKICAgIGNhc2UgJ1tvYmplY3QgRXJyb3JdJzoKICAgIGNhc2UgJ1tvYmplY3QgRXhjZXB0aW9uXSc6CiAgICBjYXNlICdbb2JqZWN0IERPTUV4Y2VwdGlvbl0nOgogICAgICByZXR1cm4gdHJ1ZTsKICAgIGRlZmF1bHQ6CiAgICAgIHJldHVybiBpc0luc3RhbmNlT2Yod2F0LCBFcnJvcik7CiAgfQp9Ci8qKgogKiBDaGVja3Mgd2hldGhlciBnaXZlbiB2YWx1ZSBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgZ2l2ZW4gYnVpbHQtaW4gY2xhc3MuCiAqCiAqIEBwYXJhbSB3YXQgVGhlIHZhbHVlIHRvIGJlIGNoZWNrZWQKICogQHBhcmFtIGNsYXNzTmFtZQogKiBAcmV0dXJucyBBIGJvb2xlYW4gcmVwcmVzZW50aW5nIHRoZSByZXN1bHQuCiAqLwpmdW5jdGlvbiBpc0J1aWx0aW4od2F0LCBjbGFzc05hbWUpIHsKICByZXR1cm4gb2JqZWN0VG9TdHJpbmcuY2FsbCh3YXQpID09PSBgW29iamVjdCAke2NsYXNzTmFtZX1dYDsKfQoKLyoqCiAqIENoZWNrcyB3aGV0aGVyIGdpdmVuIHZhbHVlJ3MgdHlwZSBpcyBhIHN0cmluZwogKiB7QGxpbmsgaXNTdHJpbmd9LgogKgogKiBAcGFyYW0gd2F0IEEgdmFsdWUgdG8gYmUgY2hlY2tlZC4KICogQHJldHVybnMgQSBib29sZWFuIHJlcHJlc2VudGluZyB0aGUgcmVzdWx0LgogKi8KZnVuY3Rpb24gaXNTdHJpbmcod2F0KSB7CiAgcmV0dXJuIGlzQnVpbHRpbih3YXQsICdTdHJpbmcnKTsKfQoKLyoqCiAqIENoZWNrcyB3aGV0aGVyIGdpdmVuIHZhbHVlJ3MgdHlwZSBpcyBhbiBvYmplY3QgbGl0ZXJhbCwgb3IgYSBjbGFzcyBpbnN0YW5jZS4KICoge0BsaW5rIGlzUGxhaW5PYmplY3R9LgogKgogKiBAcGFyYW0gd2F0IEEgdmFsdWUgdG8gYmUgY2hlY2tlZC4KICogQHJldHVybnMgQSBib29sZWFuIHJlcHJlc2VudGluZyB0aGUgcmVzdWx0LgogKi8KZnVuY3Rpb24gaXNQbGFpbk9iamVjdCh3YXQpIHsKICByZXR1cm4gaXNCdWlsdGluKHdhdCwgJ09iamVjdCcpOwp9CgovKioKICogQ2hlY2tzIHdoZXRoZXIgZ2l2ZW4gdmFsdWUncyB0eXBlIGlzIGFuIEV2ZW50IGluc3RhbmNlCiAqIHtAbGluayBpc0V2ZW50fS4KICoKICogQHBhcmFtIHdhdCBBIHZhbHVlIHRvIGJlIGNoZWNrZWQuCiAqIEByZXR1cm5zIEEgYm9vbGVhbiByZXByZXNlbnRpbmcgdGhlIHJlc3VsdC4KICovCmZ1bmN0aW9uIGlzRXZlbnQod2F0KSB7CiAgcmV0dXJuIHR5cGVvZiBFdmVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNJbnN0YW5jZU9mKHdhdCwgRXZlbnQpOwp9CgovKioKICogQ2hlY2tzIHdoZXRoZXIgZ2l2ZW4gdmFsdWUncyB0eXBlIGlzIGFuIEVsZW1lbnQgaW5zdGFuY2UKICoge0BsaW5rIGlzRWxlbWVudH0uCiAqCiAqIEBwYXJhbSB3YXQgQSB2YWx1ZSB0byBiZSBjaGVja2VkLgogKiBAcmV0dXJucyBBIGJvb2xlYW4gcmVwcmVzZW50aW5nIHRoZSByZXN1bHQuCiAqLwpmdW5jdGlvbiBpc0VsZW1lbnQod2F0KSB7CiAgcmV0dXJuIHR5cGVvZiBFbGVtZW50ICE9PSAndW5kZWZpbmVkJyAmJiBpc0luc3RhbmNlT2Yod2F0LCBFbGVtZW50KTsKfQoKLyoqCiAqIENoZWNrcyB3aGV0aGVyIGdpdmVuIHZhbHVlIGhhcyBhIHRoZW4gZnVuY3Rpb24uCiAqIEBwYXJhbSB3YXQgQSB2YWx1ZSB0byBiZSBjaGVja2VkLgogKi8KZnVuY3Rpb24gaXNUaGVuYWJsZSh3YXQpIHsKICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzCiAgcmV0dXJuIEJvb2xlYW4od2F0ICYmIHdhdC50aGVuICYmIHR5cGVvZiB3YXQudGhlbiA9PT0gJ2Z1bmN0aW9uJyk7Cn0KCi8qKgogKiBDaGVja3Mgd2hldGhlciBnaXZlbiB2YWx1ZSdzIHR5cGUgaXMgYSBTeW50aGV0aWNFdmVudAogKiB7QGxpbmsgaXNTeW50aGV0aWNFdmVudH0uCiAqCiAqIEBwYXJhbSB3YXQgQSB2YWx1ZSB0byBiZSBjaGVja2VkLgogKiBAcmV0dXJucyBBIGJvb2xlYW4gcmVwcmVzZW50aW5nIHRoZSByZXN1bHQuCiAqLwpmdW5jdGlvbiBpc1N5bnRoZXRpY0V2ZW50KHdhdCkgewogIHJldHVybiBpc1BsYWluT2JqZWN0KHdhdCkgJiYgJ25hdGl2ZUV2ZW50JyBpbiB3YXQgJiYgJ3ByZXZlbnREZWZhdWx0JyBpbiB3YXQgJiYgJ3N0b3BQcm9wYWdhdGlvbicgaW4gd2F0Owp9CgovKioKICogQ2hlY2tzIHdoZXRoZXIgZ2l2ZW4gdmFsdWUgaXMgTmFOCiAqIHtAbGluayBpc05hTn0uCiAqCiAqIEBwYXJhbSB3YXQgQSB2YWx1ZSB0byBiZSBjaGVja2VkLgogKiBAcmV0dXJucyBBIGJvb2xlYW4gcmVwcmVzZW50aW5nIHRoZSByZXN1bHQuCiAqLwpmdW5jdGlvbiBpc05hTiQxKHdhdCkgewogIHJldHVybiB0eXBlb2Ygd2F0ID09PSAnbnVtYmVyJyAmJiB3YXQgIT09IHdhdDsKfQoKLyoqCiAqIENoZWNrcyB3aGV0aGVyIGdpdmVuIHZhbHVlJ3MgdHlwZSBpcyBhbiBpbnN0YW5jZSBvZiBwcm92aWRlZCBjb25zdHJ1Y3Rvci4KICoge0BsaW5rIGlzSW5zdGFuY2VPZn0uCiAqCiAqIEBwYXJhbSB3YXQgQSB2YWx1ZSB0byBiZSBjaGVja2VkLgogKiBAcGFyYW0gYmFzZSBBIGNvbnN0cnVjdG9yIHRvIGJlIHVzZWQgaW4gYSBjaGVjay4KICogQHJldHVybnMgQSBib29sZWFuIHJlcHJlc2VudGluZyB0aGUgcmVzdWx0LgogKi8KZnVuY3Rpb24gaXNJbnN0YW5jZU9mKHdhdCwgYmFzZSkgewogIHRyeSB7CiAgICByZXR1cm4gd2F0IGluc3RhbmNlb2YgYmFzZTsKICB9IGNhdGNoIChfZSkgewogICAgcmV0dXJuIGZhbHNlOwogIH0KfQoKLyoqCiAqIENoZWNrcyB3aGV0aGVyIGdpdmVuIHZhbHVlJ3MgdHlwZSBpcyBhIFZ1ZSBWaWV3TW9kZWwuCiAqCiAqIEBwYXJhbSB3YXQgQSB2YWx1ZSB0byBiZSBjaGVja2VkLgogKiBAcmV0dXJucyBBIGJvb2xlYW4gcmVwcmVzZW50aW5nIHRoZSByZXN1bHQuCiAqLwpmdW5jdGlvbiBpc1Z1ZVZpZXdNb2RlbCh3YXQpIHsKICAvLyBOb3QgdXNpbmcgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBiZWNhdXNlIGluIFZ1ZSAzIGl0IHdvdWxkIHJlYWQgdGhlIGluc3RhbmNlJ3MgU3ltYm9sKFN5bWJvbC50b1N0cmluZ1RhZykgcHJvcGVydHkuCiAgcmV0dXJuICEhKHR5cGVvZiB3YXQgPT09ICdvYmplY3QnICYmIHdhdCAhPT0gbnVsbCAmJiAoKHdhdCApLl9faXNWdWUgfHwgKHdhdCApLl9pc1Z1ZSkpOwp9CgovKiogSW50ZXJuYWwgZ2xvYmFsIHdpdGggY29tbW9uIHByb3BlcnRpZXMgYW5kIFNlbnRyeSBleHRlbnNpb25zICAqLwoKLy8gVGhlIGNvZGUgYmVsb3cgZm9yICdpc0dsb2JhbE9iaicgYW5kICdHTE9CQUxfT0JKJyB3YXMgY29waWVkIGZyb20gY29yZS1qcyBiZWZvcmUgbW9kaWZpY2F0aW9uCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS96bG9pcm9jay9jb3JlLWpzL2Jsb2IvMWI5NDRkZjU1MjgyY2RjOTljOTBkYjVmNDllYjBiNmVkYTJjYzBhMy9wYWNrYWdlcy9jb3JlLWpzL2ludGVybmFscy9nbG9iYWwuanMKLy8gY29yZS1qcyBoYXMgdGhlIGZvbGxvd2luZyBsaWNlbmNlOgovLwovLyBDb3B5cmlnaHQgKGMpIDIwMTQtMjAyMiBEZW5pcyBQdXNoa2FyZXYKLy8KLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQovLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAovLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzCi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Ci8vCi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgovLwovLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgovLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgovLyBUSEUgU09GVFdBUkUuCgovKiogUmV0dXJucyAnb2JqJyBpZiBpdCdzIHRoZSBnbG9iYWwgb2JqZWN0LCBvdGhlcndpc2UgcmV0dXJucyB1bmRlZmluZWQgKi8KZnVuY3Rpb24gaXNHbG9iYWxPYmoob2JqKSB7CiAgcmV0dXJuIG9iaiAmJiBvYmouTWF0aCA9PSBNYXRoID8gb2JqIDogdW5kZWZpbmVkOwp9CgovKiogR2V0J3MgdGhlIGdsb2JhbCBvYmplY3QgZm9yIHRoZSBjdXJyZW50IEphdmFTY3JpcHQgcnVudGltZSAqLwpjb25zdCBHTE9CQUxfT0JKID0KICAodHlwZW9mIGdsb2JhbFRoaXMgPT0gJ29iamVjdCcgJiYgaXNHbG9iYWxPYmooZ2xvYmFsVGhpcykpIHx8CiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtZ2xvYmFscwogICh0eXBlb2Ygd2luZG93ID09ICdvYmplY3QnICYmIGlzR2xvYmFsT2JqKHdpbmRvdykpIHx8CiAgKHR5cGVvZiBzZWxmID09ICdvYmplY3QnICYmIGlzR2xvYmFsT2JqKHNlbGYpKSB8fAogICh0eXBlb2YgZ2xvYmFsID09ICdvYmplY3QnICYmIGlzR2xvYmFsT2JqKGdsb2JhbCkpIHx8CiAgKGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiB0aGlzOwogIH0pKCkgfHwKICB7fTsKCi8qKgogKiBAZGVwcmVjYXRlZCBVc2UgR0xPQkFMX09CSiBpbnN0ZWFkIG9yIFdJTkRPVyBmcm9tIEBzZW50cnkvYnJvd3Nlci4gVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gdjgKICovCmZ1bmN0aW9uIGdldEdsb2JhbE9iamVjdCgpIHsKICByZXR1cm4gR0xPQkFMX09CSiA7Cn0KCi8qKgogKiBSZXR1cm5zIGEgZ2xvYmFsIHNpbmdsZXRvbiBjb250YWluZWQgaW4gdGhlIGdsb2JhbCBgX19TRU5UUllfX2Agb2JqZWN0LgogKgogKiBJZiB0aGUgc2luZ2xldG9uIGRvZXNuJ3QgYWxyZWFkeSBleGlzdCBpbiBgX19TRU5UUllfX2AsIGl0IHdpbGwgYmUgY3JlYXRlZCB1c2luZyB0aGUgZ2l2ZW4gZmFjdG9yeQogKiBmdW5jdGlvbiBhbmQgYWRkZWQgdG8gdGhlIGBfX1NFTlRSWV9fYCBvYmplY3QuCiAqCiAqIEBwYXJhbSBuYW1lIG5hbWUgb2YgdGhlIGdsb2JhbCBzaW5nbGV0b24gb24gX19TRU5UUllfXwogKiBAcGFyYW0gY3JlYXRvciBjcmVhdG9yIEZhY3RvcnkgZnVuY3Rpb24gdG8gY3JlYXRlIHRoZSBzaW5nbGV0b24gaWYgaXQgZG9lc24ndCBhbHJlYWR5IGV4aXN0IG9uIGBfX1NFTlRSWV9fYAogKiBAcGFyYW0gb2JqIChPcHRpb25hbCkgVGhlIGdsb2JhbCBvYmplY3Qgb24gd2hpY2ggdG8gbG9vayBmb3IgYF9fU0VOVFJZX19gLCBpZiBub3QgYEdMT0JBTF9PQkpgJ3MgcmV0dXJuIHZhbHVlCiAqIEByZXR1cm5zIHRoZSBzaW5nbGV0b24KICovCmZ1bmN0aW9uIGdldEdsb2JhbFNpbmdsZXRvbihuYW1lLCBjcmVhdG9yLCBvYmopIHsKICBjb25zdCBnYmwgPSAob2JqIHx8IEdMT0JBTF9PQkopIDsKICBjb25zdCBfX1NFTlRSWV9fID0gKGdibC5fX1NFTlRSWV9fID0gZ2JsLl9fU0VOVFJZX18gfHwge30pOwogIGNvbnN0IHNpbmdsZXRvbiA9IF9fU0VOVFJZX19bbmFtZV0gfHwgKF9fU0VOVFJZX19bbmFtZV0gPSBjcmVhdG9yKCkpOwogIHJldHVybiBzaW5nbGV0b247Cn0KCi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgpjb25zdCBXSU5ET1cgPSBnZXRHbG9iYWxPYmplY3QoKTsKCmNvbnN0IERFRkFVTFRfTUFYX1NUUklOR19MRU5HVEggPSA4MDsKCi8qKgogKiBHaXZlbiBhIGNoaWxkIERPTSBlbGVtZW50LCByZXR1cm5zIGEgcXVlcnktc2VsZWN0b3Igc3RhdGVtZW50IGRlc2NyaWJpbmcgdGhhdAogKiBhbmQgaXRzIGFuY2VzdG9ycwogKiBlLmcuIFtIVE1MRWxlbWVudF0gPT4gYm9keSA+IGRpdiA+IGlucHV0I2Zvby5idG5bbmFtZT1iYXpdCiAqIEByZXR1cm5zIGdlbmVyYXRlZCBET00gcGF0aAogKi8KZnVuY3Rpb24gaHRtbFRyZWVBc1N0cmluZygKICBlbGVtLAogIG9wdGlvbnMgPSB7fSwKKSB7CiAgaWYgKCFlbGVtKSB7CiAgICByZXR1cm4gJzx1bmtub3duPic7CiAgfQoKICAvLyB0cnkvY2F0Y2ggYm90aDoKICAvLyAtIGFjY2Vzc2luZyBldmVudC50YXJnZXQgKHNlZSBnZXRzZW50cnkvcmF2ZW4tanMjODM4LCAjNzY4KQogIC8vIC0gYGh0bWxUcmVlQXNTdHJpbmdgIGJlY2F1c2UgaXQncyBjb21wbGV4LCBhbmQganVzdCBhY2Nlc3NpbmcgdGhlIERPTSBpbmNvcnJlY3RseQogIC8vIC0gY2FuIHRocm93IGFuIGV4Y2VwdGlvbiBpbiBzb21lIGNpcmN1bXN0YW5jZXMuCiAgdHJ5IHsKICAgIGxldCBjdXJyZW50RWxlbSA9IGVsZW0gOwogICAgY29uc3QgTUFYX1RSQVZFUlNFX0hFSUdIVCA9IDU7CiAgICBjb25zdCBvdXQgPSBbXTsKICAgIGxldCBoZWlnaHQgPSAwOwogICAgbGV0IGxlbiA9IDA7CiAgICBjb25zdCBzZXBhcmF0b3IgPSAnID4gJzsKICAgIGNvbnN0IHNlcExlbmd0aCA9IHNlcGFyYXRvci5sZW5ndGg7CiAgICBsZXQgbmV4dFN0cjsKICAgIGNvbnN0IGtleUF0dHJzID0gQXJyYXkuaXNBcnJheShvcHRpb25zKSA/IG9wdGlvbnMgOiBvcHRpb25zLmtleUF0dHJzOwogICAgY29uc3QgbWF4U3RyaW5nTGVuZ3RoID0gKCFBcnJheS5pc0FycmF5KG9wdGlvbnMpICYmIG9wdGlvbnMubWF4U3RyaW5nTGVuZ3RoKSB8fCBERUZBVUxUX01BWF9TVFJJTkdfTEVOR1RIOwoKICAgIHdoaWxlIChjdXJyZW50RWxlbSAmJiBoZWlnaHQrKyA8IE1BWF9UUkFWRVJTRV9IRUlHSFQpIHsKICAgICAgbmV4dFN0ciA9IF9odG1sRWxlbWVudEFzU3RyaW5nKGN1cnJlbnRFbGVtLCBrZXlBdHRycyk7CiAgICAgIC8vIGJhaWwgb3V0IGlmCiAgICAgIC8vIC0gbmV4dFN0ciBpcyB0aGUgJ2h0bWwnIGVsZW1lbnQKICAgICAgLy8gLSB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgdGhhdCB3b3VsZCBiZSBjcmVhdGVkIGV4Y2VlZHMgbWF4U3RyaW5nTGVuZ3RoCiAgICAgIC8vICAgKGlnbm9yZSB0aGlzIGxpbWl0IGlmIHdlIGFyZSBvbiB0aGUgZmlyc3QgaXRlcmF0aW9uKQogICAgICBpZiAobmV4dFN0ciA9PT0gJ2h0bWwnIHx8IChoZWlnaHQgPiAxICYmIGxlbiArIG91dC5sZW5ndGggKiBzZXBMZW5ndGggKyBuZXh0U3RyLmxlbmd0aCA+PSBtYXhTdHJpbmdMZW5ndGgpKSB7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KCiAgICAgIG91dC5wdXNoKG5leHRTdHIpOwoKICAgICAgbGVuICs9IG5leHRTdHIubGVuZ3RoOwogICAgICBjdXJyZW50RWxlbSA9IGN1cnJlbnRFbGVtLnBhcmVudE5vZGU7CiAgICB9CgogICAgcmV0dXJuIG91dC5yZXZlcnNlKCkuam9pbihzZXBhcmF0b3IpOwogIH0gY2F0Y2ggKF9vTykgewogICAgcmV0dXJuICc8dW5rbm93bj4nOwogIH0KfQoKLyoqCiAqIFJldHVybnMgYSBzaW1wbGUsIHF1ZXJ5LXNlbGVjdG9yIHJlcHJlc2VudGF0aW9uIG9mIGEgRE9NIGVsZW1lbnQKICogZS5nLiBbSFRNTEVsZW1lbnRdID0+IGlucHV0I2Zvby5idG5bbmFtZT1iYXpdCiAqIEByZXR1cm5zIGdlbmVyYXRlZCBET00gcGF0aAogKi8KZnVuY3Rpb24gX2h0bWxFbGVtZW50QXNTdHJpbmcoZWwsIGtleUF0dHJzKSB7CiAgY29uc3QgZWxlbSA9IGVsCgo7CgogIGNvbnN0IG91dCA9IFtdOwogIGxldCBjbGFzc05hbWU7CiAgbGV0IGNsYXNzZXM7CiAgbGV0IGtleTsKICBsZXQgYXR0cjsKICBsZXQgaTsKCiAgaWYgKCFlbGVtIHx8ICFlbGVtLnRhZ05hbWUpIHsKICAgIHJldHVybiAnJzsKICB9CgogIC8vIEB0cy1leHBlY3QtZXJyb3IgV0lORE9XIGhhcyBIVE1MRWxlbWVudAogIGlmIChXSU5ET1cuSFRNTEVsZW1lbnQpIHsKICAgIC8vIElmIHVzaW5nIHRoZSBjb21wb25lbnQgbmFtZSBhbm5vdGF0aW9uIHBsdWdpbiwgdGhpcyB2YWx1ZSBtYXkgYmUgYXZhaWxhYmxlIG9uIHRoZSBET00gbm9kZQogICAgaWYgKGVsZW0gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJiBlbGVtLmRhdGFzZXQgJiYgZWxlbS5kYXRhc2V0WydzZW50cnlDb21wb25lbnQnXSkgewogICAgICByZXR1cm4gZWxlbS5kYXRhc2V0WydzZW50cnlDb21wb25lbnQnXTsKICAgIH0KICB9CgogIG91dC5wdXNoKGVsZW0udGFnTmFtZS50b0xvd2VyQ2FzZSgpKTsKCiAgLy8gUGFpcnMgb2YgYXR0cmlidXRlIGtleXMgZGVmaW5lZCBpbiBgc2VyaWFsaXplQXR0cmlidXRlYCBhbmQgdGhlaXIgdmFsdWVzIG9uIGVsZW1lbnQuCiAgY29uc3Qga2V5QXR0clBhaXJzID0KICAgIGtleUF0dHJzICYmIGtleUF0dHJzLmxlbmd0aAogICAgICA/IGtleUF0dHJzLmZpbHRlcihrZXlBdHRyID0+IGVsZW0uZ2V0QXR0cmlidXRlKGtleUF0dHIpKS5tYXAoa2V5QXR0ciA9PiBba2V5QXR0ciwgZWxlbS5nZXRBdHRyaWJ1dGUoa2V5QXR0cildKQogICAgICA6IG51bGw7CgogIGlmIChrZXlBdHRyUGFpcnMgJiYga2V5QXR0clBhaXJzLmxlbmd0aCkgewogICAga2V5QXR0clBhaXJzLmZvckVhY2goa2V5QXR0clBhaXIgPT4gewogICAgICBvdXQucHVzaChgWyR7a2V5QXR0clBhaXJbMF19PSIke2tleUF0dHJQYWlyWzFdfSJdYCk7CiAgICB9KTsKICB9IGVsc2UgewogICAgaWYgKGVsZW0uaWQpIHsKICAgICAgb3V0LnB1c2goYCMke2VsZW0uaWR9YCk7CiAgICB9CgogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdAogICAgY2xhc3NOYW1lID0gZWxlbS5jbGFzc05hbWU7CiAgICBpZiAoY2xhc3NOYW1lICYmIGlzU3RyaW5nKGNsYXNzTmFtZSkpIHsKICAgICAgY2xhc3NlcyA9IGNsYXNzTmFtZS5zcGxpdCgvXHMrLyk7CiAgICAgIGZvciAoaSA9IDA7IGkgPCBjbGFzc2VzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgb3V0LnB1c2goYC4ke2NsYXNzZXNbaV19YCk7CiAgICAgIH0KICAgIH0KICB9CiAgY29uc3QgYWxsb3dlZEF0dHJzID0gWydhcmlhLWxhYmVsJywgJ3R5cGUnLCAnbmFtZScsICd0aXRsZScsICdhbHQnXTsKICBmb3IgKGkgPSAwOyBpIDwgYWxsb3dlZEF0dHJzLmxlbmd0aDsgaSsrKSB7CiAgICBrZXkgPSBhbGxvd2VkQXR0cnNbaV07CiAgICBhdHRyID0gZWxlbS5nZXRBdHRyaWJ1dGUoa2V5KTsKICAgIGlmIChhdHRyKSB7CiAgICAgIG91dC5wdXNoKGBbJHtrZXl9PSIke2F0dHJ9Il1gKTsKICAgIH0KICB9CiAgcmV0dXJuIG91dC5qb2luKCcnKTsKfQoKLyoqCiAqIFRoaXMgc2VydmVzIGFzIGEgYnVpbGQgdGltZSBmbGFnIHRoYXQgd2lsbCBiZSB0cnVlIGJ5IGRlZmF1bHQsIGJ1dCBmYWxzZSBpbiBub24tZGVidWcgYnVpbGRzIG9yIGlmIHVzZXJzIHJlcGxhY2UgYF9fU0VOVFJZX0RFQlVHX19gIGluIHRoZWlyIGdlbmVyYXRlZCBjb2RlLgogKgogKiBBVFRFTlRJT046IFRoaXMgY29uc3RhbnQgbXVzdCBuZXZlciBjcm9zcyBwYWNrYWdlIGJvdW5kYXJpZXMgKGkuZS4gYmUgZXhwb3J0ZWQpIHRvIGd1YXJhbnRlZSB0aGF0IGl0IGNhbiBiZSB1c2VkIGZvciB0cmVlIHNoYWtpbmcuCiAqLwpjb25zdCBERUJVR19CVUlMRCQxID0gKHR5cGVvZiBfX1NFTlRSWV9ERUJVR19fID09PSAndW5kZWZpbmVkJyB8fCBfX1NFTlRSWV9ERUJVR19fKTsKCi8qKiBQcmVmaXggZm9yIGxvZ2dpbmcgc3RyaW5ncyAqLwpjb25zdCBQUkVGSVggPSAnU2VudHJ5IExvZ2dlciAnOwoKY29uc3QgQ09OU09MRV9MRVZFTFMgPSBbCiAgJ2RlYnVnJywKICAnaW5mbycsCiAgJ3dhcm4nLAogICdlcnJvcicsCiAgJ2xvZycsCiAgJ2Fzc2VydCcsCiAgJ3RyYWNlJywKXSA7CgovKiogVGhpcyBtYXkgYmUgbXV0YXRlZCBieSB0aGUgY29uc29sZSBpbnN0cnVtZW50YXRpb24uICovCmNvbnN0IG9yaWdpbmFsQ29uc29sZU1ldGhvZHMKCiA9IHt9OwoKLyoqIEpTRG9jICovCgovKioKICogVGVtcG9yYXJpbHkgZGlzYWJsZSBzZW50cnkgY29uc29sZSBpbnN0cnVtZW50YXRpb25zLgogKgogKiBAcGFyYW0gY2FsbGJhY2sgVGhlIGZ1bmN0aW9uIHRvIHJ1biBhZ2FpbnN0IHRoZSBvcmlnaW5hbCBgY29uc29sZWAgbWVzc2FnZXMKICogQHJldHVybnMgVGhlIHJlc3VsdHMgb2YgdGhlIGNhbGxiYWNrCiAqLwpmdW5jdGlvbiBjb25zb2xlU2FuZGJveChjYWxsYmFjaykgewogIGlmICghKCdjb25zb2xlJyBpbiBHTE9CQUxfT0JKKSkgewogICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgfQoKICBjb25zdCBjb25zb2xlID0gR0xPQkFMX09CSi5jb25zb2xlIDsKICBjb25zdCB3cmFwcGVkRnVuY3MgPSB7fTsKCiAgY29uc3Qgd3JhcHBlZExldmVscyA9IE9iamVjdC5rZXlzKG9yaWdpbmFsQ29uc29sZU1ldGhvZHMpIDsKCiAgLy8gUmVzdG9yZSBhbGwgd3JhcHBlZCBjb25zb2xlIG1ldGhvZHMKICB3cmFwcGVkTGV2ZWxzLmZvckVhY2gobGV2ZWwgPT4gewogICAgY29uc3Qgb3JpZ2luYWxDb25zb2xlTWV0aG9kID0gb3JpZ2luYWxDb25zb2xlTWV0aG9kc1tsZXZlbF0gOwogICAgd3JhcHBlZEZ1bmNzW2xldmVsXSA9IGNvbnNvbGVbbGV2ZWxdIDsKICAgIGNvbnNvbGVbbGV2ZWxdID0gb3JpZ2luYWxDb25zb2xlTWV0aG9kOwogIH0pOwoKICB0cnkgewogICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgfSBmaW5hbGx5IHsKICAgIC8vIFJldmVydCByZXN0b3JhdGlvbiB0byB3cmFwcGVkIHN0YXRlCiAgICB3cmFwcGVkTGV2ZWxzLmZvckVhY2gobGV2ZWwgPT4gewogICAgICBjb25zb2xlW2xldmVsXSA9IHdyYXBwZWRGdW5jc1tsZXZlbF0gOwogICAgfSk7CiAgfQp9CgpmdW5jdGlvbiBtYWtlTG9nZ2VyKCkgewogIGxldCBlbmFibGVkID0gZmFsc2U7CiAgY29uc3QgbG9nZ2VyID0gewogICAgZW5hYmxlOiAoKSA9PiB7CiAgICAgIGVuYWJsZWQgPSB0cnVlOwogICAgfSwKICAgIGRpc2FibGU6ICgpID0+IHsKICAgICAgZW5hYmxlZCA9IGZhbHNlOwogICAgfSwKICAgIGlzRW5hYmxlZDogKCkgPT4gZW5hYmxlZCwKICB9OwoKICBpZiAoREVCVUdfQlVJTEQkMSkgewogICAgQ09OU09MRV9MRVZFTFMuZm9yRWFjaChuYW1lID0+IHsKICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkKICAgICAgbG9nZ2VyW25hbWVdID0gKC4uLmFyZ3MpID0+IHsKICAgICAgICBpZiAoZW5hYmxlZCkgewogICAgICAgICAgY29uc29sZVNhbmRib3goKCkgPT4gewogICAgICAgICAgICBHTE9CQUxfT0JKLmNvbnNvbGVbbmFtZV0oYCR7UFJFRklYfVske25hbWV9XTpgLCAuLi5hcmdzKTsKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfTsKICAgIH0pOwogIH0gZWxzZSB7CiAgICBDT05TT0xFX0xFVkVMUy5mb3JFYWNoKG5hbWUgPT4gewogICAgICBsb2dnZXJbbmFtZV0gPSAoKSA9PiB1bmRlZmluZWQ7CiAgICB9KTsKICB9CgogIHJldHVybiBsb2dnZXIgOwp9Cgpjb25zdCBsb2dnZXIgPSBtYWtlTG9nZ2VyKCk7CgovKioKICogUmVuZGVycyB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRHNuLgogKgogKiBCeSBkZWZhdWx0LCB0aGlzIHdpbGwgcmVuZGVyIHRoZSBwdWJsaWMgcmVwcmVzZW50YXRpb24gd2l0aG91dCB0aGUgcGFzc3dvcmQKICogY29tcG9uZW50LiBUbyBnZXQgdGhlIGRlcHJlY2F0ZWQgcHJpdmF0ZSByZXByZXNlbnRhdGlvbiwgc2V0IGB3aXRoUGFzc3dvcmRgCiAqIHRvIHRydWUuCiAqCiAqIEBwYXJhbSB3aXRoUGFzc3dvcmQgV2hlbiBzZXQgdG8gdHJ1ZSwgdGhlIHBhc3N3b3JkIHdpbGwgYmUgaW5jbHVkZWQuCiAqLwpmdW5jdGlvbiBkc25Ub1N0cmluZyhkc24sIHdpdGhQYXNzd29yZCA9IGZhbHNlKSB7CiAgY29uc3QgeyBob3N0LCBwYXRoLCBwYXNzLCBwb3J0LCBwcm9qZWN0SWQsIHByb3RvY29sLCBwdWJsaWNLZXkgfSA9IGRzbjsKICByZXR1cm4gKAogICAgYCR7cHJvdG9jb2x9Oi8vJHtwdWJsaWNLZXl9JHt3aXRoUGFzc3dvcmQgJiYgcGFzcyA/IGA6JHtwYXNzfWAgOiAnJ31gICsKICAgIGBAJHtob3N0fSR7cG9ydCA/IGA6JHtwb3J0fWAgOiAnJ30vJHtwYXRoID8gYCR7cGF0aH0vYCA6IHBhdGh9JHtwcm9qZWN0SWR9YAogICk7Cn0KCi8qKiBBbiBlcnJvciBlbWl0dGVkIGJ5IFNlbnRyeSBTREtzIGFuZCByZWxhdGVkIHV0aWxpdGllcy4gKi8KY2xhc3MgU2VudHJ5RXJyb3IgZXh0ZW5kcyBFcnJvciB7CiAgLyoqIERpc3BsYXkgbmFtZSBvZiB0aGlzIGVycm9yIGluc3RhbmNlLiAqLwoKICAgY29uc3RydWN0b3IoIG1lc3NhZ2UsIGxvZ0xldmVsID0gJ3dhcm4nKSB7CiAgICBzdXBlcihtZXNzYWdlKTt0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlOwogICAgdGhpcy5uYW1lID0gbmV3LnRhcmdldC5wcm90b3R5cGUuY29uc3RydWN0b3IubmFtZTsKICAgIC8vIFRoaXMgc2V0cyB0aGUgcHJvdG90eXBlIHRvIGJlIGBFcnJvcmAsIG5vdCBgU2VudHJ5RXJyb3JgLiBJdCdzIHVuY2xlYXIgd2h5IHdlIGRvIHRoaXMsIGJ1dCBjb21tZW50aW5nIHRoaXMgbGluZQogICAgLy8gb3V0IGNhdXNlcyB2YXJpb3VzIChzZWVtaW5nbHkgdG90YWxseSB1bnJlbGF0ZWQpIHBsYXl3cmlnaHQgdGVzdHMgY29uc2lzdGVudGx5IHRpbWUgb3V0LiBGWUksIHRoaXMgbWFrZXMKICAgIC8vIGluc3RhbmNlcyBvZiBgU2VudHJ5RXJyb3JgIGZhaWwgYG9iaiBpbnN0YW5jZW9mIFNlbnRyeUVycm9yYCBjaGVja3MuCiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgbmV3LnRhcmdldC5wcm90b3R5cGUpOwogICAgdGhpcy5sb2dMZXZlbCA9IGxvZ0xldmVsOwogIH0KfQoKLyoqCiAqIEVuY29kZXMgZ2l2ZW4gb2JqZWN0IGludG8gdXJsLWZyaWVuZGx5IGZvcm1hdAogKgogKiBAcGFyYW0gb2JqZWN0IEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIHNlcmlhbGl6YWJsZSB2YWx1ZXMKICogQHJldHVybnMgc3RyaW5nIEVuY29kZWQKICovCmZ1bmN0aW9uIHVybEVuY29kZShvYmplY3QpIHsKICByZXR1cm4gT2JqZWN0LmtleXMob2JqZWN0KQogICAgLm1hcChrZXkgPT4gYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdFtrZXldKX1gKQogICAgLmpvaW4oJyYnKTsKfQoKLyoqCiAqIFRyYW5zZm9ybXMgYW55IGBFcnJvcmAgb3IgYEV2ZW50YCBpbnRvIGEgcGxhaW4gb2JqZWN0IHdpdGggYWxsIG9mIHRoZWlyIGVudW1lcmFibGUgcHJvcGVydGllcywgYW5kIHNvbWUgb2YgdGhlaXIKICogbm9uLWVudW1lcmFibGUgcHJvcGVydGllcyBhdHRhY2hlZC4KICoKICogQHBhcmFtIHZhbHVlIEluaXRpYWwgc291cmNlIHRoYXQgd2UgaGF2ZSB0byB0cmFuc2Zvcm0gaW4gb3JkZXIgZm9yIGl0IHRvIGJlIHVzYWJsZSBieSB0aGUgc2VyaWFsaXplcgogKiBAcmV0dXJucyBBbiBFdmVudCBvciBFcnJvciB0dXJuZWQgaW50byBhbiBvYmplY3QgLSBvciB0aGUgdmFsdWUgYXJndXJtZW50IGl0c2VsZiwgd2hlbiB2YWx1ZSBpcyBuZWl0aGVyIGFuIEV2ZW50IG5vcgogKiAgYW4gRXJyb3IuCiAqLwpmdW5jdGlvbiBjb252ZXJ0VG9QbGFpbk9iamVjdCgKICB2YWx1ZSwKKQoKIHsKICBpZiAoaXNFcnJvcih2YWx1ZSkpIHsKICAgIHJldHVybiB7CiAgICAgIG1lc3NhZ2U6IHZhbHVlLm1lc3NhZ2UsCiAgICAgIG5hbWU6IHZhbHVlLm5hbWUsCiAgICAgIHN0YWNrOiB2YWx1ZS5zdGFjaywKICAgICAgLi4uZ2V0T3duUHJvcGVydGllcyh2YWx1ZSksCiAgICB9OwogIH0gZWxzZSBpZiAoaXNFdmVudCh2YWx1ZSkpIHsKICAgIGNvbnN0IG5ld09iagoKID0gewogICAgICB0eXBlOiB2YWx1ZS50eXBlLAogICAgICB0YXJnZXQ6IHNlcmlhbGl6ZUV2ZW50VGFyZ2V0KHZhbHVlLnRhcmdldCksCiAgICAgIGN1cnJlbnRUYXJnZXQ6IHNlcmlhbGl6ZUV2ZW50VGFyZ2V0KHZhbHVlLmN1cnJlbnRUYXJnZXQpLAogICAgICAuLi5nZXRPd25Qcm9wZXJ0aWVzKHZhbHVlKSwKICAgIH07CgogICAgaWYgKHR5cGVvZiBDdXN0b21FdmVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNJbnN0YW5jZU9mKHZhbHVlLCBDdXN0b21FdmVudCkpIHsKICAgICAgbmV3T2JqLmRldGFpbCA9IHZhbHVlLmRldGFpbDsKICAgIH0KCiAgICByZXR1cm4gbmV3T2JqOwogIH0gZWxzZSB7CiAgICByZXR1cm4gdmFsdWU7CiAgfQp9CgovKiogQ3JlYXRlcyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdGFyZ2V0IG9mIGFuIGBFdmVudGAgb2JqZWN0ICovCmZ1bmN0aW9uIHNlcmlhbGl6ZUV2ZW50VGFyZ2V0KHRhcmdldCkgewogIHRyeSB7CiAgICByZXR1cm4gaXNFbGVtZW50KHRhcmdldCkgPyBodG1sVHJlZUFzU3RyaW5nKHRhcmdldCkgOiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGFyZ2V0KTsKICB9IGNhdGNoIChfb08pIHsKICAgIHJldHVybiAnPHVua25vd24+JzsKICB9Cn0KCi8qKiBGaWx0ZXJzIG91dCBhbGwgYnV0IGFuIG9iamVjdCdzIG93biBwcm9wZXJ0aWVzICovCmZ1bmN0aW9uIGdldE93blByb3BlcnRpZXMob2JqKSB7CiAgaWYgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmIG9iaiAhPT0gbnVsbCkgewogICAgY29uc3QgZXh0cmFjdGVkUHJvcHMgPSB7fTsKICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gb2JqKSB7CiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wZXJ0eSkpIHsKICAgICAgICBleHRyYWN0ZWRQcm9wc1twcm9wZXJ0eV0gPSAob2JqIClbcHJvcGVydHldOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gZXh0cmFjdGVkUHJvcHM7CiAgfSBlbHNlIHsKICAgIHJldHVybiB7fTsKICB9Cn0KCi8qKgogKiBHaXZlbiBhbnkgb2JqZWN0LCByZXR1cm4gYSBuZXcgb2JqZWN0IGhhdmluZyByZW1vdmVkIGFsbCBmaWVsZHMgd2hvc2UgdmFsdWUgd2FzIGB1bmRlZmluZWRgLgogKiBXb3JrcyByZWN1cnNpdmVseSBvbiBvYmplY3RzIGFuZCBhcnJheXMuCiAqCiAqIEF0dGVudGlvbjogVGhpcyBmdW5jdGlvbiBrZWVwcyBjaXJjdWxhciByZWZlcmVuY2VzIGluIHRoZSByZXR1cm5lZCBvYmplY3QuCiAqLwpmdW5jdGlvbiBkcm9wVW5kZWZpbmVkS2V5cyhpbnB1dFZhbHVlKSB7CiAgLy8gVGhpcyBtYXAga2VlcHMgdHJhY2sgb2Ygd2hhdCBhbHJlYWR5IHZpc2l0ZWQgbm9kZXMgbWFwIHRvLgogIC8vIE91ciBTZXQgLSBiYXNlZCBtZW1vQnVpbGRlciBkb2Vzbid0IHdvcmsgaGVyZSBiZWNhdXNlIHdlIHdhbnQgdG8gdGhlIG91dHB1dCBvYmplY3QgdG8gaGF2ZSB0aGUgc2FtZSBjaXJjdWxhcgogIC8vIHJlZmVyZW5jZXMgYXMgdGhlIGlucHV0IG9iamVjdC4KICBjb25zdCBtZW1vaXphdGlvbk1hcCA9IG5ldyBNYXAoKTsKCiAgLy8gVGhpcyBmdW5jdGlvbiBqdXN0IHByb3hpZXMgYF9kcm9wVW5kZWZpbmVkS2V5c2AgdG8ga2VlcCB0aGUgYG1lbW9CdWlsZGVyYCBvdXQgb2YgdGhpcyBmdW5jdGlvbidzIEFQSQogIHJldHVybiBfZHJvcFVuZGVmaW5lZEtleXMoaW5wdXRWYWx1ZSwgbWVtb2l6YXRpb25NYXApOwp9CgpmdW5jdGlvbiBfZHJvcFVuZGVmaW5lZEtleXMoaW5wdXRWYWx1ZSwgbWVtb2l6YXRpb25NYXApIHsKICBpZiAoaXNQb2pvKGlucHV0VmFsdWUpKSB7CiAgICAvLyBJZiB0aGlzIG5vZGUgaGFzIGFscmVhZHkgYmVlbiB2aXNpdGVkIGR1ZSB0byBhIGNpcmN1bGFyIHJlZmVyZW5jZSwgcmV0dXJuIHRoZSBvYmplY3QgaXQgd2FzIG1hcHBlZCB0byBpbiB0aGUgbmV3IG9iamVjdAogICAgY29uc3QgbWVtb1ZhbCA9IG1lbW9pemF0aW9uTWFwLmdldChpbnB1dFZhbHVlKTsKICAgIGlmIChtZW1vVmFsICE9PSB1bmRlZmluZWQpIHsKICAgICAgcmV0dXJuIG1lbW9WYWwgOwogICAgfQoKICAgIGNvbnN0IHJldHVyblZhbHVlID0ge307CiAgICAvLyBTdG9yZSB0aGUgbWFwcGluZyBvZiB0aGlzIHZhbHVlIGluIGNhc2Ugd2UgdmlzaXQgaXQgYWdhaW4sIGluIGNhc2Ugb2YgY2lyY3VsYXIgZGF0YQogICAgbWVtb2l6YXRpb25NYXAuc2V0KGlucHV0VmFsdWUsIHJldHVyblZhbHVlKTsKCiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhpbnB1dFZhbHVlKSkgewogICAgICBpZiAodHlwZW9mIGlucHV0VmFsdWVba2V5XSAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICByZXR1cm5WYWx1ZVtrZXldID0gX2Ryb3BVbmRlZmluZWRLZXlzKGlucHV0VmFsdWVba2V5XSwgbWVtb2l6YXRpb25NYXApOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJldHVyblZhbHVlIDsKICB9CgogIGlmIChBcnJheS5pc0FycmF5KGlucHV0VmFsdWUpKSB7CiAgICAvLyBJZiB0aGlzIG5vZGUgaGFzIGFscmVhZHkgYmVlbiB2aXNpdGVkIGR1ZSB0byBhIGNpcmN1bGFyIHJlZmVyZW5jZSwgcmV0dXJuIHRoZSBhcnJheSBpdCB3YXMgbWFwcGVkIHRvIGluIHRoZSBuZXcgb2JqZWN0CiAgICBjb25zdCBtZW1vVmFsID0gbWVtb2l6YXRpb25NYXAuZ2V0KGlucHV0VmFsdWUpOwogICAgaWYgKG1lbW9WYWwgIT09IHVuZGVmaW5lZCkgewogICAgICByZXR1cm4gbWVtb1ZhbCA7CiAgICB9CgogICAgY29uc3QgcmV0dXJuVmFsdWUgPSBbXTsKICAgIC8vIFN0b3JlIHRoZSBtYXBwaW5nIG9mIHRoaXMgdmFsdWUgaW4gY2FzZSB3ZSB2aXNpdCBpdCBhZ2FpbiwgaW4gY2FzZSBvZiBjaXJjdWxhciBkYXRhCiAgICBtZW1vaXphdGlvbk1hcC5zZXQoaW5wdXRWYWx1ZSwgcmV0dXJuVmFsdWUpOwoKICAgIGlucHV0VmFsdWUuZm9yRWFjaCgoaXRlbSkgPT4gewogICAgICByZXR1cm5WYWx1ZS5wdXNoKF9kcm9wVW5kZWZpbmVkS2V5cyhpdGVtLCBtZW1vaXphdGlvbk1hcCkpOwogICAgfSk7CgogICAgcmV0dXJuIHJldHVyblZhbHVlIDsKICB9CgogIHJldHVybiBpbnB1dFZhbHVlOwp9CgpmdW5jdGlvbiBpc1Bvam8oaW5wdXQpIHsKICBpZiAoIWlzUGxhaW5PYmplY3QoaW5wdXQpKSB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKICB0cnkgewogICAgY29uc3QgbmFtZSA9IChPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5wdXQpICkuY29uc3RydWN0b3IubmFtZTsKICAgIHJldHVybiAhbmFtZSB8fCBuYW1lID09PSAnT2JqZWN0JzsKICB9IGNhdGNoIChlKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9Cn0KCi8qKgogKiBEb2VzIHRoaXMgZmlsZW5hbWUgbG9vayBsaWtlIGl0J3MgcGFydCBvZiB0aGUgYXBwIGNvZGU/CiAqLwpmdW5jdGlvbiBmaWxlbmFtZUlzSW5BcHAoZmlsZW5hbWUsIGlzTmF0aXZlID0gZmFsc2UpIHsKICBjb25zdCBpc0ludGVybmFsID0KICAgIGlzTmF0aXZlIHx8CiAgICAoZmlsZW5hbWUgJiYKICAgICAgLy8gSXQncyBub3QgaW50ZXJuYWwgaWYgaXQncyBhbiBhYnNvbHV0ZSBsaW51eCBwYXRoCiAgICAgICFmaWxlbmFtZS5zdGFydHNXaXRoKCcvJykgJiYKICAgICAgLy8gSXQncyBub3QgaW50ZXJuYWwgaWYgaXQncyBhbiBhYnNvbHV0ZSB3aW5kb3dzIHBhdGgKICAgICAgIWZpbGVuYW1lLm1hdGNoKC9eW0EtWl06LykgJiYKICAgICAgLy8gSXQncyBub3QgaW50ZXJuYWwgaWYgdGhlIHBhdGggaXMgc3RhcnRpbmcgd2l0aCBhIGRvdAogICAgICAhZmlsZW5hbWUuc3RhcnRzV2l0aCgnLicpICYmCiAgICAgIC8vIEl0J3Mgbm90IGludGVybmFsIGlmIHRoZSBmcmFtZSBoYXMgYSBwcm90b2NvbC4gSW4gbm9kZSwgdGhpcyBpcyB1c3VhbGx5IHRoZSBjYXNlIGlmIHRoZSBmaWxlIGdvdCBwcmUtcHJvY2Vzc2VkIHdpdGggYSBidW5kbGVyIGxpa2Ugd2VicGFjawogICAgICAhZmlsZW5hbWUubWF0Y2goL15bYS16QS1aXShbYS16QS1aMC05LlwtK10pKjpcL1wvLykpOyAvLyBTY2hlbWEgZnJvbTogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzM2NDE3ODIKCiAgLy8gaW5fYXBwIGlzIGFsbCB0aGF0J3Mgbm90IGFuIGludGVybmFsIE5vZGUgZnVuY3Rpb24gb3IgYSBtb2R1bGUgd2l0aGluIG5vZGVfbW9kdWxlcwogIC8vIG5vdGUgdGhhdCBpc05hdGl2ZSBhcHBlYXJzIHRvIHJldHVybiB0cnVlIGV2ZW4gZm9yIG5vZGUgY29yZSBsaWJyYXJpZXMKICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2dldHNlbnRyeS9yYXZlbi1ub2RlL2lzc3Vlcy8xNzYKCiAgcmV0dXJuICFpc0ludGVybmFsICYmIGZpbGVuYW1lICE9PSB1bmRlZmluZWQgJiYgIWZpbGVuYW1lLmluY2x1ZGVzKCdub2RlX21vZHVsZXMvJyk7Cn0KCmNvbnN0IFNUQUNLVFJBQ0VfRlJBTUVfTElNSVQgPSA1MDsKY29uc3QgU1RSSVBfRlJBTUVfUkVHRVhQID0gL2NhcHR1cmVNZXNzYWdlfGNhcHR1cmVFeGNlcHRpb24vOwoKLyoqCiAqIFJlbW92ZXMgU2VudHJ5IGZyYW1lcyBmcm9tIHRoZSB0b3AgYW5kIGJvdHRvbSBvZiB0aGUgc3RhY2sgaWYgcHJlc2VudCBhbmQgZW5mb3JjZXMgYSBsaW1pdCBvZiBtYXggbnVtYmVyIG9mIGZyYW1lcy4KICogQXNzdW1lcyBzdGFjayBpbnB1dCBpcyBvcmRlcmVkIGZyb20gdG9wIHRvIGJvdHRvbSBhbmQgcmV0dXJucyB0aGUgcmV2ZXJzZSByZXByZXNlbnRhdGlvbiBzbyBjYWxsIHNpdGUgb2YgdGhlCiAqIGZ1bmN0aW9uIHRoYXQgY2F1c2VkIHRoZSBjcmFzaCBpcyB0aGUgbGFzdCBmcmFtZSBpbiB0aGUgYXJyYXkuCiAqIEBoaWRkZW4KICovCmZ1bmN0aW9uIHN0cmlwU2VudHJ5RnJhbWVzQW5kUmV2ZXJzZShzdGFjaykgewogIGlmICghc3RhY2subGVuZ3RoKSB7CiAgICByZXR1cm4gW107CiAgfQoKICBjb25zdCBsb2NhbFN0YWNrID0gQXJyYXkuZnJvbShzdGFjayk7CgogIC8vIElmIHN0YWNrIHN0YXJ0cyB3aXRoIG9uZSBvZiBvdXIgQVBJIGNhbGxzLCByZW1vdmUgaXQgKHN0YXJ0cywgbWVhbmluZyBpdCdzIHRoZSB0b3Agb2YgdGhlIHN0YWNrIC0gYWthIGxhc3QgY2FsbCkKICBpZiAoL3NlbnRyeVdyYXBwZWQvLnRlc3QobG9jYWxTdGFja1tsb2NhbFN0YWNrLmxlbmd0aCAtIDFdLmZ1bmN0aW9uIHx8ICcnKSkgewogICAgbG9jYWxTdGFjay5wb3AoKTsKICB9CgogIC8vIFJldmVyc2luZyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBwcm9jZWR1cmUgYWxsb3dzIHVzIHRvIGp1c3QgcG9wIHRoZSB2YWx1ZXMgb2ZmIHRoZSBzdGFjawogIGxvY2FsU3RhY2sucmV2ZXJzZSgpOwoKICAvLyBJZiBzdGFjayBlbmRzIHdpdGggb25lIG9mIG91ciBpbnRlcm5hbCBBUEkgY2FsbHMsIHJlbW92ZSBpdCAoZW5kcywgbWVhbmluZyBpdCdzIHRoZSBib3R0b20gb2YgdGhlIHN0YWNrIC0gYWthIHRvcC1tb3N0IGNhbGwpCiAgaWYgKFNUUklQX0ZSQU1FX1JFR0VYUC50ZXN0KGxvY2FsU3RhY2tbbG9jYWxTdGFjay5sZW5ndGggLSAxXS5mdW5jdGlvbiB8fCAnJykpIHsKICAgIGxvY2FsU3RhY2sucG9wKCk7CgogICAgLy8gV2hlbiB1c2luZyBzeW50aGV0aWMgZXZlbnRzLCB3ZSB3aWxsIGhhdmUgYSAyIGxldmVscyBkZWVwIHN0YWNrLCBhcyBgbmV3IEVycm9yKCdTZW50cnkgc3ludGhldGljRXhjZXB0aW9uJylgCiAgICAvLyBpcyBwcm9kdWNlZCB3aXRoaW4gdGhlIGh1YiBpdHNlbGYsIG1ha2luZyBpdDoKICAgIC8vCiAgICAvLyAgIFNlbnRyeS5jYXB0dXJlRXhjZXB0aW9uKCkKICAgIC8vICAgZ2V0Q3VycmVudEh1YigpLmNhcHR1cmVFeGNlcHRpb24oKQogICAgLy8KICAgIC8vIGluc3RlYWQgb2YganVzdCB0aGUgdG9wIGBTZW50cnlgIGNhbGwgaXRzZWxmLgogICAgLy8gVGhpcyBmb3JjZXMgdXMgdG8gcG9zc2libHkgc3RyaXAgYW4gYWRkaXRpb25hbCBmcmFtZSBpbiB0aGUgZXhhY3Qgc2FtZSB3YXMgYXMgYWJvdmUuCiAgICBpZiAoU1RSSVBfRlJBTUVfUkVHRVhQLnRlc3QobG9jYWxTdGFja1tsb2NhbFN0YWNrLmxlbmd0aCAtIDFdLmZ1bmN0aW9uIHx8ICcnKSkgewogICAgICBsb2NhbFN0YWNrLnBvcCgpOwogICAgfQogIH0KCiAgcmV0dXJuIGxvY2FsU3RhY2suc2xpY2UoMCwgU1RBQ0tUUkFDRV9GUkFNRV9MSU1JVCkubWFwKGZyYW1lID0+ICh7CiAgICAuLi5mcmFtZSwKICAgIGZpbGVuYW1lOiBmcmFtZS5maWxlbmFtZSB8fCBsb2NhbFN0YWNrW2xvY2FsU3RhY2subGVuZ3RoIC0gMV0uZmlsZW5hbWUsCiAgICBmdW5jdGlvbjogZnJhbWUuZnVuY3Rpb24gfHwgJz8nLAogIH0pKTsKfQoKY29uc3QgZGVmYXVsdEZ1bmN0aW9uTmFtZSA9ICc8YW5vbnltb3VzPic7CgovKioKICogU2FmZWx5IGV4dHJhY3QgZnVuY3Rpb24gbmFtZSBmcm9tIGl0c2VsZgogKi8KZnVuY3Rpb24gZ2V0RnVuY3Rpb25OYW1lKGZuKSB7CiAgdHJ5IHsKICAgIGlmICghZm4gfHwgdHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7CiAgICAgIHJldHVybiBkZWZhdWx0RnVuY3Rpb25OYW1lOwogICAgfQogICAgcmV0dXJuIGZuLm5hbWUgfHwgZGVmYXVsdEZ1bmN0aW9uTmFtZTsKICB9IGNhdGNoIChlKSB7CiAgICAvLyBKdXN0IGFjY2Vzc2luZyBjdXN0b20gcHJvcHMgaW4gc29tZSBTZWxlbml1bSBlbnZpcm9ubWVudHMKICAgIC8vIGNhbiBjYXVzZSBhICJQZXJtaXNzaW9uIGRlbmllZCIgZXhjZXB0aW9uIChzZWUgcmF2ZW4tanMjNDk1KS4KICAgIHJldHVybiBkZWZhdWx0RnVuY3Rpb25OYW1lOwogIH0KfQoKLyoqCiAqIFVVSUQ0IGdlbmVyYXRvcgogKgogKiBAcmV0dXJucyBzdHJpbmcgR2VuZXJhdGVkIFVVSUQ0LgogKi8KZnVuY3Rpb24gdXVpZDQoKSB7CiAgY29uc3QgZ2JsID0gR0xPQkFMX09CSiA7CiAgY29uc3QgY3J5cHRvID0gZ2JsLmNyeXB0byB8fCBnYmwubXNDcnlwdG87CgogIGxldCBnZXRSYW5kb21CeXRlID0gKCkgPT4gTWF0aC5yYW5kb20oKSAqIDE2OwogIHRyeSB7CiAgICBpZiAoY3J5cHRvICYmIGNyeXB0by5yYW5kb21VVUlEKSB7CiAgICAgIHJldHVybiBjcnlwdG8ucmFuZG9tVVVJRCgpLnJlcGxhY2UoLy0vZywgJycpOwogICAgfQogICAgaWYgKGNyeXB0byAmJiBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKSB7CiAgICAgIGdldFJhbmRvbUJ5dGUgPSAoKSA9PiB7CiAgICAgICAgLy8gY3J5cHRvLmdldFJhbmRvbVZhbHVlcyBtaWdodCByZXR1cm4gdW5kZWZpbmVkIGluc3RlYWQgb2YgdGhlIHR5cGVkIGFycmF5CiAgICAgICAgLy8gaW4gb2xkIENocm9taXVtIHZlcnNpb25zIChlLmcuIDIzLjAuMTIzNS4wICgxNTE0MjIpKQogICAgICAgIC8vIEhvd2V2ZXIsIGB0eXBlZEFycmF5YCBpcyBzdGlsbCBmaWxsZWQgaW4tcGxhY2UuCiAgICAgICAgLy8gQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQ3J5cHRvL2dldFJhbmRvbVZhbHVlcyN0eXBlZGFycmF5CiAgICAgICAgY29uc3QgdHlwZWRBcnJheSA9IG5ldyBVaW50OEFycmF5KDEpOwogICAgICAgIGNyeXB0by5nZXRSYW5kb21WYWx1ZXModHlwZWRBcnJheSk7CiAgICAgICAgcmV0dXJuIHR5cGVkQXJyYXlbMF07CiAgICAgIH07CiAgICB9CiAgfSBjYXRjaCAoXykgewogICAgLy8gc29tZSBydW50aW1lcyBjYW4gY3Jhc2ggaW52b2tpbmcgY3J5cHRvCiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZ2V0c2VudHJ5L3NlbnRyeS1qYXZhc2NyaXB0L2lzc3Vlcy84OTM1CiAgfQoKICAvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzEwNTAzNC9ob3ctdG8tY3JlYXRlLWEtZ3VpZC11dWlkLWluLWphdmFzY3JpcHQvMjExNzUyMyMyMTE3NTIzCiAgLy8gQ29uY2F0ZW5hdGluZyB0aGUgZm9sbG93aW5nIG51bWJlcnMgYXMgc3RyaW5ncyByZXN1bHRzIGluICcxMDAwMDAwMDEwMDA0MDAwODAwMDEwMDAwMDAwMDAwMCcKICByZXR1cm4gKChbMWU3XSApICsgMWUzICsgNGUzICsgOGUzICsgMWUxMSkucmVwbGFjZSgvWzAxOF0vZywgYyA9PgogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWJpdHdpc2UKICAgICgoYyApIF4gKChnZXRSYW5kb21CeXRlKCkgJiAxNSkgPj4gKChjICkgLyA0KSkpLnRvU3RyaW5nKDE2KSwKICApOwp9CgovKioKICogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGlucHV0IGlzIGFscmVhZHkgYW4gYXJyYXksIGFuZCBpZiBpdCBpc24ndCwgd3JhcHMgaXQgaW4gb25lLgogKgogKiBAcGFyYW0gbWF5YmVBcnJheSBJbnB1dCB0byB0dXJuIGludG8gYW4gYXJyYXksIGlmIG5lY2Vzc2FyeQogKiBAcmV0dXJucyBUaGUgaW5wdXQsIGlmIGFscmVhZHkgYW4gYXJyYXksIG9yIGFuIGFycmF5IHdpdGggdGhlIGlucHV0IGFzIHRoZSBvbmx5IGVsZW1lbnQsIGlmIG5vdAogKi8KZnVuY3Rpb24gYXJyYXlpZnkobWF5YmVBcnJheSkgewogIHJldHVybiBBcnJheS5pc0FycmF5KG1heWJlQXJyYXkpID8gbWF5YmVBcnJheSA6IFttYXliZUFycmF5XTsKfQoKLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzICovCi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi8KCi8qKgogKiBIZWxwZXIgdG8gZGVjeWNsZSBqc29uIG9iamVjdHMKICovCmZ1bmN0aW9uIG1lbW9CdWlsZGVyKCkgewogIGNvbnN0IGhhc1dlYWtTZXQgPSB0eXBlb2YgV2Vha1NldCA9PT0gJ2Z1bmN0aW9uJzsKICBjb25zdCBpbm5lciA9IGhhc1dlYWtTZXQgPyBuZXcgV2Vha1NldCgpIDogW107CiAgZnVuY3Rpb24gbWVtb2l6ZShvYmopIHsKICAgIGlmIChoYXNXZWFrU2V0KSB7CiAgICAgIGlmIChpbm5lci5oYXMob2JqKSkgewogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9CiAgICAgIGlubmVyLmFkZChvYmopOwogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1mb3Itb2YKICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5uZXIubGVuZ3RoOyBpKyspIHsKICAgICAgY29uc3QgdmFsdWUgPSBpbm5lcltpXTsKICAgICAgaWYgKHZhbHVlID09PSBvYmopIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgfQogICAgaW5uZXIucHVzaChvYmopOwogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgZnVuY3Rpb24gdW5tZW1vaXplKG9iaikgewogICAgaWYgKGhhc1dlYWtTZXQpIHsKICAgICAgaW5uZXIuZGVsZXRlKG9iaik7CiAgICB9IGVsc2UgewogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGlubmVyLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKGlubmVyW2ldID09PSBvYmopIHsKICAgICAgICAgIGlubmVyLnNwbGljZShpLCAxKTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KICByZXR1cm4gW21lbW9pemUsIHVubWVtb2l6ZV07Cn0KCi8qKgogKiBSZWN1cnNpdmVseSBub3JtYWxpemVzIHRoZSBnaXZlbiBvYmplY3QuCiAqCiAqIC0gQ3JlYXRlcyBhIGNvcHkgdG8gcHJldmVudCBvcmlnaW5hbCBpbnB1dCBtdXRhdGlvbgogKiAtIFNraXBzIG5vbi1lbnVtZXJhYmxlIHByb3BlcnRpZXMKICogLSBXaGVuIHN0cmluZ2lmeWluZywgY2FsbHMgYHRvSlNPTmAgaWYgaW1wbGVtZW50ZWQKICogLSBSZW1vdmVzIGNpcmN1bGFyIHJlZmVyZW5jZXMKICogLSBUcmFuc2xhdGVzIG5vbi1zZXJpYWxpemFibGUgdmFsdWVzIChgdW5kZWZpbmVkYC9gTmFOYC9mdW5jdGlvbnMpIHRvIHNlcmlhbGl6YWJsZSBmb3JtYXQKICogLSBUcmFuc2xhdGVzIGtub3duIGdsb2JhbCBvYmplY3RzL2NsYXNzZXMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb25zCiAqIC0gVGFrZXMgY2FyZSBvZiBgRXJyb3JgIG9iamVjdCBzZXJpYWxpemF0aW9uCiAqIC0gT3B0aW9uYWxseSBsaW1pdHMgZGVwdGggb2YgZmluYWwgb3V0cHV0CiAqIC0gT3B0aW9uYWxseSBsaW1pdHMgbnVtYmVyIG9mIHByb3BlcnRpZXMvZWxlbWVudHMgaW5jbHVkZWQgaW4gYW55IHNpbmdsZSBvYmplY3QvYXJyYXkKICoKICogQHBhcmFtIGlucHV0IFRoZSBvYmplY3QgdG8gYmUgbm9ybWFsaXplZC4KICogQHBhcmFtIGRlcHRoIFRoZSBtYXggZGVwdGggdG8gd2hpY2ggdG8gbm9ybWFsaXplIHRoZSBvYmplY3QuIChBbnl0aGluZyBkZWVwZXIgc3RyaW5naWZpZWQgd2hvbGUuKQogKiBAcGFyYW0gbWF4UHJvcGVydGllcyBUaGUgbWF4IG51bWJlciBvZiBlbGVtZW50cyBvciBwcm9wZXJ0aWVzIHRvIGJlIGluY2x1ZGVkIGluIGFueSBzaW5nbGUgYXJyYXkgb3IKICogb2JqZWN0IGluIHRoZSBub3JtYWxsaXplZCBvdXRwdXQuCiAqIEByZXR1cm5zIEEgbm9ybWFsaXplZCB2ZXJzaW9uIG9mIHRoZSBvYmplY3QsIG9yIGAiKipub24tc2VyaWFsaXphYmxlKioiYCBpZiBhbnkgZXJyb3JzIGFyZSB0aHJvd24gZHVyaW5nIG5vcm1hbGl6YXRpb24uCiAqLwovLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueQpmdW5jdGlvbiBub3JtYWxpemUoaW5wdXQsIGRlcHRoID0gMTAwLCBtYXhQcm9wZXJ0aWVzID0gK0luZmluaXR5KSB7CiAgdHJ5IHsKICAgIC8vIHNpbmNlIHdlJ3JlIGF0IHRoZSBvdXRlcm1vc3QgbGV2ZWwsIHdlIGRvbid0IHByb3ZpZGUgYSBrZXkKICAgIHJldHVybiB2aXNpdCgnJywgaW5wdXQsIGRlcHRoLCBtYXhQcm9wZXJ0aWVzKTsKICB9IGNhdGNoIChlcnIpIHsKICAgIHJldHVybiB7IEVSUk9SOiBgKipub24tc2VyaWFsaXphYmxlKiogKCR7ZXJyfSlgIH07CiAgfQp9CgovKioKICogVmlzaXRzIGEgbm9kZSB0byBwZXJmb3JtIG5vcm1hbGl6YXRpb24gb24gaXQKICoKICogQHBhcmFtIGtleSBUaGUga2V5IGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVuIG5vZGUKICogQHBhcmFtIHZhbHVlIFRoZSBub2RlIHRvIGJlIHZpc2l0ZWQKICogQHBhcmFtIGRlcHRoIE9wdGlvbmFsIG51bWJlciBpbmRpY2F0aW5nIHRoZSBtYXhpbXVtIHJlY3Vyc2lvbiBkZXB0aAogKiBAcGFyYW0gbWF4UHJvcGVydGllcyBPcHRpb25hbCBtYXhpbXVtIG51bWJlciBvZiBwcm9wZXJ0aWVzL2VsZW1lbnRzIGluY2x1ZGVkIGluIGFueSBzaW5nbGUgb2JqZWN0L2FycmF5CiAqIEBwYXJhbSBtZW1vIE9wdGlvbmFsIE1lbW8gY2xhc3MgaGFuZGxpbmcgZGVjeWNsaW5nCiAqLwpmdW5jdGlvbiB2aXNpdCgKICBrZXksCiAgdmFsdWUsCiAgZGVwdGggPSArSW5maW5pdHksCiAgbWF4UHJvcGVydGllcyA9ICtJbmZpbml0eSwKICBtZW1vID0gbWVtb0J1aWxkZXIoKSwKKSB7CiAgY29uc3QgW21lbW9pemUsIHVubWVtb2l6ZV0gPSBtZW1vOwoKICAvLyBHZXQgdGhlIHNpbXBsZSBjYXNlcyBvdXQgb2YgdGhlIHdheSBmaXJzdAogIGlmICgKICAgIHZhbHVlID09IG51bGwgfHwgLy8gdGhpcyBtYXRjaGVzIG51bGwgYW5kIHVuZGVmaW5lZCAtPiBlcWVxIG5vdCBlcWVxZXEKICAgIChbJ251bWJlcicsICdib29sZWFuJywgJ3N0cmluZyddLmluY2x1ZGVzKHR5cGVvZiB2YWx1ZSkgJiYgIWlzTmFOJDEodmFsdWUpKQogICkgewogICAgcmV0dXJuIHZhbHVlIDsKICB9CgogIGNvbnN0IHN0cmluZ2lmaWVkID0gc3RyaW5naWZ5VmFsdWUoa2V5LCB2YWx1ZSk7CgogIC8vIEFueXRoaW5nIHdlIGNvdWxkIHBvdGVudGlhbGx5IGRpZyBpbnRvIG1vcmUgKG9iamVjdHMgb3IgYXJyYXlzKSB3aWxsIGhhdmUgY29tZSBiYWNrIGFzIGAiW29iamVjdCBYWFhYXSJgLgogIC8vIEV2ZXJ5dGhpbmcgZWxzZSB3aWxsIGhhdmUgYWxyZWFkeSBiZWVuIHNlcmlhbGl6ZWQsIHNvIGlmIHdlIGRvbid0IHNlZSB0aGF0IHBhdHRlcm4sIHdlJ3JlIGRvbmUuCiAgaWYgKCFzdHJpbmdpZmllZC5zdGFydHNXaXRoKCdbb2JqZWN0ICcpKSB7CiAgICByZXR1cm4gc3RyaW5naWZpZWQ7CiAgfQoKICAvLyBGcm9tIGhlcmUgb24sIHdlIGNhbiBhc3NlcnQgdGhhdCBgdmFsdWVgIGlzIGVpdGhlciBhbiBvYmplY3Qgb3IgYW4gYXJyYXkuCgogIC8vIERvIG5vdCBub3JtYWxpemUgb2JqZWN0cyB0aGF0IHdlIGtub3cgaGF2ZSBhbHJlYWR5IGJlZW4gbm9ybWFsaXplZC4gQXMgYSBnZW5lcmFsIHJ1bGUsIHRoZQogIC8vICJfX3NlbnRyeV9za2lwX25vcm1hbGl6YXRpb25fXyIgcHJvcGVydHkgc2hvdWxkIG9ubHkgYmUgdXNlZCBzcGFyaW5nbHkgYW5kIG9ubHkgc2hvdWxkIG9ubHkgYmUgc2V0IG9uIG9iamVjdHMgdGhhdAogIC8vIGhhdmUgYWxyZWFkeSBiZWVuIG5vcm1hbGl6ZWQuCiAgaWYgKCh2YWx1ZSApWydfX3NlbnRyeV9za2lwX25vcm1hbGl6YXRpb25fXyddKSB7CiAgICByZXR1cm4gdmFsdWUgOwogIH0KCiAgLy8gV2UgY2FuIHNldCBgX19zZW50cnlfb3ZlcnJpZGVfbm9ybWFsaXphdGlvbl9kZXB0aF9fYCBvbiBhbiBvYmplY3QgdG8gZW5zdXJlIHRoYXQgZnJvbSB0aGVyZQogIC8vIFdlIGtlZXAgYSBjZXJ0YWluIGFtb3VudCBvZiBkZXB0aC4KICAvLyBUaGlzIHNob3VsZCBiZSB1c2VkIHNwYXJpbmdseSwgZS5nLiB3ZSB1c2UgaXQgZm9yIHRoZSByZWR1eCBpbnRlZ3JhdGlvbiB0byBlbnN1cmUgd2UgZ2V0IGEgY2VydGFpbiBhbW91bnQgb2Ygc3RhdGUuCiAgY29uc3QgcmVtYWluaW5nRGVwdGggPQogICAgdHlwZW9mICh2YWx1ZSApWydfX3NlbnRyeV9vdmVycmlkZV9ub3JtYWxpemF0aW9uX2RlcHRoX18nXSA9PT0gJ251bWJlcicKICAgICAgPyAoKHZhbHVlIClbJ19fc2VudHJ5X292ZXJyaWRlX25vcm1hbGl6YXRpb25fZGVwdGhfXyddICkKICAgICAgOiBkZXB0aDsKCiAgLy8gV2UncmUgYWxzbyBkb25lIGlmIHdlJ3ZlIHJlYWNoZWQgdGhlIG1heCBkZXB0aAogIGlmIChyZW1haW5pbmdEZXB0aCA9PT0gMCkgewogICAgLy8gQXQgdGhpcyBwb2ludCB3ZSBrbm93IGBzZXJpYWxpemVkYCBpcyBhIHN0cmluZyBvZiB0aGUgZm9ybSBgIltvYmplY3QgWFhYWF0iYC4gQ2xlYW4gaXQgdXAgc28gaXQncyBqdXN0IGAiW1hYWFhdImAuCiAgICByZXR1cm4gc3RyaW5naWZpZWQucmVwbGFjZSgnb2JqZWN0ICcsICcnKTsKICB9CgogIC8vIElmIHdlJ3ZlIGFscmVhZHkgdmlzaXRlZCB0aGlzIGJyYW5jaCwgYmFpbCBvdXQsIGFzIGl0J3MgY2lyY3VsYXIgcmVmZXJlbmNlLiBJZiBub3QsIG5vdGUgdGhhdCB3ZSdyZSBzZWVpbmcgaXQgbm93LgogIGlmIChtZW1vaXplKHZhbHVlKSkgewogICAgcmV0dXJuICdbQ2lyY3VsYXIgfl0nOwogIH0KCiAgLy8gSWYgdGhlIHZhbHVlIGhhcyBhIGB0b0pTT05gIG1ldGhvZCwgd2UgY2FsbCBpdCB0byBleHRyYWN0IG1vcmUgaW5mb3JtYXRpb24KICBjb25zdCB2YWx1ZVdpdGhUb0pTT04gPSB2YWx1ZSA7CiAgaWYgKHZhbHVlV2l0aFRvSlNPTiAmJiB0eXBlb2YgdmFsdWVXaXRoVG9KU09OLnRvSlNPTiA9PT0gJ2Z1bmN0aW9uJykgewogICAgdHJ5IHsKICAgICAgY29uc3QganNvblZhbHVlID0gdmFsdWVXaXRoVG9KU09OLnRvSlNPTigpOwogICAgICAvLyBXZSBuZWVkIHRvIG5vcm1hbGl6ZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGAudG9KU09OKClgIGluIGNhc2UgaXQgaGFzIGNpcmN1bGFyIHJlZmVyZW5jZXMKICAgICAgcmV0dXJuIHZpc2l0KCcnLCBqc29uVmFsdWUsIHJlbWFpbmluZ0RlcHRoIC0gMSwgbWF4UHJvcGVydGllcywgbWVtbyk7CiAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgLy8gcGFzcyAoVGhlIGJ1aWx0LWluIGB0b0pTT05gIGZhaWxlZCwgYnV0IHdlIGNhbiBzdGlsbCB0cnkgdG8gZG8gaXQgb3Vyc2VsdmVzKQogICAgfQogIH0KCiAgLy8gQXQgdGhpcyBwb2ludCB3ZSBrbm93IHdlIGVpdGhlciBoYXZlIGFuIG9iamVjdCBvciBhbiBhcnJheSwgd2UgaGF2ZW4ndCBzZWVuIGl0IGJlZm9yZSwgYW5kIHdlJ3JlIGdvaW5nIHRvIHJlY3Vyc2UKICAvLyBiZWNhdXNlIHdlIGhhdmVuJ3QgeWV0IHJlYWNoZWQgdGhlIG1heCBkZXB0aC4gQ3JlYXRlIGFuIGFjY3VtdWxhdG9yIHRvIGhvbGQgdGhlIHJlc3VsdHMgb2YgdmlzaXRpbmcgZWFjaAogIC8vIHByb3BlcnR5L2VudHJ5LCBhbmQga2VlcCB0cmFjayBvZiB0aGUgbnVtYmVyIG9mIGl0ZW1zIHdlIGFkZCB0byBpdC4KICBjb25zdCBub3JtYWxpemVkID0gKEFycmF5LmlzQXJyYXkodmFsdWUpID8gW10gOiB7fSkgOwogIGxldCBudW1BZGRlZCA9IDA7CgogIC8vIEJlZm9yZSB3ZSBiZWdpbiwgY29udmVydGBFcnJvcmAgYW5kYEV2ZW50YCBpbnN0YW5jZXMgaW50byBwbGFpbiBvYmplY3RzLCBzaW5jZSBzb21lIG9mIGVhY2ggb2YgdGhlaXIgcmVsZXZhbnQKICAvLyBwcm9wZXJ0aWVzIGFyZSBub24tZW51bWVyYWJsZSBhbmQgb3RoZXJ3aXNlIHdvdWxkIGdldCBtaXNzZWQuCiAgY29uc3QgdmlzaXRhYmxlID0gY29udmVydFRvUGxhaW5PYmplY3QodmFsdWUgKTsKCiAgZm9yIChjb25zdCB2aXNpdEtleSBpbiB2aXNpdGFibGUpIHsKICAgIC8vIEF2b2lkIGl0ZXJhdGluZyBvdmVyIGZpZWxkcyBpbiB0aGUgcHJvdG90eXBlIGlmIHRoZXkndmUgc29tZWhvdyBiZWVuIGV4cG9zZWQgdG8gZW51bWVyYXRpb24uCiAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2aXNpdGFibGUsIHZpc2l0S2V5KSkgewogICAgICBjb250aW51ZTsKICAgIH0KCiAgICBpZiAobnVtQWRkZWQgPj0gbWF4UHJvcGVydGllcykgewogICAgICBub3JtYWxpemVkW3Zpc2l0S2V5XSA9ICdbTWF4UHJvcGVydGllcyB+XSc7CiAgICAgIGJyZWFrOwogICAgfQoKICAgIC8vIFJlY3Vyc2l2ZWx5IHZpc2l0IGFsbCB0aGUgY2hpbGQgbm9kZXMKICAgIGNvbnN0IHZpc2l0VmFsdWUgPSB2aXNpdGFibGVbdmlzaXRLZXldOwogICAgbm9ybWFsaXplZFt2aXNpdEtleV0gPSB2aXNpdCh2aXNpdEtleSwgdmlzaXRWYWx1ZSwgcmVtYWluaW5nRGVwdGggLSAxLCBtYXhQcm9wZXJ0aWVzLCBtZW1vKTsKCiAgICBudW1BZGRlZCsrOwogIH0KCiAgLy8gT25jZSB3ZSd2ZSB2aXNpdGVkIGFsbCB0aGUgYnJhbmNoZXMsIHJlbW92ZSB0aGUgcGFyZW50IGZyb20gbWVtbyBzdG9yYWdlCiAgdW5tZW1vaXplKHZhbHVlKTsKCiAgLy8gUmV0dXJuIGFjY3VtdWxhdGVkIHZhbHVlcwogIHJldHVybiBub3JtYWxpemVkOwp9CgovKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovCi8qKgogKiBTdHJpbmdpZnkgdGhlIGdpdmVuIHZhbHVlLiBIYW5kbGVzIHZhcmlvdXMga25vd24gc3BlY2lhbCB2YWx1ZXMgYW5kIHR5cGVzLgogKgogKiBOb3QgbWVhbnQgdG8gYmUgdXNlZCBvbiBzaW1wbGUgcHJpbWl0aXZlcyB3aGljaCBhbHJlYWR5IGhhdmUgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24sIGFzIGl0IHdpbGwsIGZvciBleGFtcGxlLCB0dXJuCiAqIHRoZSBudW1iZXIgMTIzMSBpbnRvICJbT2JqZWN0IE51bWJlcl0iLCBub3Igb24gYG51bGxgLCBhcyBpdCB3aWxsIHRocm93LgogKgogKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHN0cmluZ2lmeQogKiBAcmV0dXJucyBBIHN0cmluZ2lmaWVkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBnaXZlbiB2YWx1ZQogKi8KZnVuY3Rpb24gc3RyaW5naWZ5VmFsdWUoCiAga2V5LAogIC8vIHRoaXMgdHlwZSBpcyBhIHRpbnkgYml0IG9mIGEgY2hlYXQsIHNpbmNlIHRoaXMgZnVuY3Rpb24gZG9lcyBoYW5kbGUgTmFOICh3aGljaCBpcyB0ZWNobmljYWxseSBhIG51bWJlciksIGJ1dCBmb3IKICAvLyBvdXIgaW50ZXJuYWwgdXNlLCBpdCdsbCBkbwogIHZhbHVlLAopIHsKICB0cnkgewogICAgaWYgKGtleSA9PT0gJ2RvbWFpbicgJiYgdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAodmFsdWUgKS5fZXZlbnRzKSB7CiAgICAgIHJldHVybiAnW0RvbWFpbl0nOwogICAgfQoKICAgIGlmIChrZXkgPT09ICdkb21haW5FbWl0dGVyJykgewogICAgICByZXR1cm4gJ1tEb21haW5FbWl0dGVyXSc7CiAgICB9CgogICAgLy8gSXQncyBzYWZlIHRvIHVzZSBgZ2xvYmFsYCwgYHdpbmRvd2AsIGFuZCBgZG9jdW1lbnRgIGhlcmUgaW4gdGhpcyBtYW5uZXIsIGFzIHdlIGFyZSBhc3NlcnRpbmcgdXNpbmcgYHR5cGVvZmAgZmlyc3QKICAgIC8vIHdoaWNoIHdvbid0IHRocm93IGlmIHRoZXkgYXJlIG5vdCBwcmVzZW50LgoKICAgIGlmICh0eXBlb2YgZ2xvYmFsICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSA9PT0gZ2xvYmFsKSB7CiAgICAgIHJldHVybiAnW0dsb2JhbF0nOwogICAgfQoKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWdsb2JhbHMKICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSA9PT0gd2luZG93KSB7CiAgICAgIHJldHVybiAnW1dpbmRvd10nOwogICAgfQoKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWdsb2JhbHMKICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlID09PSBkb2N1bWVudCkgewogICAgICByZXR1cm4gJ1tEb2N1bWVudF0nOwogICAgfQoKICAgIGlmIChpc1Z1ZVZpZXdNb2RlbCh2YWx1ZSkpIHsKICAgICAgcmV0dXJuICdbVnVlVmlld01vZGVsXSc7CiAgICB9CgogICAgLy8gUmVhY3QncyBTeW50aGV0aWNFdmVudCB0aGluZ3kKICAgIGlmIChpc1N5bnRoZXRpY0V2ZW50KHZhbHVlKSkgewogICAgICByZXR1cm4gJ1tTeW50aGV0aWNFdmVudF0nOwogICAgfQoKICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIHZhbHVlICE9PSB2YWx1ZSkgewogICAgICByZXR1cm4gJ1tOYU5dJzsKICAgIH0KCiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7CiAgICAgIHJldHVybiBgW0Z1bmN0aW9uOiAke2dldEZ1bmN0aW9uTmFtZSh2YWx1ZSl9XWA7CiAgICB9CgogICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N5bWJvbCcpIHsKICAgICAgcmV0dXJuIGBbJHtTdHJpbmcodmFsdWUpfV1gOwogICAgfQoKICAgIC8vIHN0cmluZ2lmaWVkIEJpZ0ludHMgYXJlIGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gcmVndWxhciBudW1iZXJzLCBzbyB3ZSBuZWVkIHRvIGxhYmVsIHRoZW0gdG8gYXZvaWQgY29uZnVzaW9uCiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnYmlnaW50JykgewogICAgICByZXR1cm4gYFtCaWdJbnQ6ICR7U3RyaW5nKHZhbHVlKX1dYDsKICAgIH0KCiAgICAvLyBOb3cgdGhhdCB3ZSd2ZSBrbm9ja2VkIG91dCBhbGwgdGhlIHNwZWNpYWwgY2FzZXMgYW5kIHRoZSBwcmltaXRpdmVzLCBhbGwgd2UgaGF2ZSBsZWZ0IGFyZSBvYmplY3RzLiBTaW1wbHkgY2FzdGluZwogICAgLy8gdGhlbSB0byBzdHJpbmdzIG1lYW5zIHRoYXQgaW5zdGFuY2VzIG9mIGNsYXNzZXMgd2hpY2ggaGF2ZW4ndCBkZWZpbmVkIHRoZWlyIGB0b1N0cmluZ1RhZ2Agd2lsbCBqdXN0IGNvbWUgb3V0IGFzCiAgICAvLyBgIltvYmplY3QgT2JqZWN0XSJgLiBJZiB3ZSBpbnN0ZWFkIGxvb2sgYXQgdGhlIGNvbnN0cnVjdG9yJ3MgbmFtZSAod2hpY2ggaXMgdGhlIHNhbWUgYXMgdGhlIG5hbWUgb2YgdGhlIGNsYXNzKSwKICAgIC8vIHdlIGNhbiBtYWtlIHN1cmUgdGhhdCBvbmx5IHBsYWluIG9iamVjdHMgY29tZSBvdXQgdGhhdCB3YXkuCiAgICBjb25zdCBvYmpOYW1lID0gZ2V0Q29uc3RydWN0b3JOYW1lKHZhbHVlKTsKCiAgICAvLyBIYW5kbGUgSFRNTCBFbGVtZW50cwogICAgaWYgKC9eSFRNTChcdyopRWxlbWVudCQvLnRlc3Qob2JqTmFtZSkpIHsKICAgICAgcmV0dXJuIGBbSFRNTEVsZW1lbnQ6ICR7b2JqTmFtZX1dYDsKICAgIH0KCiAgICByZXR1cm4gYFtvYmplY3QgJHtvYmpOYW1lfV1gOwogIH0gY2F0Y2ggKGVycikgewogICAgcmV0dXJuIGAqKm5vbi1zZXJpYWxpemFibGUqKiAoJHtlcnJ9KWA7CiAgfQp9Ci8qIGVzbGludC1lbmFibGUgY29tcGxleGl0eSAqLwoKZnVuY3Rpb24gZ2V0Q29uc3RydWN0b3JOYW1lKHZhbHVlKSB7CiAgY29uc3QgcHJvdG90eXBlID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHZhbHVlKTsKCiAgcmV0dXJuIHByb3RvdHlwZSA/IHByb3RvdHlwZS5jb25zdHJ1Y3Rvci5uYW1lIDogJ251bGwgcHJvdG90eXBlJzsKfQoKLyoqCiAqIE5vcm1hbGl6ZXMgVVJMcyBpbiBleGNlcHRpb25zIGFuZCBzdGFja3RyYWNlcyB0byBhIGJhc2UgcGF0aCBzbyBTZW50cnkgY2FuIGZpbmdlcnByaW50CiAqIGFjcm9zcyBwbGF0Zm9ybXMgYW5kIHdvcmtpbmcgZGlyZWN0b3J5LgogKgogKiBAcGFyYW0gdXJsIFRoZSBVUkwgdG8gYmUgbm9ybWFsaXplZC4KICogQHBhcmFtIGJhc2VQYXRoIFRoZSBhcHBsaWNhdGlvbiBiYXNlIHBhdGguCiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIFVSTC4KICovCmZ1bmN0aW9uIG5vcm1hbGl6ZVVybFRvQmFzZSh1cmwsIGJhc2VQYXRoKSB7CiAgY29uc3QgZXNjYXBlZEJhc2UgPSBiYXNlUGF0aAogICAgLy8gQmFja3NsYXNoIHRvIGZvcndhcmQKICAgIC5yZXBsYWNlKC9cXC9nLCAnLycpCiAgICAvLyBFc2NhcGUgUmVnRXhwIHNwZWNpYWwgY2hhcmFjdGVycwogICAgLnJlcGxhY2UoL1t8XFx7fSgpW1xdXiQrKj8uXS9nLCAnXFwkJicpOwoKICBsZXQgbmV3VXJsID0gdXJsOwogIHRyeSB7CiAgICBuZXdVcmwgPSBkZWNvZGVVUkkodXJsKTsKICB9IGNhdGNoIChfT28pIHsKICAgIC8vIFNvbWV0aW1lIHRoaXMgYnJlYWtzCiAgfQogIHJldHVybiAoCiAgICBuZXdVcmwKICAgICAgLnJlcGxhY2UoL1xcL2csICcvJykKICAgICAgLnJlcGxhY2UoL3dlYnBhY2s6XC8/L2csICcnKSAvLyBSZW1vdmUgaW50ZXJtZWRpYXRlIGJhc2UgcGF0aAogICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHNlbnRyeS1pbnRlcm5hbC9zZGsvbm8tcmVnZXhwLWNvbnN0cnVjdG9yCiAgICAgIC5yZXBsYWNlKG5ldyBSZWdFeHAoYChmaWxlOi8vKT8vKiR7ZXNjYXBlZEJhc2V9LypgLCAnaWcnKSwgJ2FwcDovLy8nKQogICk7Cn0KCi8vIFNsaWdodGx5IG1vZGlmaWVkIChubyBJRTggc3VwcG9ydCwgRVM2KSBhbmQgdHJhbnNjcmliZWQgdG8gVHlwZVNjcmlwdAoKLy8gU3BsaXQgYSBmaWxlbmFtZSBpbnRvIFtyb290LCBkaXIsIGJhc2VuYW1lLCBleHRdLCB1bml4IHZlcnNpb24KLy8gJ3Jvb3QnIGlzIGp1c3QgYSBzbGFzaCwgb3Igbm90aGluZy4KY29uc3Qgc3BsaXRQYXRoUmUgPSAvXihcUys6XFx8XC8/KShbXHNcU10qPykoKD86XC57MSwyfXxbXi9cXF0rP3wpKFwuW14uL1xcXSp8KSkoPzpbL1xcXSopJC87Ci8qKiBKU0RvYyAqLwpmdW5jdGlvbiBzcGxpdFBhdGgoZmlsZW5hbWUpIHsKICAvLyBUcnVuY2F0ZSBmaWxlcyBuYW1lcyBncmVhdGVyIHRoYW4gMTAyNCBjaGFyYWN0ZXJzIHRvIGF2b2lkIHJlZ2V4IGRvcwogIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9nZXRzZW50cnkvc2VudHJ5LWphdmFzY3JpcHQvcHVsbC84NzM3I2Rpc2N1c3Npb25fcjEyODU3MTkxNzIKICBjb25zdCB0cnVuY2F0ZWQgPSBmaWxlbmFtZS5sZW5ndGggPiAxMDI0ID8gYDx0cnVuY2F0ZWQ+JHtmaWxlbmFtZS5zbGljZSgtMTAyNCl9YCA6IGZpbGVuYW1lOwogIGNvbnN0IHBhcnRzID0gc3BsaXRQYXRoUmUuZXhlYyh0cnVuY2F0ZWQpOwogIHJldHVybiBwYXJ0cyA/IHBhcnRzLnNsaWNlKDEpIDogW107Cn0KCi8qKiBKU0RvYyAqLwpmdW5jdGlvbiBkaXJuYW1lKHBhdGgpIHsKICBjb25zdCByZXN1bHQgPSBzcGxpdFBhdGgocGF0aCk7CiAgY29uc3Qgcm9vdCA9IHJlc3VsdFswXTsKICBsZXQgZGlyID0gcmVzdWx0WzFdOwoKICBpZiAoIXJvb3QgJiYgIWRpcikgewogICAgLy8gTm8gZGlybmFtZSB3aGF0c29ldmVyCiAgICByZXR1cm4gJy4nOwogIH0KCiAgaWYgKGRpcikgewogICAgLy8gSXQgaGFzIGEgZGlybmFtZSwgc3RyaXAgdHJhaWxpbmcgc2xhc2gKICAgIGRpciA9IGRpci5zbGljZSgwLCBkaXIubGVuZ3RoIC0gMSk7CiAgfQoKICByZXR1cm4gcm9vdCArIGRpcjsKfQoKLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LWZ1bmN0aW9uLXJldHVybi10eXBlICovCgovKiogU3luY1Byb21pc2UgaW50ZXJuYWwgc3RhdGVzICovCnZhciBTdGF0ZXM7IChmdW5jdGlvbiAoU3RhdGVzKSB7CiAgLyoqIFBlbmRpbmcgKi8KICBjb25zdCBQRU5ESU5HID0gMDsgU3RhdGVzW1N0YXRlc1siUEVORElORyJdID0gUEVORElOR10gPSAiUEVORElORyI7CiAgLyoqIFJlc29sdmVkIC8gT0sgKi8KICBjb25zdCBSRVNPTFZFRCA9IDE7IFN0YXRlc1tTdGF0ZXNbIlJFU09MVkVEIl0gPSBSRVNPTFZFRF0gPSAiUkVTT0xWRUQiOwogIC8qKiBSZWplY3RlZCAvIEVycm9yICovCiAgY29uc3QgUkVKRUNURUQgPSAyOyBTdGF0ZXNbU3RhdGVzWyJSRUpFQ1RFRCJdID0gUkVKRUNURURdID0gIlJFSkVDVEVEIjsKfSkoU3RhdGVzIHx8IChTdGF0ZXMgPSB7fSkpOwoKLy8gT3ZlcmxvYWRzIHNvIHdlIGNhbiBjYWxsIHJlc29sdmVkU3luY1Byb21pc2Ugd2l0aG91dCBhcmd1bWVudHMgYW5kIGdlbmVyaWMgYXJndW1lbnQKCi8qKgogKiBDcmVhdGVzIGEgcmVzb2x2ZWQgc3luYyBwcm9taXNlLgogKgogKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHRvIHJlc29sdmUgdGhlIHByb21pc2Ugd2l0aAogKiBAcmV0dXJucyB0aGUgcmVzb2x2ZWQgc3luYyBwcm9taXNlCiAqLwpmdW5jdGlvbiByZXNvbHZlZFN5bmNQcm9taXNlKHZhbHVlKSB7CiAgcmV0dXJuIG5ldyBTeW5jUHJvbWlzZShyZXNvbHZlID0+IHsKICAgIHJlc29sdmUodmFsdWUpOwogIH0pOwp9CgovKioKICogQ3JlYXRlcyBhIHJlamVjdGVkIHN5bmMgcHJvbWlzZS4KICoKICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZSB0byByZWplY3QgdGhlIHByb21pc2Ugd2l0aAogKiBAcmV0dXJucyB0aGUgcmVqZWN0ZWQgc3luYyBwcm9taXNlCiAqLwpmdW5jdGlvbiByZWplY3RlZFN5bmNQcm9taXNlKHJlYXNvbikgewogIHJldHVybiBuZXcgU3luY1Byb21pc2UoKF8sIHJlamVjdCkgPT4gewogICAgcmVqZWN0KHJlYXNvbik7CiAgfSk7Cn0KCi8qKgogKiBUaGVuYWJsZSBjbGFzcyB0aGF0IGJlaGF2ZXMgbGlrZSBhIFByb21pc2UgYW5kIGZvbGxvd3MgaXQncyBpbnRlcmZhY2UKICogYnV0IGlzIG5vdCBhc3luYyBpbnRlcm5hbGx5CiAqLwpjbGFzcyBTeW5jUHJvbWlzZSB7CgogICBjb25zdHJ1Y3RvcigKICAgIGV4ZWN1dG9yLAogICkge1N5bmNQcm9taXNlLnByb3RvdHlwZS5fX2luaXQuY2FsbCh0aGlzKTtTeW5jUHJvbWlzZS5wcm90b3R5cGUuX19pbml0Mi5jYWxsKHRoaXMpO1N5bmNQcm9taXNlLnByb3RvdHlwZS5fX2luaXQzLmNhbGwodGhpcyk7U3luY1Byb21pc2UucHJvdG90eXBlLl9faW5pdDQuY2FsbCh0aGlzKTsKICAgIHRoaXMuX3N0YXRlID0gU3RhdGVzLlBFTkRJTkc7CiAgICB0aGlzLl9oYW5kbGVycyA9IFtdOwoKICAgIHRyeSB7CiAgICAgIGV4ZWN1dG9yKHRoaXMuX3Jlc29sdmUsIHRoaXMuX3JlamVjdCk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIHRoaXMuX3JlamVjdChlKTsKICAgIH0KICB9CgogIC8qKiBKU0RvYyAqLwogICB0aGVuKAogICAgb25mdWxmaWxsZWQsCiAgICBvbnJlamVjdGVkLAogICkgewogICAgcmV0dXJuIG5ldyBTeW5jUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CiAgICAgIHRoaXMuX2hhbmRsZXJzLnB1c2goWwogICAgICAgIGZhbHNlLAogICAgICAgIHJlc3VsdCA9PiB7CiAgICAgICAgICBpZiAoIW9uZnVsZmlsbGVkKSB7CiAgICAgICAgICAgIC8vIFRPRE86IMKvXF8o44OEKV8vwq8KICAgICAgICAgICAgLy8gVE9ETzogRklYTUUKICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQgKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgcmVzb2x2ZShvbmZ1bGZpbGxlZChyZXN1bHQpKTsKICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgIHJlamVjdChlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgcmVhc29uID0+IHsKICAgICAgICAgIGlmICghb25yZWplY3RlZCkgewogICAgICAgICAgICByZWplY3QocmVhc29uKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgcmVzb2x2ZShvbnJlamVjdGVkKHJlYXNvbikpOwogICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgcmVqZWN0KGUpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgXSk7CiAgICAgIHRoaXMuX2V4ZWN1dGVIYW5kbGVycygpOwogICAgfSk7CiAgfQoKICAvKiogSlNEb2MgKi8KICAgY2F0Y2goCiAgICBvbnJlamVjdGVkLAogICkgewogICAgcmV0dXJuIHRoaXMudGhlbih2YWwgPT4gdmFsLCBvbnJlamVjdGVkKTsKICB9CgogIC8qKiBKU0RvYyAqLwogICBmaW5hbGx5KG9uZmluYWxseSkgewogICAgcmV0dXJuIG5ldyBTeW5jUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CiAgICAgIGxldCB2YWw7CiAgICAgIGxldCBpc1JlamVjdGVkOwoKICAgICAgcmV0dXJuIHRoaXMudGhlbigKICAgICAgICB2YWx1ZSA9PiB7CiAgICAgICAgICBpc1JlamVjdGVkID0gZmFsc2U7CiAgICAgICAgICB2YWwgPSB2YWx1ZTsKICAgICAgICAgIGlmIChvbmZpbmFsbHkpIHsKICAgICAgICAgICAgb25maW5hbGx5KCk7CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICByZWFzb24gPT4gewogICAgICAgICAgaXNSZWplY3RlZCA9IHRydWU7CiAgICAgICAgICB2YWwgPSByZWFzb247CiAgICAgICAgICBpZiAob25maW5hbGx5KSB7CiAgICAgICAgICAgIG9uZmluYWxseSgpOwogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICkudGhlbigoKSA9PiB7CiAgICAgICAgaWYgKGlzUmVqZWN0ZWQpIHsKICAgICAgICAgIHJlamVjdCh2YWwpOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgcmVzb2x2ZSh2YWwgKTsKICAgICAgfSk7CiAgICB9KTsKICB9CgogIC8qKiBKU0RvYyAqLwogICAgX19pbml0KCkge3RoaXMuX3Jlc29sdmUgPSAodmFsdWUpID0+IHsKICAgIHRoaXMuX3NldFJlc3VsdChTdGF0ZXMuUkVTT0xWRUQsIHZhbHVlKTsKICB9O30KCiAgLyoqIEpTRG9jICovCiAgICBfX2luaXQyKCkge3RoaXMuX3JlamVjdCA9IChyZWFzb24pID0+IHsKICAgIHRoaXMuX3NldFJlc3VsdChTdGF0ZXMuUkVKRUNURUQsIHJlYXNvbik7CiAgfTt9CgogIC8qKiBKU0RvYyAqLwogICAgX19pbml0MygpIHt0aGlzLl9zZXRSZXN1bHQgPSAoc3RhdGUsIHZhbHVlKSA9PiB7CiAgICBpZiAodGhpcy5fc3RhdGUgIT09IFN0YXRlcy5QRU5ESU5HKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICBpZiAoaXNUaGVuYWJsZSh2YWx1ZSkpIHsKICAgICAgdm9pZCAodmFsdWUgKS50aGVuKHRoaXMuX3Jlc29sdmUsIHRoaXMuX3JlamVjdCk7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlOwogICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTsKCiAgICB0aGlzLl9leGVjdXRlSGFuZGxlcnMoKTsKICB9O30KCiAgLyoqIEpTRG9jICovCiAgICBfX2luaXQ0KCkge3RoaXMuX2V4ZWN1dGVIYW5kbGVycyA9ICgpID0+IHsKICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gU3RhdGVzLlBFTkRJTkcpIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIGNvbnN0IGNhY2hlZEhhbmRsZXJzID0gdGhpcy5faGFuZGxlcnMuc2xpY2UoKTsKICAgIHRoaXMuX2hhbmRsZXJzID0gW107CgogICAgY2FjaGVkSGFuZGxlcnMuZm9yRWFjaChoYW5kbGVyID0+IHsKICAgICAgaWYgKGhhbmRsZXJbMF0pIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gU3RhdGVzLlJFU09MVkVEKSB7CiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1mbG9hdGluZy1wcm9taXNlcwogICAgICAgIGhhbmRsZXJbMV0odGhpcy5fdmFsdWUgKTsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuX3N0YXRlID09PSBTdGF0ZXMuUkVKRUNURUQpIHsKICAgICAgICBoYW5kbGVyWzJdKHRoaXMuX3ZhbHVlKTsKICAgICAgfQoKICAgICAgaGFuZGxlclswXSA9IHRydWU7CiAgICB9KTsKICB9O30KfQoKLyoqCiAqIENyZWF0ZXMgYW4gbmV3IFByb21pc2VCdWZmZXIgb2JqZWN0IHdpdGggdGhlIHNwZWNpZmllZCBsaW1pdAogKiBAcGFyYW0gbGltaXQgbWF4IG51bWJlciBvZiBwcm9taXNlcyB0aGF0IGNhbiBiZSBzdG9yZWQgaW4gdGhlIGJ1ZmZlcgogKi8KZnVuY3Rpb24gbWFrZVByb21pc2VCdWZmZXIobGltaXQpIHsKICBjb25zdCBidWZmZXIgPSBbXTsKCiAgZnVuY3Rpb24gaXNSZWFkeSgpIHsKICAgIHJldHVybiBsaW1pdCA9PT0gdW5kZWZpbmVkIHx8IGJ1ZmZlci5sZW5ndGggPCBsaW1pdDsKICB9CgogIC8qKgogICAqIFJlbW92ZSBhIHByb21pc2UgZnJvbSB0aGUgcXVldWUuCiAgICoKICAgKiBAcGFyYW0gdGFzayBDYW4gYmUgYW55IFByb21pc2VMaWtlPFQ+CiAgICogQHJldHVybnMgUmVtb3ZlZCBwcm9taXNlLgogICAqLwogIGZ1bmN0aW9uIHJlbW92ZSh0YXNrKSB7CiAgICByZXR1cm4gYnVmZmVyLnNwbGljZShidWZmZXIuaW5kZXhPZih0YXNrKSwgMSlbMF07CiAgfQoKICAvKioKICAgKiBBZGQgYSBwcm9taXNlIChyZXByZXNlbnRpbmcgYW4gaW4tZmxpZ2h0IGFjdGlvbikgdG8gdGhlIHF1ZXVlLCBhbmQgc2V0IGl0IHRvIHJlbW92ZSBpdHNlbGYgb24gZnVsZmlsbG1lbnQuCiAgICoKICAgKiBAcGFyYW0gdGFza1Byb2R1Y2VyIEEgZnVuY3Rpb24gcHJvZHVjaW5nIGFueSBQcm9taXNlTGlrZTxUPjsgSW4gcHJldmlvdXMgdmVyc2lvbnMgdGhpcyB1c2VkIHRvIGJlIGB0YXNrOgogICAqICAgICAgICBQcm9taXNlTGlrZTxUPmAsIGJ1dCB1bmRlciB0aGF0IG1vZGVsLCBQcm9taXNlcyB3ZXJlIGluc3RhbnRseSBjcmVhdGVkIG9uIHRoZSBjYWxsLXNpdGUgYW5kIHRoZWlyIGV4ZWN1dG9yCiAgICogICAgICAgIGZ1bmN0aW9ucyB0aGVyZWZvcmUgcmFuIGltbWVkaWF0ZWx5LiBUaHVzLCBldmVuIGlmIHRoZSBidWZmZXIgd2FzIGZ1bGwsIHRoZSBhY3Rpb24gc3RpbGwgaGFwcGVuZWQuIEJ5CiAgICogICAgICAgIHJlcXVpcmluZyB0aGUgcHJvbWlzZSB0byBiZSB3cmFwcGVkIGluIGEgZnVuY3Rpb24sIHdlIGNhbiBkZWZlciBwcm9taXNlIGNyZWF0aW9uIHVudGlsIGFmdGVyIHRoZSBidWZmZXIKICAgKiAgICAgICAgbGltaXQgY2hlY2suCiAgICogQHJldHVybnMgVGhlIG9yaWdpbmFsIHByb21pc2UuCiAgICovCiAgZnVuY3Rpb24gYWRkKHRhc2tQcm9kdWNlcikgewogICAgaWYgKCFpc1JlYWR5KCkpIHsKICAgICAgcmV0dXJuIHJlamVjdGVkU3luY1Byb21pc2UobmV3IFNlbnRyeUVycm9yKCdOb3QgYWRkaW5nIFByb21pc2UgYmVjYXVzZSBidWZmZXIgbGltaXQgd2FzIHJlYWNoZWQuJykpOwogICAgfQoKICAgIC8vIHN0YXJ0IHRoZSB0YXNrIGFuZCBhZGQgaXRzIHByb21pc2UgdG8gdGhlIHF1ZXVlCiAgICBjb25zdCB0YXNrID0gdGFza1Byb2R1Y2VyKCk7CiAgICBpZiAoYnVmZmVyLmluZGV4T2YodGFzaykgPT09IC0xKSB7CiAgICAgIGJ1ZmZlci5wdXNoKHRhc2spOwogICAgfQogICAgdm9pZCB0YXNrCiAgICAgIC50aGVuKCgpID0+IHJlbW92ZSh0YXNrKSkKICAgICAgLy8gVXNlIGB0aGVuKG51bGwsIHJlamVjdGlvbkhhbmRsZXIpYCByYXRoZXIgdGhhbiBgY2F0Y2gocmVqZWN0aW9uSGFuZGxlcilgIHNvIHRoYXQgd2UgY2FuIHVzZSBgUHJvbWlzZUxpa2VgCiAgICAgIC8vIHJhdGhlciB0aGFuIGBQcm9taXNlYC4gYFByb21pc2VMaWtlYCBkb2Vzbid0IGhhdmUgYSBgLmNhdGNoYCBtZXRob2QsIG1ha2luZyBpdHMgcG9seWZpbGwgc21hbGxlci4gKEVTNSBkaWRuJ3QKICAgICAgLy8gaGF2ZSBwcm9taXNlcywgc28gVFMgaGFzIHRvIHBvbHlmaWxsIHdoZW4gZG93bi1jb21waWxpbmcuKQogICAgICAudGhlbihudWxsLCAoKSA9PgogICAgICAgIHJlbW92ZSh0YXNrKS50aGVuKG51bGwsICgpID0+IHsKICAgICAgICAgIC8vIFdlIGhhdmUgdG8gYWRkIGFub3RoZXIgY2F0Y2ggaGVyZSBiZWNhdXNlIGByZW1vdmUoKWAgc3RhcnRzIGEgbmV3IHByb21pc2UgY2hhaW4uCiAgICAgICAgfSksCiAgICAgICk7CiAgICByZXR1cm4gdGFzazsKICB9CgogIC8qKgogICAqIFdhaXQgZm9yIGFsbCBwcm9taXNlcyBpbiB0aGUgcXVldWUgdG8gcmVzb2x2ZSBvciBmb3IgdGltZW91dCB0byBleHBpcmUsIHdoaWNoZXZlciBjb21lcyBmaXJzdC4KICAgKgogICAqIEBwYXJhbSB0aW1lb3V0IFRoZSB0aW1lLCBpbiBtcywgYWZ0ZXIgd2hpY2ggdG8gcmVzb2x2ZSB0byBgZmFsc2VgIGlmIHRoZSBxdWV1ZSBpcyBzdGlsbCBub24tZW1wdHkuIFBhc3NpbmcgYDBgIChvcgogICAqIG5vdCBwYXNzaW5nIGFueXRoaW5nKSB3aWxsIG1ha2UgdGhlIHByb21pc2Ugd2FpdCBhcyBsb25nIGFzIGl0IHRha2VzIGZvciB0aGUgcXVldWUgdG8gZHJhaW4gYmVmb3JlIHJlc29sdmluZyB0bwogICAqIGB0cnVlYC4KICAgKiBAcmV0dXJucyBBIHByb21pc2Ugd2hpY2ggd2lsbCByZXNvbHZlIHRvIGB0cnVlYCBpZiB0aGUgcXVldWUgaXMgYWxyZWFkeSBlbXB0eSBvciBkcmFpbnMgYmVmb3JlIHRoZSB0aW1lb3V0LCBhbmQKICAgKiBgZmFsc2VgIG90aGVyd2lzZQogICAqLwogIGZ1bmN0aW9uIGRyYWluKHRpbWVvdXQpIHsKICAgIHJldHVybiBuZXcgU3luY1Byb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewogICAgICBsZXQgY291bnRlciA9IGJ1ZmZlci5sZW5ndGg7CgogICAgICBpZiAoIWNvdW50ZXIpIHsKICAgICAgICByZXR1cm4gcmVzb2x2ZSh0cnVlKTsKICAgICAgfQoKICAgICAgLy8gd2FpdCBmb3IgYHRpbWVvdXRgIG1zIGFuZCB0aGVuIHJlc29sdmUgdG8gYGZhbHNlYCAoaWYgbm90IGNhbmNlbGxlZCBmaXJzdCkKICAgICAgY29uc3QgY2FwdHVyZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgaWYgKHRpbWVvdXQgJiYgdGltZW91dCA+IDApIHsKICAgICAgICAgIHJlc29sdmUoZmFsc2UpOwogICAgICAgIH0KICAgICAgfSwgdGltZW91dCk7CgogICAgICAvLyBpZiBhbGwgcHJvbWlzZXMgcmVzb2x2ZSBpbiB0aW1lLCBjYW5jZWwgdGhlIHRpbWVyIGFuZCByZXNvbHZlIHRvIGB0cnVlYAogICAgICBidWZmZXIuZm9yRWFjaChpdGVtID0+IHsKICAgICAgICB2b2lkIHJlc29sdmVkU3luY1Byb21pc2UoaXRlbSkudGhlbigoKSA9PiB7CiAgICAgICAgICBpZiAoIS0tY291bnRlcikgewogICAgICAgICAgICBjbGVhclRpbWVvdXQoY2FwdHVyZWRTZXRUaW1lb3V0KTsKICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTsKICAgICAgICAgIH0KICAgICAgICB9LCByZWplY3QpOwogICAgICB9KTsKICAgIH0pOwogIH0KCiAgcmV0dXJuIHsKICAgICQ6IGJ1ZmZlciwKICAgIGFkZCwKICAgIGRyYWluLAogIH07Cn0KCmNvbnN0IE9ORV9TRUNPTkRfSU5fTVMgPSAxMDAwOwoKLyoqCiAqIEEgcGFydGlhbCBkZWZpbml0aW9uIG9mIHRoZSBbUGVyZm9ybWFuY2UgV2ViIEFQSV17QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1BlcmZvcm1hbmNlfQogKiBmb3IgYWNjZXNzaW5nIGEgaGlnaC1yZXNvbHV0aW9uIG1vbm90b25pYyBjbG9jay4KICovCgovKioKICogUmV0dXJucyBhIHRpbWVzdGFtcCBpbiBzZWNvbmRzIHNpbmNlIHRoZSBVTklYIGVwb2NoIHVzaW5nIHRoZSBEYXRlIEFQSS4KICoKICogVE9ETyh2OCk6IFJldHVybiB0eXBlIHNob3VsZCBiZSByb3VuZGVkLgogKi8KZnVuY3Rpb24gZGF0ZVRpbWVzdGFtcEluU2Vjb25kcygpIHsKICByZXR1cm4gRGF0ZS5ub3coKSAvIE9ORV9TRUNPTkRfSU5fTVM7Cn0KCi8qKgogKiBSZXR1cm5zIGEgd3JhcHBlciBhcm91bmQgdGhlIG5hdGl2ZSBQZXJmb3JtYW5jZSBBUEkgYnJvd3NlciBpbXBsZW1lbnRhdGlvbiwgb3IgdW5kZWZpbmVkIGZvciBicm93c2VycyB0aGF0IGRvIG5vdAogKiBzdXBwb3J0IHRoZSBBUEkuCiAqCiAqIFdyYXBwaW5nIHRoZSBuYXRpdmUgQVBJIHdvcmtzIGFyb3VuZCBkaWZmZXJlbmNlcyBpbiBiZWhhdmlvciBmcm9tIGRpZmZlcmVudCBicm93c2Vycy4KICovCmZ1bmN0aW9uIGNyZWF0ZVVuaXhUaW1lc3RhbXBJblNlY29uZHNGdW5jKCkgewogIGNvbnN0IHsgcGVyZm9ybWFuY2UgfSA9IEdMT0JBTF9PQkogOwogIGlmICghcGVyZm9ybWFuY2UgfHwgIXBlcmZvcm1hbmNlLm5vdykgewogICAgcmV0dXJuIGRhdGVUaW1lc3RhbXBJblNlY29uZHM7CiAgfQoKICAvLyBTb21lIGJyb3dzZXIgYW5kIGVudmlyb25tZW50cyBkb24ndCBoYXZlIGEgdGltZU9yaWdpbiwgc28gd2UgZmFsbGJhY2sgdG8KICAvLyB1c2luZyBEYXRlLm5vdygpIHRvIGNvbXB1dGUgdGhlIHN0YXJ0aW5nIHRpbWUuCiAgY29uc3QgYXBwcm94U3RhcnRpbmdUaW1lT3JpZ2luID0gRGF0ZS5ub3coKSAtIHBlcmZvcm1hbmNlLm5vdygpOwogIGNvbnN0IHRpbWVPcmlnaW4gPSBwZXJmb3JtYW5jZS50aW1lT3JpZ2luID09IHVuZGVmaW5lZCA/IGFwcHJveFN0YXJ0aW5nVGltZU9yaWdpbiA6IHBlcmZvcm1hbmNlLnRpbWVPcmlnaW47CgogIC8vIHBlcmZvcm1hbmNlLm5vdygpIGlzIGEgbW9ub3RvbmljIGNsb2NrLCB3aGljaCBtZWFucyBpdCBzdGFydHMgYXQgMCB3aGVuIHRoZSBwcm9jZXNzIGJlZ2lucy4gVG8gZ2V0IHRoZSBjdXJyZW50CiAgLy8gd2FsbCBjbG9jayB0aW1lIChhY3R1YWwgVU5JWCB0aW1lc3RhbXApLCB3ZSBuZWVkIHRvIGFkZCB0aGUgc3RhcnRpbmcgdGltZSBvcmlnaW4gYW5kIHRoZSBjdXJyZW50IHRpbWUgZWxhcHNlZC4KICAvLwogIC8vIFRPRE86IFRoaXMgZG9lcyBub3QgYWNjb3VudCBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhlIG1vbm90b25pYyBjbG9jayB0aGF0IHBvd2VycyBwZXJmb3JtYW5jZS5ub3coKSBkcmlmdHMgZnJvbSB0aGUKICAvLyB3YWxsIGNsb2NrIHRpbWUsIHdoaWNoIGNhdXNlcyB0aGUgcmV0dXJuZWQgdGltZXN0YW1wIHRvIGJlIGluYWNjdXJhdGUuIFdlIHNob3VsZCBpbnZlc3RpZ2F0ZSBob3cgdG8gZGV0ZWN0IGFuZAogIC8vIGNvcnJlY3QgZm9yIHRoaXMuCiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vZ2V0c2VudHJ5L3NlbnRyeS1qYXZhc2NyaXB0L2lzc3Vlcy8yNTkwCiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbWRuL2NvbnRlbnQvaXNzdWVzLzQ3MTMKICAvLyBTZWU6IGh0dHBzOi8vZGV2LnRvL25vYW1yL3doZW4tYS1taWxsaXNlY29uZC1pcy1ub3QtYS1taWxsaXNlY29uZC0zaDYKICByZXR1cm4gKCkgPT4gewogICAgcmV0dXJuICh0aW1lT3JpZ2luICsgcGVyZm9ybWFuY2Uubm93KCkpIC8gT05FX1NFQ09ORF9JTl9NUzsKICB9Owp9CgovKioKICogUmV0dXJucyBhIHRpbWVzdGFtcCBpbiBzZWNvbmRzIHNpbmNlIHRoZSBVTklYIGVwb2NoIHVzaW5nIGVpdGhlciB0aGUgUGVyZm9ybWFuY2Ugb3IgRGF0ZSBBUElzLCBkZXBlbmRpbmcgb24gdGhlCiAqIGF2YWlsYWJpbGl0eSBvZiB0aGUgUGVyZm9ybWFuY2UgQVBJLgogKgogKiBCVUc6IE5vdGUgdGhhdCBiZWNhdXNlIG9mIGhvdyBicm93c2VycyBpbXBsZW1lbnQgdGhlIFBlcmZvcm1hbmNlIEFQSSwgdGhlIGNsb2NrIG1pZ2h0IHN0b3Agd2hlbiB0aGUgY29tcHV0ZXIgaXMKICogYXNsZWVwLiBUaGlzIGNyZWF0ZXMgYSBza2V3IGJldHdlZW4gYGRhdGVUaW1lc3RhbXBJblNlY29uZHNgIGFuZCBgdGltZXN0YW1wSW5TZWNvbmRzYC4gVGhlCiAqIHNrZXcgY2FuIGdyb3cgdG8gYXJiaXRyYXJ5IGFtb3VudHMgbGlrZSBkYXlzLCB3ZWVrcyBvciBtb250aHMuCiAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZ2V0c2VudHJ5L3NlbnRyeS1qYXZhc2NyaXB0L2lzc3Vlcy8yNTkwLgogKi8KY29uc3QgdGltZXN0YW1wSW5TZWNvbmRzID0gY3JlYXRlVW5peFRpbWVzdGFtcEluU2Vjb25kc0Z1bmMoKTsKCi8qKgogKiBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBzaW5jZSB0aGUgVU5JWCBlcG9jaC4gVGhpcyB2YWx1ZSBpcyBvbmx5IHVzYWJsZSBpbiBhIGJyb3dzZXIsIGFuZCBvbmx5IHdoZW4gdGhlCiAqIHBlcmZvcm1hbmNlIEFQSSBpcyBhdmFpbGFibGUuCiAqLwooKCkgPT4gewogIC8vIFVuZm9ydHVuYXRlbHkgYnJvd3NlcnMgbWF5IHJlcG9ydCBhbiBpbmFjY3VyYXRlIHRpbWUgb3JpZ2luIGRhdGEsIHRocm91Z2ggZWl0aGVyIHBlcmZvcm1hbmNlLnRpbWVPcmlnaW4gb3IKICAvLyBwZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0LCB3aGljaCByZXN1bHRzIGluIHBvb3IgcmVzdWx0cyBpbiBwZXJmb3JtYW5jZSBkYXRhLiBXZSBvbmx5IHRyZWF0IHRpbWUgb3JpZ2luCiAgLy8gZGF0YSBhcyByZWxpYWJsZSBpZiB0aGV5IGFyZSB3aXRoaW4gYSByZWFzb25hYmxlIHRocmVzaG9sZCBvZiB0aGUgY3VycmVudCB0aW1lLgoKICBjb25zdCB7IHBlcmZvcm1hbmNlIH0gPSBHTE9CQUxfT0JKIDsKICBpZiAoIXBlcmZvcm1hbmNlIHx8ICFwZXJmb3JtYW5jZS5ub3cpIHsKICAgIHJldHVybiB1bmRlZmluZWQ7CiAgfQoKICBjb25zdCB0aHJlc2hvbGQgPSAzNjAwICogMTAwMDsKICBjb25zdCBwZXJmb3JtYW5jZU5vdyA9IHBlcmZvcm1hbmNlLm5vdygpOwogIGNvbnN0IGRhdGVOb3cgPSBEYXRlLm5vdygpOwoKICAvLyBpZiB0aW1lT3JpZ2luIGlzbid0IGF2YWlsYWJsZSBzZXQgZGVsdGEgdG8gdGhyZXNob2xkIHNvIGl0IGlzbid0IHVzZWQKICBjb25zdCB0aW1lT3JpZ2luRGVsdGEgPSBwZXJmb3JtYW5jZS50aW1lT3JpZ2luCiAgICA/IE1hdGguYWJzKHBlcmZvcm1hbmNlLnRpbWVPcmlnaW4gKyBwZXJmb3JtYW5jZU5vdyAtIGRhdGVOb3cpCiAgICA6IHRocmVzaG9sZDsKICBjb25zdCB0aW1lT3JpZ2luSXNSZWxpYWJsZSA9IHRpbWVPcmlnaW5EZWx0YSA8IHRocmVzaG9sZDsKCiAgLy8gV2hpbGUgcGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mIHBlcmZvcm1hbmNlLnRpbWVPcmlnaW4sIHBlcmZvcm1hbmNlLnRpbWVPcmlnaW4KICAvLyBpcyBub3QgYXMgd2lkZWx5IHN1cHBvcnRlZC4gTmFtZWx5LCBwZXJmb3JtYW5jZS50aW1lT3JpZ2luIGlzIHVuZGVmaW5lZCBpbiBTYWZhcmkgYXMgb2Ygd3JpdGluZy4KICAvLyBBbHNvIGFzIG9mIHdyaXRpbmcsIHBlcmZvcm1hbmNlLnRpbWluZyBpcyBub3QgYXZhaWxhYmxlIGluIFdlYiBXb3JrZXJzIGluIG1haW5zdHJlYW0gYnJvd3NlcnMsIHNvIGl0IGlzIG5vdCBhbHdheXMKICAvLyBhIHZhbGlkIGZhbGxiYWNrLiBJbiB0aGUgYWJzZW5jZSBvZiBhbiBpbml0aWFsIHRpbWUgcHJvdmlkZWQgYnkgdGhlIGJyb3dzZXIsIGZhbGxiYWNrIHRvIHRoZSBjdXJyZW50IHRpbWUgZnJvbSB0aGUKICAvLyBEYXRlIEFQSS4KICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICBjb25zdCBuYXZpZ2F0aW9uU3RhcnQgPSBwZXJmb3JtYW5jZS50aW1pbmcgJiYgcGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydDsKICBjb25zdCBoYXNOYXZpZ2F0aW9uU3RhcnQgPSB0eXBlb2YgbmF2aWdhdGlvblN0YXJ0ID09PSAnbnVtYmVyJzsKICAvLyBpZiBuYXZpZ2F0aW9uU3RhcnQgaXNuJ3QgYXZhaWxhYmxlIHNldCBkZWx0YSB0byB0aHJlc2hvbGQgc28gaXQgaXNuJ3QgdXNlZAogIGNvbnN0IG5hdmlnYXRpb25TdGFydERlbHRhID0gaGFzTmF2aWdhdGlvblN0YXJ0ID8gTWF0aC5hYnMobmF2aWdhdGlvblN0YXJ0ICsgcGVyZm9ybWFuY2VOb3cgLSBkYXRlTm93KSA6IHRocmVzaG9sZDsKICBjb25zdCBuYXZpZ2F0aW9uU3RhcnRJc1JlbGlhYmxlID0gbmF2aWdhdGlvblN0YXJ0RGVsdGEgPCB0aHJlc2hvbGQ7CgogIGlmICh0aW1lT3JpZ2luSXNSZWxpYWJsZSB8fCBuYXZpZ2F0aW9uU3RhcnRJc1JlbGlhYmxlKSB7CiAgICAvLyBVc2UgdGhlIG1vcmUgcmVsaWFibGUgdGltZSBvcmlnaW4KICAgIGlmICh0aW1lT3JpZ2luRGVsdGEgPD0gbmF2aWdhdGlvblN0YXJ0RGVsdGEpIHsKICAgICAgcmV0dXJuIHBlcmZvcm1hbmNlLnRpbWVPcmlnaW47CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gbmF2aWdhdGlvblN0YXJ0OwogICAgfQogIH0KICByZXR1cm4gZGF0ZU5vdzsKfSkoKTsKCi8qKgogKiBDcmVhdGVzIGFuIGVudmVsb3BlLgogKiBNYWtlIHN1cmUgdG8gYWx3YXlzIGV4cGxpY2l0bHkgcHJvdmlkZSB0aGUgZ2VuZXJpYyB0byB0aGlzIGZ1bmN0aW9uCiAqIHNvIHRoYXQgdGhlIGVudmVsb3BlIHR5cGVzIHJlc29sdmUgY29ycmVjdGx5LgogKi8KZnVuY3Rpb24gY3JlYXRlRW52ZWxvcGUoaGVhZGVycywgaXRlbXMgPSBbXSkgewogIHJldHVybiBbaGVhZGVycywgaXRlbXNdIDsKfQoKLyoqCiAqIENvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIGxvb3AgdGhyb3VnaCB0aGUgaXRlbXMgYW5kIGl0ZW0gdHlwZXMgb2YgYW4gZW52ZWxvcGUuCiAqIChUaGlzIGZ1bmN0aW9uIHdhcyBtb3N0bHkgY3JlYXRlZCBiZWNhdXNlIHdvcmtpbmcgd2l0aCBlbnZlbG9wZSB0eXBlcyBpcyBwYWluZnVsIGF0IHRoZSBtb21lbnQpCiAqCiAqIElmIHRoZSBjYWxsYmFjayByZXR1cm5zIHRydWUsIHRoZSByZXN0IG9mIHRoZSBpdGVtcyB3aWxsIGJlIHNraXBwZWQuCiAqLwpmdW5jdGlvbiBmb3JFYWNoRW52ZWxvcGVJdGVtKAogIGVudmVsb3BlLAogIGNhbGxiYWNrLAopIHsKICBjb25zdCBlbnZlbG9wZUl0ZW1zID0gZW52ZWxvcGVbMV07CgogIGZvciAoY29uc3QgZW52ZWxvcGVJdGVtIG9mIGVudmVsb3BlSXRlbXMpIHsKICAgIGNvbnN0IGVudmVsb3BlSXRlbVR5cGUgPSBlbnZlbG9wZUl0ZW1bMF0udHlwZTsKICAgIGNvbnN0IHJlc3VsdCA9IGNhbGxiYWNrKGVudmVsb3BlSXRlbSwgZW52ZWxvcGVJdGVtVHlwZSk7CgogICAgaWYgKHJlc3VsdCkgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICB9CgogIHJldHVybiBmYWxzZTsKfQoKLyoqCiAqIEVuY29kZSBhIHN0cmluZyB0byBVVEY4LgogKi8KZnVuY3Rpb24gZW5jb2RlVVRGOChpbnB1dCwgdGV4dEVuY29kZXIpIHsKICBjb25zdCB1dGY4ID0gdGV4dEVuY29kZXIgfHwgbmV3IFRleHRFbmNvZGVyKCk7CiAgcmV0dXJuIHV0ZjguZW5jb2RlKGlucHV0KTsKfQoKLyoqCiAqIFNlcmlhbGl6ZXMgYW4gZW52ZWxvcGUuCiAqLwpmdW5jdGlvbiBzZXJpYWxpemVFbnZlbG9wZShlbnZlbG9wZSwgdGV4dEVuY29kZXIpIHsKICBjb25zdCBbZW52SGVhZGVycywgaXRlbXNdID0gZW52ZWxvcGU7CgogIC8vIEluaXRpYWxseSB3ZSBjb25zdHJ1Y3Qgb3VyIGVudmVsb3BlIGFzIGEgc3RyaW5nIGFuZCBvbmx5IGNvbnZlcnQgdG8gYmluYXJ5IGNodW5rcyBpZiB3ZSBlbmNvdW50ZXIgYmluYXJ5IGRhdGEKICBsZXQgcGFydHMgPSBKU09OLnN0cmluZ2lmeShlbnZIZWFkZXJzKTsKCiAgZnVuY3Rpb24gYXBwZW5kKG5leHQpIHsKICAgIGlmICh0eXBlb2YgcGFydHMgPT09ICdzdHJpbmcnKSB7CiAgICAgIHBhcnRzID0gdHlwZW9mIG5leHQgPT09ICdzdHJpbmcnID8gcGFydHMgKyBuZXh0IDogW2VuY29kZVVURjgocGFydHMsIHRleHRFbmNvZGVyKSwgbmV4dF07CiAgICB9IGVsc2UgewogICAgICBwYXJ0cy5wdXNoKHR5cGVvZiBuZXh0ID09PSAnc3RyaW5nJyA/IGVuY29kZVVURjgobmV4dCwgdGV4dEVuY29kZXIpIDogbmV4dCk7CiAgICB9CiAgfQoKICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHsKICAgIGNvbnN0IFtpdGVtSGVhZGVycywgcGF5bG9hZF0gPSBpdGVtOwoKICAgIGFwcGVuZChgXG4ke0pTT04uc3RyaW5naWZ5KGl0ZW1IZWFkZXJzKX1cbmApOwoKICAgIGlmICh0eXBlb2YgcGF5bG9hZCA9PT0gJ3N0cmluZycgfHwgcGF5bG9hZCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHsKICAgICAgYXBwZW5kKHBheWxvYWQpOwogICAgfSBlbHNlIHsKICAgICAgbGV0IHN0cmluZ2lmaWVkUGF5bG9hZDsKICAgICAgdHJ5IHsKICAgICAgICBzdHJpbmdpZmllZFBheWxvYWQgPSBKU09OLnN0cmluZ2lmeShwYXlsb2FkKTsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIC8vIEluIGNhc2UsIGRlc3BpdGUgYWxsIG91ciBlZmZvcnRzIHRvIGtlZXAgYHBheWxvYWRgIGNpcmN1bGFyLWRlcGVuZGVuY3ktZnJlZSwgYEpTT04uc3RyaW5pZnkoKWAgc3RpbGwKICAgICAgICAvLyBmYWlscywgd2UgdHJ5IGFnYWluIGFmdGVyIG5vcm1hbGl6aW5nIGl0IGFnYWluIHdpdGggaW5maW5pdGUgbm9ybWFsaXphdGlvbiBkZXB0aC4gVGhpcyBvZiBjb3Vyc2UgaGFzIGEKICAgICAgICAvLyBwZXJmb3JtYW5jZSBpbXBhY3QgYnV0IGluIHRoaXMgY2FzZSBhIHBlcmZvcm1hbmNlIGhpdCBpcyBiZXR0ZXIgdGhhbiB0aHJvd2luZy4KICAgICAgICBzdHJpbmdpZmllZFBheWxvYWQgPSBKU09OLnN0cmluZ2lmeShub3JtYWxpemUocGF5bG9hZCkpOwogICAgICB9CiAgICAgIGFwcGVuZChzdHJpbmdpZmllZFBheWxvYWQpOwogICAgfQogIH0KCiAgcmV0dXJuIHR5cGVvZiBwYXJ0cyA9PT0gJ3N0cmluZycgPyBwYXJ0cyA6IGNvbmNhdEJ1ZmZlcnMocGFydHMpOwp9CgpmdW5jdGlvbiBjb25jYXRCdWZmZXJzKGJ1ZmZlcnMpIHsKICBjb25zdCB0b3RhbExlbmd0aCA9IGJ1ZmZlcnMucmVkdWNlKChhY2MsIGJ1ZikgPT4gYWNjICsgYnVmLmxlbmd0aCwgMCk7CgogIGNvbnN0IG1lcmdlZCA9IG5ldyBVaW50OEFycmF5KHRvdGFsTGVuZ3RoKTsKICBsZXQgb2Zmc2V0ID0gMDsKICBmb3IgKGNvbnN0IGJ1ZmZlciBvZiBidWZmZXJzKSB7CiAgICBtZXJnZWQuc2V0KGJ1ZmZlciwgb2Zmc2V0KTsKICAgIG9mZnNldCArPSBidWZmZXIubGVuZ3RoOwogIH0KCiAgcmV0dXJuIG1lcmdlZDsKfQoKY29uc3QgSVRFTV9UWVBFX1RPX0RBVEFfQ0FURUdPUllfTUFQID0gewogIHNlc3Npb246ICdzZXNzaW9uJywKICBzZXNzaW9uczogJ3Nlc3Npb24nLAogIGF0dGFjaG1lbnQ6ICdhdHRhY2htZW50JywKICB0cmFuc2FjdGlvbjogJ3RyYW5zYWN0aW9uJywKICBldmVudDogJ2Vycm9yJywKICBjbGllbnRfcmVwb3J0OiAnaW50ZXJuYWwnLAogIHVzZXJfcmVwb3J0OiAnZGVmYXVsdCcsCiAgcHJvZmlsZTogJ3Byb2ZpbGUnLAogIHJlcGxheV9ldmVudDogJ3JlcGxheScsCiAgcmVwbGF5X3JlY29yZGluZzogJ3JlcGxheScsCiAgY2hlY2tfaW46ICdtb25pdG9yJywKICBmZWVkYmFjazogJ2ZlZWRiYWNrJywKICBzcGFuOiAnc3BhbicsCiAgc3RhdHNkOiAnbWV0cmljX2J1Y2tldCcsCn07CgovKioKICogTWFwcyB0aGUgdHlwZSBvZiBhbiBlbnZlbG9wZSBpdGVtIHRvIGEgZGF0YSBjYXRlZ29yeS4KICovCmZ1bmN0aW9uIGVudmVsb3BlSXRlbVR5cGVUb0RhdGFDYXRlZ29yeSh0eXBlKSB7CiAgcmV0dXJuIElURU1fVFlQRV9UT19EQVRBX0NBVEVHT1JZX01BUFt0eXBlXTsKfQoKLyoqIEV4dHJhY3RzIHRoZSBtaW5pbWFsIFNESyBpbmZvIGZyb20gdGhlIG1ldGFkYXRhIG9yIGFuIGV2ZW50cyAqLwpmdW5jdGlvbiBnZXRTZGtNZXRhZGF0YUZvckVudmVsb3BlSGVhZGVyKG1ldGFkYXRhT3JFdmVudCkgewogIGlmICghbWV0YWRhdGFPckV2ZW50IHx8ICFtZXRhZGF0YU9yRXZlbnQuc2RrKSB7CiAgICByZXR1cm47CiAgfQogIGNvbnN0IHsgbmFtZSwgdmVyc2lvbiB9ID0gbWV0YWRhdGFPckV2ZW50LnNkazsKICByZXR1cm4geyBuYW1lLCB2ZXJzaW9uIH07Cn0KCi8qKgogKiBDcmVhdGVzIGV2ZW50IGVudmVsb3BlIGhlYWRlcnMsIGJhc2VkIG9uIGV2ZW50LCBzZGsgaW5mbyBhbmQgdHVubmVsCiAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gd2FzIGV4dHJhY3RlZCBmcm9tIHRoZSBjb3JlIHBhY2thZ2UgdG8gbWFrZSBpdCBhdmFpbGFibGUgaW4gUmVwbGF5CiAqLwpmdW5jdGlvbiBjcmVhdGVFdmVudEVudmVsb3BlSGVhZGVycygKICBldmVudCwKICBzZGtJbmZvLAogIHR1bm5lbCwKICBkc24sCikgewogIGNvbnN0IGR5bmFtaWNTYW1wbGluZ0NvbnRleHQgPSBldmVudC5zZGtQcm9jZXNzaW5nTWV0YWRhdGEgJiYgZXZlbnQuc2RrUHJvY2Vzc2luZ01ldGFkYXRhLmR5bmFtaWNTYW1wbGluZ0NvbnRleHQ7CiAgcmV0dXJuIHsKICAgIGV2ZW50X2lkOiBldmVudC5ldmVudF9pZCAsCiAgICBzZW50X2F0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksCiAgICAuLi4oc2RrSW5mbyAmJiB7IHNkazogc2RrSW5mbyB9KSwKICAgIC4uLighIXR1bm5lbCAmJiBkc24gJiYgeyBkc246IGRzblRvU3RyaW5nKGRzbikgfSksCiAgICAuLi4oZHluYW1pY1NhbXBsaW5nQ29udGV4dCAmJiB7CiAgICAgIHRyYWNlOiBkcm9wVW5kZWZpbmVkS2V5cyh7IC4uLmR5bmFtaWNTYW1wbGluZ0NvbnRleHQgfSksCiAgICB9KSwKICB9Owp9CgovLyBJbnRlbnRpb25hbGx5IGtlZXBpbmcgdGhlIGtleSBicm9hZCwgYXMgd2UgZG9uJ3Qga25vdyBmb3Igc3VyZSB3aGF0IHJhdGUgbGltaXQgaGVhZGVycyBnZXQgcmV0dXJuZWQgZnJvbSBiYWNrZW5kCgpjb25zdCBERUZBVUxUX1JFVFJZX0FGVEVSID0gNjAgKiAxMDAwOyAvLyA2MCBzZWNvbmRzCgovKioKICogRXh0cmFjdHMgUmV0cnktQWZ0ZXIgdmFsdWUgZnJvbSB0aGUgcmVxdWVzdCBoZWFkZXIgb3IgcmV0dXJucyBkZWZhdWx0IHZhbHVlCiAqIEBwYXJhbSBoZWFkZXIgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mICdSZXRyeS1BZnRlcicgaGVhZGVyCiAqIEBwYXJhbSBub3cgY3VycmVudCB1bml4IHRpbWVzdGFtcAogKgogKi8KZnVuY3Rpb24gcGFyc2VSZXRyeUFmdGVySGVhZGVyKGhlYWRlciwgbm93ID0gRGF0ZS5ub3coKSkgewogIGNvbnN0IGhlYWRlckRlbGF5ID0gcGFyc2VJbnQoYCR7aGVhZGVyfWAsIDEwKTsKICBpZiAoIWlzTmFOKGhlYWRlckRlbGF5KSkgewogICAgcmV0dXJuIGhlYWRlckRlbGF5ICogMTAwMDsKICB9CgogIGNvbnN0IGhlYWRlckRhdGUgPSBEYXRlLnBhcnNlKGAke2hlYWRlcn1gKTsKICBpZiAoIWlzTmFOKGhlYWRlckRhdGUpKSB7CiAgICByZXR1cm4gaGVhZGVyRGF0ZSAtIG5vdzsKICB9CgogIHJldHVybiBERUZBVUxUX1JFVFJZX0FGVEVSOwp9CgovKioKICogR2V0cyB0aGUgdGltZSB0aGF0IHRoZSBnaXZlbiBjYXRlZ29yeSBpcyBkaXNhYmxlZCB1bnRpbCBmb3IgcmF0ZSBsaW1pdGluZy4KICogSW4gY2FzZSBubyBjYXRlZ29yeS1zcGVjaWZpYyBsaW1pdCBpcyBzZXQgYnV0IGEgZ2VuZXJhbCByYXRlIGxpbWl0IGFjcm9zcyBhbGwgY2F0ZWdvcmllcyBpcyBhY3RpdmUsCiAqIHRoYXQgdGltZSBpcyByZXR1cm5lZC4KICoKICogQHJldHVybiB0aGUgdGltZSBpbiBtcyB0aGF0IHRoZSBjYXRlZ29yeSBpcyBkaXNhYmxlZCB1bnRpbCBvciAwIGlmIHRoZXJlJ3Mgbm8gYWN0aXZlIHJhdGUgbGltaXQuCiAqLwpmdW5jdGlvbiBkaXNhYmxlZFVudGlsKGxpbWl0cywgZGF0YUNhdGVnb3J5KSB7CiAgcmV0dXJuIGxpbWl0c1tkYXRhQ2F0ZWdvcnldIHx8IGxpbWl0cy5hbGwgfHwgMDsKfQoKLyoqCiAqIENoZWNrcyBpZiBhIGNhdGVnb3J5IGlzIHJhdGUgbGltaXRlZAogKi8KZnVuY3Rpb24gaXNSYXRlTGltaXRlZChsaW1pdHMsIGRhdGFDYXRlZ29yeSwgbm93ID0gRGF0ZS5ub3coKSkgewogIHJldHVybiBkaXNhYmxlZFVudGlsKGxpbWl0cywgZGF0YUNhdGVnb3J5KSA+IG5vdzsKfQoKLyoqCiAqIFVwZGF0ZSByYXRlbGltaXRzIGZyb20gaW5jb21pbmcgaGVhZGVycy4KICoKICogQHJldHVybiB0aGUgdXBkYXRlZCBSYXRlTGltaXRzIG9iamVjdC4KICovCmZ1bmN0aW9uIHVwZGF0ZVJhdGVMaW1pdHMoCiAgbGltaXRzLAogIHsgc3RhdHVzQ29kZSwgaGVhZGVycyB9LAogIG5vdyA9IERhdGUubm93KCksCikgewogIGNvbnN0IHVwZGF0ZWRSYXRlTGltaXRzID0gewogICAgLi4ubGltaXRzLAogIH07CgogIC8vICJUaGUgbmFtZSBpcyBjYXNlLWluc2Vuc2l0aXZlLiIKICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvSGVhZGVycy9nZXQKICBjb25zdCByYXRlTGltaXRIZWFkZXIgPSBoZWFkZXJzICYmIGhlYWRlcnNbJ3gtc2VudHJ5LXJhdGUtbGltaXRzJ107CiAgY29uc3QgcmV0cnlBZnRlckhlYWRlciA9IGhlYWRlcnMgJiYgaGVhZGVyc1sncmV0cnktYWZ0ZXInXTsKCiAgaWYgKHJhdGVMaW1pdEhlYWRlcikgewogICAgLyoqCiAgICAgKiByYXRlIGxpbWl0IGhlYWRlcnMgYXJlIG9mIHRoZSBmb3JtCiAgICAgKiAgICAgPGhlYWRlcj4sPGhlYWRlcj4sLi4KICAgICAqIHdoZXJlIGVhY2ggPGhlYWRlcj4gaXMgb2YgdGhlIGZvcm0KICAgICAqICAgICA8cmV0cnlfYWZ0ZXI+OiA8Y2F0ZWdvcmllcz46IDxzY29wZT46IDxyZWFzb25fY29kZT46IDxuYW1lc3BhY2VzPgogICAgICogd2hlcmUKICAgICAqICAgICA8cmV0cnlfYWZ0ZXI+IGlzIGEgZGVsYXkgaW4gc2Vjb25kcwogICAgICogICAgIDxjYXRlZ29yaWVzPiBpcyB0aGUgZXZlbnQgdHlwZShzKSAoZXJyb3IsIHRyYW5zYWN0aW9uLCBldGMpIGJlaW5nIHJhdGUgbGltaXRlZCBhbmQgaXMgb2YgdGhlIGZvcm0KICAgICAqICAgICAgICAgPGNhdGVnb3J5Pjs8Y2F0ZWdvcnk+Oy4uLgogICAgICogICAgIDxzY29wZT4gaXMgd2hhdCdzIGJlaW5nIGxpbWl0ZWQgKG9yZywgcHJvamVjdCwgb3Iga2V5KSAtIGlnbm9yZWQgYnkgU0RLCiAgICAgKiAgICAgPHJlYXNvbl9jb2RlPiBpcyBhbiBhcmJpdHJhcnkgc3RyaW5nIGxpa2UgIm9yZ19xdW90YSIgLSBpZ25vcmVkIGJ5IFNESwogICAgICogICAgIDxuYW1lc3BhY2VzPiBTZW1pY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgbWV0cmljIG5hbWVzcGFjZSBpZGVudGlmaWVycy4gRGVmaW5lcyB3aGljaCBuYW1lc3BhY2Uocykgd2lsbCBiZSBhZmZlY3RlZC4KICAgICAqICAgICAgICAgT25seSBwcmVzZW50IGlmIHJhdGUgbGltaXQgYXBwbGllcyB0byB0aGUgbWV0cmljX2J1Y2tldCBkYXRhIGNhdGVnb3J5LgogICAgICovCiAgICBmb3IgKGNvbnN0IGxpbWl0IG9mIHJhdGVMaW1pdEhlYWRlci50cmltKCkuc3BsaXQoJywnKSkgewogICAgICBjb25zdCBbcmV0cnlBZnRlciwgY2F0ZWdvcmllcywgLCAsIG5hbWVzcGFjZXNdID0gbGltaXQuc3BsaXQoJzonLCA1KTsKICAgICAgY29uc3QgaGVhZGVyRGVsYXkgPSBwYXJzZUludChyZXRyeUFmdGVyLCAxMCk7CiAgICAgIGNvbnN0IGRlbGF5ID0gKCFpc05hTihoZWFkZXJEZWxheSkgPyBoZWFkZXJEZWxheSA6IDYwKSAqIDEwMDA7IC8vIDYwc2VjIGRlZmF1bHQKICAgICAgaWYgKCFjYXRlZ29yaWVzKSB7CiAgICAgICAgdXBkYXRlZFJhdGVMaW1pdHMuYWxsID0gbm93ICsgZGVsYXk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZm9yIChjb25zdCBjYXRlZ29yeSBvZiBjYXRlZ29yaWVzLnNwbGl0KCc7JykpIHsKICAgICAgICAgIGlmIChjYXRlZ29yeSA9PT0gJ21ldHJpY19idWNrZXQnKSB7CiAgICAgICAgICAgIC8vIG5hbWVzcGFjZXMgd2lsbCBiZSBwcmVzZW50IHdoZW4gY2F0ZWdvcnkgPT09ICdtZXRyaWNfYnVja2V0JwogICAgICAgICAgICBpZiAoIW5hbWVzcGFjZXMgfHwgbmFtZXNwYWNlcy5zcGxpdCgnOycpLmluY2x1ZGVzKCdjdXN0b20nKSkgewogICAgICAgICAgICAgIHVwZGF0ZWRSYXRlTGltaXRzW2NhdGVnb3J5XSA9IG5vdyArIGRlbGF5OwogICAgICAgICAgICB9CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB1cGRhdGVkUmF0ZUxpbWl0c1tjYXRlZ29yeV0gPSBub3cgKyBkZWxheTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9IGVsc2UgaWYgKHJldHJ5QWZ0ZXJIZWFkZXIpIHsKICAgIHVwZGF0ZWRSYXRlTGltaXRzLmFsbCA9IG5vdyArIHBhcnNlUmV0cnlBZnRlckhlYWRlcihyZXRyeUFmdGVySGVhZGVyLCBub3cpOwogIH0gZWxzZSBpZiAoc3RhdHVzQ29kZSA9PT0gNDI5KSB7CiAgICB1cGRhdGVkUmF0ZUxpbWl0cy5hbGwgPSBub3cgKyA2MCAqIDEwMDA7CiAgfQoKICByZXR1cm4gdXBkYXRlZFJhdGVMaW1pdHM7Cn0KCi8qKgogKiBBIG5vZGUuanMgd2F0Y2hkb2cgdGltZXIKICogQHBhcmFtIHBvbGxJbnRlcnZhbCBUaGUgaW50ZXJ2YWwgdGhhdCB3ZSBleHBlY3QgdG8gZ2V0IHBvbGxlZCBhdAogKiBAcGFyYW0gYW5yVGhyZXNob2xkIFRoZSB0aHJlc2hvbGQgZm9yIHdoZW4gd2UgY29uc2lkZXIgQU5SCiAqIEBwYXJhbSBjYWxsYmFjayBUaGUgY2FsbGJhY2sgdG8gY2FsbCBmb3IgQU5SCiAqIEByZXR1cm5zIEFuIG9iamVjdCB3aXRoIGBwb2xsYCBhbmQgYGVuYWJsZWRgIGZ1bmN0aW9ucyB7QGxpbmsgV2F0Y2hkb2dSZXR1cm59CiAqLwpmdW5jdGlvbiB3YXRjaGRvZ1RpbWVyKAogIGNyZWF0ZVRpbWVyLAogIHBvbGxJbnRlcnZhbCwKICBhbnJUaHJlc2hvbGQsCiAgY2FsbGJhY2ssCikgewogIGNvbnN0IHRpbWVyID0gY3JlYXRlVGltZXIoKTsKICBsZXQgdHJpZ2dlcmVkID0gZmFsc2U7CiAgbGV0IGVuYWJsZWQgPSB0cnVlOwoKICBzZXRJbnRlcnZhbCgoKSA9PiB7CiAgICBjb25zdCBkaWZmTXMgPSB0aW1lci5nZXRUaW1lTXMoKTsKCiAgICBpZiAodHJpZ2dlcmVkID09PSBmYWxzZSAmJiBkaWZmTXMgPiBwb2xsSW50ZXJ2YWwgKyBhbnJUaHJlc2hvbGQpIHsKICAgICAgdHJpZ2dlcmVkID0gdHJ1ZTsKICAgICAgaWYgKGVuYWJsZWQpIHsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9CiAgICB9CgogICAgaWYgKGRpZmZNcyA8IHBvbGxJbnRlcnZhbCArIGFuclRocmVzaG9sZCkgewogICAgICB0cmlnZ2VyZWQgPSBmYWxzZTsKICAgIH0KICB9LCAyMCk7CgogIHJldHVybiB7CiAgICBwb2xsOiAoKSA9PiB7CiAgICAgIHRpbWVyLnJlc2V0KCk7CiAgICB9LAogICAgZW5hYmxlZDogKHN0YXRlKSA9PiB7CiAgICAgIGVuYWJsZWQgPSBzdGF0ZTsKICAgIH0sCiAgfTsKfQoKLy8gdHlwZXMgY29waWVkIGZyb20gaW5zcGVjdG9yLmQudHMKCi8qKgogKiBDb252ZXJ0cyBEZWJ1Z2dlci5DYWxsRnJhbWUgdG8gU2VudHJ5IFN0YWNrRnJhbWUKICovCmZ1bmN0aW9uIGNhbGxGcmFtZVRvU3RhY2tGcmFtZSgKICBmcmFtZSwKICB1cmwsCiAgZ2V0TW9kdWxlRnJvbUZpbGVuYW1lLAopIHsKICBjb25zdCBmaWxlbmFtZSA9IHVybCA/IHVybC5yZXBsYWNlKC9eZmlsZTpcL1wvLywgJycpIDogdW5kZWZpbmVkOwoKICAvLyBDYWxsRnJhbWUgcm93L2NvbCBhcmUgMCBiYXNlZCwgd2hlcmVhcyBTdGFja0ZyYW1lIGFyZSAxIGJhc2VkCiAgY29uc3QgY29sbm8gPSBmcmFtZS5sb2NhdGlvbi5jb2x1bW5OdW1iZXIgPyBmcmFtZS5sb2NhdGlvbi5jb2x1bW5OdW1iZXIgKyAxIDogdW5kZWZpbmVkOwogIGNvbnN0IGxpbmVubyA9IGZyYW1lLmxvY2F0aW9uLmxpbmVOdW1iZXIgPyBmcmFtZS5sb2NhdGlvbi5saW5lTnVtYmVyICsgMSA6IHVuZGVmaW5lZDsKCiAgcmV0dXJuIGRyb3BVbmRlZmluZWRLZXlzKHsKICAgIGZpbGVuYW1lLAogICAgbW9kdWxlOiBnZXRNb2R1bGVGcm9tRmlsZW5hbWUoZmlsZW5hbWUpLAogICAgZnVuY3Rpb246IGZyYW1lLmZ1bmN0aW9uTmFtZSB8fCAnPycsCiAgICBjb2xubywKICAgIGxpbmVubywKICAgIGluX2FwcDogZmlsZW5hbWUgPyBmaWxlbmFtZUlzSW5BcHAoZmlsZW5hbWUpIDogdW5kZWZpbmVkLAogIH0pOwp9CgovKioKICogVGhpcyBzZXJ2ZXMgYXMgYSBidWlsZCB0aW1lIGZsYWcgdGhhdCB3aWxsIGJlIHRydWUgYnkgZGVmYXVsdCwgYnV0IGZhbHNlIGluIG5vbi1kZWJ1ZyBidWlsZHMgb3IgaWYgdXNlcnMgcmVwbGFjZSBgX19TRU5UUllfREVCVUdfX2AgaW4gdGhlaXIgZ2VuZXJhdGVkIGNvZGUuCiAqCiAqIEFUVEVOVElPTjogVGhpcyBjb25zdGFudCBtdXN0IG5ldmVyIGNyb3NzIHBhY2thZ2UgYm91bmRhcmllcyAoaS5lLiBiZSBleHBvcnRlZCkgdG8gZ3VhcmFudGVlIHRoYXQgaXQgY2FuIGJlIHVzZWQgZm9yIHRyZWUgc2hha2luZy4KICovCmNvbnN0IERFQlVHX0JVSUxEID0gKHR5cGVvZiBfX1NFTlRSWV9ERUJVR19fID09PSAndW5kZWZpbmVkJyB8fCBfX1NFTlRSWV9ERUJVR19fKTsKCmNvbnN0IERFRkFVTFRfRU5WSVJPTk1FTlQgPSAncHJvZHVjdGlvbic7CgovKioKICogUmV0dXJucyB0aGUgZ2xvYmFsIGV2ZW50IHByb2Nlc3NvcnMuCiAqIEBkZXByZWNhdGVkIEdsb2JhbCBldmVudCBwcm9jZXNzb3JzIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4KICovCmZ1bmN0aW9uIGdldEdsb2JhbEV2ZW50UHJvY2Vzc29ycygpIHsKICByZXR1cm4gZ2V0R2xvYmFsU2luZ2xldG9uKCdnbG9iYWxFdmVudFByb2Nlc3NvcnMnLCAoKSA9PiBbXSk7Cn0KCi8qKgogKiBQcm9jZXNzIGFuIGFycmF5IG9mIGV2ZW50IHByb2Nlc3NvcnMsIHJldHVybmluZyB0aGUgcHJvY2Vzc2VkIGV2ZW50IChvciBgbnVsbGAgaWYgdGhlIGV2ZW50IHdhcyBkcm9wcGVkKS4KICovCmZ1bmN0aW9uIG5vdGlmeUV2ZW50UHJvY2Vzc29ycygKICBwcm9jZXNzb3JzLAogIGV2ZW50LAogIGhpbnQsCiAgaW5kZXggPSAwLAopIHsKICByZXR1cm4gbmV3IFN5bmNQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgIGNvbnN0IHByb2Nlc3NvciA9IHByb2Nlc3NvcnNbaW5kZXhdOwogICAgaWYgKGV2ZW50ID09PSBudWxsIHx8IHR5cGVvZiBwcm9jZXNzb3IgIT09ICdmdW5jdGlvbicpIHsKICAgICAgcmVzb2x2ZShldmVudCk7CiAgICB9IGVsc2UgewogICAgICBjb25zdCByZXN1bHQgPSBwcm9jZXNzb3IoeyAuLi5ldmVudCB9LCBoaW50KSA7CgogICAgICBERUJVR19CVUlMRCAmJiBwcm9jZXNzb3IuaWQgJiYgcmVzdWx0ID09PSBudWxsICYmIGxvZ2dlci5sb2coYEV2ZW50IHByb2Nlc3NvciAiJHtwcm9jZXNzb3IuaWR9IiBkcm9wcGVkIGV2ZW50YCk7CgogICAgICBpZiAoaXNUaGVuYWJsZShyZXN1bHQpKSB7CiAgICAgICAgdm9pZCByZXN1bHQKICAgICAgICAgIC50aGVuKGZpbmFsID0+IG5vdGlmeUV2ZW50UHJvY2Vzc29ycyhwcm9jZXNzb3JzLCBmaW5hbCwgaGludCwgaW5kZXggKyAxKS50aGVuKHJlc29sdmUpKQogICAgICAgICAgLnRoZW4obnVsbCwgcmVqZWN0KTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2b2lkIG5vdGlmeUV2ZW50UHJvY2Vzc29ycyhwcm9jZXNzb3JzLCByZXN1bHQsIGhpbnQsIGluZGV4ICsgMSkKICAgICAgICAgIC50aGVuKHJlc29sdmUpCiAgICAgICAgICAudGhlbihudWxsLCByZWplY3QpOwogICAgICB9CiAgICB9CiAgfSk7Cn0KCi8qKgogKiBDcmVhdGVzIGEgbmV3IGBTZXNzaW9uYCBvYmplY3QgYnkgc2V0dGluZyBjZXJ0YWluIGRlZmF1bHQgcGFyYW1ldGVycy4gSWYgb3B0aW9uYWwgQHBhcmFtIGNvbnRleHQKICogaXMgcGFzc2VkLCB0aGUgcGFzc2VkIHByb3BlcnRpZXMgYXJlIGFwcGxpZWQgdG8gdGhlIHNlc3Npb24gb2JqZWN0LgogKgogKiBAcGFyYW0gY29udGV4dCAob3B0aW9uYWwpIGFkZGl0aW9uYWwgcHJvcGVydGllcyB0byBiZSBhcHBsaWVkIHRvIHRoZSByZXR1cm5lZCBzZXNzaW9uIG9iamVjdAogKgogKiBAcmV0dXJucyBhIG5ldyBgU2Vzc2lvbmAgb2JqZWN0CiAqLwpmdW5jdGlvbiBtYWtlU2Vzc2lvbihjb250ZXh0KSB7CiAgLy8gQm90aCB0aW1lc3RhbXAgYW5kIHN0YXJ0ZWQgYXJlIGluIHNlY29uZHMgc2luY2UgdGhlIFVOSVggZXBvY2guCiAgY29uc3Qgc3RhcnRpbmdUaW1lID0gdGltZXN0YW1wSW5TZWNvbmRzKCk7CgogIGNvbnN0IHNlc3Npb24gPSB7CiAgICBzaWQ6IHV1aWQ0KCksCiAgICBpbml0OiB0cnVlLAogICAgdGltZXN0YW1wOiBzdGFydGluZ1RpbWUsCiAgICBzdGFydGVkOiBzdGFydGluZ1RpbWUsCiAgICBkdXJhdGlvbjogMCwKICAgIHN0YXR1czogJ29rJywKICAgIGVycm9yczogMCwKICAgIGlnbm9yZUR1cmF0aW9uOiBmYWxzZSwKICAgIHRvSlNPTjogKCkgPT4gc2Vzc2lvblRvSlNPTihzZXNzaW9uKSwKICB9OwoKICBpZiAoY29udGV4dCkgewogICAgdXBkYXRlU2Vzc2lvbihzZXNzaW9uLCBjb250ZXh0KTsKICB9CgogIHJldHVybiBzZXNzaW9uOwp9CgovKioKICogVXBkYXRlcyBhIHNlc3Npb24gb2JqZWN0IHdpdGggdGhlIHByb3BlcnRpZXMgcGFzc2VkIGluIHRoZSBjb250ZXh0LgogKgogKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBtdXRhdGVzIHRoZSBwYXNzZWQgb2JqZWN0IGFuZCByZXR1cm5zIHZvaWQuCiAqIChIYWQgdG8gZG8gdGhpcyBpbnN0ZWFkIG9mIHJldHVybmluZyBhIG5ldyBhbmQgdXBkYXRlZCBzZXNzaW9uIGJlY2F1c2UgY2xvc2luZyBhbmQgc2VuZGluZyBhIHNlc3Npb24KICogbWFrZXMgYW4gdXBkYXRlIHRvIHRoZSBzZXNzaW9uIGFmdGVyIGl0IHdhcyBwYXNzZWQgdG8gdGhlIHNlbmRpbmcgbG9naWMuCiAqIEBzZWUgQmFzZUNsaWVudC5jYXB0dXJlU2Vzc2lvbiApCiAqCiAqIEBwYXJhbSBzZXNzaW9uIHRoZSBgU2Vzc2lvbmAgdG8gdXBkYXRlCiAqIEBwYXJhbSBjb250ZXh0IHRoZSBgU2Vzc2lvbkNvbnRleHRgIGhvbGRpbmcgdGhlIHByb3BlcnRpZXMgdGhhdCBzaG91bGQgYmUgdXBkYXRlZCBpbiBAcGFyYW0gc2Vzc2lvbgogKi8KLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbXBsZXhpdHkKZnVuY3Rpb24gdXBkYXRlU2Vzc2lvbihzZXNzaW9uLCBjb250ZXh0ID0ge30pIHsKICBpZiAoY29udGV4dC51c2VyKSB7CiAgICBpZiAoIXNlc3Npb24uaXBBZGRyZXNzICYmIGNvbnRleHQudXNlci5pcF9hZGRyZXNzKSB7CiAgICAgIHNlc3Npb24uaXBBZGRyZXNzID0gY29udGV4dC51c2VyLmlwX2FkZHJlc3M7CiAgICB9CgogICAgaWYgKCFzZXNzaW9uLmRpZCAmJiAhY29udGV4dC5kaWQpIHsKICAgICAgc2Vzc2lvbi5kaWQgPSBjb250ZXh0LnVzZXIuaWQgfHwgY29udGV4dC51c2VyLmVtYWlsIHx8IGNvbnRleHQudXNlci51c2VybmFtZTsKICAgIH0KICB9CgogIHNlc3Npb24udGltZXN0YW1wID0gY29udGV4dC50aW1lc3RhbXAgfHwgdGltZXN0YW1wSW5TZWNvbmRzKCk7CgogIGlmIChjb250ZXh0LmFibm9ybWFsX21lY2hhbmlzbSkgewogICAgc2Vzc2lvbi5hYm5vcm1hbF9tZWNoYW5pc20gPSBjb250ZXh0LmFibm9ybWFsX21lY2hhbmlzbTsKICB9CgogIGlmIChjb250ZXh0Lmlnbm9yZUR1cmF0aW9uKSB7CiAgICBzZXNzaW9uLmlnbm9yZUR1cmF0aW9uID0gY29udGV4dC5pZ25vcmVEdXJhdGlvbjsKICB9CiAgaWYgKGNvbnRleHQuc2lkKSB7CiAgICAvLyBHb29kIGVub3VnaCB1dWlkIHZhbGlkYXRpb24uIOKAlCBLYW1pbAogICAgc2Vzc2lvbi5zaWQgPSBjb250ZXh0LnNpZC5sZW5ndGggPT09IDMyID8gY29udGV4dC5zaWQgOiB1dWlkNCgpOwogIH0KICBpZiAoY29udGV4dC5pbml0ICE9PSB1bmRlZmluZWQpIHsKICAgIHNlc3Npb24uaW5pdCA9IGNvbnRleHQuaW5pdDsKICB9CiAgaWYgKCFzZXNzaW9uLmRpZCAmJiBjb250ZXh0LmRpZCkgewogICAgc2Vzc2lvbi5kaWQgPSBgJHtjb250ZXh0LmRpZH1gOwogIH0KICBpZiAodHlwZW9mIGNvbnRleHQuc3RhcnRlZCA9PT0gJ251bWJlcicpIHsKICAgIHNlc3Npb24uc3RhcnRlZCA9IGNvbnRleHQuc3RhcnRlZDsKICB9CiAgaWYgKHNlc3Npb24uaWdub3JlRHVyYXRpb24pIHsKICAgIHNlc3Npb24uZHVyYXRpb24gPSB1bmRlZmluZWQ7CiAgfSBlbHNlIGlmICh0eXBlb2YgY29udGV4dC5kdXJhdGlvbiA9PT0gJ251bWJlcicpIHsKICAgIHNlc3Npb24uZHVyYXRpb24gPSBjb250ZXh0LmR1cmF0aW9uOwogIH0gZWxzZSB7CiAgICBjb25zdCBkdXJhdGlvbiA9IHNlc3Npb24udGltZXN0YW1wIC0gc2Vzc2lvbi5zdGFydGVkOwogICAgc2Vzc2lvbi5kdXJhdGlvbiA9IGR1cmF0aW9uID49IDAgPyBkdXJhdGlvbiA6IDA7CiAgfQogIGlmIChjb250ZXh0LnJlbGVhc2UpIHsKICAgIHNlc3Npb24ucmVsZWFzZSA9IGNvbnRleHQucmVsZWFzZTsKICB9CiAgaWYgKGNvbnRleHQuZW52aXJvbm1lbnQpIHsKICAgIHNlc3Npb24uZW52aXJvbm1lbnQgPSBjb250ZXh0LmVudmlyb25tZW50OwogIH0KICBpZiAoIXNlc3Npb24uaXBBZGRyZXNzICYmIGNvbnRleHQuaXBBZGRyZXNzKSB7CiAgICBzZXNzaW9uLmlwQWRkcmVzcyA9IGNvbnRleHQuaXBBZGRyZXNzOwogIH0KICBpZiAoIXNlc3Npb24udXNlckFnZW50ICYmIGNvbnRleHQudXNlckFnZW50KSB7CiAgICBzZXNzaW9uLnVzZXJBZ2VudCA9IGNvbnRleHQudXNlckFnZW50OwogIH0KICBpZiAodHlwZW9mIGNvbnRleHQuZXJyb3JzID09PSAnbnVtYmVyJykgewogICAgc2Vzc2lvbi5lcnJvcnMgPSBjb250ZXh0LmVycm9yczsKICB9CiAgaWYgKGNvbnRleHQuc3RhdHVzKSB7CiAgICBzZXNzaW9uLnN0YXR1cyA9IGNvbnRleHQuc3RhdHVzOwogIH0KfQoKLyoqCiAqIENsb3NlcyBhIHNlc3Npb24gYnkgc2V0dGluZyBpdHMgc3RhdHVzIGFuZCB1cGRhdGluZyB0aGUgc2Vzc2lvbiBvYmplY3Qgd2l0aCBpdC4KICogSW50ZXJuYWxseSBjYWxscyBgdXBkYXRlU2Vzc2lvbmAgdG8gdXBkYXRlIHRoZSBwYXNzZWQgc2Vzc2lvbiBvYmplY3QuCiAqCiAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIG11dGF0ZXMgdGhlIHBhc3NlZCBzZXNzaW9uIChAc2VlIHVwZGF0ZVNlc3Npb24gZm9yIGV4cGxhbmF0aW9uKS4KICoKICogQHBhcmFtIHNlc3Npb24gdGhlIGBTZXNzaW9uYCBvYmplY3QgdG8gYmUgY2xvc2VkCiAqIEBwYXJhbSBzdGF0dXMgdGhlIGBTZXNzaW9uU3RhdHVzYCB3aXRoIHdoaWNoIHRoZSBzZXNzaW9uIHdhcyBjbG9zZWQuIElmIHlvdSBkb24ndCBwYXNzIGEgc3RhdHVzLAogKiAgICAgICAgICAgICAgIHRoaXMgZnVuY3Rpb24gd2lsbCBrZWVwIHRoZSBwcmV2aW91c2x5IHNldCBzdGF0dXMsIHVubGVzcyBpdCB3YXMgYCdvaydgIGluIHdoaWNoIGNhc2UKICogICAgICAgICAgICAgICBpdCBpcyBjaGFuZ2VkIHRvIGAnZXhpdGVkJ2AuCiAqLwpmdW5jdGlvbiBjbG9zZVNlc3Npb24oc2Vzc2lvbiwgc3RhdHVzKSB7CiAgbGV0IGNvbnRleHQgPSB7fTsKICBpZiAoc3RhdHVzKSB7CiAgICBjb250ZXh0ID0geyBzdGF0dXMgfTsKICB9IGVsc2UgaWYgKHNlc3Npb24uc3RhdHVzID09PSAnb2snKSB7CiAgICBjb250ZXh0ID0geyBzdGF0dXM6ICdleGl0ZWQnIH07CiAgfQoKICB1cGRhdGVTZXNzaW9uKHNlc3Npb24sIGNvbnRleHQpOwp9CgovKioKICogU2VyaWFsaXplcyBhIHBhc3NlZCBzZXNzaW9uIG9iamVjdCB0byBhIEpTT04gb2JqZWN0IHdpdGggYSBzbGlnaHRseSBkaWZmZXJlbnQgc3RydWN0dXJlLgogKiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBTZW50cnkgYmFja2VuZCByZXF1aXJlcyBhIHNsaWdodGx5IGRpZmZlcmVudCBzY2hlbWEgb2YgYSBzZXNzaW9uCiAqIHRoYW4gdGhlIG9uZSB0aGUgSlMgU0RLcyB1c2UgaW50ZXJuYWxseS4KICoKICogQHBhcmFtIHNlc3Npb24gdGhlIHNlc3Npb24gdG8gYmUgY29udmVydGVkCiAqCiAqIEByZXR1cm5zIGEgSlNPTiBvYmplY3Qgb2YgdGhlIHBhc3NlZCBzZXNzaW9uCiAqLwpmdW5jdGlvbiBzZXNzaW9uVG9KU09OKHNlc3Npb24pIHsKICByZXR1cm4gZHJvcFVuZGVmaW5lZEtleXMoewogICAgc2lkOiBgJHtzZXNzaW9uLnNpZH1gLAogICAgaW5pdDogc2Vzc2lvbi5pbml0LAogICAgLy8gTWFrZSBzdXJlIHRoYXQgc2VjIGlzIGNvbnZlcnRlZCB0byBtcyBmb3IgZGF0ZSBjb25zdHJ1Y3RvcgogICAgc3RhcnRlZDogbmV3IERhdGUoc2Vzc2lvbi5zdGFydGVkICogMTAwMCkudG9JU09TdHJpbmcoKSwKICAgIHRpbWVzdGFtcDogbmV3IERhdGUoc2Vzc2lvbi50aW1lc3RhbXAgKiAxMDAwKS50b0lTT1N0cmluZygpLAogICAgc3RhdHVzOiBzZXNzaW9uLnN0YXR1cywKICAgIGVycm9yczogc2Vzc2lvbi5lcnJvcnMsCiAgICBkaWQ6IHR5cGVvZiBzZXNzaW9uLmRpZCA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHNlc3Npb24uZGlkID09PSAnc3RyaW5nJyA/IGAke3Nlc3Npb24uZGlkfWAgOiB1bmRlZmluZWQsCiAgICBkdXJhdGlvbjogc2Vzc2lvbi5kdXJhdGlvbiwKICAgIGFibm9ybWFsX21lY2hhbmlzbTogc2Vzc2lvbi5hYm5vcm1hbF9tZWNoYW5pc20sCiAgICBhdHRyczogewogICAgICByZWxlYXNlOiBzZXNzaW9uLnJlbGVhc2UsCiAgICAgIGVudmlyb25tZW50OiBzZXNzaW9uLmVudmlyb25tZW50LAogICAgICBpcF9hZGRyZXNzOiBzZXNzaW9uLmlwQWRkcmVzcywKICAgICAgdXNlcl9hZ2VudDogc2Vzc2lvbi51c2VyQWdlbnQsCiAgICB9LAogIH0pOwp9Cgpjb25zdCBUUkFDRV9GTEFHX1NBTVBMRUQgPSAweDE7CgovKioKICogQ29udmVydCBhIHNwYW4gdG8gYSB0cmFjZSBjb250ZXh0LCB3aGljaCBjYW4gYmUgc2VudCBhcyB0aGUgYHRyYWNlYCBjb250ZXh0IGluIGFuIGV2ZW50LgogKi8KZnVuY3Rpb24gc3BhblRvVHJhY2VDb250ZXh0KHNwYW4pIHsKICBjb25zdCB7IHNwYW5JZDogc3Bhbl9pZCwgdHJhY2VJZDogdHJhY2VfaWQgfSA9IHNwYW4uc3BhbkNvbnRleHQoKTsKICBjb25zdCB7IGRhdGEsIG9wLCBwYXJlbnRfc3Bhbl9pZCwgc3RhdHVzLCB0YWdzLCBvcmlnaW4gfSA9IHNwYW5Ub0pTT04oc3Bhbik7CgogIHJldHVybiBkcm9wVW5kZWZpbmVkS2V5cyh7CiAgICBkYXRhLAogICAgb3AsCiAgICBwYXJlbnRfc3Bhbl9pZCwKICAgIHNwYW5faWQsCiAgICBzdGF0dXMsCiAgICB0YWdzLAogICAgdHJhY2VfaWQsCiAgICBvcmlnaW4sCiAgfSk7Cn0KCi8qKgogKiBDb252ZXJ0IGEgc3BhbiB0byBhIEpTT04gcmVwcmVzZW50YXRpb24uCiAqIE5vdGUgdGhhdCBhbGwgZmllbGRzIHJldHVybmVkIGhlcmUgYXJlIG9wdGlvbmFsIGFuZCBuZWVkIHRvIGJlIGd1YXJkZWQgYWdhaW5zdC4KICoKICogTm90ZTogQmVjYXVzZSBvZiB0aGlzLCB3ZSBjdXJyZW50bHkgaGF2ZSBhIGNpcmN1bGFyIHR5cGUgZGVwZW5kZW5jeSAod2hpY2ggd2Ugb3B0ZWQgb3V0IG9mIGluIHBhY2thZ2UuanNvbikuCiAqIFRoaXMgaXMgbm90IGF2b2lkYWJsZSBhcyB3ZSBuZWVkIGBzcGFuVG9KU09OYCBpbiBgc3BhblV0aWxzLnRzYCwgd2hpY2ggaW4gdHVybiBpcyBuZWVkZWQgYnkgYHNwYW4udHNgIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KICogQW5kIGBzcGFuVG9KU09OYCBuZWVkcyB0aGUgU3BhbiBjbGFzcyBmcm9tIGBzcGFuLnRzYCB0byBjaGVjayBoZXJlLgogKiBUT0RPIHY4OiBXaGVuIHdlIHJlbW92ZSB0aGUgZGVwcmVjYXRlZCBzdHVmZiBmcm9tIGBzcGFuLnRzYCwgd2UgY2FuIHJlbW92ZSB0aGUgY2lyY3VsYXIgZGVwZW5kZW5jeSBhZ2Fpbi4KICovCmZ1bmN0aW9uIHNwYW5Ub0pTT04oc3BhbikgewogIGlmIChzcGFuSXNTcGFuQ2xhc3Moc3BhbikpIHsKICAgIHJldHVybiBzcGFuLmdldFNwYW5KU09OKCk7CiAgfQoKICAvLyBGYWxsYmFjazogV2UgYWxzbyBjaGVjayBmb3IgYC50b0pTT04oKWAgaGVyZS4uLgogIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogIGlmICh0eXBlb2Ygc3Bhbi50b0pTT04gPT09ICdmdW5jdGlvbicpIHsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgcmV0dXJuIHNwYW4udG9KU09OKCk7CiAgfQoKICByZXR1cm4ge307Cn0KCi8qKgogKiBTYWRseSwgZHVlIHRvIGNpcmN1bGFyIGRlcGVuZGVuY3kgY2hlY2tzIHdlIGNhbm5vdCBhY3R1YWxseSBpbXBvcnQgdGhlIFNwYW4gY2xhc3MgaGVyZSBhbmQgY2hlY2sgZm9yIGluc3RhbmNlb2YuCiAqIDooIFNvIGluc3RlYWQgd2UgYXBwcm94aW1hdGUgdGhpcyBieSBjaGVja2luZyBpZiBpdCBoYXMgdGhlIGBnZXRTcGFuSlNPTmAgbWV0aG9kLgogKi8KZnVuY3Rpb24gc3BhbklzU3BhbkNsYXNzKHNwYW4pIHsKICByZXR1cm4gdHlwZW9mIChzcGFuICkuZ2V0U3BhbkpTT04gPT09ICdmdW5jdGlvbic7Cn0KCi8qKgogKiBSZXR1cm5zIHRydWUgaWYgYSBzcGFuIGlzIHNhbXBsZWQuCiAqIEluIG1vc3QgY2FzZXMsIHlvdSBzaG91bGQganVzdCB1c2UgYHNwYW4uaXNSZWNvcmRpbmcoKWAgaW5zdGVhZC4KICogSG93ZXZlciwgdGhpcyBoYXMgYSBzbGlnaHRseSBkaWZmZXJlbnQgc2VtYW50aWMsIGFzIGl0IGFsc28gcmV0dXJucyBmYWxzZSBpZiB0aGUgc3BhbiBpcyBmaW5pc2hlZC4KICogU28gaW4gdGhlIGNhc2Ugd2hlcmUgdGhpcyBkaXN0aW5jdGlvbiBpcyBpbXBvcnRhbnQsIHVzZSB0aGlzIG1ldGhvZC4KICovCmZ1bmN0aW9uIHNwYW5Jc1NhbXBsZWQoc3BhbikgewogIC8vIFdlIGFsaWduIG91ciB0cmFjZSBmbGFncyB3aXRoIHRoZSBvbmVzIE9wZW5UZWxlbWV0cnkgdXNlCiAgLy8gU28gd2UgYWxzbyBjaGVjayBmb3Igc2FtcGxlZCB0aGUgc2FtZSB3YXkgdGhleSBkby4KICBjb25zdCB7IHRyYWNlRmxhZ3MgfSA9IHNwYW4uc3BhbkNvbnRleHQoKTsKICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYml0d2lzZQogIHJldHVybiBCb29sZWFuKHRyYWNlRmxhZ3MgJiBUUkFDRV9GTEFHX1NBTVBMRUQpOwp9CgovKioKICogR2V0IHRoZSBjdXJyZW50bHkgYWN0aXZlIGNsaWVudC4KICovCmZ1bmN0aW9uIGdldENsaWVudCgpIHsKICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICByZXR1cm4gZ2V0Q3VycmVudEh1YigpLmdldENsaWVudCgpOwp9CgovKioKICogR2V0IHRoZSBjdXJyZW50bHkgYWN0aXZlIHNjb3BlLgogKi8KZnVuY3Rpb24gZ2V0Q3VycmVudFNjb3BlKCkgewogIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogIHJldHVybiBnZXRDdXJyZW50SHViKCkuZ2V0U2NvcGUoKTsKfQoKLyoqCiAqIFJldHVybnMgdGhlIHJvb3Qgc3BhbiBvZiBhIGdpdmVuIHNwYW4uCiAqCiAqIEFzIGxvbmcgYXMgd2UgdXNlIGBUcmFuc2FjdGlvbmBzIGludGVybmFsbHksIHRoZSByZXR1cm5lZCByb290IHNwYW4KICogd2lsbCBiZSBhIGBUcmFuc2FjdGlvbmAgYnV0IGJlIGF3YXJlIHRoYXQgdGhpcyBtaWdodCBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4KICoKICogSWYgdGhlIGdpdmVuIHNwYW4gaGFzIG5vIHJvb3Qgc3BhbiBvciB0cmFuc2FjdGlvbiwgYHVuZGVmaW5lZGAgaXMgcmV0dXJuZWQuCiAqLwpmdW5jdGlvbiBnZXRSb290U3BhbihzcGFuKSB7CiAgLy8gVE9ETyAodjgpOiBSZW1vdmUgdGhpcyBjaGVjayBhbmQganVzdCByZXR1cm4gc3BhbgogIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogIHJldHVybiBzcGFuLnRyYW5zYWN0aW9uOwp9CgovKioKICogQ3JlYXRlcyBhIGR5bmFtaWMgc2FtcGxpbmcgY29udGV4dCBmcm9tIGEgY2xpZW50LgogKgogKiBEaXNwYXRjaGVzIHRoZSBgY3JlYXRlRHNjYCBsaWZlY3ljbGUgaG9vayBhcyBhIHNpZGUgZWZmZWN0LgogKi8KZnVuY3Rpb24gZ2V0RHluYW1pY1NhbXBsaW5nQ29udGV4dEZyb21DbGllbnQoCiAgdHJhY2VfaWQsCiAgY2xpZW50LAogIHNjb3BlLAopIHsKICBjb25zdCBvcHRpb25zID0gY2xpZW50LmdldE9wdGlvbnMoKTsKCiAgY29uc3QgeyBwdWJsaWNLZXk6IHB1YmxpY19rZXkgfSA9IGNsaWVudC5nZXREc24oKSB8fCB7fTsKICAvLyBUT0RPKHY4KTogUmVtb3ZlIHNlZ21lbnQgZnJvbSBVc2VyCiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgY29uc3QgeyBzZWdtZW50OiB1c2VyX3NlZ21lbnQgfSA9IChzY29wZSAmJiBzY29wZS5nZXRVc2VyKCkpIHx8IHt9OwoKICBjb25zdCBkc2MgPSBkcm9wVW5kZWZpbmVkS2V5cyh7CiAgICBlbnZpcm9ubWVudDogb3B0aW9ucy5lbnZpcm9ubWVudCB8fCBERUZBVUxUX0VOVklST05NRU5ULAogICAgcmVsZWFzZTogb3B0aW9ucy5yZWxlYXNlLAogICAgdXNlcl9zZWdtZW50LAogICAgcHVibGljX2tleSwKICAgIHRyYWNlX2lkLAogIH0pIDsKCiAgY2xpZW50LmVtaXQgJiYgY2xpZW50LmVtaXQoJ2NyZWF0ZURzYycsIGRzYyk7CgogIHJldHVybiBkc2M7Cn0KCi8qKgogKiBBIFNwYW4gd2l0aCBhIGZyb3plbiBkeW5hbWljIHNhbXBsaW5nIGNvbnRleHQuCiAqLwoKLyoqCiAqIENyZWF0ZXMgYSBkeW5hbWljIHNhbXBsaW5nIGNvbnRleHQgZnJvbSBhIHNwYW4gKGFuZCBjbGllbnQgYW5kIHNjb3BlKQogKgogKiBAcGFyYW0gc3BhbiB0aGUgc3BhbiBmcm9tIHdoaWNoIGEgZmV3IHZhbHVlcyBsaWtlIHRoZSByb290IHNwYW4gbmFtZSBhbmQgc2FtcGxlIHJhdGUgYXJlIGV4dHJhY3RlZC4KICoKICogQHJldHVybnMgYSBkeW5hbWljIHNhbXBsaW5nIGNvbnRleHQKICovCmZ1bmN0aW9uIGdldER5bmFtaWNTYW1wbGluZ0NvbnRleHRGcm9tU3BhbihzcGFuKSB7CiAgY29uc3QgY2xpZW50ID0gZ2V0Q2xpZW50KCk7CiAgaWYgKCFjbGllbnQpIHsKICAgIHJldHVybiB7fTsKICB9CgogIC8vIHBhc3NpbmcgZW1pdD1mYWxzZSBoZXJlIHRvIG9ubHkgZW1pdCBsYXRlciBvbmNlIHRoZSBEU0MgaXMgYWN0dWFsbHkgcG9wdWxhdGVkCiAgY29uc3QgZHNjID0gZ2V0RHluYW1pY1NhbXBsaW5nQ29udGV4dEZyb21DbGllbnQoc3BhblRvSlNPTihzcGFuKS50cmFjZV9pZCB8fCAnJywgY2xpZW50LCBnZXRDdXJyZW50U2NvcGUoKSk7CgogIC8vIFRPRE8gKHY4KTogUmVtb3ZlIHY3RnJvemVuRHNjIGFzIGEgVHJhbnNhY3Rpb24gd2lsbCBubyBsb25nZXIgaGF2ZSBfZnJvemVuRHluYW1pY1NhbXBsaW5nQ29udGV4dAogIGNvbnN0IHR4biA9IGdldFJvb3RTcGFuKHNwYW4pIDsKICBpZiAoIXR4bikgewogICAgcmV0dXJuIGRzYzsKICB9CgogIC8vIFRPRE8gKHY4KTogUmVtb3ZlIHY3RnJvemVuRHNjIGFzIGEgVHJhbnNhY3Rpb24gd2lsbCBubyBsb25nZXIgaGF2ZSBfZnJvemVuRHluYW1pY1NhbXBsaW5nQ29udGV4dAogIC8vIEZvciBub3cgd2UgbmVlZCB0byBhdm9pZCBicmVha2luZyB1c2VycyB3aG8gZGlyZWN0bHkgY3JlYXRlZCBhIHR4biB3aXRoIGEgRFNDLCB3aGVyZSB0aGlzIGZpZWxkIGlzIHN0aWxsIHNldC4KICAvLyBAc2VlIFRyYW5zYWN0aW9uIGNsYXNzIGNvbnN0cnVjdG9yCiAgY29uc3QgdjdGcm96ZW5Ec2MgPSB0eG4gJiYgdHhuLl9mcm96ZW5EeW5hbWljU2FtcGxpbmdDb250ZXh0OwogIGlmICh2N0Zyb3plbkRzYykgewogICAgcmV0dXJuIHY3RnJvemVuRHNjOwogIH0KCiAgLy8gVE9ETyAodjgpOiBSZXBsYWNlIHR4bi5tZXRhZGF0YSB3aXRoIHR4bi5hdHRyaWJ1dGVzW10KICAvLyBXZSBjYW4ndCBkbyB0aGlzIHlldCBiZWNhdXNlIGF0dHJpYnV0ZXMgYXJlbid0IGFsd2F5cyBzZXQgeWV0LgogIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogIGNvbnN0IHsgc2FtcGxlUmF0ZTogbWF5YmVTYW1wbGVSYXRlLCBzb3VyY2UgfSA9IHR4bi5tZXRhZGF0YTsKICBpZiAobWF5YmVTYW1wbGVSYXRlICE9IG51bGwpIHsKICAgIGRzYy5zYW1wbGVfcmF0ZSA9IGAke21heWJlU2FtcGxlUmF0ZX1gOwogIH0KCiAgLy8gV2UgZG9uJ3Qgd2FudCB0byBoYXZlIGEgdHJhbnNhY3Rpb24gbmFtZSBpbiB0aGUgRFNDIGlmIHRoZSBzb3VyY2UgaXMgInVybCIgYmVjYXVzZSBVUkxzIG1pZ2h0IGNvbnRhaW4gUElJCiAgY29uc3QganNvblNwYW4gPSBzcGFuVG9KU09OKHR4bik7CgogIC8vIGFmdGVyIEpTT04gY29udmVyc2lvbiwgdHhuLm5hbWUgYmVjb21lcyBqc29uU3Bhbi5kZXNjcmlwdGlvbgogIGlmIChzb3VyY2UgJiYgc291cmNlICE9PSAndXJsJykgewogICAgZHNjLnRyYW5zYWN0aW9uID0ganNvblNwYW4uZGVzY3JpcHRpb247CiAgfQoKICBkc2Muc2FtcGxlZCA9IFN0cmluZyhzcGFuSXNTYW1wbGVkKHR4bikpOwoKICBjbGllbnQuZW1pdCAmJiBjbGllbnQuZW1pdCgnY3JlYXRlRHNjJywgZHNjKTsKCiAgcmV0dXJuIGRzYzsKfQoKLyoqCiAqIEFwcGxpZXMgZGF0YSBmcm9tIHRoZSBzY29wZSB0byB0aGUgZXZlbnQgYW5kIHJ1bnMgYWxsIGV2ZW50IHByb2Nlc3NvcnMgb24gaXQuCiAqLwpmdW5jdGlvbiBhcHBseVNjb3BlRGF0YVRvRXZlbnQoZXZlbnQsIGRhdGEpIHsKICBjb25zdCB7IGZpbmdlcnByaW50LCBzcGFuLCBicmVhZGNydW1icywgc2RrUHJvY2Vzc2luZ01ldGFkYXRhIH0gPSBkYXRhOwoKICAvLyBBcHBseSBnZW5lcmFsIGRhdGEKICBhcHBseURhdGFUb0V2ZW50KGV2ZW50LCBkYXRhKTsKCiAgLy8gV2Ugd2FudCB0byBzZXQgdGhlIHRyYWNlIGNvbnRleHQgZm9yIG5vcm1hbCBldmVudHMgb25seSBpZiB0aGVyZSBpc24ndCBhbHJlYWR5CiAgLy8gYSB0cmFjZSBjb250ZXh0IG9uIHRoZSBldmVudC4gVGhlcmUgaXMgYSBwcm9kdWN0IGZlYXR1cmUgaW4gcGxhY2Ugd2hlcmUgd2UgbGluawogIC8vIGVycm9ycyB3aXRoIHRyYW5zYWN0aW9uIGFuZCBpdCByZWxpZXMgb24gdGhhdC4KICBpZiAoc3BhbikgewogICAgYXBwbHlTcGFuVG9FdmVudChldmVudCwgc3Bhbik7CiAgfQoKICBhcHBseUZpbmdlcnByaW50VG9FdmVudChldmVudCwgZmluZ2VycHJpbnQpOwogIGFwcGx5QnJlYWRjcnVtYnNUb0V2ZW50KGV2ZW50LCBicmVhZGNydW1icyk7CiAgYXBwbHlTZGtNZXRhZGF0YVRvRXZlbnQoZXZlbnQsIHNka1Byb2Nlc3NpbmdNZXRhZGF0YSk7Cn0KCmZ1bmN0aW9uIGFwcGx5RGF0YVRvRXZlbnQoZXZlbnQsIGRhdGEpIHsKICBjb25zdCB7CiAgICBleHRyYSwKICAgIHRhZ3MsCiAgICB1c2VyLAogICAgY29udGV4dHMsCiAgICBsZXZlbCwKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdHJhbnNhY3Rpb25OYW1lLAogIH0gPSBkYXRhOwoKICBjb25zdCBjbGVhbmVkRXh0cmEgPSBkcm9wVW5kZWZpbmVkS2V5cyhleHRyYSk7CiAgaWYgKGNsZWFuZWRFeHRyYSAmJiBPYmplY3Qua2V5cyhjbGVhbmVkRXh0cmEpLmxlbmd0aCkgewogICAgZXZlbnQuZXh0cmEgPSB7IC4uLmNsZWFuZWRFeHRyYSwgLi4uZXZlbnQuZXh0cmEgfTsKICB9CgogIGNvbnN0IGNsZWFuZWRUYWdzID0gZHJvcFVuZGVmaW5lZEtleXModGFncyk7CiAgaWYgKGNsZWFuZWRUYWdzICYmIE9iamVjdC5rZXlzKGNsZWFuZWRUYWdzKS5sZW5ndGgpIHsKICAgIGV2ZW50LnRhZ3MgPSB7IC4uLmNsZWFuZWRUYWdzLCAuLi5ldmVudC50YWdzIH07CiAgfQoKICBjb25zdCBjbGVhbmVkVXNlciA9IGRyb3BVbmRlZmluZWRLZXlzKHVzZXIpOwogIGlmIChjbGVhbmVkVXNlciAmJiBPYmplY3Qua2V5cyhjbGVhbmVkVXNlcikubGVuZ3RoKSB7CiAgICBldmVudC51c2VyID0geyAuLi5jbGVhbmVkVXNlciwgLi4uZXZlbnQudXNlciB9OwogIH0KCiAgY29uc3QgY2xlYW5lZENvbnRleHRzID0gZHJvcFVuZGVmaW5lZEtleXMoY29udGV4dHMpOwogIGlmIChjbGVhbmVkQ29udGV4dHMgJiYgT2JqZWN0LmtleXMoY2xlYW5lZENvbnRleHRzKS5sZW5ndGgpIHsKICAgIGV2ZW50LmNvbnRleHRzID0geyAuLi5jbGVhbmVkQ29udGV4dHMsIC4uLmV2ZW50LmNvbnRleHRzIH07CiAgfQoKICBpZiAobGV2ZWwpIHsKICAgIGV2ZW50LmxldmVsID0gbGV2ZWw7CiAgfQoKICBpZiAodHJhbnNhY3Rpb25OYW1lKSB7CiAgICBldmVudC50cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uTmFtZTsKICB9Cn0KCmZ1bmN0aW9uIGFwcGx5QnJlYWRjcnVtYnNUb0V2ZW50KGV2ZW50LCBicmVhZGNydW1icykgewogIGNvbnN0IG1lcmdlZEJyZWFkY3J1bWJzID0gWy4uLihldmVudC5icmVhZGNydW1icyB8fCBbXSksIC4uLmJyZWFkY3J1bWJzXTsKICBldmVudC5icmVhZGNydW1icyA9IG1lcmdlZEJyZWFkY3J1bWJzLmxlbmd0aCA/IG1lcmdlZEJyZWFkY3J1bWJzIDogdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBhcHBseVNka01ldGFkYXRhVG9FdmVudChldmVudCwgc2RrUHJvY2Vzc2luZ01ldGFkYXRhKSB7CiAgZXZlbnQuc2RrUHJvY2Vzc2luZ01ldGFkYXRhID0gewogICAgLi4uZXZlbnQuc2RrUHJvY2Vzc2luZ01ldGFkYXRhLAogICAgLi4uc2RrUHJvY2Vzc2luZ01ldGFkYXRhLAogIH07Cn0KCmZ1bmN0aW9uIGFwcGx5U3BhblRvRXZlbnQoZXZlbnQsIHNwYW4pIHsKICBldmVudC5jb250ZXh0cyA9IHsgdHJhY2U6IHNwYW5Ub1RyYWNlQ29udGV4dChzcGFuKSwgLi4uZXZlbnQuY29udGV4dHMgfTsKICBjb25zdCByb290U3BhbiA9IGdldFJvb3RTcGFuKHNwYW4pOwogIGlmIChyb290U3BhbikgewogICAgZXZlbnQuc2RrUHJvY2Vzc2luZ01ldGFkYXRhID0gewogICAgICBkeW5hbWljU2FtcGxpbmdDb250ZXh0OiBnZXREeW5hbWljU2FtcGxpbmdDb250ZXh0RnJvbVNwYW4oc3BhbiksCiAgICAgIC4uLmV2ZW50LnNka1Byb2Nlc3NpbmdNZXRhZGF0YSwKICAgIH07CiAgICBjb25zdCB0cmFuc2FjdGlvbk5hbWUgPSBzcGFuVG9KU09OKHJvb3RTcGFuKS5kZXNjcmlwdGlvbjsKICAgIGlmICh0cmFuc2FjdGlvbk5hbWUpIHsKICAgICAgZXZlbnQudGFncyA9IHsgdHJhbnNhY3Rpb246IHRyYW5zYWN0aW9uTmFtZSwgLi4uZXZlbnQudGFncyB9OwogICAgfQogIH0KfQoKLyoqCiAqIEFwcGxpZXMgZmluZ2VycHJpbnQgZnJvbSB0aGUgc2NvcGUgdG8gdGhlIGV2ZW50IGlmIHRoZXJlJ3Mgb25lLAogKiB1c2VzIG1lc3NhZ2UgaWYgdGhlcmUncyBvbmUgaW5zdGVhZCBvciBnZXQgcmlkIG9mIGVtcHR5IGZpbmdlcnByaW50CiAqLwpmdW5jdGlvbiBhcHBseUZpbmdlcnByaW50VG9FdmVudChldmVudCwgZmluZ2VycHJpbnQpIHsKICAvLyBNYWtlIHN1cmUgaXQncyBhbiBhcnJheSBmaXJzdCBhbmQgd2UgYWN0dWFsbHkgaGF2ZSBzb21ldGhpbmcgaW4gcGxhY2UKICBldmVudC5maW5nZXJwcmludCA9IGV2ZW50LmZpbmdlcnByaW50ID8gYXJyYXlpZnkoZXZlbnQuZmluZ2VycHJpbnQpIDogW107CgogIC8vIElmIHdlIGhhdmUgc29tZXRoaW5nIG9uIHRoZSBzY29wZSwgdGhlbiBtZXJnZSBpdCB3aXRoIGV2ZW50CiAgaWYgKGZpbmdlcnByaW50KSB7CiAgICBldmVudC5maW5nZXJwcmludCA9IGV2ZW50LmZpbmdlcnByaW50LmNvbmNhdChmaW5nZXJwcmludCk7CiAgfQoKICAvLyBJZiB3ZSBoYXZlIG5vIGRhdGEgYXQgYWxsLCByZW1vdmUgZW1wdHkgYXJyYXkgZGVmYXVsdAogIGlmIChldmVudC5maW5nZXJwcmludCAmJiAhZXZlbnQuZmluZ2VycHJpbnQubGVuZ3RoKSB7CiAgICBkZWxldGUgZXZlbnQuZmluZ2VycHJpbnQ7CiAgfQp9CgovKioKICogRGVmYXVsdCB2YWx1ZSBmb3IgbWF4aW11bSBudW1iZXIgb2YgYnJlYWRjcnVtYnMgYWRkZWQgdG8gYW4gZXZlbnQuCiAqLwpjb25zdCBERUZBVUxUX01BWF9CUkVBRENSVU1CUyA9IDEwMDsKCi8qKgogKiBIb2xkcyBhZGRpdGlvbmFsIGV2ZW50IGluZm9ybWF0aW9uLiB7QGxpbmsgU2NvcGUuYXBwbHlUb0V2ZW50fSB3aWxsIGJlCiAqIGNhbGxlZCBieSB0aGUgY2xpZW50IGJlZm9yZSBhbiBldmVudCB3aWxsIGJlIHNlbnQuCiAqLwpjbGFzcyBTY29wZSAgewogIC8qKiBGbGFnIGlmIG5vdGlmeWluZyBpcyBoYXBwZW5pbmcuICovCgogIC8qKiBDYWxsYmFjayBmb3IgY2xpZW50IHRvIHJlY2VpdmUgc2NvcGUgY2hhbmdlcy4gKi8KCiAgLyoqIENhbGxiYWNrIGxpc3QgdGhhdCB3aWxsIGJlIGNhbGxlZCBhZnRlciB7QGxpbmsgYXBwbHlUb0V2ZW50fS4gKi8KCiAgLyoqIEFycmF5IG9mIGJyZWFkY3J1bWJzLiAqLwoKICAvKiogVXNlciAqLwoKICAvKiogVGFncyAqLwoKICAvKiogRXh0cmEgKi8KCiAgLyoqIENvbnRleHRzICovCgogIC8qKiBBdHRhY2htZW50cyAqLwoKICAvKiogUHJvcGFnYXRpb24gQ29udGV4dCBmb3IgZGlzdHJpYnV0ZWQgdHJhY2luZyAqLwoKICAvKioKICAgKiBBIHBsYWNlIHRvIHN0YXNoIGRhdGEgd2hpY2ggaXMgbmVlZGVkIGF0IHNvbWUgcG9pbnQgaW4gdGhlIFNESydzIGV2ZW50IHByb2Nlc3NpbmcgcGlwZWxpbmUgYnV0IHdoaWNoIHNob3VsZG4ndCBnZXQKICAgKiBzZW50IHRvIFNlbnRyeQogICAqLwoKICAvKiogRmluZ2VycHJpbnQgKi8KCiAgLyoqIFNldmVyaXR5ICovCiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCgogIC8qKgogICAqIFRyYW5zYWN0aW9uIE5hbWUKICAgKi8KCiAgLyoqIFNwYW4gKi8KCiAgLyoqIFNlc3Npb24gKi8KCiAgLyoqIFJlcXVlc3QgTW9kZSBTZXNzaW9uIFN0YXR1cyAqLwoKICAvKiogVGhlIGNsaWVudCBvbiB0aGlzIHNjb3BlICovCgogIC8vIE5PVEU6IEFueSBmaWVsZCB3aGljaCBnZXRzIGFkZGVkIGhlcmUgc2hvdWxkIGdldCBhZGRlZCBub3Qgb25seSB0byB0aGUgY29uc3RydWN0b3IgYnV0IGFsc28gdG8gdGhlIGBjbG9uZWAgbWV0aG9kLgoKICAgY29uc3RydWN0b3IoKSB7CiAgICB0aGlzLl9ub3RpZnlpbmdMaXN0ZW5lcnMgPSBmYWxzZTsKICAgIHRoaXMuX3Njb3BlTGlzdGVuZXJzID0gW107CiAgICB0aGlzLl9ldmVudFByb2Nlc3NvcnMgPSBbXTsKICAgIHRoaXMuX2JyZWFkY3J1bWJzID0gW107CiAgICB0aGlzLl9hdHRhY2htZW50cyA9IFtdOwogICAgdGhpcy5fdXNlciA9IHt9OwogICAgdGhpcy5fdGFncyA9IHt9OwogICAgdGhpcy5fZXh0cmEgPSB7fTsKICAgIHRoaXMuX2NvbnRleHRzID0ge307CiAgICB0aGlzLl9zZGtQcm9jZXNzaW5nTWV0YWRhdGEgPSB7fTsKICAgIHRoaXMuX3Byb3BhZ2F0aW9uQ29udGV4dCA9IGdlbmVyYXRlUHJvcGFnYXRpb25Db250ZXh0KCk7CiAgfQoKICAvKioKICAgKiBJbmhlcml0IHZhbHVlcyBmcm9tIHRoZSBwYXJlbnQgc2NvcGUuCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBzY29wZS5jbG9uZSgpYCBhbmQgYG5ldyBTY29wZSgpYCBpbnN0ZWFkLgogICAqLwogICBzdGF0aWMgY2xvbmUoc2NvcGUpIHsKICAgIHJldHVybiBzY29wZSA/IHNjb3BlLmNsb25lKCkgOiBuZXcgU2NvcGUoKTsKICB9CgogIC8qKgogICAqIENsb25lIHRoaXMgc2NvcGUgaW5zdGFuY2UuCiAgICovCiAgIGNsb25lKCkgewogICAgY29uc3QgbmV3U2NvcGUgPSBuZXcgU2NvcGUoKTsKICAgIG5ld1Njb3BlLl9icmVhZGNydW1icyA9IFsuLi50aGlzLl9icmVhZGNydW1ic107CiAgICBuZXdTY29wZS5fdGFncyA9IHsgLi4udGhpcy5fdGFncyB9OwogICAgbmV3U2NvcGUuX2V4dHJhID0geyAuLi50aGlzLl9leHRyYSB9OwogICAgbmV3U2NvcGUuX2NvbnRleHRzID0geyAuLi50aGlzLl9jb250ZXh0cyB9OwogICAgbmV3U2NvcGUuX3VzZXIgPSB0aGlzLl91c2VyOwogICAgbmV3U2NvcGUuX2xldmVsID0gdGhpcy5fbGV2ZWw7CiAgICBuZXdTY29wZS5fc3BhbiA9IHRoaXMuX3NwYW47CiAgICBuZXdTY29wZS5fc2Vzc2lvbiA9IHRoaXMuX3Nlc3Npb247CiAgICBuZXdTY29wZS5fdHJhbnNhY3Rpb25OYW1lID0gdGhpcy5fdHJhbnNhY3Rpb25OYW1lOwogICAgbmV3U2NvcGUuX2ZpbmdlcnByaW50ID0gdGhpcy5fZmluZ2VycHJpbnQ7CiAgICBuZXdTY29wZS5fZXZlbnRQcm9jZXNzb3JzID0gWy4uLnRoaXMuX2V2ZW50UHJvY2Vzc29yc107CiAgICBuZXdTY29wZS5fcmVxdWVzdFNlc3Npb24gPSB0aGlzLl9yZXF1ZXN0U2Vzc2lvbjsKICAgIG5ld1Njb3BlLl9hdHRhY2htZW50cyA9IFsuLi50aGlzLl9hdHRhY2htZW50c107CiAgICBuZXdTY29wZS5fc2RrUHJvY2Vzc2luZ01ldGFkYXRhID0geyAuLi50aGlzLl9zZGtQcm9jZXNzaW5nTWV0YWRhdGEgfTsKICAgIG5ld1Njb3BlLl9wcm9wYWdhdGlvbkNvbnRleHQgPSB7IC4uLnRoaXMuX3Byb3BhZ2F0aW9uQ29udGV4dCB9OwogICAgbmV3U2NvcGUuX2NsaWVudCA9IHRoaXMuX2NsaWVudDsKCiAgICByZXR1cm4gbmV3U2NvcGU7CiAgfQoKICAvKiogVXBkYXRlIHRoZSBjbGllbnQgb24gdGhlIHNjb3BlLiAqLwogICBzZXRDbGllbnQoY2xpZW50KSB7CiAgICB0aGlzLl9jbGllbnQgPSBjbGllbnQ7CiAgfQoKICAvKioKICAgKiBHZXQgdGhlIGNsaWVudCBhc3NpZ25lZCB0byB0aGlzIHNjb3BlLgogICAqCiAgICogSXQgaXMgZ2VuZXJhbGx5IHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgZ2xvYmFsIGZ1bmN0aW9uIGBTZW50cnkuZ2V0Q2xpZW50KClgIGluc3RlYWQsIHVubGVzcyB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcuCiAgICovCiAgIGdldENsaWVudCgpIHsKICAgIHJldHVybiB0aGlzLl9jbGllbnQ7CiAgfQoKICAvKioKICAgKiBBZGQgaW50ZXJuYWwgb24gY2hhbmdlIGxpc3RlbmVyLiBVc2VkIGZvciBzdWIgU0RLcyB0aGF0IG5lZWQgdG8gc3RvcmUgdGhlIHNjb3BlLgogICAqIEBoaWRkZW4KICAgKi8KICAgYWRkU2NvcGVMaXN0ZW5lcihjYWxsYmFjaykgewogICAgdGhpcy5fc2NvcGVMaXN0ZW5lcnMucHVzaChjYWxsYmFjayk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBhZGRFdmVudFByb2Nlc3NvcihjYWxsYmFjaykgewogICAgdGhpcy5fZXZlbnRQcm9jZXNzb3JzLnB1c2goY2FsbGJhY2spOwogICAgcmV0dXJuIHRoaXM7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBzZXRVc2VyKHVzZXIpIHsKICAgIC8vIElmIG51bGwgaXMgcGFzc2VkIHdlIHdhbnQgdG8gdW5zZXQgZXZlcnl0aGluZywgYnV0IHN0aWxsIGRlZmluZSBrZXlzLAogICAgLy8gc28gdGhhdCBsYXRlciBkb3duIGluIHRoZSBwaXBlbGluZSBhbnkgZXhpc3RpbmcgdmFsdWVzIGFyZSBjbGVhcmVkLgogICAgdGhpcy5fdXNlciA9IHVzZXIgfHwgewogICAgICBlbWFpbDogdW5kZWZpbmVkLAogICAgICBpZDogdW5kZWZpbmVkLAogICAgICBpcF9hZGRyZXNzOiB1bmRlZmluZWQsCiAgICAgIHNlZ21lbnQ6IHVuZGVmaW5lZCwKICAgICAgdXNlcm5hbWU6IHVuZGVmaW5lZCwKICAgIH07CgogICAgaWYgKHRoaXMuX3Nlc3Npb24pIHsKICAgICAgdXBkYXRlU2Vzc2lvbih0aGlzLl9zZXNzaW9uLCB7IHVzZXIgfSk7CiAgICB9CgogICAgdGhpcy5fbm90aWZ5U2NvcGVMaXN0ZW5lcnMoKTsKICAgIHJldHVybiB0aGlzOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgZ2V0VXNlcigpIHsKICAgIHJldHVybiB0aGlzLl91c2VyOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgZ2V0UmVxdWVzdFNlc3Npb24oKSB7CiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdFNlc3Npb247CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBzZXRSZXF1ZXN0U2Vzc2lvbihyZXF1ZXN0U2Vzc2lvbikgewogICAgdGhpcy5fcmVxdWVzdFNlc3Npb24gPSByZXF1ZXN0U2Vzc2lvbjsKICAgIHJldHVybiB0aGlzOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgc2V0VGFncyh0YWdzKSB7CiAgICB0aGlzLl90YWdzID0gewogICAgICAuLi50aGlzLl90YWdzLAogICAgICAuLi50YWdzLAogICAgfTsKICAgIHRoaXMuX25vdGlmeVNjb3BlTGlzdGVuZXJzKCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgIHNldFRhZyhrZXksIHZhbHVlKSB7CiAgICB0aGlzLl90YWdzID0geyAuLi50aGlzLl90YWdzLCBba2V5XTogdmFsdWUgfTsKICAgIHRoaXMuX25vdGlmeVNjb3BlTGlzdGVuZXJzKCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgIHNldEV4dHJhcyhleHRyYXMpIHsKICAgIHRoaXMuX2V4dHJhID0gewogICAgICAuLi50aGlzLl9leHRyYSwKICAgICAgLi4uZXh0cmFzLAogICAgfTsKICAgIHRoaXMuX25vdGlmeVNjb3BlTGlzdGVuZXJzKCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgIHNldEV4dHJhKGtleSwgZXh0cmEpIHsKICAgIHRoaXMuX2V4dHJhID0geyAuLi50aGlzLl9leHRyYSwgW2tleV06IGV4dHJhIH07CiAgICB0aGlzLl9ub3RpZnlTY29wZUxpc3RlbmVycygpOwogICAgcmV0dXJuIHRoaXM7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBzZXRGaW5nZXJwcmludChmaW5nZXJwcmludCkgewogICAgdGhpcy5fZmluZ2VycHJpbnQgPSBmaW5nZXJwcmludDsKICAgIHRoaXMuX25vdGlmeVNjb3BlTGlzdGVuZXJzKCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgIHNldExldmVsKAogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICBsZXZlbCwKICApIHsKICAgIHRoaXMuX2xldmVsID0gbGV2ZWw7CiAgICB0aGlzLl9ub3RpZnlTY29wZUxpc3RlbmVycygpOwogICAgcmV0dXJuIHRoaXM7CiAgfQoKICAvKioKICAgKiBTZXRzIHRoZSB0cmFuc2FjdGlvbiBuYW1lIG9uIHRoZSBzY29wZSBmb3IgZnV0dXJlIGV2ZW50cy4KICAgKi8KICAgc2V0VHJhbnNhY3Rpb25OYW1lKG5hbWUpIHsKICAgIHRoaXMuX3RyYW5zYWN0aW9uTmFtZSA9IG5hbWU7CiAgICB0aGlzLl9ub3RpZnlTY29wZUxpc3RlbmVycygpOwogICAgcmV0dXJuIHRoaXM7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBzZXRDb250ZXh0KGtleSwgY29udGV4dCkgewogICAgaWYgKGNvbnRleHQgPT09IG51bGwpIHsKICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1keW5hbWljLWRlbGV0ZQogICAgICBkZWxldGUgdGhpcy5fY29udGV4dHNba2V5XTsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuX2NvbnRleHRzW2tleV0gPSBjb250ZXh0OwogICAgfQoKICAgIHRoaXMuX25vdGlmeVNjb3BlTGlzdGVuZXJzKCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIFNldHMgdGhlIFNwYW4gb24gdGhlIHNjb3BlLgogICAqIEBwYXJhbSBzcGFuIFNwYW4KICAgKiBAZGVwcmVjYXRlZCBJbnN0ZWFkIG9mIHNldHRpbmcgYSBzcGFuIG9uIGEgc2NvcGUsIHVzZSBgc3RhcnRTcGFuKClgL2BzdGFydFNwYW5NYW51YWwoKWAgaW5zdGVhZC4KICAgKi8KICAgc2V0U3BhbihzcGFuKSB7CiAgICB0aGlzLl9zcGFuID0gc3BhbjsKICAgIHRoaXMuX25vdGlmeVNjb3BlTGlzdGVuZXJzKCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIFJldHVybnMgdGhlIGBTcGFuYCBpZiB0aGVyZSBpcyBvbmUuCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBnZXRBY3RpdmVTcGFuKClgIGluc3RlYWQuCiAgICovCiAgIGdldFNwYW4oKSB7CiAgICByZXR1cm4gdGhpcy5fc3BhbjsKICB9CgogIC8qKgogICAqIFJldHVybnMgdGhlIGBUcmFuc2FjdGlvbmAgYXR0YWNoZWQgdG8gdGhlIHNjb3BlIChpZiB0aGVyZSBpcyBvbmUpLgogICAqIEBkZXByZWNhdGVkIFlvdSBzaG91bGQgbm90IHJlbHkgb24gdGhlIHRyYW5zYWN0aW9uLCBidXQganVzdCB1c2UgYHN0YXJ0U3BhbigpYCBBUElzIGluc3RlYWQuCiAgICovCiAgIGdldFRyYW5zYWN0aW9uKCkgewogICAgLy8gT2Z0ZW4sIHRoaXMgc3BhbiAoaWYgaXQgZXhpc3RzIGF0IGFsbCkgd2lsbCBiZSBhIHRyYW5zYWN0aW9uLCBidXQgaXQncyBub3QgZ3VhcmFudGVlZCB0byBiZS4gUmVnYXJkbGVzcywgaXQgd2lsbAogICAgLy8gaGF2ZSBhIHBvaW50ZXIgdG8gdGhlIGN1cnJlbnRseS1hY3RpdmUgdHJhbnNhY3Rpb24uCiAgICBjb25zdCBzcGFuID0gdGhpcy5fc3BhbjsKICAgIC8vIENhbm5vdCByZXBsYWNlIHdpdGggZ2V0Um9vdFNwYW4gYmVjYXVzZSBnZXRSb290U3BhbiByZXR1cm5zIGEgc3Bhbiwgbm90IGEgdHJhbnNhY3Rpb24KICAgIC8vIEFsc28sIHRoaXMgbWV0aG9kIHdpbGwgYmUgcmVtb3ZlZCBhbnl3YXkuCiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIHJldHVybiBzcGFuICYmIHNwYW4udHJhbnNhY3Rpb247CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBzZXRTZXNzaW9uKHNlc3Npb24pIHsKICAgIGlmICghc2Vzc2lvbikgewogICAgICBkZWxldGUgdGhpcy5fc2Vzc2lvbjsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuX3Nlc3Npb24gPSBzZXNzaW9uOwogICAgfQogICAgdGhpcy5fbm90aWZ5U2NvcGVMaXN0ZW5lcnMoKTsKICAgIHJldHVybiB0aGlzOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgZ2V0U2Vzc2lvbigpIHsKICAgIHJldHVybiB0aGlzLl9zZXNzaW9uOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgdXBkYXRlKGNhcHR1cmVDb250ZXh0KSB7CiAgICBpZiAoIWNhcHR1cmVDb250ZXh0KSB7CiAgICAgIHJldHVybiB0aGlzOwogICAgfQoKICAgIGNvbnN0IHNjb3BlVG9NZXJnZSA9IHR5cGVvZiBjYXB0dXJlQ29udGV4dCA9PT0gJ2Z1bmN0aW9uJyA/IGNhcHR1cmVDb250ZXh0KHRoaXMpIDogY2FwdHVyZUNvbnRleHQ7CgogICAgaWYgKHNjb3BlVG9NZXJnZSBpbnN0YW5jZW9mIFNjb3BlKSB7CiAgICAgIGNvbnN0IHNjb3BlRGF0YSA9IHNjb3BlVG9NZXJnZS5nZXRTY29wZURhdGEoKTsKCiAgICAgIHRoaXMuX3RhZ3MgPSB7IC4uLnRoaXMuX3RhZ3MsIC4uLnNjb3BlRGF0YS50YWdzIH07CiAgICAgIHRoaXMuX2V4dHJhID0geyAuLi50aGlzLl9leHRyYSwgLi4uc2NvcGVEYXRhLmV4dHJhIH07CiAgICAgIHRoaXMuX2NvbnRleHRzID0geyAuLi50aGlzLl9jb250ZXh0cywgLi4uc2NvcGVEYXRhLmNvbnRleHRzIH07CiAgICAgIGlmIChzY29wZURhdGEudXNlciAmJiBPYmplY3Qua2V5cyhzY29wZURhdGEudXNlcikubGVuZ3RoKSB7CiAgICAgICAgdGhpcy5fdXNlciA9IHNjb3BlRGF0YS51c2VyOwogICAgICB9CiAgICAgIGlmIChzY29wZURhdGEubGV2ZWwpIHsKICAgICAgICB0aGlzLl9sZXZlbCA9IHNjb3BlRGF0YS5sZXZlbDsKICAgICAgfQogICAgICBpZiAoc2NvcGVEYXRhLmZpbmdlcnByaW50Lmxlbmd0aCkgewogICAgICAgIHRoaXMuX2ZpbmdlcnByaW50ID0gc2NvcGVEYXRhLmZpbmdlcnByaW50OwogICAgICB9CiAgICAgIGlmIChzY29wZVRvTWVyZ2UuZ2V0UmVxdWVzdFNlc3Npb24oKSkgewogICAgICAgIHRoaXMuX3JlcXVlc3RTZXNzaW9uID0gc2NvcGVUb01lcmdlLmdldFJlcXVlc3RTZXNzaW9uKCk7CiAgICAgIH0KICAgICAgaWYgKHNjb3BlRGF0YS5wcm9wYWdhdGlvbkNvbnRleHQpIHsKICAgICAgICB0aGlzLl9wcm9wYWdhdGlvbkNvbnRleHQgPSBzY29wZURhdGEucHJvcGFnYXRpb25Db250ZXh0OwogICAgICB9CiAgICB9IGVsc2UgaWYgKGlzUGxhaW5PYmplY3Qoc2NvcGVUb01lcmdlKSkgewogICAgICBjb25zdCBzY29wZUNvbnRleHQgPSBjYXB0dXJlQ29udGV4dCA7CiAgICAgIHRoaXMuX3RhZ3MgPSB7IC4uLnRoaXMuX3RhZ3MsIC4uLnNjb3BlQ29udGV4dC50YWdzIH07CiAgICAgIHRoaXMuX2V4dHJhID0geyAuLi50aGlzLl9leHRyYSwgLi4uc2NvcGVDb250ZXh0LmV4dHJhIH07CiAgICAgIHRoaXMuX2NvbnRleHRzID0geyAuLi50aGlzLl9jb250ZXh0cywgLi4uc2NvcGVDb250ZXh0LmNvbnRleHRzIH07CiAgICAgIGlmIChzY29wZUNvbnRleHQudXNlcikgewogICAgICAgIHRoaXMuX3VzZXIgPSBzY29wZUNvbnRleHQudXNlcjsKICAgICAgfQogICAgICBpZiAoc2NvcGVDb250ZXh0LmxldmVsKSB7CiAgICAgICAgdGhpcy5fbGV2ZWwgPSBzY29wZUNvbnRleHQubGV2ZWw7CiAgICAgIH0KICAgICAgaWYgKHNjb3BlQ29udGV4dC5maW5nZXJwcmludCkgewogICAgICAgIHRoaXMuX2ZpbmdlcnByaW50ID0gc2NvcGVDb250ZXh0LmZpbmdlcnByaW50OwogICAgICB9CiAgICAgIGlmIChzY29wZUNvbnRleHQucmVxdWVzdFNlc3Npb24pIHsKICAgICAgICB0aGlzLl9yZXF1ZXN0U2Vzc2lvbiA9IHNjb3BlQ29udGV4dC5yZXF1ZXN0U2Vzc2lvbjsKICAgICAgfQogICAgICBpZiAoc2NvcGVDb250ZXh0LnByb3BhZ2F0aW9uQ29udGV4dCkgewogICAgICAgIHRoaXMuX3Byb3BhZ2F0aW9uQ29udGV4dCA9IHNjb3BlQ29udGV4dC5wcm9wYWdhdGlvbkNvbnRleHQ7CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgIGNsZWFyKCkgewogICAgdGhpcy5fYnJlYWRjcnVtYnMgPSBbXTsKICAgIHRoaXMuX3RhZ3MgPSB7fTsKICAgIHRoaXMuX2V4dHJhID0ge307CiAgICB0aGlzLl91c2VyID0ge307CiAgICB0aGlzLl9jb250ZXh0cyA9IHt9OwogICAgdGhpcy5fbGV2ZWwgPSB1bmRlZmluZWQ7CiAgICB0aGlzLl90cmFuc2FjdGlvbk5hbWUgPSB1bmRlZmluZWQ7CiAgICB0aGlzLl9maW5nZXJwcmludCA9IHVuZGVmaW5lZDsKICAgIHRoaXMuX3JlcXVlc3RTZXNzaW9uID0gdW5kZWZpbmVkOwogICAgdGhpcy5fc3BhbiA9IHVuZGVmaW5lZDsKICAgIHRoaXMuX3Nlc3Npb24gPSB1bmRlZmluZWQ7CiAgICB0aGlzLl9ub3RpZnlTY29wZUxpc3RlbmVycygpOwogICAgdGhpcy5fYXR0YWNobWVudHMgPSBbXTsKICAgIHRoaXMuX3Byb3BhZ2F0aW9uQ29udGV4dCA9IGdlbmVyYXRlUHJvcGFnYXRpb25Db250ZXh0KCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgIGFkZEJyZWFkY3J1bWIoYnJlYWRjcnVtYiwgbWF4QnJlYWRjcnVtYnMpIHsKICAgIGNvbnN0IG1heENydW1icyA9IHR5cGVvZiBtYXhCcmVhZGNydW1icyA9PT0gJ251bWJlcicgPyBtYXhCcmVhZGNydW1icyA6IERFRkFVTFRfTUFYX0JSRUFEQ1JVTUJTOwoKICAgIC8vIE5vIGRhdGEgaGFzIGJlZW4gY2hhbmdlZCwgc28gZG9uJ3Qgbm90aWZ5IHNjb3BlIGxpc3RlbmVycwogICAgaWYgKG1heENydW1icyA8PSAwKSB7CiAgICAgIHJldHVybiB0aGlzOwogICAgfQoKICAgIGNvbnN0IG1lcmdlZEJyZWFkY3J1bWIgPSB7CiAgICAgIHRpbWVzdGFtcDogZGF0ZVRpbWVzdGFtcEluU2Vjb25kcygpLAogICAgICAuLi5icmVhZGNydW1iLAogICAgfTsKCiAgICBjb25zdCBicmVhZGNydW1icyA9IHRoaXMuX2JyZWFkY3J1bWJzOwogICAgYnJlYWRjcnVtYnMucHVzaChtZXJnZWRCcmVhZGNydW1iKTsKICAgIHRoaXMuX2JyZWFkY3J1bWJzID0gYnJlYWRjcnVtYnMubGVuZ3RoID4gbWF4Q3J1bWJzID8gYnJlYWRjcnVtYnMuc2xpY2UoLW1heENydW1icykgOiBicmVhZGNydW1iczsKCiAgICB0aGlzLl9ub3RpZnlTY29wZUxpc3RlbmVycygpOwoKICAgIHJldHVybiB0aGlzOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgZ2V0TGFzdEJyZWFkY3J1bWIoKSB7CiAgICByZXR1cm4gdGhpcy5fYnJlYWRjcnVtYnNbdGhpcy5fYnJlYWRjcnVtYnMubGVuZ3RoIC0gMV07CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBjbGVhckJyZWFkY3J1bWJzKCkgewogICAgdGhpcy5fYnJlYWRjcnVtYnMgPSBbXTsKICAgIHRoaXMuX25vdGlmeVNjb3BlTGlzdGVuZXJzKCk7CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgIGFkZEF0dGFjaG1lbnQoYXR0YWNobWVudCkgewogICAgdGhpcy5fYXR0YWNobWVudHMucHVzaChhdHRhY2htZW50KTsKICAgIHJldHVybiB0aGlzOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKiBAZGVwcmVjYXRlZCBVc2UgYGdldFNjb3BlRGF0YSgpYCBpbnN0ZWFkLgogICAqLwogICBnZXRBdHRhY2htZW50cygpIHsKICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdldFNjb3BlRGF0YSgpOwoKICAgIHJldHVybiBkYXRhLmF0dGFjaG1lbnRzOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgY2xlYXJBdHRhY2htZW50cygpIHsKICAgIHRoaXMuX2F0dGFjaG1lbnRzID0gW107CiAgICByZXR1cm4gdGhpczsKICB9CgogIC8qKiBAaW5oZXJpdERvYyAqLwogICBnZXRTY29wZURhdGEoKSB7CiAgICBjb25zdCB7CiAgICAgIF9icmVhZGNydW1icywKICAgICAgX2F0dGFjaG1lbnRzLAogICAgICBfY29udGV4dHMsCiAgICAgIF90YWdzLAogICAgICBfZXh0cmEsCiAgICAgIF91c2VyLAogICAgICBfbGV2ZWwsCiAgICAgIF9maW5nZXJwcmludCwKICAgICAgX2V2ZW50UHJvY2Vzc29ycywKICAgICAgX3Byb3BhZ2F0aW9uQ29udGV4dCwKICAgICAgX3Nka1Byb2Nlc3NpbmdNZXRhZGF0YSwKICAgICAgX3RyYW5zYWN0aW9uTmFtZSwKICAgICAgX3NwYW4sCiAgICB9ID0gdGhpczsKCiAgICByZXR1cm4gewogICAgICBicmVhZGNydW1iczogX2JyZWFkY3J1bWJzLAogICAgICBhdHRhY2htZW50czogX2F0dGFjaG1lbnRzLAogICAgICBjb250ZXh0czogX2NvbnRleHRzLAogICAgICB0YWdzOiBfdGFncywKICAgICAgZXh0cmE6IF9leHRyYSwKICAgICAgdXNlcjogX3VzZXIsCiAgICAgIGxldmVsOiBfbGV2ZWwsCiAgICAgIGZpbmdlcnByaW50OiBfZmluZ2VycHJpbnQgfHwgW10sCiAgICAgIGV2ZW50UHJvY2Vzc29yczogX2V2ZW50UHJvY2Vzc29ycywKICAgICAgcHJvcGFnYXRpb25Db250ZXh0OiBfcHJvcGFnYXRpb25Db250ZXh0LAogICAgICBzZGtQcm9jZXNzaW5nTWV0YWRhdGE6IF9zZGtQcm9jZXNzaW5nTWV0YWRhdGEsCiAgICAgIHRyYW5zYWN0aW9uTmFtZTogX3RyYW5zYWN0aW9uTmFtZSwKICAgICAgc3BhbjogX3NwYW4sCiAgICB9OwogIH0KCiAgLyoqCiAgICogQXBwbGllcyBkYXRhIGZyb20gdGhlIHNjb3BlIHRvIHRoZSBldmVudCBhbmQgcnVucyBhbGwgZXZlbnQgcHJvY2Vzc29ycyBvbiBpdC4KICAgKgogICAqIEBwYXJhbSBldmVudCBFdmVudAogICAqIEBwYXJhbSBoaW50IE9iamVjdCBjb250YWluaW5nIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9yaWdpbmFsIGV4Y2VwdGlvbiwgZm9yIHVzZSBieSB0aGUgZXZlbnQgcHJvY2Vzc29ycy4KICAgKiBAaGlkZGVuCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBhcHBseVNjb3BlRGF0YVRvRXZlbnQoKWAgZGlyZWN0bHkKICAgKi8KICAgYXBwbHlUb0V2ZW50KAogICAgZXZlbnQsCiAgICBoaW50ID0ge30sCiAgICBhZGRpdGlvbmFsRXZlbnRQcm9jZXNzb3JzID0gW10sCiAgKSB7CiAgICBhcHBseVNjb3BlRGF0YVRvRXZlbnQoZXZlbnQsIHRoaXMuZ2V0U2NvcGVEYXRhKCkpOwoKICAgIC8vIFRPRE8gKHY4KTogVXBkYXRlIHRoaXMgb3JkZXIgdG8gYmU6IEdsb2JhbCA+IENsaWVudCA+IFNjb3BlCiAgICBjb25zdCBldmVudFByb2Nlc3NvcnMgPSBbCiAgICAgIC4uLmFkZGl0aW9uYWxFdmVudFByb2Nlc3NvcnMsCiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgICAuLi5nZXRHbG9iYWxFdmVudFByb2Nlc3NvcnMoKSwKICAgICAgLi4udGhpcy5fZXZlbnRQcm9jZXNzb3JzLAogICAgXTsKCiAgICByZXR1cm4gbm90aWZ5RXZlbnRQcm9jZXNzb3JzKGV2ZW50UHJvY2Vzc29ycywgZXZlbnQsIGhpbnQpOwogIH0KCiAgLyoqCiAgICogQWRkIGRhdGEgd2hpY2ggd2lsbCBiZSBhY2Nlc3NpYmxlIGR1cmluZyBldmVudCBwcm9jZXNzaW5nIGJ1dCB3b24ndCBnZXQgc2VudCB0byBTZW50cnkKICAgKi8KICAgc2V0U0RLUHJvY2Vzc2luZ01ldGFkYXRhKG5ld0RhdGEpIHsKICAgIHRoaXMuX3Nka1Byb2Nlc3NpbmdNZXRhZGF0YSA9IHsgLi4udGhpcy5fc2RrUHJvY2Vzc2luZ01ldGFkYXRhLCAuLi5uZXdEYXRhIH07CgogICAgcmV0dXJuIHRoaXM7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqLwogICBzZXRQcm9wYWdhdGlvbkNvbnRleHQoY29udGV4dCkgewogICAgdGhpcy5fcHJvcGFnYXRpb25Db250ZXh0ID0gY29udGV4dDsKICAgIHJldHVybiB0aGlzOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKi8KICAgZ2V0UHJvcGFnYXRpb25Db250ZXh0KCkgewogICAgcmV0dXJuIHRoaXMuX3Byb3BhZ2F0aW9uQ29udGV4dDsKICB9CgogIC8qKgogICAqIENhcHR1cmUgYW4gZXhjZXB0aW9uIGZvciB0aGlzIHNjb3BlLgogICAqCiAgICogQHBhcmFtIGV4Y2VwdGlvbiBUaGUgZXhjZXB0aW9uIHRvIGNhcHR1cmUuCiAgICogQHBhcmFtIGhpbnQgT3B0aW5hbCBhZGRpdGlvbmFsIGRhdGEgdG8gYXR0YWNoIHRvIHRoZSBTZW50cnkgZXZlbnQuCiAgICogQHJldHVybnMgdGhlIGlkIG9mIHRoZSBjYXB0dXJlZCBTZW50cnkgZXZlbnQuCiAgICovCiAgIGNhcHR1cmVFeGNlcHRpb24oZXhjZXB0aW9uLCBoaW50KSB7CiAgICBjb25zdCBldmVudElkID0gaGludCAmJiBoaW50LmV2ZW50X2lkID8gaGludC5ldmVudF9pZCA6IHV1aWQ0KCk7CgogICAgaWYgKCF0aGlzLl9jbGllbnQpIHsKICAgICAgbG9nZ2VyLndhcm4oJ05vIGNsaWVudCBjb25maWd1cmVkIG9uIHNjb3BlIC0gd2lsbCBub3QgY2FwdHVyZSBleGNlcHRpb24hJyk7CiAgICAgIHJldHVybiBldmVudElkOwogICAgfQoKICAgIGNvbnN0IHN5bnRoZXRpY0V4Y2VwdGlvbiA9IG5ldyBFcnJvcignU2VudHJ5IHN5bnRoZXRpY0V4Y2VwdGlvbicpOwoKICAgIHRoaXMuX2NsaWVudC5jYXB0dXJlRXhjZXB0aW9uKAogICAgICBleGNlcHRpb24sCiAgICAgIHsKICAgICAgICBvcmlnaW5hbEV4Y2VwdGlvbjogZXhjZXB0aW9uLAogICAgICAgIHN5bnRoZXRpY0V4Y2VwdGlvbiwKICAgICAgICAuLi5oaW50LAogICAgICAgIGV2ZW50X2lkOiBldmVudElkLAogICAgICB9LAogICAgICB0aGlzLAogICAgKTsKCiAgICByZXR1cm4gZXZlbnRJZDsKICB9CgogIC8qKgogICAqIENhcHR1cmUgYSBtZXNzYWdlIGZvciB0aGlzIHNjb3BlLgogICAqCiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gY2FwdHVyZS4KICAgKiBAcGFyYW0gbGV2ZWwgQW4gb3B0aW9uYWwgc2V2ZXJpdHkgbGV2ZWwgdG8gcmVwb3J0IHRoZSBtZXNzYWdlIHdpdGguCiAgICogQHBhcmFtIGhpbnQgT3B0aW9uYWwgYWRkaXRpb25hbCBkYXRhIHRvIGF0dGFjaCB0byB0aGUgU2VudHJ5IGV2ZW50LgogICAqIEByZXR1cm5zIHRoZSBpZCBvZiB0aGUgY2FwdHVyZWQgbWVzc2FnZS4KICAgKi8KICAgY2FwdHVyZU1lc3NhZ2UobWVzc2FnZSwgbGV2ZWwsIGhpbnQpIHsKICAgIGNvbnN0IGV2ZW50SWQgPSBoaW50ICYmIGhpbnQuZXZlbnRfaWQgPyBoaW50LmV2ZW50X2lkIDogdXVpZDQoKTsKCiAgICBpZiAoIXRoaXMuX2NsaWVudCkgewogICAgICBsb2dnZXIud2FybignTm8gY2xpZW50IGNvbmZpZ3VyZWQgb24gc2NvcGUgLSB3aWxsIG5vdCBjYXB0dXJlIG1lc3NhZ2UhJyk7CiAgICAgIHJldHVybiBldmVudElkOwogICAgfQoKICAgIGNvbnN0IHN5bnRoZXRpY0V4Y2VwdGlvbiA9IG5ldyBFcnJvcihtZXNzYWdlKTsKCiAgICB0aGlzLl9jbGllbnQuY2FwdHVyZU1lc3NhZ2UoCiAgICAgIG1lc3NhZ2UsCiAgICAgIGxldmVsLAogICAgICB7CiAgICAgICAgb3JpZ2luYWxFeGNlcHRpb246IG1lc3NhZ2UsCiAgICAgICAgc3ludGhldGljRXhjZXB0aW9uLAogICAgICAgIC4uLmhpbnQsCiAgICAgICAgZXZlbnRfaWQ6IGV2ZW50SWQsCiAgICAgIH0sCiAgICAgIHRoaXMsCiAgICApOwoKICAgIHJldHVybiBldmVudElkOwogIH0KCiAgLyoqCiAgICogQ2FwdHVyZXMgYSBtYW51YWxseSBjcmVhdGVkIGV2ZW50IGZvciB0aGlzIHNjb3BlIGFuZCBzZW5kcyBpdCB0byBTZW50cnkuCiAgICoKICAgKiBAcGFyYW0gZXhjZXB0aW9uIFRoZSBldmVudCB0byBjYXB0dXJlLgogICAqIEBwYXJhbSBoaW50IE9wdGlvbmFsIGFkZGl0aW9uYWwgZGF0YSB0byBhdHRhY2ggdG8gdGhlIFNlbnRyeSBldmVudC4KICAgKiBAcmV0dXJucyB0aGUgaWQgb2YgdGhlIGNhcHR1cmVkIGV2ZW50LgogICAqLwogICBjYXB0dXJlRXZlbnQoZXZlbnQsIGhpbnQpIHsKICAgIGNvbnN0IGV2ZW50SWQgPSBoaW50ICYmIGhpbnQuZXZlbnRfaWQgPyBoaW50LmV2ZW50X2lkIDogdXVpZDQoKTsKCiAgICBpZiAoIXRoaXMuX2NsaWVudCkgewogICAgICBsb2dnZXIud2FybignTm8gY2xpZW50IGNvbmZpZ3VyZWQgb24gc2NvcGUgLSB3aWxsIG5vdCBjYXB0dXJlIGV2ZW50IScpOwogICAgICByZXR1cm4gZXZlbnRJZDsKICAgIH0KCiAgICB0aGlzLl9jbGllbnQuY2FwdHVyZUV2ZW50KGV2ZW50LCB7IC4uLmhpbnQsIGV2ZW50X2lkOiBldmVudElkIH0sIHRoaXMpOwoKICAgIHJldHVybiBldmVudElkOwogIH0KCiAgLyoqCiAgICogVGhpcyB3aWxsIGJlIGNhbGxlZCBvbiBldmVyeSBzZXQgY2FsbC4KICAgKi8KICAgX25vdGlmeVNjb3BlTGlzdGVuZXJzKCkgewogICAgLy8gV2UgbmVlZCB0aGlzIGNoZWNrIGZvciB0aGlzLl9ub3RpZnlpbmdMaXN0ZW5lcnMgdG8gYmUgYWJsZSB0byB3b3JrIG9uIHNjb3BlIGR1cmluZyB1cGRhdGVzCiAgICAvLyBJZiB0aGlzIGNoZWNrIGlzIG5vdCBoZXJlIHdlJ2xsIHByb2R1Y2UgZW5kbGVzcyByZWN1cnNpb24gd2hlbiBzb21ldGhpbmcgaXMgZG9uZSB3aXRoIHRoZSBzY29wZQogICAgLy8gZHVyaW5nIHRoZSBjYWxsYmFjay4KICAgIGlmICghdGhpcy5fbm90aWZ5aW5nTGlzdGVuZXJzKSB7CiAgICAgIHRoaXMuX25vdGlmeWluZ0xpc3RlbmVycyA9IHRydWU7CiAgICAgIHRoaXMuX3Njb3BlTGlzdGVuZXJzLmZvckVhY2goY2FsbGJhY2sgPT4gewogICAgICAgIGNhbGxiYWNrKHRoaXMpOwogICAgICB9KTsKICAgICAgdGhpcy5fbm90aWZ5aW5nTGlzdGVuZXJzID0gZmFsc2U7CiAgICB9CiAgfQp9CgpmdW5jdGlvbiBnZW5lcmF0ZVByb3BhZ2F0aW9uQ29udGV4dCgpIHsKICByZXR1cm4gewogICAgdHJhY2VJZDogdXVpZDQoKSwKICAgIHNwYW5JZDogdXVpZDQoKS5zdWJzdHJpbmcoMTYpLAogIH07Cn0KCmNvbnN0IFNES19WRVJTSU9OID0gJzcuMTIwLjMnOwoKLyoqCiAqIEFQSSBjb21wYXRpYmlsaXR5IHZlcnNpb24gb2YgdGhpcyBodWIuCiAqCiAqIFdBUk5JTkc6IFRoaXMgbnVtYmVyIHNob3VsZCBvbmx5IGJlIGluY3JlYXNlZCB3aGVuIHRoZSBnbG9iYWwgaW50ZXJmYWNlCiAqIGNoYW5nZXMgYW5kIG5ldyBtZXRob2RzIGFyZSBpbnRyb2R1Y2VkLgogKgogKiBAaGlkZGVuCiAqLwpjb25zdCBBUElfVkVSU0lPTiA9IHBhcnNlRmxvYXQoU0RLX1ZFUlNJT04pOwoKLyoqCiAqIERlZmF1bHQgbWF4aW11bSBudW1iZXIgb2YgYnJlYWRjcnVtYnMgYWRkZWQgdG8gYW4gZXZlbnQuIENhbiBiZSBvdmVyd3JpdHRlbgogKiB3aXRoIHtAbGluayBPcHRpb25zLm1heEJyZWFkY3J1bWJzfS4KICovCmNvbnN0IERFRkFVTFRfQlJFQURDUlVNQlMgPSAxMDA7CgovKioKICogQGRlcHJlY2F0ZWQgVGhlIGBIdWJgIGNsYXNzIHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDggb2YgdGhlIFNESyBpbiBmYXZvdXIgb2YgYFNjb3BlYCBhbmQgYENsaWVudGAgb2JqZWN0cy4KICoKICogSWYgeW91IHByZXZpb3VzbHkgdXNlZCB0aGUgYEh1YmAgY2xhc3MgZGlyZWN0bHksIHJlcGxhY2UgaXQgd2l0aCBgU2NvcGVgIGFuZCBgQ2xpZW50YCBvYmplY3RzLiBNb3JlIGluZm9ybWF0aW9uOgogKiAtIFtNdWx0aXBsZSBTZW50cnkgSW5zdGFuY2VzXShodHRwczovL2RvY3Muc2VudHJ5LmlvL3BsYXRmb3Jtcy9qYXZhc2NyaXB0L2Jlc3QtcHJhY3RpY2VzL211bHRpcGxlLXNlbnRyeS1pbnN0YW5jZXMvKQogKiAtIFtCcm93c2VyIEV4dGVuc2lvbnNdKGh0dHBzOi8vZG9jcy5zZW50cnkuaW8vcGxhdGZvcm1zL2phdmFzY3JpcHQvYmVzdC1wcmFjdGljZXMvYnJvd3Nlci1leHRlbnNpb25zLykKICoKICogU29tZSBvZiBvdXIgQVBJcyBhcmUgdHlwZWQgd2l0aCB0aGUgSHViIGNsYXNzIGluc3RlYWQgb2YgdGhlIGludGVyZmFjZSAoZS5nLiBgZ2V0Q3VycmVudEh1YmApLiBNb3N0IG9mIHRoZW0gYXJlIGRlcHJlY2F0ZWQKICogdGhlbXNlbHZlcyBhbmQgd2lsbCBhbHNvIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA4LiBNb3JlIGluZm9ybWF0aW9uOgogKiAtIFtNaWdyYXRpb24gR3VpZGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9nZXRzZW50cnkvc2VudHJ5LWphdmFzY3JpcHQvYmxvYi9kZXZlbG9wL01JR1JBVElPTi5tZCNkZXByZWNhdGUtaHViKQogKi8KLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCmNsYXNzIEh1YiAgewogIC8qKiBJcyBhIHtAbGluayBMYXllcn1bXSBjb250YWluaW5nIHRoZSBjbGllbnQgYW5kIHNjb3BlICovCgogIC8qKiBDb250YWlucyB0aGUgbGFzdCBldmVudCBpZCBvZiBhIGNhcHR1cmVkIGV2ZW50LiAgKi8KCiAgLyoqCiAgICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgaHViLCB3aWxsIHB1c2ggb25lIHtAbGluayBMYXllcn0gaW50byB0aGUKICAgKiBpbnRlcm5hbCBzdGFjayBvbiBjcmVhdGlvbi4KICAgKgogICAqIEBwYXJhbSBjbGllbnQgYm91bmQgdG8gdGhlIGh1Yi4KICAgKiBAcGFyYW0gc2NvcGUgYm91bmQgdG8gdGhlIGh1Yi4KICAgKiBAcGFyYW0gdmVyc2lvbiBudW1iZXIsIGhpZ2hlciBudW1iZXIgbWVhbnMgaGlnaGVyIHByaW9yaXR5LgogICAqCiAgICogQGRlcHJlY2F0ZWQgSW5zdGFudGlhdGlvbiBvZiBIdWIgb2JqZWN0cyBpcyBkZXByZWNhdGVkIGFuZCB0aGUgY29uc3RydWN0b3Igd2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24gOCBvZiB0aGUgU0RLLgogICAqCiAgICogSWYgeW91IGFyZSBjdXJyZW50bHkgdXNpbmcgdGhlIEh1YiBmb3IgbXVsdGktY2xpZW50IHVzZSBsaWtlIHNvOgogICAqCiAgICogYGBgCiAgICogLy8gT0xECiAgICogY29uc3QgaHViID0gbmV3IEh1YigpOwogICAqIGh1Yi5iaW5kQ2xpZW50KGNsaWVudCk7CiAgICogbWFrZU1haW4oaHViKQogICAqIGBgYAogICAqCiAgICogaW5zdGVhZCBpbml0aWFsaXplIHRoZSBjbGllbnQgYXMgZm9sbG93czoKICAgKgogICAqIGBgYAogICAqIC8vIE5FVwogICAqIFNlbnRyeS53aXRoSXNvbGF0aW9uU2NvcGUoKCkgPT4gewogICAqICAgIFNlbnRyeS5zZXRDdXJyZW50Q2xpZW50KGNsaWVudCk7CiAgICogICAgY2xpZW50LmluaXQoKTsKICAgKiB9KTsKICAgKiBgYGAKICAgKgogICAqIElmIHlvdSBhcmUgdXNpbmcgdGhlIEh1YiB0byBjYXB0dXJlIGV2ZW50cyBsaWtlIHNvOgogICAqCiAgICogYGBgCiAgICogLy8gT0xECiAgICogY29uc3QgY2xpZW50ID0gbmV3IENsaWVudCgpOwogICAqIGNvbnN0IGh1YiA9IG5ldyBIdWIoY2xpZW50KTsKICAgKiBodWIuY2FwdHVyZUV4Y2VwdGlvbigpCiAgICogYGBgCiAgICoKICAgKiBpbnN0ZWFkIGNhcHR1cmUgaXNvbGF0ZWQgZXZlbnRzIGFzIGZvbGxvd3M6CiAgICoKICAgKiBgYGAKICAgKiAvLyBORVcKICAgKiBjb25zdCBjbGllbnQgPSBuZXcgQ2xpZW50KCk7CiAgICogY29uc3Qgc2NvcGUgPSBuZXcgU2NvcGUoKTsKICAgKiBzY29wZS5zZXRDbGllbnQoY2xpZW50KTsKICAgKiBzY29wZS5jYXB0dXJlRXhjZXB0aW9uKCk7CiAgICogYGBgCiAgICovCiAgIGNvbnN0cnVjdG9yKAogICAgY2xpZW50LAogICAgc2NvcGUsCiAgICBpc29sYXRpb25TY29wZSwKICAgICAgX3ZlcnNpb24gPSBBUElfVkVSU0lPTiwKICApIHt0aGlzLl92ZXJzaW9uID0gX3ZlcnNpb247CiAgICBsZXQgYXNzaWduZWRTY29wZTsKICAgIGlmICghc2NvcGUpIHsKICAgICAgYXNzaWduZWRTY29wZSA9IG5ldyBTY29wZSgpOwogICAgICBhc3NpZ25lZFNjb3BlLnNldENsaWVudChjbGllbnQpOwogICAgfSBlbHNlIHsKICAgICAgYXNzaWduZWRTY29wZSA9IHNjb3BlOwogICAgfQoKICAgIGxldCBhc3NpZ25lZElzb2xhdGlvblNjb3BlOwogICAgaWYgKCFpc29sYXRpb25TY29wZSkgewogICAgICBhc3NpZ25lZElzb2xhdGlvblNjb3BlID0gbmV3IFNjb3BlKCk7CiAgICAgIGFzc2lnbmVkSXNvbGF0aW9uU2NvcGUuc2V0Q2xpZW50KGNsaWVudCk7CiAgICB9IGVsc2UgewogICAgICBhc3NpZ25lZElzb2xhdGlvblNjb3BlID0gaXNvbGF0aW9uU2NvcGU7CiAgICB9CgogICAgdGhpcy5fc3RhY2sgPSBbeyBzY29wZTogYXNzaWduZWRTY29wZSB9XTsKCiAgICBpZiAoY2xpZW50KSB7CiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgICB0aGlzLmJpbmRDbGllbnQoY2xpZW50KTsKICAgIH0KCiAgICB0aGlzLl9pc29sYXRpb25TY29wZSA9IGFzc2lnbmVkSXNvbGF0aW9uU2NvcGU7CiAgfQoKICAvKioKICAgKiBDaGVja3MgaWYgdGhpcyBodWIncyB2ZXJzaW9uIGlzIG9sZGVyIHRoYW4gdGhlIGdpdmVuIHZlcnNpb24uCiAgICoKICAgKiBAcGFyYW0gdmVyc2lvbiBBIHZlcnNpb24gbnVtYmVyIHRvIGNvbXBhcmUgdG8uCiAgICogQHJldHVybiBUcnVlIGlmIHRoZSBnaXZlbiB2ZXJzaW9uIGlzIG5ld2VyOyBvdGhlcndpc2UgZmFsc2UuCiAgICoKICAgKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4KICAgKi8KICAgaXNPbGRlclRoYW4odmVyc2lvbikgewogICAgcmV0dXJuIHRoaXMuX3ZlcnNpb24gPCB2ZXJzaW9uOwogIH0KCiAgLyoqCiAgICogVGhpcyBiaW5kcyB0aGUgZ2l2ZW4gY2xpZW50IHRvIHRoZSBjdXJyZW50IHNjb3BlLgogICAqIEBwYXJhbSBjbGllbnQgQW4gU0RLIGNsaWVudCAoY2xpZW50KSBpbnN0YW5jZS4KICAgKgogICAqIEBkZXByZWNhdGVkIFVzZSBgaW5pdEFuZEJpbmQoKWAgZGlyZWN0bHksIG9yIGBzZXRDdXJyZW50Q2xpZW50KClgIGFuZC9vciBgY2xpZW50LmluaXQoKWAgaW5zdGVhZC4KICAgKi8KICAgYmluZENsaWVudChjbGllbnQpIHsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgY29uc3QgdG9wID0gdGhpcy5nZXRTdGFja1RvcCgpOwogICAgdG9wLmNsaWVudCA9IGNsaWVudDsKICAgIHRvcC5zY29wZS5zZXRDbGllbnQoY2xpZW50KTsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgaWYgKGNsaWVudCAmJiBjbGllbnQuc2V0dXBJbnRlZ3JhdGlvbnMpIHsKICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICAgIGNsaWVudC5zZXR1cEludGVncmF0aW9ucygpOwogICAgfQogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKgogICAqIEBkZXByZWNhdGVkIFVzZSBgd2l0aFNjb3BlYCBpbnN0ZWFkLgogICAqLwogICBwdXNoU2NvcGUoKSB7CiAgICAvLyBXZSB3YW50IHRvIGNsb25lIHRoZSBjb250ZW50IG9mIHByZXYgc2NvcGUKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgY29uc3Qgc2NvcGUgPSB0aGlzLmdldFNjb3BlKCkuY2xvbmUoKTsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5nZXRTdGFjaygpLnB1c2goewogICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgICAgY2xpZW50OiB0aGlzLmdldENsaWVudCgpLAogICAgICBzY29wZSwKICAgIH0pOwogICAgcmV0dXJuIHNjb3BlOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKgogICAqIEBkZXByZWNhdGVkIFVzZSBgd2l0aFNjb3BlYCBpbnN0ZWFkLgogICAqLwogICBwb3BTY29wZSgpIHsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgaWYgKHRoaXMuZ2V0U3RhY2soKS5sZW5ndGggPD0gMSkgcmV0dXJuIGZhbHNlOwogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICByZXR1cm4gISF0aGlzLmdldFN0YWNrKCkucG9wKCk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBTZW50cnkud2l0aFNjb3BlKClgIGluc3RlYWQuCiAgICovCiAgIHdpdGhTY29wZShjYWxsYmFjaykgewogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICBjb25zdCBzY29wZSA9IHRoaXMucHVzaFNjb3BlKCk7CgogICAgbGV0IG1heWJlUHJvbWlzZVJlc3VsdDsKICAgIHRyeSB7CiAgICAgIG1heWJlUHJvbWlzZVJlc3VsdCA9IGNhbGxiYWNrKHNjb3BlKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICAgIHRoaXMucG9wU2NvcGUoKTsKICAgICAgdGhyb3cgZTsKICAgIH0KCiAgICBpZiAoaXNUaGVuYWJsZShtYXliZVByb21pc2VSZXN1bHQpKSB7CiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBpc1RoZW5hYmxlIHJldHVybnMgdGhlIHdyb25nIHR5cGUKICAgICAgcmV0dXJuIG1heWJlUHJvbWlzZVJlc3VsdC50aGVuKAogICAgICAgIHJlcyA9PiB7CiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgICAgICAgIHRoaXMucG9wU2NvcGUoKTsKICAgICAgICAgIHJldHVybiByZXM7CiAgICAgICAgfSwKICAgICAgICBlID0+IHsKICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgICAgICAgdGhpcy5wb3BTY29wZSgpOwogICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9LAogICAgICApOwogICAgfQoKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5wb3BTY29wZSgpOwogICAgcmV0dXJuIG1heWJlUHJvbWlzZVJlc3VsdDsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICoKICAgKiBAZGVwcmVjYXRlZCBVc2UgYFNlbnRyeS5nZXRDbGllbnQoKWAgaW5zdGVhZC4KICAgKi8KICAgZ2V0Q2xpZW50KCkgewogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICByZXR1cm4gdGhpcy5nZXRTdGFja1RvcCgpLmNsaWVudCA7CiAgfQoKICAvKioKICAgKiBSZXR1cm5zIHRoZSBzY29wZSBvZiB0aGUgdG9wIHN0YWNrLgogICAqCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBTZW50cnkuZ2V0Q3VycmVudFNjb3BlKClgIGluc3RlYWQuCiAgICovCiAgIGdldFNjb3BlKCkgewogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICByZXR1cm4gdGhpcy5nZXRTdGFja1RvcCgpLnNjb3BlOwogIH0KCiAgLyoqCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBTZW50cnkuZ2V0SXNvbGF0aW9uU2NvcGUoKWAgaW5zdGVhZC4KICAgKi8KICAgZ2V0SXNvbGF0aW9uU2NvcGUoKSB7CiAgICByZXR1cm4gdGhpcy5faXNvbGF0aW9uU2NvcGU7CiAgfQoKICAvKioKICAgKiBSZXR1cm5zIHRoZSBzY29wZSBzdGFjayBmb3IgZG9tYWlucyBvciB0aGUgcHJvY2Vzcy4KICAgKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4KICAgKi8KICAgZ2V0U3RhY2soKSB7CiAgICByZXR1cm4gdGhpcy5fc3RhY2s7CiAgfQoKICAvKioKICAgKiBSZXR1cm5zIHRoZSB0b3Btb3N0IHNjb3BlIGxheWVyIGluIHRoZSBvcmRlciBkb21haW4gPiBsb2NhbCA+IHByb2Nlc3MuCiAgICogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gdjguCiAgICovCiAgIGdldFN0YWNrVG9wKCkgewogICAgcmV0dXJuIHRoaXMuX3N0YWNrW3RoaXMuX3N0YWNrLmxlbmd0aCAtIDFdOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKgogICAqIEBkZXByZWNhdGVkIFVzZSBgU2VudHJ5LmNhcHR1cmVFeGNlcHRpb24oKWAgaW5zdGVhZC4KICAgKi8KICAgY2FwdHVyZUV4Y2VwdGlvbihleGNlcHRpb24sIGhpbnQpIHsKICAgIGNvbnN0IGV2ZW50SWQgPSAodGhpcy5fbGFzdEV2ZW50SWQgPSBoaW50ICYmIGhpbnQuZXZlbnRfaWQgPyBoaW50LmV2ZW50X2lkIDogdXVpZDQoKSk7CiAgICBjb25zdCBzeW50aGV0aWNFeGNlcHRpb24gPSBuZXcgRXJyb3IoJ1NlbnRyeSBzeW50aGV0aWNFeGNlcHRpb24nKTsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5nZXRTY29wZSgpLmNhcHR1cmVFeGNlcHRpb24oZXhjZXB0aW9uLCB7CiAgICAgIG9yaWdpbmFsRXhjZXB0aW9uOiBleGNlcHRpb24sCiAgICAgIHN5bnRoZXRpY0V4Y2VwdGlvbiwKICAgICAgLi4uaGludCwKICAgICAgZXZlbnRfaWQ6IGV2ZW50SWQsCiAgICB9KTsKCiAgICByZXR1cm4gZXZlbnRJZDsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICoKICAgKiBAZGVwcmVjYXRlZCBVc2UgIGBTZW50cnkuY2FwdHVyZU1lc3NhZ2UoKWAgaW5zdGVhZC4KICAgKi8KICAgY2FwdHVyZU1lc3NhZ2UoCiAgICBtZXNzYWdlLAogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICBsZXZlbCwKICAgIGhpbnQsCiAgKSB7CiAgICBjb25zdCBldmVudElkID0gKHRoaXMuX2xhc3RFdmVudElkID0gaGludCAmJiBoaW50LmV2ZW50X2lkID8gaGludC5ldmVudF9pZCA6IHV1aWQ0KCkpOwogICAgY29uc3Qgc3ludGhldGljRXhjZXB0aW9uID0gbmV3IEVycm9yKG1lc3NhZ2UpOwogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICB0aGlzLmdldFNjb3BlKCkuY2FwdHVyZU1lc3NhZ2UobWVzc2FnZSwgbGV2ZWwsIHsKICAgICAgb3JpZ2luYWxFeGNlcHRpb246IG1lc3NhZ2UsCiAgICAgIHN5bnRoZXRpY0V4Y2VwdGlvbiwKICAgICAgLi4uaGludCwKICAgICAgZXZlbnRfaWQ6IGV2ZW50SWQsCiAgICB9KTsKCiAgICByZXR1cm4gZXZlbnRJZDsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICoKICAgKiBAZGVwcmVjYXRlZCBVc2UgYFNlbnRyeS5jYXB0dXJlRXZlbnQoKWAgaW5zdGVhZC4KICAgKi8KICAgY2FwdHVyZUV2ZW50KGV2ZW50LCBoaW50KSB7CiAgICBjb25zdCBldmVudElkID0gaGludCAmJiBoaW50LmV2ZW50X2lkID8gaGludC5ldmVudF9pZCA6IHV1aWQ0KCk7CiAgICBpZiAoIWV2ZW50LnR5cGUpIHsKICAgICAgdGhpcy5fbGFzdEV2ZW50SWQgPSBldmVudElkOwogICAgfQogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICB0aGlzLmdldFNjb3BlKCkuY2FwdHVyZUV2ZW50KGV2ZW50LCB7IC4uLmhpbnQsIGV2ZW50X2lkOiBldmVudElkIH0pOwogICAgcmV0dXJuIGV2ZW50SWQ7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqCiAgICogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gdjguCiAgICovCiAgIGxhc3RFdmVudElkKCkgewogICAgcmV0dXJuIHRoaXMuX2xhc3RFdmVudElkOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKgogICAqIEBkZXByZWNhdGVkIFVzZSBgU2VudHJ5LmFkZEJyZWFkY3J1bWIoKWAgaW5zdGVhZC4KICAgKi8KICAgYWRkQnJlYWRjcnVtYihicmVhZGNydW1iLCBoaW50KSB7CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIGNvbnN0IHsgc2NvcGUsIGNsaWVudCB9ID0gdGhpcy5nZXRTdGFja1RvcCgpOwoKICAgIGlmICghY2xpZW50KSByZXR1cm47CgogICAgY29uc3QgeyBiZWZvcmVCcmVhZGNydW1iID0gbnVsbCwgbWF4QnJlYWRjcnVtYnMgPSBERUZBVUxUX0JSRUFEQ1JVTUJTIH0gPQogICAgICAoY2xpZW50LmdldE9wdGlvbnMgJiYgY2xpZW50LmdldE9wdGlvbnMoKSkgfHwge307CgogICAgaWYgKG1heEJyZWFkY3J1bWJzIDw9IDApIHJldHVybjsKCiAgICBjb25zdCB0aW1lc3RhbXAgPSBkYXRlVGltZXN0YW1wSW5TZWNvbmRzKCk7CiAgICBjb25zdCBtZXJnZWRCcmVhZGNydW1iID0geyB0aW1lc3RhbXAsIC4uLmJyZWFkY3J1bWIgfTsKICAgIGNvbnN0IGZpbmFsQnJlYWRjcnVtYiA9IGJlZm9yZUJyZWFkY3J1bWIKICAgICAgPyAoY29uc29sZVNhbmRib3goKCkgPT4gYmVmb3JlQnJlYWRjcnVtYihtZXJnZWRCcmVhZGNydW1iLCBoaW50KSkgKQogICAgICA6IG1lcmdlZEJyZWFkY3J1bWI7CgogICAgaWYgKGZpbmFsQnJlYWRjcnVtYiA9PT0gbnVsbCkgcmV0dXJuOwoKICAgIGlmIChjbGllbnQuZW1pdCkgewogICAgICBjbGllbnQuZW1pdCgnYmVmb3JlQWRkQnJlYWRjcnVtYicsIGZpbmFsQnJlYWRjcnVtYiwgaGludCk7CiAgICB9CgogICAgLy8gVE9ETyh2OCk6IEkga25vdyB0aGlzIGNvbW1lbnQgZG9lc24ndCBtYWtlIG11Y2ggc2Vuc2UgYmVjYXVzZSB0aGUgaHViIHdpbGwgYmUgZGVwcmVjYXRlZCBidXQgSSBzdGlsbCB3YW50ZWQgdG8KICAgIC8vIHdyaXRlIGl0IGRvd24uIEluIHRoZW9yeSwgd2Ugd291bGQgaGF2ZSB0byBhZGQgdGhlIGJyZWFkY3J1bWJzIHRvIHRoZSBpc29sYXRpb24gc2NvcGUgaGVyZSwgaG93ZXZlciwgdGhhdCB3b3VsZAogICAgLy8gZHVwbGljYXRlIGFsbCBvZiB0aGUgYnJlYWRjcnVtYnMuIFRoZXJlIHdhcyB0aGUgcG9zc2liaWxpdHkgb2YgYWRkaW5nIGJyZWFkY3J1bWJzIHRvIGJvdGgsIHRoZSBpc29sYXRpb24gc2NvcGUKICAgIC8vIGFuZCB0aGUgbm9ybWFsIHNjb3BlLCBhbmQgZGVkdXBsaWNhdGluZyBpdCBkb3duIHRoZSBsaW5lIGluIHRoZSBldmVudCBwcm9jZXNzaW5nIHBpcGVsaW5lLiBIb3dldmVyLCB0aGF0IHdvdWxkCiAgICAvLyBoYXZlIGJlZW4gdmVyeSBmcmFnaWxlLCBiZWNhdXNlIHRoZSBicmVhZGNydW1iIG9iamVjdHMgd291bGQgaGF2ZSBuZWVkZWQgdG8ga2VlcCB0aGVpciBpZGVudGl0eSBhbGwgdGhyb3VnaG91dAogICAgLy8gdGhlIGV2ZW50IHByb2Nlc3NpbmcgcGlwZWxpbmUuCiAgICAvLyBJbiB0aGUgbmV3IGltcGxlbWVudGF0aW9uLCB0aGUgdG9wIGxldmVsIGBTZW50cnkuYWRkQnJlYWRjcnVtYigpYCBzaG91bGQgT05MWSB3cml0ZSB0byB0aGUgaXNvbGF0aW9uIHNjb3BlLgoKICAgIHNjb3BlLmFkZEJyZWFkY3J1bWIoZmluYWxCcmVhZGNydW1iLCBtYXhCcmVhZGNydW1icyk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqIEBkZXByZWNhdGVkIFVzZSBgU2VudHJ5LnNldFVzZXIoKWAgaW5zdGVhZC4KICAgKi8KICAgc2V0VXNlcih1c2VyKSB7CiAgICAvLyBUT0RPKHY4KTogVGhlIHRvcCBsZXZlbCBgU2VudHJ5LnNldFVzZXIoKWAgZnVuY3Rpb24gc2hvdWxkIHdyaXRlIE9OTFkgdG8gdGhlIGlzb2xhdGlvbiBzY29wZS4KICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5nZXRTY29wZSgpLnNldFVzZXIodXNlcik7CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIHRoaXMuZ2V0SXNvbGF0aW9uU2NvcGUoKS5zZXRVc2VyKHVzZXIpOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKiBAZGVwcmVjYXRlZCBVc2UgYFNlbnRyeS5zZXRUYWdzKClgIGluc3RlYWQuCiAgICovCiAgIHNldFRhZ3ModGFncykgewogICAgLy8gVE9ETyh2OCk6IFRoZSB0b3AgbGV2ZWwgYFNlbnRyeS5zZXRUYWdzKClgIGZ1bmN0aW9uIHNob3VsZCB3cml0ZSBPTkxZIHRvIHRoZSBpc29sYXRpb24gc2NvcGUuCiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIHRoaXMuZ2V0U2NvcGUoKS5zZXRUYWdzKHRhZ3MpOwogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICB0aGlzLmdldElzb2xhdGlvblNjb3BlKCkuc2V0VGFncyh0YWdzKTsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBTZW50cnkuc2V0RXh0cmFzKClgIGluc3RlYWQuCiAgICovCiAgIHNldEV4dHJhcyhleHRyYXMpIHsKICAgIC8vIFRPRE8odjgpOiBUaGUgdG9wIGxldmVsIGBTZW50cnkuc2V0RXh0cmFzKClgIGZ1bmN0aW9uIHNob3VsZCB3cml0ZSBPTkxZIHRvIHRoZSBpc29sYXRpb24gc2NvcGUuCiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIHRoaXMuZ2V0U2NvcGUoKS5zZXRFeHRyYXMoZXh0cmFzKTsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5nZXRJc29sYXRpb25TY29wZSgpLnNldEV4dHJhcyhleHRyYXMpOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKiBAZGVwcmVjYXRlZCBVc2UgYFNlbnRyeS5zZXRUYWcoKWAgaW5zdGVhZC4KICAgKi8KICAgc2V0VGFnKGtleSwgdmFsdWUpIHsKICAgIC8vIFRPRE8odjgpOiBUaGUgdG9wIGxldmVsIGBTZW50cnkuc2V0VGFnKClgIGZ1bmN0aW9uIHNob3VsZCB3cml0ZSBPTkxZIHRvIHRoZSBpc29sYXRpb24gc2NvcGUuCiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIHRoaXMuZ2V0U2NvcGUoKS5zZXRUYWcoa2V5LCB2YWx1ZSk7CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIHRoaXMuZ2V0SXNvbGF0aW9uU2NvcGUoKS5zZXRUYWcoa2V5LCB2YWx1ZSk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqIEBkZXByZWNhdGVkIFVzZSBgU2VudHJ5LnNldEV4dHJhKClgIGluc3RlYWQuCiAgICovCiAgIHNldEV4dHJhKGtleSwgZXh0cmEpIHsKICAgIC8vIFRPRE8odjgpOiBUaGUgdG9wIGxldmVsIGBTZW50cnkuc2V0RXh0cmEoKWAgZnVuY3Rpb24gc2hvdWxkIHdyaXRlIE9OTFkgdG8gdGhlIGlzb2xhdGlvbiBzY29wZS4KICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5nZXRTY29wZSgpLnNldEV4dHJhKGtleSwgZXh0cmEpOwogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICB0aGlzLmdldElzb2xhdGlvblNjb3BlKCkuc2V0RXh0cmEoa2V5LCBleHRyYSk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqIEBkZXByZWNhdGVkIFVzZSBgU2VudHJ5LnNldENvbnRleHQoKWAgaW5zdGVhZC4KICAgKi8KICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueQogICBzZXRDb250ZXh0KG5hbWUsIGNvbnRleHQpIHsKICAgIC8vIFRPRE8odjgpOiBUaGUgdG9wIGxldmVsIGBTZW50cnkuc2V0Q29udGV4dCgpYCBmdW5jdGlvbiBzaG91bGQgd3JpdGUgT05MWSB0byB0aGUgaXNvbGF0aW9uIHNjb3BlLgogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICB0aGlzLmdldFNjb3BlKCkuc2V0Q29udGV4dChuYW1lLCBjb250ZXh0KTsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5nZXRJc29sYXRpb25TY29wZSgpLnNldENvbnRleHQobmFtZSwgY29udGV4dCk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBnZXRTY29wZSgpYCBkaXJlY3RseS4KICAgKi8KICAgY29uZmlndXJlU2NvcGUoY2FsbGJhY2spIHsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgY29uc3QgeyBzY29wZSwgY2xpZW50IH0gPSB0aGlzLmdldFN0YWNrVG9wKCk7CiAgICBpZiAoY2xpZW50KSB7CiAgICAgIGNhbGxiYWNrKHNjb3BlKTsKICAgIH0KICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICovCiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgIHJ1bihjYWxsYmFjaykgewogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICBjb25zdCBvbGRIdWIgPSBtYWtlTWFpbih0aGlzKTsKICAgIHRyeSB7CiAgICAgIGNhbGxiYWNrKHRoaXMpOwogICAgfSBmaW5hbGx5IHsKICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICAgIG1ha2VNYWluKG9sZEh1Yik7CiAgICB9CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqIEBkZXByZWNhdGVkIFVzZSBgU2VudHJ5LmdldENsaWVudCgpLmdldEludGVncmF0aW9uQnlOYW1lKClgIGluc3RlYWQuCiAgICovCiAgIGdldEludGVncmF0aW9uKGludGVncmF0aW9uKSB7CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuZ2V0Q2xpZW50KCk7CiAgICBpZiAoIWNsaWVudCkgcmV0dXJuIG51bGw7CiAgICB0cnkgewogICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgICAgcmV0dXJuIGNsaWVudC5nZXRJbnRlZ3JhdGlvbihpbnRlZ3JhdGlvbik7CiAgICB9IGNhdGNoIChfb08pIHsKICAgICAgREVCVUdfQlVJTEQgJiYgbG9nZ2VyLndhcm4oYENhbm5vdCByZXRyaWV2ZSBpbnRlZ3JhdGlvbiAke2ludGVncmF0aW9uLmlkfSBmcm9tIHRoZSBjdXJyZW50IEh1YmApOwogICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9CgogIC8qKgogICAqIFN0YXJ0cyBhIG5ldyBgVHJhbnNhY3Rpb25gIGFuZCByZXR1cm5zIGl0LiBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCB0byBtYW51YWwgdHJhY2luZyBpbnN0cnVtZW50YXRpb24uCiAgICoKICAgKiBBIHRyZWUgc3RydWN0dXJlIGNhbiBiZSBidWlsdCBieSBhZGRpbmcgY2hpbGQgc3BhbnMgdG8gdGhlIHRyYW5zYWN0aW9uLCBhbmQgY2hpbGQgc3BhbnMgdG8gb3RoZXIgc3BhbnMuIFRvIHN0YXJ0IGEKICAgKiBuZXcgY2hpbGQgc3BhbiB3aXRoaW4gdGhlIHRyYW5zYWN0aW9uIG9yIGFueSBzcGFuLCBjYWxsIHRoZSByZXNwZWN0aXZlIGAuc3RhcnRDaGlsZCgpYCBtZXRob2QuCiAgICoKICAgKiBFdmVyeSBjaGlsZCBzcGFuIG11c3QgYmUgZmluaXNoZWQgYmVmb3JlIHRoZSB0cmFuc2FjdGlvbiBpcyBmaW5pc2hlZCwgb3RoZXJ3aXNlIHRoZSB1bmZpbmlzaGVkIHNwYW5zIGFyZSBkaXNjYXJkZWQuCiAgICoKICAgKiBUaGUgdHJhbnNhY3Rpb24gbXVzdCBiZSBmaW5pc2hlZCB3aXRoIGEgY2FsbCB0byBpdHMgYC5lbmQoKWAgbWV0aG9kLCBhdCB3aGljaCBwb2ludCB0aGUgdHJhbnNhY3Rpb24gd2l0aCBhbGwgaXRzCiAgICogZmluaXNoZWQgY2hpbGQgc3BhbnMgd2lsbCBiZSBzZW50IHRvIFNlbnRyeS4KICAgKgogICAqIEBwYXJhbSBjb250ZXh0IFByb3BlcnRpZXMgb2YgdGhlIG5ldyBgVHJhbnNhY3Rpb25gLgogICAqIEBwYXJhbSBjdXN0b21TYW1wbGluZ0NvbnRleHQgSW5mb3JtYXRpb24gZ2l2ZW4gdG8gdGhlIHRyYW5zYWN0aW9uIHNhbXBsaW5nIGZ1bmN0aW9uIChhbG9uZyB3aXRoIGNvbnRleHQtZGVwZW5kZW50CiAgICogZGVmYXVsdCB2YWx1ZXMpLiBTZWUge0BsaW5rIE9wdGlvbnMudHJhY2VzU2FtcGxlcn0uCiAgICoKICAgKiBAcmV0dXJucyBUaGUgdHJhbnNhY3Rpb24gd2hpY2ggd2FzIGp1c3Qgc3RhcnRlZAogICAqCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBzdGFydFNwYW4oKWAsIGBzdGFydFNwYW5NYW51YWwoKWAgb3IgYHN0YXJ0SW5hY3RpdmVTcGFuKClgIGluc3RlYWQuCiAgICovCiAgIHN0YXJ0VHJhbnNhY3Rpb24oY29udGV4dCwgY3VzdG9tU2FtcGxpbmdDb250ZXh0KSB7CiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9jYWxsRXh0ZW5zaW9uTWV0aG9kKCdzdGFydFRyYW5zYWN0aW9uJywgY29udGV4dCwgY3VzdG9tU2FtcGxpbmdDb250ZXh0KTsKCiAgICBpZiAoREVCVUdfQlVJTEQgJiYgIXJlc3VsdCkgewogICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgICAgY29uc3QgY2xpZW50ID0gdGhpcy5nZXRDbGllbnQoKTsKICAgICAgaWYgKCFjbGllbnQpIHsKICAgICAgICBsb2dnZXIud2FybigKICAgICAgICAgICJUcmFjaW5nIGV4dGVuc2lvbiAnc3RhcnRUcmFuc2FjdGlvbicgaXMgbWlzc2luZy4gWW91IHNob3VsZCAnaW5pdCcgdGhlIFNESyBiZWZvcmUgY2FsbGluZyAnc3RhcnRUcmFuc2FjdGlvbiciLAogICAgICAgICk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbG9nZ2VyLndhcm4oYFRyYWNpbmcgZXh0ZW5zaW9uICdzdGFydFRyYW5zYWN0aW9uJyBoYXMgbm90IGJlZW4gYWRkZWQuIENhbGwgJ2FkZFRyYWNpbmdFeHRlbnNpb25zJyBiZWZvcmUgY2FsbGluZyAnaW5pdCc6ClNlbnRyeS5hZGRUcmFjaW5nRXh0ZW5zaW9ucygpOwpTZW50cnkuaW5pdCh7Li4ufSk7CmApOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdDsKICB9CgogIC8qKgogICAqIEBpbmhlcml0RG9jCiAgICogQGRlcHJlY2F0ZWQgVXNlIGBzcGFuVG9UcmFjZUhlYWRlcigpYCBpbnN0ZWFkLgogICAqLwogICB0cmFjZUhlYWRlcnMoKSB7CiAgICByZXR1cm4gdGhpcy5fY2FsbEV4dGVuc2lvbk1ldGhvZCgndHJhY2VIZWFkZXJzJyk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqCiAgICogQGRlcHJlY2F0ZWQgVXNlIHRvcCBsZXZlbCBgY2FwdHVyZVNlc3Npb25gIGluc3RlYWQuCiAgICovCiAgIGNhcHR1cmVTZXNzaW9uKGVuZFNlc3Npb24gPSBmYWxzZSkgewogICAgLy8gYm90aCBzZW5kIHRoZSB1cGRhdGUgYW5kIHB1bGwgdGhlIHNlc3Npb24gZnJvbSB0aGUgc2NvcGUKICAgIGlmIChlbmRTZXNzaW9uKSB7CiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgICByZXR1cm4gdGhpcy5lbmRTZXNzaW9uKCk7CiAgICB9CgogICAgLy8gb25seSBzZW5kIHRoZSB1cGRhdGUKICAgIHRoaXMuX3NlbmRTZXNzaW9uVXBkYXRlKCk7CiAgfQoKICAvKioKICAgKiBAaW5oZXJpdERvYwogICAqIEBkZXByZWNhdGVkIFVzZSB0b3AgbGV2ZWwgYGVuZFNlc3Npb25gIGluc3RlYWQuCiAgICovCiAgIGVuZFNlc3Npb24oKSB7CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIGNvbnN0IGxheWVyID0gdGhpcy5nZXRTdGFja1RvcCgpOwogICAgY29uc3Qgc2NvcGUgPSBsYXllci5zY29wZTsKICAgIGNvbnN0IHNlc3Npb24gPSBzY29wZS5nZXRTZXNzaW9uKCk7CiAgICBpZiAoc2Vzc2lvbikgewogICAgICBjbG9zZVNlc3Npb24oc2Vzc2lvbik7CiAgICB9CiAgICB0aGlzLl9zZW5kU2Vzc2lvblVwZGF0ZSgpOwoKICAgIC8vIHRoZSBzZXNzaW9uIGlzIG92ZXI7IHRha2UgaXQgb2ZmIG9mIHRoZSBzY29wZQogICAgc2NvcGUuc2V0U2Vzc2lvbigpOwogIH0KCiAgLyoqCiAgICogQGluaGVyaXREb2MKICAgKiBAZGVwcmVjYXRlZCBVc2UgdG9wIGxldmVsIGBzdGFydFNlc3Npb25gIGluc3RlYWQuCiAgICovCiAgIHN0YXJ0U2Vzc2lvbihjb250ZXh0KSB7CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb24KICAgIGNvbnN0IHsgc2NvcGUsIGNsaWVudCB9ID0gdGhpcy5nZXRTdGFja1RvcCgpOwogICAgY29uc3QgeyByZWxlYXNlLCBlbnZpcm9ubWVudCA9IERFRkFVTFRfRU5WSVJPTk1FTlQgfSA9IChjbGllbnQgJiYgY2xpZW50LmdldE9wdGlvbnMoKSkgfHwge307CgogICAgLy8gV2lsbCBmZXRjaCB1c2VyQWdlbnQgaWYgY2FsbGVkIGZyb20gYnJvd3NlciBzZGsKICAgIGNvbnN0IHsgdXNlckFnZW50IH0gPSBHTE9CQUxfT0JKLm5hdmlnYXRvciB8fCB7fTsKCiAgICBjb25zdCBzZXNzaW9uID0gbWFrZVNlc3Npb24oewogICAgICByZWxlYXNlLAogICAgICBlbnZpcm9ubWVudCwKICAgICAgdXNlcjogc2NvcGUuZ2V0VXNlcigpLAogICAgICAuLi4odXNlckFnZW50ICYmIHsgdXNlckFnZW50IH0pLAogICAgICAuLi5jb250ZXh0LAogICAgfSk7CgogICAgLy8gRW5kIGV4aXN0aW5nIHNlc3Npb24gaWYgdGhlcmUncyBvbmUKICAgIGNvbnN0IGN1cnJlbnRTZXNzaW9uID0gc2NvcGUuZ2V0U2Vzc2lvbiAmJiBzY29wZS5nZXRTZXNzaW9uKCk7CiAgICBpZiAoY3VycmVudFNlc3Npb24gJiYgY3VycmVudFNlc3Npb24uc3RhdHVzID09PSAnb2snKSB7CiAgICAgIHVwZGF0ZVNlc3Npb24oY3VycmVudFNlc3Npb24sIHsgc3RhdHVzOiAnZXhpdGVkJyB9KTsKICAgIH0KICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgdGhpcy5lbmRTZXNzaW9uKCk7CgogICAgLy8gQWZ0ZXJ3YXJkcyB3ZSBzZXQgdGhlIG5ldyBzZXNzaW9uIG9uIHRoZSBzY29wZQogICAgc2NvcGUuc2V0U2Vzc2lvbihzZXNzaW9uKTsKCiAgICByZXR1cm4gc2Vzc2lvbjsKICB9CgogIC8qKgogICAqIFJldHVybnMgaWYgZGVmYXVsdCBQSUkgc2hvdWxkIGJlIHNlbnQgdG8gU2VudHJ5IGFuZCBwcm9wYWdhdGVkIGluIG91cmdvaW5nIHJlcXVlc3RzCiAgICogd2hlbiBUcmFjaW5nIGlzIHVzZWQuCiAgICoKICAgKiBAZGVwcmVjYXRlZCBVc2UgdG9wLWxldmVsIGBnZXRDbGllbnQoKS5nZXRPcHRpb25zKCkuc2VuZERlZmF1bHRQaWlgIGluc3RlYWQuIFRoaXMgZnVuY3Rpb24KICAgKiBvbmx5IHVubmVjZXNzYXJpbHkgaW5jcmVhc2VkIEFQSSBzdXJmYWNlIGJ1dCBvbmx5IHdyYXBwZWQgYWNjZXNzaW5nIHRoZSBvcHRpb24uCiAgICovCiAgIHNob3VsZFNlbmREZWZhdWx0UGlpKCkgewogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICBjb25zdCBjbGllbnQgPSB0aGlzLmdldENsaWVudCgpOwogICAgY29uc3Qgb3B0aW9ucyA9IGNsaWVudCAmJiBjbGllbnQuZ2V0T3B0aW9ucygpOwogICAgcmV0dXJuIEJvb2xlYW4ob3B0aW9ucyAmJiBvcHRpb25zLnNlbmREZWZhdWx0UGlpKTsKICB9CgogIC8qKgogICAqIFNlbmRzIHRoZSBjdXJyZW50IFNlc3Npb24gb24gdGhlIHNjb3BlCiAgICovCiAgIF9zZW5kU2Vzc2lvblVwZGF0ZSgpIHsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgY29uc3QgeyBzY29wZSwgY2xpZW50IH0gPSB0aGlzLmdldFN0YWNrVG9wKCk7CgogICAgY29uc3Qgc2Vzc2lvbiA9IHNjb3BlLmdldFNlc3Npb24oKTsKICAgIGlmIChzZXNzaW9uICYmIGNsaWVudCAmJiBjbGllbnQuY2FwdHVyZVNlc3Npb24pIHsKICAgICAgY2xpZW50LmNhcHR1cmVTZXNzaW9uKHNlc3Npb24pOwogICAgfQogIH0KCiAgLyoqCiAgICogQ2FsbHMgZ2xvYmFsIGV4dGVuc2lvbiBtZXRob2QgYW5kIGJpbmRpbmcgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgZnVuY3Rpb24gY2FsbAogICAqLwogIC8vIEB0cy1leHBlY3QtZXJyb3IgRnVuY3Rpb24gbGFja3MgZW5kaW5nIHJldHVybiBzdGF0ZW1lbnQgYW5kIHJldHVybiB0eXBlIGRvZXMgbm90IGluY2x1ZGUgJ3VuZGVmaW5lZCcuIHRzKDIzNjYpCiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkKICAgX2NhbGxFeHRlbnNpb25NZXRob2QobWV0aG9kLCAuLi5hcmdzKSB7CiAgICBjb25zdCBjYXJyaWVyID0gZ2V0TWFpbkNhcnJpZXIoKTsKICAgIGNvbnN0IHNlbnRyeSA9IGNhcnJpZXIuX19TRU5UUllfXzsKICAgIGlmIChzZW50cnkgJiYgc2VudHJ5LmV4dGVuc2lvbnMgJiYgdHlwZW9mIHNlbnRyeS5leHRlbnNpb25zW21ldGhvZF0gPT09ICdmdW5jdGlvbicpIHsKICAgICAgcmV0dXJuIHNlbnRyeS5leHRlbnNpb25zW21ldGhvZF0uYXBwbHkodGhpcywgYXJncyk7CiAgICB9CiAgICBERUJVR19CVUlMRCAmJiBsb2dnZXIud2FybihgRXh0ZW5zaW9uIG1ldGhvZCAke21ldGhvZH0gY291bGRuJ3QgYmUgZm91bmQsIGRvaW5nIG5vdGhpbmcuYCk7CiAgfQp9CgovKioKICogUmV0dXJucyB0aGUgZ2xvYmFsIHNoaW0gcmVnaXN0cnkuCiAqCiAqIEZJWE1FOiBUaGlzIGZ1bmN0aW9uIGlzIHByb2JsZW1hdGljLCBiZWNhdXNlIGRlc3BpdGUgYWx3YXlzIHJldHVybmluZyBhIHZhbGlkIENhcnJpZXIsCiAqIGl0IGhhcyBhbiBvcHRpb25hbCBgX19TRU5UUllfX2AgcHJvcGVydHksIHdoaWNoIHRoZW4gaW4gdHVybiByZXF1aXJlcyB1cyB0byBhbHdheXMgcGVyZm9ybSBhbiB1bm5lY2Vzc2FyeSBjaGVjawogKiBhdCB0aGUgY2FsbC1zaXRlLiBXZSBhbHdheXMgYWNjZXNzIHRoZSBjYXJyaWVyIHRocm91Z2ggdGhpcyBmdW5jdGlvbiwgc28gd2UgY2FuIGd1YXJhbnRlZSB0aGF0IGBfX1NFTlRSWV9fYCBpcyB0aGVyZS4KICoqLwpmdW5jdGlvbiBnZXRNYWluQ2FycmllcigpIHsKICBHTE9CQUxfT0JKLl9fU0VOVFJZX18gPSBHTE9CQUxfT0JKLl9fU0VOVFJZX18gfHwgewogICAgZXh0ZW5zaW9uczoge30sCiAgICBodWI6IHVuZGVmaW5lZCwKICB9OwogIHJldHVybiBHTE9CQUxfT0JKOwp9CgovKioKICogUmVwbGFjZXMgdGhlIGN1cnJlbnQgbWFpbiBodWIgd2l0aCB0aGUgcGFzc2VkIG9uZSBvbiB0aGUgZ2xvYmFsIG9iamVjdAogKgogKiBAcmV0dXJucyBUaGUgb2xkIHJlcGxhY2VkIGh1YgogKgogKiBAZGVwcmVjYXRlZCBVc2UgYHNldEN1cnJlbnRDbGllbnQoKWAgaW5zdGVhZC4KICovCi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgpmdW5jdGlvbiBtYWtlTWFpbihodWIpIHsKICBjb25zdCByZWdpc3RyeSA9IGdldE1haW5DYXJyaWVyKCk7CiAgY29uc3Qgb2xkSHViID0gZ2V0SHViRnJvbUNhcnJpZXIocmVnaXN0cnkpOwogIHNldEh1Yk9uQ2FycmllcihyZWdpc3RyeSwgaHViKTsKICByZXR1cm4gb2xkSHViOwp9CgovKioKICogUmV0dXJucyB0aGUgZGVmYXVsdCBodWIgaW5zdGFuY2UuCiAqCiAqIElmIGEgaHViIGlzIGFscmVhZHkgcmVnaXN0ZXJlZCBpbiB0aGUgZ2xvYmFsIGNhcnJpZXIgYnV0IHRoaXMgbW9kdWxlCiAqIGNvbnRhaW5zIGEgbW9yZSByZWNlbnQgdmVyc2lvbiwgaXQgcmVwbGFjZXMgdGhlIHJlZ2lzdGVyZWQgdmVyc2lvbi4KICogT3RoZXJ3aXNlLCB0aGUgY3VycmVudGx5IHJlZ2lzdGVyZWQgaHViIHdpbGwgYmUgcmV0dXJuZWQuCiAqCiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgcmVzcGVjdGl2ZSByZXBsYWNlbWVudCBtZXRob2QgZGlyZWN0bHkgaW5zdGVhZC4KICovCi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgpmdW5jdGlvbiBnZXRDdXJyZW50SHViKCkgewogIC8vIEdldCBtYWluIGNhcnJpZXIgKGdsb2JhbCBmb3IgZXZlcnkgZW52aXJvbm1lbnQpCiAgY29uc3QgcmVnaXN0cnkgPSBnZXRNYWluQ2FycmllcigpOwoKICBpZiAocmVnaXN0cnkuX19TRU5UUllfXyAmJiByZWdpc3RyeS5fX1NFTlRSWV9fLmFjcykgewogICAgY29uc3QgaHViID0gcmVnaXN0cnkuX19TRU5UUllfXy5hY3MuZ2V0Q3VycmVudEh1YigpOwoKICAgIGlmIChodWIpIHsKICAgICAgcmV0dXJuIGh1YjsKICAgIH0KICB9CgogIC8vIFJldHVybiBodWIgdGhhdCBsaXZlcyBvbiBhIGdsb2JhbCBvYmplY3QKICByZXR1cm4gZ2V0R2xvYmFsSHViKHJlZ2lzdHJ5KTsKfQoKLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCmZ1bmN0aW9uIGdldEdsb2JhbEh1YihyZWdpc3RyeSA9IGdldE1haW5DYXJyaWVyKCkpIHsKICAvLyBJZiB0aGVyZSdzIG5vIGh1Yiwgb3IgaXRzIGFuIG9sZCBBUEksIGFzc2lnbiBhIG5ldyBvbmUKCiAgaWYgKAogICAgIWhhc0h1Yk9uQ2FycmllcihyZWdpc3RyeSkgfHwKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgogICAgZ2V0SHViRnJvbUNhcnJpZXIocmVnaXN0cnkpLmlzT2xkZXJUaGFuKEFQSV9WRVJTSU9OKQogICkgewogICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgICBzZXRIdWJPbkNhcnJpZXIocmVnaXN0cnksIG5ldyBIdWIoKSk7CiAgfQoKICAvLyBSZXR1cm4gaHViIHRoYXQgbGl2ZXMgb24gYSBnbG9iYWwgb2JqZWN0CiAgcmV0dXJuIGdldEh1YkZyb21DYXJyaWVyKHJlZ2lzdHJ5KTsKfQoKLyoqCiAqIFRoaXMgd2lsbCB0ZWxsIHdoZXRoZXIgYSBjYXJyaWVyIGhhcyBhIGh1YiBvbiBpdCBvciBub3QKICogQHBhcmFtIGNhcnJpZXIgb2JqZWN0CiAqLwpmdW5jdGlvbiBoYXNIdWJPbkNhcnJpZXIoY2FycmllcikgewogIHJldHVybiAhIShjYXJyaWVyICYmIGNhcnJpZXIuX19TRU5UUllfXyAmJiBjYXJyaWVyLl9fU0VOVFJZX18uaHViKTsKfQoKLyoqCiAqIFRoaXMgd2lsbCBjcmVhdGUgYSBuZXcge0BsaW5rIEh1Yn0gYW5kIGFkZCB0byB0aGUgcGFzc2VkIG9iamVjdCBvbgogKiBfX1NFTlRSWV9fLmh1Yi4KICogQHBhcmFtIGNhcnJpZXIgb2JqZWN0CiAqIEBoaWRkZW4KICovCi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgpmdW5jdGlvbiBnZXRIdWJGcm9tQ2FycmllcihjYXJyaWVyKSB7CiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uCiAgcmV0dXJuIGdldEdsb2JhbFNpbmdsZXRvbignaHViJywgKCkgPT4gbmV3IEh1YigpLCBjYXJyaWVyKTsKfQoKLyoqCiAqIFRoaXMgd2lsbCBzZXQgcGFzc2VkIHtAbGluayBIdWJ9IG9uIHRoZSBwYXNzZWQgb2JqZWN0J3MgX19TRU5UUllfXy5odWIgYXR0cmlidXRlCiAqIEBwYXJhbSBjYXJyaWVyIG9iamVjdAogKiBAcGFyYW0gaHViIEh1YgogKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyBzdWNjZXNzIG9yIGZhaWx1cmUKICovCi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbgpmdW5jdGlvbiBzZXRIdWJPbkNhcnJpZXIoY2FycmllciwgaHViKSB7CiAgaWYgKCFjYXJyaWVyKSByZXR1cm4gZmFsc2U7CiAgY29uc3QgX19TRU5UUllfXyA9IChjYXJyaWVyLl9fU0VOVFJZX18gPSBjYXJyaWVyLl9fU0VOVFJZX18gfHwge30pOwogIF9fU0VOVFJZX18uaHViID0gaHViOwogIHJldHVybiB0cnVlOwp9CgovKioKICogQXBwbHkgU2RrSW5mbyAobmFtZSwgdmVyc2lvbiwgcGFja2FnZXMsIGludGVncmF0aW9ucykgdG8gdGhlIGNvcnJlc3BvbmRpbmcgZXZlbnQga2V5LgogKiBNZXJnZSB3aXRoIGV4aXN0aW5nIGRhdGEgaWYgYW55LgogKiovCmZ1bmN0aW9uIGVuaGFuY2VFdmVudFdpdGhTZGtJbmZvKGV2ZW50LCBzZGtJbmZvKSB7CiAgaWYgKCFzZGtJbmZvKSB7CiAgICByZXR1cm4gZXZlbnQ7CiAgfQogIGV2ZW50LnNkayA9IGV2ZW50LnNkayB8fCB7fTsKICBldmVudC5zZGsubmFtZSA9IGV2ZW50LnNkay5uYW1lIHx8IHNka0luZm8ubmFtZTsKICBldmVudC5zZGsudmVyc2lvbiA9IGV2ZW50LnNkay52ZXJzaW9uIHx8IHNka0luZm8udmVyc2lvbjsKICBldmVudC5zZGsuaW50ZWdyYXRpb25zID0gWy4uLihldmVudC5zZGsuaW50ZWdyYXRpb25zIHx8IFtdKSwgLi4uKHNka0luZm8uaW50ZWdyYXRpb25zIHx8IFtdKV07CiAgZXZlbnQuc2RrLnBhY2thZ2VzID0gWy4uLihldmVudC5zZGsucGFja2FnZXMgfHwgW10pLCAuLi4oc2RrSW5mby5wYWNrYWdlcyB8fCBbXSldOwogIHJldHVybiBldmVudDsKfQoKLyoqIENyZWF0ZXMgYW4gZW52ZWxvcGUgZnJvbSBhIFNlc3Npb24gKi8KZnVuY3Rpb24gY3JlYXRlU2Vzc2lvbkVudmVsb3BlKAogIHNlc3Npb24sCiAgZHNuLAogIG1ldGFkYXRhLAogIHR1bm5lbCwKKSB7CiAgY29uc3Qgc2RrSW5mbyA9IGdldFNka01ldGFkYXRhRm9yRW52ZWxvcGVIZWFkZXIobWV0YWRhdGEpOwogIGNvbnN0IGVudmVsb3BlSGVhZGVycyA9IHsKICAgIHNlbnRfYXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSwKICAgIC4uLihzZGtJbmZvICYmIHsgc2RrOiBzZGtJbmZvIH0pLAogICAgLi4uKCEhdHVubmVsICYmIGRzbiAmJiB7IGRzbjogZHNuVG9TdHJpbmcoZHNuKSB9KSwKICB9OwoKICBjb25zdCBlbnZlbG9wZUl0ZW0gPQogICAgJ2FnZ3JlZ2F0ZXMnIGluIHNlc3Npb24gPyBbeyB0eXBlOiAnc2Vzc2lvbnMnIH0sIHNlc3Npb25dIDogW3sgdHlwZTogJ3Nlc3Npb24nIH0sIHNlc3Npb24udG9KU09OKCldOwoKICByZXR1cm4gY3JlYXRlRW52ZWxvcGUoZW52ZWxvcGVIZWFkZXJzLCBbZW52ZWxvcGVJdGVtXSk7Cn0KCi8qKgogKiBDcmVhdGUgYW4gRW52ZWxvcGUgZnJvbSBhbiBldmVudC4KICovCmZ1bmN0aW9uIGNyZWF0ZUV2ZW50RW52ZWxvcGUoCiAgZXZlbnQsCiAgZHNuLAogIG1ldGFkYXRhLAogIHR1bm5lbCwKKSB7CiAgY29uc3Qgc2RrSW5mbyA9IGdldFNka01ldGFkYXRhRm9yRW52ZWxvcGVIZWFkZXIobWV0YWRhdGEpOwoKICAvKgogICAgTm90ZTogRHVlIHRvIFRTLCBldmVudC50eXBlIG1heSBiZSBgcmVwbGF5X2V2ZW50YCwgdGhlb3JldGljYWxseS4KICAgIEluIHByYWN0aWNlLCB3ZSBuZXZlciBjYWxsIGBjcmVhdGVFdmVudEVudmVsb3BlYCB3aXRoIGByZXBsYXlfZXZlbnRgIHR5cGUsCiAgICBhbmQgd2UnZCBoYXZlIHRvIGFkanV0IGEgbG9vb3Qgb2YgdHlwZXMgdG8gbWFrZSB0aGlzIHdvcmsgcHJvcGVybHkuCiAgICBXZSB3YW50IHRvIGF2b2lkIGNhc3RpbmcgdGhpcyBhcm91bmQsIGFzIHRoYXQgY291bGQgbGVhZCB0byBidWdzIChlLmcuIHdoZW4gd2UgYWRkIGFub3RoZXIgdHlwZSkKICAgIFNvIHRoZSBzYWZlIGNob2ljZSBpcyB0byByZWFsbHkgZ3VhcmQgYWdhaW5zdCB0aGUgcmVwbGF5X2V2ZW50IHR5cGUgaGVyZS4KICAqLwogIGNvbnN0IGV2ZW50VHlwZSA9IGV2ZW50LnR5cGUgJiYgZXZlbnQudHlwZSAhPT0gJ3JlcGxheV9ldmVudCcgPyBldmVudC50eXBlIDogJ2V2ZW50JzsKCiAgZW5oYW5jZUV2ZW50V2l0aFNka0luZm8oZXZlbnQsIG1ldGFkYXRhICYmIG1ldGFkYXRhLnNkayk7CgogIGNvbnN0IGVudmVsb3BlSGVhZGVycyA9IGNyZWF0ZUV2ZW50RW52ZWxvcGVIZWFkZXJzKGV2ZW50LCBzZGtJbmZvLCB0dW5uZWwsIGRzbik7CgogIC8vIFByZXZlbnQgdGhpcyBkYXRhICh3aGljaCwgaWYgaXQgZXhpc3RzLCB3YXMgdXNlZCBpbiBlYXJsaWVyIHN0ZXBzIGluIHRoZSBwcm9jZXNzaW5nIHBpcGVsaW5lKSBmcm9tIGJlaW5nIHNlbnQgdG8KICAvLyBzZW50cnkuIChOb3RlOiBPdXIgdXNlIG9mIHRoaXMgcHJvcGVydHkgY29tZXMgYW5kIGdvZXMgd2l0aCB3aGF0ZXZlciB3ZSBtaWdodCBiZSBkZWJ1Z2dpbmcsIHdoYXRldmVyIGhhY2tzIHdlIG1heQogIC8vIGhhdmUgdGVtcG9yYXJpbHkgYWRkZWQsIGV0Yy4gRXZlbiBpZiB3ZSBkb24ndCBoYXBwZW4gdG8gYmUgdXNpbmcgaXQgYXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLCBsZXQncyBub3QgZ2V0IHJpZAogIC8vIG9mIHRoaXMgYGRlbGV0ZWAsIGxlc3Qgd2UgbWlzcyBwdXR0aW5nIGl0IGJhY2sgaW4gdGhlIG5leHQgdGltZSB0aGUgcHJvcGVydHkgaXMgaW4gdXNlLikKICBkZWxldGUgZXZlbnQuc2RrUHJvY2Vzc2luZ01ldGFkYXRhOwoKICBjb25zdCBldmVudEl0ZW0gPSBbeyB0eXBlOiBldmVudFR5cGUgfSwgZXZlbnRdOwogIHJldHVybiBjcmVhdGVFbnZlbG9wZShlbnZlbG9wZUhlYWRlcnMsIFtldmVudEl0ZW1dKTsKfQoKY29uc3QgU0VOVFJZX0FQSV9WRVJTSU9OID0gJzcnOwoKLyoqIFJldHVybnMgdGhlIHByZWZpeCB0byBjb25zdHJ1Y3QgU2VudHJ5IGluZ2VzdGlvbiBBUEkgZW5kcG9pbnRzLiAqLwpmdW5jdGlvbiBnZXRCYXNlQXBpRW5kcG9pbnQoZHNuKSB7CiAgY29uc3QgcHJvdG9jb2wgPSBkc24ucHJvdG9jb2wgPyBgJHtkc24ucHJvdG9jb2x9OmAgOiAnJzsKICBjb25zdCBwb3J0ID0gZHNuLnBvcnQgPyBgOiR7ZHNuLnBvcnR9YCA6ICcnOwogIHJldHVybiBgJHtwcm90b2NvbH0vLyR7ZHNuLmhvc3R9JHtwb3J0fSR7ZHNuLnBhdGggPyBgLyR7ZHNuLnBhdGh9YCA6ICcnfS9hcGkvYDsKfQoKLyoqIFJldHVybnMgdGhlIGluZ2VzdCBBUEkgZW5kcG9pbnQgZm9yIHRhcmdldC4gKi8KZnVuY3Rpb24gX2dldEluZ2VzdEVuZHBvaW50KGRzbikgewogIHJldHVybiBgJHtnZXRCYXNlQXBpRW5kcG9pbnQoZHNuKX0ke2Rzbi5wcm9qZWN0SWR9L2VudmVsb3BlL2A7Cn0KCi8qKiBSZXR1cm5zIGEgVVJMLWVuY29kZWQgc3RyaW5nIHdpdGggYXV0aCBjb25maWcgc3VpdGFibGUgZm9yIGEgcXVlcnkgc3RyaW5nLiAqLwpmdW5jdGlvbiBfZW5jb2RlZEF1dGgoZHNuLCBzZGtJbmZvKSB7CiAgcmV0dXJuIHVybEVuY29kZSh7CiAgICAvLyBXZSBzZW5kIG9ubHkgdGhlIG1pbmltdW0gc2V0IG9mIHJlcXVpcmVkIGluZm9ybWF0aW9uLiBTZWUKICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9nZXRzZW50cnkvc2VudHJ5LWphdmFzY3JpcHQvaXNzdWVzLzI1NzIuCiAgICBzZW50cnlfa2V5OiBkc24ucHVibGljS2V5LAogICAgc2VudHJ5X3ZlcnNpb246IFNFTlRSWV9BUElfVkVSU0lPTiwKICAgIC4uLihzZGtJbmZvICYmIHsgc2VudHJ5X2NsaWVudDogYCR7c2RrSW5mby5uYW1lfS8ke3Nka0luZm8udmVyc2lvbn1gIH0pLAogIH0pOwp9CgovKioKICogUmV0dXJucyB0aGUgZW52ZWxvcGUgZW5kcG9pbnQgVVJMIHdpdGggYXV0aCBpbiB0aGUgcXVlcnkgc3RyaW5nLgogKgogKiBTZW5kaW5nIGF1dGggYXMgcGFydCBvZiB0aGUgcXVlcnkgc3RyaW5nIGFuZCBub3QgYXMgY3VzdG9tIEhUVFAgaGVhZGVycyBhdm9pZHMgQ09SUyBwcmVmbGlnaHQgcmVxdWVzdHMuCiAqLwpmdW5jdGlvbiBnZXRFbnZlbG9wZUVuZHBvaW50V2l0aFVybEVuY29kZWRBdXRoKAogIGRzbiwKICAvLyBUT0RPICh2OCk6IFJlbW92ZSBgdHVubmVsT3JPcHRpb25zYCBpbiBmYXZvciBvZiBgb3B0aW9uc2AsIGFuZCB1c2UgdGhlIHN1YnN0aXR1dGUgY29kZSBiZWxvdwogIC8vIG9wdGlvbnM6IENsaWVudE9wdGlvbnMgPSB7fSBhcyBDbGllbnRPcHRpb25zLAogIHR1bm5lbE9yT3B0aW9ucyA9IHt9ICwKKSB7CiAgLy8gVE9ETyAodjgpOiBVc2UgdGhpcyBjb2RlIGluc3RlYWQKICAvLyBjb25zdCB7IHR1bm5lbCwgX21ldGFkYXRhID0ge30gfSA9IG9wdGlvbnM7CiAgLy8gcmV0dXJuIHR1bm5lbCA/IHR1bm5lbCA6IGAke19nZXRJbmdlc3RFbmRwb2ludChkc24pfT8ke19lbmNvZGVkQXV0aChkc24sIF9tZXRhZGF0YS5zZGspfWA7CgogIGNvbnN0IHR1bm5lbCA9IHR5cGVvZiB0dW5uZWxPck9wdGlvbnMgPT09ICdzdHJpbmcnID8gdHVubmVsT3JPcHRpb25zIDogdHVubmVsT3JPcHRpb25zLnR1bm5lbDsKICBjb25zdCBzZGtJbmZvID0KICAgIHR5cGVvZiB0dW5uZWxPck9wdGlvbnMgPT09ICdzdHJpbmcnIHx8ICF0dW5uZWxPck9wdGlvbnMuX21ldGFkYXRhID8gdW5kZWZpbmVkIDogdHVubmVsT3JPcHRpb25zLl9tZXRhZGF0YS5zZGs7CgogIHJldHVybiB0dW5uZWwgPyB0dW5uZWwgOiBgJHtfZ2V0SW5nZXN0RW5kcG9pbnQoZHNuKX0/JHtfZW5jb2RlZEF1dGgoZHNuLCBzZGtJbmZvKX1gOwp9Cgpjb25zdCBERUZBVUxUX1RSQU5TUE9SVF9CVUZGRVJfU0laRSA9IDMwOwoKLyoqCiAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgYSBTZW50cnkgYFRyYW5zcG9ydGAKICoKICogQHBhcmFtIG9wdGlvbnMKICogQHBhcmFtIG1ha2VSZXF1ZXN0CiAqLwpmdW5jdGlvbiBjcmVhdGVUcmFuc3BvcnQoCiAgb3B0aW9ucywKICBtYWtlUmVxdWVzdCwKICBidWZmZXIgPSBtYWtlUHJvbWlzZUJ1ZmZlcigKICAgIG9wdGlvbnMuYnVmZmVyU2l6ZSB8fCBERUZBVUxUX1RSQU5TUE9SVF9CVUZGRVJfU0laRSwKICApLAopIHsKICBsZXQgcmF0ZUxpbWl0cyA9IHt9OwogIGNvbnN0IGZsdXNoID0gKHRpbWVvdXQpID0+IGJ1ZmZlci5kcmFpbih0aW1lb3V0KTsKCiAgZnVuY3Rpb24gc2VuZChlbnZlbG9wZSkgewogICAgY29uc3QgZmlsdGVyZWRFbnZlbG9wZUl0ZW1zID0gW107CgogICAgLy8gRHJvcCByYXRlIGxpbWl0ZWQgaXRlbXMgZnJvbSBlbnZlbG9wZQogICAgZm9yRWFjaEVudmVsb3BlSXRlbShlbnZlbG9wZSwgKGl0ZW0sIHR5cGUpID0+IHsKICAgICAgY29uc3QgZGF0YUNhdGVnb3J5ID0gZW52ZWxvcGVJdGVtVHlwZVRvRGF0YUNhdGVnb3J5KHR5cGUpOwogICAgICBpZiAoaXNSYXRlTGltaXRlZChyYXRlTGltaXRzLCBkYXRhQ2F0ZWdvcnkpKSB7CiAgICAgICAgY29uc3QgZXZlbnQgPSBnZXRFdmVudEZvckVudmVsb3BlSXRlbShpdGVtLCB0eXBlKTsKICAgICAgICBvcHRpb25zLnJlY29yZERyb3BwZWRFdmVudCgncmF0ZWxpbWl0X2JhY2tvZmYnLCBkYXRhQ2F0ZWdvcnksIGV2ZW50KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBmaWx0ZXJlZEVudmVsb3BlSXRlbXMucHVzaChpdGVtKTsKICAgICAgfQogICAgfSk7CgogICAgLy8gU2tpcCBzZW5kaW5nIGlmIGVudmVsb3BlIGlzIGVtcHR5IGFmdGVyIGZpbHRlcmluZyBvdXQgcmF0ZSBsaW1pdGVkIGV2ZW50cwogICAgaWYgKGZpbHRlcmVkRW52ZWxvcGVJdGVtcy5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuIHJlc29sdmVkU3luY1Byb21pc2UoKTsKICAgIH0KCiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueQogICAgY29uc3QgZmlsdGVyZWRFbnZlbG9wZSA9IGNyZWF0ZUVudmVsb3BlKGVudmVsb3BlWzBdLCBmaWx0ZXJlZEVudmVsb3BlSXRlbXMgKTsKCiAgICAvLyBDcmVhdGVzIGNsaWVudCByZXBvcnQgZm9yIGVhY2ggaXRlbSBpbiBhbiBlbnZlbG9wZQogICAgY29uc3QgcmVjb3JkRW52ZWxvcGVMb3NzID0gKHJlYXNvbikgPT4gewogICAgICBmb3JFYWNoRW52ZWxvcGVJdGVtKGZpbHRlcmVkRW52ZWxvcGUsIChpdGVtLCB0eXBlKSA9PiB7CiAgICAgICAgY29uc3QgZXZlbnQgPSBnZXRFdmVudEZvckVudmVsb3BlSXRlbShpdGVtLCB0eXBlKTsKICAgICAgICBvcHRpb25zLnJlY29yZERyb3BwZWRFdmVudChyZWFzb24sIGVudmVsb3BlSXRlbVR5cGVUb0RhdGFDYXRlZ29yeSh0eXBlKSwgZXZlbnQpOwogICAgICB9KTsKICAgIH07CgogICAgY29uc3QgcmVxdWVzdFRhc2sgPSAoKSA9PgogICAgICBtYWtlUmVxdWVzdCh7IGJvZHk6IHNlcmlhbGl6ZUVudmVsb3BlKGZpbHRlcmVkRW52ZWxvcGUsIG9wdGlvbnMudGV4dEVuY29kZXIpIH0pLnRoZW4oCiAgICAgICAgcmVzcG9uc2UgPT4gewogICAgICAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byB0aHJvdyBvbiBOT0sgcmVzcG9uc2VzLCBidXQgd2Ugd2FudCB0byBhdCBsZWFzdCBsb2cgdGhlbQogICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgIT09IHVuZGVmaW5lZCAmJiAocmVzcG9uc2Uuc3RhdHVzQ29kZSA8IDIwMCB8fCByZXNwb25zZS5zdGF0dXNDb2RlID49IDMwMCkpIHsKICAgICAgICAgICAgREVCVUdfQlVJTEQgJiYgbG9nZ2VyLndhcm4oYFNlbnRyeSByZXNwb25kZWQgd2l0aCBzdGF0dXMgY29kZSAke3Jlc3BvbnNlLnN0YXR1c0NvZGV9IHRvIHNlbnQgZXZlbnQuYCk7CiAgICAgICAgICB9CgogICAgICAgICAgcmF0ZUxpbWl0cyA9IHVwZGF0ZVJhdGVMaW1pdHMocmF0ZUxpbWl0cywgcmVzcG9uc2UpOwogICAgICAgICAgcmV0dXJuIHJlc3BvbnNlOwogICAgICAgIH0sCiAgICAgICAgZXJyb3IgPT4gewogICAgICAgICAgcmVjb3JkRW52ZWxvcGVMb3NzKCduZXR3b3JrX2Vycm9yJyk7CiAgICAgICAgICB0aHJvdyBlcnJvcjsKICAgICAgICB9LAogICAgICApOwoKICAgIHJldHVybiBidWZmZXIuYWRkKHJlcXVlc3RUYXNrKS50aGVuKAogICAgICByZXN1bHQgPT4gcmVzdWx0LAogICAgICBlcnJvciA9PiB7CiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgU2VudHJ5RXJyb3IpIHsKICAgICAgICAgIERFQlVHX0JVSUxEICYmIGxvZ2dlci5lcnJvcignU2tpcHBlZCBzZW5kaW5nIGV2ZW50IGJlY2F1c2UgYnVmZmVyIGlzIGZ1bGwuJyk7CiAgICAgICAgICByZWNvcmRFbnZlbG9wZUxvc3MoJ3F1ZXVlX292ZXJmbG93Jyk7CiAgICAgICAgICByZXR1cm4gcmVzb2x2ZWRTeW5jUHJvbWlzZSgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aHJvdyBlcnJvcjsKICAgICAgICB9CiAgICAgIH0sCiAgICApOwogIH0KCiAgLy8gV2UgdXNlIHRoaXMgdG8gaWRlbnRpZmlmeSBpZiB0aGUgdHJhbnNwb3J0IGlzIHRoZSBiYXNlIHRyYW5zcG9ydAogIC8vIFRPRE8gKHY4KTogUmVtb3ZlIHRoaXMgYWdhaW4gYXMgd2UnbGwgbm8gbG9uZ2VyIG5lZWQgaXQKICBzZW5kLl9fc2VudHJ5X19iYXNlVHJhbnNwb3J0X18gPSB0cnVlOwoKICByZXR1cm4gewogICAgc2VuZCwKICAgIGZsdXNoLAogIH07Cn0KCmZ1bmN0aW9uIGdldEV2ZW50Rm9yRW52ZWxvcGVJdGVtKGl0ZW0sIHR5cGUpIHsKICBpZiAodHlwZSAhPT0gJ2V2ZW50JyAmJiB0eXBlICE9PSAndHJhbnNhY3Rpb24nKSB7CiAgICByZXR1cm4gdW5kZWZpbmVkOwogIH0KCiAgcmV0dXJuIEFycmF5LmlzQXJyYXkoaXRlbSkgPyAoaXRlbSApWzFdIDogdW5kZWZpbmVkOwp9CgovKiogbm9ybWFsaXplcyBXaW5kb3dzIHBhdGhzICovCmZ1bmN0aW9uIG5vcm1hbGl6ZVdpbmRvd3NQYXRoKHBhdGgpIHsKICByZXR1cm4gcGF0aAogICAgLnJlcGxhY2UoL15bQS1aXTovLCAnJykgLy8gcmVtb3ZlIFdpbmRvd3Mtc3R5bGUgcHJlZml4CiAgICAucmVwbGFjZSgvXFwvZywgJy8nKTsgLy8gcmVwbGFjZSBhbGwgYFxgIGluc3RhbmNlcyB3aXRoIGAvYAp9CgovKiogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgZ2V0cyB0aGUgbW9kdWxlIG5hbWUgZnJvbSBhIGZpbGVuYW1lICovCmZ1bmN0aW9uIGNyZWF0ZUdldE1vZHVsZUZyb21GaWxlbmFtZSgKICBiYXNlUGF0aCA9IHByb2Nlc3MuYXJndlsxXSA/IGRpcm5hbWUocHJvY2Vzcy5hcmd2WzFdKSA6IHByb2Nlc3MuY3dkKCksCiAgaXNXaW5kb3dzID0gc2VwID09PSAnXFwnLAopIHsKICBjb25zdCBub3JtYWxpemVkQmFzZSA9IGlzV2luZG93cyA/IG5vcm1hbGl6ZVdpbmRvd3NQYXRoKGJhc2VQYXRoKSA6IGJhc2VQYXRoOwoKICByZXR1cm4gKGZpbGVuYW1lKSA9PiB7CiAgICBpZiAoIWZpbGVuYW1lKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICBjb25zdCBub3JtYWxpemVkRmlsZW5hbWUgPSBpc1dpbmRvd3MgPyBub3JtYWxpemVXaW5kb3dzUGF0aChmaWxlbmFtZSkgOiBmaWxlbmFtZTsKCiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0CiAgICBsZXQgeyBkaXIsIGJhc2U6IGZpbGUsIGV4dCB9ID0gcG9zaXgucGFyc2Uobm9ybWFsaXplZEZpbGVuYW1lKTsKCiAgICBpZiAoZXh0ID09PSAnLmpzJyB8fCBleHQgPT09ICcubWpzJyB8fCBleHQgPT09ICcuY2pzJykgewogICAgICBmaWxlID0gZmlsZS5zbGljZSgwLCBleHQubGVuZ3RoICogLTEpOwogICAgfQoKICAgIGlmICghZGlyKSB7CiAgICAgIC8vIE5vIGRpcm5hbWUgd2hhdHNvZXZlcgogICAgICBkaXIgPSAnLic7CiAgICB9CgogICAgY29uc3QgbiA9IGRpci5sYXN0SW5kZXhPZignL25vZGVfbW9kdWxlcycpOwogICAgaWYgKG4gPiAtMSkgewogICAgICByZXR1cm4gYCR7ZGlyLnNsaWNlKG4gKyAxNCkucmVwbGFjZSgvXC8vZywgJy4nKX06JHtmaWxlfWA7CiAgICB9CgogICAgLy8gTGV0J3Mgc2VlIGlmIGl0J3MgYSBwYXJ0IG9mIHRoZSBtYWluIG1vZHVsZQogICAgLy8gVG8gYmUgYSBwYXJ0IG9mIG1haW4gbW9kdWxlLCBpdCBoYXMgdG8gc2hhcmUgdGhlIHNhbWUgYmFzZQogICAgaWYgKGRpci5zdGFydHNXaXRoKG5vcm1hbGl6ZWRCYXNlKSkgewogICAgICBsZXQgbW9kdWxlTmFtZSA9IGRpci5zbGljZShub3JtYWxpemVkQmFzZS5sZW5ndGggKyAxKS5yZXBsYWNlKC9cLy9nLCAnLicpOwoKICAgICAgaWYgKG1vZHVsZU5hbWUpIHsKICAgICAgICBtb2R1bGVOYW1lICs9ICc6JzsKICAgICAgfQogICAgICBtb2R1bGVOYW1lICs9IGZpbGU7CgogICAgICByZXR1cm4gbW9kdWxlTmFtZTsKICAgIH0KCiAgICByZXR1cm4gZmlsZTsKICB9Owp9CgpmdW5jdGlvbiBfbnVsbGlzaENvYWxlc2NlJDIobGhzLCByaHNGbikgeyBpZiAobGhzICE9IG51bGwpIHsgcmV0dXJuIGxoczsgfSBlbHNlIHsgcmV0dXJuIHJoc0ZuKCk7IH0gfS8qKgogKiBUaGlzIGNvZGUgd2FzIG9yaWdpbmFsbHkgZm9ya2VkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL1Rvb1RhbGxOYXRlL3Byb3h5LWFnZW50cy90cmVlL2IxMzMyOTVmZDE2ZjY0NzU1NzhiNmIxNWJkOWI0ZTMzZWNiMGQwYjcKICogV2l0aCB0aGUgZm9sbG93aW5nIGxpY2VuY2U6CiAqCiAqIChUaGUgTUlUIExpY2Vuc2UpCiAqCiAqIENvcHlyaWdodCAoYykgMjAxMyBOYXRoYW4gUmFqbGljaCA8bmF0aGFuQHRvb3RhbGxuYXRlLm5ldD4qCiAqCiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZwogKiBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKICogJ1NvZnR3YXJlJyksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwogKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCiAqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0bwogKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KICogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOioKICoKICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUKICogaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuKgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgJ0FTIElTJywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKICogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCiAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKICogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKICogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKICogU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAqLwoKY29uc3QgSU5URVJOQUwgPSBTeW1ib2woJ0FnZW50QmFzZUludGVybmFsU3RhdGUnKTsKCmNsYXNzIEFnZW50IGV4dGVuZHMgaHR0cC5BZ2VudCB7CgogIC8vIFNldCBieSBgaHR0cC5BZ2VudGAgLSBtaXNzaW5nIGZyb20gYEB0eXBlcy9ub2RlYAoKICBjb25zdHJ1Y3RvcihvcHRzKSB7CiAgICBzdXBlcihvcHRzKTsKICAgIHRoaXNbSU5URVJOQUxdID0ge307CiAgfQoKICAvKioKICAgKiBEZXRlcm1pbmUgd2hldGhlciB0aGlzIGlzIGFuIGBodHRwYCBvciBgaHR0cHNgIHJlcXVlc3QuCiAgICovCiAgaXNTZWN1cmVFbmRwb2ludChvcHRpb25zKSB7CiAgICBpZiAob3B0aW9ucykgewogICAgICAvLyBGaXJzdCBjaGVjayB0aGUgYHNlY3VyZUVuZHBvaW50YCBwcm9wZXJ0eSBleHBsaWNpdGx5LCBzaW5jZSB0aGlzCiAgICAgIC8vIG1lYW5zIHRoYXQgYSBwYXJlbnQgYEFnZW50YCBpcyAicGFzc2luZyB0aHJvdWdoIiB0byB0aGlzIGluc3RhbmNlLgogICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzCiAgICAgIGlmICh0eXBlb2YgKG9wdGlvbnMgKS5zZWN1cmVFbmRwb2ludCA9PT0gJ2Jvb2xlYW4nKSB7CiAgICAgICAgcmV0dXJuIG9wdGlvbnMuc2VjdXJlRW5kcG9pbnQ7CiAgICAgIH0KCiAgICAgIC8vIElmIG5vIGV4cGxpY2l0IGBzZWN1cmVgIGVuZHBvaW50LCBjaGVjayBpZiBgcHJvdG9jb2xgIHByb3BlcnR5IGlzCiAgICAgIC8vIHNldC4gVGhpcyB3aWxsIHVzdWFsbHkgYmUgdGhlIGNhc2Ugc2luY2UgdXNpbmcgYSBmdWxsIHN0cmluZyBVUkwKICAgICAgLy8gb3IgYFVSTGAgaW5zdGFuY2Ugc2hvdWxkIGJlIHRoZSBtb3N0IGNvbW1vbiB1c2FnZS4KICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLnByb3RvY29sID09PSAnc3RyaW5nJykgewogICAgICAgIHJldHVybiBvcHRpb25zLnByb3RvY29sID09PSAnaHR0cHM6JzsKICAgICAgfQogICAgfQoKICAgIC8vIEZpbmFsbHksIGlmIG5vIGBwcm90b2NvbGAgcHJvcGVydHkgd2FzIHNldCwgdGhlbiBmYWxsIGJhY2sgdG8KICAgIC8vIGNoZWNraW5nIHRoZSBzdGFjayB0cmFjZSBvZiB0aGUgY3VycmVudCBjYWxsIHN0YWNrLCBhbmQgdHJ5IHRvCiAgICAvLyBkZXRlY3QgdGhlICJodHRwcyIgbW9kdWxlLgogICAgY29uc3QgeyBzdGFjayB9ID0gbmV3IEVycm9yKCk7CiAgICBpZiAodHlwZW9mIHN0YWNrICE9PSAnc3RyaW5nJykgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHN0YWNrLnNwbGl0KCdcbicpLnNvbWUobCA9PiBsLmluZGV4T2YoJyhodHRwcy5qczonKSAhPT0gLTEgfHwgbC5pbmRleE9mKCdub2RlOmh0dHBzOicpICE9PSAtMSk7CiAgfQoKICBjcmVhdGVTb2NrZXQocmVxLCBvcHRpb25zLCBjYikgewogICAgY29uc3QgY29ubmVjdE9wdHMgPSB7CiAgICAgIC4uLm9wdGlvbnMsCiAgICAgIHNlY3VyZUVuZHBvaW50OiB0aGlzLmlzU2VjdXJlRW5kcG9pbnQob3B0aW9ucyksCiAgICB9OwogICAgUHJvbWlzZS5yZXNvbHZlKCkKICAgICAgLnRoZW4oKCkgPT4gdGhpcy5jb25uZWN0KHJlcSwgY29ubmVjdE9wdHMpKQogICAgICAudGhlbihzb2NrZXQgPT4gewogICAgICAgIGlmIChzb2NrZXQgaW5zdGFuY2VvZiBodHRwLkFnZW50KSB7CiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGBhZGRSZXF1ZXN0KClgIGlzbid0IGRlZmluZWQgaW4gYEB0eXBlcy9ub2RlYAogICAgICAgICAgcmV0dXJuIHNvY2tldC5hZGRSZXF1ZXN0KHJlcSwgY29ubmVjdE9wdHMpOwogICAgICAgIH0KICAgICAgICB0aGlzW0lOVEVSTkFMXS5jdXJyZW50U29ja2V0ID0gc29ja2V0OwogICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgYGNyZWF0ZVNvY2tldCgpYCBpc24ndCBkZWZpbmVkIGluIGBAdHlwZXMvbm9kZWAKICAgICAgICBzdXBlci5jcmVhdGVTb2NrZXQocmVxLCBvcHRpb25zLCBjYik7CiAgICAgIH0sIGNiKTsKICB9CgogIGNyZWF0ZUNvbm5lY3Rpb24oKSB7CiAgICBjb25zdCBzb2NrZXQgPSB0aGlzW0lOVEVSTkFMXS5jdXJyZW50U29ja2V0OwogICAgdGhpc1tJTlRFUk5BTF0uY3VycmVudFNvY2tldCA9IHVuZGVmaW5lZDsKICAgIGlmICghc29ja2V0KSB7CiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gc29ja2V0IHdhcyByZXR1cm5lZCBpbiB0aGUgYGNvbm5lY3QoKWAgZnVuY3Rpb24nKTsKICAgIH0KICAgIHJldHVybiBzb2NrZXQ7CiAgfQoKICBnZXQgZGVmYXVsdFBvcnQoKSB7CiAgICByZXR1cm4gX251bGxpc2hDb2FsZXNjZSQyKHRoaXNbSU5URVJOQUxdLmRlZmF1bHRQb3J0LCAoKSA9PiAoICh0aGlzLnByb3RvY29sID09PSAnaHR0cHM6JyA/IDQ0MyA6IDgwKSkpOwogIH0KCiAgc2V0IGRlZmF1bHRQb3J0KHYpIHsKICAgIGlmICh0aGlzW0lOVEVSTkFMXSkgewogICAgICB0aGlzW0lOVEVSTkFMXS5kZWZhdWx0UG9ydCA9IHY7CiAgICB9CiAgfQoKICBnZXQgcHJvdG9jb2woKSB7CiAgICByZXR1cm4gX251bGxpc2hDb2FsZXNjZSQyKHRoaXNbSU5URVJOQUxdLnByb3RvY29sLCAoKSA9PiAoICh0aGlzLmlzU2VjdXJlRW5kcG9pbnQoKSA/ICdodHRwczonIDogJ2h0dHA6JykpKTsKICB9CgogIHNldCBwcm90b2NvbCh2KSB7CiAgICBpZiAodGhpc1tJTlRFUk5BTF0pIHsKICAgICAgdGhpc1tJTlRFUk5BTF0ucHJvdG9jb2wgPSB2OwogICAgfQogIH0KfQoKZnVuY3Rpb24gZGVidWckMSguLi5hcmdzKSB7CiAgbG9nZ2VyLmxvZygnW2h0dHBzLXByb3h5LWFnZW50OnBhcnNlLXByb3h5LXJlc3BvbnNlXScsIC4uLmFyZ3MpOwp9CgpmdW5jdGlvbiBwYXJzZVByb3h5UmVzcG9uc2Uoc29ja2V0KSB7CiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgIC8vIHdlIG5lZWQgdG8gYnVmZmVyIGFueSBIVFRQIHRyYWZmaWMgdGhhdCBoYXBwZW5zIHdpdGggdGhlIHByb3h5IGJlZm9yZSB3ZSBnZXQKICAgIC8vIHRoZSBDT05ORUNUIHJlc3BvbnNlLCBzbyB0aGF0IGlmIHRoZSByZXNwb25zZSBpcyBhbnl0aGluZyBvdGhlciB0aGFuIGFuICIyMDAiCiAgICAvLyByZXNwb25zZSBjb2RlLCB0aGVuIHdlIGNhbiByZS1wbGF5IHRoZSAiZGF0YSIgZXZlbnRzIG9uIHRoZSBzb2NrZXQgb25jZSB0aGUKICAgIC8vIEhUVFAgcGFyc2VyIGlzIGhvb2tlZCB1cC4uLgogICAgbGV0IGJ1ZmZlcnNMZW5ndGggPSAwOwogICAgY29uc3QgYnVmZmVycyA9IFtdOwoKICAgIGZ1bmN0aW9uIHJlYWQoKSB7CiAgICAgIGNvbnN0IGIgPSBzb2NrZXQucmVhZCgpOwogICAgICBpZiAoYikgb25kYXRhKGIpOwogICAgICBlbHNlIHNvY2tldC5vbmNlKCdyZWFkYWJsZScsIHJlYWQpOwogICAgfQoKICAgIGZ1bmN0aW9uIGNsZWFudXAoKSB7CiAgICAgIHNvY2tldC5yZW1vdmVMaXN0ZW5lcignZW5kJywgb25lbmQpOwogICAgICBzb2NrZXQucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgb25lcnJvcik7CiAgICAgIHNvY2tldC5yZW1vdmVMaXN0ZW5lcigncmVhZGFibGUnLCByZWFkKTsKICAgIH0KCiAgICBmdW5jdGlvbiBvbmVuZCgpIHsKICAgICAgY2xlYW51cCgpOwogICAgICBkZWJ1ZyQxKCdvbmVuZCcpOwogICAgICByZWplY3QobmV3IEVycm9yKCdQcm94eSBjb25uZWN0aW9uIGVuZGVkIGJlZm9yZSByZWNlaXZpbmcgQ09OTkVDVCByZXNwb25zZScpKTsKICAgIH0KCiAgICBmdW5jdGlvbiBvbmVycm9yKGVycikgewogICAgICBjbGVhbnVwKCk7CiAgICAgIGRlYnVnJDEoJ29uZXJyb3IgJW8nLCBlcnIpOwogICAgICByZWplY3QoZXJyKTsKICAgIH0KCiAgICBmdW5jdGlvbiBvbmRhdGEoYikgewogICAgICBidWZmZXJzLnB1c2goYik7CiAgICAgIGJ1ZmZlcnNMZW5ndGggKz0gYi5sZW5ndGg7CgogICAgICBjb25zdCBidWZmZXJlZCA9IEJ1ZmZlci5jb25jYXQoYnVmZmVycywgYnVmZmVyc0xlbmd0aCk7CiAgICAgIGNvbnN0IGVuZE9mSGVhZGVycyA9IGJ1ZmZlcmVkLmluZGV4T2YoJ1xyXG5cclxuJyk7CgogICAgICBpZiAoZW5kT2ZIZWFkZXJzID09PSAtMSkgewogICAgICAgIC8vIGtlZXAgYnVmZmVyaW5nCiAgICAgICAgZGVidWckMSgnaGF2ZSBub3QgcmVjZWl2ZWQgZW5kIG9mIEhUVFAgaGVhZGVycyB5ZXQuLi4nKTsKICAgICAgICByZWFkKCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBjb25zdCBoZWFkZXJQYXJ0cyA9IGJ1ZmZlcmVkLnNsaWNlKDAsIGVuZE9mSGVhZGVycykudG9TdHJpbmcoJ2FzY2lpJykuc3BsaXQoJ1xyXG4nKTsKICAgICAgY29uc3QgZmlyc3RMaW5lID0gaGVhZGVyUGFydHMuc2hpZnQoKTsKICAgICAgaWYgKCFmaXJzdExpbmUpIHsKICAgICAgICBzb2NrZXQuZGVzdHJveSgpOwogICAgICAgIHJldHVybiByZWplY3QobmV3IEVycm9yKCdObyBoZWFkZXIgcmVjZWl2ZWQgZnJvbSBwcm94eSBDT05ORUNUIHJlc3BvbnNlJykpOwogICAgICB9CiAgICAgIGNvbnN0IGZpcnN0TGluZVBhcnRzID0gZmlyc3RMaW5lLnNwbGl0KCcgJyk7CiAgICAgIGNvbnN0IHN0YXR1c0NvZGUgPSArZmlyc3RMaW5lUGFydHNbMV07CiAgICAgIGNvbnN0IHN0YXR1c1RleHQgPSBmaXJzdExpbmVQYXJ0cy5zbGljZSgyKS5qb2luKCcgJyk7CiAgICAgIGNvbnN0IGhlYWRlcnMgPSB7fTsKICAgICAgZm9yIChjb25zdCBoZWFkZXIgb2YgaGVhZGVyUGFydHMpIHsKICAgICAgICBpZiAoIWhlYWRlcikgY29udGludWU7CiAgICAgICAgY29uc3QgZmlyc3RDb2xvbiA9IGhlYWRlci5pbmRleE9mKCc6Jyk7CiAgICAgICAgaWYgKGZpcnN0Q29sb24gPT09IC0xKSB7CiAgICAgICAgICBzb2NrZXQuZGVzdHJveSgpOwogICAgICAgICAgcmV0dXJuIHJlamVjdChuZXcgRXJyb3IoYEludmFsaWQgaGVhZGVyIGZyb20gcHJveHkgQ09OTkVDVCByZXNwb25zZTogIiR7aGVhZGVyfSJgKSk7CiAgICAgICAgfQogICAgICAgIGNvbnN0IGtleSA9IGhlYWRlci5zbGljZSgwLCBmaXJzdENvbG9uKS50b0xvd2VyQ2FzZSgpOwogICAgICAgIGNvbnN0IHZhbHVlID0gaGVhZGVyLnNsaWNlKGZpcnN0Q29sb24gKyAxKS50cmltU3RhcnQoKTsKICAgICAgICBjb25zdCBjdXJyZW50ID0gaGVhZGVyc1trZXldOwogICAgICAgIGlmICh0eXBlb2YgY3VycmVudCA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgIGhlYWRlcnNba2V5XSA9IFtjdXJyZW50LCB2YWx1ZV07CiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGN1cnJlbnQpKSB7CiAgICAgICAgICBjdXJyZW50LnB1c2godmFsdWUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBoZWFkZXJzW2tleV0gPSB2YWx1ZTsKICAgICAgICB9CiAgICAgIH0KICAgICAgZGVidWckMSgnZ290IHByb3h5IHNlcnZlciByZXNwb25zZTogJW8gJW8nLCBmaXJzdExpbmUsIGhlYWRlcnMpOwogICAgICBjbGVhbnVwKCk7CiAgICAgIHJlc29sdmUoewogICAgICAgIGNvbm5lY3Q6IHsKICAgICAgICAgIHN0YXR1c0NvZGUsCiAgICAgICAgICBzdGF0dXNUZXh0LAogICAgICAgICAgaGVhZGVycywKICAgICAgICB9LAogICAgICAgIGJ1ZmZlcmVkLAogICAgICB9KTsKICAgIH0KCiAgICBzb2NrZXQub24oJ2Vycm9yJywgb25lcnJvcik7CiAgICBzb2NrZXQub24oJ2VuZCcsIG9uZW5kKTsKCiAgICByZWFkKCk7CiAgfSk7Cn0KCmZ1bmN0aW9uIF9udWxsaXNoQ29hbGVzY2UkMShsaHMsIHJoc0ZuKSB7IGlmIChsaHMgIT0gbnVsbCkgeyByZXR1cm4gbGhzOyB9IGVsc2UgeyByZXR1cm4gcmhzRm4oKTsgfSB9IGZ1bmN0aW9uIF9vcHRpb25hbENoYWluJDEob3BzKSB7IGxldCBsYXN0QWNjZXNzTEhTID0gdW5kZWZpbmVkOyBsZXQgdmFsdWUgPSBvcHNbMF07IGxldCBpID0gMTsgd2hpbGUgKGkgPCBvcHMubGVuZ3RoKSB7IGNvbnN0IG9wID0gb3BzW2ldOyBjb25zdCBmbiA9IG9wc1tpICsgMV07IGkgKz0gMjsgaWYgKChvcCA9PT0gJ29wdGlvbmFsQWNjZXNzJyB8fCBvcCA9PT0gJ29wdGlvbmFsQ2FsbCcpICYmIHZhbHVlID09IG51bGwpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfSBpZiAob3AgPT09ICdhY2Nlc3MnIHx8IG9wID09PSAnb3B0aW9uYWxBY2Nlc3MnKSB7IGxhc3RBY2Nlc3NMSFMgPSB2YWx1ZTsgdmFsdWUgPSBmbih2YWx1ZSk7IH0gZWxzZSBpZiAob3AgPT09ICdjYWxsJyB8fCBvcCA9PT0gJ29wdGlvbmFsQ2FsbCcpIHsgdmFsdWUgPSBmbigoLi4uYXJncykgPT4gdmFsdWUuY2FsbChsYXN0QWNjZXNzTEhTLCAuLi5hcmdzKSk7IGxhc3RBY2Nlc3NMSFMgPSB1bmRlZmluZWQ7IH0gfSByZXR1cm4gdmFsdWU7IH0KCmZ1bmN0aW9uIGRlYnVnKC4uLmFyZ3MpIHsKICBsb2dnZXIubG9nKCdbaHR0cHMtcHJveHktYWdlbnRdJywgLi4uYXJncyk7Cn0KCi8qKgogKiBUaGUgYEh0dHBzUHJveHlBZ2VudGAgaW1wbGVtZW50cyBhbiBIVFRQIEFnZW50IHN1YmNsYXNzIHRoYXQgY29ubmVjdHMgdG8KICogdGhlIHNwZWNpZmllZCAiSFRUUChzKSBwcm94eSBzZXJ2ZXIiIGluIG9yZGVyIHRvIHByb3h5IEhUVFBTIHJlcXVlc3RzLgogKgogKiBPdXRnb2luZyBIVFRQIHJlcXVlc3RzIGFyZSBmaXJzdCB0dW5uZWxlZCB0aHJvdWdoIHRoZSBwcm94eSBzZXJ2ZXIgdXNpbmcgdGhlCiAqIGBDT05ORUNUYCBIVFRQIHJlcXVlc3QgbWV0aG9kIHRvIGVzdGFibGlzaCBhIGNvbm5lY3Rpb24gdG8gdGhlIHByb3h5IHNlcnZlciwKICogYW5kIHRoZW4gdGhlIHByb3h5IHNlcnZlciBjb25uZWN0cyB0byB0aGUgZGVzdGluYXRpb24gdGFyZ2V0IGFuZCBpc3N1ZXMgdGhlCiAqIEhUVFAgcmVxdWVzdCBmcm9tIHRoZSBwcm94eSBzZXJ2ZXIuCiAqCiAqIGBodHRwczpgIHJlcXVlc3RzIGhhdmUgdGhlaXIgc29ja2V0IGNvbm5lY3Rpb24gdXBncmFkZWQgdG8gVExTIG9uY2UKICogdGhlIGNvbm5lY3Rpb24gdG8gdGhlIHByb3h5IHNlcnZlciBoYXMgYmVlbiBlc3RhYmxpc2hlZC4KICovCmNsYXNzIEh0dHBzUHJveHlBZ2VudCBleHRlbmRzIEFnZW50IHsKICBzdGF0aWMgX19pbml0U3RhdGljKCkge3RoaXMucHJvdG9jb2xzID0gWydodHRwJywgJ2h0dHBzJ107IH0KCiAgY29uc3RydWN0b3IocHJveHksIG9wdHMpIHsKICAgIHN1cGVyKG9wdHMpOwogICAgdGhpcy5vcHRpb25zID0ge307CiAgICB0aGlzLnByb3h5ID0gdHlwZW9mIHByb3h5ID09PSAnc3RyaW5nJyA/IG5ldyBVUkwocHJveHkpIDogcHJveHk7CiAgICB0aGlzLnByb3h5SGVhZGVycyA9IF9udWxsaXNoQ29hbGVzY2UkMShfb3B0aW9uYWxDaGFpbiQxKFtvcHRzLCAnb3B0aW9uYWxBY2Nlc3MnLCBfMiA9PiBfMi5oZWFkZXJzXSksICgpID0+ICgge30pKTsKICAgIGRlYnVnKCdDcmVhdGluZyBuZXcgSHR0cHNQcm94eUFnZW50IGluc3RhbmNlOiAlbycsIHRoaXMucHJveHkuaHJlZik7CgogICAgLy8gVHJpbSBvZmYgdGhlIGJyYWNrZXRzIGZyb20gSVB2NiBhZGRyZXNzZXMKICAgIGNvbnN0IGhvc3QgPSAodGhpcy5wcm94eS5ob3N0bmFtZSB8fCB0aGlzLnByb3h5Lmhvc3QpLnJlcGxhY2UoL15cW3xcXSQvZywgJycpOwogICAgY29uc3QgcG9ydCA9IHRoaXMucHJveHkucG9ydCA/IHBhcnNlSW50KHRoaXMucHJveHkucG9ydCwgMTApIDogdGhpcy5wcm94eS5wcm90b2NvbCA9PT0gJ2h0dHBzOicgPyA0NDMgOiA4MDsKICAgIHRoaXMuY29ubmVjdE9wdHMgPSB7CiAgICAgIC8vIEF0dGVtcHQgdG8gbmVnb3RpYXRlIGh0dHAvMS4xIGZvciBwcm94eSBzZXJ2ZXJzIHRoYXQgc3VwcG9ydCBodHRwLzIKICAgICAgQUxQTlByb3RvY29sczogWydodHRwLzEuMSddLAogICAgICAuLi4ob3B0cyA/IG9taXQob3B0cywgJ2hlYWRlcnMnKSA6IG51bGwpLAogICAgICBob3N0LAogICAgICBwb3J0LAogICAgfTsKICB9CgogIC8qKgogICAqIENhbGxlZCB3aGVuIHRoZSBub2RlLWNvcmUgSFRUUCBjbGllbnQgbGlicmFyeSBpcyBjcmVhdGluZyBhCiAgICogbmV3IEhUVFAgcmVxdWVzdC4KICAgKi8KICBhc3luYyBjb25uZWN0KHJlcSwgb3B0cykgewogICAgY29uc3QgeyBwcm94eSB9ID0gdGhpczsKCiAgICBpZiAoIW9wdHMuaG9zdCkgewogICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdObyAiaG9zdCIgcHJvdmlkZWQnKTsKICAgIH0KCiAgICAvLyBDcmVhdGUgYSBzb2NrZXQgY29ubmVjdGlvbiB0byB0aGUgcHJveHkgc2VydmVyLgogICAgbGV0IHNvY2tldDsKICAgIGlmIChwcm94eS5wcm90b2NvbCA9PT0gJ2h0dHBzOicpIHsKICAgICAgZGVidWcoJ0NyZWF0aW5nIGB0bHMuU29ja2V0YDogJW8nLCB0aGlzLmNvbm5lY3RPcHRzKTsKICAgICAgY29uc3Qgc2VydmVybmFtZSA9IHRoaXMuY29ubmVjdE9wdHMuc2VydmVybmFtZSB8fCB0aGlzLmNvbm5lY3RPcHRzLmhvc3Q7CiAgICAgIHNvY2tldCA9IHRscy5jb25uZWN0KHsKICAgICAgICAuLi50aGlzLmNvbm5lY3RPcHRzLAogICAgICAgIHNlcnZlcm5hbWU6IHNlcnZlcm5hbWUgJiYgbmV0LmlzSVAoc2VydmVybmFtZSkgPyB1bmRlZmluZWQgOiBzZXJ2ZXJuYW1lLAogICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgIGRlYnVnKCdDcmVhdGluZyBgbmV0LlNvY2tldGA6ICVvJywgdGhpcy5jb25uZWN0T3B0cyk7CiAgICAgIHNvY2tldCA9IG5ldC5jb25uZWN0KHRoaXMuY29ubmVjdE9wdHMpOwogICAgfQoKICAgIGNvbnN0IGhlYWRlcnMgPQogICAgICB0eXBlb2YgdGhpcy5wcm94eUhlYWRlcnMgPT09ICdmdW5jdGlvbicgPyB0aGlzLnByb3h5SGVhZGVycygpIDogeyAuLi50aGlzLnByb3h5SGVhZGVycyB9OwogICAgY29uc3QgaG9zdCA9IG5ldC5pc0lQdjYob3B0cy5ob3N0KSA/IGBbJHtvcHRzLmhvc3R9XWAgOiBvcHRzLmhvc3Q7CiAgICBsZXQgcGF5bG9hZCA9IGBDT05ORUNUICR7aG9zdH06JHtvcHRzLnBvcnR9IEhUVFAvMS4xXHJcbmA7CgogICAgLy8gSW5qZWN0IHRoZSBgUHJveHktQXV0aG9yaXphdGlvbmAgaGVhZGVyIGlmIG5lY2Vzc2FyeS4KICAgIGlmIChwcm94eS51c2VybmFtZSB8fCBwcm94eS5wYXNzd29yZCkgewogICAgICBjb25zdCBhdXRoID0gYCR7ZGVjb2RlVVJJQ29tcG9uZW50KHByb3h5LnVzZXJuYW1lKX06JHtkZWNvZGVVUklDb21wb25lbnQocHJveHkucGFzc3dvcmQpfWA7CiAgICAgIGhlYWRlcnNbJ1Byb3h5LUF1dGhvcml6YXRpb24nXSA9IGBCYXNpYyAke0J1ZmZlci5mcm9tKGF1dGgpLnRvU3RyaW5nKCdiYXNlNjQnKX1gOwogICAgfQoKICAgIGhlYWRlcnMuSG9zdCA9IGAke2hvc3R9OiR7b3B0cy5wb3J0fWA7CgogICAgaWYgKCFoZWFkZXJzWydQcm94eS1Db25uZWN0aW9uJ10pIHsKICAgICAgaGVhZGVyc1snUHJveHktQ29ubmVjdGlvbiddID0gdGhpcy5rZWVwQWxpdmUgPyAnS2VlcC1BbGl2ZScgOiAnY2xvc2UnOwogICAgfQogICAgZm9yIChjb25zdCBuYW1lIG9mIE9iamVjdC5rZXlzKGhlYWRlcnMpKSB7CiAgICAgIHBheWxvYWQgKz0gYCR7bmFtZX06ICR7aGVhZGVyc1tuYW1lXX1cclxuYDsKICAgIH0KCiAgICBjb25zdCBwcm94eVJlc3BvbnNlUHJvbWlzZSA9IHBhcnNlUHJveHlSZXNwb25zZShzb2NrZXQpOwoKICAgIHNvY2tldC53cml0ZShgJHtwYXlsb2FkfVxyXG5gKTsKCiAgICBjb25zdCB7IGNvbm5lY3QsIGJ1ZmZlcmVkIH0gPSBhd2FpdCBwcm94eVJlc3BvbnNlUHJvbWlzZTsKICAgIHJlcS5lbWl0KCdwcm94eUNvbm5lY3QnLCBjb25uZWN0KTsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnQKICAgIC8vIEB0cy1pZ25vcmUgTm90IEV2ZW50RW1pdHRlciBpbiBOb2RlIHR5cGVzCiAgICB0aGlzLmVtaXQoJ3Byb3h5Q29ubmVjdCcsIGNvbm5lY3QsIHJlcSk7CgogICAgaWYgKGNvbm5lY3Quc3RhdHVzQ29kZSA9PT0gMjAwKSB7CiAgICAgIHJlcS5vbmNlKCdzb2NrZXQnLCByZXN1bWUpOwoKICAgICAgaWYgKG9wdHMuc2VjdXJlRW5kcG9pbnQpIHsKICAgICAgICAvLyBUaGUgcHJveHkgaXMgY29ubmVjdGluZyB0byBhIFRMUyBzZXJ2ZXIsIHNvIHVwZ3JhZGUKICAgICAgICAvLyB0aGlzIHNvY2tldCBjb25uZWN0aW9uIHRvIGEgVExTIGNvbm5lY3Rpb24uCiAgICAgICAgZGVidWcoJ1VwZ3JhZGluZyBzb2NrZXQgY29ubmVjdGlvbiB0byBUTFMnKTsKICAgICAgICBjb25zdCBzZXJ2ZXJuYW1lID0gb3B0cy5zZXJ2ZXJuYW1lIHx8IG9wdHMuaG9zdDsKICAgICAgICByZXR1cm4gdGxzLmNvbm5lY3QoewogICAgICAgICAgLi4ub21pdChvcHRzLCAnaG9zdCcsICdwYXRoJywgJ3BvcnQnKSwKICAgICAgICAgIHNvY2tldCwKICAgICAgICAgIHNlcnZlcm5hbWU6IG5ldC5pc0lQKHNlcnZlcm5hbWUpID8gdW5kZWZpbmVkIDogc2VydmVybmFtZSwKICAgICAgICB9KTsKICAgICAgfQoKICAgICAgcmV0dXJuIHNvY2tldDsKICAgIH0KCiAgICAvLyBTb21lIG90aGVyIHN0YXR1cyBjb2RlIHRoYXQncyBub3QgMjAwLi4uIG5lZWQgdG8gcmUtcGxheSB0aGUgSFRUUAogICAgLy8gaGVhZGVyICJkYXRhIiBldmVudHMgb250byB0aGUgc29ja2V0IG9uY2UgdGhlIEhUVFAgbWFjaGluZXJ5IGlzCiAgICAvLyBhdHRhY2hlZCBzbyB0aGF0IHRoZSBub2RlIGNvcmUgYGh0dHBgIGNhbiBwYXJzZSBhbmQgaGFuZGxlIHRoZQogICAgLy8gZXJyb3Igc3RhdHVzIGNvZGUuCgogICAgLy8gQ2xvc2UgdGhlIG9yaWdpbmFsIHNvY2tldCwgYW5kIGEgbmV3ICJmYWtlIiBzb2NrZXQgaXMgcmV0dXJuZWQKICAgIC8vIGluc3RlYWQsIHNvIHRoYXQgdGhlIHByb3h5IGRvZXNuJ3QgZ2V0IHRoZSBIVFRQIHJlcXVlc3QKICAgIC8vIHdyaXR0ZW4gdG8gaXQgKHdoaWNoIG1heSBjb250YWluIGBBdXRob3JpemF0aW9uYCBoZWFkZXJzIG9yIG90aGVyCiAgICAvLyBzZW5zaXRpdmUgZGF0YSkuCiAgICAvLwogICAgLy8gU2VlOiBodHRwczovL2hhY2tlcm9uZS5jb20vcmVwb3J0cy81NDE1MDIKICAgIHNvY2tldC5kZXN0cm95KCk7CgogICAgY29uc3QgZmFrZVNvY2tldCA9IG5ldyBuZXQuU29ja2V0KHsgd3JpdGFibGU6IGZhbHNlIH0pOwogICAgZmFrZVNvY2tldC5yZWFkYWJsZSA9IHRydWU7CgogICAgLy8gTmVlZCB0byB3YWl0IGZvciB0aGUgInNvY2tldCIgZXZlbnQgdG8gcmUtcGxheSB0aGUgImRhdGEiIGV2ZW50cy4KICAgIHJlcS5vbmNlKCdzb2NrZXQnLCAocykgPT4gewogICAgICBkZWJ1ZygnUmVwbGF5aW5nIHByb3h5IGJ1ZmZlciBmb3IgZmFpbGVkIHJlcXVlc3QnKTsKICAgICAgLy8gUmVwbGF5IHRoZSAiYnVmZmVyZWQiIEJ1ZmZlciBvbnRvIHRoZSBmYWtlIGBzb2NrZXRgLCBzaW5jZSBhdAogICAgICAvLyB0aGlzIHBvaW50IHRoZSBIVFRQIG1vZHVsZSBtYWNoaW5lcnkgaGFzIGJlZW4gaG9va2VkIHVwIGZvcgogICAgICAvLyB0aGUgdXNlci4KICAgICAgcy5wdXNoKGJ1ZmZlcmVkKTsKICAgICAgcy5wdXNoKG51bGwpOwogICAgfSk7CgogICAgcmV0dXJuIGZha2VTb2NrZXQ7CiAgfQp9IEh0dHBzUHJveHlBZ2VudC5fX2luaXRTdGF0aWMoKTsKCmZ1bmN0aW9uIHJlc3VtZShzb2NrZXQpIHsKICBzb2NrZXQucmVzdW1lKCk7Cn0KCmZ1bmN0aW9uIG9taXQoCiAgb2JqLAogIC4uLmtleXMKKQoKIHsKICBjb25zdCByZXQgPSB7fQoKOwogIGxldCBrZXk7CiAgZm9yIChrZXkgaW4gb2JqKSB7CiAgICBpZiAoIWtleXMuaW5jbHVkZXMoa2V5KSkgewogICAgICByZXRba2V5XSA9IG9ialtrZXldOwogICAgfQogIH0KICByZXR1cm4gcmV0Owp9CgpmdW5jdGlvbiBfbnVsbGlzaENvYWxlc2NlKGxocywgcmhzRm4pIHsgaWYgKGxocyAhPSBudWxsKSB7IHJldHVybiBsaHM7IH0gZWxzZSB7IHJldHVybiByaHNGbigpOyB9IH0KLy8gRXN0aW1hdGVkIG1heGltdW0gc2l6ZSBmb3IgcmVhc29uYWJsZSBzdGFuZGFsb25lIGV2ZW50CmNvbnN0IEdaSVBfVEhSRVNIT0xEID0gMTAyNCAqIDMyOwoKLyoqCiAqIEdldHMgYSBzdHJlYW0gZnJvbSBhIFVpbnQ4QXJyYXkgb3Igc3RyaW5nCiAqIFJlYWRhYmxlLmZyb20gaXMgaWRlYWwgYnV0IHdhcyBhZGRlZCBpbiBub2RlLmpzIHYxMi4zLjAgYW5kIHYxMC4xNy4wCiAqLwpmdW5jdGlvbiBzdHJlYW1Gcm9tQm9keShib2R5KSB7CiAgcmV0dXJuIG5ldyBSZWFkYWJsZSh7CiAgICByZWFkKCkgewogICAgICB0aGlzLnB1c2goYm9keSk7CiAgICAgIHRoaXMucHVzaChudWxsKTsKICAgIH0sCiAgfSk7Cn0KCi8qKgogKiBDcmVhdGVzIGEgVHJhbnNwb3J0IHRoYXQgdXNlcyBuYXRpdmUgdGhlIG5hdGl2ZSAnaHR0cCcgYW5kICdodHRwcycgbW9kdWxlcyB0byBzZW5kIGV2ZW50cyB0byBTZW50cnkuCiAqLwpmdW5jdGlvbiBtYWtlTm9kZVRyYW5zcG9ydChvcHRpb25zKSB7CiAgbGV0IHVybFNlZ21lbnRzOwoKICB0cnkgewogICAgdXJsU2VnbWVudHMgPSBuZXcgVVJMKG9wdGlvbnMudXJsKTsKICB9IGNhdGNoIChlKSB7CiAgICBjb25zb2xlU2FuZGJveCgoKSA9PiB7CiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlCiAgICAgIGNvbnNvbGUud2FybigKICAgICAgICAnW0BzZW50cnkvbm9kZV06IEludmFsaWQgZHNuIG9yIHR1bm5lbCBvcHRpb24sIHdpbGwgbm90IHNlbmQgYW55IGV2ZW50cy4gVGhlIHR1bm5lbCBvcHRpb24gbXVzdCBiZSBhIGZ1bGwgVVJMIHdoZW4gdXNlZC4nLAogICAgICApOwogICAgfSk7CiAgICByZXR1cm4gY3JlYXRlVHJhbnNwb3J0KG9wdGlvbnMsICgpID0+IFByb21pc2UucmVzb2x2ZSh7fSkpOwogIH0KCiAgY29uc3QgaXNIdHRwcyA9IHVybFNlZ21lbnRzLnByb3RvY29sID09PSAnaHR0cHM6JzsKCiAgLy8gUHJveHkgcHJpb3JpdGl6YXRpb246IGh0dHAgPT4gYG9wdGlvbnMucHJveHlgIHwgYHByb2Nlc3MuZW52Lmh0dHBfcHJveHlgCiAgLy8gUHJveHkgcHJpb3JpdGl6YXRpb246IGh0dHBzID0+IGBvcHRpb25zLnByb3h5YCB8IGBwcm9jZXNzLmVudi5odHRwc19wcm94eWAgfCBgcHJvY2Vzcy5lbnYuaHR0cF9wcm94eWAKICBjb25zdCBwcm94eSA9IGFwcGx5Tm9Qcm94eU9wdGlvbigKICAgIHVybFNlZ21lbnRzLAogICAgb3B0aW9ucy5wcm94eSB8fCAoaXNIdHRwcyA/IHByb2Nlc3MuZW52Lmh0dHBzX3Byb3h5IDogdW5kZWZpbmVkKSB8fCBwcm9jZXNzLmVudi5odHRwX3Byb3h5LAogICk7CgogIGNvbnN0IG5hdGl2ZUh0dHBNb2R1bGUgPSBpc0h0dHBzID8gaHR0cHMgOiBodHRwOwogIGNvbnN0IGtlZXBBbGl2ZSA9IG9wdGlvbnMua2VlcEFsaXZlID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IG9wdGlvbnMua2VlcEFsaXZlOwoKICAvLyBUT0RPKHY3KTogRXZhbHVhdGUgaWYgd2UgY2FuIHNldCBrZWVwQWxpdmUgdG8gdHJ1ZS4gVGhpcyB3b3VsZCBpbnZvbHZlIHRlc3RpbmcgZm9yIG1lbW9yeSBsZWFrcyBpbiBvbGRlciBub2RlCiAgLy8gdmVyc2lvbnMoPj0gOCkgYXMgdGhleSBoYWQgbWVtb3J5IGxlYWtzIHdoZW4gdXNpbmcgaXQ6ICMyNTU1CiAgY29uc3QgYWdlbnQgPSBwcm94eQogICAgPyAobmV3IEh0dHBzUHJveHlBZ2VudChwcm94eSkgKQogICAgOiBuZXcgbmF0aXZlSHR0cE1vZHVsZS5BZ2VudCh7IGtlZXBBbGl2ZSwgbWF4U29ja2V0czogMzAsIHRpbWVvdXQ6IDIwMDAgfSk7CgogIGNvbnN0IHJlcXVlc3RFeGVjdXRvciA9IGNyZWF0ZVJlcXVlc3RFeGVjdXRvcihvcHRpb25zLCBfbnVsbGlzaENvYWxlc2NlKG9wdGlvbnMuaHR0cE1vZHVsZSwgKCkgPT4gKCBuYXRpdmVIdHRwTW9kdWxlKSksIGFnZW50KTsKICByZXR1cm4gY3JlYXRlVHJhbnNwb3J0KG9wdGlvbnMsIHJlcXVlc3RFeGVjdXRvcik7Cn0KCi8qKgogKiBIb25vcnMgdGhlIGBub19wcm94eWAgZW52IHZhcmlhYmxlIHdpdGggdGhlIGhpZ2hlc3QgcHJpb3JpdHkgdG8gYWxsb3cgZm9yIGhvc3RzIGV4Y2x1c2lvbi4KICoKICogQHBhcmFtIHRyYW5zcG9ydFVybCBUaGUgVVJMIHRoZSB0cmFuc3BvcnQgaW50ZW5kcyB0byBzZW5kIGV2ZW50cyB0by4KICogQHBhcmFtIHByb3h5IFRoZSBjbGllbnQgY29uZmlndXJlZCBwcm94eS4KICogQHJldHVybnMgQSBwcm94eSB0aGUgdHJhbnNwb3J0IHNob3VsZCB1c2UuCiAqLwpmdW5jdGlvbiBhcHBseU5vUHJveHlPcHRpb24odHJhbnNwb3J0VXJsU2VnbWVudHMsIHByb3h5KSB7CiAgY29uc3QgeyBub19wcm94eSB9ID0gcHJvY2Vzcy5lbnY7CgogIGNvbnN0IHVybElzRXhlbXB0RnJvbVByb3h5ID0KICAgIG5vX3Byb3h5ICYmCiAgICBub19wcm94eQogICAgICAuc3BsaXQoJywnKQogICAgICAuc29tZSgKICAgICAgICBleGVtcHRpb24gPT4gdHJhbnNwb3J0VXJsU2VnbWVudHMuaG9zdC5lbmRzV2l0aChleGVtcHRpb24pIHx8IHRyYW5zcG9ydFVybFNlZ21lbnRzLmhvc3RuYW1lLmVuZHNXaXRoKGV4ZW1wdGlvbiksCiAgICAgICk7CgogIGlmICh1cmxJc0V4ZW1wdEZyb21Qcm94eSkgewogICAgcmV0dXJuIHVuZGVmaW5lZDsKICB9IGVsc2UgewogICAgcmV0dXJuIHByb3h5OwogIH0KfQoKLyoqCiAqIENyZWF0ZXMgYSBSZXF1ZXN0RXhlY3V0b3IgdG8gYmUgdXNlZCB3aXRoIGBjcmVhdGVUcmFuc3BvcnRgLgogKi8KZnVuY3Rpb24gY3JlYXRlUmVxdWVzdEV4ZWN1dG9yKAogIG9wdGlvbnMsCiAgaHR0cE1vZHVsZSwKICBhZ2VudCwKKSB7CiAgY29uc3QgeyBob3N0bmFtZSwgcGF0aG5hbWUsIHBvcnQsIHByb3RvY29sLCBzZWFyY2ggfSA9IG5ldyBVUkwob3B0aW9ucy51cmwpOwogIHJldHVybiBmdW5jdGlvbiBtYWtlUmVxdWVzdChyZXF1ZXN0KSB7CiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewogICAgICBsZXQgYm9keSA9IHN0cmVhbUZyb21Cb2R5KHJlcXVlc3QuYm9keSk7CgogICAgICBjb25zdCBoZWFkZXJzID0geyAuLi5vcHRpb25zLmhlYWRlcnMgfTsKCiAgICAgIGlmIChyZXF1ZXN0LmJvZHkubGVuZ3RoID4gR1pJUF9USFJFU0hPTEQpIHsKICAgICAgICBoZWFkZXJzWydjb250ZW50LWVuY29kaW5nJ10gPSAnZ3ppcCc7CiAgICAgICAgYm9keSA9IGJvZHkucGlwZShjcmVhdGVHemlwKCkpOwogICAgICB9CgogICAgICBjb25zdCByZXEgPSBodHRwTW9kdWxlLnJlcXVlc3QoCiAgICAgICAgewogICAgICAgICAgbWV0aG9kOiAnUE9TVCcsCiAgICAgICAgICBhZ2VudCwKICAgICAgICAgIGhlYWRlcnMsCiAgICAgICAgICBob3N0bmFtZSwKICAgICAgICAgIHBhdGg6IGAke3BhdGhuYW1lfSR7c2VhcmNofWAsCiAgICAgICAgICBwb3J0LAogICAgICAgICAgcHJvdG9jb2wsCiAgICAgICAgICBjYTogb3B0aW9ucy5jYUNlcnRzLAogICAgICAgIH0sCiAgICAgICAgcmVzID0+IHsKICAgICAgICAgIHJlcy5vbignZGF0YScsICgpID0+IHsKICAgICAgICAgICAgLy8gRHJhaW4gc29ja2V0CiAgICAgICAgICB9KTsKCiAgICAgICAgICByZXMub24oJ2VuZCcsICgpID0+IHsKICAgICAgICAgICAgLy8gRHJhaW4gc29ja2V0CiAgICAgICAgICB9KTsKCiAgICAgICAgICByZXMuc2V0RW5jb2RpbmcoJ3V0ZjgnKTsKCiAgICAgICAgICAvLyAiS2V5LXZhbHVlIHBhaXJzIG9mIGhlYWRlciBuYW1lcyBhbmQgdmFsdWVzLiBIZWFkZXIgbmFtZXMgYXJlIGxvd2VyLWNhc2VkLiIKICAgICAgICAgIC8vIGh0dHBzOi8vbm9kZWpzLm9yZy9hcGkvaHR0cC5odG1sI2h0dHBfbWVzc2FnZV9oZWFkZXJzCiAgICAgICAgICBjb25zdCByZXRyeUFmdGVySGVhZGVyID0gX251bGxpc2hDb2FsZXNjZShyZXMuaGVhZGVyc1sncmV0cnktYWZ0ZXInXSwgKCkgPT4gKCBudWxsKSk7CiAgICAgICAgICBjb25zdCByYXRlTGltaXRzSGVhZGVyID0gX251bGxpc2hDb2FsZXNjZShyZXMuaGVhZGVyc1sneC1zZW50cnktcmF0ZS1saW1pdHMnXSwgKCkgPT4gKCBudWxsKSk7CgogICAgICAgICAgcmVzb2x2ZSh7CiAgICAgICAgICAgIHN0YXR1c0NvZGU6IHJlcy5zdGF0dXNDb2RlLAogICAgICAgICAgICBoZWFkZXJzOiB7CiAgICAgICAgICAgICAgJ3JldHJ5LWFmdGVyJzogcmV0cnlBZnRlckhlYWRlciwKICAgICAgICAgICAgICAneC1zZW50cnktcmF0ZS1saW1pdHMnOiBBcnJheS5pc0FycmF5KHJhdGVMaW1pdHNIZWFkZXIpID8gcmF0ZUxpbWl0c0hlYWRlclswXSA6IHJhdGVMaW1pdHNIZWFkZXIsCiAgICAgICAgICAgIH0sCiAgICAgICAgICB9KTsKICAgICAgICB9LAogICAgICApOwoKICAgICAgcmVxLm9uKCdlcnJvcicsIHJlamVjdCk7CiAgICAgIGJvZHkucGlwZShyZXEpOwogICAgfSk7CiAgfTsKfQoKZnVuY3Rpb24gX29wdGlvbmFsQ2hhaW4ob3BzKSB7IGxldCBsYXN0QWNjZXNzTEhTID0gdW5kZWZpbmVkOyBsZXQgdmFsdWUgPSBvcHNbMF07IGxldCBpID0gMTsgd2hpbGUgKGkgPCBvcHMubGVuZ3RoKSB7IGNvbnN0IG9wID0gb3BzW2ldOyBjb25zdCBmbiA9IG9wc1tpICsgMV07IGkgKz0gMjsgaWYgKChvcCA9PT0gJ29wdGlvbmFsQWNjZXNzJyB8fCBvcCA9PT0gJ29wdGlvbmFsQ2FsbCcpICYmIHZhbHVlID09IG51bGwpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfSBpZiAob3AgPT09ICdhY2Nlc3MnIHx8IG9wID09PSAnb3B0aW9uYWxBY2Nlc3MnKSB7IGxhc3RBY2Nlc3NMSFMgPSB2YWx1ZTsgdmFsdWUgPSBmbih2YWx1ZSk7IH0gZWxzZSBpZiAob3AgPT09ICdjYWxsJyB8fCBvcCA9PT0gJ29wdGlvbmFsQ2FsbCcpIHsgdmFsdWUgPSBmbigoLi4uYXJncykgPT4gdmFsdWUuY2FsbChsYXN0QWNjZXNzTEhTLCAuLi5hcmdzKSk7IGxhc3RBY2Nlc3NMSFMgPSB1bmRlZmluZWQ7IH0gfSByZXR1cm4gdmFsdWU7IH0KY29uc3Qgb3B0aW9ucyA9IHdvcmtlckRhdGE7CmxldCBzZXNzaW9uOwpsZXQgaGFzU2VudEFuckV2ZW50ID0gZmFsc2U7CgpmdW5jdGlvbiBsb2cobXNnKSB7CiAgaWYgKG9wdGlvbnMuZGVidWcpIHsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlCiAgICBjb25zb2xlLmxvZyhgW0FOUiBXb3JrZXJdICR7bXNnfWApOwogIH0KfQoKY29uc3QgdXJsID0gZ2V0RW52ZWxvcGVFbmRwb2ludFdpdGhVcmxFbmNvZGVkQXV0aChvcHRpb25zLmRzbik7CmNvbnN0IHRyYW5zcG9ydCA9IG1ha2VOb2RlVHJhbnNwb3J0KHsKICB1cmwsCiAgcmVjb3JkRHJvcHBlZEV2ZW50OiAoKSA9PiB7CiAgICAvLwogIH0sCn0pOwoKYXN5bmMgZnVuY3Rpb24gc2VuZEFibm9ybWFsU2Vzc2lvbigpIHsKICAvLyBvZiB3ZSBoYXZlIGFuIGV4aXN0aW5nIHNlc3Npb24gcGFzc2VkIGZyb20gdGhlIG1haW4gdGhyZWFkLCBzZW5kIGl0IGFzIGFibm9ybWFsCiAgaWYgKHNlc3Npb24pIHsKICAgIGxvZygnU2VuZGluZyBhYm5vcm1hbCBzZXNzaW9uJyk7CiAgICB1cGRhdGVTZXNzaW9uKHNlc3Npb24sIHsgc3RhdHVzOiAnYWJub3JtYWwnLCBhYm5vcm1hbF9tZWNoYW5pc206ICdhbnJfZm9yZWdyb3VuZCcgfSk7CgogICAgY29uc3QgZW52ZWxvcGUgPSBjcmVhdGVTZXNzaW9uRW52ZWxvcGUoc2Vzc2lvbiwgb3B0aW9ucy5kc24sIG9wdGlvbnMuc2RrTWV0YWRhdGEpOwogICAgLy8gTG9nIHRoZSBlbnZlbG9wZSBzbyB0byBhaWQgaW4gdGVzdGluZwogICAgbG9nKEpTT04uc3RyaW5naWZ5KGVudmVsb3BlKSk7CgogICAgYXdhaXQgdHJhbnNwb3J0LnNlbmQoZW52ZWxvcGUpOwoKICAgIHRyeSB7CiAgICAgIC8vIE5vdGlmeSB0aGUgbWFpbiBwcm9jZXNzIHRoYXQgdGhlIHNlc3Npb24gaGFzIGVuZGVkIHNvIHRoZSBzZXNzaW9uIGNhbiBiZSBjbGVhcmVkIGZyb20gdGhlIHNjb3BlCiAgICAgIF9vcHRpb25hbENoYWluKFtwYXJlbnRQb3J0LCAnb3B0aW9uYWxBY2Nlc3MnLCBfMiA9PiBfMi5wb3N0TWVzc2FnZSwgJ2NhbGwnLCBfMyA9PiBfMygnc2Vzc2lvbi1lbmRlZCcpXSk7CiAgICB9IGNhdGNoIChfKSB7CiAgICAgIC8vIGlnbm9yZQogICAgfQogIH0KfQoKbG9nKCdTdGFydGVkJyk7CgpmdW5jdGlvbiBwcmVwYXJlU3RhY2tGcmFtZXMoc3RhY2tGcmFtZXMpIHsKICBpZiAoIXN0YWNrRnJhbWVzKSB7CiAgICByZXR1cm4gdW5kZWZpbmVkOwogIH0KCiAgLy8gU3RyaXAgU2VudHJ5IGZyYW1lcyBhbmQgcmV2ZXJzZSB0aGUgc3RhY2sgZnJhbWVzIHNvIHRoZXkgYXJlIGluIHRoZSBjb3JyZWN0IG9yZGVyCiAgY29uc3Qgc3RyaXBwZWRGcmFtZXMgPSBzdHJpcFNlbnRyeUZyYW1lc0FuZFJldmVyc2Uoc3RhY2tGcmFtZXMpOwoKICAvLyBJZiB3ZSBoYXZlIGFuIGFwcCByb290IHBhdGgsIHJld3JpdGUgdGhlIGZpbGVuYW1lcyB0byBiZSByZWxhdGl2ZSB0byB0aGUgYXBwIHJvb3QKICBpZiAob3B0aW9ucy5hcHBSb290UGF0aCkgewogICAgZm9yIChjb25zdCBmcmFtZSBvZiBzdHJpcHBlZEZyYW1lcykgewogICAgICBpZiAoIWZyYW1lLmZpbGVuYW1lKSB7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KCiAgICAgIGZyYW1lLmZpbGVuYW1lID0gbm9ybWFsaXplVXJsVG9CYXNlKGZyYW1lLmZpbGVuYW1lLCBvcHRpb25zLmFwcFJvb3RQYXRoKTsKICAgIH0KICB9CgogIHJldHVybiBzdHJpcHBlZEZyYW1lczsKfQoKZnVuY3Rpb24gYXBwbHlTY29wZVRvRXZlbnQoZXZlbnQsIHNjb3BlKSB7CiAgYXBwbHlTY29wZURhdGFUb0V2ZW50KGV2ZW50LCBzY29wZSk7CgogIGlmICghX29wdGlvbmFsQ2hhaW4oW2V2ZW50LCAnYWNjZXNzJywgXzQgPT4gXzQuY29udGV4dHMsICdvcHRpb25hbEFjY2VzcycsIF81ID0+IF81LnRyYWNlXSkpIHsKICAgIGNvbnN0IHsgdHJhY2VJZCwgc3BhbklkLCBwYXJlbnRTcGFuSWQgfSA9IHNjb3BlLnByb3BhZ2F0aW9uQ29udGV4dDsKICAgIGV2ZW50LmNvbnRleHRzID0gewogICAgICB0cmFjZTogewogICAgICAgIHRyYWNlX2lkOiB0cmFjZUlkLAogICAgICAgIHNwYW5faWQ6IHNwYW5JZCwKICAgICAgICBwYXJlbnRfc3Bhbl9pZDogcGFyZW50U3BhbklkLAogICAgICB9LAogICAgICAuLi5ldmVudC5jb250ZXh0cywKICAgIH07CiAgfQp9Cgphc3luYyBmdW5jdGlvbiBzZW5kQW5yRXZlbnQoZnJhbWVzLCBzY29wZSkgewogIGlmIChoYXNTZW50QW5yRXZlbnQpIHsKICAgIHJldHVybjsKICB9CgogIGhhc1NlbnRBbnJFdmVudCA9IHRydWU7CgogIGF3YWl0IHNlbmRBYm5vcm1hbFNlc3Npb24oKTsKCiAgbG9nKCdTZW5kaW5nIGV2ZW50Jyk7CgogIGNvbnN0IGV2ZW50ID0gewogICAgZXZlbnRfaWQ6IHV1aWQ0KCksCiAgICBjb250ZXh0czogb3B0aW9ucy5jb250ZXh0cywKICAgIHJlbGVhc2U6IG9wdGlvbnMucmVsZWFzZSwKICAgIGVudmlyb25tZW50OiBvcHRpb25zLmVudmlyb25tZW50LAogICAgZGlzdDogb3B0aW9ucy5kaXN0LAogICAgcGxhdGZvcm06ICdub2RlJywKICAgIGxldmVsOiAnZXJyb3InLAogICAgZXhjZXB0aW9uOiB7CiAgICAgIHZhbHVlczogWwogICAgICAgIHsKICAgICAgICAgIHR5cGU6ICdBcHBsaWNhdGlvbk5vdFJlc3BvbmRpbmcnLAogICAgICAgICAgdmFsdWU6IGBBcHBsaWNhdGlvbiBOb3QgUmVzcG9uZGluZyBmb3IgYXQgbGVhc3QgJHtvcHRpb25zLmFuclRocmVzaG9sZH0gbXNgLAogICAgICAgICAgc3RhY2t0cmFjZTogeyBmcmFtZXM6IHByZXBhcmVTdGFja0ZyYW1lcyhmcmFtZXMpIH0sCiAgICAgICAgICAvLyBUaGlzIGVuc3VyZXMgdGhlIFVJIGRvZXNuJ3Qgc2F5ICdDcmFzaGVkIGluJyBmb3IgdGhlIHN0YWNrIHRyYWNlCiAgICAgICAgICBtZWNoYW5pc206IHsgdHlwZTogJ0FOUicgfSwKICAgICAgICB9LAogICAgICBdLAogICAgfSwKICAgIHRhZ3M6IG9wdGlvbnMuc3RhdGljVGFncywKICB9OwoKICBpZiAoc2NvcGUpIHsKICAgIGFwcGx5U2NvcGVUb0V2ZW50KGV2ZW50LCBzY29wZSk7CiAgfQoKICBjb25zdCBlbnZlbG9wZSA9IGNyZWF0ZUV2ZW50RW52ZWxvcGUoZXZlbnQsIG9wdGlvbnMuZHNuLCBvcHRpb25zLnNka01ldGFkYXRhKTsKICAvLyBMb2cgdGhlIGVudmVsb3BlIHRvIGFpZCBpbiB0ZXN0aW5nCiAgbG9nKEpTT04uc3RyaW5naWZ5KGVudmVsb3BlKSk7CgogIGF3YWl0IHRyYW5zcG9ydC5zZW5kKGVudmVsb3BlKTsKICBhd2FpdCB0cmFuc3BvcnQuZmx1c2goMjAwMCk7CgogIC8vIERlbGF5IGZvciA1IHNlY29uZHMgc28gdGhhdCBzdGRpbyBjYW4gZmx1c2ggaW4gdGhlIG1haW4gZXZlbnQgbG9vcCBldmVyIHJlc3RhcnRzLgogIC8vIFRoaXMgaXMgbWFpbmx5IGZvciB0aGUgYmVuZWZpdCBvZiBsb2dnaW5nL2RlYnVnZ2luZyBpc3N1ZXMuCiAgc2V0VGltZW91dCgoKSA9PiB7CiAgICBwcm9jZXNzLmV4aXQoMCk7CiAgfSwgNTAwMCk7Cn0KCmxldCBkZWJ1Z2dlclBhdXNlOwoKaWYgKG9wdGlvbnMuY2FwdHVyZVN0YWNrVHJhY2UpIHsKICBsb2coJ0Nvbm5lY3RpbmcgdG8gZGVidWdnZXInKTsKCiAgY29uc3Qgc2Vzc2lvbiA9IG5ldyBTZXNzaW9uKCkgOwogIHNlc3Npb24uY29ubmVjdFRvTWFpblRocmVhZCgpOwoKICBsb2coJ0Nvbm5lY3RlZCB0byBkZWJ1Z2dlcicpOwoKICAvLyBDb2xsZWN0IHNjcmlwdElkIC0+IHVybCBtYXAgc28gd2UgY2FuIGxvb2sgdXAgdGhlIGZpbGVuYW1lcyBsYXRlcgogIGNvbnN0IHNjcmlwdHMgPSBuZXcgTWFwKCk7CgogIHNlc3Npb24ub24oJ0RlYnVnZ2VyLnNjcmlwdFBhcnNlZCcsIGV2ZW50ID0+IHsKICAgIHNjcmlwdHMuc2V0KGV2ZW50LnBhcmFtcy5zY3JpcHRJZCwgZXZlbnQucGFyYW1zLnVybCk7CiAgfSk7CgogIHNlc3Npb24ub24oJ0RlYnVnZ2VyLnBhdXNlZCcsIGV2ZW50ID0+IHsKICAgIGlmIChldmVudC5wYXJhbXMucmVhc29uICE9PSAnb3RoZXInKSB7CiAgICAgIHJldHVybjsKICAgIH0KCiAgICB0cnkgewogICAgICBsb2coJ0RlYnVnZ2VyIHBhdXNlZCcpOwoKICAgICAgLy8gY29weSB0aGUgZnJhbWVzCiAgICAgIGNvbnN0IGNhbGxGcmFtZXMgPSBbLi4uZXZlbnQucGFyYW1zLmNhbGxGcmFtZXNdOwoKICAgICAgY29uc3QgZ2V0TW9kdWxlTmFtZSA9IG9wdGlvbnMuYXBwUm9vdFBhdGggPyBjcmVhdGVHZXRNb2R1bGVGcm9tRmlsZW5hbWUob3B0aW9ucy5hcHBSb290UGF0aCkgOiAoKSA9PiB1bmRlZmluZWQ7CiAgICAgIGNvbnN0IHN0YWNrRnJhbWVzID0gY2FsbEZyYW1lcy5tYXAoZnJhbWUgPT4KICAgICAgICBjYWxsRnJhbWVUb1N0YWNrRnJhbWUoZnJhbWUsIHNjcmlwdHMuZ2V0KGZyYW1lLmxvY2F0aW9uLnNjcmlwdElkKSwgZ2V0TW9kdWxlTmFtZSksCiAgICAgICk7CgogICAgICAvLyBFdmFsdWF0ZSBhIHNjcmlwdCBpbiB0aGUgY3VycmVudGx5IHBhdXNlZCBjb250ZXh0CiAgICAgIHNlc3Npb24ucG9zdCgKICAgICAgICAnUnVudGltZS5ldmFsdWF0ZScsCiAgICAgICAgewogICAgICAgICAgLy8gR3JhYiB0aGUgdHJhY2UgY29udGV4dCBmcm9tIHRoZSBjdXJyZW50IHNjb3BlCiAgICAgICAgICBleHByZXNzaW9uOiAnZ2xvYmFsLl9fU0VOVFJZX0dFVF9TQ09QRVNfXygpOycsCiAgICAgICAgICAvLyBEb24ndCByZS10cmlnZ2VyIHRoZSBkZWJ1Z2dlciBpZiB0aGlzIGNhdXNlcyBhbiBlcnJvcgogICAgICAgICAgc2lsZW50OiB0cnVlLAogICAgICAgICAgLy8gU2VyaWFsaXplIHRoZSByZXN1bHQgdG8ganNvbiBvdGhlcndpc2Ugb25seSBwcmltaXRpdmVzIGFyZSBzdXBwb3J0ZWQKICAgICAgICAgIHJldHVybkJ5VmFsdWU6IHRydWUsCiAgICAgICAgfSwKICAgICAgICAoZXJyLCBwYXJhbSkgPT4gewogICAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICBsb2coYEVycm9yIGV4ZWN1dGluZyBzY3JpcHQ6ICcke2Vyci5tZXNzYWdlfSdgKTsKICAgICAgICAgIH0KCiAgICAgICAgICBjb25zdCBzY29wZXMgPSBwYXJhbSAmJiBwYXJhbS5yZXN1bHQgPyAocGFyYW0ucmVzdWx0LnZhbHVlICkgOiB1bmRlZmluZWQ7CgogICAgICAgICAgc2Vzc2lvbi5wb3N0KCdEZWJ1Z2dlci5yZXN1bWUnKTsKICAgICAgICAgIHNlc3Npb24ucG9zdCgnRGVidWdnZXIuZGlzYWJsZScpOwoKICAgICAgICAgIHNlbmRBbnJFdmVudChzdGFja0ZyYW1lcywgc2NvcGVzKS50aGVuKG51bGwsICgpID0+IHsKICAgICAgICAgICAgbG9nKCdTZW5kaW5nIEFOUiBldmVudCBmYWlsZWQuJyk7CiAgICAgICAgICB9KTsKICAgICAgICB9LAogICAgICApOwogICAgfSBjYXRjaCAoZSkgewogICAgICBzZXNzaW9uLnBvc3QoJ0RlYnVnZ2VyLnJlc3VtZScpOwogICAgICBzZXNzaW9uLnBvc3QoJ0RlYnVnZ2VyLmRpc2FibGUnKTsKICAgICAgdGhyb3cgZTsKICAgIH0KICB9KTsKCiAgZGVidWdnZXJQYXVzZSA9ICgpID0+IHsKICAgIHRyeSB7CiAgICAgIHNlc3Npb24ucG9zdCgnRGVidWdnZXIuZW5hYmxlJywgKCkgPT4gewogICAgICAgIHNlc3Npb24ucG9zdCgnRGVidWdnZXIucGF1c2UnKTsKICAgICAgfSk7CiAgICB9IGNhdGNoIChfKSB7CiAgICAgIC8vCiAgICB9CiAgfTsKfQoKZnVuY3Rpb24gY3JlYXRlSHJUaW1lcigpIHsKICAvLyBUT0RPICh2OCk6IFdlIGNhbiB1c2UgcHJvY2Vzcy5ocnRpbWUuYmlnaW50KCkgYWZ0ZXIgd2UgZHJvcCBub2RlIHY4CiAgbGV0IGxhc3RQb2xsID0gcHJvY2Vzcy5ocnRpbWUoKTsKCiAgcmV0dXJuIHsKICAgIGdldFRpbWVNczogKCkgPT4gewogICAgICBjb25zdCBbc2Vjb25kcywgbmFub1NlY29uZHNdID0gcHJvY2Vzcy5ocnRpbWUobGFzdFBvbGwpOwogICAgICByZXR1cm4gTWF0aC5mbG9vcihzZWNvbmRzICogMWUzICsgbmFub1NlY29uZHMgLyAxZTYpOwogICAgfSwKICAgIHJlc2V0OiAoKSA9PiB7CiAgICAgIGxhc3RQb2xsID0gcHJvY2Vzcy5ocnRpbWUoKTsKICAgIH0sCiAgfTsKfQoKZnVuY3Rpb24gd2F0Y2hkb2dUaW1lb3V0KCkgewogIGxvZygnV2F0Y2hkb2cgdGltZW91dCcpOwoKICBpZiAoZGVidWdnZXJQYXVzZSkgewogICAgbG9nKCdQYXVzaW5nIGRlYnVnZ2VyIHRvIGNhcHR1cmUgc3RhY2sgdHJhY2UnKTsKICAgIGRlYnVnZ2VyUGF1c2UoKTsKICB9IGVsc2UgewogICAgbG9nKCdDYXB0dXJpbmcgZXZlbnQgd2l0aG91dCBhIHN0YWNrIHRyYWNlJyk7CiAgICBzZW5kQW5yRXZlbnQoKS50aGVuKG51bGwsICgpID0+IHsKICAgICAgbG9nKCdTZW5kaW5nIEFOUiBldmVudCBmYWlsZWQgb24gd2F0Y2hkb2cgdGltZW91dC4nKTsKICAgIH0pOwogIH0KfQoKY29uc3QgeyBwb2xsIH0gPSB3YXRjaGRvZ1RpbWVyKGNyZWF0ZUhyVGltZXIsIG9wdGlvbnMucG9sbEludGVydmFsLCBvcHRpb25zLmFuclRocmVzaG9sZCwgd2F0Y2hkb2dUaW1lb3V0KTsKCl9vcHRpb25hbENoYWluKFtwYXJlbnRQb3J0LCAnb3B0aW9uYWxBY2Nlc3MnLCBfNiA9PiBfNi5vbiwgJ2NhbGwnLCBfNyA9PiBfNygnbWVzc2FnZScsIChtc2cpID0+IHsKICBpZiAobXNnLnNlc3Npb24pIHsKICAgIHNlc3Npb24gPSBtYWtlU2Vzc2lvbihtc2cuc2Vzc2lvbik7CiAgfQoKICBwb2xsKCk7Cn0pXSk7"});var kH1=U((He0,De0)=>{var{_optionalChain:zlQ,_optionalChainDelete:Ve0}=NA();Object.defineProperty(He0,"__esModule",{value:!0});var HlQ=X1("url"),wT=j9(),yH1=NA(),Xs1=Fg(),DlQ=Fe0(),ClQ=50,UlQ=5000;function Fs1(A,...B){yH1.logger.log(`[ANR] ${A}`,...B)}function $lQ(){return yH1.GLOBAL_OBJ}function wlQ(){let A=wT.getGlobalScope().getScopeData();return wT.mergeScopeData(A,wT.getIsolationScope().getScopeData()),wT.mergeScopeData(A,wT.getCurrentScope().getScopeData()),A.attachments=[],A.eventProcessors=[],A}function qlQ(){return yH1.dynamicRequire(De0,"worker_threads")}async function ElQ(A){let B={message:"ANR"},Q={};for(let Z of A.getEventProcessors()){if(B===null)break;B=await Z(B,Q)}return zlQ([B,"optionalAccess",(Z)=>Z.contexts])||{}}var Ke0="Anr",NlQ=(A={})=>{if(Xs1.NODE_VERSION.major<16||Xs1.NODE_VERSION.major===16&&Xs1.NODE_VERSION.minor<17)throw new Error("ANR detection requires Node 16.17.0 or later");let B,Q,Z=$lQ();return Z.__SENTRY_GET_SCOPES__=wlQ,{name:Ke0,setupOnce(){},startWorker:()=>{if(B)return;if(Q)B=MlQ(Q,A)},stopWorker:()=>{if(B)B.then((G)=>{G(),B=void 0})},setup(G){Q=G,setImmediate(()=>this.startWorker())}}},ze0=wT.defineIntegration(NlQ),LlQ=wT.convertIntegrationFnToClass(Ke0,ze0);async function MlQ(A,B){let Q=A.getDsn();if(!Q)return()=>{};let Z=await ElQ(A);Ve0([Z,"access",(F)=>F.app,"optionalAccess",(F)=>delete F.app_memory]),Ve0([Z,"access",(F)=>F.device,"optionalAccess",(F)=>delete F.free_memory]);let G=A.getOptions(),Y=A.getSdkMetadata()||{};if(Y.sdk)Y.sdk.integrations=G.integrations.map((F)=>F.name);let I={debug:yH1.logger.isEnabled(),dsn:Q,environment:G.environment||"production",release:G.release,dist:G.dist,sdkMetadata:Y,appRootPath:B.appRootPath,pollInterval:B.pollInterval||ClQ,anrThreshold:B.anrThreshold||UlQ,captureStackTrace:!!B.captureStackTrace,staticTags:B.staticTags||{},contexts:Z};if(I.captureStackTrace){let F=X1("inspector");if(!F.url())F.open(0)}let{Worker:W}=qlQ(),J=new W(new HlQ.URL(`data:application/javascript;base64,${DlQ.base64WorkerScript}`),{workerData:I});process.on("exit",()=>{J.terminate()});let X=setInterval(()=>{try{let F=wT.getCurrentScope().getSession(),V=F?{...F,toJSON:void 0}:void 0;J.postMessage({session:V})}catch(F){}},I.pollInterval);return X.unref(),J.on("message",(F)=>{if(F==="session-ended")Fs1("ANR event sent from ANR worker. Clearing session in this thread."),wT.getCurrentScope().setSession(void 0)}),J.once("error",(F)=>{clearInterval(X),Fs1("ANR worker error",F)}),J.once("exit",(F)=>{clearInterval(X),Fs1("ANR worker exit",F)}),J.unref(),()=>{J.terminate(),clearInterval(X)}}He0.Anr=LlQ;He0.anrIntegration=ze0});var Ue0=U((Ce0)=>{Object.defineProperty(Ce0,"__esModule",{value:!0});var TlQ=j9(),PlQ=kH1();function jlQ(A){let B=TlQ.getClient();return new PlQ.Anr(A).setup(B),Promise.resolve()}Ce0.enableAnrDetection=jlQ});var Vs1=U((qe0)=>{var{_optionalChain:$e0}=NA();Object.defineProperty(qe0,"__esModule",{value:!0});var ai=j9(),we0=NA();function ylQ(A={}){return function({path:B,type:Q,next:Z,rawInput:G}){let Y=$e0([ai.getClient,"call",(X)=>X(),"optionalAccess",(X)=>X.getOptions,"call",(X)=>X()]),I=ai.getCurrentScope().getTransaction();if(I){I.updateName(`trpc/${B}`),I.setAttribute(ai.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,"route"),I.op="rpc.server";let X={procedure_type:Q};if(A.attachRpcInput!==void 0?A.attachRpcInput:$e0([Y,"optionalAccess",(F)=>F.sendDefaultPii]))X.input=we0.normalize(G);I.setContext("trpc",X)}function W(X){if(!X.ok)ai.captureException(X.error,{mechanism:{handled:!1,data:{function:"trpcMiddleware"}}})}let J;try{J=Z()}catch(X){throw ai.captureException(X,{mechanism:{handled:!1,data:{function:"trpcMiddleware"}}}),X}if(we0.isThenable(J))Promise.resolve(J).then((X)=>{W(X)},(X)=>{ai.captureException(X,{mechanism:{handled:!1,data:{function:"trpcMiddleware"}}})});else W(J);return J}}qe0.trpcMiddleware=ylQ});var Le0=U((Ne0)=>{Object.defineProperty(Ne0,"__esModule",{value:!0});var Ee0=NA();function _lQ(A,B){return Ee0.extractRequestData(A,{include:B})}function xlQ(A,B,Q={}){return Ee0.addRequestDataToEvent(A,B,{include:Q})}Ne0.extractRequestData=_lQ;Ne0.parseRequest=xlQ});var Re0=U((Oe0)=>{var{_optionalChain:_H1}=NA();Object.defineProperty(Oe0,"__esModule",{value:!0});var bW=j9(),si=NA(),flQ=O91(),xH1=Ws1(),hlQ=Vs1(),Me0=Le0();function glQ(){return function A(B,Q,Z){let G=_H1([bW.getClient,"call",(F)=>F(),"optionalAccess",(F)=>F.getOptions,"call",(F)=>F()]);if(!G||G.instrumenter!=="sentry"||_H1([B,"access",(F)=>F.method,"optionalAccess",(F)=>F.toUpperCase,"call",(F)=>F()])==="OPTIONS"||_H1([B,"access",(F)=>F.method,"optionalAccess",(F)=>F.toUpperCase,"call",(F)=>F()])==="HEAD")return Z();let Y=B.headers&&si.isString(B.headers["sentry-trace"])?B.headers["sentry-trace"]:void 0,I=_H1([B,"access",(F)=>F.headers,"optionalAccess",(F)=>F.baggage]);if(!bW.hasTracingEnabled(G))return Z();let[W,J]=si.extractPathForTransaction(B,{path:!0,method:!0}),X=bW.continueTrace({sentryTrace:Y,baggage:I},(F)=>bW.startTransaction({name:W,op:"http.server",origin:"auto.http.node.tracingHandler",...F,data:{[bW.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]:J},metadata:{...F.metadata,request:B}},{request:si.extractRequestData(B)}));bW.getCurrentScope().setSpan(X),Q.__sentry_transaction=X,Q.once("finish",()=>{setImmediate(()=>{si.addRequestDataToTransaction(X,B),bW.setHttpStatus(X,Q.statusCode),X.end()})}),Z()}}function ulQ(A={}){let B;if("include"in A)B={include:A.include};else{let{ip:Q,request:Z,transaction:G,user:Y}=A;if(Q||Z||G||Y)B={include:si.dropUndefinedKeys({ip:Q,request:Z,transaction:G,user:Y})}}return B}function mlQ(A){let B=ulQ(A),Q=bW.getClient();if(Q&&xH1.isAutoSessionTrackingEnabled(Q)){Q.initSessionFlusher();let Z=bW.getCurrentScope();if(Z.getSession())Z.setSession()}return function Z(G,Y,I){if(A&&A.flushTimeout&&A.flushTimeout>0){let W=Y.end;Y.end=function(J,X,F){bW.flush(A.flushTimeout).then(()=>{W.call(this,J,X,F)}).then(null,(V)=>{flQ.DEBUG_BUILD&&si.logger.error(V),W.call(this,J,X,F)})}}bW.runWithAsyncContext(()=>{let W=bW.getCurrentScope();W.setSDKProcessingMetadata({request:G,requestDataOptionsFromExpressHandler:B});let J=bW.getClient();if(xH1.isAutoSessionTrackingEnabled(J))W.setRequestSession({status:"ok"});Y.once("finish",()=>{let X=bW.getClient();if(xH1.isAutoSessionTrackingEnabled(X))setImmediate(()=>{if(X&&X._captureRequestSession)X._captureRequestSession()})}),I()})}}function dlQ(A){let B=A.status||A.statusCode||A.status_code||A.output&&A.output.statusCode;return B?parseInt(B,10):500}function clQ(A){return dlQ(A)>=500}function llQ(A){return function B(Q,Z,G,Y){if((A&&A.shouldHandleError||clQ)(Q)){bW.withScope((W)=>{W.setSDKProcessingMetadata({request:Z});let J=G.__sentry_transaction;if(J&&!bW.getActiveSpan())W.setSpan(J);let X=bW.getClient();if(X&&xH1.isAutoSessionTrackingEnabled(X)){if(X._sessionFlusher!==void 0){let K=W.getRequestSession();if(K&&K.status!==void 0)K.status="crashed"}}let F=bW.captureException(Q,{mechanism:{type:"middleware",handled:!1}});G.sentry=F,Y(Q)});return}Y(Q)}}var plQ=hlQ.trpcMiddleware;Oe0.extractRequestData=Me0.extractRequestData;Oe0.parseRequest=Me0.parseRequest;Oe0.errorHandler=llQ;Oe0.requestHandler=mlQ;Oe0.tracingHandler=glQ;Oe0.trpcMiddleware=plQ});var Ks1=U((_e0)=>{Object.defineProperty(_e0,"__esModule",{value:!0});var sK=j9(),Pe0=NA();function Te0(A){return A&&A.statusCode!==void 0}function tlQ(A){return A&&A.error!==void 0}function elQ(A){sK.captureException(A,{mechanism:{type:"hapi",handled:!1,data:{function:"hapiErrorPlugin"}}})}var je0={name:"SentryHapiErrorPlugin",version:sK.SDK_VERSION,register:async function(A){A.events.on("request",(Q,Z)=>{let G=sK.getActiveTransaction();if(tlQ(Z))elQ(Z.error);if(G)G.setStatus("internal_error"),G.end()})}},Se0={name:"SentryHapiTracingPlugin",version:sK.SDK_VERSION,register:async function(A){let B=A;B.ext("onPreHandler",(Q,Z)=>{let G=sK.continueTrace({sentryTrace:Q.headers["sentry-trace"]||void 0,baggage:Q.headers.baggage||void 0},(Y)=>{return sK.startTransaction({...Y,op:"hapi.request",name:Q.route.path,description:`${Q.route.method} ${Q.path}`})});return sK.getCurrentScope().setSpan(G),Z.continue}),B.ext("onPreResponse",(Q,Z)=>{let G=sK.getActiveTransaction();if(Q.response&&Te0(Q.response)&&G){let Y=Q.response;Y.header("sentry-trace",sK.spanToTraceHeader(G));let I=Pe0.dynamicSamplingContextToSentryBaggageHeader(sK.getDynamicSamplingContextFromSpan(G));if(I)Y.header("baggage",I)}return Z.continue}),B.ext("onPostHandler",(Q,Z)=>{let G=sK.getActiveTransaction();if(G){if(Q.response&&Te0(Q.response))sK.setHttpStatus(G,Q.response.statusCode);G.end()}return Z.continue})}},ye0="Hapi",ApQ=(A={})=>{let B=A.server;return{name:ye0,setupOnce(){if(!B)return;Pe0.fill(B,"start",(Q)=>{return async function(){return await this.register(Se0),await this.register(je0),Q.apply(this)}})}}},ke0=sK.defineIntegration(ApQ),BpQ=sK.convertIntegrationFnToClass(ye0,ke0);_e0.Hapi=BpQ;_e0.hapiErrorPlugin=je0;_e0.hapiIntegration=ke0;_e0.hapiTracingPlugin=Se0});var ve0=U((xe0)=>{Object.defineProperty(xe0,"__esModule",{value:!0});var IpQ=zH1(),WpQ=UH1(),JpQ=MH1(),XpQ=RH1(),FpQ=EH1(),VpQ=CH1(),KpQ=HH1(),zpQ=j9(),HpQ=qH1(),DpQ=jH1(),CpQ=TH1(),UpQ=kH1(),$pQ=Ks1();xe0.Console=IpQ.Console;xe0.Http=WpQ.Http;xe0.OnUncaughtException=JpQ.OnUncaughtException;xe0.OnUnhandledRejection=XpQ.OnUnhandledRejection;xe0.Modules=FpQ.Modules;xe0.ContextLines=VpQ.ContextLines;xe0.Context=KpQ.Context;xe0.RequestData=zpQ.RequestData;xe0.LocalVariables=HpQ.LocalVariables;xe0.Undici=DpQ.Undici;xe0.Spotlight=CpQ.Spotlight;xe0.Anr=UpQ.Anr;xe0.Hapi=$pQ.Hapi});var fe0=U((be0)=>{Object.defineProperty(be0,"__esModule",{value:!0});var Cg=la1();be0.Apollo=Cg.Apollo;be0.Express=Cg.Express;be0.GraphQL=Cg.GraphQL;be0.Mongo=Cg.Mongo;be0.Mysql=Cg.Mysql;be0.Postgres=Cg.Postgres;be0.Prisma=Cg.Prisma});var me0=U((ue0)=>{Object.defineProperty(ue0,"__esModule",{value:!0});var Ug=j9(),$g=NA(),he0="CaptureConsole",gpQ=(A={})=>{let B=A.levels||$g.CONSOLE_LEVELS;return{name:he0,setupOnce(){},setup(Q){if(!("console"in $g.GLOBAL_OBJ))return;$g.addConsoleInstrumentationHandler(({args:Z,level:G})=>{if(Ug.getClient()!==Q||!B.includes(G))return;mpQ(Z,G)})}}},ge0=Ug.defineIntegration(gpQ),upQ=Ug.convertIntegrationFnToClass(he0,ge0);function mpQ(A,B){let Q={level:$g.severityLevelFromString(B),extra:{arguments:A}};Ug.withScope((Z)=>{if(Z.addEventProcessor((I)=>{return I.logger="console",$g.addExceptionMechanism(I,{handled:!1,type:"console"}),I}),B==="assert"&&A[0]===!1){let I=`Assertion failed: ${$g.safeJoin(A.slice(1)," ")||"console.assert"}`;Z.setExtra("arguments",A.slice(1)),Ug.captureMessage(I,Q);return}let G=A.find((I)=>I instanceof Error);if(B==="error"&&G){Ug.captureException(G,Q);return}let Y=$g.safeJoin(A," ");Ug.captureMessage(Y,Q)})}ue0.CaptureConsole=upQ;ue0.captureConsoleIntegration=ge0});var ie0=U((pe0)=>{Object.defineProperty(pe0,"__esModule",{value:!0});var de0=j9(),lpQ=NA(),ce0="Debug",ppQ=(A={})=>{let B={debugger:!1,stringify:!1,...A};return{name:ce0,setupOnce(){},setup(Q){if(!Q.on)return;Q.on("beforeSendEvent",(Z,G)=>{if(B.debugger)debugger;lpQ.consoleSandbox(()=>{if(B.stringify){if(console.log(JSON.stringify(Z,null,2)),G&&Object.keys(G).length)console.log(JSON.stringify(G,null,2))}else if(console.log(Z),G&&Object.keys(G).length)console.log(G)})})}}},le0=de0.defineIntegration(ppQ),ipQ=de0.convertIntegrationFnToClass(ce0,le0);pe0.Debug=ipQ;pe0.debugIntegration=le0});var T91=U((ne0)=>{Object.defineProperty(ne0,"__esModule",{value:!0});var spQ=typeof __SENTRY_DEBUG__==="undefined"||__SENTRY_DEBUG__;ne0.DEBUG_BUILD=spQ});var Z1A=U((Q1A)=>{Object.defineProperty(Q1A,"__esModule",{value:!0});var re0=j9(),opQ=NA(),tpQ=T91(),oe0="Dedupe",epQ=()=>{let A;return{name:oe0,setupOnce(){},processEvent(B){if(B.type)return B;try{if(ee0(B,A))return tpQ.DEBUG_BUILD&&opQ.logger.warn("Event dropped due to being a duplicate of previously captured event."),null}catch(Q){}return A=B}}},te0=re0.defineIntegration(epQ),AiQ=re0.convertIntegrationFnToClass(oe0,te0);function ee0(A,B){if(!B)return!1;if(BiQ(A,B))return!0;if(QiQ(A,B))return!0;return!1}function BiQ(A,B){let Q=A.message,Z=B.message;if(!Q&&!Z)return!1;if(Q&&!Z||!Q&&Z)return!1;if(Q!==Z)return!1;if(!B1A(A,B))return!1;if(!A1A(A,B))return!1;return!0}function QiQ(A,B){let Q=ae0(B),Z=ae0(A);if(!Q||!Z)return!1;if(Q.type!==Z.type||Q.value!==Z.value)return!1;if(!B1A(A,B))return!1;if(!A1A(A,B))return!1;return!0}function A1A(A,B){let Q=se0(A),Z=se0(B);if(!Q&&!Z)return!0;if(Q&&!Z||!Q&&Z)return!1;if(Q=Q,Z=Z,Z.length!==Q.length)return!1;for(let G=0;G {Object.defineProperty(W1A,"__esModule",{value:!0});var G1A=j9(),Xk=NA(),IiQ=T91(),Y1A="ExtraErrorData",WiQ=(A={})=>{let B=A.depth||3,Q=A.captureErrorCause||!1;return{name:Y1A,setupOnce(){},processEvent(Z,G){return XiQ(Z,G,B,Q)}}},I1A=G1A.defineIntegration(WiQ),JiQ=G1A.convertIntegrationFnToClass(Y1A,I1A);function XiQ(A,B={},Q,Z){if(!B.originalException||!Xk.isError(B.originalException))return A;let G=B.originalException.name||B.originalException.constructor.name,Y=FiQ(B.originalException,Z);if(Y){let I={...A.contexts},W=Xk.normalize(Y,Q);if(Xk.isPlainObject(W))Xk.addNonEnumerableProperty(W,"__sentry_skip_normalization__",!0),I[G]=W;return{...A,contexts:I}}return A}function FiQ(A,B){try{let Q=["name","message","stack","line","column","fileName","lineNumber","columnNumber","toJSON"],Z={};for(let G of Object.keys(A)){if(Q.indexOf(G)!==-1)continue;let Y=A[G];Z[G]=Xk.isError(Y)?Y.toString():Y}if(B&&A.cause!==void 0)Z.cause=Xk.isError(A.cause)?A.cause.toString():A.cause;if(typeof A.toJSON==="function"){let G=A.toJSON();for(let Y of Object.keys(G)){let I=G[Y];Z[Y]=Xk.isError(I)?I.toString():I}}return Z}catch(Q){IiQ.DEBUG_BUILD&&Xk.logger.error("Unable to extract extra data from the Error object:",Q)}return null}W1A.ExtraErrorData=JiQ;W1A.extraErrorDataIntegration=I1A});var F1A=U((X1A,zs1)=>{/*! + localForage -- Offline Storage, Improved + Version 1.10.0 + https://localforage.github.io/localForage + (c) 2013-2017 Mozilla, Apache License 2.0 +*/(function(A){if(typeof X1A==="object"&&typeof zs1!=="undefined")zs1.exports=A();else if(typeof define==="function"&&define.amd)define([],A);else{var B;if(typeof window!=="undefined")B=window;else if(typeof global!=="undefined")B=global;else if(typeof self!=="undefined")B=self;else B=this;B.localforage=A()}})(function(){var A,B,Q;return function Z(G,Y,I){function W(F,V){if(!Y[F]){if(!G[F]){var K=X1;if(!V&&K)return K(F,!0);if(J)return J(F,!0);var z=new Error("Cannot find module '"+F+"'");throw z.code="MODULE_NOT_FOUND",z}var H=Y[F]={exports:{}};G[F][0].call(H.exports,function(D){var C=G[F][1][D];return W(C?C:D)},H,H.exports,Z,G,Y,I)}return Y[F].exports}var J=X1;for(var X=0;X =43)}}).catch(function(){return!1})}function S(q1){if(typeof E==="boolean")return K.resolve(E);return b(q1).then(function(A0){return E=A0,E})}function d(q1){var A0=L[q1.name],g1={};if(g1.promise=new K(function(w0,P0){g1.resolve=w0,g1.reject=P0}),A0.deferredOperations.push(g1),!A0.dbReady)A0.dbReady=g1.promise;else A0.dbReady=A0.dbReady.then(function(){return g1.promise})}function u(q1){var A0=L[q1.name],g1=A0.deferredOperations.pop();if(g1)return g1.resolve(),g1.promise}function o(q1,A0){var g1=L[q1.name],w0=g1.deferredOperations.pop();if(w0)return w0.reject(A0),w0.promise}function m(q1,A0){return new K(function(g1,w0){if(L[q1.name]=L[q1.name]||D1(),q1.db)if(A0)d(q1),q1.db.close();else return g1(q1.db);var P0=[q1.name];if(A0)P0.push(q1.version);var M0=X.open.apply(X,P0);if(A0)M0.onupgradeneeded=function(GA){var qA=M0.result;try{if(qA.createObjectStore(q1.storeName),GA.oldVersion<=1)qA.createObjectStore(w)}catch(HA){if(HA.name==="ConstraintError")console.warn('The database "'+q1.name+'" has been upgraded from version '+GA.oldVersion+" to version "+GA.newVersion+', but the storage "'+q1.storeName+'" already exists.');else throw HA}};M0.onerror=function(GA){GA.preventDefault(),w0(M0.error)},M0.onsuccess=function(){var GA=M0.result;GA.onversionchange=function(qA){qA.target.close()},g1(GA),u(q1)}})}function j(q1){return m(q1,!1)}function r(q1){return m(q1,!0)}function Q1(q1,A0){if(!q1.db)return!0;var g1=!q1.db.objectStoreNames.contains(q1.storeName),w0=q1.version q1.db.version;if(w0){if(q1.version!==A0)console.warn('The database "'+q1.name+`" can't be downgraded from version `+q1.db.version+" to version "+q1.version+".");q1.version=q1.db.version}if(P0||g1){if(g1){var M0=q1.db.version+1;if(M0>q1.version)q1.version=M0}return!0}return!1}function J1(q1){return new K(function(A0,g1){var w0=new FileReader;w0.onerror=g1,w0.onloadend=function(P0){var M0=btoa(P0.target.result||"");A0({__local_forage_encoded_blob:!0,data:M0,type:q1.type})},w0.readAsBinaryString(q1)})}function R1(q1){var A0=k(atob(q1.data));return V([A0],{type:q1.type})}function s1(q1){return q1&&q1.__local_forage_encoded_blob}function Q0(q1){var A0=this,g1=A0._initReady().then(function(){var w0=L[A0._dbInfo.name];if(w0&&w0.dbReady)return w0.dbReady});return H(g1,q1,q1),g1}function k0(q1){d(q1);var A0=L[q1.name],g1=A0.forages;for(var w0=0;w0 0&&(!q1.db||M0.name==="InvalidStateError"||M0.name==="NotFoundError"))return K.resolve().then(function(){if(!q1.db||M0.name==="NotFoundError"&&!q1.db.objectStoreNames.contains(q1.storeName)&&q1.version<=q1.db.version){if(q1.db)q1.version=q1.db.version+1;return r(q1)}}).then(function(){return k0(q1).then(function(){q0(q1,A0,g1,w0-1)})}).catch(g1);g1(M0)}}function D1(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function m1(q1){var A0=this,g1={db:null};if(q1)for(var w0 in q1)g1[w0]=q1[w0];var P0=L[g1.name];if(!P0)P0=D1(),L[g1.name]=P0;if(P0.forages.push(A0),!A0._initReady)A0._initReady=A0.ready,A0.ready=Q0;var M0=[];function GA(){return K.resolve()}for(var qA=0;qA >4,pA[P0++]=(GA&15)<<4|qA>>2,pA[P0++]=(qA&3)<<6|HA&63;return jA}function wB(q1){var A0=new Uint8Array(q1),g1="",w0;for(w0=0;w0 >2],g1+=r1[(A0[w0]&3)<<4|A0[w0+1]>>4],g1+=r1[(A0[w0+1]&15)<<2|A0[w0+2]>>6],g1+=r1[A0[w0+2]&63];if(A0.length%3===2)g1=g1.substring(0,g1.length-1)+"=";else if(A0.length%3===1)g1=g1.substring(0,g1.length-2)+"==";return g1}function AQ(q1,A0){var g1="";if(q1)g1=X2.call(q1);if(q1&&(g1==="[object ArrayBuffer]"||q1.buffer&&X2.call(q1.buffer)==="[object ArrayBuffer]")){var w0,P0=H1;if(q1 instanceof ArrayBuffer)w0=q1,P0+=u0;else if(w0=q1.buffer,g1==="[object Int8Array]")P0+=p0;else if(g1==="[object Uint8Array]")P0+=wA;else if(g1==="[object Uint8ClampedArray]")P0+=JA;else if(g1==="[object Int16Array]")P0+=hA;else if(g1==="[object Uint16Array]")P0+=l2;else if(g1==="[object Int32Array]")P0+=yA;else if(g1==="[object Uint32Array]")P0+=F4;else if(g1==="[object Float32Array]")P0+=cA;else if(g1==="[object Float64Array]")P0+=xA;else A0(new Error("Failed to get type for BinaryArray"));A0(P0+wB(w0))}else if(g1==="[object Blob]"){var M0=new FileReader;M0.onload=function(){var GA=X0+q1.type+"~"+wB(this.result);A0(H1+C0+GA)},M0.readAsArrayBuffer(q1)}else try{A0(JSON.stringify(q1))}catch(GA){console.error("Couldn't convert value into a JSON string: ",q1),A0(null,GA)}}function i4(q1){if(q1.substring(0,p1)!==H1)return JSON.parse(q1);var A0=q1.substring(oA),g1=q1.substring(p1,oA),w0;if(g1===C0&&Y0.test(A0)){var P0=A0.match(Y0);w0=P0[1],A0=A0.substring(P0[0].length)}var M0=nA(A0);switch(g1){case u0:return M0;case C0:return V([M0],{type:w0});case p0:return new Int8Array(M0);case wA:return new Uint8Array(M0);case JA:return new Uint8ClampedArray(M0);case hA:return new Int16Array(M0);case l2:return new Uint16Array(M0);case yA:return new Int32Array(M0);case F4:return new Uint32Array(M0);case cA:return new Float32Array(M0);case xA:return new Float64Array(M0);default:throw new Error("Unkown type: "+g1)}}var E4={serialize:AQ,deserialize:i4,stringToBuffer:nA,bufferToString:wB};function L5(q1,A0,g1,w0){q1.executeSql("CREATE TABLE IF NOT EXISTS "+A0.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],g1,w0)}function AB(q1){var A0=this,g1={db:null};if(q1)for(var w0 in q1)g1[w0]=typeof q1[w0]!=="string"?q1[w0].toString():q1[w0];var P0=new K(function(M0,GA){try{g1.db=openDatabase(g1.name,String(g1.version),g1.description,g1.size)}catch(qA){return GA(qA)}g1.db.transaction(function(qA){L5(qA,g1,function(){A0._dbInfo=g1,M0()},function(HA,jA){GA(jA)})},GA)});return g1.serializer=E4,P0}function f4(q1,A0,g1,w0,P0,M0){q1.executeSql(g1,w0,P0,function(GA,qA){if(qA.code===qA.SYNTAX_ERR)GA.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[A0.storeName],function(HA,jA){if(!jA.rows.length)L5(HA,A0,function(){HA.executeSql(g1,w0,P0,M0)},M0);else M0(HA,qA)},M0);else M0(GA,qA)},M0)}function m8(q1,A0){var g1=this;q1=D(q1);var w0=new K(function(P0,M0){g1.ready().then(function(){var GA=g1._dbInfo;GA.db.transaction(function(qA){f4(qA,GA,"SELECT * FROM "+GA.storeName+" WHERE key = ? LIMIT 1",[q1],function(HA,jA){var pA=jA.rows.length?jA.rows.item(0).value:null;if(pA)pA=GA.serializer.deserialize(pA);P0(pA)},function(HA,jA){M0(jA)})})}).catch(M0)});return z(w0,A0),w0}function v7(q1,A0){var g1=this,w0=new K(function(P0,M0){g1.ready().then(function(){var GA=g1._dbInfo;GA.db.transaction(function(qA){f4(qA,GA,"SELECT * FROM "+GA.storeName,[],function(HA,jA){var pA=jA.rows,z2=pA.length;for(var $Q=0;$Q 0){GA(J6.apply(P0,[q1,HA,g1,w0-1]));return}qA($Q)}})})}).catch(qA)});return z(M0,g1),M0}function p6(q1,A0,g1){return J6.apply(this,[q1,A0,g1,1])}function B3(q1,A0){var g1=this;q1=D(q1);var w0=new K(function(P0,M0){g1.ready().then(function(){var GA=g1._dbInfo;GA.db.transaction(function(qA){f4(qA,GA,"DELETE FROM "+GA.storeName+" WHERE key = ?",[q1],function(){P0()},function(HA,jA){M0(jA)})})}).catch(M0)});return z(w0,A0),w0}function S3(q1){var A0=this,g1=new K(function(w0,P0){A0.ready().then(function(){var M0=A0._dbInfo;M0.db.transaction(function(GA){f4(GA,M0,"DELETE FROM "+M0.storeName,[],function(){w0()},function(qA,HA){P0(HA)})})}).catch(P0)});return z(g1,q1),g1}function d8(q1){var A0=this,g1=new K(function(w0,P0){A0.ready().then(function(){var M0=A0._dbInfo;M0.db.transaction(function(GA){f4(GA,M0,"SELECT COUNT(key) as c FROM "+M0.storeName,[],function(qA,HA){var jA=HA.rows.item(0).c;w0(jA)},function(qA,HA){P0(HA)})})}).catch(P0)});return z(g1,q1),g1}function V4(q1,A0){var g1=this,w0=new K(function(P0,M0){g1.ready().then(function(){var GA=g1._dbInfo;GA.db.transaction(function(qA){f4(qA,GA,"SELECT key FROM "+GA.storeName+" WHERE id = ? LIMIT 1",[q1+1],function(HA,jA){var pA=jA.rows.length?jA.rows.item(0).key:null;P0(pA)},function(HA,jA){M0(jA)})})}).catch(M0)});return z(w0,A0),w0}function I7(q1){var A0=this,g1=new K(function(w0,P0){A0.ready().then(function(){var M0=A0._dbInfo;M0.db.transaction(function(GA){f4(GA,M0,"SELECT key FROM "+M0.storeName,[],function(qA,HA){var jA=[];for(var pA=0;pA '__WebKitDatabaseInfoTable__'",[],function(P0,M0){var GA=[];for(var qA=0;qA 0}function FA(q1){var A0=this,g1={};if(q1)for(var w0 in q1)g1[w0]=q1[w0];if(g1.keyPrefix=I0(q1,A0._defaultConfig),!N0())return K.reject();return A0._dbInfo=g1,g1.serializer=E4,K.resolve()}function L2(q1){var A0=this,g1=A0.ready().then(function(){var w0=A0._dbInfo.keyPrefix;for(var P0=localStorage.length-1;P0>=0;P0--){var M0=localStorage.key(P0);if(M0.indexOf(w0)===0)localStorage.removeItem(M0)}});return z(g1,q1),g1}function o2(q1,A0){var g1=this;q1=D(q1);var w0=g1.ready().then(function(){var P0=g1._dbInfo,M0=localStorage.getItem(P0.keyPrefix+q1);if(M0)M0=P0.serializer.deserialize(M0);return M0});return z(w0,A0),w0}function yQ(q1,A0){var g1=this,w0=g1.ready().then(function(){var P0=g1._dbInfo,M0=P0.keyPrefix,GA=M0.length,qA=localStorage.length,HA=1;for(var jA=0;jA =0;GA--){var qA=localStorage.key(GA);if(qA.indexOf(M0)===0)localStorage.removeItem(qA)}});return z(P0,A0),P0}var z4={_driver:"localStorageWrapper",_initStorage:FA,_support:k1(),iterate:yQ,getItem:o2,setItem:_9,removeItem:Q4,clear:L2,length:K4,key:T9,keys:NQ,dropInstance:aB},y1=function q1(A0,g1){return A0===g1||typeof A0==="number"&&typeof g1==="number"&&isNaN(A0)&&isNaN(g1)},b1=function q1(A0,g1){var w0=A0.length,P0=0;while(P0 {Object.defineProperty(V1A,"__esModule",{value:!0});var mN=NA(),ziQ=F1A(),wg=T91(),Fk=mN.GLOBAL_OBJ;class P91{static __initStatic(){this.id="Offline"}constructor(A={}){this.name=P91.id,this.maxStoredEvents=A.maxStoredEvents||30,this.offlineEventStore=ziQ.createInstance({name:"sentry/offlineEventStore"})}setupOnce(A,B){if(this.hub=B(),"addEventListener"in Fk)Fk.addEventListener("online",()=>{this._sendEvents().catch(()=>{wg.DEBUG_BUILD&&mN.logger.warn("could not send cached events")})});let Q=(Z)=>{if(this.hub&&this.hub.getIntegration(P91)){if("navigator"in Fk&&"onLine"in Fk.navigator&&!Fk.navigator.onLine)return wg.DEBUG_BUILD&&mN.logger.log("Event dropped due to being a offline - caching instead"),this._cacheEvent(Z).then((G)=>this._enforceMaxEvents()).catch((G)=>{wg.DEBUG_BUILD&&mN.logger.warn("could not cache event while offline")}),null}return Z};if(Q.id=this.name,A(Q),"navigator"in Fk&&"onLine"in Fk.navigator&&Fk.navigator.onLine)this._sendEvents().catch(()=>{wg.DEBUG_BUILD&&mN.logger.warn("could not send cached events")})}async _cacheEvent(A){return this.offlineEventStore.setItem(mN.uuid4(),mN.normalize(A))}async _enforceMaxEvents(){let A=[];return this.offlineEventStore.iterate((B,Q,Z)=>{A.push({cacheKey:Q,event:B})}).then(()=>this._purgeEvents(A.sort((B,Q)=>(Q.event.timestamp||0)-(B.event.timestamp||0)).slice(this.maxStoredEvents B.cacheKey))).catch((B)=>{wg.DEBUG_BUILD&&mN.logger.warn("could not enforce max events")})}async _purgeEvent(A){return this.offlineEventStore.removeItem(A)}async _purgeEvents(A){return Promise.all(A.map((B)=>this._purgeEvent(B))).then()}async _sendEvents(){return this.offlineEventStore.iterate((A,B,Q)=>{if(this.hub)this.hub.captureEvent(A),this._purgeEvent(B).catch((Z)=>{wg.DEBUG_BUILD&&mN.logger.warn("could not purge event from cache")});else wg.DEBUG_BUILD&&mN.logger.warn("no hub found - could not send cached event")})}}P91.__initStatic();V1A.Offline=P91});var $1A=U((U1A)=>{Object.defineProperty(U1A,"__esModule",{value:!0});var j91=j9(),H1A=NA(),DiQ=H1A.GLOBAL_OBJ,D1A="ReportingObserver",z1A=new WeakMap,CiQ=(A={})=>{let B=A.types||["crash","deprecation","intervention"];function Q(Z){if(!z1A.has(j91.getClient()))return;for(let G of Z)j91.withScope((Y)=>{Y.setExtra("url",G.url);let I=`ReportingObserver [${G.type}]`,W="No details available";if(G.body){let J={};for(let X in G.body)J[X]=G.body[X];if(Y.setExtra("body",J),G.type==="crash"){let X=G.body;W=[X.crashId||"",X.reason||""].join(" ").trim()||W}else W=G.body.message||W}j91.captureMessage(`${I}: ${W}`)})}return{name:D1A,setupOnce(){if(!H1A.supportsReportingObserver())return;new DiQ.ReportingObserver(Q,{buffered:!0,types:B}).observe()},setup(Z){z1A.set(Z,!0)}}},C1A=j91.defineIntegration(CiQ),UiQ=j91.convertIntegrationFnToClass(D1A,C1A);U1A.ReportingObserver=UiQ;U1A.reportingObserverIntegration=C1A});var M1A=U((L1A)=>{Object.defineProperty(L1A,"__esModule",{value:!0});var q1A=j9(),w1A=NA(),E1A="RewriteFrames",qiQ=(A={})=>{let B=A.root,Q=A.prefix||"app:///",Z=A.iteratee||((I)=>{if(!I.filename)return I;let W=/^[a-zA-Z]:\\/.test(I.filename)||I.filename.includes("\\")&&!I.filename.includes("/"),J=/^\//.test(I.filename);if(W||J){let X=W?I.filename.replace(/^[a-zA-Z]:/,"").replace(/\\/g,"/"):I.filename,F=B?w1A.relative(B,X):w1A.basename(X);I.filename=`${Q}${F}`}return I});function G(I){try{return{...I,exception:{...I.exception,values:I.exception.values.map((W)=>({...W,...W.stacktrace&&{stacktrace:Y(W.stacktrace)}}))}}}catch(W){return I}}function Y(I){return{...I,frames:I&&I.frames&&I.frames.map((W)=>Z(W))}}return{name:E1A,setupOnce(){},processEvent(I){let W=I;if(I.exception&&Array.isArray(I.exception.values))W=G(W);return W}}},N1A=q1A.defineIntegration(qiQ),EiQ=q1A.convertIntegrationFnToClass(E1A,N1A);L1A.RewriteFrames=EiQ;L1A.rewriteFramesIntegration=N1A});var j1A=U((P1A)=>{Object.defineProperty(P1A,"__esModule",{value:!0});var O1A=j9(),R1A="SessionTiming",MiQ=()=>{let A=Date.now();return{name:R1A,setupOnce(){},processEvent(B){let Q=Date.now();return{...B,extra:{...B.extra,["session:start"]:A,["session:duration"]:Q-A,["session:end"]:Q}}}}},T1A=O1A.defineIntegration(MiQ),OiQ=O1A.convertIntegrationFnToClass(R1A,T1A);P1A.SessionTiming=OiQ;P1A.sessionTimingIntegration=T1A});var k1A=U((y1A)=>{Object.defineProperty(y1A,"__esModule",{value:!0});var PiQ=j9(),S1A="Transaction",jiQ=()=>{return{name:S1A,setupOnce(){},processEvent(A){let B=yiQ(A);for(let Q=B.length-1;Q>=0;Q--){let Z=B[Q];if(Z.in_app===!0){A.transaction=kiQ(Z);break}}return A}}},SiQ=PiQ.convertIntegrationFnToClass(S1A,jiQ);function yiQ(A){let B=A.exception&&A.exception.values&&A.exception.values[0];return B&&B.stacktrace&&B.stacktrace.frames||[]}function kiQ(A){return A.module||A.function?`${A.module||"?"}/${A.function||"?"}`:" "}y1A.Transaction=SiQ});var u1A=U((g1A)=>{Object.defineProperty(g1A,"__esModule",{value:!0});var qT=j9(),dN=NA(),vH1=T91(),_1A="HttpClient",xiQ=(A={})=>{let B={failedRequestStatusCodes:[[500,599]],failedRequestTargets:[/.*/],...A};return{name:_1A,setupOnce(){},setup(Q){ciQ(Q,B),liQ(Q,B)}}},x1A=qT.defineIntegration(xiQ),viQ=qT.convertIntegrationFnToClass(_1A,x1A);function biQ(A,B,Q,Z){if(b1A(A,Q.status,Q.url)){let G=piQ(B,Z),Y,I,W,J;if(h1A())[{headers:Y,cookies:W},{headers:I,cookies:J}]=[{cookieHeader:"Cookie",obj:G},{cookieHeader:"Set-Cookie",obj:Q}].map(({cookieHeader:F,obj:V})=>{let K=giQ(V.headers),z;try{let H=K[F]||K[F.toLowerCase()]||void 0;if(H)z=v1A(H)}catch(H){vH1.DEBUG_BUILD&&dN.logger.log(`Could not extract cookies from header ${F}`)}return{headers:K,cookies:z}});let X=f1A({url:G.url,method:G.method,status:Q.status,requestHeaders:Y,responseHeaders:I,requestCookies:W,responseCookies:J});qT.captureEvent(X)}}function fiQ(A,B,Q,Z){if(b1A(A,B.status,B.responseURL)){let G,Y,I;if(h1A()){try{let J=B.getResponseHeader("Set-Cookie")||B.getResponseHeader("set-cookie")||void 0;if(J)Y=v1A(J)}catch(J){vH1.DEBUG_BUILD&&dN.logger.log("Could not extract cookies from response headers")}try{I=uiQ(B)}catch(J){vH1.DEBUG_BUILD&&dN.logger.log("Could not extract headers from response")}G=Z}let W=f1A({url:B.responseURL,method:Q,status:B.status,requestHeaders:G,responseHeaders:I,responseCookies:Y});qT.captureEvent(W)}}function hiQ(A){if(A){let B=A["Content-Length"]||A["content-length"];if(B)return parseInt(B,10)}return}function v1A(A){return A.split("; ").reduce((B,Q)=>{let[Z,G]=Q.split("=");return B[Z]=G,B},{})}function giQ(A){let B={};return A.forEach((Q,Z)=>{B[Z]=Q}),B}function uiQ(A){let B=A.getAllResponseHeaders();if(!B)return{};return B.split(`\r +`).reduce((Q,Z)=>{let[G,Y]=Z.split(": ");return Q[G]=Y,Q},{})}function miQ(A,B){return A.some((Q)=>{if(typeof Q==="string")return B.includes(Q);return Q.test(B)})}function diQ(A,B){return A.some((Q)=>{if(typeof Q==="number")return Q===B;return B>=Q[0]&&B<=Q[1]})}function ciQ(A,B){if(!dN.supportsNativeFetch())return;dN.addFetchInstrumentationHandler((Q)=>{if(qT.getClient()!==A)return;let{response:Z,args:G}=Q,[Y,I]=G;if(!Z)return;biQ(B,Y,Z,I)})}function liQ(A,B){if(!("XMLHttpRequest"in dN.GLOBAL_OBJ))return;dN.addXhrInstrumentationHandler((Q)=>{if(qT.getClient()!==A)return;let Z=Q.xhr,G=Z[dN.SENTRY_XHR_DATA_KEY];if(!G)return;let{method:Y,request_headers:I}=G;try{fiQ(B,Z,Y,I)}catch(W){vH1.DEBUG_BUILD&&dN.logger.warn("Error while extracting response event form XHR response",W)}})}function b1A(A,B,Q){return diQ(A.failedRequestStatusCodes,B)&&miQ(A.failedRequestTargets,Q)&&!qT.isSentryRequestUrl(Q,qT.getClient())}function f1A(A){let B=`HTTP Client Error with status code: ${A.status}`,Q={message:B,exception:{values:[{type:"Error",value:B}]},request:{url:A.url,method:A.method,headers:A.requestHeaders,cookies:A.requestCookies},contexts:{response:{status_code:A.status,headers:A.responseHeaders,cookies:A.responseCookies,body_size:hiQ(A.responseHeaders)}}};return dN.addExceptionMechanism(Q,{type:"http.client",handled:!1}),Q}function piQ(A,B){if(!B&&A instanceof Request)return A;if(A instanceof Request&&A.bodyUsed)return A;return new Request(A,B)}function h1A(){let A=qT.getClient();return A?Boolean(A.getOptions().sendDefaultPii):!1}g1A.HttpClient=viQ;g1A.httpClientIntegration=x1A});var i1A=U((p1A)=>{Object.defineProperty(p1A,"__esModule",{value:!0});var m1A=j9(),Ds1=NA(),Hs1=Ds1.GLOBAL_OBJ,aiQ=7,d1A="ContextLines",siQ=(A={})=>{let B=A.frameContextLines!=null?A.frameContextLines:aiQ;return{name:d1A,setupOnce(){},processEvent(Q){return oiQ(Q,B)}}},c1A=m1A.defineIntegration(siQ),riQ=m1A.convertIntegrationFnToClass(d1A,c1A);function oiQ(A,B){let Q=Hs1.document,Z=Hs1.location&&Ds1.stripUrlQueryAndFragment(Hs1.location.href);if(!Q||!Z)return A;let G=A.exception&&A.exception.values;if(!G||!G.length)return A;let Y=Q.documentElement.innerHTML;if(!Y)return A;let I=["","",...Y.split(` +`),""];return G.forEach((W)=>{let J=W.stacktrace;if(J&&J.frames)J.frames=J.frames.map((X)=>l1A(X,I,Z,B))}),A}function l1A(A,B,Q,Z){if(A.filename!==Q||!A.lineno||!B.length)return A;return Ds1.addContextToFrame(B,A,Z),A}p1A.ContextLines=riQ;p1A.applySourceContextToFrame=l1A;p1A.contextLinesIntegration=c1A});var Z0A=U((Q0A)=>{Object.defineProperty(Q0A,"__esModule",{value:!0});var n1A=me0(),a1A=ie0(),s1A=Z1A(),r1A=J1A(),BnQ=K1A(),o1A=$1A(),t1A=M1A(),e1A=j1A(),QnQ=k1A(),A0A=u1A(),B0A=i1A();Q0A.CaptureConsole=n1A.CaptureConsole;Q0A.captureConsoleIntegration=n1A.captureConsoleIntegration;Q0A.Debug=a1A.Debug;Q0A.debugIntegration=a1A.debugIntegration;Q0A.Dedupe=s1A.Dedupe;Q0A.dedupeIntegration=s1A.dedupeIntegration;Q0A.ExtraErrorData=r1A.ExtraErrorData;Q0A.extraErrorDataIntegration=r1A.extraErrorDataIntegration;Q0A.Offline=BnQ.Offline;Q0A.ReportingObserver=o1A.ReportingObserver;Q0A.reportingObserverIntegration=o1A.reportingObserverIntegration;Q0A.RewriteFrames=t1A.RewriteFrames;Q0A.rewriteFramesIntegration=t1A.rewriteFramesIntegration;Q0A.SessionTiming=e1A.SessionTiming;Q0A.sessionTimingIntegration=e1A.sessionTimingIntegration;Q0A.Transaction=QnQ.Transaction;Q0A.HttpClient=A0A.HttpClient;Q0A.httpClientIntegration=A0A.httpClientIntegration;Q0A.ContextLines=B0A.ContextLines;Q0A.contextLinesIntegration=B0A.contextLinesIntegration});var bH1=U((G0A)=>{Object.defineProperty(G0A,"__esModule",{value:!0});var LnQ=[["january","1"],["february","2"],["march","3"],["april","4"],["may","5"],["june","6"],["july","7"],["august","8"],["september","9"],["october","10"],["november","11"],["december","12"],["jan","1"],["feb","2"],["mar","3"],["apr","4"],["may","5"],["jun","6"],["jul","7"],["aug","8"],["sep","9"],["oct","10"],["nov","11"],["dec","12"],["sunday","0"],["monday","1"],["tuesday","2"],["wednesday","3"],["thursday","4"],["friday","5"],["saturday","6"],["sun","0"],["mon","1"],["tue","2"],["wed","3"],["thu","4"],["fri","5"],["sat","6"]];function MnQ(A){return LnQ.reduce((B,[Q,Z])=>B.replace(new RegExp(Q,"gi"),Z),A)}G0A.replaceCronNames=MnQ});var X0A=U((J0A)=>{Object.defineProperty(J0A,"__esModule",{value:!0});var Y0A=j9(),I0A=bH1(),W0A="Automatic instrumentation of CronJob only supports crontab string";function RnQ(A,B){let Q=!1;return new Proxy(A,{construct(Z,G){let[Y,I,W,J,X,...F]=G;if(typeof Y!=="string")throw new Error(W0A);if(Q)throw new Error(`A job named '${B}' has already been scheduled`);Q=!0;let V=I0A.replaceCronNames(Y);function K(z,H){return Y0A.withMonitor(B,()=>{return I(z,H)},{schedule:{type:"crontab",value:V},timezone:X||void 0})}return new Z(Y,K,W,J,X,...F)},get(Z,G){if(G==="from")return(Y)=>{let{cronTime:I,onTick:W,timeZone:J}=Y;if(typeof I!=="string")throw new Error(W0A);if(Q)throw new Error(`A job named '${B}' has already been scheduled`);Q=!0;let X=I0A.replaceCronNames(I);return Y.onTick=(F,V)=>{return Y0A.withMonitor(B,()=>{return W(F,V)},{schedule:{type:"crontab",value:X},timezone:J||void 0})},Z.from(Y)};else return Z[G]}})}J0A.instrumentCron=RnQ});var K0A=U((V0A)=>{var{_optionalChain:F0A}=NA();Object.defineProperty(V0A,"__esModule",{value:!0});var PnQ=j9(),jnQ=bH1();function SnQ(A){return new Proxy(A,{get(B,Q){if(Q==="schedule"&&B.schedule)return new Proxy(B.schedule,{apply(Z,G,Y){let[I,,W]=Y;if(!F0A([W,"optionalAccess",(J)=>J.name]))throw new Error('Missing "name" for scheduled job. A name is required for Sentry check-in monitoring.');return PnQ.withMonitor(W.name,()=>{return Z.apply(G,Y)},{schedule:{type:"crontab",value:jnQ.replaceCronNames(I)},timezone:F0A([W,"optionalAccess",(J)=>J.timezone])})}});else return B[Q]}})}V0A.instrumentNodeCron=SnQ});var H0A=U((z0A)=>{Object.defineProperty(z0A,"__esModule",{value:!0});var knQ=j9(),_nQ=bH1();function xnQ(A){return new Proxy(A,{get(B,Q){if(Q==="scheduleJob")return new Proxy(B.scheduleJob,{apply(Z,G,Y){let[I,W]=Y;if(typeof I!=="string"||typeof W!=="string")throw new Error("Automatic instrumentation of 'node-schedule' requires the first parameter of 'scheduleJob' to be a job name string and the second parameter to be a crontab string");let J=I,X=W;return knQ.withMonitor(J,()=>{return Z.apply(G,Y)},{schedule:{type:"crontab",value:_nQ.replaceCronNames(X)}})}});return B[Q]}})}z0A.instrumentNodeSchedule=xnQ});var q0A=U((w0A)=>{Object.defineProperty(w0A,"__esModule",{value:!0});var lB=j9(),bnQ=qo0(),fnQ=pa1(),hnQ=aa1(),S91=Ws1(),Cs1=NA(),gnQ=Xe0(),D0A=Is1(),unQ=Ue0(),mnQ=Re0(),dnQ=ve0(),cnQ=fe0(),Vk=Z0A(),lnQ=zH1(),pnQ=MH1(),inQ=RH1(),nnQ=EH1(),anQ=CH1(),snQ=HH1(),rnQ=qH1(),onQ=TH1(),tnQ=kH1(),C0A=Ks1(),U0A=jH1(),$0A=UH1(),enQ=Vs1(),AaQ=X0A(),BaQ=K0A(),QaQ=H0A(),ZaQ=D0A.createGetModuleFromFilename(),GaQ={...lB.Integrations,...dnQ,...cnQ},YaQ={instrumentCron:AaQ.instrumentCron,instrumentNodeCron:BaQ.instrumentNodeCron,instrumentNodeSchedule:QaQ.instrumentNodeSchedule};w0A.Hub=lB.Hub;w0A.SDK_VERSION=lB.SDK_VERSION;w0A.SEMANTIC_ATTRIBUTE_SENTRY_OP=lB.SEMANTIC_ATTRIBUTE_SENTRY_OP;w0A.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN=lB.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN;w0A.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE=lB.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE;w0A.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE=lB.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE;w0A.Scope=lB.Scope;w0A.addBreadcrumb=lB.addBreadcrumb;w0A.addEventProcessor=lB.addEventProcessor;w0A.addGlobalEventProcessor=lB.addGlobalEventProcessor;w0A.addIntegration=lB.addIntegration;w0A.captureCheckIn=lB.captureCheckIn;w0A.captureEvent=lB.captureEvent;w0A.captureException=lB.captureException;w0A.captureMessage=lB.captureMessage;w0A.captureSession=lB.captureSession;w0A.close=lB.close;w0A.configureScope=lB.configureScope;w0A.continueTrace=lB.continueTrace;w0A.createTransport=lB.createTransport;w0A.endSession=lB.endSession;w0A.extractTraceparentData=lB.extractTraceparentData;w0A.flush=lB.flush;w0A.functionToStringIntegration=lB.functionToStringIntegration;w0A.getActiveSpan=lB.getActiveSpan;w0A.getActiveTransaction=lB.getActiveTransaction;w0A.getClient=lB.getClient;w0A.getCurrentHub=lB.getCurrentHub;w0A.getCurrentScope=lB.getCurrentScope;w0A.getGlobalScope=lB.getGlobalScope;w0A.getHubFromCarrier=lB.getHubFromCarrier;w0A.getIsolationScope=lB.getIsolationScope;w0A.getSpanStatusFromHttpCode=lB.getSpanStatusFromHttpCode;w0A.inboundFiltersIntegration=lB.inboundFiltersIntegration;w0A.isInitialized=lB.isInitialized;w0A.lastEventId=lB.lastEventId;w0A.linkedErrorsIntegration=lB.linkedErrorsIntegration;w0A.makeMain=lB.makeMain;w0A.metrics=lB.metrics;w0A.parameterize=lB.parameterize;w0A.requestDataIntegration=lB.requestDataIntegration;w0A.runWithAsyncContext=lB.runWithAsyncContext;w0A.setContext=lB.setContext;w0A.setCurrentClient=lB.setCurrentClient;w0A.setExtra=lB.setExtra;w0A.setExtras=lB.setExtras;w0A.setHttpStatus=lB.setHttpStatus;w0A.setMeasurement=lB.setMeasurement;w0A.setTag=lB.setTag;w0A.setTags=lB.setTags;w0A.setUser=lB.setUser;w0A.spanStatusfromHttpCode=lB.spanStatusfromHttpCode;w0A.startActiveSpan=lB.startActiveSpan;w0A.startInactiveSpan=lB.startInactiveSpan;w0A.startSession=lB.startSession;w0A.startSpan=lB.startSpan;w0A.startSpanManual=lB.startSpanManual;w0A.startTransaction=lB.startTransaction;w0A.trace=lB.trace;w0A.withActiveSpan=lB.withActiveSpan;w0A.withIsolationScope=lB.withIsolationScope;w0A.withMonitor=lB.withMonitor;w0A.withScope=lB.withScope;w0A.autoDiscoverNodePerformanceMonitoringIntegrations=bnQ.autoDiscoverNodePerformanceMonitoringIntegrations;w0A.NodeClient=fnQ.NodeClient;w0A.makeNodeTransport=hnQ.makeNodeTransport;w0A.defaultIntegrations=S91.defaultIntegrations;w0A.defaultStackParser=S91.defaultStackParser;w0A.getDefaultIntegrations=S91.getDefaultIntegrations;w0A.getSentryRelease=S91.getSentryRelease;w0A.init=S91.init;w0A.DEFAULT_USER_INCLUDES=Cs1.DEFAULT_USER_INCLUDES;w0A.addRequestDataToEvent=Cs1.addRequestDataToEvent;w0A.extractRequestData=Cs1.extractRequestData;w0A.deepReadDirSync=gnQ.deepReadDirSync;w0A.createGetModuleFromFilename=D0A.createGetModuleFromFilename;w0A.enableAnrDetection=unQ.enableAnrDetection;w0A.Handlers=mnQ;w0A.captureConsoleIntegration=Vk.captureConsoleIntegration;w0A.debugIntegration=Vk.debugIntegration;w0A.dedupeIntegration=Vk.dedupeIntegration;w0A.extraErrorDataIntegration=Vk.extraErrorDataIntegration;w0A.httpClientIntegration=Vk.httpClientIntegration;w0A.reportingObserverIntegration=Vk.reportingObserverIntegration;w0A.rewriteFramesIntegration=Vk.rewriteFramesIntegration;w0A.sessionTimingIntegration=Vk.sessionTimingIntegration;w0A.consoleIntegration=lnQ.consoleIntegration;w0A.onUncaughtExceptionIntegration=pnQ.onUncaughtExceptionIntegration;w0A.onUnhandledRejectionIntegration=inQ.onUnhandledRejectionIntegration;w0A.modulesIntegration=nnQ.modulesIntegration;w0A.contextLinesIntegration=anQ.contextLinesIntegration;w0A.nodeContextIntegration=snQ.nodeContextIntegration;w0A.localVariablesIntegration=rnQ.localVariablesIntegration;w0A.spotlightIntegration=onQ.spotlightIntegration;w0A.anrIntegration=tnQ.anrIntegration;w0A.hapiErrorPlugin=C0A.hapiErrorPlugin;w0A.hapiIntegration=C0A.hapiIntegration;w0A.Undici=U0A.Undici;w0A.nativeNodeFetchintegration=U0A.nativeNodeFetchintegration;w0A.Http=$0A.Http;w0A.httpIntegration=$0A.httpIntegration;w0A.trpcMiddleware=enQ.trpcMiddleware;w0A.Integrations=GaQ;w0A.cron=YaQ;w0A.getModuleFromFilename=ZaQ});var n8=U((E0A)=>{Object.defineProperty(E0A,"__esModule",{value:!0});E0A.isFunction=void 0;function ZrQ(A){return typeof A==="function"}E0A.isFunction=ZrQ});var Kk=U((L0A)=>{Object.defineProperty(L0A,"__esModule",{value:!0});L0A.createErrorClass=void 0;function GrQ(A){var B=function(Z){Error.call(Z),Z.stack=new Error().stack},Q=A(B);return Q.prototype=Object.create(Error.prototype),Q.prototype.constructor=Q,Q}L0A.createErrorClass=GrQ});var Us1=U((O0A)=>{Object.defineProperty(O0A,"__esModule",{value:!0});O0A.UnsubscriptionError=void 0;var YrQ=Kk();O0A.UnsubscriptionError=YrQ.createErrorClass(function(A){return function B(Q){A(this),this.message=Q?Q.length+` errors occurred during unsubscription: +`+Q.map(function(Z,G){return G+1+") "+Z.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=Q}})});var ET=U((T0A)=>{Object.defineProperty(T0A,"__esModule",{value:!0});T0A.arrRemove=void 0;function IrQ(A,B){if(A){var Q=A.indexOf(B);0<=Q&&A.splice(Q,1)}}T0A.arrRemove=IrQ});var TH=U((rK)=>{var j0A=rK&&rK.__values||function(A){var B=typeof Symbol==="function"&&Symbol.iterator,Q=B&&A[B],Z=0;if(Q)return Q.call(A);if(A&&typeof A.length==="number")return{next:function(){if(A&&Z>=A.length)A=void 0;return{value:A&&A[Z++],done:!A}}};throw new TypeError(B?"Object is not iterable.":"Symbol.iterator is not defined.")},S0A=rK&&rK.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},y0A=rK&&rK.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {Object.defineProperty(x0A,"__esModule",{value:!0});x0A.config=void 0;x0A.config={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}});var qs1=U((cN)=>{var b0A=cN&&cN.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},f0A=cN&&cN.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {Object.defineProperty(h0A,"__esModule",{value:!0});h0A.reportUnhandledError=void 0;var JrQ=ri(),XrQ=qs1();function FrQ(A){XrQ.timeoutProvider.setTimeout(function(){var B=JrQ.config.onUnhandledError;if(B)B(A);else throw A})}h0A.reportUnhandledError=FrQ});var mJ=U((u0A)=>{Object.defineProperty(u0A,"__esModule",{value:!0});u0A.noop=void 0;function VrQ(){}u0A.noop=VrQ});var l0A=U((d0A)=>{Object.defineProperty(d0A,"__esModule",{value:!0});d0A.createNotification=d0A.nextNotification=d0A.errorNotification=d0A.COMPLETE_NOTIFICATION=void 0;d0A.COMPLETE_NOTIFICATION=function(){return fH1("C",void 0,void 0)}();function KrQ(A){return fH1("E",void 0,A)}d0A.errorNotification=KrQ;function zrQ(A){return fH1("N",A,void 0)}d0A.nextNotification=zrQ;function fH1(A,B,Q){return{kind:A,value:B,error:Q}}d0A.createNotification=fH1});var hH1=U((i0A)=>{Object.defineProperty(i0A,"__esModule",{value:!0});i0A.captureError=i0A.errorContext=void 0;var p0A=ri(),qg=null;function UrQ(A){if(p0A.config.useDeprecatedSynchronousErrorHandling){var B=!qg;if(B)qg={errorThrown:!1,error:null};if(A(),B){var Q=qg,Z=Q.errorThrown,G=Q.error;if(qg=null,Z)throw G}}else A()}i0A.errorContext=UrQ;function $rQ(A){if(p0A.config.useDeprecatedSynchronousErrorHandling&&qg)qg.errorThrown=!0,qg.error=A}i0A.captureError=$rQ});var oi=U((lw)=>{var r0A=lw&&lw.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(lw,"__esModule",{value:!0});lw.EMPTY_OBSERVER=lw.SafeSubscriber=lw.Subscriber=void 0;var qrQ=n8(),a0A=TH(),Os1=ri(),ErQ=Es1(),s0A=mJ(),Ns1=l0A(),NrQ=qs1(),LrQ=hH1(),o0A=function(A){r0A(B,A);function B(Q){var Z=A.call(this)||this;if(Z.isStopped=!1,Q){if(Z.destination=Q,a0A.isSubscription(Q))Q.add(Z)}else Z.destination=lw.EMPTY_OBSERVER;return Z}return B.create=function(Q,Z,G){return new t0A(Q,Z,G)},B.prototype.next=function(Q){if(this.isStopped)Ms1(Ns1.nextNotification(Q),this);else this._next(Q)},B.prototype.error=function(Q){if(this.isStopped)Ms1(Ns1.errorNotification(Q),this);else this.isStopped=!0,this._error(Q)},B.prototype.complete=function(){if(this.isStopped)Ms1(Ns1.COMPLETE_NOTIFICATION,this);else this.isStopped=!0,this._complete()},B.prototype.unsubscribe=function(){if(!this.closed)this.isStopped=!0,A.prototype.unsubscribe.call(this),this.destination=null},B.prototype._next=function(Q){this.destination.next(Q)},B.prototype._error=function(Q){try{this.destination.error(Q)}finally{this.unsubscribe()}},B.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},B}(a0A.Subscription);lw.Subscriber=o0A;var MrQ=Function.prototype.bind;function Ls1(A,B){return MrQ.call(A,B)}var OrQ=function(){function A(B){this.partialObserver=B}return A.prototype.next=function(B){var Q=this.partialObserver;if(Q.next)try{Q.next(B)}catch(Z){gH1(Z)}},A.prototype.error=function(B){var Q=this.partialObserver;if(Q.error)try{Q.error(B)}catch(Z){gH1(Z)}else gH1(B)},A.prototype.complete=function(){var B=this.partialObserver;if(B.complete)try{B.complete()}catch(Q){gH1(Q)}},A}(),t0A=function(A){r0A(B,A);function B(Q,Z,G){var Y=A.call(this)||this,I;if(qrQ.isFunction(Q)||!Q)I={next:Q!==null&&Q!==void 0?Q:void 0,error:Z!==null&&Z!==void 0?Z:void 0,complete:G!==null&&G!==void 0?G:void 0};else{var W;if(Y&&Os1.config.useDeprecatedNextContext)W=Object.create(Q),W.unsubscribe=function(){return Y.unsubscribe()},I={next:Q.next&&Ls1(Q.next,W),error:Q.error&&Ls1(Q.error,W),complete:Q.complete&&Ls1(Q.complete,W)};else I=Q}return Y.destination=new OrQ(I),Y}return B}(o0A);lw.SafeSubscriber=t0A;function gH1(A){if(Os1.config.useDeprecatedSynchronousErrorHandling)LrQ.captureError(A);else ErQ.reportUnhandledError(A)}function RrQ(A){throw A}function Ms1(A,B){var Q=Os1.config.onStoppedNotification;Q&&NrQ.timeoutProvider.setTimeout(function(){return Q(A,B)})}lw.EMPTY_OBSERVER={closed:!0,next:s0A.noop,error:RrQ,complete:s0A.noop}});var k91=U((e0A)=>{Object.defineProperty(e0A,"__esModule",{value:!0});e0A.observable=void 0;e0A.observable=function(){return typeof Symbol==="function"&&Symbol.observable||"@@observable"}()});var dJ=U((BAA)=>{Object.defineProperty(BAA,"__esModule",{value:!0});BAA.identity=void 0;function TrQ(A){return A}BAA.identity=TrQ});var _91=U((GAA)=>{Object.defineProperty(GAA,"__esModule",{value:!0});GAA.pipeFromArray=GAA.pipe=void 0;var PrQ=dJ();function jrQ(){var A=[];for(var B=0;B {Object.defineProperty(WAA,"__esModule",{value:!0});WAA.Observable=void 0;var Ts1=oi(),yrQ=TH(),krQ=k91(),_rQ=_91(),xrQ=ri(),Rs1=n8(),vrQ=hH1(),brQ=function(){function A(B){if(B)this._subscribe=B}return A.prototype.lift=function(B){var Q=new A;return Q.source=this,Q.operator=B,Q},A.prototype.subscribe=function(B,Q,Z){var G=this,Y=hrQ(B)?B:new Ts1.SafeSubscriber(B,Q,Z);return vrQ.errorContext(function(){var I=G,W=I.operator,J=I.source;Y.add(W?W.call(Y,J):J?G._subscribe(Y):G._trySubscribe(Y))}),Y},A.prototype._trySubscribe=function(B){try{return this._subscribe(B)}catch(Q){B.error(Q)}},A.prototype.forEach=function(B,Q){var Z=this;return Q=IAA(Q),new Q(function(G,Y){var I=new Ts1.SafeSubscriber({next:function(W){try{B(W)}catch(J){Y(J),I.unsubscribe()}},error:Y,complete:G});Z.subscribe(I)})},A.prototype._subscribe=function(B){var Q;return(Q=this.source)===null||Q===void 0?void 0:Q.subscribe(B)},A.prototype[krQ.observable]=function(){return this},A.prototype.pipe=function(){var B=[];for(var Q=0;Q {Object.defineProperty(FAA,"__esModule",{value:!0});FAA.operate=FAA.hasLift=void 0;var grQ=n8();function XAA(A){return grQ.isFunction(A===null||A===void 0?void 0:A.lift)}FAA.hasLift=XAA;function urQ(A){return function(B){if(XAA(B))return B.lift(function(Q){try{return A(Q,this)}catch(Z){this.error(Z)}});throw new TypeError("Unable to lift unknown Observable type")}}FAA.operate=urQ});var DQ=U((zk)=>{var drQ=zk&&zk.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(zk,"__esModule",{value:!0});zk.OperatorSubscriber=zk.createOperatorSubscriber=void 0;var crQ=oi();function lrQ(A,B,Q,Z,G){return new KAA(A,B,Q,Z,G)}zk.createOperatorSubscriber=lrQ;var KAA=function(A){drQ(B,A);function B(Q,Z,G,Y,I,W){var J=A.call(this,Q)||this;return J.onFinalize=I,J.shouldUnsubscribe=W,J._next=Z?function(X){try{Z(X)}catch(F){Q.error(F)}}:A.prototype._next,J._error=Y?function(X){try{Y(X)}catch(F){Q.error(F)}finally{this.unsubscribe()}}:A.prototype._error,J._complete=G?function(){try{G()}catch(X){Q.error(X)}finally{this.unsubscribe()}}:A.prototype._complete,J}return B.prototype.unsubscribe=function(){var Q;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var Z=this.closed;A.prototype.unsubscribe.call(this),!Z&&((Q=this.onFinalize)===null||Q===void 0||Q.call(this))}},B}(crQ.Subscriber);zk.OperatorSubscriber=KAA});var uH1=U((zAA)=>{Object.defineProperty(zAA,"__esModule",{value:!0});zAA.refCount=void 0;var prQ=WB(),irQ=DQ();function nrQ(){return prQ.operate(function(A,B){var Q=null;A._refCount++;var Z=irQ.createOperatorSubscriber(B,void 0,void 0,void 0,function(){if(!A||A._refCount<=0||0<--A._refCount){Q=null;return}var G=A._connection,Y=Q;if(Q=null,G&&(!Y||G===Y))G.unsubscribe();B.unsubscribe()});if(A.subscribe(Z),!Z.closed)Q=A.connect()})}zAA.refCount=nrQ});var x91=U((ti)=>{var arQ=ti&&ti.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(ti,"__esModule",{value:!0});ti.ConnectableObservable=void 0;var srQ=z7(),DAA=TH(),rrQ=uH1(),orQ=DQ(),trQ=WB(),erQ=function(A){arQ(B,A);function B(Q,Z){var G=A.call(this)||this;if(G.source=Q,G.subjectFactory=Z,G._subject=null,G._refCount=0,G._connection=null,trQ.hasLift(Q))G.lift=Q.lift;return G}return B.prototype._subscribe=function(Q){return this.getSubject().subscribe(Q)},B.prototype.getSubject=function(){var Q=this._subject;if(!Q||Q.isStopped)this._subject=this.subjectFactory();return this._subject},B.prototype._teardown=function(){this._refCount=0;var Q=this._connection;this._subject=this._connection=null,Q===null||Q===void 0||Q.unsubscribe()},B.prototype.connect=function(){var Q=this,Z=this._connection;if(!Z){Z=this._connection=new DAA.Subscription;var G=this.getSubject();if(Z.add(this.source.subscribe(orQ.createOperatorSubscriber(G,void 0,function(){Q._teardown(),G.complete()},function(Y){Q._teardown(),G.error(Y)},function(){return Q._teardown()}))),Z.closed)this._connection=null,Z=DAA.Subscription.EMPTY}return Z},B.prototype.refCount=function(){return rrQ.refCount()(this)},B}(srQ.Observable);ti.ConnectableObservable=erQ});var UAA=U((CAA)=>{Object.defineProperty(CAA,"__esModule",{value:!0});CAA.performanceTimestampProvider=void 0;CAA.performanceTimestampProvider={now:function(){return(CAA.performanceTimestampProvider.delegate||performance).now()},delegate:void 0}});var js1=U((pw)=>{var $AA=pw&&pw.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},wAA=pw&&pw.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {Object.defineProperty(NAA,"__esModule",{value:!0});NAA.animationFrames=void 0;var BoQ=z7(),QoQ=UAA(),qAA=js1();function ZoQ(A){return A?EAA(A):GoQ}NAA.animationFrames=ZoQ;function EAA(A){return new BoQ.Observable(function(B){var Q=A||QoQ.performanceTimestampProvider,Z=Q.now(),G=0,Y=function(){if(!B.closed)G=qAA.animationFrameProvider.requestAnimationFrame(function(I){G=0;var W=Q.now();B.next({timestamp:A?W:I,elapsed:W-Z}),Y()})};return Y(),function(){if(G)qAA.animationFrameProvider.cancelAnimationFrame(G)}})}var GoQ=EAA()});var Ss1=U((OAA)=>{Object.defineProperty(OAA,"__esModule",{value:!0});OAA.ObjectUnsubscribedError=void 0;var YoQ=Kk();OAA.ObjectUnsubscribedError=YoQ.createErrorClass(function(A){return function B(){A(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}})});var cJ=U((lN)=>{var PAA=lN&&lN.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}(),IoQ=lN&&lN.__values||function(A){var B=typeof Symbol==="function"&&Symbol.iterator,Q=B&&A[B],Z=0;if(Q)return Q.call(A);if(A&&typeof A.length==="number")return{next:function(){if(A&&Z>=A.length)A=void 0;return{value:A&&A[Z++],done:!A}}};throw new TypeError(B?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(lN,"__esModule",{value:!0});lN.AnonymousSubject=lN.Subject=void 0;var TAA=z7(),ks1=TH(),WoQ=Ss1(),JoQ=ET(),ys1=hH1(),jAA=function(A){PAA(B,A);function B(){var Q=A.call(this)||this;return Q.closed=!1,Q.currentObservers=null,Q.observers=[],Q.isStopped=!1,Q.hasError=!1,Q.thrownError=null,Q}return B.prototype.lift=function(Q){var Z=new _s1(this,this);return Z.operator=Q,Z},B.prototype._throwIfClosed=function(){if(this.closed)throw new WoQ.ObjectUnsubscribedError},B.prototype.next=function(Q){var Z=this;ys1.errorContext(function(){var G,Y;if(Z._throwIfClosed(),!Z.isStopped){if(!Z.currentObservers)Z.currentObservers=Array.from(Z.observers);try{for(var I=IoQ(Z.currentObservers),W=I.next();!W.done;W=I.next()){var J=W.value;J.next(Q)}}catch(X){G={error:X}}finally{try{if(W&&!W.done&&(Y=I.return))Y.call(I)}finally{if(G)throw G.error}}}})},B.prototype.error=function(Q){var Z=this;ys1.errorContext(function(){if(Z._throwIfClosed(),!Z.isStopped){Z.hasError=Z.isStopped=!0,Z.thrownError=Q;var G=Z.observers;while(G.length)G.shift().error(Q)}})},B.prototype.complete=function(){var Q=this;ys1.errorContext(function(){if(Q._throwIfClosed(),!Q.isStopped){Q.isStopped=!0;var Z=Q.observers;while(Z.length)Z.shift().complete()}})},B.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(B.prototype,"observed",{get:function(){var Q;return((Q=this.observers)===null||Q===void 0?void 0:Q.length)>0},enumerable:!1,configurable:!0}),B.prototype._trySubscribe=function(Q){return this._throwIfClosed(),A.prototype._trySubscribe.call(this,Q)},B.prototype._subscribe=function(Q){return this._throwIfClosed(),this._checkFinalizedStatuses(Q),this._innerSubscribe(Q)},B.prototype._innerSubscribe=function(Q){var Z=this,G=this,Y=G.hasError,I=G.isStopped,W=G.observers;if(Y||I)return ks1.EMPTY_SUBSCRIPTION;return this.currentObservers=null,W.push(Q),new ks1.Subscription(function(){Z.currentObservers=null,JoQ.arrRemove(W,Q)})},B.prototype._checkFinalizedStatuses=function(Q){var Z=this,G=Z.hasError,Y=Z.thrownError,I=Z.isStopped;if(G)Q.error(Y);else if(I)Q.complete()},B.prototype.asObservable=function(){var Q=new TAA.Observable;return Q.source=this,Q},B.create=function(Q,Z){return new _s1(Q,Z)},B}(TAA.Observable);lN.Subject=jAA;var _s1=function(A){PAA(B,A);function B(Q,Z){var G=A.call(this)||this;return G.destination=Q,G.source=Z,G}return B.prototype.next=function(Q){var Z,G;(G=(Z=this.destination)===null||Z===void 0?void 0:Z.next)===null||G===void 0||G.call(Z,Q)},B.prototype.error=function(Q){var Z,G;(G=(Z=this.destination)===null||Z===void 0?void 0:Z.error)===null||G===void 0||G.call(Z,Q)},B.prototype.complete=function(){var Q,Z;(Z=(Q=this.destination)===null||Q===void 0?void 0:Q.complete)===null||Z===void 0||Z.call(Q)},B.prototype._subscribe=function(Q){var Z,G;return(G=(Z=this.source)===null||Z===void 0?void 0:Z.subscribe(Q))!==null&&G!==void 0?G:ks1.EMPTY_SUBSCRIPTION},B}(jAA);lN.AnonymousSubject=_s1});var xs1=U((ei)=>{var XoQ=ei&&ei.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(ei,"__esModule",{value:!0});ei.BehaviorSubject=void 0;var FoQ=cJ(),VoQ=function(A){XoQ(B,A);function B(Q){var Z=A.call(this)||this;return Z._value=Q,Z}return Object.defineProperty(B.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),B.prototype._subscribe=function(Q){var Z=A.prototype._subscribe.call(this,Q);return!Z.closed&&Q.next(this._value),Z},B.prototype.getValue=function(){var Q=this,Z=Q.hasError,G=Q.thrownError,Y=Q._value;if(Z)throw G;return this._throwIfClosed(),Y},B.prototype.next=function(Q){A.prototype.next.call(this,this._value=Q)},B}(FoQ.Subject);ei.BehaviorSubject=VoQ});var mH1=U((SAA)=>{Object.defineProperty(SAA,"__esModule",{value:!0});SAA.dateTimestampProvider=void 0;SAA.dateTimestampProvider={now:function(){return(SAA.dateTimestampProvider.delegate||Date).now()},delegate:void 0}});var dH1=U((An)=>{var KoQ=An&&An.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(An,"__esModule",{value:!0});An.ReplaySubject=void 0;var zoQ=cJ(),HoQ=mH1(),DoQ=function(A){KoQ(B,A);function B(Q,Z,G){if(Q===void 0)Q=1/0;if(Z===void 0)Z=1/0;if(G===void 0)G=HoQ.dateTimestampProvider;var Y=A.call(this)||this;return Y._bufferSize=Q,Y._windowTime=Z,Y._timestampProvider=G,Y._buffer=[],Y._infiniteTimeWindow=!0,Y._infiniteTimeWindow=Z===1/0,Y._bufferSize=Math.max(1,Q),Y._windowTime=Math.max(1,Z),Y}return B.prototype.next=function(Q){var Z=this,G=Z.isStopped,Y=Z._buffer,I=Z._infiniteTimeWindow,W=Z._timestampProvider,J=Z._windowTime;if(!G)Y.push(Q),!I&&Y.push(W.now()+J);this._trimBuffer(),A.prototype.next.call(this,Q)},B.prototype._subscribe=function(Q){this._throwIfClosed(),this._trimBuffer();var Z=this._innerSubscribe(Q),G=this,Y=G._infiniteTimeWindow,I=G._buffer,W=I.slice();for(var J=0;J {var CoQ=Bn&&Bn.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(Bn,"__esModule",{value:!0});Bn.AsyncSubject=void 0;var UoQ=cJ(),$oQ=function(A){CoQ(B,A);function B(){var Q=A!==null&&A.apply(this,arguments)||this;return Q._value=null,Q._hasValue=!1,Q._isComplete=!1,Q}return B.prototype._checkFinalizedStatuses=function(Q){var Z=this,G=Z.hasError,Y=Z._hasValue,I=Z._value,W=Z.thrownError,J=Z.isStopped,X=Z._isComplete;if(G)Q.error(W);else if(J||X)Y&&Q.next(I),Q.complete()},B.prototype.next=function(Q){if(!this.isStopped)this._value=Q,this._hasValue=!0},B.prototype.complete=function(){var Q=this,Z=Q._hasValue,G=Q._value,Y=Q._isComplete;if(!Y)this._isComplete=!0,Z&&A.prototype.next.call(this,G),A.prototype.complete.call(this)},B}(UoQ.Subject);Bn.AsyncSubject=$oQ});var yAA=U((Qn)=>{var woQ=Qn&&Qn.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(Qn,"__esModule",{value:!0});Qn.Action=void 0;var qoQ=TH(),EoQ=function(A){woQ(B,A);function B(Q,Z){return A.call(this)||this}return B.prototype.schedule=function(Q,Z){if(Z===void 0)Z=0;return this},B}(qoQ.Subscription);Qn.Action=EoQ});var xAA=U((pN)=>{var kAA=pN&&pN.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},_AA=pN&&pN.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {var NoQ=Zn&&Zn.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(Zn,"__esModule",{value:!0});Zn.AsyncAction=void 0;var LoQ=yAA(),vAA=xAA(),MoQ=ET(),OoQ=function(A){NoQ(B,A);function B(Q,Z){var G=A.call(this,Q,Z)||this;return G.scheduler=Q,G.work=Z,G.pending=!1,G}return B.prototype.schedule=function(Q,Z){var G;if(Z===void 0)Z=0;if(this.closed)return this;this.state=Q;var Y=this.id,I=this.scheduler;if(Y!=null)this.id=this.recycleAsyncId(I,Y,Z);return this.pending=!0,this.delay=Z,this.id=(G=this.id)!==null&&G!==void 0?G:this.requestAsyncId(I,this.id,Z),this},B.prototype.requestAsyncId=function(Q,Z,G){if(G===void 0)G=0;return vAA.intervalProvider.setInterval(Q.flush.bind(Q,this),G)},B.prototype.recycleAsyncId=function(Q,Z,G){if(G===void 0)G=0;if(G!=null&&this.delay===G&&this.pending===!1)return Z;if(Z!=null)vAA.intervalProvider.clearInterval(Z);return},B.prototype.execute=function(Q,Z){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var G=this._execute(Q,Z);if(G)return G;else if(this.pending===!1&&this.id!=null)this.id=this.recycleAsyncId(this.scheduler,this.id,null)},B.prototype._execute=function(Q,Z){var G=!1,Y;try{this.work(Q)}catch(I){G=!0,Y=I?I:new Error("Scheduled action threw falsy error")}if(G)return this.unsubscribe(),Y},B.prototype.unsubscribe=function(){if(!this.closed){var Q=this,Z=Q.id,G=Q.scheduler,Y=G.actions;if(this.work=this.state=this.scheduler=null,this.pending=!1,MoQ.arrRemove(Y,this),Z!=null)this.id=this.recycleAsyncId(G,Z,null);this.delay=null,A.prototype.unsubscribe.call(this)}},B}(LoQ.Action);Zn.AsyncAction=OoQ});var gAA=U((fAA)=>{Object.defineProperty(fAA,"__esModule",{value:!0});fAA.TestTools=fAA.Immediate=void 0;var RoQ=1,bs1,lH1={};function bAA(A){if(A in lH1)return delete lH1[A],!0;return!1}fAA.Immediate={setImmediate:function(A){var B=RoQ++;if(lH1[B]=!0,!bs1)bs1=Promise.resolve();return bs1.then(function(){return bAA(B)&&A()}),B},clearImmediate:function(A){bAA(A)}};fAA.TestTools={pending:function(){return Object.keys(lH1).length}}});var mAA=U((iN)=>{var PoQ=iN&&iN.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},joQ=iN&&iN.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {var koQ=Yn&&Yn.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(Yn,"__esModule",{value:!0});Yn.AsapAction=void 0;var _oQ=Gn(),dAA=mAA(),xoQ=function(A){koQ(B,A);function B(Q,Z){var G=A.call(this,Q,Z)||this;return G.scheduler=Q,G.work=Z,G}return B.prototype.requestAsyncId=function(Q,Z,G){if(G===void 0)G=0;if(G!==null&&G>0)return A.prototype.requestAsyncId.call(this,Q,Z,G);return Q.actions.push(this),Q._scheduled||(Q._scheduled=dAA.immediateProvider.setImmediate(Q.flush.bind(Q,void 0)))},B.prototype.recycleAsyncId=function(Q,Z,G){var Y;if(G===void 0)G=0;if(G!=null?G>0:this.delay>0)return A.prototype.recycleAsyncId.call(this,Q,Z,G);var I=Q.actions;if(Z!=null&&((Y=I[I.length-1])===null||Y===void 0?void 0:Y.id)!==Z){if(dAA.immediateProvider.clearImmediate(Z),Q._scheduled===Z)Q._scheduled=void 0}return},B}(_oQ.AsyncAction);Yn.AsapAction=xoQ});var fs1=U((lAA)=>{Object.defineProperty(lAA,"__esModule",{value:!0});lAA.Scheduler=void 0;var voQ=mH1(),boQ=function(){function A(B,Q){if(Q===void 0)Q=A.now;this.schedulerActionCtor=B,this.now=Q}return A.prototype.schedule=function(B,Q,Z){if(Q===void 0)Q=0;return new this.schedulerActionCtor(this,B).schedule(Z,Q)},A.now=voQ.dateTimestampProvider.now,A}();lAA.Scheduler=boQ});var Wn=U((In)=>{var foQ=In&&In.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(In,"__esModule",{value:!0});In.AsyncScheduler=void 0;var iAA=fs1(),hoQ=function(A){foQ(B,A);function B(Q,Z){if(Z===void 0)Z=iAA.Scheduler.now;var G=A.call(this,Q,Z)||this;return G.actions=[],G._active=!1,G}return B.prototype.flush=function(Q){var Z=this.actions;if(this._active){Z.push(Q);return}var G;this._active=!0;do if(G=Q.execute(Q.state,Q.delay))break;while(Q=Z.shift());if(this._active=!1,G){while(Q=Z.shift())Q.unsubscribe();throw G}},B}(iAA.Scheduler);In.AsyncScheduler=hoQ});var nAA=U((Jn)=>{var goQ=Jn&&Jn.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(Jn,"__esModule",{value:!0});Jn.AsapScheduler=void 0;var uoQ=Wn(),moQ=function(A){goQ(B,A);function B(){return A!==null&&A.apply(this,arguments)||this}return B.prototype.flush=function(Q){this._active=!0;var Z=this._scheduled;this._scheduled=void 0;var G=this.actions,Y;Q=Q||G.shift();do if(Y=Q.execute(Q.state,Q.delay))break;while((Q=G[0])&&Q.id===Z&&G.shift());if(this._active=!1,Y){while((Q=G[0])&&Q.id===Z&&G.shift())Q.unsubscribe();throw Y}},B}(uoQ.AsyncScheduler);Jn.AsapScheduler=moQ});var oAA=U((aAA)=>{Object.defineProperty(aAA,"__esModule",{value:!0});aAA.asap=aAA.asapScheduler=void 0;var doQ=cAA(),coQ=nAA();aAA.asapScheduler=new coQ.AsapScheduler(doQ.AsapAction);aAA.asap=aAA.asapScheduler});var oK=U((tAA)=>{Object.defineProperty(tAA,"__esModule",{value:!0});tAA.async=tAA.asyncScheduler=void 0;var loQ=Gn(),poQ=Wn();tAA.asyncScheduler=new poQ.AsyncScheduler(loQ.AsyncAction);tAA.async=tAA.asyncScheduler});var B2A=U((Xn)=>{var ioQ=Xn&&Xn.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(Xn,"__esModule",{value:!0});Xn.QueueAction=void 0;var noQ=Gn(),aoQ=function(A){ioQ(B,A);function B(Q,Z){var G=A.call(this,Q,Z)||this;return G.scheduler=Q,G.work=Z,G}return B.prototype.schedule=function(Q,Z){if(Z===void 0)Z=0;if(Z>0)return A.prototype.schedule.call(this,Q,Z);return this.delay=Z,this.state=Q,this.scheduler.flush(this),this},B.prototype.execute=function(Q,Z){return Z>0||this.closed?A.prototype.execute.call(this,Q,Z):this._execute(Q,Z)},B.prototype.requestAsyncId=function(Q,Z,G){if(G===void 0)G=0;if(G!=null&&G>0||G==null&&this.delay>0)return A.prototype.requestAsyncId.call(this,Q,Z,G);return Q.flush(this),0},B}(noQ.AsyncAction);Xn.QueueAction=aoQ});var Q2A=U((Fn)=>{var soQ=Fn&&Fn.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(Fn,"__esModule",{value:!0});Fn.QueueScheduler=void 0;var roQ=Wn(),ooQ=function(A){soQ(B,A);function B(){return A!==null&&A.apply(this,arguments)||this}return B}(roQ.AsyncScheduler);Fn.QueueScheduler=ooQ});var I2A=U((Z2A)=>{Object.defineProperty(Z2A,"__esModule",{value:!0});Z2A.queue=Z2A.queueScheduler=void 0;var toQ=B2A(),eoQ=Q2A();Z2A.queueScheduler=new eoQ.QueueScheduler(toQ.QueueAction);Z2A.queue=Z2A.queueScheduler});var J2A=U((Vn)=>{var AtQ=Vn&&Vn.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(Vn,"__esModule",{value:!0});Vn.AnimationFrameAction=void 0;var BtQ=Gn(),W2A=js1(),QtQ=function(A){AtQ(B,A);function B(Q,Z){var G=A.call(this,Q,Z)||this;return G.scheduler=Q,G.work=Z,G}return B.prototype.requestAsyncId=function(Q,Z,G){if(G===void 0)G=0;if(G!==null&&G>0)return A.prototype.requestAsyncId.call(this,Q,Z,G);return Q.actions.push(this),Q._scheduled||(Q._scheduled=W2A.animationFrameProvider.requestAnimationFrame(function(){return Q.flush(void 0)}))},B.prototype.recycleAsyncId=function(Q,Z,G){var Y;if(G===void 0)G=0;if(G!=null?G>0:this.delay>0)return A.prototype.recycleAsyncId.call(this,Q,Z,G);var I=Q.actions;if(Z!=null&&Z===Q._scheduled&&((Y=I[I.length-1])===null||Y===void 0?void 0:Y.id)!==Z)W2A.animationFrameProvider.cancelAnimationFrame(Z),Q._scheduled=void 0;return},B}(BtQ.AsyncAction);Vn.AnimationFrameAction=QtQ});var X2A=U((Kn)=>{var ZtQ=Kn&&Kn.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(Kn,"__esModule",{value:!0});Kn.AnimationFrameScheduler=void 0;var GtQ=Wn(),YtQ=function(A){ZtQ(B,A);function B(){return A!==null&&A.apply(this,arguments)||this}return B.prototype.flush=function(Q){this._active=!0;var Z;if(Q)Z=Q.id;else Z=this._scheduled,this._scheduled=void 0;var G=this.actions,Y;Q=Q||G.shift();do if(Y=Q.execute(Q.state,Q.delay))break;while((Q=G[0])&&Q.id===Z&&G.shift());if(this._active=!1,Y){while((Q=G[0])&&Q.id===Z&&G.shift())Q.unsubscribe();throw Y}},B}(GtQ.AsyncScheduler);Kn.AnimationFrameScheduler=YtQ});var z2A=U((F2A)=>{Object.defineProperty(F2A,"__esModule",{value:!0});F2A.animationFrame=F2A.animationFrameScheduler=void 0;var ItQ=J2A(),WtQ=X2A();F2A.animationFrameScheduler=new WtQ.AnimationFrameScheduler(ItQ.AnimationFrameAction);F2A.animationFrame=F2A.animationFrameScheduler});var C2A=U((Hk)=>{var H2A=Hk&&Hk.__extends||function(){var A=function(B,Q){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Z,G){Z.__proto__=G}||function(Z,G){for(var Y in G)if(Object.prototype.hasOwnProperty.call(G,Y))Z[Y]=G[Y]},A(B,Q)};return function(B,Q){if(typeof Q!=="function"&&Q!==null)throw new TypeError("Class extends value "+String(Q)+" is not a constructor or null");A(B,Q);function Z(){this.constructor=B}B.prototype=Q===null?Object.create(Q):(Z.prototype=Q.prototype,new Z)}}();Object.defineProperty(Hk,"__esModule",{value:!0});Hk.VirtualAction=Hk.VirtualTimeScheduler=void 0;var JtQ=Gn(),XtQ=TH(),FtQ=Wn(),VtQ=function(A){H2A(B,A);function B(Q,Z){if(Q===void 0)Q=D2A;if(Z===void 0)Z=1/0;var G=A.call(this,Q,function(){return G.frame})||this;return G.maxFrames=Z,G.frame=0,G.index=-1,G}return B.prototype.flush=function(){var Q=this,Z=Q.actions,G=Q.maxFrames,Y,I;while((I=Z[0])&&I.delay<=G)if(Z.shift(),this.frame=I.delay,Y=I.execute(I.state,I.delay))break;if(Y){while(I=Z.shift())I.unsubscribe();throw Y}},B.frameTimeFactor=10,B}(FtQ.AsyncScheduler);Hk.VirtualTimeScheduler=VtQ;var D2A=function(A){H2A(B,A);function B(Q,Z,G){if(G===void 0)G=Q.index+=1;var Y=A.call(this,Q,Z)||this;return Y.scheduler=Q,Y.work=Z,Y.index=G,Y.active=!0,Y.index=Q.index=G,Y}return B.prototype.schedule=function(Q,Z){if(Z===void 0)Z=0;if(Number.isFinite(Z)){if(!this.id)return A.prototype.schedule.call(this,Q,Z);this.active=!1;var G=new B(this.scheduler,this.work);return this.add(G),G.schedule(Q,Z)}else return XtQ.Subscription.EMPTY},B.prototype.requestAsyncId=function(Q,Z,G){if(G===void 0)G=0;this.delay=Q.frame+G;var Y=Q.actions;return Y.push(this),Y.sort(B.sortActions),1},B.prototype.recycleAsyncId=function(Q,Z,G){if(G===void 0)G=0;return},B.prototype._execute=function(Q,Z){if(this.active===!0)return A.prototype._execute.call(this,Q,Z)},B.sortActions=function(Q,Z){if(Q.delay===Z.delay)if(Q.index===Z.index)return 0;else if(Q.index>Z.index)return 1;else return-1;else if(Q.delay>Z.delay)return 1;else return-1},B}(JtQ.AsyncAction);Hk.VirtualAction=D2A});var iw=U(($2A)=>{Object.defineProperty($2A,"__esModule",{value:!0});$2A.empty=$2A.EMPTY=void 0;var U2A=z7();$2A.EMPTY=new U2A.Observable(function(A){return A.complete()});function KtQ(A){return A?ztQ(A):$2A.EMPTY}$2A.empty=KtQ;function ztQ(A){return new U2A.Observable(function(B){return A.schedule(function(){return B.complete()})})}});var v91=U((E2A)=>{Object.defineProperty(E2A,"__esModule",{value:!0});E2A.isScheduler=void 0;var HtQ=n8();function DtQ(A){return A&&HtQ.isFunction(A.schedule)}E2A.isScheduler=DtQ});var tK=U((L2A)=>{Object.defineProperty(L2A,"__esModule",{value:!0});L2A.popNumber=L2A.popScheduler=L2A.popResultSelector=void 0;var CtQ=n8(),UtQ=v91();function hs1(A){return A[A.length-1]}function $tQ(A){return CtQ.isFunction(hs1(A))?A.pop():void 0}L2A.popResultSelector=$tQ;function wtQ(A){return UtQ.isScheduler(hs1(A))?A.pop():void 0}L2A.popScheduler=wtQ;function qtQ(A,B){return typeof hs1(A)==="number"?A.pop():B}L2A.popNumber=qtQ});var pH1=U((O2A)=>{Object.defineProperty(O2A,"__esModule",{value:!0});O2A.isArrayLike=void 0;O2A.isArrayLike=function(A){return A&&typeof A.length==="number"&&typeof A!=="function"}});var gs1=U((T2A)=>{Object.defineProperty(T2A,"__esModule",{value:!0});T2A.isPromise=void 0;var LtQ=n8();function MtQ(A){return LtQ.isFunction(A===null||A===void 0?void 0:A.then)}T2A.isPromise=MtQ});var us1=U((j2A)=>{Object.defineProperty(j2A,"__esModule",{value:!0});j2A.isInteropObservable=void 0;var OtQ=k91(),RtQ=n8();function TtQ(A){return RtQ.isFunction(A[OtQ.observable])}j2A.isInteropObservable=TtQ});var ms1=U((y2A)=>{Object.defineProperty(y2A,"__esModule",{value:!0});y2A.isAsyncIterable=void 0;var PtQ=n8();function jtQ(A){return Symbol.asyncIterator&&PtQ.isFunction(A===null||A===void 0?void 0:A[Symbol.asyncIterator])}y2A.isAsyncIterable=jtQ});var ds1=U((_2A)=>{Object.defineProperty(_2A,"__esModule",{value:!0});_2A.createInvalidObservableTypeError=void 0;function StQ(A){return new TypeError("You provided "+(A!==null&&typeof A==="object"?"an invalid object":"'"+A+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}_2A.createInvalidObservableTypeError=StQ});var cs1=U((b2A)=>{Object.defineProperty(b2A,"__esModule",{value:!0});b2A.iterator=b2A.getSymbolIterator=void 0;function v2A(){if(typeof Symbol!=="function"||!Symbol.iterator)return"@@iterator";return Symbol.iterator}b2A.getSymbolIterator=v2A;b2A.iterator=v2A()});var ls1=U((h2A)=>{Object.defineProperty(h2A,"__esModule",{value:!0});h2A.isIterable=void 0;var ktQ=cs1(),_tQ=n8();function xtQ(A){return _tQ.isFunction(A===null||A===void 0?void 0:A[ktQ.iterator])}h2A.isIterable=xtQ});var iH1=U((kC)=>{var vtQ=kC&&kC.__generator||function(A,B){var Q={label:0,sent:function(){if(Y[0]&1)throw Y[1];return Y[1]},trys:[],ops:[]},Z,G,Y,I;return I={next:W(0),throw:W(1),return:W(2)},typeof Symbol==="function"&&(I[Symbol.iterator]=function(){return this}),I;function W(X){return function(F){return J([X,F])}}function J(X){if(Z)throw new TypeError("Generator is already executing.");while(Q)try{if(Z=1,G&&(Y=X[0]&2?G.return:X[0]?G.throw||((Y=G.return)&&Y.call(G),0):G.next)&&!(Y=Y.call(G,X[1])).done)return Y;if(G=0,Y)X=[X[0]&2,Y.value];switch(X[0]){case 0:case 1:Y=X;break;case 4:return Q.label++,{value:X[1],done:!1};case 5:Q.label++,G=X[1],X=[0];continue;case 7:X=Q.ops.pop(),Q.trys.pop();continue;default:if((Y=Q.trys,!(Y=Y.length>0&&Y[Y.length-1]))&&(X[0]===6||X[0]===2)){Q=0;continue}if(X[0]===3&&(!Y||X[1]>Y[0]&&X[1] 1||W(K,z)})}}function W(K,z){try{J(Z[K](z))}catch(H){V(Y[0][3],H)}}function J(K){K.value instanceof zn?Promise.resolve(K.value.v).then(X,F):V(Y[0][2],K)}function X(K){W("next",K)}function F(K){W("throw",K)}function V(K,z){if(K(z),Y.shift(),Y.length)W(Y[0][0],Y[0][1])}};Object.defineProperty(kC,"__esModule",{value:!0});kC.isReadableStreamLike=kC.readableStreamLikeToAsyncGenerator=void 0;var ftQ=n8();function htQ(A){return btQ(this,arguments,function B(){var Q,Z,G,Y;return vtQ(this,function(I){switch(I.label){case 0:Q=A.getReader(),I.label=1;case 1:I.trys.push([1,,9,10]),I.label=2;case 2:return[4,zn(Q.read())];case 3:if(Z=I.sent(),G=Z.value,Y=Z.done,!Y)return[3,5];return[4,zn(void 0)];case 4:return[2,I.sent()];case 5:return[4,zn(G)];case 6:return[4,I.sent()];case 7:return I.sent(),[3,2];case 8:return[3,10];case 9:return Q.releaseLock(),[7];case 10:return[2]}})})}kC.readableStreamLikeToAsyncGenerator=htQ;function gtQ(A){return ftQ.isFunction(A===null||A===void 0?void 0:A.getReader)}kC.isReadableStreamLike=gtQ});var D4=U((VZ)=>{var utQ=VZ&&VZ.__awaiter||function(A,B,Q,Z){function G(Y){return Y instanceof Q?Y:new Q(function(I){I(Y)})}return new(Q||(Q=Promise))(function(Y,I){function W(F){try{X(Z.next(F))}catch(V){I(V)}}function J(F){try{X(Z.throw(F))}catch(V){I(V)}}function X(F){F.done?Y(F.value):G(F.value).then(W,J)}X((Z=Z.apply(A,B||[])).next())})},mtQ=VZ&&VZ.__generator||function(A,B){var Q={label:0,sent:function(){if(Y[0]&1)throw Y[1];return Y[1]},trys:[],ops:[]},Z,G,Y,I;return I={next:W(0),throw:W(1),return:W(2)},typeof Symbol==="function"&&(I[Symbol.iterator]=function(){return this}),I;function W(X){return function(F){return J([X,F])}}function J(X){if(Z)throw new TypeError("Generator is already executing.");while(Q)try{if(Z=1,G&&(Y=X[0]&2?G.return:X[0]?G.throw||((Y=G.return)&&Y.call(G),0):G.next)&&!(Y=Y.call(G,X[1])).done)return Y;if(G=0,Y)X=[X[0]&2,Y.value];switch(X[0]){case 0:case 1:Y=X;break;case 4:return Q.label++,{value:X[1],done:!1};case 5:Q.label++,G=X[1],X=[0];continue;case 7:X=Q.ops.pop(),Q.trys.pop();continue;default:if((Y=Q.trys,!(Y=Y.length>0&&Y[Y.length-1]))&&(X[0]===6||X[0]===2)){Q=0;continue}if(X[0]===3&&(!Y||X[1]>Y[0]&&X[1] =A.length)A=void 0;return{value:A&&A[Z++],done:!A}}};throw new TypeError(B?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(VZ,"__esModule",{value:!0});VZ.fromReadableStreamLike=VZ.fromAsyncIterable=VZ.fromIterable=VZ.fromPromise=VZ.fromArrayLike=VZ.fromInteropObservable=VZ.innerFrom=void 0;var ctQ=pH1(),ltQ=gs1(),Hn=z7(),ptQ=us1(),itQ=ms1(),ntQ=ds1(),atQ=ls1(),u2A=iH1(),stQ=n8(),rtQ=Es1(),otQ=k91();function ttQ(A){if(A instanceof Hn.Observable)return A;if(A!=null){if(ptQ.isInteropObservable(A))return m2A(A);if(ctQ.isArrayLike(A))return d2A(A);if(ltQ.isPromise(A))return c2A(A);if(itQ.isAsyncIterable(A))return is1(A);if(atQ.isIterable(A))return l2A(A);if(u2A.isReadableStreamLike(A))return p2A(A)}throw ntQ.createInvalidObservableTypeError(A)}VZ.innerFrom=ttQ;function m2A(A){return new Hn.Observable(function(B){var Q=A[otQ.observable]();if(stQ.isFunction(Q.subscribe))return Q.subscribe(B);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}VZ.fromInteropObservable=m2A;function d2A(A){return new Hn.Observable(function(B){for(var Q=0;Q {Object.defineProperty(i2A,"__esModule",{value:!0});i2A.executeSchedule=void 0;function AeQ(A,B,Q,Z,G){if(Z===void 0)Z=0;if(G===void 0)G=!1;var Y=B.schedule(function(){if(Q(),G)A.add(this.schedule(null,Z));else this.unsubscribe()},Z);if(A.add(Y),!G)return Y}i2A.executeSchedule=AeQ});var Dn=U((a2A)=>{Object.defineProperty(a2A,"__esModule",{value:!0});a2A.observeOn=void 0;var ns1=NT(),BeQ=WB(),QeQ=DQ();function ZeQ(A,B){if(B===void 0)B=0;return BeQ.operate(function(Q,Z){Q.subscribe(QeQ.createOperatorSubscriber(Z,function(G){return ns1.executeSchedule(Z,A,function(){return Z.next(G)},B)},function(){return ns1.executeSchedule(Z,A,function(){return Z.complete()},B)},function(G){return ns1.executeSchedule(Z,A,function(){return Z.error(G)},B)}))})}a2A.observeOn=ZeQ});var Cn=U((r2A)=>{Object.defineProperty(r2A,"__esModule",{value:!0});r2A.subscribeOn=void 0;var GeQ=WB();function YeQ(A,B){if(B===void 0)B=0;return GeQ.operate(function(Q,Z){Z.add(A.schedule(function(){return Q.subscribe(Z)},B))})}r2A.subscribeOn=YeQ});var ABA=U((t2A)=>{Object.defineProperty(t2A,"__esModule",{value:!0});t2A.scheduleObservable=void 0;var IeQ=D4(),WeQ=Dn(),JeQ=Cn();function XeQ(A,B){return IeQ.innerFrom(A).pipe(JeQ.subscribeOn(B),WeQ.observeOn(B))}t2A.scheduleObservable=XeQ});var ZBA=U((BBA)=>{Object.defineProperty(BBA,"__esModule",{value:!0});BBA.schedulePromise=void 0;var FeQ=D4(),VeQ=Dn(),KeQ=Cn();function zeQ(A,B){return FeQ.innerFrom(A).pipe(KeQ.subscribeOn(B),VeQ.observeOn(B))}BBA.schedulePromise=zeQ});var IBA=U((GBA)=>{Object.defineProperty(GBA,"__esModule",{value:!0});GBA.scheduleArray=void 0;var HeQ=z7();function DeQ(A,B){return new HeQ.Observable(function(Q){var Z=0;return B.schedule(function(){if(Z===A.length)Q.complete();else if(Q.next(A[Z++]),!Q.closed)this.schedule()})})}GBA.scheduleArray=DeQ});var as1=U((JBA)=>{Object.defineProperty(JBA,"__esModule",{value:!0});JBA.scheduleIterable=void 0;var CeQ=z7(),UeQ=cs1(),$eQ=n8(),WBA=NT();function weQ(A,B){return new CeQ.Observable(function(Q){var Z;return WBA.executeSchedule(Q,B,function(){Z=A[UeQ.iterator](),WBA.executeSchedule(Q,B,function(){var G,Y,I;try{G=Z.next(),Y=G.value,I=G.done}catch(W){Q.error(W);return}if(I)Q.complete();else Q.next(Y)},0,!0)}),function(){return $eQ.isFunction(Z===null||Z===void 0?void 0:Z.return)&&Z.return()}})}JBA.scheduleIterable=weQ});var ss1=U((VBA)=>{Object.defineProperty(VBA,"__esModule",{value:!0});VBA.scheduleAsyncIterable=void 0;var qeQ=z7(),FBA=NT();function EeQ(A,B){if(!A)throw new Error("Iterable cannot be null");return new qeQ.Observable(function(Q){FBA.executeSchedule(Q,B,function(){var Z=A[Symbol.asyncIterator]();FBA.executeSchedule(Q,B,function(){Z.next().then(function(G){if(G.done)Q.complete();else Q.next(G.value)})},0,!0)})})}VBA.scheduleAsyncIterable=EeQ});var DBA=U((zBA)=>{Object.defineProperty(zBA,"__esModule",{value:!0});zBA.scheduleReadableStreamLike=void 0;var NeQ=ss1(),LeQ=iH1();function MeQ(A,B){return NeQ.scheduleAsyncIterable(LeQ.readableStreamLikeToAsyncGenerator(A),B)}zBA.scheduleReadableStreamLike=MeQ});var rs1=U((CBA)=>{Object.defineProperty(CBA,"__esModule",{value:!0});CBA.scheduled=void 0;var OeQ=ABA(),ReQ=ZBA(),TeQ=IBA(),PeQ=as1(),jeQ=ss1(),SeQ=us1(),yeQ=gs1(),keQ=pH1(),_eQ=ls1(),xeQ=ms1(),veQ=ds1(),beQ=iH1(),feQ=DBA();function heQ(A,B){if(A!=null){if(SeQ.isInteropObservable(A))return OeQ.scheduleObservable(A,B);if(keQ.isArrayLike(A))return TeQ.scheduleArray(A,B);if(yeQ.isPromise(A))return ReQ.schedulePromise(A,B);if(xeQ.isAsyncIterable(A))return jeQ.scheduleAsyncIterable(A,B);if(_eQ.isIterable(A))return PeQ.scheduleIterable(A,B);if(beQ.isReadableStreamLike(A))return feQ.scheduleReadableStreamLike(A,B)}throw veQ.createInvalidObservableTypeError(A)}CBA.scheduled=heQ});var LT=U(($BA)=>{Object.defineProperty($BA,"__esModule",{value:!0});$BA.from=void 0;var geQ=rs1(),ueQ=D4();function meQ(A,B){return B?geQ.scheduled(A,B):ueQ.innerFrom(A)}$BA.from=meQ});var nH1=U((qBA)=>{Object.defineProperty(qBA,"__esModule",{value:!0});qBA.of=void 0;var deQ=tK(),ceQ=LT();function leQ(){var A=[];for(var B=0;B {Object.defineProperty(NBA,"__esModule",{value:!0});NBA.throwError=void 0;var peQ=z7(),ieQ=n8();function neQ(A,B){var Q=ieQ.isFunction(A)?A:function(){return A},Z=function(G){return G.error(Q())};return new peQ.Observable(B?function(G){return B.schedule(Z,0,G)}:Z)}NBA.throwError=neQ});var aH1=U((RBA)=>{Object.defineProperty(RBA,"__esModule",{value:!0});RBA.observeNotification=RBA.Notification=RBA.NotificationKind=void 0;var aeQ=iw(),seQ=nH1(),reQ=os1(),oeQ=n8(),teQ;(function(A){A.NEXT="N",A.ERROR="E",A.COMPLETE="C"})(teQ=RBA.NotificationKind||(RBA.NotificationKind={}));var eeQ=function(){function A(B,Q,Z){this.kind=B,this.value=Q,this.error=Z,this.hasValue=B==="N"}return A.prototype.observe=function(B){return OBA(this,B)},A.prototype.do=function(B,Q,Z){var G=this,Y=G.kind,I=G.value,W=G.error;return Y==="N"?B===null||B===void 0?void 0:B(I):Y==="E"?Q===null||Q===void 0?void 0:Q(W):Z===null||Z===void 0?void 0:Z()},A.prototype.accept=function(B,Q,Z){var G;return oeQ.isFunction((G=B)===null||G===void 0?void 0:G.next)?this.observe(B):this.do(B,Q,Z)},A.prototype.toObservable=function(){var B=this,Q=B.kind,Z=B.value,G=B.error,Y=Q==="N"?seQ.of(Z):Q==="E"?reQ.throwError(function(){return G}):Q==="C"?aeQ.EMPTY:0;if(!Y)throw new TypeError("Unexpected notification kind "+Q);return Y},A.createNext=function(B){return new A("N",B)},A.createError=function(B){return new A("E",void 0,B)},A.createComplete=function(){return A.completeNotification},A.completeNotification=new A("C"),A}();RBA.Notification=eeQ;function OBA(A,B){var Q,Z,G,Y=A,I=Y.kind,W=Y.value,J=Y.error;if(typeof I!=="string")throw new TypeError('Invalid notification, missing "kind"');I==="N"?(Q=B.next)===null||Q===void 0||Q.call(B,W):I==="E"?(Z=B.error)===null||Z===void 0||Z.call(B,J):(G=B.complete)===null||G===void 0||G.call(B)}RBA.observeNotification=OBA});var yBA=U((jBA)=>{Object.defineProperty(jBA,"__esModule",{value:!0});jBA.isObservable=void 0;var B19=z7(),PBA=n8();function Q19(A){return!!A&&(A instanceof B19.Observable||PBA.isFunction(A.lift)&&PBA.isFunction(A.subscribe))}jBA.isObservable=Q19});var Dk=U((kBA)=>{Object.defineProperty(kBA,"__esModule",{value:!0});kBA.EmptyError=void 0;var Z19=Kk();kBA.EmptyError=Z19.createErrorClass(function(A){return function B(){A(this),this.name="EmptyError",this.message="no elements in sequence"}})});var bBA=U((xBA)=>{Object.defineProperty(xBA,"__esModule",{value:!0});xBA.lastValueFrom=void 0;var G19=Dk();function Y19(A,B){var Q=typeof B==="object";return new Promise(function(Z,G){var Y=!1,I;A.subscribe({next:function(W){I=W,Y=!0},error:G,complete:function(){if(Y)Z(I);else if(Q)Z(B.defaultValue);else G(new G19.EmptyError)}})})}xBA.lastValueFrom=Y19});var gBA=U((fBA)=>{Object.defineProperty(fBA,"__esModule",{value:!0});fBA.firstValueFrom=void 0;var I19=Dk(),W19=oi();function J19(A,B){var Q=typeof B==="object";return new Promise(function(Z,G){var Y=new W19.SafeSubscriber({next:function(I){Z(I),Y.unsubscribe()},error:G,complete:function(){if(Q)Z(B.defaultValue);else G(new I19.EmptyError)}});A.subscribe(Y)})}fBA.firstValueFrom=J19});var ts1=U((uBA)=>{Object.defineProperty(uBA,"__esModule",{value:!0});uBA.ArgumentOutOfRangeError=void 0;var X19=Kk();uBA.ArgumentOutOfRangeError=X19.createErrorClass(function(A){return function B(){A(this),this.name="ArgumentOutOfRangeError",this.message="argument out of range"}})});var es1=U((dBA)=>{Object.defineProperty(dBA,"__esModule",{value:!0});dBA.NotFoundError=void 0;var F19=Kk();dBA.NotFoundError=F19.createErrorClass(function(A){return function B(Q){A(this),this.name="NotFoundError",this.message=Q}})});var Ar1=U((lBA)=>{Object.defineProperty(lBA,"__esModule",{value:!0});lBA.SequenceError=void 0;var V19=Kk();lBA.SequenceError=V19.createErrorClass(function(A){return function B(Q){A(this),this.name="SequenceError",this.message=Q}})});var sH1=U((iBA)=>{Object.defineProperty(iBA,"__esModule",{value:!0});iBA.isValidDate=void 0;function K19(A){return A instanceof Date&&!isNaN(A)}iBA.isValidDate=K19});var b91=U((aBA)=>{Object.defineProperty(aBA,"__esModule",{value:!0});aBA.timeout=aBA.TimeoutError=void 0;var z19=oK(),H19=sH1(),D19=WB(),C19=D4(),U19=Kk(),$19=DQ(),w19=NT();aBA.TimeoutError=U19.createErrorClass(function(A){return function B(Q){if(Q===void 0)Q=null;A(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=Q}});function q19(A,B){var Q=H19.isValidDate(A)?{first:A}:typeof A==="number"?{each:A}:A,Z=Q.first,G=Q.each,Y=Q.with,I=Y===void 0?E19:Y,W=Q.scheduler,J=W===void 0?B!==null&&B!==void 0?B:z19.asyncScheduler:W,X=Q.meta,F=X===void 0?null:X;if(Z==null&&G==null)throw new TypeError("No timeout provided.");return D19.operate(function(V,K){var z,H,D=null,C=0,w=function(E){H=w19.executeSchedule(K,J,function(){try{z.unsubscribe(),C19.innerFrom(I({meta:F,lastValue:D,seen:C})).subscribe(K)}catch(L){K.error(L)}},E)};z=V.subscribe($19.createOperatorSubscriber(K,function(E){H===null||H===void 0||H.unsubscribe(),C++,K.next(D=E),G>0&&w(G)},void 0,void 0,function(){if(!(H===null||H===void 0?void 0:H.closed))H===null||H===void 0||H.unsubscribe();D=null})),!C&&w(Z!=null?typeof Z==="number"?Z:+Z-J.now():G)})}aBA.timeout=q19;function E19(A){throw new aBA.TimeoutError(A)}});var MT=U((oBA)=>{Object.defineProperty(oBA,"__esModule",{value:!0});oBA.map=void 0;var N19=WB(),L19=DQ();function M19(A,B){return N19.operate(function(Q,Z){var G=0;Q.subscribe(L19.createOperatorSubscriber(Z,function(Y){Z.next(A.call(B,Y,G++))}))})}oBA.map=M19});var Uk=U((Ck)=>{var O19=Ck&&Ck.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},R19=Ck&&Ck.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {var y19=$k&&$k.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},eBA=$k&&$k.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {Object.defineProperty(AQA,"__esModule",{value:!0});AQA.bindCallback=void 0;var h19=Qr1();function g19(A,B,Q){return h19.bindCallbackInternals(!1,A,B,Q)}AQA.bindCallback=g19});var YQA=U((ZQA)=>{Object.defineProperty(ZQA,"__esModule",{value:!0});ZQA.bindNodeCallback=void 0;var u19=Qr1();function m19(A,B,Q){return u19.bindCallbackInternals(!0,A,B,Q)}ZQA.bindNodeCallback=m19});var Zr1=U((IQA)=>{Object.defineProperty(IQA,"__esModule",{value:!0});IQA.argsArgArrayOrObject=void 0;var d19=Array.isArray,c19=Object.getPrototypeOf,l19=Object.prototype,p19=Object.keys;function i19(A){if(A.length===1){var B=A[0];if(d19(B))return{args:B,keys:null};if(n19(B)){var Q=p19(B);return{args:Q.map(function(Z){return B[Z]}),keys:Q}}}return{args:A,keys:null}}IQA.argsArgArrayOrObject=i19;function n19(A){return A&&typeof A==="object"&&c19(A)===l19}});var Gr1=U((JQA)=>{Object.defineProperty(JQA,"__esModule",{value:!0});JQA.createObject=void 0;function a19(A,B){return A.reduce(function(Q,Z,G){return Q[Z]=B[G],Q},{})}JQA.createObject=a19});var rH1=U((DQA)=>{Object.defineProperty(DQA,"__esModule",{value:!0});DQA.combineLatestInit=DQA.combineLatest=void 0;var s19=z7(),r19=Zr1(),KQA=LT(),zQA=dJ(),o19=Uk(),FQA=tK(),t19=Gr1(),e19=DQ(),A09=NT();function B09(){var A=[];for(var B=0;B {Object.defineProperty($QA,"__esModule",{value:!0});$QA.mergeInternals=void 0;var Z09=D4(),G09=NT(),UQA=DQ();function Y09(A,B,Q,Z,G,Y,I,W){var J=[],X=0,F=0,V=!1,K=function(){if(V&&!J.length&&!X)B.complete()},z=function(D){return X {Object.defineProperty(EQA,"__esModule",{value:!0});EQA.mergeMap=void 0;var I09=MT(),W09=D4(),J09=WB(),X09=oH1(),F09=n8();function qQA(A,B,Q){if(Q===void 0)Q=1/0;if(F09.isFunction(B))return qQA(function(Z,G){return I09.map(function(Y,I){return B(Z,Y,G,I)})(W09.innerFrom(A(Z,G)))},Q);else if(typeof B==="number")Q=B;return J09.operate(function(Z,G){return X09.mergeInternals(Z,G,A,Q)})}EQA.mergeMap=qQA});var Un=U((LQA)=>{Object.defineProperty(LQA,"__esModule",{value:!0});LQA.mergeAll=void 0;var V09=nN(),K09=dJ();function z09(A){if(A===void 0)A=1/0;return V09.mergeMap(K09.identity,A)}LQA.mergeAll=z09});var f91=U((OQA)=>{Object.defineProperty(OQA,"__esModule",{value:!0});OQA.concatAll=void 0;var H09=Un();function D09(){return H09.mergeAll(1)}OQA.concatAll=D09});var h91=U((TQA)=>{Object.defineProperty(TQA,"__esModule",{value:!0});TQA.concat=void 0;var C09=f91(),U09=tK(),$09=LT();function w09(){var A=[];for(var B=0;B {Object.defineProperty(jQA,"__esModule",{value:!0});jQA.defer=void 0;var q09=z7(),E09=D4();function N09(A){return new q09.Observable(function(B){E09.innerFrom(A()).subscribe(B)})}jQA.defer=N09});var _QA=U((yQA)=>{Object.defineProperty(yQA,"__esModule",{value:!0});yQA.connectable=void 0;var L09=cJ(),M09=z7(),O09=g91(),R09={connector:function(){return new L09.Subject},resetOnDisconnect:!0};function T09(A,B){if(B===void 0)B=R09;var Q=null,Z=B.connector,G=B.resetOnDisconnect,Y=G===void 0?!0:G,I=Z(),W=new M09.Observable(function(J){return I.subscribe(J)});return W.connect=function(){if(!Q||Q.closed){if(Q=O09.defer(function(){return A}).subscribe(I),Y)Q.add(function(){return I=Z()})}return Q},W}yQA.connectable=T09});var bQA=U((xQA)=>{Object.defineProperty(xQA,"__esModule",{value:!0});xQA.forkJoin=void 0;var P09=z7(),j09=Zr1(),S09=D4(),y09=tK(),k09=DQ(),_09=Uk(),x09=Gr1();function v09(){var A=[];for(var B=0;B {var b09=$n&&$n.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y};Object.defineProperty($n,"__esModule",{value:!0});$n.fromEvent=void 0;var f09=D4(),h09=z7(),g09=nN(),u09=pH1(),Eg=n8(),m09=Uk(),d09=["addListener","removeListener"],c09=["addEventListener","removeEventListener"],l09=["on","off"];function Yr1(A,B,Q,Z){if(Eg.isFunction(Q))Z=Q,Q=void 0;if(Z)return Yr1(A,B,Q).pipe(m09.mapOneOrManyArgs(Z));var G=b09(n09(A)?c09.map(function(W){return function(J){return A[W](B,J,Q)}}):p09(A)?d09.map(fQA(A,B)):i09(A)?l09.map(fQA(A,B)):[],2),Y=G[0],I=G[1];if(!Y){if(u09.isArrayLike(A))return g09.mergeMap(function(W){return Yr1(W,B,Q)})(f09.innerFrom(A))}if(!Y)throw new TypeError("Invalid event target");return new h09.Observable(function(W){var J=function(){var X=[];for(var F=0;F {Object.defineProperty(uQA,"__esModule",{value:!0});uQA.fromEventPattern=void 0;var a09=z7(),s09=n8(),r09=Uk();function gQA(A,B,Q){if(Q)return gQA(A,B).pipe(r09.mapOneOrManyArgs(Q));return new a09.Observable(function(Z){var G=function(){var I=[];for(var W=0;W {var o09=wn&&wn.__generator||function(A,B){var Q={label:0,sent:function(){if(Y[0]&1)throw Y[1];return Y[1]},trys:[],ops:[]},Z,G,Y,I;return I={next:W(0),throw:W(1),return:W(2)},typeof Symbol==="function"&&(I[Symbol.iterator]=function(){return this}),I;function W(X){return function(F){return J([X,F])}}function J(X){if(Z)throw new TypeError("Generator is already executing.");while(Q)try{if(Z=1,G&&(Y=X[0]&2?G.return:X[0]?G.throw||((Y=G.return)&&Y.call(G),0):G.next)&&!(Y=Y.call(G,X[1])).done)return Y;if(G=0,Y)X=[X[0]&2,Y.value];switch(X[0]){case 0:case 1:Y=X;break;case 4:return Q.label++,{value:X[1],done:!1};case 5:Q.label++,G=X[1],X=[0];continue;case 7:X=Q.ops.pop(),Q.trys.pop();continue;default:if((Y=Q.trys,!(Y=Y.length>0&&Y[Y.length-1]))&&(X[0]===6||X[0]===2)){Q=0;continue}if(X[0]===3&&(!Y||X[1]>Y[0]&&X[1] {Object.defineProperty(pQA,"__esModule",{value:!0});pQA.iif=void 0;var QA9=g91();function ZA9(A,B,Q){return QA9.defer(function(){return A()?B:Q})}pQA.iif=ZA9});var wk=U((aQA)=>{Object.defineProperty(aQA,"__esModule",{value:!0});aQA.timer=void 0;var GA9=z7(),YA9=oK(),IA9=v91(),WA9=sH1();function JA9(A,B,Q){if(A===void 0)A=0;if(Q===void 0)Q=YA9.async;var Z=-1;if(B!=null)if(IA9.isScheduler(B))Q=B;else Z=B;return new GA9.Observable(function(G){var Y=WA9.isValidDate(A)?+A-Q.now():A;if(Y<0)Y=0;var I=0;return Q.schedule(function(){if(!G.closed)if(G.next(I++),0<=Z)this.schedule(void 0,Z);else G.complete()},Y)})}aQA.timer=JA9});var Ir1=U((rQA)=>{Object.defineProperty(rQA,"__esModule",{value:!0});rQA.interval=void 0;var XA9=oK(),FA9=wk();function VA9(A,B){if(A===void 0)A=0;if(B===void 0)B=XA9.asyncScheduler;if(A<0)A=0;return FA9.timer(A,A,B)}rQA.interval=VA9});var B9A=U((eQA)=>{Object.defineProperty(eQA,"__esModule",{value:!0});eQA.merge=void 0;var KA9=Un(),zA9=D4(),HA9=iw(),tQA=tK(),DA9=LT();function CA9(){var A=[];for(var B=0;B {Object.defineProperty(Q9A,"__esModule",{value:!0});Q9A.never=Q9A.NEVER=void 0;var UA9=z7(),$A9=mJ();Q9A.NEVER=new UA9.Observable($A9.noop);function wA9(){return Q9A.NEVER}Q9A.never=wA9});var Ng=U((Y9A)=>{Object.defineProperty(Y9A,"__esModule",{value:!0});Y9A.argsOrArgArray=void 0;var qA9=Array.isArray;function EA9(A){return A.length===1&&qA9(A[0])?A[0]:A}Y9A.argsOrArgArray=EA9});var Jr1=U((J9A)=>{Object.defineProperty(J9A,"__esModule",{value:!0});J9A.onErrorResumeNext=void 0;var NA9=z7(),LA9=Ng(),MA9=DQ(),W9A=mJ(),OA9=D4();function RA9(){var A=[];for(var B=0;B {Object.defineProperty(F9A,"__esModule",{value:!0});F9A.pairs=void 0;var TA9=LT();function PA9(A,B){return TA9.from(Object.entries(A),B)}F9A.pairs=PA9});var Xr1=U((z9A)=>{Object.defineProperty(z9A,"__esModule",{value:!0});z9A.not=void 0;function jA9(A,B){return function(Q,Z){return!A.call(B,Q,Z)}}z9A.not=jA9});var OT=U((D9A)=>{Object.defineProperty(D9A,"__esModule",{value:!0});D9A.filter=void 0;var SA9=WB(),yA9=DQ();function kA9(A,B){return SA9.operate(function(Q,Z){var G=0;Q.subscribe(yA9.createOperatorSubscriber(Z,function(Y){return A.call(B,Y,G++)&&Z.next(Y)}))})}D9A.filter=kA9});var E9A=U((w9A)=>{Object.defineProperty(w9A,"__esModule",{value:!0});w9A.partition=void 0;var _A9=Xr1(),U9A=OT(),$9A=D4();function xA9(A,B,Q){return[U9A.filter(B,Q)($9A.innerFrom(A)),U9A.filter(_A9.not(B,Q))($9A.innerFrom(A))]}w9A.partition=xA9});var Fr1=U((M9A)=>{Object.defineProperty(M9A,"__esModule",{value:!0});M9A.raceInit=M9A.race=void 0;var vA9=z7(),N9A=D4(),bA9=Ng(),fA9=DQ();function hA9(){var A=[];for(var B=0;B {Object.defineProperty(R9A,"__esModule",{value:!0});R9A.range=void 0;var uA9=z7(),mA9=iw();function dA9(A,B,Q){if(B==null)B=A,A=0;if(B<=0)return mA9.EMPTY;var Z=B+A;return new uA9.Observable(Q?function(G){var Y=A;return Q.schedule(function(){if(Y {Object.defineProperty(j9A,"__esModule",{value:!0});j9A.using=void 0;var cA9=z7(),lA9=D4(),pA9=iw();function iA9(A,B){return new cA9.Observable(function(Q){var Z=A(),G=B(Z),Y=G?lA9.innerFrom(G):pA9.EMPTY;return Y.subscribe(Q),function(){if(Z)Z.unsubscribe()}})}j9A.using=iA9});var tH1=U((qk)=>{var nA9=qk&&qk.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},aA9=qk&&qk.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {Object.defineProperty(k9A,"__esModule",{value:!0})});var eH1=U((v9A)=>{Object.defineProperty(v9A,"__esModule",{value:!0});v9A.audit=void 0;var Q29=WB(),Z29=D4(),x9A=DQ();function G29(A){return Q29.operate(function(B,Q){var Z=!1,G=null,Y=null,I=!1,W=function(){if(Y===null||Y===void 0||Y.unsubscribe(),Y=null,Z){Z=!1;var X=G;G=null,Q.next(X)}I&&Q.complete()},J=function(){Y=null,I&&Q.complete()};B.subscribe(x9A.createOperatorSubscriber(Q,function(X){if(Z=!0,G=X,!Y)Z29.innerFrom(A(X)).subscribe(Y=x9A.createOperatorSubscriber(Q,W,J))},function(){I=!0,(!Z||!Y||Y.closed)&&Q.complete()}))})}v9A.audit=G29});var Vr1=U((f9A)=>{Object.defineProperty(f9A,"__esModule",{value:!0});f9A.auditTime=void 0;var Y29=oK(),I29=eH1(),W29=wk();function J29(A,B){if(B===void 0)B=Y29.asyncScheduler;return I29.audit(function(){return W29.timer(A,B)})}f9A.auditTime=J29});var Kr1=U((u9A)=>{Object.defineProperty(u9A,"__esModule",{value:!0});u9A.buffer=void 0;var X29=WB(),F29=mJ(),g9A=DQ(),V29=D4();function K29(A){return X29.operate(function(B,Q){var Z=[];return B.subscribe(g9A.createOperatorSubscriber(Q,function(G){return Z.push(G)},function(){Q.next(Z),Q.complete()})),V29.innerFrom(A).subscribe(g9A.createOperatorSubscriber(Q,function(){var G=Z;Z=[],Q.next(G)},F29.noop)),function(){Z=null}})}u9A.buffer=K29});var Hr1=U((qn)=>{var zr1=qn&&qn.__values||function(A){var B=typeof Symbol==="function"&&Symbol.iterator,Q=B&&A[B],Z=0;if(Q)return Q.call(A);if(A&&typeof A.length==="number")return{next:function(){if(A&&Z>=A.length)A=void 0;return{value:A&&A[Z++],done:!A}}};throw new TypeError(B?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(qn,"__esModule",{value:!0});qn.bufferCount=void 0;var z29=WB(),H29=DQ(),D29=ET();function C29(A,B){if(B===void 0)B=null;return B=B!==null&&B!==void 0?B:A,z29.operate(function(Q,Z){var G=[],Y=0;Q.subscribe(H29.createOperatorSubscriber(Z,function(I){var W,J,X,F,V=null;if(Y++%B===0)G.push([]);try{for(var K=zr1(G),z=K.next();!z.done;z=K.next()){var H=z.value;if(H.push(I),A<=H.length)V=V!==null&&V!==void 0?V:[],V.push(H)}}catch(w){W={error:w}}finally{try{if(z&&!z.done&&(J=K.return))J.call(K)}finally{if(W)throw W.error}}if(V)try{for(var D=zr1(V),C=D.next();!C.done;C=D.next()){var H=C.value;D29.arrRemove(G,H),Z.next(H)}}catch(w){X={error:w}}finally{try{if(C&&!C.done&&(F=D.return))F.call(D)}finally{if(X)throw X.error}}},function(){var I,W;try{for(var J=zr1(G),X=J.next();!X.done;X=J.next()){var F=X.value;Z.next(F)}}catch(V){I={error:V}}finally{try{if(X&&!X.done&&(W=J.return))W.call(J)}finally{if(I)throw I.error}}Z.complete()},void 0,function(){G=null}))})}qn.bufferCount=C29});var Dr1=U((En)=>{var U29=En&&En.__values||function(A){var B=typeof Symbol==="function"&&Symbol.iterator,Q=B&&A[B],Z=0;if(Q)return Q.call(A);if(A&&typeof A.length==="number")return{next:function(){if(A&&Z>=A.length)A=void 0;return{value:A&&A[Z++],done:!A}}};throw new TypeError(B?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(En,"__esModule",{value:!0});En.bufferTime=void 0;var $29=TH(),w29=WB(),q29=DQ(),E29=ET(),N29=oK(),L29=tK(),d9A=NT();function M29(A){var B,Q,Z=[];for(var G=1;G =0)d9A.executeSchedule(X,Y,z,I,!0);else V=!0;z();var H=q29.createOperatorSubscriber(X,function(D){var C,w,E=F.slice();try{for(var L=U29(E),O=L.next();!O.done;O=L.next()){var R=O.value,P=R.buffer;P.push(D),W<=P.length&&K(R)}}catch(k){C={error:k}}finally{try{if(O&&!O.done&&(w=L.return))w.call(L)}finally{if(C)throw C.error}}},function(){while(F===null||F===void 0?void 0:F.length)X.next(F.shift().buffer);H===null||H===void 0||H.unsubscribe(),X.complete(),X.unsubscribe()},void 0,function(){return F=null});J.subscribe(H)})}En.bufferTime=M29});var Ur1=U((Nn)=>{var O29=Nn&&Nn.__values||function(A){var B=typeof Symbol==="function"&&Symbol.iterator,Q=B&&A[B],Z=0;if(Q)return Q.call(A);if(A&&typeof A.length==="number")return{next:function(){if(A&&Z>=A.length)A=void 0;return{value:A&&A[Z++],done:!A}}};throw new TypeError(B?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Nn,"__esModule",{value:!0});Nn.bufferToggle=void 0;var R29=TH(),T29=WB(),c9A=D4(),Cr1=DQ(),l9A=mJ(),P29=ET();function j29(A,B){return T29.operate(function(Q,Z){var G=[];c9A.innerFrom(A).subscribe(Cr1.createOperatorSubscriber(Z,function(Y){var I=[];G.push(I);var W=new R29.Subscription,J=function(){P29.arrRemove(G,I),Z.next(I),W.unsubscribe()};W.add(c9A.innerFrom(B(Y)).subscribe(Cr1.createOperatorSubscriber(Z,J,l9A.noop)))},l9A.noop)),Q.subscribe(Cr1.createOperatorSubscriber(Z,function(Y){var I,W;try{for(var J=O29(G),X=J.next();!X.done;X=J.next()){var F=X.value;F.push(Y)}}catch(V){I={error:V}}finally{try{if(X&&!X.done&&(W=J.return))W.call(J)}finally{if(I)throw I.error}}},function(){while(G.length>0)Z.next(G.shift());Z.complete()}))})}Nn.bufferToggle=j29});var $r1=U((i9A)=>{Object.defineProperty(i9A,"__esModule",{value:!0});i9A.bufferWhen=void 0;var S29=WB(),y29=mJ(),p9A=DQ(),k29=D4();function _29(A){return S29.operate(function(B,Q){var Z=null,G=null,Y=function(){G===null||G===void 0||G.unsubscribe();var I=Z;Z=[],I&&Q.next(I),k29.innerFrom(A()).subscribe(G=p9A.createOperatorSubscriber(Q,Y,y29.noop))};Y(),B.subscribe(p9A.createOperatorSubscriber(Q,function(I){return Z===null||Z===void 0?void 0:Z.push(I)},function(){Z&&Q.next(Z),Q.complete()},void 0,function(){return Z=G=null}))})}i9A.bufferWhen=_29});var wr1=U((s9A)=>{Object.defineProperty(s9A,"__esModule",{value:!0});s9A.catchError=void 0;var x29=D4(),v29=DQ(),b29=WB();function a9A(A){return b29.operate(function(B,Q){var Z=null,G=!1,Y;if(Z=B.subscribe(v29.createOperatorSubscriber(Q,void 0,void 0,function(I){if(Y=x29.innerFrom(A(I,a9A(A)(B))),Z)Z.unsubscribe(),Z=null,Y.subscribe(Q);else G=!0})),G)Z.unsubscribe(),Z=null,Y.subscribe(Q)})}s9A.catchError=a9A});var qr1=U((o9A)=>{Object.defineProperty(o9A,"__esModule",{value:!0});o9A.scanInternals=void 0;var f29=DQ();function h29(A,B,Q,Z,G){return function(Y,I){var W=Q,J=B,X=0;Y.subscribe(f29.createOperatorSubscriber(I,function(F){var V=X++;J=W?A(J,F,V):(W=!0,F),Z&&I.next(J)},G&&function(){W&&I.next(J),I.complete()}))}}o9A.scanInternals=h29});var Lg=U((e9A)=>{Object.defineProperty(e9A,"__esModule",{value:!0});e9A.reduce=void 0;var g29=qr1(),u29=WB();function m29(A,B){return u29.operate(g29.scanInternals(A,B,arguments.length>=2,!1,!0))}e9A.reduce=m29});var AD1=U((B4A)=>{Object.defineProperty(B4A,"__esModule",{value:!0});B4A.toArray=void 0;var d29=Lg(),c29=WB(),l29=function(A,B){return A.push(B),A};function p29(){return c29.operate(function(A,B){d29.reduce(l29,[])(A).subscribe(B)})}B4A.toArray=p29});var Er1=U((Z4A)=>{Object.defineProperty(Z4A,"__esModule",{value:!0});Z4A.joinAllInternals=void 0;var i29=dJ(),n29=Uk(),a29=_91(),s29=nN(),r29=AD1();function o29(A,B){return a29.pipe(r29.toArray(),s29.mergeMap(function(Q){return A(Q)}),B?n29.mapOneOrManyArgs(B):i29.identity)}Z4A.joinAllInternals=o29});var BD1=U((Y4A)=>{Object.defineProperty(Y4A,"__esModule",{value:!0});Y4A.combineLatestAll=void 0;var t29=rH1(),e29=Er1();function AB9(A){return e29.joinAllInternals(t29.combineLatest,A)}Y4A.combineLatestAll=AB9});var Nr1=U((W4A)=>{Object.defineProperty(W4A,"__esModule",{value:!0});W4A.combineAll=void 0;var BB9=BD1();W4A.combineAll=BB9.combineLatestAll});var Lr1=U((Ek)=>{var X4A=Ek&&Ek.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},F4A=Ek&&Ek.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {var JB9=Nk&&Nk.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},XB9=Nk&&Nk.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {Object.defineProperty(z4A,"__esModule",{value:!0});z4A.concatMap=void 0;var K4A=nN(),KB9=n8();function zB9(A,B){return KB9.isFunction(B)?K4A.mergeMap(A,B,1):K4A.mergeMap(A,1)}z4A.concatMap=zB9});var Or1=U((C4A)=>{Object.defineProperty(C4A,"__esModule",{value:!0});C4A.concatMapTo=void 0;var D4A=QD1(),HB9=n8();function DB9(A,B){return HB9.isFunction(B)?D4A.concatMap(function(){return A},B):D4A.concatMap(function(){return A})}C4A.concatMapTo=DB9});var Rr1=U((Lk)=>{var CB9=Lk&&Lk.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},UB9=Lk&&Lk.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {var LB9=Mk&&Mk.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},MB9=Mk&&Mk.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {Object.defineProperty($4A,"__esModule",{value:!0});$4A.fromSubscribable=void 0;var TB9=z7();function PB9(A){return new TB9.Observable(function(B){return A.subscribe(B)})}$4A.fromSubscribable=PB9});var u91=U((E4A)=>{Object.defineProperty(E4A,"__esModule",{value:!0});E4A.connect=void 0;var jB9=cJ(),SB9=D4(),yB9=WB(),kB9=q4A(),_B9={connector:function(){return new jB9.Subject}};function xB9(A,B){if(B===void 0)B=_B9;var Q=B.connector;return yB9.operate(function(Z,G){var Y=Q();SB9.innerFrom(A(kB9.fromSubscribable(Y))).subscribe(G),G.add(Z.subscribe(Y))})}E4A.connect=xB9});var Pr1=U((L4A)=>{Object.defineProperty(L4A,"__esModule",{value:!0});L4A.count=void 0;var vB9=Lg();function bB9(A){return vB9.reduce(function(B,Q,Z){return!A||A(Q,Z)?B+1:B},0)}L4A.count=bB9});var jr1=U((R4A)=>{Object.defineProperty(R4A,"__esModule",{value:!0});R4A.debounce=void 0;var fB9=WB(),hB9=mJ(),O4A=DQ(),gB9=D4();function uB9(A){return fB9.operate(function(B,Q){var Z=!1,G=null,Y=null,I=function(){if(Y===null||Y===void 0||Y.unsubscribe(),Y=null,Z){Z=!1;var W=G;G=null,Q.next(W)}};B.subscribe(O4A.createOperatorSubscriber(Q,function(W){Y===null||Y===void 0||Y.unsubscribe(),Z=!0,G=W,Y=O4A.createOperatorSubscriber(Q,I,hB9.noop),gB9.innerFrom(A(W)).subscribe(Y)},function(){I(),Q.complete()},void 0,function(){G=Y=null}))})}R4A.debounce=uB9});var Sr1=U((P4A)=>{Object.defineProperty(P4A,"__esModule",{value:!0});P4A.debounceTime=void 0;var mB9=oK(),dB9=WB(),cB9=DQ();function lB9(A,B){if(B===void 0)B=mB9.asyncScheduler;return dB9.operate(function(Q,Z){var G=null,Y=null,I=null,W=function(){if(G){G.unsubscribe(),G=null;var X=Y;Y=null,Z.next(X)}};function J(){var X=I+A,F=B.now();if(F {Object.defineProperty(S4A,"__esModule",{value:!0});S4A.defaultIfEmpty=void 0;var pB9=WB(),iB9=DQ();function nB9(A){return pB9.operate(function(B,Q){var Z=!1;B.subscribe(iB9.createOperatorSubscriber(Q,function(G){Z=!0,Q.next(G)},function(){if(!Z)Q.next(A);Q.complete()}))})}S4A.defaultIfEmpty=nB9});var Mn=U((k4A)=>{Object.defineProperty(k4A,"__esModule",{value:!0});k4A.take=void 0;var aB9=iw(),sB9=WB(),rB9=DQ();function oB9(A){return A<=0?function(){return aB9.EMPTY}:sB9.operate(function(B,Q){var Z=0;B.subscribe(rB9.createOperatorSubscriber(Q,function(G){if(++Z<=A){if(Q.next(G),A<=Z)Q.complete()}}))})}k4A.take=oB9});var ZD1=U((x4A)=>{Object.defineProperty(x4A,"__esModule",{value:!0});x4A.ignoreElements=void 0;var tB9=WB(),eB9=DQ(),AQ9=mJ();function BQ9(){return tB9.operate(function(A,B){A.subscribe(eB9.createOperatorSubscriber(B,AQ9.noop))})}x4A.ignoreElements=BQ9});var GD1=U((b4A)=>{Object.defineProperty(b4A,"__esModule",{value:!0});b4A.mapTo=void 0;var QQ9=MT();function ZQ9(A){return QQ9.map(function(){return A})}b4A.mapTo=ZQ9});var YD1=U((u4A)=>{Object.defineProperty(u4A,"__esModule",{value:!0});u4A.delayWhen=void 0;var GQ9=h91(),h4A=Mn(),YQ9=ZD1(),IQ9=GD1(),WQ9=nN(),JQ9=D4();function g4A(A,B){if(B)return function(Q){return GQ9.concat(B.pipe(h4A.take(1),YQ9.ignoreElements()),Q.pipe(g4A(A)))};return WQ9.mergeMap(function(Q,Z){return JQ9.innerFrom(A(Q,Z)).pipe(h4A.take(1),IQ9.mapTo(Q))})}u4A.delayWhen=g4A});var yr1=U((d4A)=>{Object.defineProperty(d4A,"__esModule",{value:!0});d4A.delay=void 0;var XQ9=oK(),FQ9=YD1(),VQ9=wk();function KQ9(A,B){if(B===void 0)B=XQ9.asyncScheduler;var Q=VQ9.timer(A,B);return FQ9.delayWhen(function(){return Q})}d4A.delay=KQ9});var kr1=U((l4A)=>{Object.defineProperty(l4A,"__esModule",{value:!0});l4A.dematerialize=void 0;var zQ9=aH1(),HQ9=WB(),DQ9=DQ();function CQ9(){return HQ9.operate(function(A,B){A.subscribe(DQ9.createOperatorSubscriber(B,function(Q){return zQ9.observeNotification(Q,B)}))})}l4A.dematerialize=CQ9});var _r1=U((n4A)=>{Object.defineProperty(n4A,"__esModule",{value:!0});n4A.distinct=void 0;var UQ9=WB(),i4A=DQ(),$Q9=mJ(),wQ9=D4();function qQ9(A,B){return UQ9.operate(function(Q,Z){var G=new Set;Q.subscribe(i4A.createOperatorSubscriber(Z,function(Y){var I=A?A(Y):Y;if(!G.has(I))G.add(I),Z.next(Y)})),B&&wQ9.innerFrom(B).subscribe(i4A.createOperatorSubscriber(Z,function(){return G.clear()},$Q9.noop))})}n4A.distinct=qQ9});var ID1=U((s4A)=>{Object.defineProperty(s4A,"__esModule",{value:!0});s4A.distinctUntilChanged=void 0;var EQ9=dJ(),NQ9=WB(),LQ9=DQ();function MQ9(A,B){if(B===void 0)B=EQ9.identity;return A=A!==null&&A!==void 0?A:OQ9,NQ9.operate(function(Q,Z){var G,Y=!0;Q.subscribe(LQ9.createOperatorSubscriber(Z,function(I){var W=B(I);if(Y||!A(G,W))Y=!1,G=W,Z.next(I)}))})}s4A.distinctUntilChanged=MQ9;function OQ9(A,B){return A===B}});var xr1=U((o4A)=>{Object.defineProperty(o4A,"__esModule",{value:!0});o4A.distinctUntilKeyChanged=void 0;var RQ9=ID1();function TQ9(A,B){return RQ9.distinctUntilChanged(function(Q,Z){return B?B(Q[A],Z[A]):Q[A]===Z[A]})}o4A.distinctUntilKeyChanged=TQ9});var On=U((e4A)=>{Object.defineProperty(e4A,"__esModule",{value:!0});e4A.throwIfEmpty=void 0;var PQ9=Dk(),jQ9=WB(),SQ9=DQ();function yQ9(A){if(A===void 0)A=kQ9;return jQ9.operate(function(B,Q){var Z=!1;B.subscribe(SQ9.createOperatorSubscriber(Q,function(G){Z=!0,Q.next(G)},function(){return Z?Q.complete():Q.error(A())}))})}e4A.throwIfEmpty=yQ9;function kQ9(){return new PQ9.EmptyError}});var vr1=U((Q6A)=>{Object.defineProperty(Q6A,"__esModule",{value:!0});Q6A.elementAt=void 0;var B6A=ts1(),_Q9=OT(),xQ9=On(),vQ9=Ln(),bQ9=Mn();function fQ9(A,B){if(A<0)throw new B6A.ArgumentOutOfRangeError;var Q=arguments.length>=2;return function(Z){return Z.pipe(_Q9.filter(function(G,Y){return Y===A}),bQ9.take(1),Q?vQ9.defaultIfEmpty(B):xQ9.throwIfEmpty(function(){return new B6A.ArgumentOutOfRangeError}))}}Q6A.elementAt=fQ9});var br1=U((Ok)=>{var hQ9=Ok&&Ok.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},gQ9=Ok&&Ok.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {Object.defineProperty(G6A,"__esModule",{value:!0});G6A.every=void 0;var cQ9=WB(),lQ9=DQ();function pQ9(A,B){return cQ9.operate(function(Q,Z){var G=0;Q.subscribe(lQ9.createOperatorSubscriber(Z,function(Y){if(!A.call(B,Y,G++,Q))Z.next(!1),Z.complete()},function(){Z.next(!0),Z.complete()}))})}G6A.every=pQ9});var WD1=U((X6A)=>{Object.defineProperty(X6A,"__esModule",{value:!0});X6A.exhaustMap=void 0;var iQ9=MT(),I6A=D4(),nQ9=WB(),W6A=DQ();function J6A(A,B){if(B)return function(Q){return Q.pipe(J6A(function(Z,G){return I6A.innerFrom(A(Z,G)).pipe(iQ9.map(function(Y,I){return B(Z,Y,G,I)}))}))};return nQ9.operate(function(Q,Z){var G=0,Y=null,I=!1;Q.subscribe(W6A.createOperatorSubscriber(Z,function(W){if(!Y)Y=W6A.createOperatorSubscriber(Z,void 0,function(){Y=null,I&&Z.complete()}),I6A.innerFrom(A(W,G++)).subscribe(Y)},function(){I=!0,!Y&&Z.complete()}))})}X6A.exhaustMap=J6A});var JD1=U((V6A)=>{Object.defineProperty(V6A,"__esModule",{value:!0});V6A.exhaustAll=void 0;var aQ9=WD1(),sQ9=dJ();function rQ9(){return aQ9.exhaustMap(sQ9.identity)}V6A.exhaustAll=rQ9});var hr1=U((z6A)=>{Object.defineProperty(z6A,"__esModule",{value:!0});z6A.exhaust=void 0;var oQ9=JD1();z6A.exhaust=oQ9.exhaustAll});var gr1=U((D6A)=>{Object.defineProperty(D6A,"__esModule",{value:!0});D6A.expand=void 0;var tQ9=WB(),eQ9=oH1();function A99(A,B,Q){if(B===void 0)B=1/0;return B=(B||0)<1?1/0:B,tQ9.operate(function(Z,G){return eQ9.mergeInternals(Z,G,A,B,void 0,!0,Q)})}D6A.expand=A99});var ur1=U((U6A)=>{Object.defineProperty(U6A,"__esModule",{value:!0});U6A.finalize=void 0;var B99=WB();function Q99(A){return B99.operate(function(B,Q){try{B.subscribe(Q)}finally{Q.add(A)}})}U6A.finalize=Q99});var XD1=U((q6A)=>{Object.defineProperty(q6A,"__esModule",{value:!0});q6A.createFind=q6A.find=void 0;var Z99=WB(),G99=DQ();function Y99(A,B){return Z99.operate(w6A(A,B,"value"))}q6A.find=Y99;function w6A(A,B,Q){var Z=Q==="index";return function(G,Y){var I=0;G.subscribe(G99.createOperatorSubscriber(Y,function(W){var J=I++;if(A.call(B,W,J,G))Y.next(Z?J:W),Y.complete()},function(){Y.next(Z?-1:void 0),Y.complete()}))}}q6A.createFind=w6A});var mr1=U((N6A)=>{Object.defineProperty(N6A,"__esModule",{value:!0});N6A.findIndex=void 0;var W99=WB(),J99=XD1();function X99(A,B){return W99.operate(J99.createFind(A,B,"index"))}N6A.findIndex=X99});var dr1=U((M6A)=>{Object.defineProperty(M6A,"__esModule",{value:!0});M6A.first=void 0;var F99=Dk(),V99=OT(),K99=Mn(),z99=Ln(),H99=On(),D99=dJ();function C99(A,B){var Q=arguments.length>=2;return function(Z){return Z.pipe(A?V99.filter(function(G,Y){return A(G,Y,Z)}):D99.identity,K99.take(1),Q?z99.defaultIfEmpty(B):H99.throwIfEmpty(function(){return new F99.EmptyError}))}}M6A.first=C99});var cr1=U((T6A)=>{Object.defineProperty(T6A,"__esModule",{value:!0});T6A.groupBy=void 0;var U99=z7(),$99=D4(),w99=cJ(),q99=WB(),R6A=DQ();function E99(A,B,Q,Z){return q99.operate(function(G,Y){var I;if(!B||typeof B==="function")I=B;else Q=B.duration,I=B.element,Z=B.connector;var W=new Map,J=function(H){W.forEach(H),H(Y)},X=function(H){return J(function(D){return D.error(H)})},F=0,V=!1,K=new R6A.OperatorSubscriber(Y,function(H){try{var D=A(H),C=W.get(D);if(!C){W.set(D,C=Z?Z():new w99.Subject);var w=z(D,C);if(Y.next(w),Q){var E=R6A.createOperatorSubscriber(C,function(){C.complete(),E===null||E===void 0||E.unsubscribe()},void 0,void 0,function(){return W.delete(D)});K.add($99.innerFrom(Q(w)).subscribe(E))}}C.next(I?I(H):H)}catch(L){X(L)}},function(){return J(function(H){return H.complete()})},X,function(){return W.clear()},function(){return V=!0,F===0});G.subscribe(K);function z(H,D){var C=new U99.Observable(function(w){F++;var E=D.subscribe(w);return function(){E.unsubscribe(),--F===0&&V&&K.unsubscribe()}});return C.key=H,C}})}T6A.groupBy=E99});var lr1=U((j6A)=>{Object.defineProperty(j6A,"__esModule",{value:!0});j6A.isEmpty=void 0;var N99=WB(),L99=DQ();function M99(){return N99.operate(function(A,B){A.subscribe(L99.createOperatorSubscriber(B,function(){B.next(!1),B.complete()},function(){B.next(!0),B.complete()}))})}j6A.isEmpty=M99});var FD1=U((Rn)=>{var O99=Rn&&Rn.__values||function(A){var B=typeof Symbol==="function"&&Symbol.iterator,Q=B&&A[B],Z=0;if(Q)return Q.call(A);if(A&&typeof A.length==="number")return{next:function(){if(A&&Z>=A.length)A=void 0;return{value:A&&A[Z++],done:!A}}};throw new TypeError(B?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Rn,"__esModule",{value:!0});Rn.takeLast=void 0;var R99=iw(),T99=WB(),P99=DQ();function j99(A){return A<=0?function(){return R99.EMPTY}:T99.operate(function(B,Q){var Z=[];B.subscribe(P99.createOperatorSubscriber(Q,function(G){Z.push(G),A {Object.defineProperty(y6A,"__esModule",{value:!0});y6A.last=void 0;var S99=Dk(),y99=OT(),k99=FD1(),_99=On(),x99=Ln(),v99=dJ();function b99(A,B){var Q=arguments.length>=2;return function(Z){return Z.pipe(A?y99.filter(function(G,Y){return A(G,Y,Z)}):v99.identity,k99.takeLast(1),Q?x99.defaultIfEmpty(B):_99.throwIfEmpty(function(){return new S99.EmptyError}))}}y6A.last=b99});var nr1=U((_6A)=>{Object.defineProperty(_6A,"__esModule",{value:!0});_6A.materialize=void 0;var ir1=aH1(),f99=WB(),h99=DQ();function g99(){return f99.operate(function(A,B){A.subscribe(h99.createOperatorSubscriber(B,function(Q){B.next(ir1.Notification.createNext(Q))},function(){B.next(ir1.Notification.createComplete()),B.complete()},function(Q){B.next(ir1.Notification.createError(Q)),B.complete()}))})}_6A.materialize=g99});var ar1=U((v6A)=>{Object.defineProperty(v6A,"__esModule",{value:!0});v6A.max=void 0;var u99=Lg(),m99=n8();function d99(A){return u99.reduce(m99.isFunction(A)?function(B,Q){return A(B,Q)>0?B:Q}:function(B,Q){return B>Q?B:Q})}v6A.max=d99});var sr1=U((f6A)=>{Object.defineProperty(f6A,"__esModule",{value:!0});f6A.flatMap=void 0;var c99=nN();f6A.flatMap=c99.mergeMap});var rr1=U((u6A)=>{Object.defineProperty(u6A,"__esModule",{value:!0});u6A.mergeMapTo=void 0;var g6A=nN(),l99=n8();function p99(A,B,Q){if(Q===void 0)Q=1/0;if(l99.isFunction(B))return g6A.mergeMap(function(){return A},B,Q);if(typeof B==="number")Q=B;return g6A.mergeMap(function(){return A},Q)}u6A.mergeMapTo=p99});var or1=U((d6A)=>{Object.defineProperty(d6A,"__esModule",{value:!0});d6A.mergeScan=void 0;var i99=WB(),n99=oH1();function a99(A,B,Q){if(Q===void 0)Q=1/0;return i99.operate(function(Z,G){var Y=B;return n99.mergeInternals(Z,G,function(I,W){return A(Y,I,W)},Q,function(I){Y=I},!1,void 0,function(){return Y=null})})}d6A.mergeScan=a99});var tr1=U((Rk)=>{var s99=Rk&&Rk.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},r99=Rk&&Rk.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {var B49=Tk&&Tk.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},Q49=Tk&&Tk.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {Object.defineProperty(p6A,"__esModule",{value:!0});p6A.min=void 0;var Y49=Lg(),I49=n8();function W49(A){return Y49.reduce(I49.isFunction(A)?function(B,Q){return A(B,Q)<0?B:Q}:function(B,Q){return B {Object.defineProperty(a6A,"__esModule",{value:!0});a6A.multicast=void 0;var J49=x91(),n6A=n8(),X49=u91();function F49(A,B){var Q=n6A.isFunction(A)?A:function(){return A};if(n6A.isFunction(B))return X49.connect(B,{connector:Q});return function(Z){return new J49.ConnectableObservable(Z,Q)}}a6A.multicast=F49});var Bo1=U((aN)=>{var V49=aN&&aN.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},K49=aN&&aN.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q{Object.defineProperty(o6A,"__esModule",{value:!0});o6A.pairwise=void 0;var D49=WB(),C49=DQ();function U49(){return D49.operate(function(A,B){var Q,Z=!1;A.subscribe(C49.createOperatorSubscriber(B,function(G){var Y=Q;Q=G,Z&&B.next([Y,G]),Z=!0}))})}o6A.pairwise=U49});var Zo1=U((e6A)=>{Object.defineProperty(e6A,"__esModule",{value:!0});e6A.pluck=void 0;var $49=MT();function w49(){var A=[];for(var B=0;B {Object.defineProperty(B5A,"__esModule",{value:!0});B5A.publish=void 0;var q49=cJ(),E49=m91(),N49=u91();function L49(A){return A?function(B){return N49.connect(A)(B)}:function(B){return E49.multicast(new q49.Subject)(B)}}B5A.publish=L49});var Yo1=U((Z5A)=>{Object.defineProperty(Z5A,"__esModule",{value:!0});Z5A.publishBehavior=void 0;var M49=xs1(),O49=x91();function R49(A){return function(B){var Q=new M49.BehaviorSubject(A);return new O49.ConnectableObservable(B,function(){return Q})}}Z5A.publishBehavior=R49});var Io1=U((Y5A)=>{Object.defineProperty(Y5A,"__esModule",{value:!0});Y5A.publishLast=void 0;var T49=cH1(),P49=x91();function j49(){return function(A){var B=new T49.AsyncSubject;return new P49.ConnectableObservable(A,function(){return B})}}Y5A.publishLast=j49});var Wo1=U((J5A)=>{Object.defineProperty(J5A,"__esModule",{value:!0});J5A.publishReplay=void 0;var S49=dH1(),y49=m91(),W5A=n8();function k49(A,B,Q,Z){if(Q&&!W5A.isFunction(Q))Z=Q;var G=W5A.isFunction(Q)?Q:void 0;return function(Y){return y49.multicast(new S49.ReplaySubject(A,B,Z),G)(Y)}}J5A.publishReplay=k49});var VD1=U((Pk)=>{var _49=Pk&&Pk.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},x49=Pk&&Pk.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {Object.defineProperty(V5A,"__esModule",{value:!0});V5A.repeat=void 0;var g49=iw(),u49=WB(),F5A=DQ(),m49=D4(),d49=wk();function c49(A){var B,Q=1/0,Z;if(A!=null)if(typeof A==="object")B=A.count,Q=B===void 0?1/0:B,Z=A.delay;else Q=A;return Q<=0?function(){return g49.EMPTY}:u49.operate(function(G,Y){var I=0,W,J=function(){if(W===null||W===void 0||W.unsubscribe(),W=null,Z!=null){var F=typeof Z==="number"?d49.timer(Z):m49.innerFrom(Z(I)),V=F5A.createOperatorSubscriber(Y,function(){V.unsubscribe(),X()});F.subscribe(V)}else X()},X=function(){var F=!1;if(W=G.subscribe(F5A.createOperatorSubscriber(Y,void 0,function(){if(++I {Object.defineProperty(H5A,"__esModule",{value:!0});H5A.repeatWhen=void 0;var l49=D4(),p49=cJ(),i49=WB(),z5A=DQ();function n49(A){return i49.operate(function(B,Q){var Z,G=!1,Y,I=!1,W=!1,J=function(){return W&&I&&(Q.complete(),!0)},X=function(){if(!Y)Y=new p49.Subject,l49.innerFrom(A(Y)).subscribe(z5A.createOperatorSubscriber(Q,function(){if(Z)F();else G=!0},function(){I=!0,J()}));return Y},F=function(){if(W=!1,Z=B.subscribe(z5A.createOperatorSubscriber(Q,void 0,function(){W=!0,!J()&&X().next()})),G)Z.unsubscribe(),Z=null,G=!1,F()};F()})}H5A.repeatWhen=n49});var Fo1=U((U5A)=>{Object.defineProperty(U5A,"__esModule",{value:!0});U5A.retry=void 0;var a49=WB(),C5A=DQ(),s49=dJ(),r49=wk(),o49=D4();function t49(A){if(A===void 0)A=1/0;var B;if(A&&typeof A==="object")B=A;else B={count:A};var Q=B.count,Z=Q===void 0?1/0:Q,G=B.delay,Y=B.resetOnSuccess,I=Y===void 0?!1:Y;return Z<=0?s49.identity:a49.operate(function(W,J){var X=0,F,V=function(){var K=!1;if(F=W.subscribe(C5A.createOperatorSubscriber(J,function(z){if(I)X=0;J.next(z)},void 0,function(z){if(X++{Object.defineProperty(q5A,"__esModule",{value:!0});q5A.retryWhen=void 0;var e49=D4(),A69=cJ(),B69=WB(),w5A=DQ();function Q69(A){return B69.operate(function(B,Q){var Z,G=!1,Y,I=function(){if(Z=B.subscribe(w5A.createOperatorSubscriber(Q,void 0,void 0,function(W){if(!Y)Y=new A69.Subject,e49.innerFrom(A(Y)).subscribe(w5A.createOperatorSubscriber(Q,function(){return Z?I():G=!0}));if(Y)Y.next(W)})),G)Z.unsubscribe(),Z=null,G=!1,I()};I()})}q5A.retryWhen=Q69});var KD1=U((L5A)=>{Object.defineProperty(L5A,"__esModule",{value:!0});L5A.sample=void 0;var Z69=D4(),G69=WB(),Y69=mJ(),N5A=DQ();function I69(A){return G69.operate(function(B,Q){var Z=!1,G=null;B.subscribe(N5A.createOperatorSubscriber(Q,function(Y){Z=!0,G=Y})),Z69.innerFrom(A).subscribe(N5A.createOperatorSubscriber(Q,function(){if(Z){Z=!1;var Y=G;G=null,Q.next(Y)}},Y69.noop))})}L5A.sample=I69});var Ko1=U((O5A)=>{Object.defineProperty(O5A,"__esModule",{value:!0});O5A.sampleTime=void 0;var W69=oK(),J69=KD1(),X69=Ir1();function F69(A,B){if(B===void 0)B=W69.asyncScheduler;return J69.sample(X69.interval(A,B))}O5A.sampleTime=F69});var zo1=U((T5A)=>{Object.defineProperty(T5A,"__esModule",{value:!0});T5A.scan=void 0;var V69=WB(),K69=qr1();function z69(A,B){return V69.operate(K69.scanInternals(A,B,arguments.length>=2,!0))}T5A.scan=z69});var Ho1=U((S5A)=>{Object.defineProperty(S5A,"__esModule",{value:!0});S5A.sequenceEqual=void 0;var H69=WB(),D69=DQ(),C69=D4();function U69(A,B){if(B===void 0)B=function(Q,Z){return Q===Z};return H69.operate(function(Q,Z){var G=j5A(),Y=j5A(),I=function(J){Z.next(J),Z.complete()},W=function(J,X){var F=D69.createOperatorSubscriber(Z,function(V){var{buffer:K,complete:z}=X;if(K.length===0)z?I(!1):J.buffer.push(V);else!B(V,K.shift())&&I(!1)},function(){J.complete=!0;var{complete:V,buffer:K}=X;V&&I(K.length===0),F===null||F===void 0||F.unsubscribe()});return F};Q.subscribe(W(G,Y)),C69.innerFrom(A).subscribe(W(Y,G))})}S5A.sequenceEqual=U69;function j5A(){return{buffer:[],complete:!1}}});var zD1=U((jk)=>{var $69=jk&&jk.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},w69=jk&&jk.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q 0)F=new _5A.SafeSubscriber({next:function(P){return R.next(P)},error:function(P){D=!0,C(),V=Do1(w,G,P),R.error(P)},complete:function(){H=!0,C(),V=Do1(w,I),R.complete()}}),k5A.innerFrom(L).subscribe(F)})(X)}}jk.share=N69;function Do1(A,B){var Q=[];for(var Z=2;Z {Object.defineProperty(x5A,"__esModule",{value:!0});x5A.shareReplay=void 0;var L69=dH1(),M69=zD1();function O69(A,B,Q){var Z,G,Y,I,W=!1;if(A&&typeof A==="object")Z=A.bufferSize,I=Z===void 0?1/0:Z,G=A.windowTime,B=G===void 0?1/0:G,Y=A.refCount,W=Y===void 0?!1:Y,Q=A.scheduler;else I=A!==null&&A!==void 0?A:1/0;return M69.share({connector:function(){return new L69.ReplaySubject(I,B,Q)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:W})}x5A.shareReplay=O69});var Uo1=U((b5A)=>{Object.defineProperty(b5A,"__esModule",{value:!0});b5A.single=void 0;var R69=Dk(),T69=Ar1(),P69=es1(),j69=WB(),S69=DQ();function y69(A){return j69.operate(function(B,Q){var Z=!1,G,Y=!1,I=0;B.subscribe(S69.createOperatorSubscriber(Q,function(W){if(Y=!0,!A||A(W,I++,B))Z&&Q.error(new T69.SequenceError("Too many matching values")),Z=!0,G=W},function(){if(Z)Q.next(G),Q.complete();else Q.error(Y?new P69.NotFoundError("No matching values"):new R69.EmptyError)}))})}b5A.single=y69});var $o1=U((h5A)=>{Object.defineProperty(h5A,"__esModule",{value:!0});h5A.skip=void 0;var k69=OT();function _69(A){return k69.filter(function(B,Q){return A<=Q})}h5A.skip=_69});var wo1=U((u5A)=>{Object.defineProperty(u5A,"__esModule",{value:!0});u5A.skipLast=void 0;var x69=dJ(),v69=WB(),b69=DQ();function f69(A){return A<=0?x69.identity:v69.operate(function(B,Q){var Z=new Array(A),G=0;return B.subscribe(b69.createOperatorSubscriber(Q,function(Y){var I=G++;if(I{Object.defineProperty(c5A,"__esModule",{value:!0});c5A.skipUntil=void 0;var h69=WB(),d5A=DQ(),g69=D4(),u69=mJ();function m69(A){return h69.operate(function(B,Q){var Z=!1,G=d5A.createOperatorSubscriber(Q,function(){G===null||G===void 0||G.unsubscribe(),Z=!0},u69.noop);g69.innerFrom(A).subscribe(G),B.subscribe(d5A.createOperatorSubscriber(Q,function(Y){return Z&&Q.next(Y)}))})}c5A.skipUntil=m69});var Eo1=U((p5A)=>{Object.defineProperty(p5A,"__esModule",{value:!0});p5A.skipWhile=void 0;var d69=WB(),c69=DQ();function l69(A){return d69.operate(function(B,Q){var Z=!1,G=0;B.subscribe(c69.createOperatorSubscriber(Q,function(Y){return(Z||(Z=!A(Y,G++)))&&Q.next(Y)}))})}p5A.skipWhile=l69});var No1=U((a5A)=>{Object.defineProperty(a5A,"__esModule",{value:!0});a5A.startWith=void 0;var n5A=h91(),p69=tK(),i69=WB();function n69(){var A=[];for(var B=0;B {Object.defineProperty(o5A,"__esModule",{value:!0});o5A.switchMap=void 0;var a69=D4(),s69=WB(),r5A=DQ();function r69(A,B){return s69.operate(function(Q,Z){var G=null,Y=0,I=!1,W=function(){return I&&!G&&Z.complete()};Q.subscribe(r5A.createOperatorSubscriber(Z,function(J){G===null||G===void 0||G.unsubscribe();var X=0,F=Y++;a69.innerFrom(A(J,F)).subscribe(G=r5A.createOperatorSubscriber(Z,function(V){return Z.next(B?B(J,V,F,X++):V)},function(){G=null,W()}))},function(){I=!0,W()}))})}o5A.switchMap=r69});var Lo1=U((e5A)=>{Object.defineProperty(e5A,"__esModule",{value:!0});e5A.switchAll=void 0;var o69=Tn(),t69=dJ();function e69(){return o69.switchMap(t69.identity)}e5A.switchAll=e69});var Mo1=U((Q8A)=>{Object.defineProperty(Q8A,"__esModule",{value:!0});Q8A.switchMapTo=void 0;var B8A=Tn(),A59=n8();function B59(A,B){return A59.isFunction(B)?B8A.switchMap(function(){return A},B):B8A.switchMap(function(){return A})}Q8A.switchMapTo=B59});var Oo1=U((G8A)=>{Object.defineProperty(G8A,"__esModule",{value:!0});G8A.switchScan=void 0;var Q59=Tn(),Z59=WB();function G59(A,B){return Z59.operate(function(Q,Z){var G=B;return Q59.switchMap(function(Y,I){return A(G,Y,I)},function(Y,I){return G=I,I})(Q).subscribe(Z),function(){G=null}})}G8A.switchScan=G59});var Ro1=U((I8A)=>{Object.defineProperty(I8A,"__esModule",{value:!0});I8A.takeUntil=void 0;var Y59=WB(),I59=DQ(),W59=D4(),J59=mJ();function X59(A){return Y59.operate(function(B,Q){W59.innerFrom(A).subscribe(I59.createOperatorSubscriber(Q,function(){return Q.complete()},J59.noop)),!Q.closed&&B.subscribe(Q)})}I8A.takeUntil=X59});var To1=U((J8A)=>{Object.defineProperty(J8A,"__esModule",{value:!0});J8A.takeWhile=void 0;var F59=WB(),V59=DQ();function K59(A,B){if(B===void 0)B=!1;return F59.operate(function(Q,Z){var G=0;Q.subscribe(V59.createOperatorSubscriber(Z,function(Y){var I=A(Y,G++);(I||B)&&Z.next(Y),!I&&Z.complete()}))})}J8A.takeWhile=K59});var Po1=U((F8A)=>{Object.defineProperty(F8A,"__esModule",{value:!0});F8A.tap=void 0;var z59=n8(),H59=WB(),D59=DQ(),C59=dJ();function U59(A,B,Q){var Z=z59.isFunction(A)||B||Q?{next:A,error:B,complete:Q}:A;return Z?H59.operate(function(G,Y){var I;(I=Z.subscribe)===null||I===void 0||I.call(Z);var W=!0;G.subscribe(D59.createOperatorSubscriber(Y,function(J){var X;(X=Z.next)===null||X===void 0||X.call(Z,J),Y.next(J)},function(){var J;W=!1,(J=Z.complete)===null||J===void 0||J.call(Z),Y.complete()},function(J){var X;W=!1,(X=Z.error)===null||X===void 0||X.call(Z,J),Y.error(J)},function(){var J,X;if(W)(J=Z.unsubscribe)===null||J===void 0||J.call(Z);(X=Z.finalize)===null||X===void 0||X.call(Z)}))}):C59.identity}F8A.tap=U59});var HD1=U((z8A)=>{Object.defineProperty(z8A,"__esModule",{value:!0});z8A.throttle=void 0;var $59=WB(),K8A=DQ(),w59=D4();function q59(A,B){return $59.operate(function(Q,Z){var G=B!==null&&B!==void 0?B:{},Y=G.leading,I=Y===void 0?!0:Y,W=G.trailing,J=W===void 0?!1:W,X=!1,F=null,V=null,K=!1,z=function(){if(V===null||V===void 0||V.unsubscribe(),V=null,J)C(),K&&Z.complete()},H=function(){V=null,K&&Z.complete()},D=function(w){return V=w59.innerFrom(A(w)).subscribe(K8A.createOperatorSubscriber(Z,z,H))},C=function(){if(X){X=!1;var w=F;F=null,Z.next(w),!K&&D(w)}};Q.subscribe(K8A.createOperatorSubscriber(Z,function(w){X=!0,F=w,!(V&&!V.closed)&&(I?C():D(w))},function(){K=!0,!(J&&X&&V&&!V.closed)&&Z.complete()}))})}z8A.throttle=q59});var jo1=U((D8A)=>{Object.defineProperty(D8A,"__esModule",{value:!0});D8A.throttleTime=void 0;var E59=oK(),N59=HD1(),L59=wk();function M59(A,B,Q){if(B===void 0)B=E59.asyncScheduler;var Z=L59.timer(A,B);return N59.throttle(function(){return Z},Q)}D8A.throttleTime=M59});var So1=U(($8A)=>{Object.defineProperty($8A,"__esModule",{value:!0});$8A.TimeInterval=$8A.timeInterval=void 0;var O59=oK(),R59=WB(),T59=DQ();function P59(A){if(A===void 0)A=O59.asyncScheduler;return R59.operate(function(B,Q){var Z=A.now();B.subscribe(T59.createOperatorSubscriber(Q,function(G){var Y=A.now(),I=Y-Z;Z=Y,Q.next(new U8A(G,I))}))})}$8A.timeInterval=P59;var U8A=function(){function A(B,Q){this.value=B,this.interval=Q}return A}();$8A.TimeInterval=U8A});var yo1=U((q8A)=>{Object.defineProperty(q8A,"__esModule",{value:!0});q8A.timeoutWith=void 0;var S59=oK(),y59=sH1(),k59=b91();function _59(A,B,Q){var Z,G,Y;if(Q=Q!==null&&Q!==void 0?Q:S59.async,y59.isValidDate(A))Z=A;else if(typeof A==="number")G=A;if(B)Y=function(){return B};else throw new TypeError("No observable provided to switch to");if(Z==null&&G==null)throw new TypeError("No timeout provided.");return k59.timeout({first:Z,each:G,scheduler:Q,with:Y})}q8A.timeoutWith=_59});var ko1=U((N8A)=>{Object.defineProperty(N8A,"__esModule",{value:!0});N8A.timestamp=void 0;var x59=mH1(),v59=MT();function b59(A){if(A===void 0)A=x59.dateTimestampProvider;return v59.map(function(B){return{value:B,timestamp:A.now()}})}N8A.timestamp=b59});var _o1=U((R8A)=>{Object.defineProperty(R8A,"__esModule",{value:!0});R8A.window=void 0;var M8A=cJ(),f59=WB(),O8A=DQ(),h59=mJ(),g59=D4();function u59(A){return f59.operate(function(B,Q){var Z=new M8A.Subject;Q.next(Z.asObservable());var G=function(Y){Z.error(Y),Q.error(Y)};return B.subscribe(O8A.createOperatorSubscriber(Q,function(Y){return Z===null||Z===void 0?void 0:Z.next(Y)},function(){Z.complete(),Q.complete()},G)),g59.innerFrom(A).subscribe(O8A.createOperatorSubscriber(Q,function(){Z.complete(),Q.next(Z=new M8A.Subject)},h59.noop,G)),function(){Z===null||Z===void 0||Z.unsubscribe(),Z=null}})}R8A.window=u59});var xo1=U((Pn)=>{var m59=Pn&&Pn.__values||function(A){var B=typeof Symbol==="function"&&Symbol.iterator,Q=B&&A[B],Z=0;if(Q)return Q.call(A);if(A&&typeof A.length==="number")return{next:function(){if(A&&Z>=A.length)A=void 0;return{value:A&&A[Z++],done:!A}}};throw new TypeError(B?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Pn,"__esModule",{value:!0});Pn.windowCount=void 0;var P8A=cJ(),d59=WB(),c59=DQ();function l59(A,B){if(B===void 0)B=0;var Q=B>0?B:A;return d59.operate(function(Z,G){var Y=[new P8A.Subject],I=[],W=0;G.next(Y[0].asObservable()),Z.subscribe(c59.createOperatorSubscriber(G,function(J){var X,F;try{for(var V=m59(Y),K=V.next();!K.done;K=V.next()){var z=K.value;z.next(J)}}catch(C){X={error:C}}finally{try{if(K&&!K.done&&(F=V.return))F.call(V)}finally{if(X)throw X.error}}var H=W-A+1;if(H>=0&&H%Q===0)Y.shift().complete();if(++W%Q===0){var D=new P8A.Subject;Y.push(D),G.next(D.asObservable())}},function(){while(Y.length>0)Y.shift().complete();G.complete()},function(J){while(Y.length>0)Y.shift().error(J);G.error(J)},function(){I=null,Y=null}))})}Pn.windowCount=l59});var vo1=U((S8A)=>{Object.defineProperty(S8A,"__esModule",{value:!0});S8A.windowTime=void 0;var p59=cJ(),i59=oK(),n59=TH(),a59=WB(),s59=DQ(),r59=ET(),o59=tK(),j8A=NT();function t59(A){var B,Q,Z=[];for(var G=1;G =0)j8A.executeSchedule(X,Y,z,I,!0);else V=!0;z();var H=function(C){return F.slice().forEach(C)},D=function(C){H(function(w){var E=w.window;return C(E)}),C(X),X.unsubscribe()};return J.subscribe(s59.createOperatorSubscriber(X,function(C){H(function(w){w.window.next(C),W<=++w.seen&&K(w)})},function(){return D(function(C){return C.complete()})},function(C){return D(function(w){return w.error(C)})})),function(){F=null}})}S8A.windowTime=t59});var fo1=U((jn)=>{var e59=jn&&jn.__values||function(A){var B=typeof Symbol==="function"&&Symbol.iterator,Q=B&&A[B],Z=0;if(Q)return Q.call(A);if(A&&typeof A.length==="number")return{next:function(){if(A&&Z>=A.length)A=void 0;return{value:A&&A[Z++],done:!A}}};throw new TypeError(B?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(jn,"__esModule",{value:!0});jn.windowToggle=void 0;var A89=cJ(),B89=TH(),Q89=WB(),k8A=D4(),bo1=DQ(),_8A=mJ(),Z89=ET();function G89(A,B){return Q89.operate(function(Q,Z){var G=[],Y=function(I){while(0 {Object.defineProperty(v8A,"__esModule",{value:!0});v8A.windowWhen=void 0;var Y89=cJ(),I89=WB(),x8A=DQ(),W89=D4();function J89(A){return I89.operate(function(B,Q){var Z,G,Y=function(W){Z.error(W),Q.error(W)},I=function(){G===null||G===void 0||G.unsubscribe(),Z===null||Z===void 0||Z.complete(),Z=new Y89.Subject,Q.next(Z.asObservable());var W;try{W=W89.innerFrom(A())}catch(J){Y(J);return}W.subscribe(G=x8A.createOperatorSubscriber(Q,I,I,Y))};I(),B.subscribe(x8A.createOperatorSubscriber(Q,function(W){return Z.next(W)},function(){Z.complete(),Q.complete()},Y,function(){G===null||G===void 0||G.unsubscribe(),Z=null}))})}v8A.windowWhen=J89});var go1=U((Sk)=>{var f8A=Sk&&Sk.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},h8A=Sk&&Sk.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {Object.defineProperty(u8A,"__esModule",{value:!0});u8A.zipAll=void 0;var D89=tH1(),C89=Er1();function U89(A){return C89.joinAllInternals(D89.zip,A)}u8A.zipAll=U89});var mo1=U((yk)=>{var $89=yk&&yk.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},w89=yk&&yk.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {var L89=kk&&kk.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},M89=kk&&kk.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {var T89=P1&&P1.__createBinding||(Object.create?function(A,B,Q,Z){if(Z===void 0)Z=Q;Object.defineProperty(A,Z,{enumerable:!0,get:function(){return B[Q]}})}:function(A,B,Q,Z){if(Z===void 0)Z=Q;A[Z]=B[Q]}),P89=P1&&P1.__exportStar||function(A,B){for(var Q in A)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call(B,Q))T89(B,A,Q)};Object.defineProperty(P1,"__esModule",{value:!0});P1.interval=P1.iif=P1.generate=P1.fromEventPattern=P1.fromEvent=P1.from=P1.forkJoin=P1.empty=P1.defer=P1.connectable=P1.concat=P1.combineLatest=P1.bindNodeCallback=P1.bindCallback=P1.UnsubscriptionError=P1.TimeoutError=P1.SequenceError=P1.ObjectUnsubscribedError=P1.NotFoundError=P1.EmptyError=P1.ArgumentOutOfRangeError=P1.firstValueFrom=P1.lastValueFrom=P1.isObservable=P1.identity=P1.noop=P1.pipe=P1.NotificationKind=P1.Notification=P1.Subscriber=P1.Subscription=P1.Scheduler=P1.VirtualAction=P1.VirtualTimeScheduler=P1.animationFrameScheduler=P1.animationFrame=P1.queueScheduler=P1.queue=P1.asyncScheduler=P1.async=P1.asapScheduler=P1.asap=P1.AsyncSubject=P1.ReplaySubject=P1.BehaviorSubject=P1.Subject=P1.animationFrames=P1.observable=P1.ConnectableObservable=P1.Observable=void 0;P1.filter=P1.expand=P1.exhaustMap=P1.exhaustAll=P1.exhaust=P1.every=P1.endWith=P1.elementAt=P1.distinctUntilKeyChanged=P1.distinctUntilChanged=P1.distinct=P1.dematerialize=P1.delayWhen=P1.delay=P1.defaultIfEmpty=P1.debounceTime=P1.debounce=P1.count=P1.connect=P1.concatWith=P1.concatMapTo=P1.concatMap=P1.concatAll=P1.combineLatestWith=P1.combineLatestAll=P1.combineAll=P1.catchError=P1.bufferWhen=P1.bufferToggle=P1.bufferTime=P1.bufferCount=P1.buffer=P1.auditTime=P1.audit=P1.config=P1.NEVER=P1.EMPTY=P1.scheduled=P1.zip=P1.using=P1.timer=P1.throwError=P1.range=P1.race=P1.partition=P1.pairs=P1.onErrorResumeNext=P1.of=P1.never=P1.merge=void 0;P1.switchMap=P1.switchAll=P1.subscribeOn=P1.startWith=P1.skipWhile=P1.skipUntil=P1.skipLast=P1.skip=P1.single=P1.shareReplay=P1.share=P1.sequenceEqual=P1.scan=P1.sampleTime=P1.sample=P1.refCount=P1.retryWhen=P1.retry=P1.repeatWhen=P1.repeat=P1.reduce=P1.raceWith=P1.publishReplay=P1.publishLast=P1.publishBehavior=P1.publish=P1.pluck=P1.pairwise=P1.onErrorResumeNextWith=P1.observeOn=P1.multicast=P1.min=P1.mergeWith=P1.mergeScan=P1.mergeMapTo=P1.mergeMap=P1.flatMap=P1.mergeAll=P1.max=P1.materialize=P1.mapTo=P1.map=P1.last=P1.isEmpty=P1.ignoreElements=P1.groupBy=P1.first=P1.findIndex=P1.find=P1.finalize=void 0;P1.zipWith=P1.zipAll=P1.withLatestFrom=P1.windowWhen=P1.windowToggle=P1.windowTime=P1.windowCount=P1.window=P1.toArray=P1.timestamp=P1.timeoutWith=P1.timeout=P1.timeInterval=P1.throwIfEmpty=P1.throttleTime=P1.throttle=P1.tap=P1.takeWhile=P1.takeUntil=P1.takeLast=P1.take=P1.switchScan=P1.switchMapTo=void 0;var j89=z7();Object.defineProperty(P1,"Observable",{enumerable:!0,get:function(){return j89.Observable}});var S89=x91();Object.defineProperty(P1,"ConnectableObservable",{enumerable:!0,get:function(){return S89.ConnectableObservable}});var y89=k91();Object.defineProperty(P1,"observable",{enumerable:!0,get:function(){return y89.observable}});var k89=MAA();Object.defineProperty(P1,"animationFrames",{enumerable:!0,get:function(){return k89.animationFrames}});var _89=cJ();Object.defineProperty(P1,"Subject",{enumerable:!0,get:function(){return _89.Subject}});var x89=xs1();Object.defineProperty(P1,"BehaviorSubject",{enumerable:!0,get:function(){return x89.BehaviorSubject}});var v89=dH1();Object.defineProperty(P1,"ReplaySubject",{enumerable:!0,get:function(){return v89.ReplaySubject}});var b89=cH1();Object.defineProperty(P1,"AsyncSubject",{enumerable:!0,get:function(){return b89.AsyncSubject}});var d8A=oAA();Object.defineProperty(P1,"asap",{enumerable:!0,get:function(){return d8A.asap}});Object.defineProperty(P1,"asapScheduler",{enumerable:!0,get:function(){return d8A.asapScheduler}});var c8A=oK();Object.defineProperty(P1,"async",{enumerable:!0,get:function(){return c8A.async}});Object.defineProperty(P1,"asyncScheduler",{enumerable:!0,get:function(){return c8A.asyncScheduler}});var l8A=I2A();Object.defineProperty(P1,"queue",{enumerable:!0,get:function(){return l8A.queue}});Object.defineProperty(P1,"queueScheduler",{enumerable:!0,get:function(){return l8A.queueScheduler}});var p8A=z2A();Object.defineProperty(P1,"animationFrame",{enumerable:!0,get:function(){return p8A.animationFrame}});Object.defineProperty(P1,"animationFrameScheduler",{enumerable:!0,get:function(){return p8A.animationFrameScheduler}});var i8A=C2A();Object.defineProperty(P1,"VirtualTimeScheduler",{enumerable:!0,get:function(){return i8A.VirtualTimeScheduler}});Object.defineProperty(P1,"VirtualAction",{enumerable:!0,get:function(){return i8A.VirtualAction}});var f89=fs1();Object.defineProperty(P1,"Scheduler",{enumerable:!0,get:function(){return f89.Scheduler}});var h89=TH();Object.defineProperty(P1,"Subscription",{enumerable:!0,get:function(){return h89.Subscription}});var g89=oi();Object.defineProperty(P1,"Subscriber",{enumerable:!0,get:function(){return g89.Subscriber}});var n8A=aH1();Object.defineProperty(P1,"Notification",{enumerable:!0,get:function(){return n8A.Notification}});Object.defineProperty(P1,"NotificationKind",{enumerable:!0,get:function(){return n8A.NotificationKind}});var u89=_91();Object.defineProperty(P1,"pipe",{enumerable:!0,get:function(){return u89.pipe}});var m89=mJ();Object.defineProperty(P1,"noop",{enumerable:!0,get:function(){return m89.noop}});var d89=dJ();Object.defineProperty(P1,"identity",{enumerable:!0,get:function(){return d89.identity}});var c89=yBA();Object.defineProperty(P1,"isObservable",{enumerable:!0,get:function(){return c89.isObservable}});var l89=bBA();Object.defineProperty(P1,"lastValueFrom",{enumerable:!0,get:function(){return l89.lastValueFrom}});var p89=gBA();Object.defineProperty(P1,"firstValueFrom",{enumerable:!0,get:function(){return p89.firstValueFrom}});var i89=ts1();Object.defineProperty(P1,"ArgumentOutOfRangeError",{enumerable:!0,get:function(){return i89.ArgumentOutOfRangeError}});var n89=Dk();Object.defineProperty(P1,"EmptyError",{enumerable:!0,get:function(){return n89.EmptyError}});var a89=es1();Object.defineProperty(P1,"NotFoundError",{enumerable:!0,get:function(){return a89.NotFoundError}});var s89=Ss1();Object.defineProperty(P1,"ObjectUnsubscribedError",{enumerable:!0,get:function(){return s89.ObjectUnsubscribedError}});var r89=Ar1();Object.defineProperty(P1,"SequenceError",{enumerable:!0,get:function(){return r89.SequenceError}});var o89=b91();Object.defineProperty(P1,"TimeoutError",{enumerable:!0,get:function(){return o89.TimeoutError}});var t89=Us1();Object.defineProperty(P1,"UnsubscriptionError",{enumerable:!0,get:function(){return t89.UnsubscriptionError}});var e89=QQA();Object.defineProperty(P1,"bindCallback",{enumerable:!0,get:function(){return e89.bindCallback}});var A79=YQA();Object.defineProperty(P1,"bindNodeCallback",{enumerable:!0,get:function(){return A79.bindNodeCallback}});var B79=rH1();Object.defineProperty(P1,"combineLatest",{enumerable:!0,get:function(){return B79.combineLatest}});var Q79=h91();Object.defineProperty(P1,"concat",{enumerable:!0,get:function(){return Q79.concat}});var Z79=_QA();Object.defineProperty(P1,"connectable",{enumerable:!0,get:function(){return Z79.connectable}});var G79=g91();Object.defineProperty(P1,"defer",{enumerable:!0,get:function(){return G79.defer}});var Y79=iw();Object.defineProperty(P1,"empty",{enumerable:!0,get:function(){return Y79.empty}});var I79=bQA();Object.defineProperty(P1,"forkJoin",{enumerable:!0,get:function(){return I79.forkJoin}});var W79=LT();Object.defineProperty(P1,"from",{enumerable:!0,get:function(){return W79.from}});var J79=hQA();Object.defineProperty(P1,"fromEvent",{enumerable:!0,get:function(){return J79.fromEvent}});var X79=dQA();Object.defineProperty(P1,"fromEventPattern",{enumerable:!0,get:function(){return X79.fromEventPattern}});var F79=lQA();Object.defineProperty(P1,"generate",{enumerable:!0,get:function(){return F79.generate}});var V79=nQA();Object.defineProperty(P1,"iif",{enumerable:!0,get:function(){return V79.iif}});var K79=Ir1();Object.defineProperty(P1,"interval",{enumerable:!0,get:function(){return K79.interval}});var z79=B9A();Object.defineProperty(P1,"merge",{enumerable:!0,get:function(){return z79.merge}});var H79=Wr1();Object.defineProperty(P1,"never",{enumerable:!0,get:function(){return H79.never}});var D79=nH1();Object.defineProperty(P1,"of",{enumerable:!0,get:function(){return D79.of}});var C79=Jr1();Object.defineProperty(P1,"onErrorResumeNext",{enumerable:!0,get:function(){return C79.onErrorResumeNext}});var U79=K9A();Object.defineProperty(P1,"pairs",{enumerable:!0,get:function(){return U79.pairs}});var $79=E9A();Object.defineProperty(P1,"partition",{enumerable:!0,get:function(){return $79.partition}});var w79=Fr1();Object.defineProperty(P1,"race",{enumerable:!0,get:function(){return w79.race}});var q79=P9A();Object.defineProperty(P1,"range",{enumerable:!0,get:function(){return q79.range}});var E79=os1();Object.defineProperty(P1,"throwError",{enumerable:!0,get:function(){return E79.throwError}});var N79=wk();Object.defineProperty(P1,"timer",{enumerable:!0,get:function(){return N79.timer}});var L79=y9A();Object.defineProperty(P1,"using",{enumerable:!0,get:function(){return L79.using}});var M79=tH1();Object.defineProperty(P1,"zip",{enumerable:!0,get:function(){return M79.zip}});var O79=rs1();Object.defineProperty(P1,"scheduled",{enumerable:!0,get:function(){return O79.scheduled}});var R79=iw();Object.defineProperty(P1,"EMPTY",{enumerable:!0,get:function(){return R79.EMPTY}});var T79=Wr1();Object.defineProperty(P1,"NEVER",{enumerable:!0,get:function(){return T79.NEVER}});P89(_9A(),P1);var P79=ri();Object.defineProperty(P1,"config",{enumerable:!0,get:function(){return P79.config}});var j79=eH1();Object.defineProperty(P1,"audit",{enumerable:!0,get:function(){return j79.audit}});var S79=Vr1();Object.defineProperty(P1,"auditTime",{enumerable:!0,get:function(){return S79.auditTime}});var y79=Kr1();Object.defineProperty(P1,"buffer",{enumerable:!0,get:function(){return y79.buffer}});var k79=Hr1();Object.defineProperty(P1,"bufferCount",{enumerable:!0,get:function(){return k79.bufferCount}});var _79=Dr1();Object.defineProperty(P1,"bufferTime",{enumerable:!0,get:function(){return _79.bufferTime}});var x79=Ur1();Object.defineProperty(P1,"bufferToggle",{enumerable:!0,get:function(){return x79.bufferToggle}});var v79=$r1();Object.defineProperty(P1,"bufferWhen",{enumerable:!0,get:function(){return v79.bufferWhen}});var b79=wr1();Object.defineProperty(P1,"catchError",{enumerable:!0,get:function(){return b79.catchError}});var f79=Nr1();Object.defineProperty(P1,"combineAll",{enumerable:!0,get:function(){return f79.combineAll}});var h79=BD1();Object.defineProperty(P1,"combineLatestAll",{enumerable:!0,get:function(){return h79.combineLatestAll}});var g79=Mr1();Object.defineProperty(P1,"combineLatestWith",{enumerable:!0,get:function(){return g79.combineLatestWith}});var u79=f91();Object.defineProperty(P1,"concatAll",{enumerable:!0,get:function(){return u79.concatAll}});var m79=QD1();Object.defineProperty(P1,"concatMap",{enumerable:!0,get:function(){return m79.concatMap}});var d79=Or1();Object.defineProperty(P1,"concatMapTo",{enumerable:!0,get:function(){return d79.concatMapTo}});var c79=Tr1();Object.defineProperty(P1,"concatWith",{enumerable:!0,get:function(){return c79.concatWith}});var l79=u91();Object.defineProperty(P1,"connect",{enumerable:!0,get:function(){return l79.connect}});var p79=Pr1();Object.defineProperty(P1,"count",{enumerable:!0,get:function(){return p79.count}});var i79=jr1();Object.defineProperty(P1,"debounce",{enumerable:!0,get:function(){return i79.debounce}});var n79=Sr1();Object.defineProperty(P1,"debounceTime",{enumerable:!0,get:function(){return n79.debounceTime}});var a79=Ln();Object.defineProperty(P1,"defaultIfEmpty",{enumerable:!0,get:function(){return a79.defaultIfEmpty}});var s79=yr1();Object.defineProperty(P1,"delay",{enumerable:!0,get:function(){return s79.delay}});var r79=YD1();Object.defineProperty(P1,"delayWhen",{enumerable:!0,get:function(){return r79.delayWhen}});var o79=kr1();Object.defineProperty(P1,"dematerialize",{enumerable:!0,get:function(){return o79.dematerialize}});var t79=_r1();Object.defineProperty(P1,"distinct",{enumerable:!0,get:function(){return t79.distinct}});var e79=ID1();Object.defineProperty(P1,"distinctUntilChanged",{enumerable:!0,get:function(){return e79.distinctUntilChanged}});var A39=xr1();Object.defineProperty(P1,"distinctUntilKeyChanged",{enumerable:!0,get:function(){return A39.distinctUntilKeyChanged}});var B39=vr1();Object.defineProperty(P1,"elementAt",{enumerable:!0,get:function(){return B39.elementAt}});var Q39=br1();Object.defineProperty(P1,"endWith",{enumerable:!0,get:function(){return Q39.endWith}});var Z39=fr1();Object.defineProperty(P1,"every",{enumerable:!0,get:function(){return Z39.every}});var G39=hr1();Object.defineProperty(P1,"exhaust",{enumerable:!0,get:function(){return G39.exhaust}});var Y39=JD1();Object.defineProperty(P1,"exhaustAll",{enumerable:!0,get:function(){return Y39.exhaustAll}});var I39=WD1();Object.defineProperty(P1,"exhaustMap",{enumerable:!0,get:function(){return I39.exhaustMap}});var W39=gr1();Object.defineProperty(P1,"expand",{enumerable:!0,get:function(){return W39.expand}});var J39=OT();Object.defineProperty(P1,"filter",{enumerable:!0,get:function(){return J39.filter}});var X39=ur1();Object.defineProperty(P1,"finalize",{enumerable:!0,get:function(){return X39.finalize}});var F39=XD1();Object.defineProperty(P1,"find",{enumerable:!0,get:function(){return F39.find}});var V39=mr1();Object.defineProperty(P1,"findIndex",{enumerable:!0,get:function(){return V39.findIndex}});var K39=dr1();Object.defineProperty(P1,"first",{enumerable:!0,get:function(){return K39.first}});var z39=cr1();Object.defineProperty(P1,"groupBy",{enumerable:!0,get:function(){return z39.groupBy}});var H39=ZD1();Object.defineProperty(P1,"ignoreElements",{enumerable:!0,get:function(){return H39.ignoreElements}});var D39=lr1();Object.defineProperty(P1,"isEmpty",{enumerable:!0,get:function(){return D39.isEmpty}});var C39=pr1();Object.defineProperty(P1,"last",{enumerable:!0,get:function(){return C39.last}});var U39=MT();Object.defineProperty(P1,"map",{enumerable:!0,get:function(){return U39.map}});var $39=GD1();Object.defineProperty(P1,"mapTo",{enumerable:!0,get:function(){return $39.mapTo}});var w39=nr1();Object.defineProperty(P1,"materialize",{enumerable:!0,get:function(){return w39.materialize}});var q39=ar1();Object.defineProperty(P1,"max",{enumerable:!0,get:function(){return q39.max}});var E39=Un();Object.defineProperty(P1,"mergeAll",{enumerable:!0,get:function(){return E39.mergeAll}});var N39=sr1();Object.defineProperty(P1,"flatMap",{enumerable:!0,get:function(){return N39.flatMap}});var L39=nN();Object.defineProperty(P1,"mergeMap",{enumerable:!0,get:function(){return L39.mergeMap}});var M39=rr1();Object.defineProperty(P1,"mergeMapTo",{enumerable:!0,get:function(){return M39.mergeMapTo}});var O39=or1();Object.defineProperty(P1,"mergeScan",{enumerable:!0,get:function(){return O39.mergeScan}});var R39=er1();Object.defineProperty(P1,"mergeWith",{enumerable:!0,get:function(){return R39.mergeWith}});var T39=Ao1();Object.defineProperty(P1,"min",{enumerable:!0,get:function(){return T39.min}});var P39=m91();Object.defineProperty(P1,"multicast",{enumerable:!0,get:function(){return P39.multicast}});var j39=Dn();Object.defineProperty(P1,"observeOn",{enumerable:!0,get:function(){return j39.observeOn}});var S39=Bo1();Object.defineProperty(P1,"onErrorResumeNextWith",{enumerable:!0,get:function(){return S39.onErrorResumeNextWith}});var y39=Qo1();Object.defineProperty(P1,"pairwise",{enumerable:!0,get:function(){return y39.pairwise}});var k39=Zo1();Object.defineProperty(P1,"pluck",{enumerable:!0,get:function(){return k39.pluck}});var _39=Go1();Object.defineProperty(P1,"publish",{enumerable:!0,get:function(){return _39.publish}});var x39=Yo1();Object.defineProperty(P1,"publishBehavior",{enumerable:!0,get:function(){return x39.publishBehavior}});var v39=Io1();Object.defineProperty(P1,"publishLast",{enumerable:!0,get:function(){return v39.publishLast}});var b39=Wo1();Object.defineProperty(P1,"publishReplay",{enumerable:!0,get:function(){return b39.publishReplay}});var f39=VD1();Object.defineProperty(P1,"raceWith",{enumerable:!0,get:function(){return f39.raceWith}});var h39=Lg();Object.defineProperty(P1,"reduce",{enumerable:!0,get:function(){return h39.reduce}});var g39=Jo1();Object.defineProperty(P1,"repeat",{enumerable:!0,get:function(){return g39.repeat}});var u39=Xo1();Object.defineProperty(P1,"repeatWhen",{enumerable:!0,get:function(){return u39.repeatWhen}});var m39=Fo1();Object.defineProperty(P1,"retry",{enumerable:!0,get:function(){return m39.retry}});var d39=Vo1();Object.defineProperty(P1,"retryWhen",{enumerable:!0,get:function(){return d39.retryWhen}});var c39=uH1();Object.defineProperty(P1,"refCount",{enumerable:!0,get:function(){return c39.refCount}});var l39=KD1();Object.defineProperty(P1,"sample",{enumerable:!0,get:function(){return l39.sample}});var p39=Ko1();Object.defineProperty(P1,"sampleTime",{enumerable:!0,get:function(){return p39.sampleTime}});var i39=zo1();Object.defineProperty(P1,"scan",{enumerable:!0,get:function(){return i39.scan}});var n39=Ho1();Object.defineProperty(P1,"sequenceEqual",{enumerable:!0,get:function(){return n39.sequenceEqual}});var a39=zD1();Object.defineProperty(P1,"share",{enumerable:!0,get:function(){return a39.share}});var s39=Co1();Object.defineProperty(P1,"shareReplay",{enumerable:!0,get:function(){return s39.shareReplay}});var r39=Uo1();Object.defineProperty(P1,"single",{enumerable:!0,get:function(){return r39.single}});var o39=$o1();Object.defineProperty(P1,"skip",{enumerable:!0,get:function(){return o39.skip}});var t39=wo1();Object.defineProperty(P1,"skipLast",{enumerable:!0,get:function(){return t39.skipLast}});var e39=qo1();Object.defineProperty(P1,"skipUntil",{enumerable:!0,get:function(){return e39.skipUntil}});var AZ9=Eo1();Object.defineProperty(P1,"skipWhile",{enumerable:!0,get:function(){return AZ9.skipWhile}});var BZ9=No1();Object.defineProperty(P1,"startWith",{enumerable:!0,get:function(){return BZ9.startWith}});var QZ9=Cn();Object.defineProperty(P1,"subscribeOn",{enumerable:!0,get:function(){return QZ9.subscribeOn}});var ZZ9=Lo1();Object.defineProperty(P1,"switchAll",{enumerable:!0,get:function(){return ZZ9.switchAll}});var GZ9=Tn();Object.defineProperty(P1,"switchMap",{enumerable:!0,get:function(){return GZ9.switchMap}});var YZ9=Mo1();Object.defineProperty(P1,"switchMapTo",{enumerable:!0,get:function(){return YZ9.switchMapTo}});var IZ9=Oo1();Object.defineProperty(P1,"switchScan",{enumerable:!0,get:function(){return IZ9.switchScan}});var WZ9=Mn();Object.defineProperty(P1,"take",{enumerable:!0,get:function(){return WZ9.take}});var JZ9=FD1();Object.defineProperty(P1,"takeLast",{enumerable:!0,get:function(){return JZ9.takeLast}});var XZ9=Ro1();Object.defineProperty(P1,"takeUntil",{enumerable:!0,get:function(){return XZ9.takeUntil}});var FZ9=To1();Object.defineProperty(P1,"takeWhile",{enumerable:!0,get:function(){return FZ9.takeWhile}});var VZ9=Po1();Object.defineProperty(P1,"tap",{enumerable:!0,get:function(){return VZ9.tap}});var KZ9=HD1();Object.defineProperty(P1,"throttle",{enumerable:!0,get:function(){return KZ9.throttle}});var zZ9=jo1();Object.defineProperty(P1,"throttleTime",{enumerable:!0,get:function(){return zZ9.throttleTime}});var HZ9=On();Object.defineProperty(P1,"throwIfEmpty",{enumerable:!0,get:function(){return HZ9.throwIfEmpty}});var DZ9=So1();Object.defineProperty(P1,"timeInterval",{enumerable:!0,get:function(){return DZ9.timeInterval}});var CZ9=b91();Object.defineProperty(P1,"timeout",{enumerable:!0,get:function(){return CZ9.timeout}});var UZ9=yo1();Object.defineProperty(P1,"timeoutWith",{enumerable:!0,get:function(){return UZ9.timeoutWith}});var $Z9=ko1();Object.defineProperty(P1,"timestamp",{enumerable:!0,get:function(){return $Z9.timestamp}});var wZ9=AD1();Object.defineProperty(P1,"toArray",{enumerable:!0,get:function(){return wZ9.toArray}});var qZ9=_o1();Object.defineProperty(P1,"window",{enumerable:!0,get:function(){return qZ9.window}});var EZ9=xo1();Object.defineProperty(P1,"windowCount",{enumerable:!0,get:function(){return EZ9.windowCount}});var NZ9=vo1();Object.defineProperty(P1,"windowTime",{enumerable:!0,get:function(){return NZ9.windowTime}});var LZ9=fo1();Object.defineProperty(P1,"windowToggle",{enumerable:!0,get:function(){return LZ9.windowToggle}});var MZ9=ho1();Object.defineProperty(P1,"windowWhen",{enumerable:!0,get:function(){return MZ9.windowWhen}});var OZ9=go1();Object.defineProperty(P1,"withLatestFrom",{enumerable:!0,get:function(){return OZ9.withLatestFrom}});var RZ9=uo1();Object.defineProperty(P1,"zipAll",{enumerable:!0,get:function(){return RZ9.zipAll}});var TZ9=do1();Object.defineProperty(P1,"zipWith",{enumerable:!0,get:function(){return TZ9.zipWith}})});var t8A=U((r8A)=>{Object.defineProperty(r8A,"__esModule",{value:!0});r8A.partition=void 0;var PZ9=Xr1(),s8A=OT();function jZ9(A,B){return function(Q){return[s8A.filter(A,B)(Q),s8A.filter(PZ9.not(A,B))(Q)]}}r8A.partition=jZ9});var e8A=U((_k)=>{var SZ9=_k&&_k.__read||function(A,B){var Q=typeof Symbol==="function"&&A[Symbol.iterator];if(!Q)return A;var Z=Q.call(A),G,Y=[],I;try{while((B===void 0||B-- >0)&&!(G=Z.next()).done)Y.push(G.value)}catch(W){I={error:W}}finally{try{if(G&&!G.done&&(Q=Z.return))Q.call(Z)}finally{if(I)throw I.error}}return Y},yZ9=_k&&_k.__spreadArray||function(A,B){for(var Q=0,Z=B.length,G=A.length;Q {Object.defineProperty(OA,"__esModule",{value:!0});OA.mergeAll=OA.merge=OA.max=OA.materialize=OA.mapTo=OA.map=OA.last=OA.isEmpty=OA.ignoreElements=OA.groupBy=OA.first=OA.findIndex=OA.find=OA.finalize=OA.filter=OA.expand=OA.exhaustMap=OA.exhaustAll=OA.exhaust=OA.every=OA.endWith=OA.elementAt=OA.distinctUntilKeyChanged=OA.distinctUntilChanged=OA.distinct=OA.dematerialize=OA.delayWhen=OA.delay=OA.defaultIfEmpty=OA.debounceTime=OA.debounce=OA.count=OA.connect=OA.concatWith=OA.concatMapTo=OA.concatMap=OA.concatAll=OA.concat=OA.combineLatestWith=OA.combineLatest=OA.combineLatestAll=OA.combineAll=OA.catchError=OA.bufferWhen=OA.bufferToggle=OA.bufferTime=OA.bufferCount=OA.buffer=OA.auditTime=OA.audit=void 0;OA.timeInterval=OA.throwIfEmpty=OA.throttleTime=OA.throttle=OA.tap=OA.takeWhile=OA.takeUntil=OA.takeLast=OA.take=OA.switchScan=OA.switchMapTo=OA.switchMap=OA.switchAll=OA.subscribeOn=OA.startWith=OA.skipWhile=OA.skipUntil=OA.skipLast=OA.skip=OA.single=OA.shareReplay=OA.share=OA.sequenceEqual=OA.scan=OA.sampleTime=OA.sample=OA.refCount=OA.retryWhen=OA.retry=OA.repeatWhen=OA.repeat=OA.reduce=OA.raceWith=OA.race=OA.publishReplay=OA.publishLast=OA.publishBehavior=OA.publish=OA.pluck=OA.partition=OA.pairwise=OA.onErrorResumeNext=OA.observeOn=OA.multicast=OA.min=OA.mergeWith=OA.mergeScan=OA.mergeMapTo=OA.mergeMap=OA.flatMap=void 0;OA.zipWith=OA.zipAll=OA.zip=OA.withLatestFrom=OA.windowWhen=OA.windowToggle=OA.windowTime=OA.windowCount=OA.window=OA.toArray=OA.timestamp=OA.timeoutWith=OA.timeout=void 0;var vZ9=eH1();Object.defineProperty(OA,"audit",{enumerable:!0,get:function(){return vZ9.audit}});var bZ9=Vr1();Object.defineProperty(OA,"auditTime",{enumerable:!0,get:function(){return bZ9.auditTime}});var fZ9=Kr1();Object.defineProperty(OA,"buffer",{enumerable:!0,get:function(){return fZ9.buffer}});var hZ9=Hr1();Object.defineProperty(OA,"bufferCount",{enumerable:!0,get:function(){return hZ9.bufferCount}});var gZ9=Dr1();Object.defineProperty(OA,"bufferTime",{enumerable:!0,get:function(){return gZ9.bufferTime}});var uZ9=Ur1();Object.defineProperty(OA,"bufferToggle",{enumerable:!0,get:function(){return uZ9.bufferToggle}});var mZ9=$r1();Object.defineProperty(OA,"bufferWhen",{enumerable:!0,get:function(){return mZ9.bufferWhen}});var dZ9=wr1();Object.defineProperty(OA,"catchError",{enumerable:!0,get:function(){return dZ9.catchError}});var cZ9=Nr1();Object.defineProperty(OA,"combineAll",{enumerable:!0,get:function(){return cZ9.combineAll}});var lZ9=BD1();Object.defineProperty(OA,"combineLatestAll",{enumerable:!0,get:function(){return lZ9.combineLatestAll}});var pZ9=Lr1();Object.defineProperty(OA,"combineLatest",{enumerable:!0,get:function(){return pZ9.combineLatest}});var iZ9=Mr1();Object.defineProperty(OA,"combineLatestWith",{enumerable:!0,get:function(){return iZ9.combineLatestWith}});var nZ9=Rr1();Object.defineProperty(OA,"concat",{enumerable:!0,get:function(){return nZ9.concat}});var aZ9=f91();Object.defineProperty(OA,"concatAll",{enumerable:!0,get:function(){return aZ9.concatAll}});var sZ9=QD1();Object.defineProperty(OA,"concatMap",{enumerable:!0,get:function(){return sZ9.concatMap}});var rZ9=Or1();Object.defineProperty(OA,"concatMapTo",{enumerable:!0,get:function(){return rZ9.concatMapTo}});var oZ9=Tr1();Object.defineProperty(OA,"concatWith",{enumerable:!0,get:function(){return oZ9.concatWith}});var tZ9=u91();Object.defineProperty(OA,"connect",{enumerable:!0,get:function(){return tZ9.connect}});var eZ9=Pr1();Object.defineProperty(OA,"count",{enumerable:!0,get:function(){return eZ9.count}});var AG9=jr1();Object.defineProperty(OA,"debounce",{enumerable:!0,get:function(){return AG9.debounce}});var BG9=Sr1();Object.defineProperty(OA,"debounceTime",{enumerable:!0,get:function(){return BG9.debounceTime}});var QG9=Ln();Object.defineProperty(OA,"defaultIfEmpty",{enumerable:!0,get:function(){return QG9.defaultIfEmpty}});var ZG9=yr1();Object.defineProperty(OA,"delay",{enumerable:!0,get:function(){return ZG9.delay}});var GG9=YD1();Object.defineProperty(OA,"delayWhen",{enumerable:!0,get:function(){return GG9.delayWhen}});var YG9=kr1();Object.defineProperty(OA,"dematerialize",{enumerable:!0,get:function(){return YG9.dematerialize}});var IG9=_r1();Object.defineProperty(OA,"distinct",{enumerable:!0,get:function(){return IG9.distinct}});var WG9=ID1();Object.defineProperty(OA,"distinctUntilChanged",{enumerable:!0,get:function(){return WG9.distinctUntilChanged}});var JG9=xr1();Object.defineProperty(OA,"distinctUntilKeyChanged",{enumerable:!0,get:function(){return JG9.distinctUntilKeyChanged}});var XG9=vr1();Object.defineProperty(OA,"elementAt",{enumerable:!0,get:function(){return XG9.elementAt}});var FG9=br1();Object.defineProperty(OA,"endWith",{enumerable:!0,get:function(){return FG9.endWith}});var VG9=fr1();Object.defineProperty(OA,"every",{enumerable:!0,get:function(){return VG9.every}});var KG9=hr1();Object.defineProperty(OA,"exhaust",{enumerable:!0,get:function(){return KG9.exhaust}});var zG9=JD1();Object.defineProperty(OA,"exhaustAll",{enumerable:!0,get:function(){return zG9.exhaustAll}});var HG9=WD1();Object.defineProperty(OA,"exhaustMap",{enumerable:!0,get:function(){return HG9.exhaustMap}});var DG9=gr1();Object.defineProperty(OA,"expand",{enumerable:!0,get:function(){return DG9.expand}});var CG9=OT();Object.defineProperty(OA,"filter",{enumerable:!0,get:function(){return CG9.filter}});var UG9=ur1();Object.defineProperty(OA,"finalize",{enumerable:!0,get:function(){return UG9.finalize}});var $G9=XD1();Object.defineProperty(OA,"find",{enumerable:!0,get:function(){return $G9.find}});var wG9=mr1();Object.defineProperty(OA,"findIndex",{enumerable:!0,get:function(){return wG9.findIndex}});var qG9=dr1();Object.defineProperty(OA,"first",{enumerable:!0,get:function(){return qG9.first}});var EG9=cr1();Object.defineProperty(OA,"groupBy",{enumerable:!0,get:function(){return EG9.groupBy}});var NG9=ZD1();Object.defineProperty(OA,"ignoreElements",{enumerable:!0,get:function(){return NG9.ignoreElements}});var LG9=lr1();Object.defineProperty(OA,"isEmpty",{enumerable:!0,get:function(){return LG9.isEmpty}});var MG9=pr1();Object.defineProperty(OA,"last",{enumerable:!0,get:function(){return MG9.last}});var OG9=MT();Object.defineProperty(OA,"map",{enumerable:!0,get:function(){return OG9.map}});var RG9=GD1();Object.defineProperty(OA,"mapTo",{enumerable:!0,get:function(){return RG9.mapTo}});var TG9=nr1();Object.defineProperty(OA,"materialize",{enumerable:!0,get:function(){return TG9.materialize}});var PG9=ar1();Object.defineProperty(OA,"max",{enumerable:!0,get:function(){return PG9.max}});var jG9=tr1();Object.defineProperty(OA,"merge",{enumerable:!0,get:function(){return jG9.merge}});var SG9=Un();Object.defineProperty(OA,"mergeAll",{enumerable:!0,get:function(){return SG9.mergeAll}});var yG9=sr1();Object.defineProperty(OA,"flatMap",{enumerable:!0,get:function(){return yG9.flatMap}});var kG9=nN();Object.defineProperty(OA,"mergeMap",{enumerable:!0,get:function(){return kG9.mergeMap}});var _G9=rr1();Object.defineProperty(OA,"mergeMapTo",{enumerable:!0,get:function(){return _G9.mergeMapTo}});var xG9=or1();Object.defineProperty(OA,"mergeScan",{enumerable:!0,get:function(){return xG9.mergeScan}});var vG9=er1();Object.defineProperty(OA,"mergeWith",{enumerable:!0,get:function(){return vG9.mergeWith}});var bG9=Ao1();Object.defineProperty(OA,"min",{enumerable:!0,get:function(){return bG9.min}});var fG9=m91();Object.defineProperty(OA,"multicast",{enumerable:!0,get:function(){return fG9.multicast}});var hG9=Dn();Object.defineProperty(OA,"observeOn",{enumerable:!0,get:function(){return hG9.observeOn}});var gG9=Bo1();Object.defineProperty(OA,"onErrorResumeNext",{enumerable:!0,get:function(){return gG9.onErrorResumeNext}});var uG9=Qo1();Object.defineProperty(OA,"pairwise",{enumerable:!0,get:function(){return uG9.pairwise}});var mG9=t8A();Object.defineProperty(OA,"partition",{enumerable:!0,get:function(){return mG9.partition}});var dG9=Zo1();Object.defineProperty(OA,"pluck",{enumerable:!0,get:function(){return dG9.pluck}});var cG9=Go1();Object.defineProperty(OA,"publish",{enumerable:!0,get:function(){return cG9.publish}});var lG9=Yo1();Object.defineProperty(OA,"publishBehavior",{enumerable:!0,get:function(){return lG9.publishBehavior}});var pG9=Io1();Object.defineProperty(OA,"publishLast",{enumerable:!0,get:function(){return pG9.publishLast}});var iG9=Wo1();Object.defineProperty(OA,"publishReplay",{enumerable:!0,get:function(){return iG9.publishReplay}});var nG9=e8A();Object.defineProperty(OA,"race",{enumerable:!0,get:function(){return nG9.race}});var aG9=VD1();Object.defineProperty(OA,"raceWith",{enumerable:!0,get:function(){return aG9.raceWith}});var sG9=Lg();Object.defineProperty(OA,"reduce",{enumerable:!0,get:function(){return sG9.reduce}});var rG9=Jo1();Object.defineProperty(OA,"repeat",{enumerable:!0,get:function(){return rG9.repeat}});var oG9=Xo1();Object.defineProperty(OA,"repeatWhen",{enumerable:!0,get:function(){return oG9.repeatWhen}});var tG9=Fo1();Object.defineProperty(OA,"retry",{enumerable:!0,get:function(){return tG9.retry}});var eG9=Vo1();Object.defineProperty(OA,"retryWhen",{enumerable:!0,get:function(){return eG9.retryWhen}});var AY9=uH1();Object.defineProperty(OA,"refCount",{enumerable:!0,get:function(){return AY9.refCount}});var BY9=KD1();Object.defineProperty(OA,"sample",{enumerable:!0,get:function(){return BY9.sample}});var QY9=Ko1();Object.defineProperty(OA,"sampleTime",{enumerable:!0,get:function(){return QY9.sampleTime}});var ZY9=zo1();Object.defineProperty(OA,"scan",{enumerable:!0,get:function(){return ZY9.scan}});var GY9=Ho1();Object.defineProperty(OA,"sequenceEqual",{enumerable:!0,get:function(){return GY9.sequenceEqual}});var YY9=zD1();Object.defineProperty(OA,"share",{enumerable:!0,get:function(){return YY9.share}});var IY9=Co1();Object.defineProperty(OA,"shareReplay",{enumerable:!0,get:function(){return IY9.shareReplay}});var WY9=Uo1();Object.defineProperty(OA,"single",{enumerable:!0,get:function(){return WY9.single}});var JY9=$o1();Object.defineProperty(OA,"skip",{enumerable:!0,get:function(){return JY9.skip}});var XY9=wo1();Object.defineProperty(OA,"skipLast",{enumerable:!0,get:function(){return XY9.skipLast}});var FY9=qo1();Object.defineProperty(OA,"skipUntil",{enumerable:!0,get:function(){return FY9.skipUntil}});var VY9=Eo1();Object.defineProperty(OA,"skipWhile",{enumerable:!0,get:function(){return VY9.skipWhile}});var KY9=No1();Object.defineProperty(OA,"startWith",{enumerable:!0,get:function(){return KY9.startWith}});var zY9=Cn();Object.defineProperty(OA,"subscribeOn",{enumerable:!0,get:function(){return zY9.subscribeOn}});var HY9=Lo1();Object.defineProperty(OA,"switchAll",{enumerable:!0,get:function(){return HY9.switchAll}});var DY9=Tn();Object.defineProperty(OA,"switchMap",{enumerable:!0,get:function(){return DY9.switchMap}});var CY9=Mo1();Object.defineProperty(OA,"switchMapTo",{enumerable:!0,get:function(){return CY9.switchMapTo}});var UY9=Oo1();Object.defineProperty(OA,"switchScan",{enumerable:!0,get:function(){return UY9.switchScan}});var $Y9=Mn();Object.defineProperty(OA,"take",{enumerable:!0,get:function(){return $Y9.take}});var wY9=FD1();Object.defineProperty(OA,"takeLast",{enumerable:!0,get:function(){return wY9.takeLast}});var qY9=Ro1();Object.defineProperty(OA,"takeUntil",{enumerable:!0,get:function(){return qY9.takeUntil}});var EY9=To1();Object.defineProperty(OA,"takeWhile",{enumerable:!0,get:function(){return EY9.takeWhile}});var NY9=Po1();Object.defineProperty(OA,"tap",{enumerable:!0,get:function(){return NY9.tap}});var LY9=HD1();Object.defineProperty(OA,"throttle",{enumerable:!0,get:function(){return LY9.throttle}});var MY9=jo1();Object.defineProperty(OA,"throttleTime",{enumerable:!0,get:function(){return MY9.throttleTime}});var OY9=On();Object.defineProperty(OA,"throwIfEmpty",{enumerable:!0,get:function(){return OY9.throwIfEmpty}});var RY9=So1();Object.defineProperty(OA,"timeInterval",{enumerable:!0,get:function(){return RY9.timeInterval}});var TY9=b91();Object.defineProperty(OA,"timeout",{enumerable:!0,get:function(){return TY9.timeout}});var PY9=yo1();Object.defineProperty(OA,"timeoutWith",{enumerable:!0,get:function(){return PY9.timeoutWith}});var jY9=ko1();Object.defineProperty(OA,"timestamp",{enumerable:!0,get:function(){return jY9.timestamp}});var SY9=AD1();Object.defineProperty(OA,"toArray",{enumerable:!0,get:function(){return SY9.toArray}});var yY9=_o1();Object.defineProperty(OA,"window",{enumerable:!0,get:function(){return yY9.window}});var kY9=xo1();Object.defineProperty(OA,"windowCount",{enumerable:!0,get:function(){return kY9.windowCount}});var _Y9=vo1();Object.defineProperty(OA,"windowTime",{enumerable:!0,get:function(){return _Y9.windowTime}});var xY9=fo1();Object.defineProperty(OA,"windowToggle",{enumerable:!0,get:function(){return xY9.windowToggle}});var vY9=ho1();Object.defineProperty(OA,"windowWhen",{enumerable:!0,get:function(){return vY9.windowWhen}});var bY9=go1();Object.defineProperty(OA,"withLatestFrom",{enumerable:!0,get:function(){return bY9.withLatestFrom}});var fY9=mo1();Object.defineProperty(OA,"zip",{enumerable:!0,get:function(){return fY9.zip}});var hY9=uo1();Object.defineProperty(OA,"zipAll",{enumerable:!0,get:function(){return hY9.zipAll}});var gY9=do1();Object.defineProperty(OA,"zipWith",{enumerable:!0,get:function(){return gY9.zipWith}})});var lo1=U((PH)=>{var __dirname="/home/runner/code/tmp/claude-cli-external-build-2225/node_modules/spawn-rx/lib/src",_C=PH&&PH.__assign||function(){return _C=Object.assign||function(A){for(var B,Q=1,Z=arguments.length;Q >")}G.next({source:L,text:R})}},D=new xk.Subscription;if(Q.stdin)if(z.stdin)D.add(Q.stdin.subscribe({next:function(L){return z.stdin.write(L)},error:G.error.bind(G),complete:function(){return z.stdin.end()}}));else G.error(new Error("opts.stdio conflicts with provided spawn opts.stdin observable, 'pipe' is required"));var C=null,w=null,E=!1;if(z.stdout)w=new xk.AsyncSubject,z.stdout.on("data",H("stdout")),z.stdout.on("close",function(){w.next(!0),w.complete()});else w=xk.of(!0);if(z.stderr)C=new xk.AsyncSubject,z.stderr.on("data",H("stderr")),z.stderr.on("close",function(){C.next(!0),C.complete()});else C=xk.of(!0);return z.on("error",function(L){E=!0,G.error(L)}),z.on("close",function(L){E=!0;var O=xk.merge(w,C).pipe(B7A.reduce(function(R){return R},!0));if(L===0)O.subscribe(function(){return G.complete()});else O.subscribe(function(){var R=new Error("Failed with exit code: ".concat(L));R.exitCode=L,R.code=L,G.error(R)})}),D.add(new xk.Subscription(function(){if(E)return;if(Sn("Killing process: ".concat(V," ").concat(K.join())),Q.jobber)pY9.connect("\\\\.\\pipe\\jobber-".concat(z.pid)),setTimeout(function(){return z.kill()},5000);else z.kill()})),D});return Q.split?Z:Z.pipe(B7A.map(function(G){return G===null||G===void 0?void 0:G.text}))}function Y7A(A){return new Promise(function(B,Q){var Z="";A.subscribe({next:function(G){return Z+=G},error:function(G){var Y=new Error("".concat(Z,` +`).concat(G.message));if("exitCode"in G)Y.exitCode=G.exitCode,Y.code=G.exitCode;Q(Y)},complete:function(){return B(Z)}})})}function I7A(A){return new Promise(function(B,Q){var Z="",G="";A.subscribe({next:function(Y){return Y.source==="stdout"?Z+=Y.text:G+=Y.text},error:function(Y){var I=new Error("".concat(Z,` +`).concat(Y.message));if("exitCode"in Y)I.exitCode=Y.exitCode,I.code=Y.exitCode,I.stdout=Z,I.stderr=G;Q(I)},complete:function(){return B([Z,G])}})})}function aY9(A,B,Q){if(Q===null||Q===void 0?void 0:Q.split)return I7A(co1(A,B,_C(_C({},Q!==null&&Q!==void 0?Q:{}),{split:!0})));else return Y7A(co1(A,B,_C(_C({},Q!==null&&Q!==void 0?Q:{}),{split:!1})))}function sY9(A,B,Q){if(Q===null||Q===void 0?void 0:Q.split)return I7A(l91(A,B,_C(_C({},Q!==null&&Q!==void 0?Q:{}),{split:!0})));else return Y7A(l91(A,B,_C(_C({},Q!==null&&Q!==void 0?Q:{}),{split:!1})))}});var AIA=U((gC8,eYA)=>{var hk=X1("constants"),EI9=process.cwd,xD1=null,NI9=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!xD1)xD1=EI9.call(process);return xD1};try{process.cwd()}catch(A){}if(typeof process.chdir==="function"){if(vD1=process.chdir,process.chdir=function(A){xD1=null,vD1.call(process,A)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,vD1)}var vD1;eYA.exports=LI9;function LI9(A){if(hk.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))B(A);if(!A.lutimes)Q(A);if(A.chown=Y(A.chown),A.fchown=Y(A.fchown),A.lchown=Y(A.lchown),A.chmod=Z(A.chmod),A.fchmod=Z(A.fchmod),A.lchmod=Z(A.lchmod),A.chownSync=I(A.chownSync),A.fchownSync=I(A.fchownSync),A.lchownSync=I(A.lchownSync),A.chmodSync=G(A.chmodSync),A.fchmodSync=G(A.fchmodSync),A.lchmodSync=G(A.lchmodSync),A.stat=W(A.stat),A.fstat=W(A.fstat),A.lstat=W(A.lstat),A.statSync=J(A.statSync),A.fstatSync=J(A.fstatSync),A.lstatSync=J(A.lstatSync),A.chmod&&!A.lchmod)A.lchmod=function(F,V,K){if(K)process.nextTick(K)},A.lchmodSync=function(){};if(A.chown&&!A.lchown)A.lchown=function(F,V,K,z){if(z)process.nextTick(z)},A.lchownSync=function(){};if(NI9==="win32")A.rename=typeof A.rename!=="function"?A.rename:function(F){function V(K,z,H){var D=Date.now(),C=0;F(K,z,function w(E){if(E&&(E.code==="EACCES"||E.code==="EPERM"||E.code==="EBUSY")&&Date.now()-D<60000){if(setTimeout(function(){A.stat(z,function(L,O){if(L&&L.code==="ENOENT")F(K,z,w);else H(E)})},C),C<100)C+=10;return}if(H)H(E)})}if(Object.setPrototypeOf)Object.setPrototypeOf(V,F);return V}(A.rename);A.read=typeof A.read!=="function"?A.read:function(F){function V(K,z,H,D,C,w){var E;if(w&&typeof w==="function"){var L=0;E=function(O,R,P){if(O&&O.code==="EAGAIN"&&L<10)return L++,F.call(A,K,z,H,D,C,E);w.apply(this,arguments)}}return F.call(A,K,z,H,D,C,E)}if(Object.setPrototypeOf)Object.setPrototypeOf(V,F);return V}(A.read),A.readSync=typeof A.readSync!=="function"?A.readSync:function(F){return function(V,K,z,H,D){var C=0;while(!0)try{return F.call(A,V,K,z,H,D)}catch(w){if(w.code==="EAGAIN"&&C<10){C++;continue}throw w}}}(A.readSync);function B(F){F.lchmod=function(V,K,z){F.open(V,hk.O_WRONLY|hk.O_SYMLINK,K,function(H,D){if(H){if(z)z(H);return}F.fchmod(D,K,function(C){F.close(D,function(w){if(z)z(C||w)})})})},F.lchmodSync=function(V,K){var z=F.openSync(V,hk.O_WRONLY|hk.O_SYMLINK,K),H=!0,D;try{D=F.fchmodSync(z,K),H=!1}finally{if(H)try{F.closeSync(z)}catch(C){}else F.closeSync(z)}return D}}function Q(F){if(hk.hasOwnProperty("O_SYMLINK")&&F.futimes)F.lutimes=function(V,K,z,H){F.open(V,hk.O_SYMLINK,function(D,C){if(D){if(H)H(D);return}F.futimes(C,K,z,function(w){F.close(C,function(E){if(H)H(w||E)})})})},F.lutimesSync=function(V,K,z){var H=F.openSync(V,hk.O_SYMLINK),D,C=!0;try{D=F.futimesSync(H,K,z),C=!1}finally{if(C)try{F.closeSync(H)}catch(w){}else F.closeSync(H)}return D};else if(F.futimes)F.lutimes=function(V,K,z,H){if(H)process.nextTick(H)},F.lutimesSync=function(){}}function Z(F){if(!F)return F;return function(V,K,z){return F.call(A,V,K,function(H){if(X(H))H=null;if(z)z.apply(this,arguments)})}}function G(F){if(!F)return F;return function(V,K){try{return F.call(A,V,K)}catch(z){if(!X(z))throw z}}}function Y(F){if(!F)return F;return function(V,K,z,H){return F.call(A,V,K,z,function(D){if(X(D))D=null;if(H)H.apply(this,arguments)})}}function I(F){if(!F)return F;return function(V,K,z){try{return F.call(A,V,K,z)}catch(H){if(!X(H))throw H}}}function W(F){if(!F)return F;return function(V,K,z){if(typeof K==="function")z=K,K=null;function H(D,C){if(C){if(C.uid<0)C.uid+=4294967296;if(C.gid<0)C.gid+=4294967296}if(z)z.apply(this,arguments)}return K?F.call(A,V,K,H):F.call(A,V,H)}}function J(F){if(!F)return F;return function(V,K){var z=K?F.call(A,V,K):F.call(A,V);if(z){if(z.uid<0)z.uid+=4294967296;if(z.gid<0)z.gid+=4294967296}return z}}function X(F){if(!F)return!0;if(F.code==="ENOSYS")return!0;var V=!process.getuid||process.getuid()!==0;if(V){if(F.code==="EINVAL"||F.code==="EPERM")return!0}return!1}}});var ZIA=U((uC8,QIA)=>{var BIA=X1("stream").Stream;QIA.exports=MI9;function MI9(A){return{ReadStream:B,WriteStream:Q};function B(Z,G){if(!(this instanceof B))return new B(Z,G);BIA.call(this);var Y=this;this.path=Z,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,G=G||{};var I=Object.keys(G);for(var W=0,J=I.length;W this.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){Y._read()});return}A.open(this.path,this.flags,this.mode,function(F,V){if(F){Y.emit("error",F),Y.readable=!1;return}Y.fd=V,Y.emit("open",V),Y._read()})}function Q(Z,G){if(!(this instanceof Q))return new Q(Z,G);BIA.call(this),this.path=Z,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,G=G||{};var Y=Object.keys(G);for(var I=0,W=Y.length;I = zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=A.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var YIA=U((mC8,GIA)=>{GIA.exports=RI9;var OI9=Object.getPrototypeOf||function(A){return A.__proto__};function RI9(A){if(A===null||typeof A!=="object")return A;if(A instanceof Object)var B={__proto__:OI9(A)};else var B=Object.create(null);return Object.getOwnPropertyNames(A).forEach(function(Q){Object.defineProperty(B,Q,Object.getOwnPropertyDescriptor(A,Q))}),B}});var Ot1=U((dC8,Mt1)=>{var oZ=X1("fs"),TI9=AIA(),PI9=ZIA(),jI9=YIA(),bD1=X1("util"),pJ,hD1;if(typeof Symbol==="function"&&typeof Symbol.for==="function")pJ=Symbol.for("graceful-fs.queue"),hD1=Symbol.for("graceful-fs.previous");else pJ="___graceful-fs.queue",hD1="___graceful-fs.previous";function SI9(){}function WIA(A,B){Object.defineProperty(A,pJ,{get:function(){return B}})}var Sg=SI9;if(bD1.debuglog)Sg=bD1.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))Sg=function(){var A=bD1.format.apply(bD1,arguments);A="GFS4: "+A.split(/\n/).join(` +GFS4: `),console.error(A)};if(!oZ[pJ]){if(Et1=global[pJ]||[],WIA(oZ,Et1),oZ.close=function(A){function B(Q,Z){return A.call(oZ,Q,function(G){if(!G)IIA();if(typeof Z==="function")Z.apply(this,arguments)})}return Object.defineProperty(B,hD1,{value:A}),B}(oZ.close),oZ.closeSync=function(A){function B(Q){A.apply(oZ,arguments),IIA()}return Object.defineProperty(B,hD1,{value:A}),B}(oZ.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){Sg(oZ[pJ]),X1("assert").equal(oZ[pJ].length,0)})}var Et1;if(!global[pJ])WIA(global,oZ[pJ]);Mt1.exports=Nt1(jI9(oZ));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!oZ.__patched)Mt1.exports=Nt1(oZ),oZ.__patched=!0;function Nt1(A){TI9(A),A.gracefulify=Nt1,A.createReadStream=R,A.createWriteStream=P;var B=A.readFile;A.readFile=Q;function Q(S,d,u){if(typeof d==="function")u=d,d=null;return o(S,d,u);function o(m,j,r,Q1){return B(m,j,function(J1){if(J1&&(J1.code==="EMFILE"||J1.code==="ENFILE"))cn([o,[m,j,r],J1,Q1||Date.now(),Date.now()]);else if(typeof r==="function")r.apply(this,arguments)})}}var Z=A.writeFile;A.writeFile=G;function G(S,d,u,o){if(typeof u==="function")o=u,u=null;return m(S,d,u,o);function m(j,r,Q1,J1,R1){return Z(j,r,Q1,function(s1){if(s1&&(s1.code==="EMFILE"||s1.code==="ENFILE"))cn([m,[j,r,Q1,J1],s1,R1||Date.now(),Date.now()]);else if(typeof J1==="function")J1.apply(this,arguments)})}}var Y=A.appendFile;if(Y)A.appendFile=I;function I(S,d,u,o){if(typeof u==="function")o=u,u=null;return m(S,d,u,o);function m(j,r,Q1,J1,R1){return Y(j,r,Q1,function(s1){if(s1&&(s1.code==="EMFILE"||s1.code==="ENFILE"))cn([m,[j,r,Q1,J1],s1,R1||Date.now(),Date.now()]);else if(typeof J1==="function")J1.apply(this,arguments)})}}var W=A.copyFile;if(W)A.copyFile=J;function J(S,d,u,o){if(typeof u==="function")o=u,u=0;return m(S,d,u,o);function m(j,r,Q1,J1,R1){return W(j,r,Q1,function(s1){if(s1&&(s1.code==="EMFILE"||s1.code==="ENFILE"))cn([m,[j,r,Q1,J1],s1,R1||Date.now(),Date.now()]);else if(typeof J1==="function")J1.apply(this,arguments)})}}var X=A.readdir;A.readdir=V;var F=/^v[0-5]\./;function V(S,d,u){if(typeof d==="function")u=d,d=null;var o=F.test(process.version)?function j(r,Q1,J1,R1){return X(r,m(r,Q1,J1,R1))}:function j(r,Q1,J1,R1){return X(r,Q1,m(r,Q1,J1,R1))};return o(S,d,u);function m(j,r,Q1,J1){return function(R1,s1){if(R1&&(R1.code==="EMFILE"||R1.code==="ENFILE"))cn([o,[j,r,Q1],R1,J1||Date.now(),Date.now()]);else{if(s1&&s1.sort)s1.sort();if(typeof Q1==="function")Q1.call(this,R1,s1)}}}}if(process.version.substr(0,4)==="v0.8"){var K=PI9(A);w=K.ReadStream,L=K.WriteStream}var z=A.ReadStream;if(z)w.prototype=Object.create(z.prototype),w.prototype.open=E;var H=A.WriteStream;if(H)L.prototype=Object.create(H.prototype),L.prototype.open=O;Object.defineProperty(A,"ReadStream",{get:function(){return w},set:function(S){w=S},enumerable:!0,configurable:!0}),Object.defineProperty(A,"WriteStream",{get:function(){return L},set:function(S){L=S},enumerable:!0,configurable:!0});var D=w;Object.defineProperty(A,"FileReadStream",{get:function(){return D},set:function(S){D=S},enumerable:!0,configurable:!0});var C=L;Object.defineProperty(A,"FileWriteStream",{get:function(){return C},set:function(S){C=S},enumerable:!0,configurable:!0});function w(S,d){if(this instanceof w)return z.apply(this,arguments),this;else return w.apply(Object.create(w.prototype),arguments)}function E(){var S=this;b(S.path,S.flags,S.mode,function(d,u){if(d){if(S.autoClose)S.destroy();S.emit("error",d)}else S.fd=u,S.emit("open",u),S.read()})}function L(S,d){if(this instanceof L)return H.apply(this,arguments),this;else return L.apply(Object.create(L.prototype),arguments)}function O(){var S=this;b(S.path,S.flags,S.mode,function(d,u){if(d)S.destroy(),S.emit("error",d);else S.fd=u,S.emit("open",u)})}function R(S,d){return new A.ReadStream(S,d)}function P(S,d){return new A.WriteStream(S,d)}var k=A.open;A.open=b;function b(S,d,u,o){if(typeof u==="function")o=u,u=null;return m(S,d,u,o);function m(j,r,Q1,J1,R1){return k(j,r,Q1,function(s1,Q0){if(s1&&(s1.code==="EMFILE"||s1.code==="ENFILE"))cn([m,[j,r,Q1,J1],s1,R1||Date.now(),Date.now()]);else if(typeof J1==="function")J1.apply(this,arguments)})}}return A}function cn(A){Sg("ENQUEUE",A[0].name,A[1]),oZ[pJ].push(A),Lt1()}var fD1;function IIA(){var A=Date.now();for(var B=0;B 2)oZ[pJ][B][3]=A,oZ[pJ][B][4]=A;Lt1()}function Lt1(){if(clearTimeout(fD1),fD1=void 0,oZ[pJ].length===0)return;var A=oZ[pJ].shift(),B=A[0],Q=A[1],Z=A[2],G=A[3],Y=A[4];if(G===void 0)Sg("RETRY",B.name,Q),B.apply(null,Q);else if(Date.now()-G>=60000){Sg("TIMEOUT",B.name,Q);var I=Q.pop();if(typeof I==="function")I.call(null,Z)}else{var W=Date.now()-Y,J=Math.max(Y-G,1),X=Math.min(J*1.2,100);if(W>=X)Sg("RETRY",B.name,Q),B.apply(null,Q.concat([G]));else oZ[pJ].push(A)}if(fD1===void 0)fD1=setTimeout(Lt1,0)}});var XIA=U((cC8,JIA)=>{function vC(A,B){if(typeof B==="boolean")B={forever:B};if(this._originalTimeouts=JSON.parse(JSON.stringify(A)),this._timeouts=A,this._options=B||{},this._maxRetryTime=B&&B.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever)this._cachedTimeouts=this._timeouts.slice(0)}JIA.exports=vC;vC.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};vC.prototype.stop=function(){if(this._timeout)clearTimeout(this._timeout);this._timeouts=[],this._cachedTimeouts=null};vC.prototype.retry=function(A){if(this._timeout)clearTimeout(this._timeout);if(!A)return!1;var B=new Date().getTime();if(A&&B-this._operationStart>=this._maxRetryTime)return this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(A);var Q=this._timeouts.shift();if(Q===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),Q=this._timeouts.shift();else return!1;var Z=this,G=setTimeout(function(){if(Z._attempts++,Z._operationTimeoutCb){if(Z._timeout=setTimeout(function(){Z._operationTimeoutCb(Z._attempts)},Z._operationTimeout),Z._options.unref)Z._timeout.unref()}Z._fn(Z._attempts)},Q);if(this._options.unref)G.unref();return!0};vC.prototype.attempt=function(A,B){if(this._fn=A,B){if(B.timeout)this._operationTimeout=B.timeout;if(B.cb)this._operationTimeoutCb=B.cb}var Q=this;if(this._operationTimeoutCb)this._timeout=setTimeout(function(){Q._operationTimeoutCb()},Q._operationTimeout);this._operationStart=new Date().getTime(),this._fn(this._attempts)};vC.prototype.try=function(A){console.log("Using RetryOperation.try() is deprecated"),this.attempt(A)};vC.prototype.start=function(A){console.log("Using RetryOperation.start() is deprecated"),this.attempt(A)};vC.prototype.start=vC.prototype.try;vC.prototype.errors=function(){return this._errors};vC.prototype.attempts=function(){return this._attempts};vC.prototype.mainError=function(){if(this._errors.length===0)return null;var A={},B=null,Q=0;for(var Z=0;Z =Q)B=G,Q=I}return B}});var VIA=U((kI9)=>{var yI9=XIA();kI9.operation=function(A){var B=kI9.timeouts(A);return new yI9(B,{forever:A&&A.forever,unref:A&&A.unref,maxRetryTime:A&&A.maxRetryTime})};kI9.timeouts=function(A){if(A instanceof Array)return[].concat(A);var B={retries:10,factor:2,minTimeout:1000,maxTimeout:1/0,randomize:!1};for(var Q in A)B[Q]=A[Q];if(B.minTimeout>B.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");var Z=[];for(var G=0;G {gD1.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(process.platform!=="win32")gD1.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")gD1.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var zIA=U((iC8,pn)=>{var KZ=global.process,yg=function(A){return A&&typeof A==="object"&&typeof A.removeListener==="function"&&typeof A.emit==="function"&&typeof A.reallyExit==="function"&&typeof A.listeners==="function"&&typeof A.kill==="function"&&typeof A.pid==="number"&&typeof A.on==="function"};if(!yg(KZ))pn.exports=function(){return function(){}};else{if(Rt1=X1("assert"),kg=KIA(),Tt1=/^win/i.test(KZ.platform),ln=X1("events"),typeof ln!=="function")ln=ln.EventEmitter;if(KZ.__signal_exit_emitter__)nI=KZ.__signal_exit_emitter__;else nI=KZ.__signal_exit_emitter__=new ln,nI.count=0,nI.emitted={};if(!nI.infinite)nI.setMaxListeners(1/0),nI.infinite=!0;pn.exports=function(A,B){if(!yg(global.process))return function(){};if(Rt1.equal(typeof A,"function","a callback must be provided for exit handler"),_g===!1)uD1();var Q="exit";if(B&&B.alwaysLast)Q="afterexit";var Z=function(){if(nI.removeListener(Q,A),nI.listeners("exit").length===0&&nI.listeners("afterexit").length===0)Y41()};return nI.on(Q,A),Z},Y41=function A(){if(!_g||!yg(global.process))return;_g=!1,kg.forEach(function(B){try{KZ.removeListener(B,I41[B])}catch(Q){}}),KZ.emit=W41,KZ.reallyExit=mD1,nI.count-=1},pn.exports.unload=Y41,gk=function A(B,Q,Z){if(nI.emitted[B])return;nI.emitted[B]=!0,nI.emit(B,Q,Z)},I41={},kg.forEach(function(A){I41[A]=function B(){if(!yg(global.process))return;var Q=KZ.listeners(A);if(Q.length===nI.count){if(Y41(),gk("exit",null,A),gk("afterexit",null,A),Tt1&&A==="SIGHUP")A="SIGINT";KZ.kill(KZ.pid,A)}}}),pn.exports.signals=function(){return kg},_g=!1,uD1=function A(){if(_g||!yg(global.process))return;_g=!0,nI.count+=1,kg=kg.filter(function(B){try{return KZ.on(B,I41[B]),!0}catch(Q){return!1}}),KZ.emit=jt1,KZ.reallyExit=Pt1},pn.exports.load=uD1,mD1=KZ.reallyExit,Pt1=function A(B){if(!yg(global.process))return;KZ.exitCode=B||0,gk("exit",KZ.exitCode,null),gk("afterexit",KZ.exitCode,null),mD1.call(KZ,KZ.exitCode)},W41=KZ.emit,jt1=function A(B,Q){if(B==="exit"&&yg(global.process)){if(Q!==void 0)KZ.exitCode=Q;var Z=W41.apply(this,arguments);return gk("exit",KZ.exitCode,null),gk("afterexit",KZ.exitCode,null),Z}else return W41.apply(this,arguments)}}var Rt1,kg,Tt1,ln,nI,Y41,gk,I41,_g,uD1,mD1,Pt1,W41,jt1});var DIA=U((hI9,St1)=>{var HIA=Symbol();function bI9(A,B,Q){let Z=B[HIA];if(Z)return B.stat(A,(Y,I)=>{if(Y)return Q(Y);Q(null,I.mtime,Z)});let G=new Date(Math.ceil(Date.now()/1000)*1000+5);B.utimes(A,G,G,(Y)=>{if(Y)return Q(Y);B.stat(A,(I,W)=>{if(I)return Q(I);let J=W.mtime.getTime()%1000===0?"s":"ms";Object.defineProperty(B,HIA,{value:J}),Q(null,W.mtime,J)})})}function fI9(A){let B=Date.now();if(A==="s")B=Math.ceil(B/1000)*1000;return new Date(B)}hI9.probe=bI9;hI9.getMtime=fI9});var qIA=U((nI9,X41)=>{var mI9=X1("path"),_t1=Ot1(),dI9=VIA(),cI9=zIA(),CIA=DIA(),jT={};function J41(A,B){return B.lockfilePath||`${A}.lock`}function xt1(A,B,Q){if(!B.realpath)return Q(null,mI9.resolve(A));B.fs.realpath(A,Q)}function kt1(A,B,Q){let Z=J41(A,B);B.fs.mkdir(Z,(G)=>{if(!G)return CIA.probe(Z,B.fs,(Y,I,W)=>{if(Y)return B.fs.rmdir(Z,()=>{}),Q(Y);Q(null,I,W)});if(G.code!=="EEXIST")return Q(G);if(B.stale<=0)return Q(Object.assign(new Error("Lock file is already being held"),{code:"ELOCKED",file:A}));B.fs.stat(Z,(Y,I)=>{if(Y){if(Y.code==="ENOENT")return kt1(A,{...B,stale:0},Q);return Q(Y)}if(!UIA(I,B))return Q(Object.assign(new Error("Lock file is already being held"),{code:"ELOCKED",file:A}));$IA(A,B,(W)=>{if(W)return Q(W);kt1(A,{...B,stale:0},Q)})})})}function UIA(A,B){return A.mtime.getTime() {if(Z&&Z.code!=="ENOENT")return Q(Z);Q()})}function dD1(A,B){let Q=jT[A];if(Q.updateTimeout)return;if(Q.updateDelay=Q.updateDelay||B.update,Q.updateTimeout=setTimeout(()=>{Q.updateTimeout=null,B.fs.stat(Q.lockfilePath,(Z,G)=>{let Y=Q.lastUpdate+B.stale {let X=Q.lastUpdate+B.stale {throw Z},...B},B.retries=B.retries||0,B.retries=typeof B.retries==="number"?{retries:B.retries}:B.retries,B.stale=Math.max(B.stale||0,2000),B.update=B.update==null?B.stale/2:B.update||0,B.update=Math.max(Math.min(B.update,B.stale/2),1000),xt1(A,B,(Z,G)=>{if(Z)return Q(Z);let Y=dI9.operation(B.retries);Y.attempt(()=>{kt1(G,B,(I,W,J)=>{if(Y.retry(I))return;if(I)return Q(Y.mainError());let X=jT[G]={lockfilePath:J41(G,B),mtime:W,mtimePrecision:J,options:B,lastUpdate:Date.now()};dD1(G,B),Q(null,(F)=>{if(X.released)return F&&F(Object.assign(new Error("Lock is already released"),{code:"ERELEASED"}));wIA(G,{...B,realpath:!1},F)})})})})}function wIA(A,B,Q){B={fs:_t1,realpath:!0,...B},xt1(A,B,(Z,G)=>{if(Z)return Q(Z);let Y=jT[G];if(!Y)return Q(Object.assign(new Error("Lock is not acquired/owned by you"),{code:"ENOTACQUIRED"}));Y.updateTimeout&&clearTimeout(Y.updateTimeout),Y.released=!0,delete jT[G],$IA(G,B,Q)})}function pI9(A,B,Q){B={stale:1e4,realpath:!0,fs:_t1,...B},B.stale=Math.max(B.stale||0,2000),xt1(A,B,(Z,G)=>{if(Z)return Q(Z);B.fs.stat(J41(G,B),(Y,I)=>{if(Y)return Y.code==="ENOENT"?Q(null,!1):Q(Y);return Q(null,!UIA(I,B))})})}function iI9(){return jT}cI9(()=>{for(let A in jT){let B=jT[A].options;try{B.fs.rmdirSync(J41(A,B))}catch(Q){}}});nI9.lock=lI9;nI9.unlock=wIA;nI9.check=pI9;nI9.getLocks=iI9});var NIA=U((nC8,EIA)=>{var tI9=Ot1();function eI9(A){let B=["mkdir","realpath","stat","rmdir","utimes"],Q={...A};return B.forEach((Z)=>{Q[Z]=(...G)=>{let Y=G.pop(),I;try{I=A[`${Z}Sync`](...G)}catch(W){return Y(W)}Y(null,I)}}),Q}function AW9(A){return(...B)=>new Promise((Q,Z)=>{B.push((G,Y)=>{if(G)Z(G);else Q(Y)}),A(...B)})}function BW9(A){return(...B)=>{let Q,Z;if(B.push((G,Y)=>{Q=G,Z=Y}),A(...B),Q)throw Q;return Z}}function QW9(A){if(A={...A},A.fs=eI9(A.fs||tI9),typeof A.retries==="number"&&A.retries>0||A.retries&&typeof A.retries.retries==="number"&&A.retries.retries>0)throw Object.assign(new Error("Cannot use retries with the sync api"),{code:"ESYNC"});return A}EIA.exports={toPromise:AW9,toSync:BW9,toSyncOptions:QW9}});var pD1=U((aC8,uk)=>{var nn=qIA(),{toPromise:cD1,toSync:lD1,toSyncOptions:vt1}=NIA();async function LIA(A,B){let Q=await cD1(nn.lock)(A,B);return cD1(Q)}function ZW9(A,B){let Q=lD1(nn.lock)(A,vt1(B));return lD1(Q)}function GW9(A,B){return cD1(nn.unlock)(A,B)}function YW9(A,B){return lD1(nn.unlock)(A,vt1(B))}function IW9(A,B){return cD1(nn.check)(A,B)}function WW9(A,B){return lD1(nn.check)(A,vt1(B))}uk.exports=LIA;uk.exports.lock=LIA;uk.exports.unlock=GW9;uk.exports.lockSync=ZW9;uk.exports.unlockSync=YW9;uk.exports.check=IW9;uk.exports.checkSync=WW9});var lIA=U((qU8,cIA)=>{cIA.exports=mIA;function mIA(A,B,Q){if(A instanceof RegExp)A=uIA(A,Q);if(B instanceof RegExp)B=uIA(B,Q);var Z=dIA(A,B,Q);return Z&&{start:Z[0],end:Z[1],pre:Q.slice(0,Z[0]),body:Q.slice(Z[0]+A.length,Z[1]),post:Q.slice(Z[1]+B.length)}}function uIA(A,B){var Q=B.match(A);return Q?Q[0]:null}mIA.range=dIA;function dIA(A,B,Q){var Z,G,Y,I,W,J=Q.indexOf(A),X=Q.indexOf(B,J+1),F=J;if(J>=0&&X>0){if(A===B)return[J,X];Z=[],Y=Q.length;while(F>=0&&!W){if(F==J)Z.push(F),J=Q.indexOf(A,F+1);else if(Z.length==1)W=[Z.pop(),X];else{if(G=Z.pop(),G =0?J:X}if(Z.length)W=[Y,I]}return W}});var tIA=U((EU8,oIA)=>{var pIA=lIA();oIA.exports=yW9;var iIA="\x00SLASH"+Math.random()+"\x00",nIA="\x00OPEN"+Math.random()+"\x00",pt1="\x00CLOSE"+Math.random()+"\x00",aIA="\x00COMMA"+Math.random()+"\x00",sIA="\x00PERIOD"+Math.random()+"\x00";function lt1(A){return parseInt(A,10)==A?parseInt(A,10):A.charCodeAt(0)}function jW9(A){return A.split("\\\\").join(iIA).split("\\{").join(nIA).split("\\}").join(pt1).split("\\,").join(aIA).split("\\.").join(sIA)}function SW9(A){return A.split(iIA).join("\\").split(nIA).join("{").split(pt1).join("}").split(aIA).join(",").split(sIA).join(".")}function rIA(A){if(!A)return[""];var B=[],Q=pIA("{","}",A);if(!Q)return A.split(",");var{pre:Z,body:G,post:Y}=Q,I=Z.split(",");I[I.length-1]+="{"+G+"}";var W=rIA(Y);if(Y.length)I[I.length-1]+=W.shift(),I.push.apply(I,W);return B.push.apply(B,I),B}function yW9(A){if(!A)return[];if(A.substr(0,2)==="{}")A="\\{\\}"+A.substr(2);return K41(jW9(A),!0).map(SW9)}function kW9(A){return"{"+A+"}"}function _W9(A){return/^-?0\d/.test(A)}function xW9(A,B){return A<=B}function vW9(A,B){return A>=B}function K41(A,B){var Q=[],Z=pIA("{","}",A);if(!Z)return[A];var G=Z.pre,Y=Z.post.length?K41(Z.post,!1):[""];if(/\$$/.test(Z.pre))for(var I=0;I =0;if(!F&&!V){if(Z.post.match(/,.*\}/))return A=Z.pre+"{"+Z.body+pt1+Z.post,K41(A);return[A]}var K;if(F)K=Z.body.split(/\.\./);else if(K=rIA(Z.body),K.length===1){if(K=K41(K[0],!1).map(kW9),K.length===1)return Y.map(function(d){return Z.pre+K[0]+d})}var z;if(F){var H=lt1(K[0]),D=lt1(K[1]),C=Math.max(K[0].length,K[1].length),w=K.length==3?Math.abs(lt1(K[2])):1,E=xW9,L=D 0){var b=new Array(k+1).join("0");if(R<0)P="-"+b+P.slice(1);else P=b+P}}z.push(P)}}else{z=[];for(var S=0;S {lWA.exports=cWA;cWA.sync=ZX9;var mWA=X1("fs");function QX9(A,B){var Q=B.pathExt!==void 0?B.pathExt:process.env.PATHEXT;if(!Q)return!0;if(Q=Q.split(";"),Q.indexOf("")!==-1)return!0;for(var Z=0;Z {sWA.exports=nWA;nWA.sync=GX9;var iWA=X1("fs");function nWA(A,B,Q){iWA.stat(A,function(Z,G){Q(Z,Z?!1:aWA(G,B))})}function GX9(A,B){return aWA(iWA.statSync(A),B)}function aWA(A,B){return A.isFile()&&YX9(A,B)}function YX9(A,B){var{mode:Q,uid:Z,gid:G}=A,Y=B.uid!==void 0?B.uid:process.getuid&&process.getuid(),I=B.gid!==void 0?B.gid:process.getgid&&process.getgid(),W=parseInt("100",8),J=parseInt("010",8),X=parseInt("001",8),F=W|J,V=Q&X||Q&J&&G===I||Q&W&&Z===Y||Q&F&&Y===0;return V}});var tWA=U((T$8,oWA)=>{var R$8=X1("fs"),zC1;if(process.platform==="win32"||global.TESTING_WINDOWS)zC1=pWA();else zC1=rWA();oWA.exports=Xe1;Xe1.sync=IX9;function Xe1(A,B,Q){if(typeof B==="function")Q=B,B={};if(!Q){if(typeof Promise!=="function")throw new TypeError("callback not provided");return new Promise(function(Z,G){Xe1(A,B||{},function(Y,I){if(Y)G(Y);else Z(I)})})}zC1(A,B||{},function(Z,G){if(Z){if(Z.code==="EACCES"||B&&B.ignoreErrors)Z=null,G=!1}Q(Z,G)})}function IX9(A,B){try{return zC1.sync(A,B||{})}catch(Q){if(B&&B.ignoreErrors||Q.code==="EACCES")return!1;else throw Q}}});var YJA=U((P$8,GJA)=>{var Za=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",eWA=X1("path"),WX9=Za?";":":",AJA=tWA(),BJA=(A)=>Object.assign(new Error(`not found: ${A}`),{code:"ENOENT"}),QJA=(A,B)=>{let Q=B.colon||WX9,Z=A.match(/\//)||Za&&A.match(/\\/)?[""]:[...Za?[process.cwd()]:[],...(B.path||process.env.PATH||"").split(Q)],G=Za?B.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",Y=Za?G.split(Q):[""];if(Za){if(A.indexOf(".")!==-1&&Y[0]!=="")Y.unshift("")}return{pathEnv:Z,pathExt:Y,pathExtExe:G}},ZJA=(A,B,Q)=>{if(typeof B==="function")Q=B,B={};if(!B)B={};let{pathEnv:Z,pathExt:G,pathExtExe:Y}=QJA(A,B),I=[],W=(X)=>new Promise((F,V)=>{if(X===Z.length)return B.all&&I.length?F(I):V(BJA(A));let K=Z[X],z=/^".*"$/.test(K)?K.slice(1,-1):K,H=eWA.join(z,A),D=!z&&/^\.[\\\/]/.test(A)?A.slice(0,2)+H:H;F(J(D,X,0))}),J=(X,F,V)=>new Promise((K,z)=>{if(V===G.length)return K(W(F+1));let H=G[V];AJA(X+H,{pathExt:Y},(D,C)=>{if(!D&&C)if(B.all)I.push(X+H);else return K(X+H);return K(J(X,F,V+1))})});return Q?W(0).then((X)=>Q(null,X),Q):W(0)},JX9=(A,B)=>{B=B||{};let{pathEnv:Q,pathExt:Z,pathExtExe:G}=QJA(A,B),Y=[];for(let I=0;I {var IJA=(A={})=>{let B=A.env||process.env;if((A.platform||process.platform)!=="win32")return"PATH";return Object.keys(B).reverse().find((Z)=>Z.toUpperCase()==="PATH")||"Path"};Fe1.exports=IJA;Fe1.exports.default=IJA});var VJA=U((S$8,FJA)=>{var JJA=X1("path"),XX9=YJA(),FX9=WJA();function XJA(A,B){let Q=A.options.env||process.env,Z=process.cwd(),G=A.options.cwd!=null,Y=G&&process.chdir!==void 0&&!process.chdir.disabled;if(Y)try{process.chdir(A.options.cwd)}catch(W){}let I;try{I=XX9.sync(A.command,{path:Q[FX9({env:Q})],pathExt:B?JJA.delimiter:void 0})}catch(W){}finally{if(Y)process.chdir(Z)}if(I)I=JJA.resolve(G?A.options.cwd:"",I);return I}function VX9(A){return XJA(A)||XJA(A,!0)}FJA.exports=VX9});var KJA=U((HX9,Ke1)=>{var Ve1=/([()\][%!^"`<>&|;, *?])/g;function KX9(A){return A=A.replace(Ve1,"^$1"),A}function zX9(A,B){if(A=`${A}`,A=A.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),A=A.replace(/(?=(\\+?)?)\1$/,"$1$1"),A=`"${A}"`,A=A.replace(Ve1,"^$1"),B)A=A.replace(Ve1,"^$1");return A}HX9.command=KX9;HX9.argument=zX9});var HJA=U((y$8,zJA)=>{zJA.exports=/^#!(.*)/});var CJA=U((k$8,DJA)=>{var UX9=HJA();DJA.exports=(A="")=>{let B=A.match(UX9);if(!B)return null;let[Q,Z]=B[0].replace(/#! ?/,"").split(" "),G=Q.split("/").pop();if(G==="env")return Z;return Z?`${G} ${Z}`:G}});var $JA=U((_$8,UJA)=>{var ze1=X1("fs"),$X9=CJA();function wX9(A){let Q=Buffer.alloc(150),Z;try{Z=ze1.openSync(A,"r"),ze1.readSync(Z,Q,0,150,0),ze1.closeSync(Z)}catch(G){}return $X9(Q.toString())}UJA.exports=wX9});var NJA=U((x$8,EJA)=>{var qX9=X1("path"),wJA=VJA(),qJA=KJA(),EX9=$JA(),NX9=process.platform==="win32",LX9=/\.(?:com|exe)$/i,MX9=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function OX9(A){A.file=wJA(A);let B=A.file&&EX9(A.file);if(B)return A.args.unshift(A.file),A.command=B,wJA(A);return A.file}function RX9(A){if(!NX9)return A;let B=OX9(A),Q=!LX9.test(B);if(A.options.forceShell||Q){let Z=MX9.test(B);A.command=qX9.normalize(A.command),A.command=qJA.command(A.command),A.args=A.args.map((Y)=>qJA.argument(Y,Z));let G=[A.command].concat(A.args).join(" ");A.args=["/d","/s","/c",`"${G}"`],A.command=process.env.comspec||"cmd.exe",A.options.windowsVerbatimArguments=!0}return A}function TX9(A,B,Q){if(B&&!Array.isArray(B))Q=B,B=null;B=B?B.slice(0):[],Q=Object.assign({},Q);let Z={command:A,args:B,options:Q,file:void 0,original:{command:A,args:B}};return Q.shell?Z:RX9(Z)}EJA.exports=TX9});var OJA=U((v$8,MJA)=>{var He1=process.platform==="win32";function De1(A,B){return Object.assign(new Error(`${B} ${A.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${B} ${A.command}`,path:A.command,spawnargs:A.args})}function PX9(A,B){if(!He1)return;let Q=A.emit;A.emit=function(Z,G){if(Z==="exit"){let Y=LJA(G,B);if(Y)return Q.call(A,"error",Y)}return Q.apply(A,arguments)}}function LJA(A,B){if(He1&&A===1&&!B.file)return De1(B.original,"spawn");return null}function jX9(A,B){if(He1&&A===1&&!B.file)return De1(B.original,"spawnSync");return null}MJA.exports={hookChildProcess:PX9,verifyENOENT:LJA,verifyENOENTSync:jX9,notFoundError:De1}});var $e1=U((b$8,Ga)=>{var RJA=X1("child_process"),Ce1=NJA(),Ue1=OJA();function TJA(A,B,Q){let Z=Ce1(A,B,Q),G=RJA.spawn(Z.command,Z.args,Z.options);return Ue1.hookChildProcess(G,Z),G}function SX9(A,B,Q){let Z=Ce1(A,B,Q),G=RJA.spawnSync(Z.command,Z.args,Z.options);return G.error=G.error||Ue1.verifyENOENTSync(G.status,Z),G}Ga.exports=TJA;Ga.exports.spawn=TJA;Ga.exports.sync=SX9;Ga.exports._parse=Ce1;Ga.exports._enoent=Ue1});var QXA=U((mw8,BXA)=>{var{PassThrough:PF9}=X1("stream");BXA.exports=function(){var A=[],B=new PF9({objectMode:!0});return B.setMaxListeners(0),B.add=Q,B.isEmpty=Z,B.on("unpipe",G),Array.prototype.slice.call(arguments).forEach(Q),B;function Q(Y){if(Array.isArray(Y))return Y.forEach(Q),this;return A.push(Y),Y.once("end",G.bind(null,Y)),Y.once("error",B.emit.bind(B,"error")),Y.pipe(B,{end:!1}),this}function Z(){return A.length==0}function G(Y){if(A=A.filter(function(I){return I!==Y}),!A.length&&B.readable)B.end()}}});var _C1=U((mq8,kC1)=>{function OXA(A){return Array.isArray(A)?A:[A]}var YV9=void 0,ae1="",LXA=" ",ne1="\\",IV9=/^\s+$/,WV9=/(?:[^\\]|^)\\$/,JV9=/^\\!/,XV9=/^\\#/,FV9=/\r?\n/g,VV9=/^\.{0,2}\/|^\.{1,2}$/,KV9=/\/$/,Ia="/",RXA="node-ignore";if(typeof Symbol!=="undefined")RXA=Symbol.for("node-ignore");var TXA=RXA,Wa=(A,B,Q)=>{return Object.defineProperty(A,B,{value:Q}),Q},zV9=/([0-z])-([0-z])/g,PXA=()=>!1,HV9=(A)=>A.replace(zV9,(B,Q,Z)=>Q.charCodeAt(0)<=Z.charCodeAt(0)?B:ae1),DV9=(A)=>{let{length:B}=A;return A.slice(0,B-B%2)},CV9=[[/^\uFEFF/,()=>ae1],[/((?:\\\\)*?)(\\?\s+)$/,(A,B,Q)=>B+(Q.indexOf("\\")===0?LXA:ae1)],[/(\\+?)\s/g,(A,B)=>{let{length:Q}=B;return B.slice(0,Q-Q%2)+LXA}],[/[\\$.|*+(){^]/g,(A)=>`\\${A}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function A(){return!/\/(?!$)/.test(this)?"(?:^|\\/)":"^"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(A,B,Q)=>B+6 {let Z=Q.replace(/\\\*/g,"[^\\/]*");return B+Z}],[/\\\\\\(?=[$.|*+(){^])/g,()=>ne1],[/\\\\/g,()=>ne1],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(A,B,Q,Z,G)=>B===ne1?`\\[${Q}${DV9(Z)}${G}`:G==="]"?Z.length%2===0?`[${HV9(Q)}${Z}]`:"[]":"[]"],[/(?:[^*])$/,(A)=>/\/$/.test(A)?`${A}$`:`${A}(?=$|\\/$)`]],UV9=/(^|\\\/)?\\\*$/,v41="regex",SC1="checkRegex",MXA="_",$V9={[v41](A,B){return`${B?`${B}[^/]+`:"[^/]*"}(?=$|\\/$)`},[SC1](A,B){return`${B?`${B}[^/]*`:"[^/]*"}(?=$|\\/$)`}},wV9=(A)=>CV9.reduce((B,[Q,Z])=>B.replace(Q,Z.bind(A)),A),yC1=(A)=>typeof A==="string",qV9=(A)=>A&&yC1(A)&&!IV9.test(A)&&!WV9.test(A)&&A.indexOf("#")!==0,EV9=(A)=>A.split(FV9).filter(Boolean);class jXA{constructor(A,B,Q,Z,G,Y){this.pattern=A,this.mark=B,this.negative=G,Wa(this,"body",Q),Wa(this,"ignoreCase",Z),Wa(this,"regexPrefix",Y)}get regex(){let A=MXA+v41;if(this[A])return this[A];return this._make(v41,A)}get checkRegex(){let A=MXA+SC1;if(this[A])return this[A];return this._make(SC1,A)}_make(A,B){let Q=this.regexPrefix.replace(UV9,$V9[A]),Z=this.ignoreCase?new RegExp(Q,"i"):new RegExp(Q);return Wa(this,B,Z)}}var NV9=({pattern:A,mark:B},Q)=>{let Z=!1,G=A;if(G.indexOf("!")===0)Z=!0,G=G.substr(1);G=G.replace(JV9,"!").replace(XV9,"#");let Y=wV9(G);return new jXA(A,B,G,Q,Z,Y)};class SXA{constructor(A){this._ignoreCase=A,this._rules=[]}_add(A){if(A&&A[TXA]){this._rules=this._rules.concat(A._rules._rules),this._added=!0;return}if(yC1(A))A={pattern:A};if(qV9(A.pattern)){let B=NV9(A,this._ignoreCase);this._added=!0,this._rules.push(B)}}add(A){return this._added=!1,OXA(yC1(A)?EV9(A):A).forEach(this._add,this),this._added}test(A,B,Q){let Z=!1,G=!1,Y;this._rules.forEach((W)=>{let{negative:J}=W;if(G===J&&Z!==G||J&&!Z&&!G&&!B)return;if(!W[Q].test(A))return;Z=!J,G=J,Y=J?YV9:W});let I={ignored:Z,unignored:G};if(Y)I.rule=Y;return I}}var LV9=(A,B)=>{throw new B(A)},_T=(A,B,Q)=>{if(!yC1(A))return Q(`path must be a string, but got \`${B}\``,TypeError);if(!A)return Q("path must not be empty",TypeError);if(_T.isNotRelative(A))return Q(`path should be a \`path.relative()\`d string, but got "${B}"`,RangeError);return!0},yXA=(A)=>VV9.test(A);_T.isNotRelative=yXA;_T.convert=(A)=>A;class kXA{constructor({ignorecase:A=!0,ignoreCase:B=A,allowRelativePaths:Q=!1}={}){Wa(this,TXA,!0),this._rules=new SXA(B),this._strictPathCheck=!Q,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(A){if(this._rules.add(A))this._initCache();return this}addPattern(A){return this.add(A)}_test(A,B,Q,Z){let G=A&&_T.convert(A);return _T(G,A,this._strictPathCheck?LV9:PXA),this._t(G,B,Q,Z)}checkIgnore(A){if(!KV9.test(A))return this.test(A);let B=A.split(Ia).filter(Boolean);if(B.pop(),B.length){let Q=this._t(B.join(Ia)+Ia,this._testCache,!0,B);if(Q.ignored)return Q}return this._rules.test(A,!1,SC1)}_t(A,B,Q,Z){if(A in B)return B[A];if(!Z)Z=A.split(Ia).filter(Boolean);if(Z.pop(),!Z.length)return B[A]=this._rules.test(A,Q,v41);let G=this._t(Z.join(Ia)+Ia,B,Q,Z);return B[A]=G.ignored?G:this._rules.test(A,Q,v41)}ignores(A){return this._test(A,this._ignoreCache,!1).ignored}createFilter(){return(A)=>!this.ignores(A)}filter(A){return OXA(A).filter(this.createFilter())}test(A){return this._test(A,this._testCache,!0)}}var se1=(A)=>new kXA(A),MV9=(A)=>_T(A&&_T.convert(A),A,PXA),_XA=()=>{let A=(Q)=>/^\\\\\?\\/.test(Q)||/["<>|\u0000-\u001F]+/u.test(Q)?Q:Q.replace(/\\/g,"/");_T.convert=A;let B=/^[a-z]:\//i;_T.isNotRelative=(Q)=>B.test(Q)||yXA(Q)};if(typeof process!=="undefined"&&process.platform==="win32")_XA();kC1.exports=se1;se1.default=se1;kC1.exports.isPathValid=MV9;Wa(kC1.exports,Symbol.for("setupWindows"),_XA)});var rXA=U((dq8,sXA)=>{function A10(A){if(A instanceof Map)A.clear=A.delete=A.set=function(){throw new Error("map is read-only")};else if(A instanceof Set)A.add=A.clear=A.delete=function(){throw new Error("set is read-only")};return Object.freeze(A),Object.getOwnPropertyNames(A).forEach(function(B){var Q=A[B];if(typeof Q=="object"&&!Object.isFrozen(Q))A10(Q)}),A}var uXA=A10,OV9=A10;uXA.default=OV9;class te1{constructor(A){if(A.data===void 0)A.data={};this.data=A.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Ja(A){return A.replace(/&/g,"&").replace(/ ")+'"');throw X2.mode=C0,X2}else if(xA.type==="end"){let X2=l1(xA);if(X2!==gXA)return X2}if(xA.type==="illegal"&&oA==="")return 1;if(l2>1e5&&l2>xA.index*3)throw new Error("potential infinite loop, way more iterations than matches");return JA+=oA,oA.length}let H1=r(D1);if(!H1)throw re1(I.replace("{}",D1)),new Error('Unknown language: "'+D1+'"');let p1=IK9(H1,{plugins:Z}),u0="",C0=e1||p1,p0={},wA=new J.__emitter(J);r1();let JA="",hA=0,yA=0,l2=0,F4=!1;try{C0.matcher.considerAll();for(;;){if(l2++,F4)F4=!1;else C0.matcher.considerAll();C0.matcher.lastIndex=yA;let cA=C0.matcher.exec(m1);if(!cA)break;let xA=m1.substring(yA,cA.index),oA=Y0(xA,cA);yA=cA.index+oA}return Y0(m1.substr(yA)),wA.closeAllNodes(),wA.finalize(),u0=wA.toHTML(),{relevance:Math.floor(hA),value:u0,language:D1,illegal:!1,emitter:wA,top:C0}}catch(cA){if(cA.message&&cA.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:cA.message,context:m1.slice(yA-100,yA+100),mode:cA.mode},sofar:u0,relevance:0,value:oe1(m1),emitter:wA};else if(G)return{illegal:!1,relevance:0,value:oe1(m1),emitter:wA,language:D1,top:C0,errorRaised:cA};else throw cA}}function z(D1){let m1={relevance:0,emitter:new J.__emitter(J),value:oe1(D1),illegal:!1,top:W};return m1.emitter.addText(D1),m1}function H(D1,m1){m1=m1||J.languages||Object.keys(B);let x1=z(D1),e1=m1.filter(r).filter(J1).map((K1)=>K(K1,D1,!1));e1.unshift(x1);let J0=e1.sort((K1,h1)=>{if(K1.relevance!==h1.relevance)return h1.relevance-K1.relevance;if(K1.language&&h1.language){if(r(K1.language).supersetOf===h1.language)return 1;else if(r(h1.language).supersetOf===K1.language)return-1}return 0}),[$0,B1]=J0,I1=$0;return I1.second_best=B1,I1}function D(D1){if(!(J.tabReplace||J.useBR))return D1;return D1.replace(Y,(m1)=>{if(m1===` +`)return J.useBR?"
":m1;else if(J.tabReplace)return m1.replace(/\t/g,J.tabReplace);return m1})}function C(D1,m1,x1){let e1=m1?Q[m1]:x1;if(D1.classList.add("hljs"),e1)D1.classList.add(e1)}let w={"before:highlightElement":({el:D1})=>{if(J.useBR)D1.innerHTML=D1.innerHTML.replace(/\n/g,"").replace(/
/g,` +`)},"after:highlightElement":({result:D1})=>{if(J.useBR)D1.value=D1.value.replace(/\n/g,"
")}},E=/^(<[^>]+>|\t)+/gm,L={"after:highlightElement":({result:D1})=>{if(J.tabReplace)D1.value=D1.value.replace(E,(m1)=>m1.replace(/\t/g,J.tabReplace))}};function O(D1){let m1=null,x1=F(D1);if(X(x1))return;Q0("before:highlightElement",{el:D1,language:x1}),m1=D1;let e1=m1.textContent,J0=x1?V(e1,{language:x1,ignoreIllegals:!0}):H(e1);if(Q0("after:highlightElement",{el:D1,result:J0,text:e1}),D1.innerHTML=J0.value,C(D1,x1,J0.language),D1.result={language:J0.language,re:J0.relevance,relavance:J0.relevance},J0.second_best)D1.second_best={language:J0.second_best.language,re:J0.second_best.relevance,relavance:J0.second_best.relevance}}function R(D1){if(D1.useBR)mC("10.3.0","'useBR' will be removed entirely in v11.0"),mC("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559");J=hXA(J,D1)}let P=()=>{if(P.called)return;P.called=!0,mC("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead."),document.querySelectorAll("pre code").forEach(O)};function k(){mC("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),b=!0}let b=!1;function S(){if(document.readyState==="loading"){b=!0;return}document.querySelectorAll("pre code").forEach(O)}function d(){if(b)S()}if(typeof window!=="undefined"&&window.addEventListener)window.addEventListener("DOMContentLoaded",d,!1);function u(D1,m1){let x1=null;try{x1=m1(A)}catch(e1){if(re1("Language definition for '{}' could not be registered.".replace("{}",D1)),!G)throw e1;else re1(e1);x1=W}if(!x1.name)x1.name=D1;if(B[D1]=x1,x1.rawDefinition=m1.bind(null,A),x1.aliases)Q1(x1.aliases,{languageName:D1})}function o(D1){delete B[D1];for(let m1 of Object.keys(Q))if(Q[m1]===D1)delete Q[m1]}function m(){return Object.keys(B)}function j(D1){mC("10.4.0","requireLanguage will be removed entirely in v11."),mC("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");let m1=r(D1);if(m1)return m1;throw new Error("The '{}' language is required, but not loaded.".replace("{}",D1))}function r(D1){return D1=(D1||"").toLowerCase(),B[D1]||B[Q[D1]]}function Q1(D1,{languageName:m1}){if(typeof D1==="string")D1=[D1];D1.forEach((x1)=>{Q[x1.toLowerCase()]=m1})}function J1(D1){let m1=r(D1);return m1&&!m1.disableAutodetect}function R1(D1){if(D1["before:highlightBlock"]&&!D1["before:highlightElement"])D1["before:highlightElement"]=(m1)=>{D1["before:highlightBlock"](Object.assign({block:m1.el},m1))};if(D1["after:highlightBlock"]&&!D1["after:highlightElement"])D1["after:highlightElement"]=(m1)=>{D1["after:highlightBlock"](Object.assign({block:m1.el},m1))}}function s1(D1){R1(D1),Z.push(D1)}function Q0(D1,m1){let x1=D1;Z.forEach(function(e1){if(e1[x1])e1[x1](m1)})}function k0(D1){return mC("10.2.0","fixMarkup will be removed entirely in v11.0"),mC("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),D(D1)}function q0(D1){return mC("10.7.0","highlightBlock will be removed entirely in v12.0"),mC("10.7.0","Please use highlightElement now."),O(D1)}Object.assign(A,{highlight:V,highlightAuto:H,highlightAll:S,fixMarkup:k0,highlightElement:O,highlightBlock:q0,configure:R,initHighlighting:P,initHighlightingOnLoad:k,registerLanguage:u,unregisterLanguage:o,listLanguages:m,getLanguage:r,registerAliases:Q1,requireLanguage:j,autoDetection:J1,inherit:hXA,addPlugin:s1,vuePlugin:FK9(A).VuePlugin}),A.debugMode=function(){G=!1},A.safeMode=function(){G=!0},A.versionString=JK9;for(let D1 in xC1)if(typeof xC1[D1]==="object")uXA(xC1[D1]);return Object.assign(A,xC1),A.addPlugin(w),A.addPlugin(VK9),A.addPlugin(L),A},HK9=zK9({});sXA.exports=HK9});var tXA=U((cq8,oXA)=>{function DK9(A){var B="[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+",Q="далее ",Z="возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли "+"конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт ",G=Q+Z,Y="загрузитьизфайла ",I="вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер "+"наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед "+"после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент ",W=Y+I,J="разделительстраниц разделительстрок символтабуляции ",X="ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов "+"датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя "+"кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца "+"коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид "+"назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца "+"начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов "+"основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута "+"получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта "+"префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына "+"рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента "+"счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон ",F="acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока "+"xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение "+"ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации "+"выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода "+"деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы "+"загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации "+"заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию "+"значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла "+"изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке "+"каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку "+"кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты "+"конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы "+"копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти "+"найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы "+"началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя "+"начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты "+"начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов "+"начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя "+"начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога "+"начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией "+"начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы "+"номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения "+"обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении "+"отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения "+"открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально "+"отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа "+"перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту "+"подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения "+"подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки "+"показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение "+"показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя "+"получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса "+"получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора "+"получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса "+"получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации "+"получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла "+"получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации "+"получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления "+"получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу "+"получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы "+"получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет "+"получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима "+"получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения "+"получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути "+"получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы "+"получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю "+"получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных "+"получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию "+"получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище "+"поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода "+"представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение "+"прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока "+"рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных "+"раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени "+"смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить "+"состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс "+"строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений "+"стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах "+"текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации "+"текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы "+"удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим "+"установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту "+"установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных "+"установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации "+"установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения "+"установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования "+"установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима "+"установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим "+"установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией "+"установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы "+"установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса "+"формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища ",V="wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы "+"внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль "+"документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты "+"историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений "+"отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик "+"планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок "+"рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений "+"регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа "+"средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек "+"хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков "+"хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек ",K=J+X+F+V,z="webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля ",H="автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий "+"анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы "+"вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы "+"виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя "+"видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение "+"горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы "+"группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания "+"интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки "+"используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы "+"источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева "+"начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы "+"ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме "+"отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы "+"отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы "+"отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы "+"отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска "+"отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования "+"отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта "+"отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы "+"поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы "+"поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы "+"положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы "+"положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы "+"положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском "+"положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы "+"размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта "+"режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты "+"режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения "+"режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра "+"режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения "+"режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы "+"режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки "+"режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание "+"сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы "+"способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление "+"статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы "+"типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы "+"типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления "+"типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы "+"типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы "+"типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений "+"типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы "+"типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы "+"типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы "+"факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени "+"форматкартинки ширинаподчиненныхэлементовформы ",D="виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса "+"использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения "+"использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента ",C="авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных ",w="использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы "+"положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента "+"способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента "+"типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента "+"типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы "+"типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента "+"типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц ",E="отображениевремениэлементовпланировщика ",L="типфайлаформатированногодокумента ",O="обходрезультатазапроса типзаписизапроса ",R="видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов ",P="доступкфайлу режимдиалогавыборафайла режимоткрытияфайла ",k="типизмеренияпостроителязапроса ",b="видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных "+"типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений "+"типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций "+"типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных "+"типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных "+"типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений ",S="wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto "+"действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs "+"исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs "+"методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs "+"ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson "+"типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs "+"форматдатыjson экранированиесимволовjson ",d="видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных "+"расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных "+"расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных "+"расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных "+"типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных "+"типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных "+"типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных "+"расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных "+"режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных "+"режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных "+"вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных "+"использованиеусловногооформлениякомпоновкиданных ",u="важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения "+"способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты "+"статусразборапочтовогосообщения ",o="режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации ",m="расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии "+"типхранилищасертификатовкриптографии ",j="кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip "+"режимсохраненияпутейzip уровеньсжатияzip ",r="звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных "+"сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp ",Q1="направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса "+"типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса ",J1="httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления "+"видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование "+"использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения "+"использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита "+"назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных "+"оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи "+"основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении "+"периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений "+"повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение "+"разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита "+"режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности "+"режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов "+"режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса "+"режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов "+"сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования "+"типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса "+"типномерадокумента типномеразадачи типформы удалениедвижений ",R1="важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения "+"вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки "+"видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак "+"использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога "+"кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных "+"отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения "+"режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных "+"способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter "+"типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты",s1=z+H+D+C+w+E+L+O+R+P+k+b+S+d+u+o+m+j+r+Q1+J1+R1,Q0="comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs "+"блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема "+"географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма "+"диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания "+"диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление "+"записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom "+"запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта "+"интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs "+"использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных "+"итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла "+"компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных "+"конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных "+"макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson "+"обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs "+"объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации "+"описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных "+"описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs "+"определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom "+"определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных "+"параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных "+"полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных "+"построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml "+"процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент "+"процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml "+"результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto "+"сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows "+"сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш "+"сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент "+"текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток "+"фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs "+"фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs "+"фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs "+"фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент "+"фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла "+"чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных ",k0="comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура "+"фиксированноесоответствие фиксированныймассив ",q0=Q0+k0,D1="null истина ложь неопределено",m1=A.inherit(A.NUMBER_MODE),x1={className:"string",begin:'"|\\|',end:'"|$',contains:[{begin:'""'}]},e1={begin:"'",end:"'",excludeBegin:!0,excludeEnd:!0,contains:[{className:"number",begin:"\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}"}]},J0=A.inherit(A.C_LINE_COMMENT_MODE),$0={className:"meta",begin:"#|&",end:"$",keywords:{$pattern:B,"meta-keyword":G+W},contains:[J0]},B1={className:"symbol",begin:"~",end:";|:",excludeEnd:!0},I1={className:"function",variants:[{begin:"процедура|функция",end:"\\)",keywords:"процедура функция"},{begin:"конецпроцедуры|конецфункции",keywords:"конецпроцедуры конецфункции"}],contains:[{begin:"\\(",end:"\\)",endsParent:!0,contains:[{className:"params",begin:B,end:",",excludeEnd:!0,endsWithParent:!0,keywords:{$pattern:B,keyword:"знач",literal:D1},contains:[m1,x1,e1]},J0]},A.inherit(A.TITLE_MODE,{begin:B})]};return{name:"1C:Enterprise",case_insensitive:!0,keywords:{$pattern:B,keyword:G,built_in:K,class:s1,type:q0,literal:D1},contains:[$0,I1,J0,B1,m1,x1,e1]}}oXA.exports=DK9});var AFA=U((lq8,eXA)=>{function CK9(A){if(!A)return null;if(typeof A==="string")return A;return A.source}function UK9(...A){return A.map((Q)=>CK9(Q)).join("")}function $K9(A){let B={ruleDeclaration:/^[a-zA-Z][a-zA-Z0-9-]*/,unexpectedChars:/[!@#$^&',?+~`|:]/},Q=["ALPHA","BIT","CHAR","CR","CRLF","CTL","DIGIT","DQUOTE","HEXDIG","HTAB","LF","LWSP","OCTET","SP","VCHAR","WSP"],Z=A.COMMENT(/;/,/$/),G={className:"symbol",begin:/%b[0-1]+(-[0-1]+|(\.[0-1]+)+){0,1}/},Y={className:"symbol",begin:/%d[0-9]+(-[0-9]+|(\.[0-9]+)+){0,1}/},I={className:"symbol",begin:/%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+){0,1}/},W={className:"symbol",begin:/%[si]/},J={className:"attribute",begin:UK9(B.ruleDeclaration,/(?=\s*=)/)};return{name:"Augmented Backus-Naur Form",illegal:B.unexpectedChars,keywords:Q,contains:[J,Z,G,Y,I,W,A.QUOTE_STRING_MODE,A.NUMBER_MODE]}}eXA.exports=$K9});var ZFA=U((pq8,QFA)=>{function BFA(A){if(!A)return null;if(typeof A==="string")return A;return A.source}function wK9(...A){return A.map((Q)=>BFA(Q)).join("")}function qK9(...A){return"("+A.map((Q)=>BFA(Q)).join("|")+")"}function EK9(A){let B=["GET","POST","HEAD","PUT","DELETE","CONNECT","OPTIONS","PATCH","TRACE"];return{name:"Apache Access Log",contains:[{className:"number",begin:/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?\b/,relevance:5},{className:"number",begin:/\b\d+\b/,relevance:0},{className:"string",begin:wK9(/"/,qK9(...B)),end:/"/,keywords:B,illegal:/\n/,relevance:5,contains:[{begin:/HTTP\/[12]\.\d'/,relevance:5}]},{className:"string",begin:/\[\d[^\]\n]{8,}\]/,illegal:/\n/,relevance:1},{className:"string",begin:/\[/,end:/\]/,illegal:/\n/,relevance:0},{className:"string",begin:/"Mozilla\/\d\.\d \(/,end:/"/,illegal:/\n/,relevance:3},{className:"string",begin:/"/,end:/"/,illegal:/\n/,relevance:0}]}}QFA.exports=EK9});var YFA=U((iq8,GFA)=>{function NK9(A){if(!A)return null;if(typeof A==="string")return A;return A.source}function LK9(...A){return A.map((Q)=>NK9(Q)).join("")}function MK9(A){let B=/[a-zA-Z_$][a-zA-Z0-9_$]*/,Q=/([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)/,Z={className:"rest_arg",begin:/[.]{3}/,end:B,relevance:10};return{name:"ActionScript",aliases:["as"],keywords:{keyword:"as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with",literal:"true false null undefined"},contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,A.C_NUMBER_MODE,{className:"class",beginKeywords:"package",end:/\{/,contains:[A.TITLE_MODE]},{className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},A.TITLE_MODE]},{className:"meta",beginKeywords:"import include",end:/;/,keywords:{"meta-keyword":"import include"}},{className:"function",beginKeywords:"function",end:/[{;]/,excludeEnd:!0,illegal:/\S/,contains:[A.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,Z]},{begin:LK9(/:\s*/,Q)}]},A.METHOD_GUARD],illegal:/#/}}GFA.exports=MK9});var WFA=U((nq8,IFA)=>{function OK9(A){let Q="[eE][-+]?\\d(_|\\d)*",Z="\\d(_|\\d)*(\\.\\d(_|\\d)*)?("+Q+")?",G="\\w+",I="\\b("+("\\d(_|\\d)*#\\w+(\\.\\w+)?#("+Q+")?")+"|"+Z+")",W="[A-Za-z](_?[A-Za-z0-9.])*",J=`[]\\{\\}%#'"`,X=A.COMMENT("--","$"),F={begin:"\\s+:\\s+",end:"\\s*(:=|;|\\)|=>|$)",illegal:`[]\\{\\}%#'"`,contains:[{beginKeywords:"loop for declare others",endsParent:!0},{className:"keyword",beginKeywords:"not null constant access function procedure in out aliased exception"},{className:"type",begin:"[A-Za-z](_?[A-Za-z0-9.])*",endsParent:!0,relevance:0}]};return{name:"Ada",case_insensitive:!0,keywords:{keyword:"abort else new return abs elsif not reverse abstract end accept entry select access exception of separate aliased exit or some all others subtype and for out synchronized array function overriding at tagged generic package task begin goto pragma terminate body private then if procedure type case in protected constant interface is raise use declare range delay limited record when delta loop rem while digits renames with do mod requeue xor",literal:"True False"},contains:[X,{className:"string",begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{className:"string",begin:/'.'/},{className:"number",begin:I,relevance:0},{className:"symbol",begin:"'[A-Za-z](_?[A-Za-z0-9.])*"},{className:"title",begin:"(\\bwith\\s+)?(\\bprivate\\s+)?\\bpackage\\s+(\\bbody\\s+)?",end:"(is|$)",keywords:"package body",excludeBegin:!0,excludeEnd:!0,illegal:`[]\\{\\}%#'"`},{begin:"(\\b(with|overriding)\\s+)?\\b(function|procedure)\\s+",end:"(\\bis|\\bwith|\\brenames|\\)\\s*;)",keywords:"overriding function procedure with is renames return",returnBegin:!0,contains:[X,{className:"title",begin:"(\\bwith\\s+)?\\b(function|procedure)\\s+",end:"(\\(|\\s+|$)",excludeBegin:!0,excludeEnd:!0,illegal:`[]\\{\\}%#'"`},F,{className:"type",begin:"\\breturn\\s+",end:"(\\s+|;|$)",keywords:"return",excludeBegin:!0,excludeEnd:!0,endsParent:!0,illegal:`[]\\{\\}%#'"`}]},{className:"type",begin:"\\b(sub)?type\\s+",end:"\\s+",keywords:"type",excludeBegin:!0,illegal:`[]\\{\\}%#'"`},F]}}IFA.exports=OK9});var XFA=U((aq8,JFA)=>{function RK9(A){var B={className:"built_in",begin:"\\b(void|bool|int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|string|ref|array|double|float|auto|dictionary)"},Q={className:"symbol",begin:"[a-zA-Z0-9_]+@"},Z={className:"keyword",begin:"<",end:">",contains:[B,Q]};return B.contains=[Z],Q.contains=[Z],{name:"AngelScript",aliases:["asc"],keywords:"for in|0 break continue while do|0 return if else case switch namespace is cast or and xor not get|0 in inout|10 out override set|0 private public const default|0 final shared external mixin|10 enum typedef funcdef this super import from interface abstract|0 try catch protected explicit property",illegal:"(^using\\s+[A-Za-z0-9_\\.]+;$|\\bfunction\\s*[^\\(])",contains:[{className:"string",begin:"'",end:"'",illegal:"\\n",contains:[A.BACKSLASH_ESCAPE],relevance:0},{className:"string",begin:'"""',end:'"""'},{className:"string",begin:'"',end:'"',illegal:"\\n",contains:[A.BACKSLASH_ESCAPE],relevance:0},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,{className:"string",begin:"^\\s*\\[",end:"\\]"},{beginKeywords:"interface namespace",end:/\{/,illegal:"[;.\\-]",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+"}]},{beginKeywords:"class",end:/\{/,illegal:"[;.\\-]",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+",contains:[{begin:"[:,]\\s*",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+"}]}]}]},B,Q,{className:"literal",begin:"\\b(null|true|false)"},{className:"number",relevance:0,begin:"(-?)(\\b0[xXbBoOdD][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?f?|\\.\\d+f?)([eE][-+]?\\d+f?)?)"}]}}JFA.exports=RK9});var VFA=U((sq8,FFA)=>{function TK9(A){let B={className:"number",begin:/[$%]\d+/},Q={className:"number",begin:/\d+/},Z={className:"number",begin:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/},G={className:"number",begin:/:\d{1,5}/};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[A.HASH_COMMENT_MODE,{className:"section",begin:/<\/?/,end:/>/,contains:[Z,G,A.inherit(A.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:/\s\[/,end:/\]$/},{className:"variable",begin:/[\$%]\{/,end:/\}/,contains:["self",B]},Z,Q,A.QUOTE_STRING_MODE]}}],illegal:/\S/}}FFA.exports=TK9});var CFA=U((rq8,DFA)=>{function HFA(A){if(!A)return null;if(typeof A==="string")return A;return A.source}function KFA(...A){return A.map((Q)=>HFA(Q)).join("")}function zFA(...A){return"("+A.map((Q)=>HFA(Q)).join("|")+")"}function PK9(A){let B=A.inherit(A.QUOTE_STRING_MODE,{illegal:null}),Q={className:"params",begin:/\(/,end:/\)/,contains:["self",A.C_NUMBER_MODE,B]},Z=A.COMMENT(/--/,/$/),G=A.COMMENT(/\(\*/,/\*\)/,{contains:["self",Z]}),Y=[Z,G,A.HASH_COMMENT_MODE],I=[/apart from/,/aside from/,/instead of/,/out of/,/greater than/,/isn't|(doesn't|does not) (equal|come before|come after|contain)/,/(greater|less) than( or equal)?/,/(starts?|ends|begins?) with/,/contained by/,/comes (before|after)/,/a (ref|reference)/,/POSIX (file|path)/,/(date|time) string/,/quoted form/],W=[/clipboard info/,/the clipboard/,/info for/,/list (disks|folder)/,/mount volume/,/path to/,/(close|open for) access/,/(get|set) eof/,/current date/,/do shell script/,/get volume settings/,/random number/,/set volume/,/system attribute/,/system info/,/time to GMT/,/(load|run|store) script/,/scripting components/,/ASCII (character|number)/,/localized string/,/choose (application|color|file|file name|folder|from list|remote application|URL)/,/display (alert|dialog)/];return{name:"AppleScript",aliases:["osascript"],keywords:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",literal:"AppleScript false linefeed return pi quote result space tab true",built_in:"alias application boolean class constant date file integer list number real record string text activate beep count delay launch log offset read round run say summarize write character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"},contains:[B,A.C_NUMBER_MODE,{className:"built_in",begin:KFA(/\b/,zFA(...W),/\b/)},{className:"built_in",begin:/^\s*return\b/},{className:"literal",begin:/\b(text item delimiters|current application|missing value)\b/},{className:"keyword",begin:KFA(/\b/,zFA(...I),/\b/)},{beginKeywords:"on",illegal:/[${=;\n]/,contains:[A.UNDERSCORE_TITLE_MODE,Q]},...Y],illegal:/\/\/|->|=>|\[\[/}}DFA.exports=PK9});var $FA=U((oq8,UFA)=>{function jK9(A){let Q={keyword:"if for while var new function do return void else break",literal:"BackSlash DoubleQuote false ForwardSlash Infinity NaN NewLine null PI SingleQuote Tab TextFormatting true undefined",built_in:"Abs Acos Angle Attachments Area AreaGeodetic Asin Atan Atan2 Average Bearing Boolean Buffer BufferGeodetic Ceil Centroid Clip Console Constrain Contains Cos Count Crosses Cut Date DateAdd DateDiff Day Decode DefaultValue Dictionary Difference Disjoint Distance DistanceGeodetic Distinct DomainCode DomainName Equals Exp Extent Feature FeatureSet FeatureSetByAssociation FeatureSetById FeatureSetByPortalItem FeatureSetByRelationshipName FeatureSetByTitle FeatureSetByUrl Filter First Floor Geometry GroupBy Guid HasKey Hour IIf IndexOf Intersection Intersects IsEmpty IsNan IsSelfIntersecting Length LengthGeodetic Log Max Mean Millisecond Min Minute Month MultiPartToSinglePart Multipoint NextSequenceValue Now Number OrderBy Overlaps Point Polygon Polyline Portal Pow Random Relate Reverse RingIsClockWise Round Second SetGeometry Sin Sort Sqrt Stdev Sum SymmetricDifference Tan Text Timestamp Today ToLocal Top Touches ToUTC TrackCurrentTime TrackGeometryWindow TrackIndex TrackStartTime TrackWindow TypeOf Union UrlEncode Variance Weekday When Within Year "},Z={className:"symbol",begin:"\\$[datastore|feature|layer|map|measure|sourcefeature|sourcelayer|targetfeature|targetlayer|value|view]+"},G={className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:A.C_NUMBER_RE}],relevance:0},Y={className:"subst",begin:"\\$\\{",end:"\\}",keywords:Q,contains:[]},I={className:"string",begin:"`",end:"`",contains:[A.BACKSLASH_ESCAPE,Y]};Y.contains=[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,I,G,A.REGEXP_MODE];let W=Y.contains.concat([A.C_BLOCK_COMMENT_MODE,A.C_LINE_COMMENT_MODE]);return{name:"ArcGIS Arcade",keywords:Q,contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,I,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,Z,G,{begin:/[{,]\s*/,relevance:0,contains:[{begin:"[A-Za-z_][0-9A-Za-z_]*\\s*:",returnBegin:!0,relevance:0,contains:[{className:"attr",begin:"[A-Za-z_][0-9A-Za-z_]*",relevance:0}]}]},{begin:"("+A.RE_STARTERS_RE+"|\\b(return)\\b)\\s*",keywords:"return",contains:[A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,A.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|[A-Za-z_][0-9A-Za-z_]*)\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:"[A-Za-z_][0-9A-Za-z_]*"},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:Q,contains:W}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[A.inherit(A.TITLE_MODE,{begin:"[A-Za-z_][0-9A-Za-z_]*"}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:W}],illegal:/\[|%/},{begin:/\$[(.]/}],illegal:/#(?!!)/}}UFA.exports=jK9});var qFA=U((tq8,wFA)=>{function SK9(A){if(!A)return null;if(typeof A==="string")return A;return A.source}function yK9(A){return G10("(?=",A,")")}function bC1(A){return G10("(",A,")?")}function G10(...A){return A.map((Q)=>SK9(Q)).join("")}function kK9(A){let B=A.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),Q="decltype\\(auto\\)",Z="[a-zA-Z_]\\w*::",G="<[^<>]+>",Y="(decltype\\(auto\\)|"+bC1("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+bC1("<[^<>]+>")+")",I={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},W="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",J={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[A.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},A.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},X={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},F={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},A.inherit(J,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/},B,A.C_BLOCK_COMMENT_MODE]},V={className:"title",begin:bC1("[a-zA-Z_]\\w*::")+A.IDENT_RE,relevance:0},K=bC1("[a-zA-Z_]\\w*::")+A.IDENT_RE+"\\s*\\(",H={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"_Bool _Complex _Imaginary",_relevance_hints:["asin","atan2","atan","calloc","ceil","cosh","cos","exit","exp","fabs","floor","fmod","fprintf","fputs","free","frexp","auto_ptr","deque","list","queue","stack","vector","map","set","pair","bitset","multiset","multimap","unordered_set","fscanf","future","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","tolower","toupper","labs","ldexp","log10","log","malloc","realloc","memchr","memcmp","memcpy","memset","modf","pow","printf","putchar","puts","scanf","sinh","sin","snprintf","sprintf","sqrt","sscanf","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","tanh","tan","unordered_map","unordered_multiset","unordered_multimap","priority_queue","make_pair","array","shared_ptr","abort","terminate","abs","acos","vfprintf","vprintf","vsprintf","endl","initializer_list","unique_ptr","complex","imaginary","std","string","wstring","cin","cout","cerr","clog","stdin","stdout","stderr","stringstream","istringstream","ostringstream"],literal:"true false nullptr NULL"},D={className:"function.dispatch",relevance:0,keywords:H,begin:G10(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!while)/,A.IDENT_RE,yK9(/\s*\(/))},C=[D,F,I,B,A.C_BLOCK_COMMENT_MODE,X,J],w={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:H,contains:C.concat([{begin:/\(/,end:/\)/,keywords:H,contains:C.concat(["self"]),relevance:0}]),relevance:0},E={className:"function",begin:"("+Y+"[\\*&\\s]+)+"+K,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:H,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:H,relevance:0},{begin:K,returnBegin:!0,contains:[V],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[J,X]},{className:"params",begin:/\(/,end:/\)/,keywords:H,relevance:0,contains:[B,A.C_BLOCK_COMMENT_MODE,J,X,I,{begin:/\(/,end:/\)/,keywords:H,relevance:0,contains:["self",B,A.C_BLOCK_COMMENT_MODE,J,X,I]}]},I,B,A.C_BLOCK_COMMENT_MODE,F]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:H,illegal:"",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(w,E,D,C,[F,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",end:">",keywords:H,contains:["self",I]},{begin:A.IDENT_RE+"::",keywords:H},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},A.TITLE_MODE]}]),exports:{preprocessor:F,strings:J,keywords:H}}}function _K9(A){let B={keyword:"boolean byte word String",built_in:"KeyboardController MouseController SoftwareSerial EthernetServer EthernetClient LiquidCrystal RobotControl GSMVoiceCall EthernetUDP EsploraTFT HttpClient RobotMotor WiFiClient GSMScanner FileSystem Scheduler GSMServer YunClient YunServer IPAddress GSMClient GSMModem Keyboard Ethernet Console GSMBand Esplora Stepper Process WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage Client Server GSMPIN FileIO Bridge Serial EEPROM Stream Mouse Audio Servo File Task GPRS WiFi Wire TFT GSM SPI SD ",_:"setup loop runShellCommandAsynchronously analogWriteResolution retrieveCallingNumber printFirmwareVersion analogReadResolution sendDigitalPortPair noListenOnLocalhost readJoystickButton setFirmwareVersion readJoystickSwitch scrollDisplayRight getVoiceCallStatus scrollDisplayLeft writeMicroseconds delayMicroseconds beginTransmission getSignalStrength runAsynchronously getAsynchronously listenOnLocalhost getCurrentCarrier readAccelerometer messageAvailable sendDigitalPorts lineFollowConfig countryNameWrite runShellCommand readStringUntil rewindDirectory readTemperature setClockDivider readLightSensor endTransmission analogReference detachInterrupt countryNameRead attachInterrupt encryptionType readBytesUntil robotNameWrite readMicrophone robotNameRead cityNameWrite userNameWrite readJoystickY readJoystickX mouseReleased openNextFile scanNetworks noInterrupts digitalWrite beginSpeaker mousePressed isActionDone mouseDragged displayLogos noAutoscroll addParameter remoteNumber getModifiers keyboardRead userNameRead waitContinue processInput parseCommand printVersion readNetworks writeMessage blinkVersion cityNameRead readMessage setDataMode parsePacket isListening setBitOrder beginPacket isDirectory motorsWrite drawCompass digitalRead clearScreen serialEvent rightToLeft setTextSize leftToRight requestFrom keyReleased compassRead analogWrite interrupts WiFiServer disconnect playMelody parseFloat autoscroll getPINUsed setPINUsed setTimeout sendAnalog readSlider analogRead beginWrite createChar motorsStop keyPressed tempoWrite readButton subnetMask debugPrint macAddress writeGreen randomSeed attachGPRS readString sendString remotePort releaseAll mouseMoved background getXChange getYChange answerCall getResult voiceCall endPacket constrain getSocket writeJSON getButton available connected findUntil readBytes exitValue readGreen writeBlue startLoop IPAddress isPressed sendSysex pauseMode gatewayIP setCursor getOemKey tuneWrite noDisplay loadImage switchPIN onRequest onReceive changePIN playFile noBuffer parseInt overflow checkPIN knobRead beginTFT bitClear updateIR bitWrite position writeRGB highByte writeRed setSpeed readBlue noStroke remoteIP transfer shutdown hangCall beginSMS endWrite attached maintain noCursor checkReg checkPUK shiftOut isValid shiftIn pulseIn connect println localIP pinMode getIMEI display noBlink process getBand running beginSD drawBMP lowByte setBand release bitRead prepare pointTo readRed setMode noFill remove listen stroke detach attach noTone exists buffer height bitSet circle config cursor random IRread setDNS endSMS getKey micros millis begin print write ready flush width isPIN blink clear press mkdir rmdir close point yield image BSSID click delay read text move peek beep rect line open seek fill size turn stop home find step tone sqrt RSSI SSID end bit tan cos sin pow map abs max min get run put",literal:"DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL DEFAULT OUTPUT INPUT HIGH LOW"},Q=kK9(A),Z=Q.keywords;return Z.keyword+=" "+B.keyword,Z.literal+=" "+B.literal,Z.built_in+=" "+B.built_in,Z._+=" "+B._,Q.name="Arduino",Q.aliases=["ino"],Q.supersetOf="cpp",Q}wFA.exports=_K9});var NFA=U((eq8,EFA)=>{function xK9(A){let B={variants:[A.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),A.COMMENT("[;@]","$",{relevance:0}),A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+A.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},B,A.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}EFA.exports=xK9});var RFA=U((AE8,OFA)=>{function MFA(A){if(!A)return null;if(typeof A==="string")return A;return A.source}function LFA(A){return gg("(?=",A,")")}function vK9(A){return gg("(",A,")?")}function gg(...A){return A.map((Q)=>MFA(Q)).join("")}function bK9(...A){return"("+A.map((Q)=>MFA(Q)).join("|")+")"}function fK9(A){let B=gg(/[A-Z_]/,vK9(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),Q=/[A-Za-z0-9._:-]+/,Z={className:"symbol",begin:/&[a-z]+;|[0-9]+;|[a-f0-9]+;/},G={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},Y=A.inherit(G,{begin:/\(/,end:/\)/}),I=A.inherit(A.APOS_STRING_MODE,{className:"meta-string"}),W=A.inherit(A.QUOTE_STRING_MODE,{className:"meta-string"}),J={endsWithParent:!0,illegal:/,relevance:0,contains:[{className:"attr",begin:Q,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[Z]},{begin:/'/,end:/'/,contains:[Z]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin://,relevance:10,contains:[G,W,I,Y,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[G,Y,W,I]}]}]},A.COMMENT(//,{relevance:10}),{begin://,relevance:10},Z,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/ + + + +++ +++ +🤖 MEV Bot Dashboard
+Real-time monitoring of arbitrage opportunities on Arbitrum
+++ +++-+Uptime+++-+Blocks Processed+++-+Swaps Detected+++-+Arbitrage Opportunities+++-+Total Profit+++-+Success Rate+++ +🟢 System Health: Online
+All systems operational. Monitoring 8 DEX protocols on Arbitrum.
+++💰 Recent Opportunities
++++ $0.00 - Waiting for profitable opportunities... ++