@checksum-ai/runtime 4.16.2-beta.1 → 4.16.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/checksumlib.js CHANGED
@@ -74,7 +74,7 @@ https://www.w3ctech.com/topic/2226`));let u=t(...l);return u.postcssPlugin=e,u.p
74
74
  now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
75
75
  or you can use record.mirror to access the mirror instance during recording.`,db={map:{},getId(){return console.error(fi),-1},getNode(){return console.error(fi),null},removeNodeFromMap(){console.error(fi)},has(){return console.error(fi),!1},reset(){console.error(fi)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(db=new Proxy(db,{get(r,e,t){return e==="map"&&console.error(fi),Reflect.get(r,e,t)}}));function _s(r,e,t={}){let n=null,i=0;return function(...o){let l=Date.now();!i&&t.leading===!1&&(i=l);let u=e-(l-i),f=this;u<=0||u>e?(n&&(clearTimeout(n),n=null),i=l,r.apply(f,o)):!n&&t.trailing!==!1&&(n=setTimeout(()=>{i=t.leading===!1?0:Date.now(),n=null,r.apply(f,o)},u))}}a(_s,"throttle");function ml(r,e,t,n,i=window){let o=i.Object.getOwnPropertyDescriptor(r,e);return i.Object.defineProperty(r,e,n?t:{set(l){setTimeout(()=>{t.set.call(this,l)},0),o&&o.set&&o.set.call(this,l)}}),()=>ml(r,e,o||{},!0)}a(ml,"hookSetter");var Za=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(Za=a(()=>new Date().getTime(),"nowTimestamp"));function fw(r){var e,t,n,i;let o=r.document;return{left:o.scrollingElement?o.scrollingElement.scrollLeft:r.pageXOffset!==void 0?r.pageXOffset:o.documentElement.scrollLeft||o?.body&&((e=Ee.parentElement(o.body))==null?void 0:e.scrollLeft)||((t=o?.body)==null?void 0:t.scrollLeft)||0,top:o.scrollingElement?o.scrollingElement.scrollTop:r.pageYOffset!==void 0?r.pageYOffset:o?.documentElement.scrollTop||o?.body&&((n=Ee.parentElement(o.body))==null?void 0:n.scrollTop)||((i=o?.body)==null?void 0:i.scrollTop)||0}}a(fw,"getWindowScroll");function dw(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}a(dw,"getWindowHeight");function hw(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}a(hw,"getWindowWidth");function pw(r){return r?r.nodeType===r.ELEMENT_NODE?r:Ee.parentElement(r):null}a(pw,"closestElementOfNode");function Tt(r,e,t,n){if(!r)return!1;let i=pw(r);if(!i)return!1;try{if(typeof e=="string"){if(i.classList.contains(e)||n&&i.closest("."+e)!==null)return!0}else if(Pa(i,e,n))return!0}catch{}return!!(t&&(i.matches(t)||n&&i.closest(t)!==null))}a(Tt,"isBlocked");function HD(r,e){return e.getId(r)!==-1}a(HD,"isSerialized");function nf(r,e,t){return r.tagName==="TITLE"&&t.headTitleMutations?!0:e.getId(r)===xs}a(nf,"isIgnored");function mw(r,e){if(bs(r))return!1;let t=e.getId(r);if(!e.has(t))return!0;let n=Ee.parentNode(r);return n&&n.nodeType===r.DOCUMENT_NODE?!1:n?mw(n,e):!0}a(mw,"isAncestorRemoved");function Zf(r){return!!r.changedTouches}a(Zf,"legacy_isTouchEvent");function gw(r=window){"NodeList"in r&&!r.NodeList.prototype.forEach&&(r.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in r&&!r.DOMTokenList.prototype.forEach&&(r.DOMTokenList.prototype.forEach=Array.prototype.forEach)}a(gw,"polyfill$1");function $D(r){let e={},t=a((i,o)=>{let l={value:i,parent:o,children:[]};return e[i.node.id]=l,l},"putIntoMap"),n=[];for(let i of r){let{nextId:o,parentId:l}=i;if(o&&o in e){let u=e[o];if(u.parent){let f=u.parent.children.indexOf(u);u.parent.children.splice(f,0,t(i,u.parent))}else{let f=n.indexOf(u);n.splice(f,0,t(i,null))}continue}if(l in e){let u=e[l];u.children.push(t(i,u));continue}n.push(t(i,null))}return n}a($D,"queueToResolveTrees");function yw(r,e){e(r.value);for(let t=r.children.length-1;t>=0;t--)yw(r.children[t],e)}a(yw,"iterateResolveTree");function Ss(r,e){return!!(r.nodeName==="IFRAME"&&e.getMeta(r))}a(Ss,"isSerializedIframe");function bw(r,e){return!!(r.nodeName==="LINK"&&r.nodeType===r.ELEMENT_NODE&&r.getAttribute&&r.getAttribute("rel")==="stylesheet"&&e.getMeta(r))}a(bw,"isSerializedStylesheet");function Ew(r,e){var t,n;let i=(n=(t=r.ownerDocument)==null?void 0:t.defaultView)==null?void 0:n.frameElement;if(!i||i===e)return{x:0,y:0,relativeScale:1,absoluteScale:1};let o=i.getBoundingClientRect(),l=Ew(i,e),u=o.height/i.clientHeight;return{x:o.x*l.relativeScale+l.x,y:o.y*l.relativeScale+l.y,relativeScale:u,absoluteScale:l.absoluteScale*u}}a(Ew,"getBaseDimension");function Rn(r){return r?r instanceof or&&"shadowRoot"in r?!!r.shadowRoot:!!Ee.shadowRoot(r):!1}a(Rn,"hasShadowRoot");function gs(r,e){let t=r[e[0]];return e.length===1?t:gs(t.cssRules[e[1]].cssRules,e.slice(2))}a(gs,"getNestedRule");function hb(r){let e=[...r],t=e.pop();return{positions:e,index:t}}a(hb,"getPositionsAndIndex");function BD(r){let e=new Set,t=[];for(let n=r.length;n--;){let i=r[n];e.has(i.id)||(t.push(i),e.add(i.id))}return t}a(BD,"uniqueTextMutations");var Ja=class{static{a(this,"StyleSheetMirror")}constructor(){$(this,"id",1),$(this,"styleIDMap",new WeakMap),$(this,"idStyleMap",new Map)}getId(e){return this.styleIDMap.get(e)??-1}has(e){return this.styleIDMap.has(e)}add(e,t){if(this.has(e))return this.getId(e);let n;return t===void 0?n=this.id++:n=t,this.styleIDMap.set(e,n),this.idStyleMap.set(n,e),n}getStyle(e){return this.idStyleMap.get(e)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function ww(r){var e;let t=null;return"getRootNode"in r&&((e=Ee.getRootNode(r))==null?void 0:e.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&Ee.host(Ee.getRootNode(r))&&(t=Ee.host(Ee.getRootNode(r))),t}a(ww,"getShadowHost");function WD(r){let e=r,t;for(;t=ww(e);)e=t;return e}a(WD,"getRootShadowHost");function VD(r){let e=r.ownerDocument;if(!e)return!1;let t=WD(r);return Ee.contains(e,t)}a(VD,"shadowHostInDom");function Sw(r){let e=r.ownerDocument;return e?Ee.contains(e,r)||VD(r):!1}a(Sw,"inDom");var Y=(r=>(r[r.DomContentLoaded=0]="DomContentLoaded",r[r.Load=1]="Load",r[r.FullSnapshot=2]="FullSnapshot",r[r.IncrementalSnapshot=3]="IncrementalSnapshot",r[r.Meta=4]="Meta",r[r.Custom=5]="Custom",r[r.Plugin=6]="Plugin",r))(Y||{}),z=(r=>(r[r.Mutation=0]="Mutation",r[r.MouseMove=1]="MouseMove",r[r.MouseInteraction=2]="MouseInteraction",r[r.Scroll=3]="Scroll",r[r.ViewportResize=4]="ViewportResize",r[r.Input=5]="Input",r[r.TouchMove=6]="TouchMove",r[r.MediaInteraction=7]="MediaInteraction",r[r.StyleSheetRule=8]="StyleSheetRule",r[r.CanvasMutation=9]="CanvasMutation",r[r.Font=10]="Font",r[r.Log=11]="Log",r[r.Drag=12]="Drag",r[r.StyleDeclaration=13]="StyleDeclaration",r[r.Selection=14]="Selection",r[r.AdoptedStyleSheet=15]="AdoptedStyleSheet",r[r.CustomElement=16]="CustomElement",r))(z||{}),re=(r=>(r[r.MouseUp=0]="MouseUp",r[r.MouseDown=1]="MouseDown",r[r.Click=2]="Click",r[r.ContextMenu=3]="ContextMenu",r[r.DblClick=4]="DblClick",r[r.Focus=5]="Focus",r[r.Blur=6]="Blur",r[r.TouchStart=7]="TouchStart",r[r.TouchMove_Departed=8]="TouchMove_Departed",r[r.TouchEnd=9]="TouchEnd",r[r.TouchCancel=10]="TouchCancel",r))(re||{}),kr=(r=>(r[r.Mouse=0]="Mouse",r[r.Pen=1]="Pen",r[r.Touch=2]="Touch",r))(kr||{}),$r=(r=>(r[r["2D"]=0]="2D",r[r.WebGL=1]="WebGL",r[r.WebGL2=2]="WebGL2",r))($r||{}),tn=(r=>(r[r.Play=0]="Play",r[r.Pause=1]="Pause",r[r.Seeked=2]="Seeked",r[r.VolumeChange=3]="VolumeChange",r[r.RateChange=4]="RateChange",r))(tn||{}),ve=(r=>(r.Start="start",r.Pause="pause",r.Resume="resume",r.Resize="resize",r.Finish="finish",r.FullsnapshotRebuilded="fullsnapshot-rebuilded",r.LoadStylesheetStart="load-stylesheet-start",r.LoadStylesheetEnd="load-stylesheet-end",r.SkipStart="skip-start",r.SkipEnd="skip-end",r.MouseInteraction="mouse-interaction",r.EventCast="event-cast",r.CustomEvent="custom-event",r.Flush="flush",r.StateChange="state-change",r.PlayBack="play-back",r.Destroy="destroy",r))(ve||{}),Pr=(r=>(r[r.Document=0]="Document",r[r.DocumentType=1]="DocumentType",r[r.Element=2]="Element",r[r.Text=3]="Text",r[r.CDATA=4]="CDATA",r[r.Comment=5]="Comment",r))(Pr||{});function pb(r){return"__ln"in r}a(pb,"isNodeInLinkedList");var Jf=class{static{a(this,"DoubleLinkedList")}constructor(){$(this,"length",0),$(this,"head",null),$(this,"tail",null)}get(e){if(e>=this.length)throw new Error("Position outside of list range");let t=this.head;for(let n=0;n<e;n++)t=t?.next||null;return t}addNode(e){let t={value:e,previous:null,next:null};if(e.__ln=t,e.previousSibling&&pb(e.previousSibling)){let n=e.previousSibling.__ln.next;t.next=n,t.previous=e.previousSibling.__ln,e.previousSibling.__ln.next=t,n&&(n.previous=t)}else if(e.nextSibling&&pb(e.nextSibling)&&e.nextSibling.__ln.previous){let n=e.nextSibling.__ln.previous;t.previous=n,t.next=e.nextSibling.__ln,e.nextSibling.__ln.previous=t,n&&(n.next=t)}else this.head&&(this.head.previous=t),t.next=this.head,this.head=t;t.next===null&&(this.tail=t),this.length++}removeNode(e){let t=e.__ln;this.head&&(t.previous?(t.previous.next=t.next,t.next?t.next.previous=t.previous:this.tail=t.previous):(this.head=t.next,this.head?this.head.previous=null:this.tail=null),e.__ln&&delete e.__ln,this.length--)}},mb=a((r,e)=>`${r}@${e}`,"moveKey"),Qf=class{static{a(this,"MutationBuffer")}constructor(){$(this,"frozen",!1),$(this,"locked",!1),$(this,"texts",[]),$(this,"attributes",[]),$(this,"attributeMap",new WeakMap),$(this,"removes",[]),$(this,"mapRemoves",[]),$(this,"movedMap",{}),$(this,"addedSet",new Set),$(this,"movedSet",new Set),$(this,"droppedSet",new Set),$(this,"removesSubTreeCache",new Set),$(this,"mutationCb"),$(this,"blockClass"),$(this,"blockSelector"),$(this,"maskTextClass"),$(this,"maskTextSelector"),$(this,"inlineStylesheet"),$(this,"maskInputOptions"),$(this,"maskTextFn"),$(this,"maskInputFn"),$(this,"keepIframeSrcFn"),$(this,"recordCanvas"),$(this,"inlineImages"),$(this,"slimDOMOptions"),$(this,"dataURLOptions"),$(this,"doc"),$(this,"mirror"),$(this,"iframeManager"),$(this,"stylesheetManager"),$(this,"shadowDomManager"),$(this,"canvasManager"),$(this,"processedNodeManager"),$(this,"unattachedDoc"),$(this,"processMutations",e=>{e.forEach(this.processMutation),this.emit()}),$(this,"emit",()=>{if(this.frozen||this.locked)return;let e=[],t=new Set,n=new Jf,i=a(f=>{let d=f,p=xs;for(;p===xs;)d=d&&d.nextSibling,p=d&&this.mirror.getId(d);return p},"getNextId"),o=a(f=>{let d=Ee.parentNode(f);if(!d||!Sw(f))return;let p=!1;if(f.nodeType===Node.TEXT_NODE){let E=d.tagName;if(E==="TEXTAREA")return;E==="STYLE"&&this.addedSet.has(d)&&(p=!0)}let g=bs(d)?this.mirror.getId(ww(f)):this.mirror.getId(d),m=i(f);if(g===-1||m===-1)return n.addNode(f);let b=pi(f,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:a(E=>{Ss(E,this.mirror)&&this.iframeManager.addIframe(E),bw(E,this.mirror)&&this.stylesheetManager.trackLinkElement(E),Rn(f)&&this.shadowDomManager.addShadowRoot(Ee.shadowRoot(f),this.doc)},"onSerialize"),onIframeLoad:a((E,w)=>{this.iframeManager.attachIframe(E,w),this.shadowDomManager.observeAttachShadow(E)},"onIframeLoad"),onStylesheetLoad:a((E,w)=>{this.stylesheetManager.attachLinkElement(E,w)},"onStylesheetLoad"),cssCaptured:p});b&&(e.push({parentId:g,nextId:m,node:b}),t.add(b.id))},"pushAdd");for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let f of this.movedSet)gb(this.removesSubTreeCache,f,this.mirror)&&!this.movedSet.has(Ee.parentNode(f))||o(f);for(let f of this.addedSet)!yb(this.droppedSet,f)&&!gb(this.removesSubTreeCache,f,this.mirror)||yb(this.movedSet,f)?o(f):this.droppedSet.add(f);let l=null;for(;n.length;){let f=null;if(l){let d=this.mirror.getId(Ee.parentNode(l.value)),p=i(l.value);d!==-1&&p!==-1&&(f=l)}if(!f){let d=n.tail;for(;d;){let p=d;if(d=d.previous,p){let g=this.mirror.getId(Ee.parentNode(p.value));if(i(p.value)===-1)continue;if(g!==-1){f=p;break}else{let b=p.value,E=Ee.parentNode(b);if(E&&E.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let w=Ee.host(E);if(this.mirror.getId(w)!==-1){f=p;break}}}}}}if(!f){for(;n.head;)n.removeNode(n.head.value);break}l=f.previous,n.removeNode(f.value),o(f.value)}let u={texts:this.texts.map(f=>{let d=f.node,p=Ee.parentNode(d);return p&&p.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(p),{id:this.mirror.getId(d),value:f.value}}).filter(f=>!t.has(f.id)).filter(f=>this.mirror.has(f.id)),attributes:this.attributes.map(f=>{let{attributes:d}=f;if(typeof d.style=="string"){let p=JSON.stringify(f.styleDiff),g=JSON.stringify(f._unchangedStyles);p.length<d.style.length&&(p+g).split("var(").length===d.style.split("var(").length&&(d.style=f.styleDiff)}return{id:this.mirror.getId(f.node),attributes:d}}).filter(f=>!t.has(f.id)).filter(f=>this.mirror.has(f.id)),removes:this.removes,adds:e};!u.texts.length&&!u.attributes.length&&!u.removes.length&&!u.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(u))}),$(this,"genTextAreaValueMutation",e=>{let t=this.attributeMap.get(e);t||(t={node:e,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(t),this.attributeMap.set(e,t));let n=Array.from(Ee.childNodes(e),i=>Ee.textContent(i)||"").join("");t.attributes.value=_a({element:e,maskInputOptions:this.maskInputOptions,tagName:e.tagName,type:Da(e),value:n,maskInputFn:this.maskInputFn})}),$(this,"processMutation",e=>{if(!nf(e.target,this.mirror,this.slimDOMOptions))switch(e.type){case"characterData":{let t=Ee.textContent(e.target);!Tt(e.target,this.blockClass,this.blockSelector,!1)&&t!==e.oldValue&&this.texts.push({value:$b(e.target,this.maskTextClass,this.maskTextSelector,!0)&&t?this.maskTextFn?this.maskTextFn(t,pw(e.target)):t.replace(/[\S]/g,"*"):t,node:e.target});break}case"attributes":{let t=e.target,n=e.attributeName,i=e.target.getAttribute(n);if(n==="value"){let l=Da(t);i=_a({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:l,value:i,maskInputFn:this.maskInputFn})}if(Tt(e.target,this.blockClass,this.blockSelector,!1)||i===e.oldValue)return;let o=this.attributeMap.get(e.target);if(t.tagName==="IFRAME"&&n==="src"&&!this.keepIframeSrcFn(i))if(!t.contentDocument)n="rr_src";else return;if(o||(o={node:e.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(o),this.attributeMap.set(e.target,o)),n==="type"&&t.tagName==="INPUT"&&(e.oldValue||"").toLowerCase()==="password"&&t.setAttribute("data-rr-is-password","true"),!Hb(t.tagName,n))if(o.attributes[n]=Fb(this.doc,nn(t.tagName),nn(n),i),n==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let l=this.unattachedDoc.createElement("span");e.oldValue&&l.setAttribute("style",e.oldValue);for(let u of Array.from(t.style)){let f=t.style.getPropertyValue(u),d=t.style.getPropertyPriority(u);f!==l.style.getPropertyValue(u)||d!==l.style.getPropertyPriority(u)?d===""?o.styleDiff[u]=f:o.styleDiff[u]=[f,d]:o._unchangedStyles[u]=[f,d]}for(let u of Array.from(l.style))t.style.getPropertyValue(u)===""&&(o.styleDiff[u]=!1)}else n==="open"&&t.tagName==="DIALOG"&&(t.matches("dialog:modal")?o.attributes.rr_open_mode="modal":o.attributes.rr_open_mode="non-modal");break}case"childList":{if(Tt(e.target,this.blockClass,this.blockSelector,!0))return;if(e.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(e.target);return}e.addedNodes.forEach(t=>this.genAdds(t,e.target)),e.removedNodes.forEach(t=>{let n=this.mirror.getId(t),i=bs(e.target)?this.mirror.getId(Ee.host(e.target)):this.mirror.getId(e.target);Tt(e.target,this.blockClass,this.blockSelector,!1)||nf(t,this.mirror,this.slimDOMOptions)||!HD(t,this.mirror)||(this.addedSet.has(t)?(ed(this.addedSet,t),this.droppedSet.add(t)):this.addedSet.has(e.target)&&n===-1||mw(e.target,this.mirror)||(this.movedSet.has(t)&&this.movedMap[mb(n,i)]?ed(this.movedSet,t):(this.removes.push({parentId:i,id:n,isShadow:bs(e.target)&&Es(e.target)?!0:void 0}),UD(t,this.removesSubTreeCache))),this.mapRemoves.push(t))});break}}}),$(this,"genAdds",(e,t)=>{if(!this.processedNodeManager.inOtherBuffer(e,this)&&!(this.addedSet.has(e)||this.movedSet.has(e))){if(this.mirror.hasNode(e)){if(nf(e,this.mirror,this.slimDOMOptions))return;this.movedSet.add(e);let n=null;t&&this.mirror.hasNode(t)&&(n=this.mirror.getId(t)),n&&n!==-1&&(this.movedMap[mb(this.mirror.getId(e),n)]=!0)}else this.addedSet.add(e),this.droppedSet.delete(e);Tt(e,this.blockClass,this.blockSelector,!1)||(Ee.childNodes(e).forEach(n=>this.genAdds(n)),Rn(e)&&Ee.childNodes(Ee.shadowRoot(e)).forEach(n=>{this.processedNodeManager.add(n,this),this.genAdds(n,e)}))}})}init(e){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(t=>{this[t]=e[t]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}};function ed(r,e){r.delete(e),Ee.childNodes(e).forEach(t=>ed(r,t))}a(ed,"deepDelete");function UD(r,e){let t=[r];for(;t.length;){let n=t.pop();e.has(n)||(e.add(n),Ee.childNodes(n).forEach(i=>t.push(i)))}}a(UD,"processRemoves");function gb(r,e,t){return r.size===0?!1:zD(r,e)}a(gb,"isParentRemoved");function zD(r,e,t){let n=Ee.parentNode(e);return n?r.has(n):!1}a(zD,"_isParentRemoved");function yb(r,e){return r.size===0?!1:vw(r,e)}a(yb,"isAncestorInSet");function vw(r,e){let t=Ee.parentNode(e);return t?r.has(t)?!0:vw(r,t):!1}a(vw,"_isAncestorInSet");var vs;function GD(r){vs=r}a(GD,"registerErrorHandler");function qD(){vs=void 0}a(qD,"unregisterErrorHandler");var xe=a(r=>vs?a((...t)=>{try{return r(...t)}catch(n){if(vs&&vs(n)===!0)return;throw n}},"rrwebWrapped"):r,"callbackWrapper"),In=[];function Hs(r){try{if("composedPath"in r){let e=r.composedPath();if(e.length)return e[0]}else if("path"in r&&r.path.length)return r.path[0]}catch{}return r&&r.target}a(Hs,"getEventTarget");function Cw(r,e){let t=new Qf;In.push(t),t.init(r);let n=new(uw())(xe(t.processMutations.bind(t)));return n.observe(e,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),n}a(Cw,"initMutationObserver");function jD({mousemoveCb:r,sampling:e,doc:t,mirror:n}){if(e.mousemove===!1)return()=>{};let i=typeof e.mousemove=="number"?e.mousemove:50,o=typeof e.mousemoveCallback=="number"?e.mousemoveCallback:500,l=[],u,f=_s(xe(g=>{let m=Date.now()-u;r(l.map(b=>(b.timeOffset-=m,b)),g),l=[],u=null}),o),d=xe(_s(xe(g=>{let m=Hs(g),{clientX:b,clientY:E}=Zf(g)?g.changedTouches[0]:g;u||(u=Za()),l.push({x:b,y:E,id:n.getId(m),timeOffset:Za()-u}),f(typeof DragEvent<"u"&&g instanceof DragEvent?z.Drag:g instanceof MouseEvent?z.MouseMove:z.TouchMove)}),i,{trailing:!1})),p=[Mt("mousemove",d,t),Mt("touchmove",d,t),Mt("drag",d,t)];return xe(()=>{p.forEach(g=>g())})}a(jD,"initMoveObserver");function YD({mouseInteractionCb:r,doc:e,mirror:t,blockClass:n,blockSelector:i,sampling:o}){if(o.mouseInteraction===!1)return()=>{};let l=o.mouseInteraction===!0||o.mouseInteraction===void 0?{}:o.mouseInteraction,u=[],f=null,d=a(p=>g=>{let m=Hs(g);if(Tt(m,n,i,!0))return;let b=null,E=p;if("pointerType"in g){switch(g.pointerType){case"mouse":b=kr.Mouse;break;case"touch":b=kr.Touch;break;case"pen":b=kr.Pen;break}b===kr.Touch?re[p]===re.MouseDown?E="TouchStart":re[p]===re.MouseUp&&(E="TouchEnd"):kr.Pen}else Zf(g)&&(b=kr.Touch);b!==null?(f=b,(E.startsWith("Touch")&&b===kr.Touch||E.startsWith("Mouse")&&b===kr.Mouse)&&(b=null)):re[p]===re.Click&&(b=f,f=null);let w=Zf(g)?g.changedTouches[0]:g;if(!w)return;let S=t.getId(m),{clientX:x,clientY:R}=w;xe(r)({type:re[E],id:S,x,y:R,...b!==null&&{pointerType:b}})},"getHandler");return Object.keys(re).filter(p=>Number.isNaN(Number(p))&&!p.endsWith("_Departed")&&l[p]!==!1).forEach(p=>{let g=nn(p),m=d(p);if(window.PointerEvent)switch(re[p]){case re.MouseDown:case re.MouseUp:g=g.replace("mouse","pointer");break;case re.TouchStart:case re.TouchEnd:return}u.push(Mt(g,m,e))}),xe(()=>{u.forEach(p=>p())})}a(YD,"initMouseInteractionObserver");function xw({scrollCb:r,doc:e,mirror:t,blockClass:n,blockSelector:i,sampling:o}){let l=xe(_s(xe(u=>{let f=Hs(u);if(!f||Tt(f,n,i,!0))return;let d=t.getId(f);if(f===e&&e.defaultView){let p=fw(e.defaultView);r({id:d,x:p.left,y:p.top})}else r({id:d,x:f.scrollLeft,y:f.scrollTop})}),o.scroll||100));return Mt("scroll",l,e)}a(xw,"initScrollObserver");function KD({viewportResizeCb:r},{win:e}){let t=-1,n=-1,i=xe(_s(xe(()=>{let o=dw(),l=hw();(t!==o||n!==l)&&(r({width:Number(l),height:Number(o)}),t=o,n=l)}),200));return Mt("resize",i,e)}a(KD,"initViewportResizeObserver");var XD=["INPUT","TEXTAREA","SELECT"],bb=new WeakMap;function ZD({inputCb:r,doc:e,mirror:t,blockClass:n,blockSelector:i,ignoreClass:o,ignoreSelector:l,maskInputOptions:u,maskInputFn:f,sampling:d,userTriggeredOnInput:p}){function g(R){let M=Hs(R),A=R.isTrusted,O=M&&M.tagName;if(M&&O==="OPTION"&&(M=Ee.parentElement(M)),!M||!O||XD.indexOf(O)<0||Tt(M,n,i,!0)||M.classList.contains(o)||l&&M.matches(l))return;let N=M.value,P=!1,U=Da(M)||"";U==="radio"||U==="checkbox"?P=M.checked:(u[O.toLowerCase()]||u[U])&&(N=_a({element:M,maskInputOptions:u,tagName:O,type:U,value:N,maskInputFn:f})),m(M,p?{text:N,isChecked:P,userTriggered:A}:{text:N,isChecked:P});let K=M.name;U==="radio"&&K&&P&&e.querySelectorAll(`input[type="radio"][name="${K}"]`).forEach(q=>{if(q!==M){let he=q.value;m(q,p?{text:he,isChecked:!P,userTriggered:!1}:{text:he,isChecked:!P})}})}a(g,"eventHandler");function m(R,M){let A=bb.get(R);if(!A||A.text!==M.text||A.isChecked!==M.isChecked){bb.set(R,M);let O=t.getId(R);xe(r)({...M,id:O})}}a(m,"cbWithDedup");let E=(d.input==="last"?["change"]:["input","change"]).map(R=>Mt(R,xe(g),e)),w=e.defaultView;if(!w)return()=>{E.forEach(R=>R())};let S=w.Object.getOwnPropertyDescriptor(w.HTMLInputElement.prototype,"value"),x=[[w.HTMLInputElement.prototype,"value"],[w.HTMLInputElement.prototype,"checked"],[w.HTMLSelectElement.prototype,"value"],[w.HTMLTextAreaElement.prototype,"value"],[w.HTMLSelectElement.prototype,"selectedIndex"],[w.HTMLOptionElement.prototype,"selected"]];return S&&S.set&&E.push(...x.map(R=>ml(R[0],R[1],{set(){xe(g)({target:this,isTrusted:!1})}},!1,w))),xe(()=>{E.forEach(R=>R())})}a(ZD,"initInputObserver");function Qa(r){let e=[];function t(n,i){if(xa("CSSGroupingRule")&&n.parentRule instanceof CSSGroupingRule||xa("CSSMediaRule")&&n.parentRule instanceof CSSMediaRule||xa("CSSSupportsRule")&&n.parentRule instanceof CSSSupportsRule||xa("CSSConditionRule")&&n.parentRule instanceof CSSConditionRule){let l=Array.from(n.parentRule.cssRules).indexOf(n);i.unshift(l)}else if(n.parentStyleSheet){let l=Array.from(n.parentStyleSheet.cssRules).indexOf(n);i.unshift(l)}return i}return a(t,"recurse"),t(r,e)}a(Qa,"getNestedCSSRulePositions");function en(r,e,t){let n,i;return r?(r.ownerNode?n=e.getId(r.ownerNode):i=t.getId(r),{styleId:i,id:n}):{}}a(en,"getIdAndStyleId");function JD({styleSheetRuleCb:r,mirror:e,stylesheetManager:t},{win:n}){if(!n.CSSStyleSheet||!n.CSSStyleSheet.prototype)return()=>{};let i=n.CSSStyleSheet.prototype.insertRule;n.CSSStyleSheet.prototype.insertRule=new Proxy(i,{apply:xe((p,g,m)=>{let[b,E]=m,{id:w,styleId:S}=en(g,e,t.styleMirror);return(w&&w!==-1||S&&S!==-1)&&r({id:w,styleId:S,adds:[{rule:b,index:E}]}),p.apply(g,m)})}),n.CSSStyleSheet.prototype.addRule=function(p,g,m=this.cssRules.length){let b=`${p} { ${g} }`;return n.CSSStyleSheet.prototype.insertRule.apply(this,[b,m])};let o=n.CSSStyleSheet.prototype.deleteRule;n.CSSStyleSheet.prototype.deleteRule=new Proxy(o,{apply:xe((p,g,m)=>{let[b]=m,{id:E,styleId:w}=en(g,e,t.styleMirror);return(E&&E!==-1||w&&w!==-1)&&r({id:E,styleId:w,removes:[{index:b}]}),p.apply(g,m)})}),n.CSSStyleSheet.prototype.removeRule=function(p){return n.CSSStyleSheet.prototype.deleteRule.apply(this,[p])};let l;n.CSSStyleSheet.prototype.replace&&(l=n.CSSStyleSheet.prototype.replace,n.CSSStyleSheet.prototype.replace=new Proxy(l,{apply:xe((p,g,m)=>{let[b]=m,{id:E,styleId:w}=en(g,e,t.styleMirror);return(E&&E!==-1||w&&w!==-1)&&r({id:E,styleId:w,replace:b}),p.apply(g,m)})}));let u;n.CSSStyleSheet.prototype.replaceSync&&(u=n.CSSStyleSheet.prototype.replaceSync,n.CSSStyleSheet.prototype.replaceSync=new Proxy(u,{apply:xe((p,g,m)=>{let[b]=m,{id:E,styleId:w}=en(g,e,t.styleMirror);return(E&&E!==-1||w&&w!==-1)&&r({id:E,styleId:w,replaceSync:b}),p.apply(g,m)})}));let f={};Ma("CSSGroupingRule")?f.CSSGroupingRule=n.CSSGroupingRule:(Ma("CSSMediaRule")&&(f.CSSMediaRule=n.CSSMediaRule),Ma("CSSConditionRule")&&(f.CSSConditionRule=n.CSSConditionRule),Ma("CSSSupportsRule")&&(f.CSSSupportsRule=n.CSSSupportsRule));let d={};return Object.entries(f).forEach(([p,g])=>{d[p]={insertRule:g.prototype.insertRule,deleteRule:g.prototype.deleteRule},g.prototype.insertRule=new Proxy(d[p].insertRule,{apply:xe((m,b,E)=>{let[w,S]=E,{id:x,styleId:R}=en(b.parentStyleSheet,e,t.styleMirror);return(x&&x!==-1||R&&R!==-1)&&r({id:x,styleId:R,adds:[{rule:w,index:[...Qa(b),S||0]}]}),m.apply(b,E)})}),g.prototype.deleteRule=new Proxy(d[p].deleteRule,{apply:xe((m,b,E)=>{let[w]=E,{id:S,styleId:x}=en(b.parentStyleSheet,e,t.styleMirror);return(S&&S!==-1||x&&x!==-1)&&r({id:S,styleId:x,removes:[{index:[...Qa(b),w]}]}),m.apply(b,E)})})}),xe(()=>{n.CSSStyleSheet.prototype.insertRule=i,n.CSSStyleSheet.prototype.deleteRule=o,l&&(n.CSSStyleSheet.prototype.replace=l),u&&(n.CSSStyleSheet.prototype.replaceSync=u),Object.entries(f).forEach(([p,g])=>{g.prototype.insertRule=d[p].insertRule,g.prototype.deleteRule=d[p].deleteRule})})}a(JD,"initStyleSheetObserver");function Mw({mirror:r,stylesheetManager:e},t){var n,i,o;let l=null;t.nodeName==="#document"?l=r.getId(t):l=r.getId(Ee.host(t));let u=t.nodeName==="#document"?(n=t.defaultView)==null?void 0:n.Document:(o=(i=t.ownerDocument)==null?void 0:i.defaultView)==null?void 0:o.ShadowRoot,f=u?.prototype?Object.getOwnPropertyDescriptor(u?.prototype,"adoptedStyleSheets"):void 0;return l===null||l===-1||!u||!f?()=>{}:(Object.defineProperty(t,"adoptedStyleSheets",{configurable:f.configurable,enumerable:f.enumerable,get(){var d;return(d=f.get)==null?void 0:d.call(this)},set(d){var p;let g=(p=f.set)==null?void 0:p.call(this,d);if(l!==null&&l!==-1)try{e.adoptStyleSheets(d,l)}catch{}return g}}),xe(()=>{Object.defineProperty(t,"adoptedStyleSheets",{configurable:f.configurable,enumerable:f.enumerable,get:f.get,set:f.set})}))}a(Mw,"initAdoptedStyleSheetObserver");function QD({styleDeclarationCb:r,mirror:e,ignoreCSSAttributes:t,stylesheetManager:n},{win:i}){let o=i.CSSStyleDeclaration.prototype.setProperty;i.CSSStyleDeclaration.prototype.setProperty=new Proxy(o,{apply:xe((u,f,d)=>{var p;let[g,m,b]=d;if(t.has(g))return o.apply(f,[g,m,b]);let{id:E,styleId:w}=en((p=f.parentRule)==null?void 0:p.parentStyleSheet,e,n.styleMirror);return(E&&E!==-1||w&&w!==-1)&&r({id:E,styleId:w,set:{property:g,value:m,priority:b},index:Qa(f.parentRule)}),u.apply(f,d)})});let l=i.CSSStyleDeclaration.prototype.removeProperty;return i.CSSStyleDeclaration.prototype.removeProperty=new Proxy(l,{apply:xe((u,f,d)=>{var p;let[g]=d;if(t.has(g))return l.apply(f,[g]);let{id:m,styleId:b}=en((p=f.parentRule)==null?void 0:p.parentStyleSheet,e,n.styleMirror);return(m&&m!==-1||b&&b!==-1)&&r({id:m,styleId:b,remove:{property:g},index:Qa(f.parentRule)}),u.apply(f,d)})}),xe(()=>{i.CSSStyleDeclaration.prototype.setProperty=o,i.CSSStyleDeclaration.prototype.removeProperty=l})}a(QD,"initStyleDeclarationObserver");function ek({mediaInteractionCb:r,blockClass:e,blockSelector:t,mirror:n,sampling:i,doc:o}){let l=xe(f=>_s(xe(d=>{let p=Hs(d);if(!p||Tt(p,e,t,!0))return;let{currentTime:g,volume:m,muted:b,playbackRate:E,loop:w}=p;r({type:f,id:n.getId(p),currentTime:g,volume:m,muted:b,playbackRate:E,loop:w})}),i.media||500)),u=[Mt("play",l(tn.Play),o),Mt("pause",l(tn.Pause),o),Mt("seeked",l(tn.Seeked),o),Mt("volumechange",l(tn.VolumeChange),o),Mt("ratechange",l(tn.RateChange),o)];return xe(()=>{u.forEach(f=>f())})}a(ek,"initMediaInteractionObserver");function tk({fontCb:r,doc:e}){let t=e.defaultView;if(!t)return()=>{};let n=[],i=new WeakMap,o=t.FontFace;t.FontFace=a(function(f,d,p){let g=new o(f,d,p);return i.set(g,{family:f,buffer:typeof d!="string",descriptors:p,fontSource:typeof d=="string"?d:JSON.stringify(Array.from(new Uint8Array(d)))}),g},"FontFace2");let l=On(e.fonts,"add",function(u){return function(f){return setTimeout(xe(()=>{let d=i.get(f);d&&(r(d),i.delete(f))}),0),u.apply(this,[f])}});return n.push(()=>{t.FontFace=o}),n.push(l),xe(()=>{n.forEach(u=>u())})}a(tk,"initFontObserver");function rk(r){let{doc:e,mirror:t,blockClass:n,blockSelector:i,selectionCb:o}=r,l=!0,u=xe(()=>{let f=e.getSelection();if(!f||l&&f?.isCollapsed)return;l=f.isCollapsed||!1;let d=[],p=f.rangeCount||0;for(let g=0;g<p;g++){let m=f.getRangeAt(g),{startContainer:b,startOffset:E,endContainer:w,endOffset:S}=m;Tt(b,n,i,!0)||Tt(w,n,i,!0)||d.push({start:t.getId(b),startOffset:E,end:t.getId(w),endOffset:S})}o({ranges:d})});return u(),Mt("selectionchange",u)}a(rk,"initSelectionObserver");function nk({doc:r,customElementCb:e}){let t=r.defaultView;return!t||!t.customElements?()=>{}:On(t.customElements,"define",function(i){return function(o,l,u){try{e({define:{name:o}})}catch{console.warn(`Custom element callback failed for ${o}`)}return i.apply(this,[o,l,u])}})}a(nk,"initCustomElementObserver");function ik(r,e){let{mutationCb:t,mousemoveCb:n,mouseInteractionCb:i,scrollCb:o,viewportResizeCb:l,inputCb:u,mediaInteractionCb:f,styleSheetRuleCb:d,styleDeclarationCb:p,canvasMutationCb:g,fontCb:m,selectionCb:b,customElementCb:E}=r;r.mutationCb=(...w)=>{e.mutation&&e.mutation(...w),t(...w)},r.mousemoveCb=(...w)=>{e.mousemove&&e.mousemove(...w),n(...w)},r.mouseInteractionCb=(...w)=>{e.mouseInteraction&&e.mouseInteraction(...w),i(...w)},r.scrollCb=(...w)=>{e.scroll&&e.scroll(...w),o(...w)},r.viewportResizeCb=(...w)=>{e.viewportResize&&e.viewportResize(...w),l(...w)},r.inputCb=(...w)=>{e.input&&e.input(...w),u(...w)},r.mediaInteractionCb=(...w)=>{e.mediaInteaction&&e.mediaInteaction(...w),f(...w)},r.styleSheetRuleCb=(...w)=>{e.styleSheetRule&&e.styleSheetRule(...w),d(...w)},r.styleDeclarationCb=(...w)=>{e.styleDeclaration&&e.styleDeclaration(...w),p(...w)},r.canvasMutationCb=(...w)=>{e.canvasMutation&&e.canvasMutation(...w),g(...w)},r.fontCb=(...w)=>{e.font&&e.font(...w),m(...w)},r.selectionCb=(...w)=>{e.selection&&e.selection(...w),b(...w)},r.customElementCb=(...w)=>{e.customElement&&e.customElement(...w),E(...w)}}a(ik,"mergeHooks");function sk(r,e={}){let t=r.doc.defaultView;if(!t)return()=>{};ik(r,e);let n;r.recordDOM&&(n=Cw(r,r.doc));let i=jD(r),o=YD(r),l=xw(r),u=KD(r,{win:t}),f=ZD(r),d=ek(r),p=a(()=>{},"styleSheetObserver"),g=a(()=>{},"adoptedStyleSheetObserver"),m=a(()=>{},"styleDeclarationObserver"),b=a(()=>{},"fontObserver");r.recordDOM&&(p=JD(r,{win:t}),g=Mw(r,r.doc),m=QD(r,{win:t}),r.collectFonts&&(b=tk(r)));let E=rk(r),w=nk(r),S=[];for(let x of r.plugins)S.push(x.observer(x.callback,t,x.options));return xe(()=>{In.forEach(x=>x.reset()),n?.disconnect(),i(),o(),l(),u(),f(),d(),p(),g(),m(),b(),E(),w(),S.forEach(x=>x())})}a(sk,"initObservers");function xa(r){return typeof window[r]<"u"}a(xa,"hasNestedCSSRule");function Ma(r){return!!(typeof window[r]<"u"&&window[r].prototype&&"insertRule"in window[r].prototype&&"deleteRule"in window[r].prototype)}a(Ma,"canMonkeyPatchNestedCSSRule");var el=class{static{a(this,"CrossOriginIframeMirror")}constructor(e){$(this,"iframeIdToRemoteIdMap",new WeakMap),$(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=e}getId(e,t,n,i){let o=n||this.getIdToRemoteIdMap(e),l=i||this.getRemoteIdToIdMap(e),u=o.get(t);return u||(u=this.generateIdFn(),o.set(t,u),l.set(u,t)),u}getIds(e,t){let n=this.getIdToRemoteIdMap(e),i=this.getRemoteIdToIdMap(e);return t.map(o=>this.getId(e,o,n,i))}getRemoteId(e,t,n){let i=n||this.getRemoteIdToIdMap(e);if(typeof t!="number")return t;let o=i.get(t);return o||-1}getRemoteIds(e,t){let n=this.getRemoteIdToIdMap(e);return t.map(i=>this.getRemoteId(e,i,n))}reset(e){if(!e){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(e),this.iframeRemoteIdToIdMap.delete(e)}getIdToRemoteIdMap(e){let t=this.iframeIdToRemoteIdMap.get(e);return t||(t=new Map,this.iframeIdToRemoteIdMap.set(e,t)),t}getRemoteIdToIdMap(e){let t=this.iframeRemoteIdToIdMap.get(e);return t||(t=new Map,this.iframeRemoteIdToIdMap.set(e,t)),t}},td=class{static{a(this,"IframeManager")}constructor(e){$(this,"iframes",new WeakMap),$(this,"crossOriginIframeMap",new WeakMap),$(this,"crossOriginIframeMirror",new el(Pb)),$(this,"crossOriginIframeStyleMirror"),$(this,"crossOriginIframeRootIdMap",new WeakMap),$(this,"mirror"),$(this,"mutationCb"),$(this,"wrappedEmit"),$(this,"loadListener"),$(this,"stylesheetManager"),$(this,"recordCrossOriginIframes"),this.mutationCb=e.mutationCb,this.wrappedEmit=e.wrappedEmit,this.stylesheetManager=e.stylesheetManager,this.recordCrossOriginIframes=e.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new el(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=e.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(e){this.iframes.set(e,!0),e.contentWindow&&this.crossOriginIframeMap.set(e.contentWindow,e)}addLoadListener(e){this.loadListener=e}attachIframe(e,t){var n,i;this.mutationCb({adds:[{parentId:this.mirror.getId(e),nextId:null,node:t}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((n=e.contentWindow)==null||n.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,e),e.contentDocument&&e.contentDocument.adoptedStyleSheets&&e.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(e.contentDocument.adoptedStyleSheets,this.mirror.getId(e.contentDocument))}handleMessage(e){let t=e;if(t.data.type!=="rrweb"||t.origin!==t.data.origin||!e.source)return;let i=this.crossOriginIframeMap.get(e.source);if(!i)return;let o=this.transformCrossOriginEvent(i,t.data.event);o&&this.wrappedEmit(o,t.data.isCheckout)}transformCrossOriginEvent(e,t){var n;switch(t.type){case Y.FullSnapshot:{this.crossOriginIframeMirror.reset(e),this.crossOriginIframeStyleMirror.reset(e),this.replaceIdOnNode(t.data.node,e);let i=t.data.node.id;return this.crossOriginIframeRootIdMap.set(e,i),this.patchRootIdOnNode(t.data.node,i),{timestamp:t.timestamp,type:Y.IncrementalSnapshot,data:{source:z.Mutation,adds:[{parentId:this.mirror.getId(e),nextId:null,node:t.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case Y.Meta:case Y.Load:case Y.DomContentLoaded:return!1;case Y.Plugin:return t;case Y.Custom:return this.replaceIds(t.data.payload,e,["id","parentId","previousId","nextId"]),t;case Y.IncrementalSnapshot:switch(t.data.source){case z.Mutation:return t.data.adds.forEach(i=>{this.replaceIds(i,e,["parentId","nextId","previousId"]),this.replaceIdOnNode(i.node,e);let o=this.crossOriginIframeRootIdMap.get(e);o&&this.patchRootIdOnNode(i.node,o)}),t.data.removes.forEach(i=>{this.replaceIds(i,e,["parentId","id"])}),t.data.attributes.forEach(i=>{this.replaceIds(i,e,["id"])}),t.data.texts.forEach(i=>{this.replaceIds(i,e,["id"])}),t;case z.Drag:case z.TouchMove:case z.MouseMove:return t.data.positions.forEach(i=>{this.replaceIds(i,e,["id"])}),t;case z.ViewportResize:return!1;case z.MediaInteraction:case z.MouseInteraction:case z.Scroll:case z.CanvasMutation:case z.Input:return this.replaceIds(t.data,e,["id"]),t;case z.StyleSheetRule:case z.StyleDeclaration:return this.replaceIds(t.data,e,["id"]),this.replaceStyleIds(t.data,e,["styleId"]),t;case z.Font:return t;case z.Selection:return t.data.ranges.forEach(i=>{this.replaceIds(i,e,["start","end"])}),t;case z.AdoptedStyleSheet:return this.replaceIds(t.data,e,["id"]),this.replaceStyleIds(t.data,e,["styleIds"]),(n=t.data.styles)==null||n.forEach(i=>{this.replaceStyleIds(i,e,["styleId"])}),t}}return!1}replace(e,t,n,i){for(let o of i)!Array.isArray(t[o])&&typeof t[o]!="number"||(Array.isArray(t[o])?t[o]=e.getIds(n,t[o]):t[o]=e.getId(n,t[o]));return t}replaceIds(e,t,n){return this.replace(this.crossOriginIframeMirror,e,t,n)}replaceStyleIds(e,t,n){return this.replace(this.crossOriginIframeStyleMirror,e,t,n)}replaceIdOnNode(e,t){this.replaceIds(e,t,["id","rootId"]),"childNodes"in e&&e.childNodes.forEach(n=>{this.replaceIdOnNode(n,t)})}patchRootIdOnNode(e,t){e.type!==Pr.Document&&!e.rootId&&(e.rootId=t),"childNodes"in e&&e.childNodes.forEach(n=>{this.patchRootIdOnNode(n,t)})}},rd=class{static{a(this,"ShadowDomManager")}constructor(e){$(this,"shadowDoms",new WeakSet),$(this,"mutationCb"),$(this,"scrollCb"),$(this,"bypassOptions"),$(this,"mirror"),$(this,"restoreHandlers",[]),this.mutationCb=e.mutationCb,this.scrollCb=e.scrollCb,this.bypassOptions=e.bypassOptions,this.mirror=e.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(e,t){if(!Es(e)||this.shadowDoms.has(e))return;this.shadowDoms.add(e);let n=Cw({...this.bypassOptions,doc:t,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},e);this.restoreHandlers.push(()=>n.disconnect()),this.restoreHandlers.push(xw({...this.bypassOptions,scrollCb:this.scrollCb,doc:e,mirror:this.mirror})),setTimeout(()=>{e.adoptedStyleSheets&&e.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(e.adoptedStyleSheets,this.mirror.getId(Ee.host(e))),this.restoreHandlers.push(Mw({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},e))},0)}observeAttachShadow(e){!e.contentWindow||!e.contentDocument||this.patchAttachShadow(e.contentWindow.Element,e.contentDocument)}patchAttachShadow(e,t){let n=this;this.restoreHandlers.push(On(e.prototype,"attachShadow",function(i){return function(o){let l=i.call(this,o),u=Ee.shadowRoot(this);return u&&Sw(this)&&n.addShadowRoot(u,t),l}}))}reset(){this.restoreHandlers.forEach(e=>{try{e()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},mi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ys=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(ms=0;ms<mi.length;ms++)ys[mi.charCodeAt(ms)]=ms;var ms,ok=a(function(r){var e=new Uint8Array(r),t,n=e.length,i="";for(t=0;t<n;t+=3)i+=mi[e[t]>>2],i+=mi[(e[t]&3)<<4|e[t+1]>>4],i+=mi[(e[t+1]&15)<<2|e[t+2]>>6],i+=mi[e[t+2]&63];return n%3===2?i=i.substring(0,i.length-1)+"=":n%3===1&&(i=i.substring(0,i.length-2)+"=="),i},"encode"),ak=a(function(r){var e=r.length*.75,t=r.length,n,i=0,o,l,u,f;r[r.length-1]==="="&&(e--,r[r.length-2]==="="&&e--);var d=new ArrayBuffer(e),p=new Uint8Array(d);for(n=0;n<t;n+=4)o=ys[r.charCodeAt(n)],l=ys[r.charCodeAt(n+1)],u=ys[r.charCodeAt(n+2)],f=ys[r.charCodeAt(n+3)],p[i++]=o<<2|l>>4,p[i++]=(l&15)<<4|u>>2,p[i++]=(u&3)<<6|f&63;return d},"decode"),Eb=new Map;function lk(r,e){let t=Eb.get(r);return t||(t=new Map,Eb.set(r,t)),t.has(e)||t.set(e,[]),t.get(e)}a(lk,"variableListFor$1");var Tw=a((r,e,t)=>{if(!r||!(Iw(r,e)||typeof r=="object"))return;let n=r.constructor.name,i=lk(t,n),o=i.indexOf(r);return o===-1&&(o=i.length,i.push(r)),o},"saveWebGLVar");function Oa(r,e,t){if(r instanceof Array)return r.map(n=>Oa(n,e,t));if(r===null)return r;if(r instanceof Float32Array||r instanceof Float64Array||r instanceof Int32Array||r instanceof Uint32Array||r instanceof Uint8Array||r instanceof Uint16Array||r instanceof Int16Array||r instanceof Int8Array||r instanceof Uint8ClampedArray)return{rr_type:r.constructor.name,args:[Object.values(r)]};if(r instanceof ArrayBuffer){let n=r.constructor.name,i=ok(r);return{rr_type:n,base64:i}}else{if(r instanceof DataView)return{rr_type:r.constructor.name,args:[Oa(r.buffer,e,t),r.byteOffset,r.byteLength]};if(r instanceof HTMLImageElement){let n=r.constructor.name,{src:i}=r;return{rr_type:n,src:i}}else if(r instanceof HTMLCanvasElement){let n="HTMLImageElement",i=r.toDataURL();return{rr_type:n,src:i}}else{if(r instanceof ImageData)return{rr_type:r.constructor.name,args:[Oa(r.data,e,t),r.width,r.height]};if(Iw(r,e)||typeof r=="object"){let n=r.constructor.name,i=Tw(r,e,t);return{rr_type:n,index:i}}}}return r}a(Oa,"serializeArg");var Rw=a((r,e,t)=>r.map(n=>Oa(n,e,t)),"serializeArgs"),Iw=a((r,e)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(i=>typeof e[i]=="function").find(i=>r instanceof e[i]),"isInstanceOfWebGLObject");function ck(r,e,t,n){let i=[],o=Object.getOwnPropertyNames(e.CanvasRenderingContext2D.prototype);for(let l of o)try{if(typeof e.CanvasRenderingContext2D.prototype[l]!="function")continue;let u=On(e.CanvasRenderingContext2D.prototype,l,function(f){return function(...d){return Tt(this.canvas,t,n,!0)||setTimeout(()=>{let p=Rw(d,e,this);r(this.canvas,{type:$r["2D"],property:l,args:p})},0),f.apply(this,d)}});i.push(u)}catch{let u=ml(e.CanvasRenderingContext2D.prototype,l,{set(f){r(this.canvas,{type:$r["2D"],property:l,args:[f],setter:!0})}});i.push(u)}return()=>{i.forEach(l=>l())}}a(ck,"initCanvas2DMutationObserver");function uk(r){return r==="experimental-webgl"?"webgl":r}a(uk,"getNormalizedContextName");function wb(r,e,t,n){let i=[];try{let o=On(r.HTMLCanvasElement.prototype,"getContext",function(l){return function(u,...f){if(!Tt(this,e,t,!0)){let d=uk(u);if("__context"in this||(this.__context=d),n&&["webgl","webgl2"].includes(d))if(f[0]&&typeof f[0]=="object"){let p=f[0];p.preserveDrawingBuffer||(p.preserveDrawingBuffer=!0)}else f.splice(0,1,{preserveDrawingBuffer:!0})}return l.apply(this,[u,...f])}});i.push(o)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{i.forEach(o=>o())}}a(wb,"initCanvasContextObserver");function Sb(r,e,t,n,i,o){let l=[],u=Object.getOwnPropertyNames(r);for(let f of u)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(f))try{if(typeof r[f]!="function")continue;let d=On(r,f,function(p){return function(...g){let m=p.apply(this,g);if(Tw(m,o,this),"tagName"in this.canvas&&!Tt(this.canvas,n,i,!0)){let b=Rw(g,o,this),E={type:e,property:f,args:b};t(this.canvas,E)}return m}});l.push(d)}catch{let d=ml(r,f,{set(p){t(this.canvas,{type:e,property:f,args:[p],setter:!0})}});l.push(d)}return l}a(Sb,"patchGLPrototype");function fk(r,e,t,n){let i=[];return i.push(...Sb(e.WebGLRenderingContext.prototype,$r.WebGL,r,t,n,e)),typeof e.WebGL2RenderingContext<"u"&&i.push(...Sb(e.WebGL2RenderingContext.prototype,$r.WebGL2,r,t,n,e)),()=>{i.forEach(o=>o())}}a(fk,"initCanvasWebGLMutationObserver");var Aw="KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=",dk=a(r=>Uint8Array.from(atob(r),e=>e.charCodeAt(0)),"decodeBase64"),vb=typeof window<"u"&&window.Blob&&new Blob([dk(Aw)],{type:"text/javascript;charset=utf-8"});function hk(r){let e;try{if(e=vb&&(window.URL||window.webkitURL).createObjectURL(vb),!e)throw"";let t=new Worker(e,{name:r?.name});return t.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(e)}),t}catch{return new Worker("data:text/javascript;base64,"+Aw,{name:r?.name})}finally{e&&(window.URL||window.webkitURL).revokeObjectURL(e)}}a(hk,"WorkerWrapper");var nd=class{static{a(this,"CanvasManager")}constructor(e){$(this,"pendingCanvasMutations",new Map),$(this,"rafStamps",{latestId:0,invokeId:null}),$(this,"mirror"),$(this,"mutationCb"),$(this,"resetObservers"),$(this,"frozen",!1),$(this,"locked",!1),$(this,"processMutation",(f,d)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(f)||this.pendingCanvasMutations.set(f,[]),this.pendingCanvasMutations.get(f).push(d)});let{sampling:t="all",win:n,blockClass:i,blockSelector:o,recordCanvas:l,dataURLOptions:u}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,l&&t==="all"&&this.initCanvasMutationObserver(n,i,o),l&&typeof t=="number"&&this.initCanvasFPSObserver(t,n,i,o,{dataURLOptions:u})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(e,t,n,i,o){let l=wb(t,n,i,!0),u=new Map,f=new hk;f.onmessage=E=>{let{id:w}=E.data;if(u.set(w,!1),!("base64"in E.data))return;let{base64:S,type:x,width:R,height:M}=E.data;this.mutationCb({id:w,type:$r["2D"],commands:[{property:"clearRect",args:[0,0,R,M]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:S}],type:x}]},0,0]}]})};let d=1e3/e,p=0,g,m=a(()=>{let E=[];return t.document.querySelectorAll("canvas").forEach(w=>{Tt(w,n,i,!0)||E.push(w)}),E},"getCanvas"),b=a(E=>{if(p&&E-p<d){g=requestAnimationFrame(b);return}p=E,m().forEach(async w=>{var S;let x=this.mirror.getId(w);if(u.get(x)||w.width===0||w.height===0)return;if(u.set(x,!0),["webgl","webgl2"].includes(w.__context)){let M=w.getContext(w.__context);((S=M?.getContextAttributes())==null?void 0:S.preserveDrawingBuffer)===!1&&M.clear(M.COLOR_BUFFER_BIT)}let R=await createImageBitmap(w);f.postMessage({id:x,bitmap:R,width:w.width,height:w.height,dataURLOptions:o.dataURLOptions},[R])}),g=requestAnimationFrame(b)},"takeCanvasSnapshots");g=requestAnimationFrame(b),this.resetObservers=()=>{l(),cancelAnimationFrame(g)}}initCanvasMutationObserver(e,t,n){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let i=wb(e,t,n,!1),o=ck(this.processMutation.bind(this),e,t,n),l=fk(this.processMutation.bind(this),e,t,n);this.resetObservers=()=>{i(),o(),l()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let e=a(t=>{this.rafStamps.latestId=t,requestAnimationFrame(e)},"setLatestRAFTimestamp");requestAnimationFrame(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,t)=>{let n=this.mirror.getId(t);this.flushPendingCanvasMutationFor(t,n)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(e,t){if(this.frozen||this.locked)return;let n=this.pendingCanvasMutations.get(e);if(!n||t===-1)return;let i=n.map(l=>{let{type:u,...f}=l;return f}),{type:o}=n[0];this.mutationCb({id:t,type:o,commands:i}),this.pendingCanvasMutations.delete(e)}},id=class{static{a(this,"StylesheetManager")}constructor(e){$(this,"trackedLinkElements",new WeakSet),$(this,"mutationCb"),$(this,"adoptedStyleSheetCb"),$(this,"styleMirror",new Ja),this.mutationCb=e.mutationCb,this.adoptedStyleSheetCb=e.adoptedStyleSheetCb}attachLinkElement(e,t){"_cssText"in t.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:t.id,attributes:t.attributes}]}),this.trackLinkElement(e)}trackLinkElement(e){this.trackedLinkElements.has(e)||(this.trackedLinkElements.add(e),this.trackStylesheetInLinkElement(e))}adoptStyleSheets(e,t){if(e.length===0)return;let n={id:t,styleIds:[]},i=[];for(let o of e){let l;this.styleMirror.has(o)?l=this.styleMirror.getId(o):(l=this.styleMirror.add(o),i.push({styleId:l,rules:Array.from(o.rules||CSSRule,(u,f)=>({rule:Db(u,o.href),index:f}))})),n.styleIds.push(l)}i.length>0&&(n.styles=i),this.adoptedStyleSheetCb(n)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(e){}},sd=class{static{a(this,"ProcessedNodeManager")}constructor(){$(this,"nodeMap",new WeakMap),$(this,"active",!1)}inOtherBuffer(e,t){let n=this.nodeMap.get(e);return n&&Array.from(n).some(i=>i!==t)}add(e,t){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(e,(this.nodeMap.get(e)||new Set).add(t))}destroy(){}},Je,Na,sf,tl=!1;try{if(Array.from([1],r=>r*2)[0]!==2){let r=document.createElement("iframe");document.body.appendChild(r),Array.from=((wy=r.contentWindow)==null?void 0:wy.Array.from)||Array.from,document.body.removeChild(r)}}catch(r){console.debug("Unable to override Array.from",r)}var sr=kb();function Xt(r={}){let{emit:e,checkoutEveryNms:t,checkoutEveryNth:n,blockClass:i="rr-block",blockSelector:o=null,ignoreClass:l="rr-ignore",ignoreSelector:u=null,maskTextClass:f="rr-mask",maskTextSelector:d=null,inlineStylesheet:p=!0,maskAllInputs:g,maskInputOptions:m,slimDOMOptions:b,maskInputFn:E,maskTextFn:w,hooks:S,packFn:x,sampling:R={},dataURLOptions:M={},mousemoveWait:A,recordDOM:O=!0,recordCanvas:N=!1,recordCrossOriginIframes:P=!1,recordAfter:U=r.recordAfter==="DOMContentLoaded"?r.recordAfter:"load",userTriggeredOnInput:K=!1,collectFonts:q=!1,inlineImages:he=!1,plugins:se,keepIframeSrcFn:F=a(()=>!1,"keepIframeSrcFn"),ignoreCSSAttributes:pt=new Set([]),errorHandler:it}=r;GD(it);let ee=P?window.parent===window:!0,Q=!1;if(!ee)try{window.parent.document&&(Q=!1)}catch{Q=!0}if(ee&&!e)throw new Error("emit function is required");if(!ee&&!Q)return()=>{};A!==void 0&&R.mousemove===void 0&&(R.mousemove=A),sr.reset();let Oe=g===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:m!==void 0?m:{password:!0},Te=b===!0||b==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:b==="all",headMetaDescKeywords:b==="all",headTitleMutations:b==="all"}:b||{};gw();let we,tt=0,xr=a(le=>{for(let ut of se||[])ut.eventProcessor&&(le=ut.eventProcessor(le));return x&&!Q&&(le=x(le)),le},"eventProcessor");Je=a((le,ut)=>{var me;let Ne=le;if(Ne.timestamp=Za(),(me=In[0])!=null&&me.isFrozen()&&Ne.type!==Y.FullSnapshot&&!(Ne.type===Y.IncrementalSnapshot&&Ne.data.source===z.Mutation)&&In.forEach(Wt=>Wt.unfreeze()),ee)e?.(xr(Ne),ut);else if(Q){let Wt={type:"rrweb",event:xr(Ne),origin:window.location.origin,isCheckout:ut};window.parent.postMessage(Wt,"*")}if(Ne.type===Y.FullSnapshot)we=Ne,tt=0;else if(Ne.type===Y.IncrementalSnapshot){if(Ne.data.source===z.Mutation&&Ne.data.isAttachIframe)return;tt++;let Wt=n&&tt>=n,ge=t&&Ne.timestamp-we.timestamp>t;(Wt||ge)&&Na(!0)}},"wrappedEmit");let G=a(le=>{Je({type:Y.IncrementalSnapshot,data:{source:z.Mutation,...le}})},"wrappedMutationEmit"),ke=a(le=>Je({type:Y.IncrementalSnapshot,data:{source:z.Scroll,...le}}),"wrappedScrollEmit"),ct=a(le=>Je({type:Y.IncrementalSnapshot,data:{source:z.CanvasMutation,...le}}),"wrappedCanvasMutationEmit"),St=a(le=>Je({type:Y.IncrementalSnapshot,data:{source:z.AdoptedStyleSheet,...le}}),"wrappedAdoptedStyleSheetEmit"),rt=new id({mutationCb:G,adoptedStyleSheetCb:St}),nt=new td({mirror:sr,mutationCb:G,stylesheetManager:rt,recordCrossOriginIframes:P,wrappedEmit:Je});for(let le of se||[])le.getMirror&&le.getMirror({nodeMirror:sr,crossOriginIframeMirror:nt.crossOriginIframeMirror,crossOriginIframeStyleMirror:nt.crossOriginIframeStyleMirror});let pn=new sd;sf=new nd({recordCanvas:N,mutationCb:ct,win:window,blockClass:i,blockSelector:o,mirror:sr,sampling:R.canvas,dataURLOptions:M});let Jt=new rd({mutationCb:G,scrollCb:ke,bypassOptions:{blockClass:i,blockSelector:o,maskTextClass:f,maskTextSelector:d,inlineStylesheet:p,maskInputOptions:Oe,dataURLOptions:M,maskTextFn:w,maskInputFn:E,recordCanvas:N,inlineImages:he,sampling:R,slimDOMOptions:Te,iframeManager:nt,stylesheetManager:rt,canvasManager:sf,keepIframeSrcFn:F,processedNodeManager:pn},mirror:sr});Na=a((le=!1)=>{if(!O)return;Je({type:Y.Meta,data:{href:window.location.href,width:hw(),height:dw()}},le),rt.reset(),Jt.init(),In.forEach(me=>me.lock());let ut=mL(document,{mirror:sr,blockClass:i,blockSelector:o,maskTextClass:f,maskTextSelector:d,inlineStylesheet:p,maskAllInputs:Oe,maskTextFn:w,maskInputFn:E,slimDOM:Te,dataURLOptions:M,recordCanvas:N,inlineImages:he,onSerialize:a(me=>{Ss(me,sr)&&nt.addIframe(me),bw(me,sr)&&rt.trackLinkElement(me),Rn(me)&&Jt.addShadowRoot(Ee.shadowRoot(me),document)},"onSerialize"),onIframeLoad:a((me,Ne)=>{nt.attachIframe(me,Ne),Jt.observeAttachShadow(me)},"onIframeLoad"),onStylesheetLoad:a((me,Ne)=>{rt.attachLinkElement(me,Ne)},"onStylesheetLoad"),keepIframeSrcFn:F});if(!ut)return console.warn("Failed to snapshot the document");Je({type:Y.FullSnapshot,data:{node:ut,initialOffset:fw(window)}},le),In.forEach(me=>me.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&rt.adoptStyleSheets(document.adoptedStyleSheets,sr.getId(document))},"takeFullSnapshot$1");try{let le=[],ut=a(Ne=>{var Wt;return xe(sk)({mutationCb:G,mousemoveCb:a((ge,$n)=>Je({type:Y.IncrementalSnapshot,data:{source:$n,positions:ge}}),"mousemoveCb"),mouseInteractionCb:a(ge=>Je({type:Y.IncrementalSnapshot,data:{source:z.MouseInteraction,...ge}}),"mouseInteractionCb"),scrollCb:ke,viewportResizeCb:a(ge=>Je({type:Y.IncrementalSnapshot,data:{source:z.ViewportResize,...ge}}),"viewportResizeCb"),inputCb:a(ge=>Je({type:Y.IncrementalSnapshot,data:{source:z.Input,...ge}}),"inputCb"),mediaInteractionCb:a(ge=>Je({type:Y.IncrementalSnapshot,data:{source:z.MediaInteraction,...ge}}),"mediaInteractionCb"),styleSheetRuleCb:a(ge=>Je({type:Y.IncrementalSnapshot,data:{source:z.StyleSheetRule,...ge}}),"styleSheetRuleCb"),styleDeclarationCb:a(ge=>Je({type:Y.IncrementalSnapshot,data:{source:z.StyleDeclaration,...ge}}),"styleDeclarationCb"),canvasMutationCb:ct,fontCb:a(ge=>Je({type:Y.IncrementalSnapshot,data:{source:z.Font,...ge}}),"fontCb"),selectionCb:a(ge=>{Je({type:Y.IncrementalSnapshot,data:{source:z.Selection,...ge}})},"selectionCb"),customElementCb:a(ge=>{Je({type:Y.IncrementalSnapshot,data:{source:z.CustomElement,...ge}})},"customElementCb"),blockClass:i,ignoreClass:l,ignoreSelector:u,maskTextClass:f,maskTextSelector:d,maskInputOptions:Oe,inlineStylesheet:p,sampling:R,recordDOM:O,recordCanvas:N,inlineImages:he,userTriggeredOnInput:K,collectFonts:q,doc:Ne,maskInputFn:E,maskTextFn:w,keepIframeSrcFn:F,blockSelector:o,slimDOMOptions:Te,dataURLOptions:M,mirror:sr,iframeManager:nt,stylesheetManager:rt,shadowDomManager:Jt,processedNodeManager:pn,canvasManager:sf,ignoreCSSAttributes:pt,plugins:((Wt=se?.filter(ge=>ge.observer))==null?void 0:Wt.map(ge=>({observer:ge.observer,options:ge.options,callback:a($n=>Je({type:Y.Plugin,data:{plugin:ge.name,payload:$n}}),"callback")})))||[]},S)},"observe");nt.addLoadListener(Ne=>{try{le.push(ut(Ne.contentDocument))}catch(Wt){console.warn(Wt)}});let me=a(()=>{Na(),le.push(ut(document)),tl=!0},"init");return document.readyState==="interactive"||document.readyState==="complete"?me():(le.push(Mt("DOMContentLoaded",()=>{Je({type:Y.DomContentLoaded,data:{}}),U==="DOMContentLoaded"&&me()})),le.push(Mt("load",()=>{Je({type:Y.Load,data:{}}),U==="load"&&me()},window))),()=>{le.forEach(Ne=>Ne()),pn.destroy(),tl=!1,qD()}}catch(le){console.warn(le)}}a(Xt,"record");Xt.addCustomEvent=(r,e)=>{if(!tl)throw new Error("please add custom event after start recording");Je({type:Y.Custom,data:{tag:r,payload:e}})};Xt.freezePage=()=>{In.forEach(r=>r.freeze())};Xt.takeFullSnapshot=r=>{if(!tl)throw new Error("please take full snapshot after start recording");Na(r)};Xt.mirror=sr;function Lw(r){return{all:r=r||new Map,on:a(function(e,t){var n=r.get(e);n?n.push(t):r.set(e,[t])},"on"),off:a(function(e,t){var n=r.get(e);n&&(t?n.splice(n.indexOf(t)>>>0,1):r.set(e,[]))},"off"),emit:a(function(e,t){var n=r.get(e);n&&n.slice().map(function(i){i(t)}),(n=r.get("*"))&&n.slice().map(function(i){i(e,t)})},"emit")}}a(Lw,"mitt$1");var pk=Object.freeze(Object.defineProperty({__proto__:null,default:Lw},Symbol.toStringTag,{value:"Module"}));function mk(r=window,e=document){if("scrollBehavior"in e.documentElement.style&&r.__forceSmoothScrollPolyfill__!==!0)return;let t=r.HTMLElement||r.Element,n=468,i={scroll:r.scroll||r.scrollTo,scrollBy:r.scrollBy,elementScroll:t.prototype.scroll||f,scrollIntoView:t.prototype.scrollIntoView},o=r.performance&&r.performance.now?r.performance.now.bind(r.performance):Date.now;function l(x){let R=["MSIE ","Trident/","Edge/"];return new RegExp(R.join("|")).test(x)}a(l,"isMicrosoftBrowser");let u=l(r.navigator.userAgent)?1:0;function f(x,R){this.scrollLeft=x,this.scrollTop=R}a(f,"scrollElement");function d(x){return .5*(1-Math.cos(Math.PI*x))}a(d,"ease");function p(x){if(x===null||typeof x!="object"||x.behavior===void 0||x.behavior==="auto"||x.behavior==="instant")return!0;if(typeof x=="object"&&x.behavior==="smooth")return!1;throw new TypeError("behavior member of ScrollOptions "+x.behavior+" is not a valid value for enumeration ScrollBehavior.")}a(p,"shouldBailOut");function g(x,R){if(R==="Y")return x.clientHeight+u<x.scrollHeight;if(R==="X")return x.clientWidth+u<x.scrollWidth}a(g,"hasScrollableSpace");function m(x,R){let M=r.getComputedStyle(x,null)["overflow"+R];return M==="auto"||M==="scroll"}a(m,"canOverflow");function b(x){let R=g(x,"Y")&&m(x,"Y"),M=g(x,"X")&&m(x,"X");return R||M}a(b,"isScrollable");function E(x){for(;x!==e.body&&b(x)===!1;)x=x.parentNode||x.host;return x}a(E,"findScrollableParent");function w(x){let R=o(),M,A,O,N=(R-x.startTime)/n;N=N>1?1:N,M=d(N),A=x.startX+(x.x-x.startX)*M,O=x.startY+(x.y-x.startY)*M,x.method.call(x.scrollable,A,O),(A!==x.x||O!==x.y)&&r.requestAnimationFrame(w.bind(r,x))}a(w,"step");function S(x,R,M){let A,O,N,P,U=o();x===e.body?(A=r,O=r.scrollX||r.pageXOffset,N=r.scrollY||r.pageYOffset,P=i.scroll):(A=x,O=x.scrollLeft,N=x.scrollTop,P=f),w({scrollable:A,method:P,startTime:U,startX:O,startY:N,x:R,y:M})}a(S,"smoothScroll"),r.scroll=r.scrollTo=function(){if(arguments[0]!==void 0){if(p(arguments[0])===!0){i.scroll.call(r,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:r.scrollX||r.pageXOffset,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:r.scrollY||r.pageYOffset);return}S.call(r,e.body,arguments[0].left!==void 0?~~arguments[0].left:r.scrollX||r.pageXOffset,arguments[0].top!==void 0?~~arguments[0].top:r.scrollY||r.pageYOffset)}},r.scrollBy=function(){if(arguments[0]!==void 0){if(p(arguments[0])){i.scrollBy.call(r,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:0,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:0);return}S.call(r,e.body,~~arguments[0].left+(r.scrollX||r.pageXOffset),~~arguments[0].top+(r.scrollY||r.pageYOffset))}},t.prototype.scroll=t.prototype.scrollTo=function(){if(arguments[0]===void 0)return;if(p(arguments[0])===!0){if(typeof arguments[0]=="number"&&arguments[1]===void 0)throw new SyntaxError("Value could not be converted");i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left:typeof arguments[0]!="object"?~~arguments[0]:this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top:arguments[1]!==void 0?~~arguments[1]:this.scrollTop);return}let x=arguments[0].left,R=arguments[0].top;S.call(this,this,typeof x>"u"?this.scrollLeft:~~x,typeof R>"u"?this.scrollTop:~~R)},t.prototype.scrollBy=function(){if(arguments[0]!==void 0){if(p(arguments[0])===!0){i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop);return}this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior})}},t.prototype.scrollIntoView=function(){if(p(arguments[0])===!0){i.scrollIntoView.call(this,arguments[0]===void 0?!0:arguments[0]);return}let x=E(this),R=x.getBoundingClientRect(),M=this.getBoundingClientRect();x!==e.body?(S.call(this,x,x.scrollLeft+M.left-R.left,x.scrollTop+M.top-R.top),r.getComputedStyle(x).position!=="fixed"&&r.scrollBy({left:R.left,top:R.top,behavior:"smooth"})):r.scrollBy({left:M.left,top:M.top,behavior:"smooth"})}}a(mk,"polyfill");var od=class{static{a(this,"Timer")}constructor(e=[],t){$(this,"timeOffset",0),$(this,"speed"),$(this,"actions"),$(this,"raf",null),$(this,"lastTimestamp"),this.actions=e,this.speed=t.speed}addAction(e){let t=this.raf===!0;if(!this.actions.length||this.actions[this.actions.length-1].delay<=e.delay)this.actions.push(e);else{let n=this.findActionIndex(e);this.actions.splice(n,0,e)}t&&(this.raf=requestAnimationFrame(this.rafCheck.bind(this)))}start(){this.timeOffset=0,this.lastTimestamp=performance.now(),this.raf=requestAnimationFrame(this.rafCheck.bind(this))}rafCheck(){let e=performance.now();for(this.timeOffset+=(e-this.lastTimestamp)*this.speed,this.lastTimestamp=e;this.actions.length;){let t=this.actions[0];if(this.timeOffset>=t.delay)this.actions.shift(),t.doAction();else break}this.actions.length>0?this.raf=requestAnimationFrame(this.rafCheck.bind(this)):this.raf=!0}clear(){this.raf&&(this.raf!==!0&&cancelAnimationFrame(this.raf),this.raf=null),this.actions.length=0}setSpeed(e){this.speed=e}isActive(){return this.raf!==null}findActionIndex(e){let t=0,n=this.actions.length-1;for(;t<=n;){let i=Math.floor((t+n)/2);if(this.actions[i].delay<e.delay)t=i+1;else if(this.actions[i].delay>e.delay)n=i-1;else return i+1}return t}};function Cb(r,e){if(r.type===Y.IncrementalSnapshot&&r.data.source===z.MouseMove&&r.data.positions&&r.data.positions.length){let t=r.data.positions[0].timeOffset,n=r.timestamp+t;return r.delay=n-e,n-e}return r.delay=r.timestamp-e,r.delay}a(Cb,"addDelay");function xb(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n,i,o=t.call(r),l=[];try{for(;(e===void 0||e-- >0)&&!(n=o.next()).done;)l.push(n.value)}catch(u){i={error:u}}finally{try{n&&!n.done&&(t=o.return)&&t.call(o)}finally{if(i)throw i.error}}return l}a(xb,"t");var gi;(function(r){r[r.NotStarted=0]="NotStarted",r[r.Running=1]="Running",r[r.Stopped=2]="Stopped"})(gi||(gi={}));var Ow={type:"xstate.init"};function of(r){return r===void 0?[]:[].concat(r)}a(of,"r");function di(r){return{type:"xstate.assign",assignment:r}}a(di,"o");function Mb(r,e){return typeof(r=typeof r=="string"&&e&&e[r]?e[r]:r)=="string"?{type:r}:typeof r=="function"?{type:r.name,exec:r}:r}a(Mb,"i");function rl(r){return function(e){return r===e}}a(rl,"a");function Nw(r){return typeof r=="string"?{type:r}:r}a(Nw,"u");function Tb(r,e){return{value:r,context:e,actions:[],changed:!1,matches:rl(r)}}a(Tb,"c");function Rb(r,e,t){var n=e,i=!1;return[r.filter(function(o){if(o.type==="xstate.assign"){i=!0;var l=Object.assign({},n);return typeof o.assignment=="function"?l=o.assignment(n,t):Object.keys(o.assignment).forEach(function(u){l[u]=typeof o.assignment[u]=="function"?o.assignment[u](n,t):o.assignment[u]}),n=l,!1}return!0}),n,i]}a(Rb,"f");function _w(r,e){e===void 0&&(e={});var t=xb(Rb(of(r.states[r.initial].entry).map(function(l){return Mb(l,e.actions)}),r.context,Ow),2),n=t[0],i=t[1],o={config:r,_options:e,initialState:{value:r.initial,actions:n,context:i,matches:rl(r.initial)},transition:a(function(l,u){var f,d,p=typeof l=="string"?{value:l,context:r.context}:l,g=p.value,m=p.context,b=Nw(u),E=r.states[g];if(E.on){var w=of(E.on[b.type]);try{for(var S=(function(Q){var Oe=typeof Symbol=="function"&&Symbol.iterator,Te=Oe&&Q[Oe],we=0;if(Te)return Te.call(Q);if(Q&&typeof Q.length=="number")return{next:a(function(){return Q&&we>=Q.length&&(Q=void 0),{value:Q&&Q[we++],done:!Q}},"next")};throw new TypeError(Oe?"Object is not iterable.":"Symbol.iterator is not defined.")})(w),x=S.next();!x.done;x=S.next()){var R=x.value;if(R===void 0)return Tb(g,m);var M=typeof R=="string"?{target:R}:R,A=M.target,O=M.actions,N=O===void 0?[]:O,P=M.cond,U=P===void 0?function(){return!0}:P,K=A===void 0,q=A??g,he=r.states[q];if(U(m,b)){var se=xb(Rb((K?of(N):[].concat(E.exit,N,he.entry).filter(function(Q){return Q})).map(function(Q){return Mb(Q,o._options.actions)}),m,b),3),F=se[0],pt=se[1],it=se[2],ee=A??g;return{value:ee,context:pt,actions:F,changed:A!==g||F.length>0||it,matches:rl(ee)}}}}catch(Q){f={error:Q}}finally{try{x&&!x.done&&(d=S.return)&&d.call(S)}finally{if(f)throw f.error}}}return Tb(g,m)},"transition")};return o}a(_w,"s");var Ib=a(function(r,e){return r.actions.forEach(function(t){var n=t.exec;return n&&n(r.context,e)})},"l");function Dw(r){var e=r.initialState,t=gi.NotStarted,n=new Set,i={_machine:r,send:a(function(o){t===gi.Running&&(e=r.transition(e,o),Ib(e,Nw(o)),n.forEach(function(l){return l(e)}))},"send"),subscribe:a(function(o){return n.add(o),o(e),{unsubscribe:a(function(){return n.delete(o)},"unsubscribe")}},"subscribe"),start:a(function(o){if(o){var l=typeof o=="object"?o:{context:r.config.context,value:o};e={value:l.value,actions:[],context:l.context,matches:rl(l.value)}}return t=gi.Running,Ib(e,Ow),i},"start"),stop:a(function(){return t=gi.Stopped,n.clear(),i},"stop"),get state(){return e},get status(){return t}};return i}a(Dw,"v");function gk(r,e){for(let t=r.length-1;t>=0;t--){let n=r[t];if(n.type===Y.Meta&&n.timestamp<=e)return r.slice(t)}return r}a(gk,"discardPriorSnapshots");function yk(r,{getCastFn:e,applyEventsSynchronously:t,emitter:n}){let i=_w({id:"player",context:r,initial:"paused",states:{playing:{on:{PAUSE:{target:"paused",actions:["pause"]},CAST_EVENT:{target:"playing",actions:"castEvent"},END:{target:"paused",actions:["resetLastPlayedEvent","pause"]},ADD_EVENT:{target:"playing",actions:["addEvent"]}}},paused:{on:{PLAY:{target:"playing",actions:["recordTimeOffset","play"]},CAST_EVENT:{target:"paused",actions:"castEvent"},TO_LIVE:{target:"live",actions:["startLive"]},ADD_EVENT:{target:"paused",actions:["addEvent"]}}},live:{on:{ADD_EVENT:{target:"live",actions:["addEvent"]},CAST_EVENT:{target:"live",actions:["castEvent"]}}}}},{actions:{castEvent:di({lastPlayedEvent:a((o,l)=>l.type==="CAST_EVENT"?l.payload.event:o.lastPlayedEvent,"lastPlayedEvent")}),recordTimeOffset:di((o,l)=>{let u=o.timeOffset;return"payload"in l&&"timeOffset"in l.payload&&(u=l.payload.timeOffset),{...o,timeOffset:u,baselineTime:o.events[0].timestamp+u}}),play(o){var l;let{timer:u,events:f,baselineTime:d,lastPlayedEvent:p}=o;u.clear();for(let E of f)Cb(E,d);let g=gk(f,d),m=p?.timestamp;p?.type===Y.IncrementalSnapshot&&p.data.source===z.MouseMove&&(m=p.timestamp+((l=p.data.positions[0])==null?void 0:l.timeOffset)),d<(m||0)&&n.emit(ve.PlayBack);let b=new Array;for(let E of g)if(!(m&&m<d&&(E.timestamp<=m||E===p)))if(E.timestamp<d)b.push(E);else{let w=e(E,!1);u.addAction({doAction:a(()=>{w()},"doAction"),delay:E.delay})}t(b),n.emit(ve.Flush),u.start()},pause(o){o.timer.clear()},resetLastPlayedEvent:di(o=>({...o,lastPlayedEvent:null})),startLive:di({baselineTime:a((o,l)=>(o.timer.start(),l.type==="TO_LIVE"&&l.payload.baselineTime?l.payload.baselineTime:Date.now()),"baselineTime")}),addEvent:di((o,l)=>{let{baselineTime:u,timer:f,events:d}=o;if(l.type==="ADD_EVENT"){let{event:p}=l.payload;Cb(p,u);let g=d.length-1;if(!d[g]||d[g].timestamp<=p.timestamp)d.push(p);else{let E=-1,w=0;for(;w<=g;){let S=Math.floor((w+g)/2);d[S].timestamp<=p.timestamp?w=S+1:g=S-1}E===-1&&(E=w),d.splice(E,0,p)}let m=p.timestamp<u,b=e(p,m);m?b():f.isActive()&&f.addAction({doAction:a(()=>{b()},"doAction"),delay:p.delay})}return{...o,events:d}})}});return Dw(i)}a(yk,"createPlayerService");function bk(r){let e=_w({id:"speed",context:r,initial:"normal",states:{normal:{on:{FAST_FORWARD:{target:"skipping",actions:["recordSpeed","setSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}},skipping:{on:{BACK_TO_NORMAL:{target:"normal",actions:["restoreSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}}}},{actions:{setSpeed:a((t,n)=>{"payload"in n&&t.timer.setSpeed(n.payload.speed)},"setSpeed"),recordSpeed:di({normalSpeed:a(t=>t.timer.speed,"normalSpeed")}),restoreSpeed:a(t=>{t.timer.setSpeed(t.normalSpeed)},"restoreSpeed")}});return Dw(e)}a(bk,"createSpeedService");var Ek=a(r=>[`.${r} { background: currentColor }`,"noscript { display: none !important; }"],"rules"),Ab=new Map;function kw(r,e){let t=Ab.get(r);return t||(t=new Map,Ab.set(r,t)),t.has(e)||t.set(e,[]),t.get(e)}a(kw,"variableListFor");function rn(r,e,t){return async n=>{if(n&&typeof n=="object"&&"rr_type"in n)if(t&&(t.isUnchanged=!1),n.rr_type==="ImageBitmap"&&"args"in n){let i=await rn(r,e,t)(n.args);return await createImageBitmap.apply(null,i)}else if("index"in n){if(t||e===null)return n;let{rr_type:i,index:o}=n;return kw(e,i)[o]}else if("args"in n){let{rr_type:i,args:o}=n,l=window[i];return new l(...await Promise.all(o.map(rn(r,e,t))))}else{if("base64"in n)return ak(n.base64);if("src"in n){let i=r.get(n.src);if(i)return i;{let o=new Image;return o.src=n.src,r.set(n.src,o),o}}else if("data"in n&&n.rr_type==="Blob"){let i=await Promise.all(n.data.map(rn(r,e,t)));return new Blob(i,{type:n.type})}}else if(Array.isArray(n))return await Promise.all(n.map(rn(r,e,t)));return n}}a(rn,"deserializeArg");function wk(r,e){try{return e===$r.WebGL?r.getContext("webgl")||r.getContext("experimental-webgl"):r.getContext("webgl2")}catch{return null}}a(wk,"getContext");var Sk=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject"];function vk(r,e){if(!e?.constructor)return;let{name:t}=e.constructor;if(!Sk.includes(t))return;let n=kw(r,t);n.includes(e)||n.push(e)}a(vk,"saveToWebGLVarMap");async function Ck({mutation:r,target:e,type:t,imageMap:n,errorHandler:i}){try{let o=wk(e,t);if(!o)return;if(r.setter){o[r.property]=r.args[0];return}let l=o[r.property],u=await Promise.all(r.args.map(rn(n,o))),f=l.apply(o,u);vk(o,f);let d=!1}catch(o){i(r,o)}}a(Ck,"webglMutation");async function xk({event:r,mutations:e,target:t,imageMap:n,errorHandler:i}){let o=t.getContext("2d");if(!o){i(e[0],new Error("Canvas context is null"));return}let l=e.map(async f=>Promise.all(f.args.map(rn(n,o))));(await Promise.all(l)).forEach((f,d)=>{let p=e[d];try{if(p.setter){o[p.property]=p.args[0];return}let g=o[p.property];p.property==="drawImage"&&typeof p.args[0]=="string"?(n.get(r),g.apply(o,p.args)):g.apply(o,f)}catch(g){i(p,g)}})}a(xk,"canvasMutation$1");async function Lb({event:r,mutation:e,target:t,imageMap:n,canvasEventMap:i,errorHandler:o}){try{let l=i.get(r)||e,u="commands"in l?l.commands:[l];if([$r.WebGL,$r.WebGL2].includes(e.type)){for(let f=0;f<u.length;f++){let d=u[f];await Ck({mutation:d,type:e.type,target:t,imageMap:n,errorHandler:o})}return}await xk({event:r,mutations:u,target:t,imageMap:n,errorHandler:o})}catch(l){o(e,l)}}a(Lb,"canvasMutation");var ad=class{static{a(this,"MediaManager")}constructor(e){$(this,"mediaMap",new Map),$(this,"warn"),$(this,"service"),$(this,"speedService"),$(this,"emitter"),$(this,"getCurrentTime"),$(this,"metadataCallbackMap",new Map),this.warn=e.warn,this.service=e.service,this.speedService=e.speedService,this.emitter=e.emitter,this.getCurrentTime=e.getCurrentTime,this.emitter.on(ve.Start,this.start.bind(this)),this.emitter.on(ve.SkipStart,this.start.bind(this)),this.emitter.on(ve.Pause,this.pause.bind(this)),this.emitter.on(ve.Finish,this.pause.bind(this)),this.speedService.subscribe(()=>{this.syncAllMediaElements()})}syncAllMediaElements(e={pause:!1}){this.mediaMap.forEach((t,n)=>{this.syncTargetWithState(n),e.pause&&n.pause()})}start(){this.syncAllMediaElements()}pause(){this.syncAllMediaElements({pause:!0})}seekTo({time:e,target:t,mediaState:n}){if(n.isPlaying){let o=(e-n.lastInteractionTimeOffset)/1e3*n.playbackRate,l="duration"in t&&t.duration;if(Number.isNaN(l)){this.waitForMetadata(t);return}let u=n.currentTimeAtLastInteraction+o;t.loop&&l!==!1&&(u=u%l),t.currentTime=u}else t.pause(),t.currentTime=n.currentTimeAtLastInteraction}waitForMetadata(e){if(this.metadataCallbackMap.has(e)||!("addEventListener"in e))return;let t=a(()=>{this.metadataCallbackMap.delete(e);let n=this.mediaMap.get(e);n&&this.seekTo({time:this.getCurrentTime(),target:e,mediaState:n})},"onLoadedMetadata");this.metadataCallbackMap.set(e,t),e.addEventListener("loadedmetadata",t,{once:!0})}getMediaStateFromMutation({target:e,timeOffset:t,mutation:n}){let i=this.mediaMap.get(e),{type:o,playbackRate:l,currentTime:u,muted:f,volume:d,loop:p}=n;return{isPlaying:o===tn.Play||o!==tn.Pause&&(i?.isPlaying||e.getAttribute("autoplay")!==null),currentTimeAtLastInteraction:u??i?.currentTimeAtLastInteraction??0,lastInteractionTimeOffset:t,playbackRate:l??i?.playbackRate??1,volume:d??i?.volume??1,muted:f??i?.muted??e.getAttribute("muted")===null,loop:p??i?.loop??e.getAttribute("loop")===null}}syncTargetWithState(e){let t=this.mediaMap.get(e);if(!t)return;let{muted:n,loop:i,volume:o,isPlaying:l}=t,u=this.service.state.matches("paused"),f=t.playbackRate*this.speedService.state.context.timer.speed;try{this.seekTo({time:this.getCurrentTime(),target:e,mediaState:t}),e.volume!==o&&(e.volume=o),e.muted=n,e.loop=i,e.playbackRate!==f&&(e.playbackRate=f),l&&!u?e.play():e.pause()}catch(d){this.warn(`Failed to replay media interactions: ${d.message||d}`)}}addMediaElements(e,t,n){if(!["AUDIO","VIDEO"].includes(e.nodeName))return;let i=e,o=n.getMeta(i);if(!o||!("attributes"in o))return;let l=this.service.state.matches("paused"),u=o.attributes,f=!1;u.rr_mediaState?f=u.rr_mediaState==="played":f=i.getAttribute("autoplay")!==null,f&&l&&i.pause();let d=1;typeof u.rr_mediaPlaybackRate=="number"&&(d=u.rr_mediaPlaybackRate);let p=!1;typeof u.rr_mediaMuted=="boolean"?p=u.rr_mediaMuted:p=i.getAttribute("muted")!==null;let g=!1;typeof u.rr_mediaLoop=="boolean"?g=u.rr_mediaLoop:g=i.getAttribute("loop")!==null;let m=1;typeof u.rr_mediaVolume=="number"&&(m=u.rr_mediaVolume);let b=0;typeof u.rr_mediaCurrentTime=="number"&&(b=u.rr_mediaCurrentTime),this.mediaMap.set(i,{isPlaying:f,currentTimeAtLastInteraction:b,lastInteractionTimeOffset:t,playbackRate:d,volume:m,muted:p,loop:g}),this.syncTargetWithState(i)}mediaMutation({target:e,timeOffset:t,mutation:n}){this.mediaMap.set(e,this.getMediaStateFromMutation({target:e,timeOffset:t,mutation:n})),this.syncTargetWithState(e)}isSupportedMediaElement(e){return["AUDIO","VIDEO"].includes(e.nodeName)}reset(){this.mediaMap.clear()}};function Ta(r,e){if(r.nodeName!=="DIALOG"||r instanceof or)return;let t=r,n=t.open,i=n&&t.matches("dialog:modal"),o=t.getAttribute("rr_open_mode"),l=typeof e?.attributes.open=="string"||typeof t.getAttribute("open")=="string",u=o==="modal";if(!(n&&!(i&&o==="non-modal"||!i&&u))){if(!t.isConnected){console.warn("dialog is not attached to the dom",t);return}n&&t.close(),l&&(u?t.showModal():t.show())}}a(Ta,"applyDialogToTopLevel");function Mk(r,e){if(r.nodeName!=="DIALOG"||r instanceof or)return;let t=r;if(!t.isConnected){console.warn("dialog is not attached to the dom",t);return}e.attributes.open===null&&(t.removeAttribute("open"),t.removeAttribute("rr_open_mode"))}a(Mk,"removeDialogFromTopLevel");var Tk=5*1e3,Rk=Lw||pk,Ob="[replayer]",af={duration:500,lineCap:"round",lineWidth:3,strokeStyle:"red"};function Nb(r){return r.type==Y.IncrementalSnapshot&&(r.data.source==z.TouchMove||r.data.source==z.MouseInteraction&&r.data.type==re.TouchStart)}a(Nb,"indicatesTouchDevice");var nl=class{static{a(this,"Replayer")}constructor(e,t){if($(this,"wrapper"),$(this,"iframe"),$(this,"service"),$(this,"speedService"),$(this,"config"),$(this,"usingVirtualDom",!1),$(this,"virtualDom",new xi),$(this,"mouse"),$(this,"mouseTail",null),$(this,"tailPositions",[]),$(this,"emitter",Rk()),$(this,"nextUserInteractionEvent"),$(this,"legacy_missingNodeRetryMap",{}),$(this,"cache",Gy()),$(this,"imageMap",new Map),$(this,"canvasEventMap",new Map),$(this,"mirror",kb()),$(this,"styleMirror",new Ja),$(this,"mediaManager"),$(this,"firstFullSnapshot",null),$(this,"newDocumentQueue",[]),$(this,"mousePos",null),$(this,"touchActive",null),$(this,"lastMouseDownEvent",null),$(this,"lastHoveredRootNode"),$(this,"lastSelectionData",null),$(this,"constructedStyleMutations",[]),$(this,"adoptedStyleSheets",[]),$(this,"handleResize",u=>{this.iframe.style.display="inherit";for(let f of[this.mouseTail,this.iframe])f&&(f.setAttribute("width",String(u.width)),f.setAttribute("height",String(u.height)))}),$(this,"applyEventsSynchronously",u=>{for(let f of u){switch(f.type){case Y.DomContentLoaded:case Y.Load:case Y.Custom:continue;case Y.FullSnapshot:case Y.Meta:case Y.Plugin:case Y.IncrementalSnapshot:break}this.getCastFn(f,!0)()}}),$(this,"getCastFn",(u,f=!1)=>{let d;switch(u.type){case Y.DomContentLoaded:case Y.Load:break;case Y.Custom:d=a(()=>{this.emitter.emit(ve.CustomEvent,u)},"castFn");break;case Y.Meta:d=a(()=>this.emitter.emit(ve.Resize,{width:u.data.width,height:u.data.height}),"castFn");break;case Y.FullSnapshot:d=a(()=>{var g;if(this.firstFullSnapshot){if(this.firstFullSnapshot===u){this.firstFullSnapshot=!0;return}}else this.firstFullSnapshot=!0;this.mediaManager.reset(),this.styleMirror.reset(),this.rebuildFullSnapshot(u,f),(g=this.iframe.contentWindow)==null||g.scrollTo(u.data.initialOffset)},"castFn");break;case Y.IncrementalSnapshot:d=a(()=>{if(this.applyIncremental(u,f),!f&&(u===this.nextUserInteractionEvent&&(this.nextUserInteractionEvent=null,this.backToNormal()),this.config.skipInactive&&!this.nextUserInteractionEvent)){for(let g of this.service.state.context.events)if(!(g.timestamp<=u.timestamp)&&this.isUserInteraction(g)){g.delay-u.delay>this.config.inactivePeriodThreshold*this.speedService.state.context.timer.speed&&(this.nextUserInteractionEvent=g);break}if(this.nextUserInteractionEvent){let g=this.nextUserInteractionEvent.delay-u.delay,m={speed:Math.min(Math.round(g/Tk),this.config.maxSpeed)};this.speedService.send({type:"FAST_FORWARD",payload:m}),this.emitter.emit(ve.SkipStart,m)}}},"castFn");break}return a(()=>{d&&d();for(let m of this.config.plugins||[])m.handler&&m.handler(u,f,{replayer:this});this.service.send({type:"CAST_EVENT",payload:{event:u}});let g=this.service.state.context.events.length-1;if(!this.config.liveMode&&u===this.service.state.context.events[g]){let m=a(()=>{g<this.service.state.context.events.length-1||(this.backToNormal(),this.service.send("END"),this.emitter.emit(ve.Finish))},"finish"),b=50;u.type===Y.IncrementalSnapshot&&u.data.source===z.MouseMove&&u.data.positions.length&&(b+=Math.max(0,-u.data.positions[0].timeOffset)),setTimeout(m,b)}this.emitter.emit(ve.EventCast,u)},"wrappedCastFn")}),!t?.liveMode&&e.length<2)throw new Error("Replayer need at least 2 events.");let n={speed:1,maxSpeed:360,root:document.body,loadTimeout:0,skipInactive:!1,inactivePeriodThreshold:10*1e3,showWarning:!0,showDebug:!1,blockClass:"rr-block",liveMode:!1,insertStyleRules:[],triggerFocus:!0,UNSAFE_replayCanvas:!1,pauseAnimation:!0,mouseTail:af,useVirtualDom:!0,logger:console};this.config=Object.assign({},n,t),this.handleResize=this.handleResize.bind(this),this.getCastFn=this.getCastFn.bind(this),this.applyEventsSynchronously=this.applyEventsSynchronously.bind(this),this.emitter.on(ve.Resize,this.handleResize),this.setupDom();for(let u of this.config.plugins||[])u.getMirror&&u.getMirror({nodeMirror:this.mirror});this.emitter.on(ve.Flush,()=>{if(this.usingVirtualDom){let u={mirror:this.mirror,applyCanvas:a((f,d,p)=>{Lb({event:f,mutation:d,target:p,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})},"applyCanvas"),applyInput:this.applyInput.bind(this),applyScroll:this.applyScroll.bind(this),applyStyleSheetMutation:a((f,d)=>{f.source===z.StyleSheetRule?this.applyStyleSheetRule(f,d):f.source===z.StyleDeclaration&&this.applyStyleDeclaration(f,d)},"applyStyleSheetMutation"),afterAppend:a((f,d)=>{for(let p of this.config.plugins||[])p.onBuild&&p.onBuild(f,{id:d,replayer:this})},"afterAppend")};if(this.iframe.contentDocument)try{Ka(this.iframe.contentDocument,this.virtualDom,u,this.virtualDom.mirror)}catch(f){console.warn(f)}if(this.virtualDom.destroyTree(),this.usingVirtualDom=!1,Object.keys(this.legacy_missingNodeRetryMap).length)for(let f in this.legacy_missingNodeRetryMap)try{let d=this.legacy_missingNodeRetryMap[f],p=Xa(d.node,this.mirror,this.virtualDom.mirror);Ka(p,d.node,u,this.virtualDom.mirror),d.node=p}catch(d){this.warn(d)}this.constructedStyleMutations.forEach(f=>{this.applyStyleSheetMutation(f)}),this.constructedStyleMutations=[],this.adoptedStyleSheets.forEach(f=>{this.applyAdoptedStyleSheet(f)}),this.adoptedStyleSheets=[]}if(this.mousePos&&(this.moveAndHover(this.mousePos.x,this.mousePos.y,this.mousePos.id,!0,this.mousePos.debugData),this.mousePos=null),this.touchActive===!0?this.mouse.classList.add("touch-active"):this.touchActive===!1&&this.mouse.classList.remove("touch-active"),this.touchActive=null,this.lastMouseDownEvent){let[u,f]=this.lastMouseDownEvent;u.dispatchEvent(f)}this.lastMouseDownEvent=null,this.lastSelectionData&&(this.applySelection(this.lastSelectionData),this.lastSelectionData=null)}),this.emitter.on(ve.PlayBack,()=>{this.firstFullSnapshot=null,this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset()});let i=new od([],{speed:this.config.speed});this.service=yk({events:e.map(u=>t&&t.unpackFn?t.unpackFn(u):u).sort((u,f)=>u.timestamp-f.timestamp),timer:i,timeOffset:0,baselineTime:0,lastPlayedEvent:null},{getCastFn:this.getCastFn,applyEventsSynchronously:this.applyEventsSynchronously,emitter:this.emitter}),this.service.start(),this.service.subscribe(u=>{this.emitter.emit(ve.StateChange,{player:u})}),this.speedService=bk({normalSpeed:-1,timer:i}),this.speedService.start(),this.speedService.subscribe(u=>{this.emitter.emit(ve.StateChange,{speed:u})}),this.mediaManager=new ad({warn:this.warn.bind(this),service:this.service,speedService:this.speedService,emitter:this.emitter,getCurrentTime:this.getCurrentTime.bind(this)});let o=this.service.state.context.events.find(u=>u.type===Y.Meta),l=this.service.state.context.events.find(u=>u.type===Y.FullSnapshot);if(o){let{width:u,height:f}=o.data;setTimeout(()=>{this.emitter.emit(ve.Resize,{width:u,height:f})},0)}l&&setTimeout(()=>{var u;this.firstFullSnapshot||(this.firstFullSnapshot=l,this.rebuildFullSnapshot(l),(u=this.iframe.contentWindow)==null||u.scrollTo(l.data.initialOffset))},1),this.service.state.context.events.find(Nb)&&this.mouse.classList.add("touch-device")}get timer(){return this.service.state.context.timer}on(e,t){return this.emitter.on(e,t),this}off(e,t){return this.emitter.off(e,t),this}setConfig(e){Object.keys(e).forEach(t=>{e[t],this.config[t]=e[t]}),this.config.skipInactive||this.backToNormal(),typeof e.speed<"u"&&this.speedService.send({type:"SET_SPEED",payload:{speed:e.speed}}),typeof e.mouseTail<"u"&&(e.mouseTail===!1?this.mouseTail&&(this.mouseTail.style.display="none"):(this.mouseTail||(this.mouseTail=document.createElement("canvas"),this.mouseTail.width=Number.parseFloat(this.iframe.width),this.mouseTail.height=Number.parseFloat(this.iframe.height),this.mouseTail.classList.add("replayer-mouse-tail"),this.wrapper.insertBefore(this.mouseTail,this.iframe)),this.mouseTail.style.display="inherit"))}getMetaData(){let e=this.service.state.context.events[0],t=this.service.state.context.events[this.service.state.context.events.length-1];return{startTime:e.timestamp,endTime:t.timestamp,totalTime:t.timestamp-e.timestamp}}getCurrentTime(){return this.timer.timeOffset+this.getTimeOffset()}getTimeOffset(){let{baselineTime:e,events:t}=this.service.state.context;return e-t[0].timestamp}getMirror(){return this.mirror}play(e=0){var t,n;this.service.state.matches("paused")?this.service.send({type:"PLAY",payload:{timeOffset:e}}):(this.service.send({type:"PAUSE"}),this.service.send({type:"PLAY",payload:{timeOffset:e}})),(n=(t=this.iframe.contentDocument)==null?void 0:t.getElementsByTagName("html")[0])==null||n.classList.remove("rrweb-paused"),this.emitter.emit(ve.Start)}pause(e){var t,n;e===void 0&&this.service.state.matches("playing")&&this.service.send({type:"PAUSE"}),typeof e=="number"&&(this.play(e),this.service.send({type:"PAUSE"})),(n=(t=this.iframe.contentDocument)==null?void 0:t.getElementsByTagName("html")[0])==null||n.classList.add("rrweb-paused"),this.emitter.emit(ve.Pause)}resume(e=0){this.warn("The 'resume' was deprecated in 1.0. Please use 'play' method which has the same interface."),this.play(e),this.emitter.emit(ve.Resume)}destroy(){this.pause(),this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset(),this.config.root.removeChild(this.wrapper),this.emitter.emit(ve.Destroy)}startLive(e){this.service.send({type:"TO_LIVE",payload:{baselineTime:e}})}addEvent(e){let t=this.config.unpackFn?this.config.unpackFn(e):e;Nb(t)&&this.mouse.classList.add("touch-device"),Promise.resolve().then(()=>this.service.send({type:"ADD_EVENT",payload:{event:t}}))}enableInteract(){this.iframe.setAttribute("scrolling","auto"),this.iframe.style.pointerEvents="auto"}disableInteract(){this.iframe.setAttribute("scrolling","no"),this.iframe.style.pointerEvents="none"}resetCache(){this.cache=Gy()}setupDom(){this.wrapper=document.createElement("div"),this.wrapper.classList.add("replayer-wrapper"),this.config.root.appendChild(this.wrapper),this.mouse=document.createElement("div"),this.mouse.classList.add("replayer-mouse"),this.wrapper.appendChild(this.mouse),this.config.mouseTail!==!1&&(this.mouseTail=document.createElement("canvas"),this.mouseTail.classList.add("replayer-mouse-tail"),this.mouseTail.style.display="inherit",this.wrapper.appendChild(this.mouseTail)),this.iframe=document.createElement("iframe");let e=["allow-same-origin"];this.config.UNSAFE_replayCanvas&&e.push("allow-scripts"),this.iframe.style.display="none",this.iframe.setAttribute("sandbox",e.join(" ")),this.disableInteract(),this.wrapper.appendChild(this.iframe),this.iframe.contentWindow&&this.iframe.contentDocument&&(mk(this.iframe.contentWindow,this.iframe.contentDocument),gw(this.iframe.contentWindow))}rebuildFullSnapshot(e,t=!1){if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");Object.keys(this.legacy_missingNodeRetryMap).length&&this.warn("Found unresolved missing node map",this.legacy_missingNodeRetryMap),this.legacy_missingNodeRetryMap={};let n=[],i=new Set,o=a((f,d)=>{if(f.nodeName==="DIALOG"&&i.add(f),this.collectIframeAndAttachDocument(n,f),this.mediaManager.isSupportedMediaElement(f)){let{events:p}=this.service.state.context;this.mediaManager.addMediaElements(f,e.timestamp-p[0].timestamp,this.mirror)}for(let p of this.config.plugins||[])p.onBuild&&p.onBuild(f,{id:d,replayer:this})},"afterAppend");this.usingVirtualDom&&(this.virtualDom.destroyTree(),this.usingVirtualDom=!1),this.mirror.reset(),pN(e.data.node,{doc:this.iframe.contentDocument,afterAppend:o,cache:this.cache,mirror:this.mirror}),o(this.iframe.contentDocument,e.data.node.id);for(let{mutationInQueue:f,builtNode:d}of n)this.attachDocumentToIframe(f,d),this.newDocumentQueue=this.newDocumentQueue.filter(p=>p!==f);let{documentElement:l,head:u}=this.iframe.contentDocument;this.insertStyleRules(l,u),i.forEach(f=>Ta(f)),this.service.state.matches("playing")||this.iframe.contentDocument.getElementsByTagName("html")[0].classList.add("rrweb-paused"),this.emitter.emit(ve.FullsnapshotRebuilded,e),t||this.waitForStylesheetLoad(),this.config.UNSAFE_replayCanvas&&this.preloadAllImages()}insertStyleRules(e,t){var n;let i=Ek(this.config.blockClass).concat(this.config.insertStyleRules);if(this.config.pauseAnimation&&i.push("html.rrweb-paused *, html.rrweb-paused *:before, html.rrweb-paused *:after { animation-play-state: paused !important; }"),!!i.length)if(this.usingVirtualDom){let o=this.virtualDom.createElement("style");this.virtualDom.mirror.add(o,lw(o,this.virtualDom.unserializedId)),e.insertBefore(o,t),o.rules.push({source:z.StyleSheetRule,adds:i.map((l,u)=>({rule:l,index:u}))})}else{let o=document.createElement("style");e.insertBefore(o,t);for(let l=0;l<i.length;l++)(n=o.sheet)==null||n.insertRule(i[l],l)}}attachDocumentToIframe(e,t){let n=this.usingVirtualDom?this.virtualDom.mirror:this.mirror,i=[],o=new Set,l=a((u,f)=>{u.nodeName==="DIALOG"&&o.add(u),this.collectIframeAndAttachDocument(i,u);let d=n.getMeta(u);if(d?.type===Pr.Element&&d?.tagName.toUpperCase()==="HTML"){let{documentElement:p,head:g}=t.contentDocument;this.insertStyleRules(p,g)}if(!this.usingVirtualDom)for(let p of this.config.plugins||[])p.onBuild&&p.onBuild(u,{id:f,replayer:this})},"afterAppend");ws(e.node,{doc:t.contentDocument,mirror:n,hackCss:!0,skipChild:!1,afterAppend:l,cache:this.cache}),l(t.contentDocument,e.node.id);for(let{mutationInQueue:u,builtNode:f}of i)this.attachDocumentToIframe(u,f),this.newDocumentQueue=this.newDocumentQueue.filter(d=>d!==u);o.forEach(u=>Ta(u))}collectIframeAndAttachDocument(e,t){if(Ss(t,this.mirror)){let n=this.newDocumentQueue.find(i=>i.parentId===this.mirror.getId(t));n&&e.push({mutationInQueue:n,builtNode:t})}}waitForStylesheetLoad(){var e;let t=(e=this.iframe.contentDocument)==null?void 0:e.head;if(t){let n=new Set,i,o=this.service.state,l=a(()=>{o=this.service.state},"stateHandler");this.emitter.on(ve.Start,l),this.emitter.on(ve.Pause,l);let u=a(()=>{this.emitter.off(ve.Start,l),this.emitter.off(ve.Pause,l)},"unsubscribe");t.querySelectorAll('link[rel="stylesheet"]').forEach(f=>{f.sheet||(n.add(f),f.addEventListener("load",()=>{n.delete(f),n.size===0&&i!==-1&&(o.matches("playing")&&this.play(this.getCurrentTime()),this.emitter.emit(ve.LoadStylesheetEnd),i&&clearTimeout(i),u())}))}),n.size>0&&(this.service.send({type:"PAUSE"}),this.emitter.emit(ve.LoadStylesheetStart),i=setTimeout(()=>{o.matches("playing")&&this.play(this.getCurrentTime()),i=-1,u()},this.config.loadTimeout))}}async preloadAllImages(){let e=[];for(let t of this.service.state.context.events)t.type===Y.IncrementalSnapshot&&t.data.source===z.CanvasMutation&&(e.push(this.deserializeAndPreloadCanvasEvents(t.data,t)),("commands"in t.data?t.data.commands:[t.data]).forEach(i=>{this.preloadImages(i,t)}));return Promise.all(e)}preloadImages(e,t){if(e.property==="drawImage"&&typeof e.args[0]=="string"&&!this.imageMap.has(t)){let n=document.createElement("canvas"),i=n.getContext("2d"),o=i?.createImageData(n.width,n.height);i?.putImageData(o,0,0)}}async deserializeAndPreloadCanvasEvents(e,t){if(!this.canvasEventMap.has(t)){let n={isUnchanged:!0};if("commands"in e){let i=await Promise.all(e.commands.map(async o=>{let l=await Promise.all(o.args.map(rn(this.imageMap,null,n)));return{...o,args:l}}));n.isUnchanged===!1&&this.canvasEventMap.set(t,{...e,commands:i})}else{let i=await Promise.all(e.args.map(rn(this.imageMap,null,n)));n.isUnchanged===!1&&this.canvasEventMap.set(t,{...e,args:i})}}}applyIncremental(e,t){var n,i,o;let{data:l}=e;switch(l.source){case z.Mutation:{try{this.applyMutation(l,t)}catch(u){this.warn(`Exception in mutation ${u.message||u}`,l)}break}case z.Drag:case z.TouchMove:case z.MouseMove:if(t){let u=l.positions[l.positions.length-1];this.mousePos={x:u.x,y:u.y,id:u.id,debugData:l}}else l.positions.forEach(u=>{let f={doAction:a(()=>{this.moveAndHover(u.x,u.y,u.id,t,l)},"doAction"),delay:u.timeOffset+e.timestamp-this.service.state.context.baselineTime};this.timer.addAction(f)}),this.timer.addAction({doAction(){},delay:e.delay-((n=l.positions[0])==null?void 0:n.timeOffset)});break;case z.MouseInteraction:{if(l.id===-1)break;let u=new Event(nn(re[l.type])),f=this.mirror.getNode(l.id);if(!f)return this.debugNodeNotFound(l,l.id);this.emitter.emit(ve.MouseInteraction,{type:l.type,target:f});let{triggerFocus:d}=this.config;switch(l.type){case re.Blur:"blur"in f&&f.blur();break;case re.Focus:d&&f.focus&&f.focus({preventScroll:!0});break;case re.Click:case re.TouchStart:case re.TouchEnd:case re.MouseDown:case re.MouseUp:t?(l.type===re.TouchStart?this.touchActive=!0:l.type===re.TouchEnd&&(this.touchActive=!1),l.type===re.MouseDown?this.lastMouseDownEvent=[f,u]:l.type===re.MouseUp&&(this.lastMouseDownEvent=null),this.mousePos={x:l.x||0,y:l.y||0,id:l.id,debugData:l}):(l.type===re.TouchStart&&(this.tailPositions.length=0),this.moveAndHover(l.x||0,l.y||0,l.id,t,l),l.type===re.Click?(this.mouse.classList.remove("active"),this.mouse.offsetWidth,this.mouse.classList.add("active")):l.type===re.TouchStart?(this.mouse.offsetWidth,this.mouse.classList.add("touch-active")):l.type===re.TouchEnd?this.mouse.classList.remove("touch-active"):f.dispatchEvent(u));break;case re.TouchCancel:t?this.touchActive=!1:this.mouse.classList.remove("touch-active");break;default:f.dispatchEvent(u)}break}case z.Scroll:{if(l.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);u.scrollData=l;break}this.applyScroll(l,t);break}case z.ViewportResize:this.emitter.emit(ve.Resize,{width:l.width,height:l.height});break;case z.Input:{if(l.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);u.inputData=l;break}this.applyInput(l);break}case z.MediaInteraction:{let u=this.usingVirtualDom?this.virtualDom.mirror.getNode(l.id):this.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);let f=u,{events:d}=this.service.state.context;this.mediaManager.mediaMutation({target:f,timeOffset:e.timestamp-d[0].timestamp,mutation:l});break}case z.StyleSheetRule:case z.StyleDeclaration:{this.usingVirtualDom?l.styleId?this.constructedStyleMutations.push(l):l.id&&((i=this.virtualDom.mirror.getNode(l.id))==null||i.rules.push(l)):this.applyStyleSheetMutation(l);break}case z.CanvasMutation:{if(!this.config.UNSAFE_replayCanvas)return;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);u.canvasMutations.push({event:e,mutation:l})}else{let u=this.mirror.getNode(l.id);if(!u)return this.debugNodeNotFound(l,l.id);Lb({event:e,mutation:l,target:u,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})}break}case z.Font:{try{let u=new FontFace(l.family,l.buffer?new Uint8Array(JSON.parse(l.fontSource)):l.fontSource,l.descriptors);(o=this.iframe.contentDocument)==null||o.fonts.add(u)}catch(u){this.warn(u)}break}case z.Selection:{if(t){this.lastSelectionData=l;break}this.applySelection(l);break}case z.AdoptedStyleSheet:{this.usingVirtualDom?this.adoptedStyleSheets.push(l):this.applyAdoptedStyleSheet(l);break}}}applyMutation(e,t){if(this.config.useVirtualDom&&!this.usingVirtualDom&&t&&(this.usingVirtualDom=!0,xD(this.iframe.contentDocument,this.mirror,this.virtualDom),Object.keys(this.legacy_missingNodeRetryMap).length))for(let d in this.legacy_missingNodeRetryMap)try{let p=this.legacy_missingNodeRetryMap[d],g=aw(p.node,this.virtualDom,this.mirror);g&&(p.node=g)}catch(p){this.warn(p)}let n=this.usingVirtualDom?this.virtualDom.mirror:this.mirror;e.removes=e.removes.filter(d=>n.getNode(d.id)?!0:(this.warnNodeNotFound(e,d.id),!1)),e.removes.forEach(d=>{var p;let g=n.getNode(d.id);if(!g)return;let m=n.getNode(d.parentId);if(!m)return this.warnNodeNotFound(e,d.parentId);if(d.isShadow&&Rn(m)&&(m=m.shadowRoot),n.removeNodeFromMap(g),m)try{m.removeChild(g),this.usingVirtualDom&&g.nodeName==="#text"&&m.nodeName==="STYLE"&&((p=m.rules)==null?void 0:p.length)>0&&(m.rules=[])}catch(b){if(b instanceof DOMException)this.warn("parent could not remove child in mutation",m,g,e);else throw b}});let i={...this.legacy_missingNodeRetryMap},o=[],l=a(d=>{let p=null;return d.nextId&&(p=n.getNode(d.nextId)),d.nextId!==null&&d.nextId!==void 0&&d.nextId!==-1&&!p},"nextNotInDOM"),u=a(d=>{var p,g;if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");let m=n.getNode(d.parentId);if(!m)return d.node.type===Pr.Document?this.newDocumentQueue.push(d):o.push(d);d.node.isShadow&&(Rn(m)||m.attachShadow({mode:"open"}),m=m.shadowRoot);let b=null,E=null;if(d.previousId&&(b=n.getNode(d.previousId)),d.nextId&&(E=n.getNode(d.nextId)),l(d))return o.push(d);if(d.node.rootId&&!n.getNode(d.node.rootId))return;let w=d.node.rootId?n.getNode(d.node.rootId):this.usingVirtualDom?this.virtualDom:this.iframe.contentDocument;if(Ss(m,n)){this.attachDocumentToIframe(d,m);return}let S=a((M,A)=>{if(!this.usingVirtualDom){Ta(M);for(let O of this.config.plugins||[])O.onBuild&&O.onBuild(M,{id:A,replayer:this})}},"afterAppend"),x=ws(d.node,{doc:w,mirror:n,skipChild:!0,hackCss:!0,cache:this.cache,afterAppend:S});if(d.previousId===-1||d.nextId===-1){i[d.node.id]={node:x,mutation:d};return}let R=n.getMeta(m);if(R&&R.type===Pr.Element&&d.node.type===Pr.Text){let M=Array.isArray(m.childNodes)?m.childNodes:Array.from(m.childNodes);if(R.tagName==="textarea")for(let A of M)A.nodeType===m.TEXT_NODE&&m.removeChild(A);else if(R.tagName==="style"&&M.length===1)for(let A of M)A.nodeType===m.TEXT_NODE&&!n.hasNode(A)&&(x.textContent=A.textContent,m.removeChild(A))}else if(R?.type===Pr.Document){let M=m;d.node.type===Pr.DocumentType&&((p=M.childNodes[0])==null?void 0:p.nodeType)===Node.DOCUMENT_TYPE_NODE&&M.removeChild(M.childNodes[0]),x.nodeName==="HTML"&&M.documentElement&&M.removeChild(M.documentElement)}if(b&&b.nextSibling&&b.nextSibling.parentNode?m.insertBefore(x,b.nextSibling):E&&E.parentNode?m.contains(E)?m.insertBefore(x,E):m.insertBefore(x,null):m.appendChild(x),S(x,d.node.id),this.usingVirtualDom&&x.nodeName==="#text"&&m.nodeName==="STYLE"&&((g=m.rules)==null?void 0:g.length)>0&&(m.rules=[]),Ss(x,this.mirror)){let M=this.mirror.getId(x),A=this.newDocumentQueue.find(O=>O.parentId===M);A&&(this.attachDocumentToIframe(A,x),this.newDocumentQueue=this.newDocumentQueue.filter(O=>O!==A))}(d.previousId||d.nextId)&&this.legacy_resolveMissingNode(i,m,x,d)},"appendNode");e.adds.forEach(d=>{u(d)});let f=Date.now();for(;o.length;){let d=$D(o);if(o.length=0,Date.now()-f>500){this.warn("Timeout in the loop, please check the resolve tree data:",d);break}for(let p of d)n.getNode(p.value.parentId)?yw(p,m=>{u(m)}):this.debug("Drop resolve tree since there is no parent for the root node.",p)}Object.keys(i).length&&Object.assign(this.legacy_missingNodeRetryMap,i),BD(e.texts).forEach(d=>{var p;let g=n.getNode(d.id);if(!g)return e.removes.find(b=>b.id===d.id)?void 0:this.warnNodeNotFound(e,d.id);let m=g.parentElement;if(d.value&&m&&m.tagName==="STYLE"?g.textContent=cl(d.value,this.cache):g.textContent=d.value,this.usingVirtualDom){let b=g.parentNode;((p=b?.rules)==null?void 0:p.length)>0&&(b.rules=[])}}),e.attributes.forEach(d=>{var p;let g=n.getNode(d.id);if(!g)return e.removes.find(m=>m.id===d.id)?void 0:this.warnNodeNotFound(e,d.id);for(let m in d.attributes)if(typeof m=="string"){let b=d.attributes[m];if(b===null)g.removeAttribute(m),m==="open"&&Mk(g,d);else if(typeof b=="string")try{if(m==="_cssText"&&(g.nodeName==="LINK"||g.nodeName==="STYLE"))try{let E=n.getMeta(g),w=ws({...E,attributes:{...E.attributes,...d.attributes}},{doc:g.ownerDocument,mirror:n,skipChild:!0,hackCss:!0,cache:this.cache});Object.assign(E.attributes,d.attributes);let S=g.nextSibling,x=g.parentNode;if(w&&x){x.removeChild(g),x.insertBefore(w,S),n.replace(d.id,w);break}}catch{}if(m==="value"&&g.nodeName==="TEXTAREA"){let E=g;E.childNodes.forEach(S=>E.removeChild(S));let w=(p=g.ownerDocument)==null?void 0:p.createTextNode(b);w&&E.appendChild(w)}else g.setAttribute(m,b);m==="rr_open_mode"&&g.nodeName==="DIALOG"&&Ta(g,d)}catch(E){this.warn("An error occurred may due to the checkout feature.",E)}else if(m==="style"){let E=b,w=g;for(let S in E)if(E[S]===!1)w.style.removeProperty(S);else if(E[S]instanceof Array){let x=E[S];w.style.setProperty(S,x[0],x[1])}else{let x=E[S];w.style.setProperty(S,x)}}}})}applyScroll(e,t){var n,i;let o=this.mirror.getNode(e.id);if(!o)return this.debugNodeNotFound(e,e.id);let l=this.mirror.getMeta(o);if(o===this.iframe.contentDocument)(n=this.iframe.contentWindow)==null||n.scrollTo({top:e.y,left:e.x,behavior:t?"auto":"smooth"});else if(l?.type===Pr.Document)(i=o.defaultView)==null||i.scrollTo({top:e.y,left:e.x,behavior:t?"auto":"smooth"});else try{o.scrollTo({top:e.y,left:e.x,behavior:t?"auto":"smooth"})}catch{}}applyInput(e){let t=this.mirror.getNode(e.id);if(!t)return this.debugNodeNotFound(e,e.id);try{t.checked=e.isChecked,t.value=e.text}catch{}}applySelection(e){try{let t=new Set,n=e.ranges.map(({start:i,startOffset:o,end:l,endOffset:u})=>{let f=this.mirror.getNode(i),d=this.mirror.getNode(l);if(!f||!d)return;let p=new Range;p.setStart(f,o),p.setEnd(d,u);let g=f.ownerDocument,m=g?.getSelection();return m&&t.add(m),{range:p,selection:m}});t.forEach(i=>i.removeAllRanges()),n.forEach(i=>{var o;return i&&((o=i.selection)==null?void 0:o.addRange(i.range))})}catch{}}applyStyleSheetMutation(e){var t;let n=null;e.styleId?n=this.styleMirror.getStyle(e.styleId):e.id&&(n=((t=this.mirror.getNode(e.id))==null?void 0:t.sheet)||null),n&&(e.source===z.StyleSheetRule?this.applyStyleSheetRule(e,n):e.source===z.StyleDeclaration&&this.applyStyleDeclaration(e,n))}applyStyleSheetRule(e,t){var n,i,o,l;if((n=e.adds)==null||n.forEach(({rule:u,index:f})=>{try{if(Array.isArray(f)){let{positions:d,index:p}=hb(f);gs(t.cssRules,d).insertRule(u,p)}else{let d=f===void 0?void 0:Math.min(f,t.cssRules.length);t?.insertRule(u,d)}}catch{}}),(i=e.removes)==null||i.forEach(({index:u})=>{try{if(Array.isArray(u)){let{positions:f,index:d}=hb(u);gs(t.cssRules,f).deleteRule(d||0)}else t?.deleteRule(u)}catch{}}),e.replace)try{(o=t.replace)==null||o.call(t,e.replace)}catch{}if(e.replaceSync)try{(l=t.replaceSync)==null||l.call(t,e.replaceSync)}catch{}}applyStyleDeclaration(e,t){e.set&&gs(t.rules,e.index).style.setProperty(e.set.property,e.set.value,e.set.priority),e.remove&&gs(t.rules,e.index).style.removeProperty(e.remove.property)}applyAdoptedStyleSheet(e){var t;let n=this.mirror.getNode(e.id);if(!n)return;(t=e.styles)==null||t.forEach(u=>{var f;let d=null,p=null;if(Rn(n)?p=((f=n.ownerDocument)==null?void 0:f.defaultView)||null:n.nodeName==="#document"&&(p=n.defaultView),!!p)try{d=new p.CSSStyleSheet,this.styleMirror.add(d,u.styleId),this.applyStyleSheetRule({source:z.StyleSheetRule,adds:u.rules},d)}catch{}});let i=10,o=0,l=a((u,f)=>{let d=f.map(p=>this.styleMirror.getStyle(p)).filter(p=>p!==null);Rn(u)?u.shadowRoot.adoptedStyleSheets=d:u.nodeName==="#document"&&(u.adoptedStyleSheets=d),d.length!==f.length&&o<i&&(setTimeout(()=>l(u,f),0+100*o),o++)},"adoptStyleSheets");l(n,e.styleIds)}legacy_resolveMissingNode(e,t,n,i){let{previousId:o,nextId:l}=i,u=o&&e[o],f=l&&e[l];if(u){let{node:d,mutation:p}=u;t.insertBefore(d,n),delete e[p.node.id],delete this.legacy_missingNodeRetryMap[p.node.id],(p.previousId||p.nextId)&&this.legacy_resolveMissingNode(e,t,d,p)}if(f){let{node:d,mutation:p}=f;t.insertBefore(d,n.nextSibling),delete e[p.node.id],delete this.legacy_missingNodeRetryMap[p.node.id],(p.previousId||p.nextId)&&this.legacy_resolveMissingNode(e,t,d,p)}}moveAndHover(e,t,n,i,o){let l=this.mirror.getNode(n);if(!l)return this.debugNodeNotFound(o,n);let u=Ew(l,this.iframe),f=e*u.absoluteScale+u.x,d=t*u.absoluteScale+u.y;this.mouse.style.left=`${f}px`,this.mouse.style.top=`${d}px`,i||this.drawMouseTail({x:f,y:d}),this.hoverElements(l)}drawMouseTail(e){if(!this.mouseTail)return;let{lineCap:t,lineWidth:n,strokeStyle:i,duration:o}=this.config.mouseTail===!0?af:Object.assign({},af,this.config.mouseTail),l=a(()=>{if(!this.mouseTail)return;let u=this.mouseTail.getContext("2d");!u||!this.tailPositions.length||(u.clearRect(0,0,this.mouseTail.width,this.mouseTail.height),u.beginPath(),u.lineWidth=n,u.lineCap=t,u.strokeStyle=i,u.moveTo(this.tailPositions[0].x,this.tailPositions[0].y),this.tailPositions.forEach(f=>u.lineTo(f.x,f.y)),u.stroke())},"draw");this.tailPositions.push(e),l(),setTimeout(()=>{this.tailPositions=this.tailPositions.filter(u=>u!==e),l()},o/this.speedService.state.context.timer.speed)}hoverElements(e){var t;(t=this.lastHoveredRootNode||this.iframe.contentDocument)==null||t.querySelectorAll(".\\:hover").forEach(i=>{i.classList.remove(":hover")}),this.lastHoveredRootNode=e.getRootNode();let n=e;for(;n;)n.classList&&n.classList.add(":hover"),n=n.parentElement}isUserInteraction(e){return e.type!==Y.IncrementalSnapshot?!1:e.data.source>z.Mutation&&e.data.source<=z.Input}backToNormal(){this.nextUserInteractionEvent=null,!this.speedService.state.matches("normal")&&(this.speedService.send({type:"BACK_TO_NORMAL"}),this.emitter.emit(ve.SkipEnd,{speed:this.speedService.state.context.normalSpeed}))}warnNodeNotFound(e,t){this.warn(`Node with id '${t}' not found. `,e)}warnCanvasMutationFailed(e,t){this.warn("Has error on canvas update",t,"canvas mutation:",e)}debugNodeNotFound(e,t){this.debug(`Node with id '${t}' not found. `,e)}warn(...e){this.config.showWarning&&this.config.logger.warn(Ob,...e)}debug(...e){this.config.showDebug&&this.config.logger.log(Ob,...e)}},{addCustomEvent:FV}=Xt,{freezePage:HV}=Xt,{takeFullSnapshot:$V}=Xt,Ik="0.0.3-beta.1";typeof window<"u"&&(window.checksumRRWeb={version:Ik});var an=class extends Error{static{a(this,"TimeoutError")}constructor(){super("Timeout")}};var Fw=!!globalThis.__CHECKSUM_LOG_TIME__,ln=a(r=>{Fw&&console.time(r)},"consoleTime"),cn=a(r=>{Fw&&console.timeEnd(r)},"consoleTimeEnd");var Hw=a((r,e,t=()=>!1)=>{let n=r;for(;;){let i=n.parentElement;if(!i||i.nodeType!==Node.ELEMENT_NODE)return n;if(t(i))break;if(window.getComputedStyle(i).cursor!==e)return n;n=i}},"getClosestElementWithCursor"),Ak=a((r,e)=>{try{if(r.matches("label[for]")&&!r.matches(rs.concat(e).filter(t=>!!t&&t!=="label[for]").join(","))){let t=r.getAttribute("for");if(!t)return!1;let n=document.getElementById(t);if(!n)return!1;let i=n.getAttribute("type");return i?n.tagName.toLowerCase()==="input"&&["checkbox","radio"].includes(i):!1}}catch(t){console.error("interactableParentIsValid",r,t)}return!0},"interactableParentIsValid"),Lk=a((r,e,t)=>{if(!("closest"in r))return null;let n=xn(r,rs.concat(t).filter(o=>!!o).join(","));return!n||!Ak(n,t)?null:n===r?r:Hw(r,e,o=>o===n)??n},"resolveFromInteractableParent"),$w=a((r,e=[])=>{if(!r)return r;let t=window.getComputedStyle(r).cursor;try{if("isContentEditable"in r&&r.isContentEditable)return r;let n=Lk(r,t,e);if(n)return n;if(["auto","default","context-menu","help","progress","wait"].includes(t))return r;let i=Hw(r,t);return i||r}catch(n){return console.error("getCompoundInteractableRootElement",r,n),r}},"getCompoundInteractableRootElement");var Ok=a((r,e)=>r.matches(rs.concat(e.appSpecificInteractableElementsSelectors??[]).filter(n=>!!n).join(","))||Bg.includes(window.getComputedStyle(r).cursor)||r.isContentEditable&&!r.parentElement?.isContentEditable?!0:e.ignoreEventListenersWhenDeterminingInteractability?!1:ku.some(n=>r[n])||Hk(r),"isElementInteractable"),Nk=a((r,e)=>{if(e){if(!r)return!1;let t=r.getAttribute("checksum-data-visible");if(t){let n=t==="true",i=r.getAttribute("checksum-data-visible-under-transparent-element")==="true",o=r.getAttribute("checksum-data-transparently-visible")==="true";return n&&!i||o}}return!gt(r,{markTransparentElementsAsHidden:!1}).isHidden},"isElementVisibleForInteraction"),_k=a((r,e,{appSpecificInteractableElementsSelectors:t,includeCompoundInnerElements:n})=>{let i=$w(e.element,t),o=r.find(l=>l.element===i);return o?!e.disabled&&o.state.disabled&&(o.state.disabled=!1):r.push({element:i,state:{disabled:e.disabled}}),n&&e.element!==i&&Fk(e.element)&&r.push({...e,state:{disabled:e.disabled}}),r},"accumulateCompoundRoot"),Dk=a((r,e)=>r.reduce((t,n)=>_k(t,n,e),[]),"dedupeToCompoundRoots"),kk=a((r,e)=>r.reduce((t,n)=>!e&&n.state.disabled?t:[...t,n.element],[]),"toResponseElements"),Pk=a((r,{appSpecificRules:e,useDataVisibleAttributes:t,excludeCrossOriginIframes:n,includeCompoundInnerElements:i})=>{let o=de("*",r,{excludeCrossOriginIframes:n});ln("[getAllInteractableHTMLElements] items");let l=o.reduce((d,p)=>{if(!Ok(p,e))return d;let g="disabled"in p&&!!p.disabled;return[...d,{element:p,disabled:g}]},[]);cn("[getAllInteractableHTMLElements] items"),ln("[getAllInteractableHTMLElements] getCompoundInteractableRootElement");let u=Dk(l,{appSpecificInteractableElementsSelectors:e.appSpecificInteractableElementsSelectors??[],includeCompoundInnerElements:i});cn("[getAllInteractableHTMLElements] getCompoundInteractableRootElement"),ln("[getAllInteractableHTMLElements] isElementHidden");let f=u.filter(({element:d})=>Nk(d,t));return cn("[getAllInteractableHTMLElements] isElementHidden"),f},"computeInteractableElementsWithState"),Nn=a((r=document,e={},{allowDisabled:t=!1,useDataVisibleAttributes:n=!0,excludeCrossOriginIframes:i=!1,includeCompoundInnerElements:o=!0}={})=>{let l=Ot.getInstance("getAllInteractableHTMLElements",{target:r,log:!1}),u=a(d=>kk(d,t),"makeResponse");if(l.hasCache()){let d=l.get();if(d)return u(d)}let f=Pk(r,{appSpecificRules:e,useDataVisibleAttributes:n,excludeCrossOriginIframes:i,includeCompoundInnerElements:o});return l.set(f),u(f)},"getAllInteractableHTMLElements"),Fk=a(r=>["img","video","audio","a","svg","button"].includes(r.tagName.toLowerCase())?!0:Array.from(r.childNodes).some(e=>e.nodeType===Node.TEXT_NODE&&e.textContent?.trim()),"hasUniqueFeatures"),Hk=a(r=>{let t=r._checksum_eventListenerList;if(t&&ku.some(l=>t[l.slice(2)]))return!0;let n=Object.entries(r).find(([l])=>l.startsWith("__reactFiber")),o=(n?n[1]:void 0)?.memoizedProps;return o?Wg.some(l=>o[l]):!1},"hasFrameworkInteractionListener");function Ww(r,e){return r.contains(e)}a(Ww,"isDescendant");function gl(r){let e={};return Object.entries(r).forEach(([t,n])=>{let i=n;i!==void 0&&(e[t]=i)}),e}a(gl,"formatStaticCandidates");function Vw(r,e,t){let n=[];return n.push(r.getQualifiedAttributes().map(i=>`[${i}="${e.attributes[i]?.value}"]`).join(",")),n.push(r.getQualifiedClasses().map(i=>`.${i}`).join(",")),n.push(...hy(e.innerFeatures,t).map(i=>`*${i}`)),n}a(Vw,"buildCandidateQueries");var Bw=a((r,{useElementSize:e=!1}={})=>{let t=new Set;return r.forEach(n=>{let i=2,o=n;for(;o&&i-- >0;){t.add(o);let l=o.parentElement;if(e&&l&&Math.abs(l.clientWidth-o.clientWidth)>o.clientWidth*.3&&Math.abs(l.clientHeight-o.clientHeight)>o.clientHeight*.3)break;o=l}}),t},"normalizeElements");function Uw(r,e){let t=Bw(r),n=Bw(e),i=new Set;return t.forEach(o=>{n.has(o)&&i.add(o)}),Array.from(i)}a(Uw,"intersectElements");function Bk(r,e){switch(e){case 0:return r.queryCandidates;case 1:return Uw(r.queryCandidates,r.interactableCandidates);case 2:return r.interactableCandidates;case 3:return r.queryCandidates.concat(r.interactableCandidates);default:return[]}}a(Bk,"filterElementsByMode");function zw(r){for(;r.candidates=Bk(r,r.elementsFiltering),!(r.candidates.length||r.elementsFiltering===3);)r.elementsFiltering++;r.candidates.push(...r.getInnerTextCandidates()),r.candidates.length||r.candidates.push(...r.getTagCandidates()),r.uniqueCandidates=r.candidates.filter((e,t,n)=>n.indexOf(e)===t),Wk(r)}a(zw,"collectUniqueCandidates");function Wk(r){let e=r.constructor.limitChildren;if(!e?.length)return;let t=e.map(n=>({...n,parent:document.querySelector(n.selector)}));r.uniqueCandidates=r.uniqueCandidates.filter(n=>{for(let i of t)if(i.parent&&Ww(i.parent,n)&&i.limit--<=0)return!1;return!0})}a(Wk,"applyLimitChildren");function Gw(r){r.rankedCandidates=r.uniqueCandidates.filter(e=>{let t=ri(e);return!!t&&(e instanceof t.HTMLElement||e instanceof t.SVGElement)}).map(r.getSelectionResultForCandidate).sort((e,t)=>t.score-e.score)}a(Gw,"rankCandidates");function qw(r){r.removedCandidates={hidden:[],static:[]},r.filteredAndSortedRankedCandidates=r.rankedCandidates.filter(e=>Vk(r,e))}a(qw,"filterRankedCandidates");function Vk(r,e){let{isHidden:t,clickOffset:n}=r.isHidden(e.candidate);return t===!0?(r.removedCandidates.hidden.push(e),!1):(n&&(e.clickOffset=n),Xo(r.targetElementStaticData)&&!dy(gl(e.esraMetadata.staticCandidates),r.targetElementStaticData)?(e.metadata=JSON.stringify(e.esraMetadata.staticCandidates),r.removedCandidates.static.push(e),!1):!0)}a(Vk,"keepRankedCandidate");function jw(r){r.removedCandidates.hidden.slice().reverse().forEach((e,t,n)=>{e.candidate.tagName==="INPUT"&&r.filteredAndSortedRankedCandidates.some(i=>i.score>.1&&i.candidate.contains(e.candidate))&&(r.removedCandidates.hidden.splice(n.length-1-t,1),r.filteredAndSortedRankedCandidates.push(e))})}a(jw,"recoverHiddenInputParents");function Yw(r){r.filteredAndSortedRankedCandidates=r.filteredAndSortedRankedCandidates.sort((n,i)=>i.score-n.score);let e=r.filteredAndSortedRankedCandidates.length*(1-r.config.results.scorePercentile);r.finalCandidates=[];let t=null;for(let n=0;n<r.filteredAndSortedRankedCandidates.length;++n){let i=r.filteredAndSortedRankedCandidates[n];if(i){if(n>=e&&(!t||t.score-i.score>r.config.results.epsilon))break;t=i,r.finalCandidates.push(i)}}return r.finalCandidates}a(Yw,"selectFinalCandidates");var _n=class r{constructor(e,t){this.targetElementESRAMetadata=e;this.POSITIONING_SATISFACTORY_SCORE=1;this.processStartTime=0;this.targetElementStaticData={};this.elementsFiltering=1;this.qualifiedAttributes=[];this.qualifiedAttributesMap={};this.qualifiedClasses=[];this.candidateQueries=[];this.candidates=[];this.uniqueCandidates=[];this.queryCandidates=[];this.interactableCandidates=[];this.rankedCandidates=[];this.filteredAndSortedRankedCandidates=[];this.finalCandidates=[];this.removedCandidates={hidden:[],static:[]};this.weightsSum=0;this.config={innerText:{dropIfMoreThanNCandidates:5},innerFeatures:{mandatoryPercentage:.6,mandatoryMax:6},results:{scorePercentile:.75,epsilon:.01}};this.getSelectionResultForCandidate=a(e=>{let t=Ot.getInstance("getElementSelectionResult",{log:!1}),n=t.get();n||(n=new Map,t.set(n));let i=n.get(e);if(i)return i;this.checkTimeout();let o=this.extractMetadata(e),{score:l,scores:u}=this.similarity.rank(o),f={score:l,candidate:e,scores:u,esraMetadata:o};return n.set(e,f),t.set(n),f},"getSelectionResultForCandidate");this.targetElementStaticData=t??gl(e.staticMetadata??{}),this.similarity=new jo(this.targetElementESRAMetadata),this.esraMetadataExtractor=new Dr(document)}static{a(this,"ESRASelector")}makeWeight(e){return this.weightsSum+=e,e}getWeight(e){return e/this.weightsSum}extractMetadata(e){return new Vo(this.esraMetadataExtractor.extract(e).toMetadata())}getLastSelectionLogs(e=5){return Ug(this,e)}selectByPositioning(){let e=this.targetElementESRAMetadata.positioning;if(window.innerWidth!==e.viewport.size.width||window.innerHeight!==e.viewport.size.height)return;let t=document.elementFromPoint(e.viewport.element.left*window.innerWidth,e.viewport.element.top*window.innerHeight);if(!(t instanceof HTMLElement))return;let n=this.extractMetadata(t),{score:i}=this.similarity.rank(n);return i>=this.POSITIONING_SATISFACTORY_SCORE?{candidate:t,score:i,esraMetadata:n}:void 0}collectCandidates(){this.candidateQueries.push(...Vw(this.similarity,this.targetElementESRAMetadata,this.config)),this.candidates=[];let e=this.candidateQueries.filter(t=>!!t.length).join(",");this.queryCandidates=[],e.length&&(this.queryCandidates=de(e)),this.interactableCandidates=[],this.elementsFiltering!==0&&(this.interactableCandidates=Nn())}select(){return zw(this),this.checkTimeout(),Gw(this),qw(this),this.checkTimeout(),jw(this),Yw(this)}checkTimeout(){if(r.timeout&&Date.now()-this.processStartTime>r.timeout)throw new an}selectOne({elementsFiltering:e=1,minSelectionScore:t=.3}={}){try{this.elementsFiltering=e,this.processStartTime=Date.now();let n=this.selectHtmlTagShortcut();if(n)return n;let i=this.selectByPositioning();if(i)return i;this.collectCandidates();let o=this.selectBestCandidate(t);if(o)return o}catch(n){n instanceof an?console.error("ESRA selection timeout"):console.error("ESRA selection error",n)}return{candidate:document.documentElement,score:0,esraMetadata:this.targetElementESRAMetadata}}selectHtmlTagShortcut(){if(this.targetElementESRAMetadata.tag!=="html")return;let e=document.querySelector("html");if(e)return{candidate:e,score:1,esraMetadata:this.extractMetadata(e)}}selectBestCandidate(e){for(;;){let n=this.select()[0];if(!n)return;let{score:i}=n;if(i<e&&this.elementsFiltering!==3){this.elementsFiltering++;continue}return n}}getFinalCandidates(){return this.finalCandidates}getInnerTextCandidates(){let e=this.similarity.getQualifiedInnerText();if(!e)return[];let t=zg(e.content);return t.length>this.config.innerText.dropIfMoreThanNCandidates?[]:t}getTagCandidates(){return de(this.targetElementESRAMetadata.tag)}isHidden(e){return gt(e,{useCache:!0})}};var Uk=a(r=>r&&(r instanceof HTMLInputElement&&/|text|email|number|password|search|tel|url/.test(r.type||"")||r instanceof HTMLTextAreaElement)?!(r.disabled||r.readOnly):!1,"isEditableInputOrTextArea"),zk=a(r=>(r.ctrlKey?"ctrl ":"")+(r.altKey?"alt ":"")+(r.shiftKey?"shift ":"")+(r.metaKey?"meta ":"")+r.key,"formatKeyProperties"),Kw=a(r=>{let e=a((n,i)=>{r({key:n,eventTarget:i})},"sendKeyEvent"),t=a(n=>{try{if(Uk(n.target))return;e(zk(n),n.target)}catch{}},"onKeyUp");window.addEventListener("keyup",n=>{t(n)})},"startKeyboardObserver");var yl=class r{constructor(e=document,t){this.target=e;this.onEvent=t;this.monitoredTextElements=[];this.inputEnabledSelectors=["[contenteditable=true]"].join(",");this.iframeObservers=[];this.monitorInputEnabledElement=a(e=>{e.addEventListener("input",t=>{this.onEvent({text:t.target.innerText,eventTarget:t.target})})},"monitorInputEnabledElement")}static{a(this,"ContendEditableObserver")}startObserver(){this.startIframesObserver(),this.observer=new MutationObserver(e=>{e.forEach(t=>{t.addedNodes.forEach(n=>{if(n.nodeType!==Node.ELEMENT_NODE)return;let i=n;i.matches(this.inputEnabledSelectors)||i.isContentEditable?this.monitorInputEnabledElement(i):Array.from(de("*",i)).filter(o=>o.matches(this.inputEnabledSelectors)||o.isContentEditable).forEach(this.monitorInputEnabledElement)})})}),this.observer.observe(this.target,{childList:!0,subtree:!0,attributes:!0,characterData:!0,attributeOldValue:!0,characterDataOldValue:!0}),this.startInputMonitoring()}startIframesObserver(){setInterval(()=>{de("iframe",this.target).forEach(t=>{if(this.iframeObservers.some(l=>l.iframe===t))return;let n=a(l=>{if(l.iframe.contentWindow)try{l.observer=new r(l.iframe.contentWindow.document,this.onEvent),l.observer.startObserver()}catch{}},"observeIframe"),i=t,o={iframe:i,observer:null};this.iframeObservers.push(o),i.contentWindow?n(o):i.addEventListener("load",()=>{n(o)})})},500)}startInputMonitoring(){this.monitoredTextElements=de(this.inputEnabledSelectors,this.target),this.monitoredTextElements.forEach(this.monitorInputEnabledElement)}};var bl=class{constructor(e){this.onEvent=e;this.onURLChange=a(()=>{setTimeout(()=>{let e=window.location.href;if(e!==this.currentURL){this.currentURL=e;try{this.onEvent({url:e})}catch{}}})},"onURLChange")}static{a(this,"URLObserver")}start(){window.addEventListener("popstate",()=>{this.onURLChange()}),window.addEventListener("locationchange",()=>{this.onURLChange()}),window.addEventListener("hashchange",()=>{this.onURLChange()});let e=window.history.pushState;window.history.pushState=(...n)=>(this.onURLChange(),e.apply(window.history,n));let t=window.history.replaceState;window.history.replaceState=(...n)=>(this.onURLChange(),t.apply(window.history,n))}};var un={defaultMerge:Symbol("deepmerge-ts: default merge"),skip:Symbol("deepmerge-ts: skip")},GU={defaultMerge:un.defaultMerge};function Gk(r,e){return e}a(Gk,"defaultMetaDataUpdater");function qk(r,e){return r.filter(t=>t!==void 0)}a(qk,"defaultFilterValues");var Xw;(function(r){r[r.NOT=0]="NOT",r[r.RECORD=1]="RECORD",r[r.ARRAY=2]="ARRAY",r[r.SET=3]="SET",r[r.MAP=4]="MAP",r[r.OTHER=5]="OTHER"})(Xw||(Xw={}));function Zw(r){return typeof r!="object"||r===null?0:Array.isArray(r)?2:Kk(r)?1:r instanceof Set?3:r instanceof Map?4:5}a(Zw,"getObjectType");function jk(r){let e=new Set;for(let t of r)for(let n of[...Object.keys(t),...Object.getOwnPropertySymbols(t)])e.add(n);return e}a(jk,"getKeys");function Yk(r,e){return typeof r=="object"&&Object.prototype.propertyIsEnumerable.call(r,e)}a(Yk,"objectHasProperty");function Qw(r){let e=0,t=r[0]?.[Symbol.iterator]();return{[Symbol.iterator](){return{next(){do{if(t===void 0)return{done:!0,value:void 0};let n=t.next();if(n.done===!0){e+=1,t=r[e]?.[Symbol.iterator]();continue}return{done:!1,value:n.value}}while(!0)}}}}}a(Qw,"getIterableOfIterables");var Jw=["[object Object]","[object Module]"];function Kk(r){if(!Jw.includes(Object.prototype.toString.call(r)))return!1;let{constructor:e}=r;if(e===void 0)return!0;let t=e.prototype;return!(t===null||typeof t!="object"||!Jw.includes(Object.prototype.toString.call(t))||!t.hasOwnProperty("isPrototypeOf"))}a(Kk,"isRecord");function Xk(r,e,t){let n={};for(let i of jk(r)){let o=[];for(let f of r)Yk(f,i)&&o.push(f[i]);if(o.length===0)continue;let l=e.metaDataUpdater(t,{key:i,parents:r}),u=tS(o,e,l);u!==un.skip&&(i==="__proto__"?Object.defineProperty(n,i,{value:u,configurable:!0,enumerable:!0,writable:!0}):n[i]=u)}return n}a(Xk,"mergeRecords$1");function Zk(r){return r.flat()}a(Zk,"mergeArrays$1");function Jk(r){return new Set(Qw(r))}a(Jk,"mergeSets$1");function Qk(r){return new Map(Qw(r))}a(Qk,"mergeMaps$1");function eP(r){return r.at(-1)}a(eP,"mergeOthers$1");var El={mergeRecords:Xk,mergeArrays:Zk,mergeSets:Jk,mergeMaps:Qk,mergeOthers:eP};function eS(...r){return tP({})(...r)}a(eS,"deepmerge");function tP(r,e){let t=rP(r,n);function n(...i){return tS(i,t,e)}return a(n,"customizedDeepmerge"),n}a(tP,"deepmergeCustom");function rP(r,e){return{defaultMergeFunctions:El,mergeFunctions:{...El,...Object.fromEntries(Object.entries(r).filter(([t,n])=>Object.hasOwn(El,t)).map(([t,n])=>n===!1?[t,El.mergeOthers]:[t,n]))},metaDataUpdater:r.metaDataUpdater??Gk,deepmerge:e,useImplicitDefaultMerging:r.enableImplicitDefaultMerging??!1,filterValues:r.filterValues===!1?void 0:r.filterValues??qk,actions:un}}a(rP,"getUtils");function tS(r,e,t){let n=e.filterValues?.(r,t)??r;if(n.length===0)return;if(n.length===1)return kd(n,e,t);let i=Zw(n[0]);if(i!==0&&i!==5){for(let o=1;o<n.length;o++)if(Zw(n[o])!==i)return kd(n,e,t)}switch(i){case 1:return nP(n,e,t);case 2:return iP(n,e,t);case 3:return sP(n,e,t);case 4:return oP(n,e,t);default:return kd(n,e,t)}}a(tS,"mergeUnknowns");function nP(r,e,t){let n=e.mergeFunctions.mergeRecords(r,e,t);return n===un.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeRecords!==e.defaultMergeFunctions.mergeRecords?e.defaultMergeFunctions.mergeRecords(r,e,t):n}a(nP,"mergeRecords");function iP(r,e,t){let n=e.mergeFunctions.mergeArrays(r,e,t);return n===un.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeArrays!==e.defaultMergeFunctions.mergeArrays?e.defaultMergeFunctions.mergeArrays(r):n}a(iP,"mergeArrays");function sP(r,e,t){let n=e.mergeFunctions.mergeSets(r,e,t);return n===un.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeSets!==e.defaultMergeFunctions.mergeSets?e.defaultMergeFunctions.mergeSets(r):n}a(sP,"mergeSets");function oP(r,e,t){let n=e.mergeFunctions.mergeMaps(r,e,t);return n===un.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeMaps!==e.defaultMergeFunctions.mergeMaps?e.defaultMergeFunctions.mergeMaps(r):n}a(oP,"mergeMaps");function kd(r,e,t){let n=e.mergeFunctions.mergeOthers(r,e,t);return n===un.defaultMerge||e.useImplicitDefaultMerging&&n===void 0&&e.mergeFunctions.mergeOthers!==e.defaultMergeFunctions.mergeOthers?e.defaultMergeFunctions.mergeOthers(r):n}a(kd,"mergeOthers");var aP=a(()=>{},"selfObserveMutationCallback"),lP={sampling:{mousemove:!1},userTriggeredOnInput:!0,maskInputOptions:{password:!1}},wl=class{constructor(e,t={}){this.eventHandler=e;this.options=t;this.logNativeMutationObserver=!1;this.stopRRWebRecording=a(()=>{},"stopRRWebRecording");this.start=a(()=>{this.stopRRWebRecording=Xt({...this.options,emit:a((e,t)=>{this.eventHandler(e,t)},"emit")})??(()=>{}),this.logNativeMutationObserver&&this.selfObserve(),this.startURLObserver(),this.startKeyboardObserver(),this.startContentEditableObserver()},"start");this.stop=a(()=>{this.stopRRWebRecording()},"stop");this.startURLObserver=a(()=>{this.urlObserver=new bl(({url:e})=>{let t={url:e};this.addCustomEvent("url-change",t)}),this.urlObserver.start()},"startURLObserver");this.startContentEditableObserver=a(()=>{this.contentEditableObserver=new yl(document,({text:e,eventTarget:t})=>{let n={text:e,id:this.tryGetMetaFromEventTarget(t)?.id};this.addCustomEvent("contenteditable-input",n)}),this.contentEditableObserver.startObserver()},"startContentEditableObserver");this.startKeyboardObserver=a(()=>{Kw(({key:e,eventTarget:t})=>{let n={key:e,id:this.tryGetMetaFromEventTarget(t)?.id};this.addCustomEvent("key-stroke",n)})},"startKeyboardObserver");this.addCustomEvent=a((e,t)=>{try{Xt.addCustomEvent(e,t)}catch{}},"addCustomEvent");this.tryGetMetaFromEventTarget=a(e=>{let t;try{t=this.getMeta(e)}catch{}return t},"tryGetMetaFromEventTarget");this.selfObserve=a(()=>{let e=document.getElementsByTagName("body"),t={attributes:!0,childList:!0,subtree:!0},n=new MutationObserver(aP),i=e[0];i&&n.observe(i,t)},"selfObserve");this.getNodeById=a(e=>Xt.mirror.getNode(e),"getNodeById");this.getMeta=a(e=>Xt.mirror.getMeta(e),"getMeta");this.eventHandler=e,this.options=eS(lP,t)}static{a(this,"SessionRecorder")}};var rS=[{selector:'path[d="M17.5 13V15.6667C17.5 16.0203 17.3361 16.3594 17.0444 16.6095C16.7527 16.8595 16.357 17 15.9444 17H5.05556C4.643 17 4.24733 16.8595 3.95561 16.6095C3.66389 16.3594 3.5 16.0203 3.5 15.6667V13"] + path[d="M14.6673 6.92057L10.5007 2.75391L6.33398 6.92057"] + path[d="M10.5 2.75391V12.7539"]',description:"export button"},{selector:'path[d="M16.0893 13.1868C16.6838 12.7754 17.1321 12.1858 17.3697 11.503C17.6072 10.8202 17.6216 10.0796 17.4107 9.38816C17.1999 8.69667 16.7748 8.09007 16.1968 7.65594C15.6187 7.2218 14.9177 6.9826 14.1948 6.97285H12.8308C12.6017 6.20011 12.1996 5.48973 11.6549 4.89565C11.1102 4.30157 10.4374 3.83943 9.68735 3.54431C8.93734 3.24918 8.12995 3.12885 7.32648 3.19244C6.52301 3.25603 5.7446 3.50187 5.05036 3.9113C4.35612 4.32072 3.7643 4.88297 3.31985 5.55533C2.8754 6.22769 2.59001 6.99248 2.48535 7.79164C2.38068 8.59079 2.4595 9.40329 2.71582 10.1674C2.97214 10.9316 3.39921 11.6272 3.96461 12.2016"] + path[d="M10.0273 10.0039V16.8241"] + path[d="M13.0585 13.0351L10.0273 10.0039L6.99609 13.0351"]',description:"import button"},{selector:'path[d="M20.4696 21.5303C20.7625 21.8232 21.2373 21.8232 21.5302 21.5303C21.8231 21.2374 21.8231 20.7626 21.5302 20.4697L20.4696 21.5303ZM17.1802 16.1197C16.8873 15.8268 16.4125 15.8268 16.1196 16.1197C15.8267 16.4126 15.8267 16.8874 16.1196 17.1803L17.1802 16.1197ZM18.25 11C18.25 15.0041 15.0041 18.25 11 18.25V19.75C15.8325 19.75 19.75 15.8325 19.75 11H18.25ZM11 18.25C6.99594 18.25 3.75 15.0041 3.75 11H2.25C2.25 15.8325 6.16751 19.75 11 19.75V18.25ZM3.75 11C3.75 6.99594 6.99594 3.75 11 3.75V2.25C6.16751 2.25 2.25 6.16751 2.25 11H3.75ZM11 3.75C15.0041 3.75 18.25 6.99594 18.25 11H19.75C19.75 6.16751 15.8325 2.25 11 2.25V3.75ZM21.5302 20.4697L17.1802 16.1197L16.1196 17.1803L20.4696 21.5303L21.5302 20.4697Z"]',description:"search"},{selector:'path[d="M3.75 10H16.875"] + path[d="M8.125 5L3.125 10L8.125 15"]',description:"back"},{selector:'path[d="M3.33301 8H12.6663"] + path[d="M8 3.33331L12.6667 7.99998L8 12.6666"]',description:"forward"},{selector:'path[d="M10 4.16667V15.8333"] + path[d="M4.16699 10H15.8337"]',description:"new or Add button"},{selector:'path[d="M10 10.75C10.4142 10.75 10.75 10.4142 10.75 10C10.75 9.58579 10.4142 9.25 10 9.25C9.58579 9.25 9.25 9.58579 9.25 10C9.25 10.4142 9.58579 10.75 10 10.75Z"] + path[d="M15.833 10.75C16.2472 10.75 16.583 10.4142 16.583 10C16.583 9.58579 16.2472 9.25 15.833 9.25C15.4188 9.25 15.083 9.58579 15.083 10C15.083 10.4142 15.4188 10.75 15.833 10.75Z"] + path[d="M4.16699 10.75C4.58121 10.75 4.91699 10.4142 4.91699 10C4.91699 9.58579 4.58121 9.25 4.16699 9.25C3.75278 9.25 3.41699 9.58579 3.41699 10C3.41699 10.4142 3.75278 10.75 4.16699 10.75Z"]',description:"open menu"},{selector:'path[d="M10 4.16667V15.8333"] + path[d="M4.16699 10H15.8337"]',description:"add filter"},{selector:'path[d="M15 5L5 15"] + path[d="M5 5L15 15"]',description:"close or remove"},{selector:'path[d="M4 6L8 10L12 6"]',description:"open or close dropdown"},{selector:'path[d="M10 17.5C14.1421 17.5 17.5 14.1421 17.5 10C17.5 5.85786 14.1421 2.5 10 2.5C5.85786 2.5 2.5 5.85786 2.5 10C2.5 14.1421 5.85786 17.5 10 17.5Z"] + path[d="M12.5 7.5L7.5 12.5"] + path[d="M7.5 7.5L12.5 12.5"]',description:"clear input"},{selector:'path[d="M3.33301 5.49054H4.81449H16.6663"] + path[d="M7.14286 5.49999V3.99999C7.14286 3.60216 7.29337 3.22063 7.56128 2.93932C7.82919 2.65802 8.19255 2.49998 8.57143 2.49998H11.4286C11.8075 2.49998 12.1708 2.65802 12.4387 2.93932C12.7066 3.22063 12.8571 3.60216 12.8571 3.99999V5.49999M15 5.49999V16C15 16.3978 14.8495 16.7793 14.5816 17.0607C14.3137 17.342 13.9503 17.5 13.5714 17.5H6.42857C6.04969 17.5 5.68633 17.342 5.41842 17.0607C5.15051 16.7793 5 16.3978 5 16V5.49999H15Z"] + path[d="M8.33203 9.23726V13.4039"] + path[d="M11.666 9.23726V13.4039"]',description:"delete"},{selector:'path[d="M13.3334 4L6.00008 11.3333L2.66675 8"]',description:"checked"},{selector:'path[d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"]',description:"downward-pointing arrow"},{selector:'path[d="M18.0893 3.08926C18.4147 2.76382 18.4147 2.23618 18.0893 1.91074C17.7638 1.58531 17.2362 1.58531 16.9107 1.91074L18.0893 3.08926ZM9.41074 9.41074L8.82149 10L10 11.1785L10.5893 10.5893L9.41074 9.41074ZM16.9107 1.91074L9.41074 9.41074L10.5893 10.5893L18.0893 3.08926L16.9107 1.91074Z"] + path[d="M17.5 2.5L12.25 17.5L9.25 10.75L2.5 7.75L17.5 2.5Z"]',description:"send"}];var cP=300*1e3,Sl=class{constructor(){this.observer=null;this.monitoringPeriodTimeout=null;this.flashingTextElements=[]}static{a(this,"FlashingElementsDetector")}start(){this.stop(),this.flashingTextElements=[],this.observer=new MutationObserver(e=>{e.forEach(t=>{t.addedNodes.length>0&&t.addedNodes.forEach(n=>{n instanceof HTMLElement&&this.includeElement(n)&&setTimeout(()=>{this.flashingTextElements.push(this.processTextElements(n))},1e3)})})}),this.observer.observe(document.body,{childList:!0,subtree:!0}),this.monitoringPeriodTimeout=setTimeout(()=>{this.stop()},cP)}stop(){this.monitoringPeriodTimeout&&(clearTimeout(this.monitoringPeriodTimeout),this.monitoringPeriodTimeout=null),this.observer&&(this.observer.disconnect(),this.observer=null)}get(){let e=this.flashingTextElements.map(n=>n.filter(i=>!i.isConnected||!i.parentElement||gt(i.parentElement).isHidden)).filter(n=>n.length).map(n=>`<span>${n.map(i=>i.textContent).join("</span><span>")}</span>`),t=new Set(e);return Array.from(t)}stopAndGet(){return this.stop(),this.get()}includeElement(e){return!(e.getElementsByTagName("*").length>50||e.outerHTML.length>5e3)}processTextElements(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null),n,i=[];for(;n=t.nextNode();){let o=n.parentElement;n instanceof Text&&o&&!gt(o).isHidden&&i.push(n)}return i}};var Dn=class{static{a(this,"AlphaNumericCounter")}constructor(e){this.counter=e??"0"}increment(){let e=this.counter.length-1;for(;e>=0;){let t=this.counter.charAt(e);if(t==="9"){this.counter=this.replaceAt(this.counter,e,"a");return}if(t==="z"){if(this.counter=this.replaceAt(this.counter,e,"0"),e===0){this.counter="1"+this.counter;return}e--}else{this.counter=this.replaceAt(this.counter,e,String.fromCharCode(t.charCodeAt(0)+1));return}}}get(){return this.counter}incrementAndGet(){return this.increment(),this.get()}getAndIncrement(){let e=this.get();return this.increment(),e}replaceAt(e,t,n){return e.slice(0,t)+n+e.slice(t+n.length)}static compare(e,t){let n=e.length,i=t.length;if(n!==i)return n-i;for(let o=0;o<n;o++){let l=e.charCodeAt(o),u=t.charCodeAt(o);if(l!==u)return l-u}return 0}};var $s="checksum-ignore",Cl="checksum-get-more-items",nS=20,uP=.7,vl,iS,fP=0,sS=a((r,{forceIncludeAttribute:e,forceIncludeFileInput:t,forceIncludeElements:n,limit:i}={})=>{r.excludedElements?.forEach(E=>{E.removeAttribute($s)});let o=new Set;r.excludedElements=o;let l=r.element,u=i??Math.min(Math.ceil(l.children.length*.5),l.children.length-nS),f=a(E=>e&&(E.hasAttribute(e)||Array.from(E.querySelectorAll(`[${e}]`)).length>0)||t&&E.tagName.toLowerCase()==="input"&&E.type==="file"?!0:n?.includes(E)??!1,"isForceIncluded"),d=a(E=>{let w=0;if(r.elementsToKeep.includes(E))return w;let S=Pd(E);S.length>=r.attributes.length&&w++;let x=S.filter(A=>r.attributes.includes(A)).length;x===r.attributes.length?w+=3:x>0&&w++;let M=Fd(E).filter(A=>r.classes.includes(A)).length;return M===r.classes.length?w+=2:M>0&&w++,w},"scoreElement"),p=Array.from(l.children).filter(E=>E.tagName===r.tagName&&!f(E)).map(E=>({element:E,score:d(E)})).sort((E,w)=>w.score-E.score),{inViewportElements:g,outOfViewportElements:m}=p.reduce((E,w)=>{let{element:S}=w,x=qe(S,"Element")?S:S?.parentElement;return x!==null&&os(x)?E.inViewportElements.push(S):E.outOfViewportElements.push(S),E},{inViewportElements:[],outOfViewportElements:[]}),b=a(E=>{for(let w of E)if(o.add(w),o.size===u)return!0;return!1},"excludeElements");return b(m)||b(g),dP(r),Array.from(o)},"viewportReducer");function dP(r){let{excludedElements:e,element:t}=r;e?.forEach(n=>{n.setAttribute($s,"")}),t._getmoreitemsid||(t._getmoreitemsid="gm"+fP++),r.id=t._getmoreitemsid,t.setAttribute(Cl,r.id)}a(dP,"markTemplateElements");function Pd(r){return Array.from(r.attributes).filter(e=>!e.name.startsWith("checksum")).map(e=>e.name.replace(/[0-9]/g,""))}a(Pd,"mapAttributes");function Fd(r){return r.className?.split(" ").filter(e=>e)??[]}a(Fd,"getElementClasses");function wr(r=document.body,{nodeRepetitionsThreshold:e=nS}={}){try{return console.time("bettertemplatize"),vl=new Set,oS(r,e),console.timeEnd("bettertemplatize"),console.log("[bettertemplatize] templates found:",Array.from(vl)),Array.from(vl)}catch(t){return console.error("[bettertemplatize] failed during template processing:",t instanceof Error?t.message:t),[]}}a(wr,"bettertemplatize");function oS(r,e){Array.from(r.children).forEach(t=>{if(t instanceof SVGElement)return;let n=t.children.length;if(n>=e){let i=Array.from(t.children),o=Math.ceil(n*uP);for(let l=0;l<n;l++){let u=0,f=i.slice(0,l);for(let d=l+1;d<n&&u+n-d>=o;d++)try{let p=i[l],g=i[d];if(p&&g&&aS(p,g)){if(u++,u>=o){vl.add({element:t,...iS,elementsToKeep:f});return}}else g&&f.push(g)}catch{return}}}oS(t,e)})}a(oS,"traverse");var hP=.8,pP=.5,mP=.8,gP=5;function aS(r,e,t=1){let n=[],i=[],o=a(w=>(w&&(iS={attributes:n,classes:i,tagName:r.nodeName}),w),"response");if(r.nodeType!==e.nodeType)return o(!1);if(r instanceof SVGElement&&e instanceof SVGElement||r.nodeType===Node.TEXT_NODE)return o(!0);if(r.nodeType!==Node.ELEMENT_NODE)return o(!1);let l=r,u=e;if(l.tagName.toLowerCase()!==u.tagName.toLowerCase())return o(!1);let f=Pd(l),d=Pd(u);if(n=f.filter(w=>d.includes(w)),n.length/Math.max(f.length,d.length)<hP)return o(!1);let p=Fd(l),g=Fd(u);if(i=p.filter(w=>g.includes(w)),i.length/Math.max(p.length,g.length)<pP)return o(!1);if(t>=gP)return o(!0);if(l.shadowRoot&&!u.shadowRoot||!l.shadowRoot&&u.shadowRoot)return o(!1);let m=Array.from(l.shadowRoot?l.shadowRoot.children:l.children),b=Array.from(u.shadowRoot?u.shadowRoot.children:u.children);if(m.length===0&&b.length===0)return o(!0);let E=0;for(let w=0;w<Math.min(m.length,b.length);w++){let S=m[w],x=b[w];S&&x&&aS(S,x,t+1)&&E++}return E/Math.max(m.length,b.length)<mP?o(!1):o(!0)}a(aS,"areSimilar");function lS(r,e){let t=r.toLowerCase();return e?{resolvedTag:"div",dataTag:null}:t.includes("-")?{resolvedTag:"div",dataTag:t}:{resolvedTag:r,dataTag:null}}a(lS,"resolveTagName");var yP={0:"DomContentLoaded",1:"Load",2:"FullSnapshot",3:"IncrementalSnapshot",4:"Meta",5:"Custom",6:"Plugin",7:"Asset"},bP={[z.Mutation]:"Mutation",[z.MouseMove]:"MouseMove",[z.MouseInteraction]:"MouseInteraction",[z.Scroll]:"Scroll",[z.ViewportResize]:"ViewportResize",[z.Input]:"Input",[z.TouchMove]:"TouchMove",[z.MediaInteraction]:"MediaInteraction",[z.StyleSheetRule]:"StyleSheetRule",[z.CanvasMutation]:"CanvasMutation",[z.Font]:"Font",[z.Log]:"Log",[z.Drag]:"Drag",[z.StyleDeclaration]:"StyleDeclaration"},EP={[re.MouseUp]:"MouseUp",[re.MouseDown]:"MouseDown",[re.Click]:"Click",[re.ContextMenu]:"ContextMenu",[re.DblClick]:"DblClick",[re.Focus]:"Focus",[re.Blur]:"Blur",[re.TouchStart]:"TouchStart",[re.TouchMove_Departed]:"TouchMove_Departed",[re.TouchEnd]:"TouchEnd"},wP=a(r=>typeof r=="object"&&r!==null,"isRecord"),Hd=a(r=>{let e=wP(r.data)?r.data:{},t=e.source,n=e.type;return{...r,type:yP[r.type],data:{...e,source:r.type===Y.IncrementalSnapshot&&typeof t=="number"?bP[t]??t:t,type:t===z.MouseInteraction&&typeof n=="number"?EP[n]:n}}},"stringifyEvent"),SP=a((r,{includeBlur:e,includeFocus:t})=>{switch(r.source){case z.Input:return!!r.userTriggered;case z.MouseInteraction:return!(!e&&r.type===re.Blur||!t&&r.type===re.Focus);case z.MouseMove:case z.Drag:case z.Selection:return!0;default:return!1}},"isIncrementalActionEvent"),vP=a(r=>{switch(r.tag){case"contenteditable-input":case"hover":return!0;default:return!1}},"isCustomActionEvent"),$d=a((r,{includeBlur:e=!0,includeFocus:t=!0}={})=>{switch(r.type){case Y.IncrementalSnapshot:return SP(r.data,{includeBlur:e,includeFocus:t});case Y.Custom:return vP(r.data);default:return!1}},"isActionEvent");var cS=a(r=>{r.querySelectorAll("a, button, input").forEach(e=>{e.addEventListener("click",t=>t.preventDefault()),e.addEventListener("keydown",t=>t.preventDefault())})},"disableInteractiveElements");var Bd=class{static{a(this,"Logger")}static formatMessage(e,t){let{level:n,message:i,timestamp:o,data:l}=e,u=`[${o}] [${n.toUpperCase()}]`;return t&&(u+=` [${t}]`),u+=` ${i}`,l?`${u}
76
76
  Data: ${JSON.stringify(l)}`:u}static getCallerInfo(){let n=(new Error().stack?.split(`
77
- `)??[])[4];if(n){let i=n.match(/at\s+.+\s+\((.+):(\d+):(\d+)\)/)??n.match(/at\s+(.+):(\d+):(\d+)/);if(i){let[,o,l]=i;if(o)return`${o.split("/").pop()||o}:${l}`}}return"unknown"}static log(e,t,n){let i={level:e,message:t,timestamp:new Date().toISOString(),data:n},o=this.getCallerInfo(),l=this.formatMessage(i,o);switch(e){case"error":console.error(l);break;case"warn":console.warn(l);break;case"debug":console.debug(l);break;case"rrweb":break;default:console.log(l)}}static info(e,t){this.log("info",e,t)}static warn(e,t){this.log("warn",e,t)}static error(e,t){this.log("error",e,t)}static debug(e,t){this.log("debug",e,t)}static rrweb(e,t){this.log("rrweb",e,t)}},_e=Bd;var Ri=class{static{a(this,"BlobStoreManager")}static storeBlob(e){if(window.parent.blobs??={},e.originalUrl){let t=new Uint8Array(e.blobData),n=new Blob([t],{type:e.mimeType});window.parent.blobs[e.originalUrl]=URL.createObjectURL(n)}}static getBlobUrl(e){return window.parent.blobs?.[e]}static async replaceBlobUrls(e){if(e==null)return e;if(typeof e=="string"){if(e.includes("blob:")){try{await this.waitForBlob(e)}catch(n){return console.error(`Waiting for blob failed: ${n}`),e}return this.getBlobUrl(e)||e}return e}if(Array.isArray(e))return Promise.all(e.map(t=>this.replaceBlobUrls(t)));if(typeof e=="object"){let t={};for(let[n,i]of Object.entries(e))t[n]=await this.replaceBlobUrls(i);return t}return e}static async waitForBlob(e,t=5e3){return new Promise((n,i)=>{let o=Date.now(),l=a(()=>{if(this.hasBlob(e)){n();return}if(Date.now()-o>t){i(new Error(`Timeout waiting for blob: ${e}`));return}setTimeout(l,100)},"checkBlob");l()})}static hasBlob(e){return e in(window.parent.blobs??{})}};var Bs=class{constructor(e,t){this.replayer=e;this.events=t}static{a(this,"ReplayerHelper")}pause(e){let t=this.events.find(o=>o.timestamp>=e),n=this.replayer.getMetaData().startTime,i=t?t.timestamp-n:e-n;this.replayer.pause(i)}goLive(){this.replayer.play(Date.now())}};var CP=!0,xl=class{constructor(e={}){this.interactionEventsTimestamps=[];this.initialEventsBuffer=[];this.config={enableInteract:!1};this.eventSubscribers={};this.stop=a(()=>{_e.info("Stopping replayer");try{this.replayer&&this.replayer.destroy()}catch(e){_e.error("Error destroying replayer",e)}},"stop");this.getNodeById=a(e=>this.getReplayer().getMirror().getNode(e),"getNodeById");this.getMeta=a(e=>this.replayer?.getMirror().getMeta(e)??null,"getMeta");this.getLastInteractionEventTimestamp=a(e=>{let t=this.interactionEventsTimestamps.sort((n,i)=>n-i).reverse().find(n=>n<=e);return _e.rrweb("Getting last interaction event timestamp",{inputTimestamp:e,lastTimestamp:t}),t},"getLastInteractionEventTimestamp");_e.info("Initializing SessionReplayer",{config:e}),this.config={...this.config,...e}}static{a(this,"SessionReplayer")}makeReplayerConfig(){let e={mouseTail:!1,pauseAnimation:!1,speed:360,triggerFocus:!0,UNSAFE_replayCanvas:!0,liveMode:!0,showDebug:!1,skipInactive:!0,useVirtualDom:!1};return this.config.root&&(e.root=this.config.root),_e.rrweb("Creating replayer configuration",{playerConfig:e}),e}makeReplayer(e=[],{baselineTime:t=Date.now()}={}){_e.info("Creating replayer instance",{eventsCount:e.length,baselineTime:t,config:this.config});let n=new nl(e,this.makeReplayerConfig());this.replayer=n,this.config.enableInteract?(_e.rrweb("Enabling interact mode"),n.enableInteract()):(_e.rrweb("Disabling interact mode"),n.disableInteract()),this.config.onlyLive?(_e.info("Starting live mode",{baselineTime:t}),n.startLive(t)):(_e.info("Starting playback"),n.play()),CP&&(_e.rrweb("Setting up debug mode"),this.setupDebugMode()),Object.values(ve).forEach(i=>{n.on(i,o=>{this.notifySubscribers(i,o)})}),this.disableInteractiveElements()}isConnected(){let e=!!this.replayer;return _e.rrweb("Checking replayer connection status",{connected:e}),e}getReplayer(){if(!this.replayer)throw new Error("Replayer is not initialized");return this.replayer}subscribeTo(e,t,n){_e.rrweb("Subscribing to events",{id:e,events:t}),t.forEach(i=>{this.eventSubscribers[i]??={},this.eventSubscribers[i][e]=n})}unsubscribeFrom(e){_e.rrweb("Unsubscribing from events",{id:e}),Object.values(this.eventSubscribers).forEach(t=>{let n=t;n&&n[e]&&delete n[e]})}notifySubscribers(e,t){Object.values(this.eventSubscribers[e]??{}).forEach(n=>{try{n(t)}catch(i){_e.error("Error in event cast subscriber",{eventType:e,error:i})}})}getFirstEventTimestamp(){if(!this.replayer)return 0;let e=this.replayer.getMetaData().startTime;return _e.rrweb("Getting first event timestamp",{timestamp:e}),e}getLastEventTimestamp(){if(!this.replayer)return 0;let e=this.replayer.getMetaData().endTime;return _e.rrweb("Getting last event timestamp",{timestamp:e}),e}getCurrentTimestamp(){try{let e=this.getReplayer().getCurrentTime()+this.getFirstEventTimestamp();return _e.rrweb("Getting current timestamp",{timestamp:e}),e}catch(e){return _e.error("Error getting current timestamp",e),0}}getIframeDocument(){return _e.rrweb("Getting iframe document"),this.getReplayer().iframe.contentDocument}start(){}async fastForward(e){if(_e.rrweb("Fast forwarding events",{eventsCount:e.length}),!this.replayer&&!this.ensureReplayerForFastForward(e))return;let t=0,n=new Promise(i=>{this.subscribeTo("fastForward",[ve.EventCast],()=>{t++,t===e.length&&(this.unsubscribeFrom("fastForward"),i())})});for(let i of e){i.type===Y.FullSnapshot&&_e.rrweb("Updating last snapshot");let o=i;try{o=await Ri.replaceBlobUrls(i)}finally{this.getReplayer().addEvent(o)}$d(i,{includeBlur:!1,includeFocus:!1})&&this.interactionEventsTimestamps.push(i.timestamp)}await n}ensureReplayerForFastForward(e){if(this.config.onlyLive){let t=e[0];if(!t)throw new Error("Cannot create live replayer without events");return _e.rrweb("Creating live replayer",{baselineTime:t.timestamp}),this.makeReplayer([],{baselineTime:t.timestamp}),!0}return this.initialEventsBuffer.push(...e),_e.rrweb("Buffering initial events",{bufferSize:this.initialEventsBuffer.length}),this.initialEventsBuffer.length>=2?(this.makeReplayer(this.initialEventsBuffer),!0):!1}goLive(){_e.info("Going live"),new Bs(this.getReplayer(),this.getReplayerContext().events).goLive()}goBack(e){_e.info("Going back to timestamp",{timestamp:e}),new Bs(this.getReplayer(),this.getReplayerContext().events).pause(e)}getReplayerContext(){return this.getReplayer().service.state.context}setupDebugMode(){window.__chkreplayer={events:a(()=>this.getReplayerContext().events,"events"),stringifyEvents:a(()=>this.getReplayerContext().events.map(Hd),"stringifyEvents"),stringifyActionEvents:a(()=>this.getReplayerContext().events.filter(e=>$d(e)).map(Hd),"stringifyActionEvents"),back:a(e=>this.goBack(e),"back"),live:a(()=>this.goLive(),"live"),currentTime:a(()=>this.getReplayer().getCurrentTime(),"currentTime"),getReplayer:a(()=>this.replayer,"getReplayer"),getThis:a(()=>this,"getThis")}}disableInteractiveElements(){_e.rrweb("Disabling interactive elements");let e=this.getReplayer().iframe,t=e.contentDocument??e.contentWindow?.document;if(!t)return;new MutationObserver(()=>cS(t)).observe(t,{childList:!0,subtree:!0})}};var uS=16e3;var xP=!0,Wd={markTransparentElementsAsHidden:!1,markElementsHiddenByTransparentElementAsVisible:!0},Ml=class{constructor(){this.interactableElements=[];this.nonInteractableElementsFromSimplifiedDom=[];this.interactableElementsFromSimplifiedDom=[];this.elementsInSimplifiedDomByChecksumId={};this.selectors={};this.checksumIdToRRwebIdMap={};this.flashingElementsDetector=new Sl;this.forceIncludeElements=[];this.preMapReducedHTMLSelectors=!1;this.useRrwebIdsAsChecksumIds=!1;this.excludedNodes=0;this.nodeRepetitionsThreshold=50;this.reducePercentage=50;this.checksumIdCounter=new Dn("0");this.scrollableElements={};this.defaultReduceHTMLOptions={checkElementInstanceType:!0,extraAllowedAttributes:[],initialChecksumId:void 0,forceIncludeFileInput:!1,forceIncludeAttribute:void 0,invalidateCache:!1,svgIntegration:"aria-label",includeFlashingElements:!0,onForceIncludeElement:a(()=>{},"onForceIncludeElement"),limitNodeRepetitions:50,stopFlashingElementsDetection:!1,assignChecksumIdsToAllElements:!0,assignRrwebIdsToAllElements:!0,fromTimeMachine:!1}}static{a(this,"HTMLReducer")}preprocessDocument(e=document){ln("[preprocessDocument] querySelectorAllExtended");let t=de("*",e,{includeHTML:!0});cn("[preprocessDocument] querySelectorAllExtended"),ln("[preprocessDocument] isElementHidden");for(let n of t){if(this.shouldIgnoreElement(n))continue;let i=gt(n,Wd);n.setAttribute("checksum-data-visible",!i.isHidden&&!i.isTransparent?"true":"false"),!i.isHidden&&i.isTransparent&&n.setAttribute("checksum-data-transparently-visible","true"),i.isBehindTransparentElement&&n.setAttribute("checksum-data-visible-under-transparent-element","true"),i.clickOffset&&n.setAttribute("checksum-data-click-offset",`${i.clickOffset.x};${i.clickOffset.y}`),this.markScrollableElement(n)}cn("[preprocessDocument] isElementHidden")}markScrollableElement(e){let{canScrollX:t,canScrollY:n,progressX:i,progressY:o}=ht.getScrollData(e);if(t&&i!==void 0&&(e.setAttribute("data-scrollable-x","true"),e.setAttribute("data-scrollable-x-progress",i.toString())),n&&o!==void 0&&(e.setAttribute("data-scrollable-y","true"),e.setAttribute("data-scrollable-y-progress",o.toString())),t||n)try{let l=this.getSessionMirror()?.getMeta(e)?.id;l&&(this.scrollableElements[l]={...t&&i!==void 0?{x:i}:{},...n&&o!==void 0?{y:o}:{}})}catch(l){console.error("[markScrollableElement] Error getting rrwebId and updating scrollable elements",e,l)}}setSessionRecorder(e){this.sessionRecorder=e}markInteractableElements(e,t=document,{forceIncludeAttribute:n,forceIncludeFileInput:i}={}){ln("[markInteractableElements]"),this.interactableElements=[];let o=Nn(t,e,{allowDisabled:!0,excludeCrossOriginIframes:!1}),l=a((d,p)=>(d._checksumid||(d._checksumid=p??this.checksumIdCounter.getAndIncrement()),d.setAttribute("checksumid",d._checksumid),d.setAttribute("checksuminteractable","true"),d._checksumid),"setChecksumIdForElement"),u=a((d,p=!1,g)=>{if(this.shouldIgnoreElement(d))return;let m=d.getAttribute("checksum-data-click-offset")?.split(";"),b=m&&{x:parseInt(m[0]??""),y:parseInt(m[1]??"")},E=l(d,g);this.interactableElements.push({checksumId:E,element:d,forced:p,clickOffset:b})},"handleInteractableElement");o.forEach(d=>u(d));let f=a(d=>{de(d,t,{includeHTML:!0}).forEach(p=>u(p,!0))},"forceIncludeSelector");n&&f(`[${n}]`),i&&f("input[type='file']"),this.forceIncludeElements.filter(({element:d})=>d?.isConnected).forEach(({element:d,checksumid:p})=>u(d,!0,p)),console.log(`Marked ${this.interactableElements.length} interactable elements`),cn("[markInteractableElements]")}truthyFilter(e){return!!e}shouldIgnoreElement(e){return e.hasAttribute($s)}getSessionMirror(e=!1){return e?window.checksum.timeMachine.sessionReplayer:this.sessionRecorder}generateSimplifiedDom(e,t,{extraAllowedAttributes:n=[],checkElementInstanceType:i=!0,forceIncludeAttribute:o=void 0,forceIncludeFileInput:l=!1,svgIntegration:u="aria-label",onForceIncludeElement:f=void 0,contentWindow:d=window,assignChecksumIdsToAllElements:p=!0,assignRrwebIdsToAllElements:g=!0,fromTimeMachine:m=!1}={}){if(!e)return null;let b=a((G,ke=G)=>{if(G._originalNode=ke,!qe(G,"Element")||!qe(ke,"Element"))return G;let ct=G,St=ke;if(p&&!St.hasAttribute("checksumid")&&(St._checksumid||(St._checksumid=this.checksumIdCounter.getAndIncrement()),ct.setAttribute("checksumid",St._checksumid),this.nonInteractableElementsFromSimplifiedDom.push({checksumId:St._checksumid,element:St})),g){let rt=this.getSessionMirror(m);if(rt){let nt=rt.getMeta(St)?.id?.toString();nt&&(ct.setAttribute("rrwebid",nt),this.useRrwebIdsAsChecksumIds&&(ct.setAttribute("checksumid",nt),ct._checksumid=nt))}}return this.checksumIdToRRwebIdMap[St._checksumid]=parseInt(St._rrwebid),G},"processSimplifiedDOMNode"),E=a((G,ke=e)=>b(document.createTextNode(G),ke),"createTextNode"),w=a((G,ke=e)=>b(document.createElement(G),ke),"createElementNode");if(e.nodeType===Node.ELEMENT_NODE){let G=e;if(G.tagName.toLowerCase()==="head"||this.shouldIgnoreElement(G))return null}if(e.nodeType===Node.TEXT_NODE)return!e.parentElement||e.parentElement.getAttribute("checksum-data-visible")==="false"&&!e.parentElement.hasAttribute("checksumid")||e.parentElement.tagName.toLowerCase()==="body"?null:e.textContent?.trim()?E(e.textContent+" "):null;if(e.nodeType!==Node.ELEMENT_NODE||i&&!(qe(e,"HTMLElement")||qe(e,"SVGElement")))return null;let S=e,x=S.tagName.toLowerCase()==="iframe"&&S.contentDocument,R=ti(x?x.documentElement:S,{flattenShadowRootChildren:!0});t.esraSelectionRules?.limitChildren?.forEach(G=>{S.matches(G.selector)&&R.length>G.limit&&R.splice(G.limit)});let M=R.map(G=>this.generateSimplifiedDom(G,t,{extraAllowedAttributes:n,checkElementInstanceType:i,forceIncludeAttribute:o,forceIncludeFileInput:l,svgIntegration:u,onForceIncludeElement:f,contentWindow:x?S.contentWindow:d,assignChecksumIdsToAllElements:p,assignRrwebIdsToAllElements:g,fromTimeMachine:m})).filter(this.truthyFilter),A=S.getAttribute("checksum-data-visible")!=="false",O=S.hasAttribute("checksumid"),N=S.hasAttribute("role"),{customDescription:P,customDescriptionTarget:U}=this.getElementCustomDescription(S,{enableSVGCustomDescription:!!u}),K=!!P,q=S.hasAttribute("aria-label")||S.hasAttribute("name")||S.hasAttribute("alt"),he=S.hasAttribute(Cl)||this.forceIncludeElements.map(G=>G.element).includes(S)||!!o&&S.hasAttribute(o)||l&&S.tagName.toLowerCase()==="input"&&S.getAttribute("type")==="file",se=["form","button","input","textarea","a","table","th","tr","td","section","nav","header","footer","main","article","aside","li","ul","select","option","datalist"],F=O||A&&(N||q||K||S.matches(se.join(",")));if(!(F||he)){if(!M.length)return null;let G=M[0];if(M.length===1&&G&&!qe(G,"Text"))return G}!F&&he&&f?.(S);let{resolvedTag:it,dataTag:ee}=lS(S.tagName,S.tagName.toLowerCase()==="body"&&S.ownerDocument!==document),Q=a(()=>{if(K)switch(U){case"svg":switch(u){case"aria-label":{let G=w("svg");return G.setAttribute("aria-label",P),{simplifiedNode:G,appendChildren:!1}}case"text":{if(S.hasAttribute("checksumid")){let ke=w("div");return ke.innerText=P,{simplifiedNode:ke,appendChildren:!1}}return{simplifiedNode:E(` [${P}] `),appendChildren:!1}}}}return{simplifiedNode:w(it)}},"makeSimplifiedNode"),{simplifiedNode:Oe,appendChildren:Te=!0}=Q();if(!qe(Oe,"Element"))return Oe;let we=Oe,tt=["aria-.+","data-name","name","type","placeholder","content","value","role","icon","title","checksumid","checksuminteractable","checksum-get-more-items","checked","disabled","selected","label","required","inputmode","min","max","step","minlength","maxlength","alt","hidden","draggable","ondrop","ondragover","contenteditable","href","(data-)?test(-)?id"].concat(n),xr=S.attributes;for(let G of xr)for(let ke of tt)new RegExp("^"+ke+"$").test(G.name)&&we.setAttribute(G.name,G.value);if(ee&&we.setAttribute("data-tag",ee),S.isContentEditable?we.setAttribute("contenteditable","true"):!["TEXTAREA","INPUT","SELECT"].includes(S.tagName)&&window.getComputedStyle(S).cursor==="text"&&we.setAttribute("contenteditable","cursor-text"),qe(S,"HTMLInputElement")&&S.getAttribute("type")==="checkbox")S.checked&&we.setAttribute("checked","true");else if(qe(S,"HTMLInputElement")||qe(S,"HTMLSelectElement"))we.setAttribute("value",S.value);else if(qe(S,"HTMLTextAreaElement")&&!S.childNodes.length&&S.value){let G=E(S.value);we.appendChild(G)}return Te&&M.forEach(G=>we.appendChild(G)),we}getElementCustomDescription(e,{enableSVGCustomDescription:t=!0}={}){return(qe(e,"SVGElement")||e.tagName.toLowerCase()==="svg")&&t?{customDescriptionTarget:"svg",customDescription:this.getSVGDescriptionForElement(e)}:{}}getSVGDescriptionForElement(e){let t=this.findSvgElementDescriptionFromBank(e);if(t)return t;let n=e.querySelector("title");if(n)return n.textContent??void 0}findSvgElementDescriptionFromBank(e){return this.getSvgBank().find(t=>e.matches(`svg:has(${t.selector})`))?.description}getSvgBank(){return rS}restoreDom(e=document){de("*",e).forEach(n=>{n.removeAttribute("checksum-data-visible"),n.removeAttribute("checksum-data-transparently-visible"),n.removeAttribute("checksum-data-visible-under-transparent-element"),n.removeAttribute("checksumid"),n.removeAttribute("checksuminteractable"),n.removeAttribute("checksum-data-click-offset"),n.removeAttribute($s),n.removeAttribute(Cl),n.removeAttribute("data-scrollable-x"),n.removeAttribute("data-scrollable-y"),n.removeAttribute("data-scrollable-x-progress"),n.removeAttribute("data-scrollable-y-progress"),n.removeAttribute("rrwebid")})}async mapAndStoreSelectors(){let e={},t=new $t;for(let{checksumId:n,element:i,clickOffset:o,selector:l,locator:u,parentFramesSelectors:f}of await t.injectSelectorsAndLocators(this.interactableElementsFromSimplifiedDom)){if(!l){console.warn("Unable to get selector for element",i);continue}let d=i;e[n]={element:d,selector:l,locator:u,...o?{clickOffset:o}:{},parentFramesSelectors:f??[],innerText:d.innerText,rrwebId:this.checksumIdToRRwebIdMap[n]??NaN}}return e}shouldFurtherReduce(e){return e?e.outerHTML.length>uS:!0}async reduce(e=document,t,n={}){console.time("reduceHTML");let{initialChecksumId:i,forceIncludeAttribute:o,forceIncludeFileInput:l,invalidateCache:u,includeFlashingElements:f,limitNodeRepetitions:d,stopFlashingElementsDetection:p}=this.lastReduceHTMLOptions={...this.defaultReduceHTMLOptions,...n},g=Ot.getInstance("reduce",{target:e,monitorInput:!0,invalidate:u,log:!1});if(g.hasCache()){let x=g.get();if(x)return x}let m=f?this.flashingElementsDetector.get():void 0;p&&this.flashingElementsDetector.stop(),this.nodeRepetitionsThreshold=d,this.reducePercentage=50,this.templateNodes=void 0,this.excludedNodes=0,this.scrollableElements={};let b=a(x=>sS(x,{forceIncludeAttribute:o,forceIncludeFileInput:l,forceIncludeElements:this.forceIncludeElements.map(R=>R.element),limit:Math.min(Math.ceil(x.element.children.length*(this.reducePercentage/100)),x.element.children.length-6)}),"templateReducer");console.log("Running pre-templatize"),this.templatize(b),console.log("Preprocessing document..."),this.preprocessDocument(e);let E;for((i||!this.checksumIdCounter)&&(this.checksumIdCounter=new Dn(i??"0")),console.log("Marking interactable elements..."),this.markInteractableElements(t,e,{forceIncludeAttribute:o,forceIncludeFileInput:l});;){if(console.log("Generating simplified DOM..."),this.nonInteractableElementsFromSimplifiedDom=[],E=this.generateSimplifiedDom(e.documentElement,t,this.lastReduceHTMLOptions),!E)throw new Error("Unable to get simplified DOM");if(this.shouldFurtherReduce(E)){if(console.log(`Will further reduce (${E.outerHTML.length})...`),!this.templatize(b)){console.log(`Exceeded maximum html reduction, stopping (html size: ${E.outerHTML.length})`);break}}else break}console.log("Simplified DOM generated, length:",E.outerHTML.length);let w=new Set(Array.from(E.querySelectorAll("[checksumid]")).map(x=>x.getAttribute("checksumid")));this.interactableElementsFromSimplifiedDom=this.interactableElements.filter(x=>w.has(x.checksumId)),console.log(`Found ${this.interactableElementsFromSimplifiedDom.length} interactable elements in simplified DOM vs ${this.interactableElements.length} in original DOM`),console.log("Restoring DOM..."),this.restoreDom(e),this.preMapReducedHTMLSelectors=xP?!1:!!t.preMapReducedHTMLSelectors,this.preMapReducedHTMLSelectors?(console.log("Mapping selectors..."),this.selectors=await this.mapAndStoreSelectors(),console.log("Done mapping selectors")):this.selectors={},this.elementsInSimplifiedDomByChecksumId=[...this.interactableElementsFromSimplifiedDom,...this.nonInteractableElementsFromSimplifiedDom].reduce((x,R)=>(x[R.checksumId]=R,x),{});let S={reducedDomHTMLElement:E,reducedHTML:E.outerHTML,currentChecksumId:this.checksumIdCounter.get(),...m!==void 0?{flashingHTML:m}:{},scrollableElements:this.scrollableElements};return g.set(S),console.timeEnd("reduceHTML"),S}templatize(e){let t=this.excludedNodes,n=a(()=>Array.from(this.templateNodes??[]).reduce((i,o)=>i+e(o).length,0),"calcExculdedNodes");if(!this.templateNodes)this.templateNodes=wr(document.body,{nodeRepetitionsThreshold:this.nodeRepetitionsThreshold}),this.excludedNodes=n();else do{if(this.reducePercentage<98)this.reducePercentage=Math.min(this.reducePercentage+20,98),console.log("Increasing reduce percentage to",this.reducePercentage);else{if(this.nodeRepetitionsThreshold<=20)return!1;this.reducePercentage=50,this.nodeRepetitionsThreshold-=10,console.log("Reducing node repetitions threshold to",this.nodeRepetitionsThreshold),this.templateNodes=wr(document.body,{nodeRepetitionsThreshold:this.nodeRepetitionsThreshold})}this.excludedNodes=n()}while(t===this.excludedNodes);return console.log(`[templatize] ${this.excludedNodes} elements marked to ignore for ${this.templateNodes?.length} templates`),!0}getMoreElementsFromTemplate(e,t){try{let n=this.templateNodes?.find(d=>d.id===e);if(!n)throw new Error("Template not found");let{element:i,excludedElements:o}=n;if(!o)throw new Error("Template has no excluded elements");console.log("Preprocessing template node..."),this.preprocessDocument(i),console.log("Marking template interactable elements..."),this.markInteractableElements(t,i,this.lastReduceHTMLOptions);let l=[],u=a(()=>l.map(d=>d instanceof Element?d.outerHTML:"").join(""),"getElementsHTML"),f=o.values();for(;u().length<uS*.5;){let d=f.next().value;if(!d)break;let p=Array.from(d.querySelectorAll("[checksumid]")).concat(d._checksumid?[d]:[]);this.interactableElements.filter(g=>p.includes(g.element)).forEach(g=>{this.elementsInSimplifiedDomByChecksumId[g.element._checksumid]=g}),l.push(this.generateSimplifiedDom(d,t,this.lastReduceHTMLOptions)),o.delete(d)}return this.restoreDom(i),{items:u(),hasMoreItems:o.size>0}}catch(n){console.error("[getMoreElementsFromTemplate] error",n);return}}async getSelectorForChecksumId(e){let t=a(d=>({selector:e,element:d?d.element:null,locator:"",parentFramesSelectors:[],invalid:!0,rrwebId:this.checksumIdToRRwebIdMap[e]??NaN,...d?.clickOffset?{clickOffset:d.clickOffset}:{},innerText:d?d.element.innerText:""}),"makeDefaultResult"),n=new $t,i=this.elementsInSimplifiedDomByChecksumId[e];if(!i||!i.element.isConnected)return this.preMapReducedHTMLSelectors&&this.selectors[e]?this.selectors[e]:t(i);let o=await n.getSelectorAndLocator(i.element);if(!o)return t(i);let{selector:l,locator:u,parentFramesSelectors:f}=o;return{...t(i),selector:l,locator:u,parentFramesSelectors:f??[],invalid:!1}}getElementForChecksumId(e){return this.elementsInSimplifiedDomByChecksumId[e]?.element}hasInnerTextByChecksumId(e,{maxLength:t=void 0,minLength:n=void 0}={}){if(!this.preMapReducedHTMLSelectors){let o=this.elementsInSimplifiedDomByChecksumId[e]?.element?.innerText;return!(!o||n&&o.length<n||t&&o.length>t)}return!!this.selectors[e]?.innerText}getInteractableElements(){return this.interactableElements}getInteractableElementsInReducedHTML(){return this.interactableElementsFromSimplifiedDom}startFlashingElementsDetection(){return this.flashingElementsDetector.start()}addForceIncludeElement(e){this.forceIncludeElements.push(e),e.element._checksumid=e.checksumid}};function dS(r){return r._debugSource?.fileName?r._debugSource?.fileName:""}a(dS,"getComponentpath");function fS(r,e){if(r==="Unknown"||typeof r!="string"||r.charAt(0)!==r.charAt(0).toUpperCase()||e.type?.$$typeof===Symbol.for("react.context")||e.type?.$$typeof===Symbol.for("react.forward_ref")||e.type?.$$typeof===Symbol.for("react.memo")||e.type?.$$typeof===Symbol.for("react.profiler")||e.type?.$$typeof===Symbol.for("react.suspense"))return!1;let t=dS(e);return!(/.*\/node_modules\//.test(t)||r===t||/^(?!.*src).*$/.test(t))}a(fS,"isComponentAllowed");function Vd(r,e={}){if(!r)return["",{}];let t=r.type,n=t?t.name||t:"Unknown",i="";if(fS(n,r)){i+=`<${n}>`;let o=dS(r);e[n]=o}if(r.child){let[o,l]=Vd(r.child,e);i+=o,e={...e,...l}}if(fS(n,r)&&(i+=`</${n}>`),r.sibling){let[o,l]=Vd(r.sibling,e);i+=o,e={...e,...l}}return[i,e]}a(Vd,"traverseReactTree");function hS(r){let e=r._reactRootContainer?._internalRoot.current;return e||console.log("No react tree in element",r),Vd(e)}a(hS,"getReactTree");var Ii=class r{static{a(this,"FrontendLogger")}static{this.overriddenMethods=["log","warn","error"]}static{this.original={}}static removePrefix(){this.overriddenMethods.forEach(e=>{let t=r.original[e];t&&(console[e]=t)})}static setPrefix(e){this.overriddenMethods.forEach(t=>{let n=r.original[t]??console[t];r.original[t]=n,console[t]=(...i)=>{i.unshift(e),n.apply(console,i)}})}};var Tl=class{constructor(e=i=>i.map(o=>o.target),t={childList:!0,subtree:!0,attributes:!0,attributeOldValue:!0},n={collectElement:!0}){this.filterElements=e;this.observeOptions=t;this.options=n;this.elements=[];this.mutationEventListeners=[]}static{a(this,"MutationDetector")}addEventListener(e,t){this.mutationEventListeners.push({selector:e,listener:t})}startListening(){this.elements=[],this.observer=new MutationObserver(e=>{this.options.collectElement&&(this.elements=[...this.elements,...this.filterElements(e)]),this.mutationEventListeners.length&&e.forEach(t=>{t.addedNodes.forEach(n=>{if(n.nodeType!==Node.ELEMENT_NODE)return;let i=n;this.mutationEventListeners.forEach(o=>{i.matches(o.selector)?o.listener(i):i.querySelectorAll(o.selector).forEach(l=>{o.listener(l)})})})})}),this.observer.observe(document.body,this.observeOptions)}stopListening(){return this.observer?.disconnect(),this.elements}};function pS(r){let e=r.filter(n=>n.addedNodes.length>0).reduce((n,i)=>[...n,...i.addedNodes],[]),t=r.filter(n=>n.type==="attributes"&&n.attributeName==="style"&&n.target instanceof HTMLElement&&/display\s*:\s*none/.test(n.oldValue??"")&&Yo(n.target).visible).map(n=>n.target);return[...e,...t]}a(pS,"poppingElementsFilter");function MP(r,e){let t=new Set,n=r;for(;n;)t.add(n),n=n.parentNode;let i=e;for(;i;){if(t.has(i))return i;i=i.parentNode}return null}a(MP,"findCommonAncestor");function Ud(r,e){let t=MP(r,e),n=0,i;if(!t)return 99999;for(i=r;i&&i!==t;)n++,i=i.parentNode;for(i=e;i&&i!==t;)n++,i=i.parentNode;return n}a(Ud,"distanceBetweenNodes");function zd(r,e){Object.assign(r.style,e)}a(zd,"mergeStyle");function TP(r){let e=window.getComputedStyle(r),t=e.transform;if(t.startsWith("matrix")){let n=parseFloat((t.split(",")[0]??"").replace("matrix(",""))||1,i=parseFloat(t.split(",")[3]??"")||1;return{scaleX:n,scaleY:i}}if(e.scale){let n=parseFloat(e.scale)||1,i=parseFloat(e.scale)||1;return{scaleX:n,scaleY:i}}return{scaleX:1,scaleY:1}}a(TP,"getScaleFromStyles");function mS(r,e){let t={left:0,top:0,right:0,bottom:0},n=1,i=1;if(e!==r.ownerDocument){let o=r.ownerDocument.defaultView?.frameElement;for(;o&&o.contentDocument!==e;){let l=o.getBoundingClientRect(),u=TP(o);n*=u.scaleX,i*=u.scaleY,t.left+=l.left,t.top+=l.top,o=o.ownerDocument.defaultView?.frameElement}}return{combinedScaleX:n,combinedScaleY:i,iframeOffset:t}}a(mS,"computeIframeTransform");function gS(r,e,{combinedScaleX:t,combinedScaleY:n,iframeOffset:i,elementBoundingBox:o,options:l}){let{highlightStyle:u={},pointerEvents:f,classNames:d=[]}=l,p=Wu(r),g={top:o.top*n+i.top,left:o.left*t+i.left};if(!p){let b=e.defaultView?.scrollX||0,E=e.defaultView?.scrollY||0;g.left+=b,g.top+=E}let m=e.createElement("div");return m.style.outline="2px dashed rgba(255,0,0,.75)",m.style.position=p?"fixed":"absolute",m.style.left=g.left+"px",m.style.top=g.top+"px",m.style.width=o.width*t+"px",m.style.height=o.height*n+"px",m.style.pointerEvents=f??"none",m.style.zIndex="2147483647",m.className=["checksum-dom-cache-ignore",...d].join(" "),zd(m,u),m}a(gS,"buildHighlightDiv");function RP(r){return{mousePosition:r.mousePosition,text:r.text,textPosition:r.textPosition??"overlap",clear:r.clear??!0,shouldFlipHighlightTextOutsideViewport:r.shouldFlipHighlightTextOutsideViewport??!0,classNames:r.classNames??[],renderDocument:r.renderDocument,scroll:r.scroll??!1}}a(RP,"resolveHighlightDefaults");var Gd=class{constructor(){this.lastHighlights=[]}static{a(this,"ElementHighlighter")}clearHighlights(){this.lastHighlights.length&&(this.lastHighlights.forEach(e=>e.remove()),this.lastHighlights=[])}highlightElement(e,t={}){let n=RP(t);if(n.clear&&this.clearHighlights(),!e)return;let i=n.renderDocument??e.ownerDocument,o=mS(e,n.renderDocument),l=e.getBoundingClientRect(),u=gS(e,i,{...o,elementBoundingBox:l,options:t});n.mousePosition&&this.buildMouseLocation(i,n.mousePosition,n.classNames);let f=i.createElement("div");n.text&&this.buildHoverText(f,u,{text:n.text,elementBoundingBox:l,options:t}),this.finalizeHighlight({element:e,elementDocument:i,newElement:u,hoverTextEl:f},{textPosition:n.textPosition,height:l.height,shouldFlipHighlightTextOutsideViewport:n.shouldFlipHighlightTextOutsideViewport,scroll:n.scroll})}finalizeHighlight({element:e,elementDocument:t,newElement:n,hoverTextEl:i},{textPosition:o,height:l,shouldFlipHighlightTextOutsideViewport:u,scroll:f}){t.body.appendChild(n),this.flipHighlightTextPositionOutsideViewport(i,o,l),this.lastHighlights.push(n),u&&this.flipHighlightTextPositionOutsideViewport(i,o,l),f&&new ht(e).scrollIntoView()}buildMouseLocation(e,t,n){let i=e.createElement("div");if(i.style.position="absolute",i.style.left=+t.x-16+"px",i.style.top=+t.y-16+"px",i.style.color="#004DFF",i.className=["checksum-dom-cache-ignore","mouse-cross",...n].join(" "),i.style.zIndex="2147483648",!e.head.querySelector("style[role=mouse-location]")){let o=e.head.appendChild(e.createElement("style"));o.setAttribute("role","mouse-location"),o.innerHTML=".mouse-cross:before, .mouse-cross:after {position: absolute;left: 15px;content: ' ';height: 33px;width: 3px;background-color: #004DFF;}.mouse-cross:before {transform: rotate(0deg);}.mouse-cross:after {transform: rotate(-90deg);}"}e.body.appendChild(i),this.lastHighlights.push(i)}buildHoverText(e,t,{text:n,elementBoundingBox:i,options:o}){let{textStyle:l={},textType:u="static",textPosition:f="overlap",textWidthType:d="rect",pointerEvents:p,classNames:g=[]}=o;e.className=["checksum-dom-cache-ignore",...g].join(" "),e.innerText=n,e.style.fontSize="12px",e.style.width=d==="rect"?`${i.width}px`:"auto",e.style.background="#000000a1",e.style.color="white",e.style.padding="5px",e.style.position="absolute",e.style.pointerEvents="none",e.style.userSelect="none",this.applyVerticalTextPosition(e,f,i.height),zd(e,l),t.appendChild(e),t.style.pointerEvents=p??"none",u==="hover"&&this.attachHoverToggle(t,e)}applyVerticalTextPosition(e,t,n){t==="above"?e.style.bottom=`${n}px`:t==="below"&&(e.style.top=`${n}px`)}attachHoverToggle(e,t){t.style.display="none",e.addEventListener("mouseover",()=>{t.style.display="block"}),e.addEventListener("mouseout",()=>{t.style.display="none"})}flipHighlightTextPositionOutsideViewport(e,t,n){t==="above"&&Qg(e)>0?(e.style.bottom="initial",e.style.top=`${n}px`):t==="below"&&ey(e)>0&&(e.style.top="initial",e.style.bottom=`${n}px`)}},Br=new Gd;function Rl(r,e){return typeof r!="string"?yS(r):`${JSON.stringify(r)}${e?"s":"i"}`}a(Rl,"escapeForTextSelector");function Il(r,e=!1){return typeof r!="string"?yS(r):`"${r.replace(/\\/g,"\\\\").replace(/["]/g,'\\"')}"${e?"s":"i"}`}a(Il,"escapeForAttributeSelector");function yS(r){return r.unicode||r.unicodeSets?String(r):String(r).replace(/(^|[^\\])(\\\\)*(["'`])/g,"$1$2\\$3").replace(/>>/g,"\\>\\>")}a(yS,"escapeRegexForSelector");var IP=10,Li=IP/2;var AP=100,LP=120,OP=140,NP=160,_P=180,DP=200;var gz=AP+Li,yz=LP+Li,bz=OP+Li,Ez=NP+Li,wz=_P+Li,Sz=DP+Li;function Ai(r){let e={full:"",immediate:[]};if(!kP(r)){let t="";if(r instanceof HTMLInputElement&&(r.type==="submit"||r.type==="button"))e={full:r.value,immediate:[r.value]};else{for(let n=r.firstChild;n;n=n.nextSibling)n.nodeType===Node.TEXT_NODE?(e.full+=n.nodeValue||"",t+=n.nodeValue||""):(t&&e.immediate.push(t),t="",n.nodeType===Node.ELEMENT_NODE&&(e.full+=Ai(n).full));t&&e.immediate.push(t),r.shadowRoot&&(e.full+=Ai(r.shadowRoot).full)}}return e}a(Ai,"elementText");function Al(r){return r.replace(/\u200b/g,"").trim().replace(/\s+/g," ")}a(Al,"normalizeWhiteSpace");function kP(r){let e=r.ownerDocument;return r.nodeName==="SCRIPT"||r.nodeName==="NOSCRIPT"||r.nodeName==="STYLE"||e.head&&e.head.contains(r)}a(kP,"shouldSkipForTextMatching");function Ws(r){return r.trim().replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}a(Ws,"escapeSelector");function Wr(r){let e=r.ownerDocument?.defaultView;if(!e)return window.playwright;let t=e.playwright;return e!==window&&!t&&(e.playwright=window.playwright),e.playwright}a(Wr,"getElementWindowPlaywright");var Ll=["role","aria-label","aria-labelledby","aria-checked","checked","placeholder","title","alt","id","data-testid","data-test-id","data-test","class","id","style","href","src","path","type"];function Ol(r){return typeof r=="object"&&r!==null&&r.nodeType===Node.ELEMENT_NODE}a(Ol,"isElement");var fn={NONE:"",DESCENDANT:" ",CHILD:" > "},He={id:"id",class:"class",tag:"tag",attribute:"attribute",nthchild:"nthchild",nthoftype:"nthoftype"};function bS(r,e){return Object.values(r).includes(e)}a(bS,"isEnumValue");var PP="CssSelectorGenerator";function Oi(r="unknown problem",...e){console.warn(`${PP}: ${r}`,...e)}a(Oi,"showWarning");var FP={selectors:[He.id,He.class,He.tag,He.attribute],includeTag:!1,whitelist:[],blacklist:[],combineWithinSelector:!0,combineBetweenSelectors:!0,root:null,maxCombinations:Number.POSITIVE_INFINITY,maxCandidates:Number.POSITIVE_INFINITY,useScope:!1,ignoreGeneratedClassNames:!1};function Vs(r){return!!r}a(Vs,"sanitizeBoolean");function HP(r){return Array.isArray(r)?r.filter(e=>bS(He,e)):[]}a(HP,"sanitizeSelectorTypes");function jd(r){return r instanceof RegExp}a(jd,"isRegExp");function $P(r){return["string","function"].includes(typeof r)||jd(r)}a($P,"isCssSelectorMatch");function ES(r){return Array.isArray(r)?r.filter($P):[]}a(ES,"sanitizeCssSelectorMatchList");function BP(r){return r!=null&&typeof r=="object"&&"nodeType"in r&&typeof r.nodeType=="number"}a(BP,"isNode");function wS(r){let e=[Node.DOCUMENT_NODE,Node.DOCUMENT_FRAGMENT_NODE,Node.ELEMENT_NODE];return BP(r)&&e.includes(r.nodeType)}a(wS,"isParentNode");function Yd(r,e){if(wS(r))return r.contains(e)||Oi("element root mismatch","Provided root does not contain the element. This will most likely result in producing a fallback selector using element's real root node. If you plan to use the selector using provided root (e.g. `root.querySelector`), it will not work as intended."),r;let t=e.getRootNode({composed:!1});return wS(t)?(t!==document&&Oi("shadow root inferred","You did not provide a root and the element is a child of Shadow DOM. This will produce a selector using ShadowRoot as a root. If you plan to use the selector using document as a root (e.g. `document.querySelector`), it will not work as intended."),t):Us(e)}a(Yd,"sanitizeRoot");function qd(r){return typeof r=="number"?r:Number.POSITIVE_INFINITY}a(qd,"sanitizeMaxNumber");function SS(r,e={}){let t=Object.assign(Object.assign({},FP),e);return{selectors:HP(t.selectors),whitelist:ES(t.whitelist),blacklist:ES(t.blacklist),root:Yd(t.root,r),combineWithinSelector:Vs(t.combineWithinSelector),combineBetweenSelectors:Vs(t.combineBetweenSelectors),includeTag:Vs(t.includeTag),maxCombinations:qd(t.maxCombinations),maxCandidates:qd(t.maxCandidates),useScope:Vs(t.useScope),maxResults:qd(t.maxResults),ignoreGeneratedClassNames:Vs(t.ignoreGeneratedClassNames)}}a(SS,"sanitizeOptions");function Sr(r=[]){let[e=[],...t]=r;return t.length===0?e:t.reduce((n,i)=>n.filter(o=>i.includes(o)),e)}a(Sr,"getIntersection");function vS(r){return[].concat(...r)}a(vS,"flattenArray");function WP(r){return r.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".+")}a(WP,"wildcardToRegExp");function kn(r){let e=r.map(t=>{if(jd(t))return n=>t.test(n);if(typeof t=="function")return n=>{let i=t(n);return typeof i!="boolean"?(Oi("pattern matcher function invalid","Provided pattern matching function does not return boolean. It's result will be ignored.",t),!1):i};if(typeof t=="string"){let n=new RegExp("^"+WP(t)+"$");return i=>n.test(i)}return Oi("pattern matcher invalid","Pattern matching only accepts strings, regular expressions and/or functions. This item is invalid and will be ignored.",t),()=>!1});return t=>e.some(n=>n(t))}a(kn,"createPatternMatcher");function zs(r,e,t){let n=Array.from(Yd(t,r[0]).querySelectorAll(e));return n.length===r.length&&r.every(i=>n.includes(i))}a(zs,"testSelector");function Kd(r,e){e=e??Us(r);let t=[],n=r;for(;n&&n!==e;)Ol(n)&&t.push(n),n=n.parentNode;return t}a(Kd,"getElementParents");function CS(r,e){return Sr(r.map(t=>Kd(t,e)))}a(CS,"getParents");function Us(r){return r.ownerDocument.querySelector(":root")}a(Us,"getRootNode");var Nl=", ",xS=new RegExp(["^$","\\s"].join("|")),MS=new RegExp(["^$"].join("|")),_l=[He.nthoftype,He.tag,He.id,He.class,He.attribute,He.nthchild];var VP=kn(["class","id","ng-*"]);function UP({name:r}){return`[${r}]`}a(UP,"attributeNodeToSimplifiedSelector");function zP({name:r,value:e}){return`[${r}='${e}']`}a(zP,"attributeNodeToSelector");function GP({nodeName:r,nodeValue:e},t){let n=t.tagName.toLowerCase();return["input","option"].includes(n)&&r==="value"||r==="src"&&e?.startsWith("data:")?!1:!VP(r)}a(GP,"isValidAttributeNode");function qP({nodeName:r,nodeValue:e}){return{name:vr(r),value:vr(e??void 0)}}a(qP,"sanitizeAttributeData");function Xd(r,e){let t=Array.from(r.attributes).filter(n=>GP(n,r)).map(qP);return[...t.map(UP),...t.map(zP)]}a(Xd,"getElementAttributeSelectors");function TS(r,e){let t=r.map(n=>Xd(n,e));return Sr(t)}a(TS,"getAttributeSelectors");var jP=/^[a-z_-]{3,}$/i,YP=/[bcdfghjklmnpqrstvwxyz]{4,}/i;function KP(r){if(!jP.test(r)||r.includes("_")&&!r.includes("__")||/^(css|sc|jsx|emotion|makeStyles|MuiButton|MuiBox)-/i.test(r))return!1;let e=r.split(/--|__|[-]|(?<=[a-z])(?=[A-Z])/).filter(t=>t.length>0);if(e.length===0||e.length===1&&e[0].length<4)return!1;for(let t of e)if(t.length<=2||YP.test(t))return!1;return!0}a(KP,"isWordLikeClassName");function Zd(r,e){var t;let n=((t=r.getAttribute("class"))!==null&&t!==void 0?t:"").trim().split(/\s+/).filter(o=>!MS.test(o)),i=n;if(e?.ignoreGeneratedClassNames){let o=kn(e.whitelist);i=n.filter(l=>{let u=`.${vr(l)}`;return o(u)?!0:KP(l)})}return i.map(o=>`.${vr(o)}`)}a(Zd,"getElementClassSelectors");function RS(r,e){let t=r.map(n=>Zd(n,e));return Sr(t)}a(RS,"getClassSelectors");function Jd(r,e){var t;let n=(t=r.getAttribute("id"))!==null&&t!==void 0?t:"",i=`#${vr(n)}`,o=r.getRootNode({composed:!1});return!xS.test(n)&&zs([r],i,o)?[i]:[]}a(Jd,"getElementIdSelectors");function IS(r,e){return r.length===0||r.length>1?[]:Jd(r[0],e)}a(IS,"getIdSelector");function Qd(r,e){let t=r.parentNode,n=t&&"children"in t?t.children:null;if(n){for(let i=0;i<n.length;i++)if(n[i]===r)return[`:nth-child(${String(i+1)})`]}return[]}a(Qd,"getElementNthChildSelector");function AS(r,e){return Sr(r.map(t=>Qd(t,e)))}a(AS,"getNthChildSelector");function eh(r,e){return[vr(r.tagName.toLowerCase())]}a(eh,"getElementTagSelectors");function Dl(r,e){let t=[...new Set(vS(r.map(n=>eh(n,e))))];return t.length===0||t.length>1?[]:[t[0]]}a(Dl,"getTagSelector");function th(r,e){let t=Dl([r])[0],n=r.parentNode,i=n&&"children"in n?n:null;if(i){let l=Array.from(i.children).filter(u=>u.tagName.toLowerCase()===t).indexOf(r);if(l>-1)return[`${t}:nth-of-type(${String(l+1)})`]}return[]}a(th,"getElementNthOfTypeSelector");function LS(r,e){return Sr(r.map(t=>th(t,e)))}a(LS,"getNthOfTypeSelector");function*nh(r=[],{maxResults:e=Number.POSITIVE_INFINITY}={}){let t=0,n=rh(1);for(;n.length<=r.length&&t<e;)t+=1,yield n.map(o=>r[o]),n=XP(n,r.length-1)}a(nh,"powerSetGenerator");function OS(r=[],{maxResults:e=Number.POSITIVE_INFINITY}={}){return Array.from(nh(r,{maxResults:e}))}a(OS,"getPowerSet");function XP(r=[],e=0){let t=r.length;if(t===0)return[];let n=[...r];n[t-1]+=1;for(let i=t-1;i>=0;i--)if(n[i]>e){if(i===0)return rh(t+1);n[i-1]++,n[i]=n[i-1]+1}return n[t-1]>e?rh(t+1):n}a(XP,"bumpOffsets");function rh(r=1){return Array.from(Array(r).keys())}a(rh,"generateOffsets");function*NS(r={}){let e=Object.entries(r);if(e.length===0)return;let t=[{index:e.length-1,partial:{}}];for(;t.length>0;){let n=t.pop();if(!n)break;let{index:i,partial:o}=n;if(i<0){yield o;continue}let[l,u]=e[i];for(let f=u.length-1;f>=0;f--)t.push({index:i-1,partial:Object.assign(Object.assign({},o),{[l]:u[f]})})}}a(NS,"cartesianProductGenerator");var ZP="3a".toUpperCase(),JP=/[ !"#$%&'()\[\]{|}<>*+,./;=?@^`~\\]/;function vr(r=""){return CSS?CSS.escape(r):QP(r)}a(vr,"sanitizeSelectorItem");function QP(r=""){return r.split("").map(e=>e===":"?`\\${ZP} `:JP.test(e)?`\\${e}`:escape(e).replace(/%/g,"\\")).join("")}a(QP,"legacySanitizeSelectorItem");var eF={tag:Dl,id:IS,class:RS,attribute:TS,nthchild:AS,nthoftype:LS},tF={tag:eh,id:Jd,class:Zd,attribute:Xd,nthchild:Qd,nthoftype:th};function _S(r,e,t){return tF[e](r,t)}a(_S,"getElementSelectorsByType");function rF(r,e,t){let n=eF[e];return n(r,t)}a(rF,"getSelectorsByType");function nF(r=[],e,t){return r.filter(n=>t(n)||!e(n))}a(nF,"filterSelectors");function iF(r=[],e){return r.sort((t,n)=>{let i=e(t),o=e(n);return i&&!o?-1:!i&&o?1:0})}a(iF,"orderSelectors");function*sF(r,e){let t=new Set,n=oF(r,e);for(let i of uF(n,e))t.has(i)||(t.add(i),yield i)}a(sF,"allSelectorsGenerator");function oF(r,e){let{blacklist:t,whitelist:n,combineWithinSelector:i,maxCombinations:o}=e,l=kn(t),u=kn(n),f=a((d,p)=>{let g=rF(r,p,e),m=nF(g,l,u),b=iF(m,u);return d[p]=i?Array.from(nh(b,{maxResults:o})):b.map(E=>[E]),d},"reducer");return aF(e).reduce(f,{})}a(oF,"getSelectorsList");function aF(r){let{selectors:e,includeTag:t}=r,n=[...e];return t&&!n.includes("tag")&&n.push("tag"),n}a(aF,"getSelectorsToGet");function lF(r){return r.includes(He.tag)||r.includes(He.nthoftype)?[...r]:[...r,He.tag]}a(lF,"addTagTypeIfNeeded");function cF(r){let{selectors:e,combineBetweenSelectors:t,includeTag:n,maxCandidates:i}=r,o=t?OS(e,{maxResults:i}):e.map(l=>[l]);return n?o.map(lF):o}a(cF,"combineSelectorTypes");function*uF(r,e){for(let t of cF(e))yield*fF(t,r)}a(uF,"selectorTypeCombinationsGenerator");function*fF(r,e){let t={};for(let n of r){let i=e[n];i&&i.length>0&&(t[n]=i)}for(let n of NS(t))yield hF(n)}a(fF,"constructedSelectorsGenerator");function dF(r,e){return e[r]?e[r].join(""):""}a(dF,"constructSelectorType");function hF(r={}){let e=[..._l];return r[He.tag]&&r[He.nthoftype]&&e.splice(e.indexOf(He.tag),1),e.map(t=>dF(t,r)).join("")}a(hF,"constructSelector");function pF(r,e){return[...r.map(t=>e+fn.DESCENDANT+t),...r.map(t=>e+fn.CHILD+t)]}a(pF,"generateCandidateCombinations");function*mF(r,e){if(e==="")yield*r;else for(let t of r)yield*pF([t],e)}a(mF,"candidatesGenerator");function*gF(r,e,t="",n){let i=sF(r,n);for(let o of mF(i,t))zs(r,o,e)&&(yield o)}a(gF,"selectorWithinRootGenerator");function*yF(r,e,t="",n){if(r.length===0)return null;let i=[r.length>1?r:[],...CS(r,e).map(o=>[o])];for(let o of i)for(let l of gF(o,e,t,n))yield{foundElements:o,selector:l}}a(yF,"closestIdentifiableParentGenerator");function*DS({elements:r,root:e,rootSelector:t="",options:n}){let i=e,o=t,l=!0;for(;l;){let u=!1;for(let f of yF(r,i,o,n)){let{foundElements:d,selector:p}=f;if(u=!0,zs(r,p,e))yield p;else{i=d[0],o=p;break}}u||(l=!1)}}a(DS,"selectorGenerator");function kS(r){(r instanceof NodeList||r instanceof HTMLCollection)&&(r=Array.from(r));let e=(Array.isArray(r)?r:[r]).filter(Ol);return[...new Set(e)]}a(kS,"sanitizeSelectorNeedle");function bF(r){return{value:r,include:!1}}a(bF,"createElementSelectorData");function PS(r,e,t=fn.NONE){let n={};return e.forEach(i=>{Reflect.set(n,i,_S(r,i).map(bF))}),{element:r,operator:t,selectors:n}}a(PS,"createElementData");function FS({selectors:r,operator:e}){let t=[..._l];r[He.tag]&&r[He.nthoftype]&&(t=t.filter(i=>i!==He.tag));let n="";return t.forEach(i=>{var o;((o=r[i])!==null&&o!==void 0?o:[]).forEach(({value:u,include:f})=>{f&&(n+=u)})}),e+n}a(FS,"constructElementSelector");function EF(r,e){let t=Kd(r,e).reverse(),n=e instanceof ShadowRoot,i=t.map((l,u)=>{var f;let d=PS(l,[He.nthchild],n&&u===0?fn.NONE:fn.CHILD);return((f=d.selectors.nthchild)!==null&&f!==void 0?f:[]).forEach(p=>{p.include=!0}),d});return[n?"":e?":scope":":root",...i.map(FS)].join("")}a(EF,"getElementFallbackSelector");function HS(r,e){return r.map(t=>EF(t,e)).join(Nl)}a(HS,"getFallbackSelector");var wF=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function ih(r,e={}){let t=Object.assign(Object.assign({},e),{maxResults:1});return SF(r,t).next().value}a(ih,"getCssSelector");function*SF(r,e={}){var t;let n=kS(r),i=SS(n[0],e),o=(t=i.root)!==null&&t!==void 0?t:Us(n[0]),l=0;for(let f of DS({elements:n,options:i,root:o,rootSelector:""}))if(yield f,l++,l>=i.maxResults)return;if(n.length>1){let{maxResults:f}=e,d=wF(e,["maxResults"]);if(yield n.map(p=>ih(p,d)).join(Nl),l++,l>=i.maxResults)return}let u=e.root!==void 0;yield HS(n,i.useScope||u?o:void 0)}a(SF,"cssSelectorGenerator");var kl=a(r=>new Promise(e=>setTimeout(e,r)),"awaitSleep"),$S=a(async(r,e=1e3,t)=>{if(e===null)return r;let n="guard-timed-out",i={id:null},o=a(async()=>new Promise(l=>{i.id=setTimeout(()=>{i.id=null,l(n)},e+1e3)}),"guard");try{let l=await Promise.race([r,o()]);if(i.id!==null&&(clearTimeout(i.id),i.id=null),typeof l=="string"&&l===n)throw typeof t=="function"?new Error(t()):new Error(t??"guardReturnTimedOut");return l}catch(l){throw i.id!==null&&clearTimeout(i.id),l}},"guardReturn");var CF=!1,Pn=class r{constructor(e){this.locators=[];this.elements=[];this.locators=e}static{a(this,"LocatorChain")}hasDuplicateFilters(){let e=this.locators.map(t=>t.options?.hasText).filter(t=>t);return e.length!==new Set(e).size}cloneAndAddCandidate(e){return new r([e,...this.locators.slice()])}toLocatorCandidate(){return{selector:this.getSelector(),locator:this.getLocator()}}getSelector(){return this.locators.map(e=>e.selector).join(" >> ")}getLocator(){return this.locators.map(e=>e.locator).join(".")}},hn=class r{constructor(e=document){this.rootNode=e;this.MAX_TESTING_SELECTORS=50;this.MAX_SINGLE_ELEMENT_SELECTORS=5;this.MAX_PROCESSING_TIME=15e3;this.MAX_MULTICANDIDATE_PROCESSING=5;this.startTimestamp=Date.now()}static{a(this,"PlaywrightCustomLocatorGenerator")}get targetElement(){if(!this._targetElement)throw new Error("Target element is not set");return this._targetElement}async generate(e,t=[],n={}){let{isPartOfListItem:i,isForContextElement:o,useTextContent:l,addCSSSelectorGenerator:u,expandCSSKeyElements:f,bruteForceMode:d}={isPartOfListItem:!1,isForContextElement:!1,useTextContent:!0,addCSSSelectorGenerator:!0,expandCSSKeyElements:!0,bruteForceMode:!1,...n};if(qe(e,"HTMLOptionElement")){let m=e.closest("select");if(m)return this.generate(m,t,{isPartOfListItem:i})}this._targetElement=e,this.startTimestamp=Date.now();let p=[];for(t=t.filter(m=>Array.from(document.querySelectorAll(m.selector)).includes(m.element)),f&&this.expandCSSKeyFeatures(e,t);e&&e!==this.rootNode;){await kl(0);let m=this.getAllLocators(e,t,{useTextContent:l,bruteForceMode:d}),b=[],E=a(async S=>{if(!S.hasDuplicateFilters())try{await kl(0);let{elements:x}=this.getLocatorBase(e).locator(S.getSelector());x?.some(R=>R===this.targetElement)&&(S.elements=x.filter(R=>dn(R)||R.constructor.name===this.targetElement.constructor.name),b.push(S))}catch(x){console.log(x,S.getSelector())}},"testCandidate");if(p.length)for(let S of m)for(let x of p)await E(x.cloneAndAddCandidate(S));else for(let S of m)await E(new Pn([S]));if(b.length===0&&p.length===0){let S=e.tagName.toLowerCase();p.push(new Pn([{selector:S,locator:this.getSelectorLocator(S),elements:this.getLocatorBase(e).locator(e.tagName.toLowerCase()).elements.filter(x=>dn(x))}]))}if(p.push(...b),o)return p.map(S=>S.toLocatorCandidate());if(p.length>this.MAX_TESTING_SELECTORS||p.filter(S=>S.elements.length===1).length>this.MAX_SINGLE_ELEMENT_SELECTORS||this.checkTimeout(!1))break;let w=e.parentElement;if(!w)break;e=w}if(i){let m=this.filterListItemsSelectors(p);if(m?.length)return m.map(b=>({...b.toLocatorCandidate(),isListSelector:!0}))}let g=[];try{for(let m of p)this.checkTimeout(),g.push(...m.elements.length===1?[m]:await this.reduceMultiCandidates(m))}catch(m){m instanceof an&&console.warn("[PlaywrightCustomLocatorGenerator] Timeout error")}if(!g?.length&&(console.log("no single element selector found"),!f))return this.generate(e,t,{isPartOfListItem:i,isForContextElement:o,useTextContent:l,addCSSSelectorGenerator:!0,expandCSSKeyElements:!0});if(u){let m=await this.addCSSSelectorGenerator();m&&g.unshift(m)}if(this.rootNode===document&&l){let m=await new $t().getSelectorAndLocator(this.targetElement);if(m){let{selector:b,locator:E}=m;g.unshift(new Pn([{selector:b,locator:E}]))}}return g=g.concat(await this.addOptionalParentSelector(l,u,f)),Array.from(new Map(g.map(m=>[m.toLocatorCandidate().selector,m.toLocatorCandidate()])).values())}testSelector(e,t,n,i=!0){let o=Wr(t).selector(t),l=this.getLocatorBase(t).locator(o);console.log("Locator result",l);let u=a(d=>!(i&&(d.elements.length!==1||t!==d.element)||!d.elements.includes(t)),"testResult");if(!u(l))return{valid:!1};let f={};if(n?.locatorWithVars?.length)try{let p=new Function(`{ return function(element) { ${n.variablesCode}; return this.getLocatorBase(element).locator(\`${n.locatorWithVars}\`); } }`)().call(this,t);if(console.log("Locator with vars result",p),!u(p))return{valid:!1};f={selectorWithVars:o,locatorWithVars:n.locatorWithVars}}catch(d){return console.error("Error testing selector with variables",d instanceof Error?d.message:void 0),{valid:!1}}return{valid:!0,selector:o,locator:e,...f}}async addCSSSelectorGenerator(){try{let e=this.rootNode===document?{}:{root:this.rootNode},t=await $S(new Promise(n=>{let i=ih(this.targetElement,e);n(i)}),2e3);if(t.length<50)return new Pn([{selector:t,locator:`locator('${t}')`}])}catch(e){console.error("Error getting CSS selector",e)}}async addOptionalParentSelector(e,t,n){try{let i=Wr(this.targetElement),o=i.locator(i.selector(this.targetElement)).element;o!==this.targetElement&&o?.contains(this.targetElement)&&await this.generate(o,[],{isPartOfListItem:!1,isForContextElement:!1,useTextContent:e,addCSSSelectorGenerator:t,expandCSSKeyElements:n})}catch{}return[]}expandCSSKeyFeatures(e,t,n=4){try{let i=[];for(;e&&e!==this.rootNode&&i.length<n&&e!==document.documentElement;){Array.from(e.attributes).filter(({name:u,value:f})=>f.length<30&&!Ll.includes(u)).forEach(u=>{try{if(i.length>n-1)return;let f=`[${u.name}${u.value?`="${u.value}"`:""}]`;try{if(!e.parentElement||e.parentElement.querySelectorAll(f).length>1)return}catch{console.warn(`Error checking selector - ${f}, continuing`);return}if(!t.some(d=>d.selector.includes(f))&&this.getLocatorBase(e).locator(f).element===e){let d={element:e,selector:f};t.push(d),i.push(d)}}catch(f){console.warn("Error processing css key feature",{name:u.name,value:u.value},f)}});let l=e.parentElement;if(!l)break;e=l}i.length}catch(i){console.error("Error extracting CSS key features",i)}}async generateArbitraryItemListSelector(e,t=[]){console.log("generateArbitraryItemListSelector",e);try{let n=wr(document.body,{nodeRepetitionsThreshold:5});if(!n?.length)throw new Error("No templates found in the page");let i=n.find(b=>b.element.contains(e));if(!i)throw new Error("No template found for target element");console.log("Found template for target element",i);let o=await new r().generate(i.element,t,{isPartOfListItem:!1,isForContextElement:!1,useTextContent:!1});console.log("baseCustomSelectors",o);let l=o[0];if(!l)throw new Error("No base selector found for the list root element");let u=l.selector,f=this.getSelectorLocator(u,i.element);console.log("Randomly selected baseSelector",u);let d=a(()=>{let b=[],E=new Fn,w=e;for(;w&&w!==i.element;){let S="",x=!1,R=!1,M=!1;for(;!S.length;)S=E.getSelectorPart(w,{useClasses:R,useId:x,useTag:M}),x?(R=!0,M=!0):x=!0;b.push({selector:S,element:w}),w=w.parentElement}return b},"getCSSFeatures"),p=d();console.log("cssFeatures",p);let g=(await new r(i.element).generate(e,d(),{isPartOfListItem:!0,isForContextElement:!1,useTextContent:!1})).map(b=>({...b,elements:[]})),m=g.filter(b=>(b.elements=this.getLocatorBase(e).locator(u).locator(b.selector).elements,b.elements.length>Math.ceil(i.element.children.length*.7)));return console.log("elementSelectors",g),m.map(({selector:b,locator:E})=>({selector:`${u} >> ${b}`,locator:`${f}.${E}`}))}catch(n){console.error("[findGenericItemListSelector] error",n)}}filterListItemsSelectors(e){try{let t=wr(document.body,{nodeRepetitionsThreshold:5});if(!t?.length)throw new Error("No templates found in the page");return e.filter(n=>{if(n.elements.length<2)return!1;let i=new Fn().getSmallestCommonRoot(n.elements);return!(!i||!t.some(o=>o.element===i)||Array.from(i.children).some(o=>{n.elements.filter(l=>o.contains(l)).length}))})}catch(t){console.error("[filterListItemsSelectors] error",t instanceof Error?t.message:void 0)}}getLocatorBase(e){let t=Wr(e);return this.rootNode===document||this.rootNode.nodeType===9?t:t.locator(t.selector(this.rootNode))}getSelectorLocator(e,t){return Wr(t??this.targetElement).asLocator("javascript",e)}async reduceMultiCandidates(e){await kl(0);let{elements:t}=e,n=e.getSelector().split(" >> "),i=[],o=this.getLocatorBase(this.targetElement),l=a(p=>{try{return i.push(new Pn([{selector:p,locator:this.getSelectorLocator(p)}])),i.length>=this.MAX_MULTICANDIDATE_PROCESSING}catch(g){return console.error(g),!1}},"addCandidateWithSelector"),u=a(p=>e.getSelector()+(n[n.length-1]===this.targetElement.tagName.toLowerCase()?p:` >> internal:and=${xF(this.targetElement.tagName.toLowerCase()+p)}`),"addCSSFilterToLocator"),f=a(p=>o.locator(p).elements.length===1?l(p):!1,"addIfSingularAndCheckLimit");if(t.length<5){let p=t.indexOf(this.targetElement);p!==-1&&l(e.getSelector()+` >> nth=${p}`)}let d=this.targetElement.parentElement;if(d&&t.every(p=>p.parentElement===d&&p.tagName===this.targetElement.tagName)){let p=Array.from(d.children).indexOf(this.targetElement);if(p!==-1){let g=u(`:nth-child(${p+1})`);f(g)&&l(g)}}for(let p of Array.from(this.targetElement.classList).filter(g=>!pr.includes(g))){let g=u(`.${Ws(p)}`);try{if(f(g))return i}catch(m){console.error(m)}}for(let p of Array.from(this.targetElement.attributes).filter(g=>!Ll.includes(g.name))){let g=u(`[${p.name}`+(p.value?`="${p.value}"]`:"]"));try{if(f(g))return i}catch(m){console.error(m)}}return i}getAllLocators(e,t,n={}){n={exact:!0,useTextContent:!0,...n};let i=[this.getByRoleLocator(e,n),n.useTextContent?this.getByTextLocator(e,n):null,this.getByLabelLocator(e,n),this.getByPlaceholderLocator(e,n),this.getByTitleLocator(e,n),this.getByAltLocator(e,n),this.getTestIdLocator(e,n),...e===this.targetElement?[this.getInnerFeaturesLocator(e)]:[],...t.filter(o=>o.element===e).map(o=>({selector:o.selector,locator:this.getSelectorLocator(o.selector)}))].filter(o=>!!o);return!i.length&&n.bruteForceMode?i.concat(this.findUniqueCSSLocatorForElement(e)):i}findUniqueCSSLocatorForElement(e,t=5){let n=[],i=a(o=>(n.push({selector:o,locator:`locator('${o}')`}),n.length>=t),"addCandidate");for(let o of Array.from(e.attributes).filter(({name:l,value:u})=>u.length<30&&!Ll.includes(l)))try{let l=`[${o.name}${o.value?`="${o.value}"`:""}]`;if(e.ownerDocument.querySelectorAll(l).length===1&&i(l))return n}catch{}for(let o of Array.from(e.classList).filter(l=>!pr.includes(l)))try{let l=`.${Ws(o)}`;if(e.ownerDocument.querySelectorAll(l).length===1&&i(l))return n}catch{}return n}getInnerFeaturesLocator(e){let t=e.tagName.toLowerCase();if(!dn(e)||["html","body","div"].includes(t))return;let n=new _r().extract(e).filter(o=>!o.isRoot).slice(0,4).map(o=>cs(o).pop());if(n.length<2)return;let i=t+n.map(o=>`:has(${o})`).join("");return{selector:i,locator:this.getSelectorLocator(i)}}getByRoleLocator(e,t={}){try{if(!dn(e))throw new Error("Provided element is not an HTMLElement");let n={},i={button:"button",input:a(E=>{let w=E instanceof HTMLInputElement?E.type:void 0;return w==="checkbox"?"checkbox":w==="radio"?"radio":"textbox"},"input"),select:"listbox",a:"link",h1:"heading",h2:"heading",h3:"heading",h4:"heading",h5:"heading",h6:"heading",li:"listitem",option:"option",textarea:"textbox",table:"table",tr:"row",th:"columnheader",td:"cell",img:"img"},o=e.tagName.toLowerCase(),l=i[o],u=e.getAttribute("role")||(l instanceof Function?l(e):l);if(!u)return;let f=[];if(u==="heading"&&!e.hasAttribute("aria-level")){let E=parseInt(o.charAt(1),10);f.push(["level",String(E)])}(u==="checkbox"||u==="radio")&&f.push(["checked",String(e.getAttribute("aria-checked")??e.getAttribute("checked")??"false")]);let d=a(()=>{let E=a(A=>this.limitTextLength(this.normalize(A),t.exact),"normalize"),w={text:"",exact:!1},S=e.getAttribute("aria-label")??e.getAttribute("aria-labelledby")??e.getAttribute("title");if(S)return E(S);let x=Ai(e),R=Al(x.full);if(!R?.length)return w;let M=E(R);return n.hasText=M.text,M},"getAccessibleName"),{text:p,exact:g}=d();p&&p.length>0&&p.length<30&&f.push(["name",Il(p,g)]);let m=a(()=>{let E=`internal:role=${u}${f.map(([w,S])=>`[${w}=${S}]`).join("")}`;return{locator:this.getSelectorLocator(E),selector:E,options:n}},"getSelection"),b=m();if(p?.length&&g&&!this.getLocatorBase(e).locator(b.selector).elements.includes(e)){let E=f.find(w=>w[0]==="name");E&&(E[1]=Il(p,!1),b=m())}return b}catch(n){console.error("Error getting role locator",n instanceof Error?n.message:void 0)}}getByTextLocator(e,t={}){try{if(!dn(e))return;let n=Al(Ai(e).full);if(!n?.length||n.length>100)return;let i={};if(Array.from(e.children).filter(u=>dn(u)).some(u=>Al(Ai(u).full)===n)){i.hasText=n;let u=`${e.tagName.toLowerCase()} >> internal:has-text=${Rl(n,!1)}`;return{selector:u,locator:this.getSelectorLocator(u),options:i}}let o=a(u=>{let d="internal:text="+Rl(n,u);return{selector:d,locator:this.getSelectorLocator(d),options:i}},"getSelection"),l=o(t.exact);return t.exact&&!this.getLocatorBase(e).locator(l.selector).elements.includes(e)&&(l=o(!1)),l}catch{}}getByLabelLocator(e,t={}){try{if(!dn(e)||!["input","textarea","select"].includes(e.tagName.toLowerCase()))return;let n=a(u=>({selector:`internal:label=${Rl(u,t.exact)}`,locator:`getByLabel('${u}')`}),"respond"),i=e.getAttribute("aria-label");if(i)return n(i);let o=e.getAttribute("aria-labelledby");if(o){let u=document.getElementById(o);if(u){let f=u.innerText.trim();if(f)return n(f)}}let l=e.getAttribute("id");if(l){let u=document.querySelector(`label[for="${l}"]`);if(u){let f=u.innerText.trim();if(f)return n(f)}}}catch{}}getByPlaceholderLocator(e,t={}){if(["input","textarea"].includes(e.tagName?.toLowerCase()))return this.getByAttributeLocator(e,"placeholder",t)}getByTitleLocator(e,t={}){return this.getByAttributeLocator(e,"title",t)}getByAltLocator(e,t={}){return this.getByAttributeLocator(e,"alt",t)}getTestIdLocator(e,t={}){for(let n of["data-testid","data-test-id","data-test"])if(e.getAttribute(n))return this.getByAttributeLocator(e,n,{...t,locatorName:"getByTestId"})}getByAttributeLocator(e,t,n={}){try{if(!dn(e))return;let i=e.getAttribute(t);if(i)return{selector:`internal:attr=[${t}=${Il(i,n.exact)}]`,locator:(n.locatorName??`getBy${t.charAt(0).toUpperCase()+t.slice(1)}`)+`('${i}')`}}catch{}}normalize(e){return e.replace(/\n/g,"").replace(/[ \t]+/g," ").trim()}limitTextLength(e,t=!0){for(;e?.length>30&&e.length<100&&e.includes(" ");)e=e.split(" ").slice(0,-1).join(" "),t=!1;return{text:e,exact:t}}checkTimeout(e=!0){if(CF)return!1;if(this.MAX_PROCESSING_TIME&&Date.now()-this.startTimestamp>this.MAX_PROCESSING_TIME){if(e)throw new an;return!0}return!1}};function xF(r){return`"${r.replace(/\\/g,"\\\\").replace(/["]/g,'\\"')}"`}a(xF,"escapeForAndLocator");function dn(r){return qe(r,"HTMLElement")}a(dn,"isInstanceOfHTMLElement");function MF(r){let e=r.nodeName.toLowerCase(),t={found:!1};if(["name","label","aria-label","data-testid","role"].forEach(n=>{r.hasAttribute(n)&&(e+=`[@${n}="${r.getAttribute(n)}"]`,t.found=!0)}),!t.found){let n=1,i=r.previousSibling;for(;i;)i.nodeType===Node.ELEMENT_NODE&&i.nodeName===r.nodeName&&n++,i=i.previousSibling;n>1&&(e+=`[${n}]`)}return e}a(MF,"getNodeIdentifier");function BS(r=document,e){try{if(!r||!e||!r.contains(e))throw new Error("Child is not a descendant of the given element.");let t=[],n=e;for(;n!==r;){if(!n)throw new Error("Child is not a descendant of the given element.");n.nodeType===Node.ELEMENT_NODE&&t.unshift(MF(n)),n=n.parentElement}return t.join("/")}catch(t){console.error("Failed to get relative xpath",t);return}}a(BS,"getRelativeXPath");function WS(r,e){return[new XPathEvaluator().evaluate(e,r,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue].filter(i=>i instanceof HTMLElement)}a(WS,"findElementsByXPath");var Fn=class{constructor(e){this.htmlReducer=e;this.BASE_MAX_COMPONENTS_FOR_SELECTOR_COMBINATION=13;this.MAX_SELECTORS_PER_CONTEXT_ELEMENT=10;this.innerFeaturesExtractor=new _r;this.innerTextExtractor=new li}static{a(this,"CompoundSelector")}filter(e,{isPartOfListItem:t=!1}={}){e.forEach(f=>{let d=this.htmlReducer?.getElementForChecksumId(f.selection.checksumid);d instanceof HTMLElement?f.element=d:delete f.element});let n=e.splice(e.findIndex(f=>f.isTarget),1)[0],i=n?.element;if(!n||!i)throw new Error("Target element not found");let o=e.filter(f=>!!f.element&&!f.element.contains(i)&&!i.contains(f.element)&&!e.some(d=>d!==f&&(d.element===f.element||!!d.element?.contains(f.element??null)))).concat(n);if(console.log(`filtered context elements, ${e.length+1} > ${o.length}`),!t)return o;let l=wr(document.body,{nodeRepetitionsThreshold:4});if(!l?.length)return[];let u=l.find(f=>f.element.contains(i));return u?(console.log("Found template for target element",u),o.filter(f=>u.element.contains(f.element??null))):[]}async generate(e,{isPartOfListItem:t=!1}={}){let n=e.filter(u=>u.isTarget)[0];if(e=this.filter(e,{isPartOfListItem:t}),e.length<2)throw new Error("Not enough elements found for the given checksum ids");if(!n?.element)throw new Error("Target element not found");let i=this.getSmallestCommonRoot(e.map(u=>u.element).filter(u=>u!==void 0));if(!i)throw new Error("No common root found for the given elements");this.extractFeaturesMetadata(e);let o=n.featuresMetadata;if(!o)throw new Error("Target element features metadata not found");return{targetSelection:{xpath:BS(i,n.element)??"",cssSelectors:this.generateAllContextualSelectors(i,n.element).filter(u=>u&&u.trim().length>0),playwrightSelectors:await new hn(i).generate(n.element,[],{addCSSSelectorGenerator:!1,expandCSSKeyElements:!1}),featuresMetadata:o},contextElements:e}}async select(e,t){e.forEach(o=>{if(o.find(l=>!l||!l.isConnected))throw new Error("One or more context elements are not connected to the DOM")});let n=a((o,l)=>{try{return o.selector(l)}catch{let u=l.ownerDocument?.defaultView?.parent?.document?.defaultView?.playwright;if(u)try{return u.selector(l)}catch{return}return}},"getElementSelector"),i=this.getSmallestCommonParents(e).map(this.calculateElementSize).sort((o,l)=>o.size-l.size).map(o=>o.element);return t?i.map(o=>{let l=Wr(o),u=n(l,o);if(!u)return null;let{element:f}=l.locator(u).locator(t);return f?n(l,f):null}).filter(o=>!!o):i.map(o=>{let l=Wr(o);if(!l){console.warn("Failed getting playwright for element",o);return}return n(l,o)}).filter(o=>!!o)}async selectFromMetadata(e){let{contextElements:t}=e;t.forEach(i=>this.getSelectorCandidatesForContextElement(i));let n=Zo(t.map(i=>(i.candidatesSelectors??[]).map((o,l)=>l)));for(let i of n){t.forEach((l,u)=>{let f=i[u],d=f!==void 0?l.candidatesSelectors?.[f]:void 0;d!==void 0?l.selector=d:delete l.selector});let o=this.getSmallestCommonParentsFromMetadata(t).map(this.calculateElementSize).sort((l,u)=>l.size-u.size).map(l=>l.element);for(let l of o){let u=this.generateTargetSelectotionHistogram(l,e.targetSelection);if(u.size>0)return Array.from(u.keys()).slice(0,20).map(d=>Wr(d).generateSelectorAndLocator(d))}}return[]}generateTargetSelectotionHistogram(e,t){let n=new Map,i=a(o=>{o.filter(l=>l instanceof HTMLElement).forEach(l=>{n.set(l,(n.get(l)||0)+1)})},"addElementstoHistogram");if(t.xpath)try{i(WS(e,t.xpath))}catch{}return t.cssSelectors.forEach(o=>{try{i(de(o,e))}catch{}}),new Map([...n.entries()].sort((o,l)=>l[1]-o[1]))}calculateElementSize(e){let t=e.getBoundingClientRect();return{element:e,size:t.width*t.height}}getSelectorCandidatesForContextElement(e){let{featuresMetadata:t}=e;if(!t)throw new Error("Context element features metadata not found");let n=this.buildSelectorsCombination(t);e.candidatesSelectors=[];for(let i=0;i<n.length&&e.candidatesSelectors.length<this.MAX_SELECTORS_PER_CONTEXT_ELEMENT;i++){let o=n[i];if(o===void 0)continue;document.querySelector(o)&&e.candidatesSelectors.push(o)}}buildSelectorsCombination(e){let t=this.BASE_MAX_COMPONENTS_FOR_SELECTOR_COMBINATION,n=a(m=>{let b=[[]];for(let E=0;E<m.length;E++){let w=b.length;for(let S=0;S<w;S++){let x=b[S],R=m[E];x&&R!==void 0&&b.push(x.concat(R))}}return b},"getCombinations"),i=a(m=>m.trim().replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1"),"escapeSelector"),o=e.tag,l=e.innerFeatures.filter(m=>!m.isRoot).map(m=>`:has(${cs(m)})`).slice(0,4),u=e.classes.map(m=>`.${i(m)}`),f=Object.entries(e.attributes).map(([m,b])=>`[${m}="${i(b)}"]`),d=a(()=>l.length+1+u.length+f.length>t,"exceedsMaxLength");for(;d()&&(u.pop(),!!d());)f.pop();let p=n([...u,...f,...l]),g=p.map(m=>[o,...m]);return p.push(...g),p.map(m=>m.join("")).filter(m=>m).sort((m,b)=>b.length-m.length)}extractFeaturesMetadata(e){e.forEach(t=>{let n=t.element;if(!n)return;let i=n.getAttribute("id");t.featuresMetadata={...i!==null?{id:i}:{},tag:n.tagName.toLowerCase(),innerText:this.innerTextExtractor.extract(n),innerFeatures:this.innerFeaturesExtractor.extract(n),classes:Array.from(n.classList).filter(o=>!pr.includes(o))||[],attributes:Array.from(n.attributes).reduce((o,l)=>(["class","style","id"].includes(l.name)||(o[l.name]=l.value),o),{})}})}generateAllContextualSelectors(e,t){let n=[],i=[!0,!1];for(let l of i)for(let u of i)for(let f of i)n.push({useId:l,useClasses:u,useTag:f});let o=n.map(l=>this.createContextualSelector(e,t,l)).filter(l=>!!l).filter(l=>{try{let u=de(l,e);return u.length===1&&u[0]===t}catch{return!1}});return[...new Set(o)]}createContextualSelector(e,t,{useId:n=!1,useClasses:i=!0,useTag:o=!0}){if(!e||!t)return null;let l=[],u=t;for(;u&&u!==e;)l.unshift(this.getSelectorPart(u,{useId:n,useClasses:i,useTag:o})),u=u.parentElement;return u?l.join(" ").trim():null}getSelectorPart(e,{useId:t=!1,useClasses:n=!0,useTag:i=!0}){if(t&&e.id&&e.id.match(/^\D/))return`#${e.id}`;let o=i?e.tagName.toLowerCase():"";if(n&&e.className){let l=e.className.trim().split(/\s+/).filter(u=>!pr.includes(u)).map(Ws).join(".");l.length>0&&(o+="."+l)}return["name","label","aria-label","data-testid","role"].forEach(l=>{e.hasAttribute(l)&&(o+=`[${l}="${e.getAttribute(l)}"]`)}),o.trim()}getSmallestCommonRoot(e){let t=a(i=>{let o=[];for(;i;)o.push(i),i=i.parentElement;return o},"getAncestors"),n=t(e[0]);for(let i=1;i<e.length;i++){let o=t(e[i]);n=n.filter(l=>o.includes(l))}return n[0]??null}getSmallestCommonParentsFromMetadata(e){let t=e.map(n=>{try{if(!n.selector)return[];let i=de(n.selector);return n.selection.type==="content"?i.filter(o=>o.textContent===n.selection.value):i}catch{return[]}});return t.some(n=>n.length===0)?[]:this.getSmallestCommonParents(t)}getSmallestCommonParents(e){let t=new Set;Zo(e).forEach(o=>{let l=this.getSmallestCommonRoot(o);l&&t.add(l)});let i=Array.from(t);return i.filter(o=>!i.some(l=>o!==l&&o.contains(l)))}};var Pl=class{constructor(){this.MAX_SNIPPET_SIZE=12e3;this.MAX_LIONTAIL_SIZE=6e3;this.MAX_ATTRIBUTE_SIZE=100;this.elementsInSimplifiedDomByChecksumId={}}static{a(this,"ParentChainReducer")}async reduce(e,t={useLionTail:!0,useChecksumIds:!0}){if(console.log("[ParentChainReducer] will reduce",e),!qe(e,"HTMLElement")&&!qe(e,"SVGElement"))throw new Error("Element is not an HTMLElement");return{reducedHTML:this.getAncestorsHTMLSnippet(e,t)}}getElementForChecksumId(e){return this.elementsInSimplifiedDomByChecksumId[e]}getAncestorsHTMLSnippet(e,{useLionTail:t=!0,useChecksumIds:n=!0}={}){this.elementsInSimplifiedDomByChecksumId={};let i=this.MAX_LIONTAIL_SIZE,o=this.MAX_ATTRIBUTE_SIZE,l=[],u=e;e.setAttribute("checksum-selected","true");try{for(;u;)l.push(u),u.parentNode&&u.parentNode instanceof ShadowRoot?u=u.parentNode.host:u=u.parentElement;l.reverse();let f=a(m=>{if(m instanceof Element)for(let b=m.attributes.length-1;b>=0;b--){let E=m.attributes[b];E&&E.name.length+E.value.length>o&&m.removeAttribute(E.name)}return m},"normalizeNode"),d,p=new Dn;do{d=(l[0]??e).cloneNode(!1);let m=d,b=ei(d);for(let E=1;E<l.length;E++){let w=l[E];if(!w)continue;if(t){let x=ei(w).length;if(x<=i&&b.length+x<=this.MAX_SNIPPET_SIZE){let R=this.deepCloneNode(w,n?p:void 0);m.appendChild(R);break}}let S=f(w.cloneNode(w===e));if(n&&S instanceof Element){let x=p.getAndIncrement();S.setAttribute("checksumid",x),this.elementsInSimplifiedDomByChecksumId[x]=w}m.appendChild(S),m=S}i=Math.max(i-10,0),o=Math.max(o-10,0)}while(d.outerHTML.length>this.MAX_SNIPPET_SIZE&&o>0);return this.filterNodeClasses(d),ei(d,{limitAttributeLength:!0})}catch(f){console.error("Error while getting ancestors HTML snippet",f);return}finally{e.removeAttribute("checksum-selected")}}deepCloneNode(e,t){let n=e.cloneNode(!1),i=[e],o=[n];for(;i.length;){let l=i.shift(),u=o.shift();if(!l||!u)break;for(let f=0;f<l.childNodes.length;f++){let d=l.childNodes[f];if(!d)continue;let p=d.cloneNode(!1);if(u.appendChild(p),t&&qe(d,"HTMLElement")){let g=t.getAndIncrement();p.setAttribute("checksumid",g),this.elementsInSimplifiedDomByChecksumId[g]=d}i.push(d),o.push(p)}}return n}filterNodeClasses(e){let t=a(n=>{if("classList"in n){let i=n,o=i.classList;for(let l=0;l<o.length;l++){let u=o[l];u&&pr.includes(u)&&i.classList.remove(u)}for(let l=0;l<i.children.length;l++){let u=i.children[l];u&&t(u)}}},"filterClasses");t(e)}};var Fl=class{static{a(this,"FilesObserver")}constructor(e){this.fileInputsWithListeners=new Set,this.filesMap={},this.observer=null,this.sessionMirror=e}async getFilesByRrwebId(e){let t=this.filesMap[e]??[];try{let n=await Promise.all(t.map(async i=>({data:await TF(i),fileName:i.name})));return this.filesMap[e]=[],n}catch{return console.error("Error while parsing files to base 64"),[]}}init(){this.observeDOMChanges(),window.addEventListener("unload",this.cleanup.bind(this))}handleFileChange(e){let t=e.target,n=Array.from(t.files??[]),i=this.sessionMirror.getMeta(t);i&&(this.filesMap[i.id]=n)}addFileInputListeners(e){e.forEach(t=>{this.fileInputsWithListeners.has(t)||(t.addEventListener("change",this.handleFileChange.bind(this)),this.fileInputsWithListeners.add(t))})}observeDOMChanges(){let e=window.document,t=e.querySelectorAll('input[type="file"]');this.addFileInputListeners(t);let n=a(()=>{this.observer=new MutationObserver(o=>{o.forEach(l=>{if(l.type==="childList"){let u=l.target.querySelectorAll('input[type="file"]');this.addFileInputListeners(u)}})}),this.observer.observe(e.body,{childList:!0,subtree:!0})},"onBodyReady"),i=new MutationObserver(function(){e.body&&(i.disconnect(),n())});i.observe(e.documentElement,{childList:!0,subtree:!0})}cleanup(){this.observer&&this.observer.disconnect(),this.fileInputsWithListeners.forEach(e=>{e.removeEventListener("change",this.handleFileChange)}),this.fileInputsWithListeners.clear(),this.filesMap={}}},TF=a(r=>new Promise((e,t)=>{let n=new FileReader;n.onloadend=()=>{n.result?e(n.result.toString()):t(new Error("File reading failed"))},n.onerror=()=>{t(new Error("File reading failed"))},n.readAsDataURL(r)}),"convertFileToBase64");var Hl=class{constructor(e){this.sessionRecorder=e}static{a(this,"NativeDialogObserver")}init(){this.overrideDialog("alert"),this.overrideDialog("confirm"),this.overrideDialog("prompt")}overrideDialog(e){let t=a((n,i)=>{let o=this.determineDialogAction(i,e);this.sessionRecorder.addCustomEvent("native-dialog-event",{dialogType:e,dialogMessage:n,dialogResult:i,dialogAction:o})},"recordDialogEvent");if(e==="alert"){let n=window.alert.bind(window);window.alert=i=>{let o=n(i);return t(i??""),o}}else if(e==="confirm"){let n=window.confirm.bind(window);window.confirm=i=>{let o=n(i);return t(i??"",o),o}}else{let n=window.prompt.bind(window);window.prompt=i=>{let o=n(i);return t(i??"",o),o}}}determineDialogAction(e,t){return t==="alert"?"native_accept":e?"native_accept":"native_dismiss"}};function VS(r){return Reflect.get(window,"checksum")?.timeMachine.sessionReplayer.getMeta(r)?.id}a(VS,"getNodeRrwebId");async function US(r,e,t){let n=await r.getSelectorAndLocator(e,{rootDocument:t,ignoredIframesSelectors:[".replayer-wrapper > iframe"],flags:{origin:"element-inspector"}}).catch(()=>null),i=n?.locator??"",o=n?.selector??"",l=n?.parentFramesSelectors??[],u=await r.selector(o,l).catch(()=>e),f=u&&u!==e?VS(u):void 0;return{locator:i,selector:o,parentFramesSelectors:l,locatorRrwebId:f}}a(US,"generateInspectedElementSelection");var $l=class r{constructor(){this.locatorCache=new Map}static{a(this,"InspectedElementCache")}static getInstance(){return r.instance??=new r,r.instance}setTimestamp(e){this.currentTimestamp=e}getCachedLocatorForElement(e){try{return this.currentTimestamp?this.locatorCache.get(this.getKeyForElement(e)):void 0}catch{return}}setCachedLocatorForElement(e,t){this.currentTimestamp&&this.locatorCache.set(this.getKeyForElement(e),t)}getKeyForElement(e){let t=VS(e);if(!t)throw new Error("Can't find rrwebId for element");return`${t}_${this.currentTimestamp}`}};function RF(r){let t=document.querySelector(".replayer-wrapper > iframe")?.contentDocument??null;return!t&&r.nodeType===Node.DOCUMENT_NODE&&(t=r),t??=document,t.defaultView}a(RF,"resolveDefaultView");var Bl=class r{constructor({rootDocument:e=document,getRenderDocument:t=a(u=>u?.document,"getRenderDocument"),defaultView:n,topLevelInspector:i,rootDocumentForSelectorGenerator:o,eventName:l}={}){this.hoveredElement=null;this.wasHoveredElementSelected=!1;this.selected=[];this.singleSelection=!0;this.subDocumentInspector=null;this.listening=!1;this.locatorCache=$l.getInstance();this.onMouseOut=a(()=>{Br.clearHighlights()},"onMouseOut");this.onMouseOver=a(e=>{this.onMouseOverAsync(e)},"onMouseOver");this.onMouseOverAsync=a(async e=>{let t=e.composedPath()[0];if(!t)return;let n=this.resolveHoverTargetElement(t);if(n){Br.clearHighlights(),this.hoveredElement&&this.hoveredElement.removeEventListener("click",this.onClick,{capture:!0});try{await this.highlightHoveredElement(t,n)}catch(i){console.error("Error inspecting element",i.message)}}},"onMouseOverAsync");this.onClick=a(e=>{this.onClickAsync(e)},"onClick");this.onClickAsync=a(e=>{e.stopPropagation(),e.preventDefault(),!this.wasHoveredElementSelected&&(this.wasHoveredElementSelected=!0,this.hoveredElementSelection&&this.selected.push(this.hoveredElementSelection),this.singleSelection&&(this.topLevelInspector?this.topLevelInspector.stop():this.stop()),window.parent.postMessage({type:this.eventName,data:this.selected[this.selected.length-1]},"*"))},"onClickAsync");this.handleSubDocument=a((e,t)=>{if(this.subDocumentInspector){if(this.subDocumentInspector.rootDocument===e)return!0;this.stopSubDocumentInspector(!0)}return this.subDocumentInspector=new r({rootDocument:e,defaultView:t,topLevelInspector:this.topLevelInspector??this,getRenderDocument:this.getRenderDocument,eventName:this.eventName}),this.subDocumentInspector.start({singleSelection:this.singleSelection,timestamp:this.currentTimestamp}),!0},"handleSubDocument");this.stopSubDocumentInspector=a(e=>{this.subDocumentInspector&&(this.subDocumentInspector.stop(e),this.subDocumentInspector=null)},"stopSubDocumentInspector");this.rootDocument=e,this.topLevelInspector=i,this.getRenderDocument=t,this.eventName=l,this.defaultView=n??this.getDefaultView(),this.playwrightElementSelectorGenerator=new $t,this.rootDocumentForSelectorGenerator=o??this.getDefaultView()?.document??document}static{a(this,"ElementInspector")}getDefaultView(){return RF(this.rootDocument)}start({singleSelection:e,timestamp:t}={singleSelection:!0}){this.singleSelection=e,this.locatorCache.setTimestamp(t),this.currentTimestamp=t,this.stop(),this.cleanSelection(),this.rootDocument.addEventListener("mouseover",this.onMouseOver),this.rootDocument.addEventListener("mouseout",this.onMouseOut),this.listening=!0}stop(e=!1){this.listening&&(this.listening=!1,this.subDocumentInspector&&this.stopSubDocumentInspector(e),Br.clearHighlights(),this.hoveredElement&&this.hoveredElement.removeEventListener("click",this.onClick,{capture:!0}),this.currentTimestamp=void 0,this.hoveredElement=null,this.wasHoveredElementSelected=!1,this.rootDocument.removeEventListener("mouseover",this.onMouseOver),e&&this.cleanSelection())}cleanSelection(){this.subDocumentInspector&&this.subDocumentInspector.cleanSelection(),this.selected=[]}consumeSelections(){if(this.subDocumentInspector)return this.subDocumentInspector.consumeSelections();let e=this.selected;return this.cleanSelection(),e}resolveHoverTargetElement(e){if("getRootNode"in e){let n=e.getRootNode();if(n!==this.rootDocument)return this.handleSubDocument(n,this.defaultView),null}if(qe(e,"HTMLIFrameElement")){let n=e.contentDocument;return n&&this.handleSubDocument(n,n.defaultView),null}if(this.subDocumentInspector&&this.stopSubDocumentInspector(!0),!qe(e,"HTMLElement"))return null;let t=e;return t===this.hoveredElement||t.matches(".element-inspector-ignore")?null:t}async highlightHoveredElement(e,t){let{locator:n,selector:i,parentFramesSelectors:o,locatorRrwebId:l}=await this.getInspectedElementSelection(t,this.rootDocumentForSelectorGenerator),u=this.getRenderDocument(this.defaultView);if(Br.highlightElement(t,{text:n.replace("frameLocator('iframe').",""),textPosition:"below",textWidthType:"auto",pointerEvents:"none",classNames:["element-inspector-ignore"],...u?{renderDocument:u}:{}}),l){let p=Reflect.get(window,"checksum")?.timeMachine.sessionReplayer.getNodeById(l);p&&Br.highlightElement(p,{clear:!1,pointerEvents:"none",classNames:["element-inspector-ignore"],...u?{renderDocument:u}:{}})}this.hoveredElement=t,this.hoveredElementSelection={locator:n,selector:i,...o!==void 0?{parentFramesSelectors:o}:{}},this.wasHoveredElementSelected=!1,e.addEventListener("click",this.onClick,{capture:!0})}async getInspectedElementSelection(e,t){let n=this.locatorCache.getCachedLocatorForElement(e);return n||(n=await US(this.playwrightElementSelectorGenerator,e,t),this.locatorCache.setCachedLocatorForElement(e,n)),n}};var sh=typeof navigator<"u"?navigator.userAgent.toLowerCase().indexOf("firefox")>0:!1;function oh(r,e,t,n){r.addEventListener?r.addEventListener(e,t,n):r.attachEvent&&r.attachEvent(`on${e}`,t)}a(oh,"addEvent");function Gs(r,e,t,n){r&&(r.removeEventListener?r.removeEventListener(e,t,n):r.detachEvent&&r.detachEvent(`on${e}`,t))}a(Gs,"removeEvent");function qS(r,e){let t=e.slice(0,e.length-1),n=[];for(let i=0;i<t.length;i++)n.push(r[t[i].toLowerCase()]);return n}a(qS,"getMods");function jS(r){typeof r!="string"&&(r=""),r=r.replace(/\s/g,"");let e=r.split(","),t=e.lastIndexOf("");for(;t>=0;)e[t-1]+=",",e.splice(t,1),t=e.lastIndexOf("");return e}a(jS,"getKeys");function IF(r,e){let t=r.length>=e.length?r:e,n=r.length>=e.length?e:r,i=!0;for(let o=0;o<t.length;o++)n.indexOf(t[o])===-1&&(i=!1);return i}a(IF,"compareArray");function YS(r){let e=r.keyCode||r.which||r.charCode;return r.key&&/^[a-z]$/i.test(r.key)?r.key.toUpperCase().charCodeAt(0):(r.code&&/^Key[A-Z]$/.test(r.code)&&(e=r.code.charCodeAt(3)),e)}a(YS,"getLayoutIndependentKeyCode");var Ys={backspace:8,"\u232B":8,tab:9,clear:12,enter:13,"\u21A9":13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,arrowup:38,arrowdown:40,arrowleft:37,arrowright:39,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"\u21EA":20,",":188,".":190,"/":191,"`":192,"-":sh?173:189,"=":sh?61:187,";":sh?59:186,"'":222,"{":219,"}":221,"[":219,"]":221,"\\":220},Zt={"\u21E7":16,shift:16,"\u2325":18,alt:18,option:18,"\u2303":17,ctrl:17,control:17,"\u2318":91,cmd:91,meta:91,command:91},qs={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},at={16:!1,18:!1,17:!1,91:!1},Xe={};for(let r=1;r<20;r++)Ys[`f${r}`]=111+r;var ze=[],js=null,Ni=null,KS="all",Vr=new Map,_i=a(r=>Ys[r.toLowerCase()]||Zt[r.toLowerCase()]||r.toUpperCase().charCodeAt(0),"code"),AF=a(r=>Object.keys(Ys).find(e=>Ys[e]===r),"getKey"),LF=a(r=>Object.keys(Zt).find(e=>Zt[e]===r),"getModifier"),XS=a(r=>{KS=r||"all"},"setScope"),Ks=a(()=>KS||"all","getScope"),OF=a(()=>ze.slice(0),"getPressedKeyCodes"),NF=a(()=>ze.map(r=>AF(r)||LF(r)||String.fromCharCode(r)),"getPressedKeyString"),_F=a(()=>{let r=[];return Object.keys(Xe).forEach(e=>{Xe[e].forEach(({key:t,scope:n,mods:i,shortcut:o})=>{r.push({scope:n,shortcut:o,mods:i,keys:t.split("+").map(l=>_i(l))})})}),r},"getAllKeyCodes"),ZS=a(r=>{let e=r.target||r.srcElement,{tagName:t}=e,n=!0,i=t==="INPUT"&&!["checkbox","radio","range","button","file","reset","submit","color"].includes(e.type);return(e.isContentEditable||(i||t==="TEXTAREA"||t==="SELECT")&&!e.readOnly)&&(n=!1),n},"filter"),DF=a(r=>(typeof r=="string"&&(r=_i(r)),ze.indexOf(r)!==-1),"isPressed"),kF=a((r,e)=>{let t,n;r||(r=Ks());for(let i in Xe)if(Object.prototype.hasOwnProperty.call(Xe,i))for(t=Xe[i],n=0;n<t.length;)t[n].scope===r?t.splice(n,1).forEach(({element:l})=>lh(l)):n++;Ks()===r&&XS(e||"all")},"deleteScope");function PF(r){let e=YS(r);r.key&&r.key.toLowerCase()==="capslock"&&(e=_i(r.key));let t=ze.indexOf(e);if(t>=0&&ze.splice(t,1),r.key&&r.key.toLowerCase()==="meta"&&ze.splice(0,ze.length),(e===93||e===224)&&(e=91),e in at){at[e]=!1;for(let n in Zt)Zt[n]===e&&(Cr[n]=!1)}}a(PF,"clearModifier");var JS=a((r,...e)=>{if(typeof r>"u")Object.keys(Xe).forEach(t=>{Array.isArray(Xe[t])&&Xe[t].forEach(n=>Wl(n)),delete Xe[t]}),lh(null);else if(Array.isArray(r))r.forEach(t=>{t.key&&Wl(t)});else if(typeof r=="object")r.key&&Wl(r);else if(typeof r=="string"){let[t,n]=e;typeof t=="function"&&(n=t,t=""),Wl({key:r,scope:t,method:n,splitKey:"+"})}},"unbind"),Wl=a(({key:r,scope:e,method:t,splitKey:n="+"})=>{jS(r).forEach(o=>{let l=o.split(n),u=l.length,f=l[u-1],d=f==="*"?"*":_i(f);if(!Xe[d])return;e||(e=Ks());let p=u>1?qS(Zt,l):[],g=[];Xe[d]=Xe[d].filter(m=>{let E=(t?m.method===t:!0)&&m.scope===e&&IF(m.mods,p);return E&&g.push(m.element),!E}),g.forEach(m=>lh(m))})},"eachUnbind");function zS(r,e,t,n){if(e.element!==n)return;let i;if(e.scope===t||e.scope==="all"){i=e.mods.length>0;for(let o in at)Object.prototype.hasOwnProperty.call(at,o)&&(!at[o]&&e.mods.indexOf(+o)>-1||at[o]&&e.mods.indexOf(+o)===-1)&&(i=!1);(e.mods.length===0&&!at[16]&&!at[18]&&!at[17]&&!at[91]||i||e.shortcut==="*")&&(e.keys=[],e.keys=e.keys.concat(ze),e.method(r,e)===!1&&(r.preventDefault?r.preventDefault():r.returnValue=!1,r.stopPropagation&&r.stopPropagation(),r.cancelBubble&&(r.cancelBubble=!0)))}}a(zS,"eventHandler");function GS(r,e){let t=Xe["*"],n=YS(r);if(r.key&&r.key.toLowerCase()==="capslock"||!(Cr.filter||ZS).call(this,r))return;if((n===93||n===224)&&(n=91),ze.indexOf(n)===-1&&n!==229&&ze.push(n),["metaKey","ctrlKey","altKey","shiftKey"].forEach(f=>{let d=qs[f];r[f]&&ze.indexOf(d)===-1?ze.push(d):!r[f]&&ze.indexOf(d)>-1?ze.splice(ze.indexOf(d),1):f==="metaKey"&&r[f]&&(ze=ze.filter(p=>p in qs||p===n))}),n in at){at[n]=!0;for(let f in Zt)if(Object.prototype.hasOwnProperty.call(Zt,f)){let d=qs[Zt[f]];Cr[f]=r[d]}if(!t)return}for(let f in at)Object.prototype.hasOwnProperty.call(at,f)&&(at[f]=r[qs[f]]);r.getModifierState&&!(r.altKey&&!r.ctrlKey)&&r.getModifierState("AltGraph")&&(ze.indexOf(17)===-1&&ze.push(17),ze.indexOf(18)===-1&&ze.push(18),at[17]=!0,at[18]=!0);let o=Ks();if(t)for(let f=0;f<t.length;f++)t[f].scope===o&&(r.type==="keydown"&&t[f].keydown||r.type==="keyup"&&t[f].keyup)&&zS(r,t[f],o,e);if(!(n in Xe))return;let l=Xe[n],u=l.length;for(let f=0;f<u;f++)if((r.type==="keydown"&&l[f].keydown||r.type==="keyup"&&l[f].keyup)&&l[f].key){let d=l[f],{splitKey:p}=d,g=d.key.split(p),m=[];for(let b=0;b<g.length;b++)m.push(_i(g[b]));m.sort().join("")===ze.sort().join("")&&zS(r,d,o,e)}}a(GS,"dispatch");var Cr=a(function r(e,t,n){ze=[];let i=jS(e),o=[],l="all",u=document,f=0,d=!1,p=!0,g="+",m=!1,b=!1;if(n===void 0&&typeof t=="function"&&(n=t),Object.prototype.toString.call(t)==="[object Object]"){let E=t;E.scope&&(l=E.scope),E.element&&(u=E.element),E.keyup&&(d=E.keyup),E.keydown!==void 0&&(p=E.keydown),E.capture!==void 0&&(m=E.capture),typeof E.splitKey=="string"&&(g=E.splitKey),E.single===!0&&(b=!0)}for(typeof t=="string"&&(l=t),b&&JS(e,l);f<i.length;f++){let E=i[f].split(g);o=[],E.length>1&&(o=qS(Zt,E));let w=E[E.length-1];w=w==="*"?"*":_i(w),w in Xe||(Xe[w]=[]),Xe[w].push({keyup:d,keydown:p,scope:l,mods:o,shortcut:i[f],method:n,key:i[f],splitKey:g,element:u})}if(typeof u<"u"&&typeof window<"u"){if(!Vr.has(u)){let E=a((S=window.event)=>GS(S,u),"keydownListener"),w=a((S=window.event)=>{GS(S,u),PF(S)},"keyupListenr");Vr.set(u,{keydownListener:E,keyupListenr:w,capture:m}),oh(u,"keydown",E,m),oh(u,"keyup",w,m)}if(!js){let E=a(()=>{ze=[]},"listener");js={listener:E,capture:m},oh(window,"focus",E,m)}if(!Ni&&typeof document<"u"){let E=a(()=>{ze=[];for(let x in at)at[x]=!1;for(let x in Zt)r[x]=!1},"onFullscreenChange"),w=E,S=E;document.addEventListener("fullscreenchange",w),document.addEventListener("webkitfullscreenchange",S),Ni={fullscreen:w,webkit:S}}}},"hotkeys2");function FF(r,e="all"){Object.keys(Xe).forEach(t=>{Xe[t].filter(i=>i.scope===e&&i.shortcut===r).forEach(i=>{i&&i.method&&i.method({},i)})})}a(FF,"trigger");function lh(r){let e=Object.values(Xe).flat();if(e.findIndex(({element:n})=>n===r)<0&&r){let{keydownListener:n,keyupListenr:i,capture:o}=Vr.get(r)||{};n&&i&&(Gs(r,"keyup",i,o),Gs(r,"keydown",n,o),Vr.delete(r))}if(e.length<=0||Vr.size<=0){if(Array.from(Vr.keys()).forEach(i=>{let{keydownListener:o,keyupListenr:l,capture:u}=Vr.get(i)||{};o&&l&&(Gs(i,"keyup",l,u),Gs(i,"keydown",o,u),Vr.delete(i))}),Vr.clear(),Object.keys(Xe).forEach(i=>delete Xe[i]),js){let{listener:i,capture:o}=js;Gs(window,"focus",i,o),js=null}Ni&&typeof document<"u"&&(document.removeEventListener("fullscreenchange",Ni.fullscreen),document.removeEventListener("webkitfullscreenchange",Ni.webkit),Ni=null)}}a(lh,"removeKeyEvent");var ah={getPressedKeyString:NF,setScope:XS,getScope:Ks,deleteScope:kF,getPressedKeyCodes:OF,getAllKeyCodes:_F,isPressed:DF,filter:ZS,trigger:FF,unbind:JS,keyMap:Ys,modifier:Zt,modifierMap:qs};for(let r in ah){let e=r;Object.prototype.hasOwnProperty.call(ah,e)&&(Cr[e]=ah[e])}if(typeof window<"u"){let r=window.hotkeys;Cr.noConflict=e=>(e&&window.hotkeys===Cr&&(window.hotkeys=r),Cr),window.hotkeys=Cr}var Di=class{constructor(){this.boundShortcuts=[]}static{a(this,"KeybindingsManager")}addKeybinding(e){let t=e.key.toLowerCase();if(this.boundShortcuts.includes(t))return;this.boundShortcuts.push(t),Cr(t,{capture:!0,keydown:!0},i=>{i.preventDefault(),e.callback(i)})}};var Vl=class{constructor(e){this.sessionRecorder=e;this.elementInspector=null;this.keybindingsManager=new Di;this.activeHandler=null;this.createHandler=a(e=>({handlerFunc:a(t=>{try{e.handlerFunc(t)}finally{this.stopObserver()}},"handlerFunc"),handlerType:e.handlerType}),"createHandler");this.toHaveTextHandler=a(()=>e=>{let t=e.data?.data,n=window.prompt(`Please enter the expected text for the element:
77
+ `)??[])[4];if(n){let i=n.match(/at\s+.+\s+\((.+):(\d+):(\d+)\)/)??n.match(/at\s+(.+):(\d+):(\d+)/);if(i){let[,o,l]=i;if(o)return`${o.split("/").pop()||o}:${l}`}}return"unknown"}static log(e,t,n){let i={level:e,message:t,timestamp:new Date().toISOString(),data:n},o=this.getCallerInfo(),l=this.formatMessage(i,o);switch(e){case"error":console.error(l);break;case"warn":console.warn(l);break;case"debug":console.debug(l);break;case"rrweb":break;default:console.log(l)}}static info(e,t){this.log("info",e,t)}static warn(e,t){this.log("warn",e,t)}static error(e,t){this.log("error",e,t)}static debug(e,t){this.log("debug",e,t)}static rrweb(e,t){this.log("rrweb",e,t)}},_e=Bd;var Ri=class{static{a(this,"BlobStoreManager")}static storeBlob(e){if(window.parent.blobs??={},e.originalUrl){let t=new Uint8Array(e.blobData),n=new Blob([t],{type:e.mimeType});window.parent.blobs[e.originalUrl]=URL.createObjectURL(n)}}static getBlobUrl(e){return window.parent.blobs?.[e]}static async replaceBlobUrls(e){if(e==null)return e;if(typeof e=="string"){if(e.includes("blob:")){try{await this.waitForBlob(e)}catch(n){return console.error(`Waiting for blob failed: ${n}`),e}return this.getBlobUrl(e)||e}return e}if(Array.isArray(e))return Promise.all(e.map(t=>this.replaceBlobUrls(t)));if(typeof e=="object"){let t={};for(let[n,i]of Object.entries(e))t[n]=await this.replaceBlobUrls(i);return t}return e}static async waitForBlob(e,t=5e3){return new Promise((n,i)=>{let o=Date.now(),l=a(()=>{if(this.hasBlob(e)){n();return}if(Date.now()-o>t){i(new Error(`Timeout waiting for blob: ${e}`));return}setTimeout(l,100)},"checkBlob");l()})}static hasBlob(e){return e in(window.parent.blobs??{})}};var Bs=class{constructor(e,t){this.replayer=e;this.events=t}static{a(this,"ReplayerHelper")}pause(e){let t=this.events.find(o=>o.timestamp>=e),n=this.replayer.getMetaData().startTime,i=t?t.timestamp-n:e-n;this.replayer.pause(i)}goLive(){this.replayer.play(Date.now())}};var CP=!0,xl=class{constructor(e={}){this.interactionEventsTimestamps=[];this.initialEventsBuffer=[];this.config={enableInteract:!1};this.eventSubscribers={};this.stop=a(()=>{_e.info("Stopping replayer");try{this.replayer&&this.replayer.destroy()}catch(e){_e.error("Error destroying replayer",e)}},"stop");this.getNodeById=a(e=>this.getReplayer().getMirror().getNode(e),"getNodeById");this.getMeta=a(e=>this.replayer?.getMirror().getMeta(e)??null,"getMeta");this.getLastInteractionEventTimestamp=a(e=>{let t=this.interactionEventsTimestamps.sort((n,i)=>n-i).reverse().find(n=>n<=e);return _e.rrweb("Getting last interaction event timestamp",{inputTimestamp:e,lastTimestamp:t}),t},"getLastInteractionEventTimestamp");_e.info("Initializing SessionReplayer",{config:e}),this.config={...this.config,...e}}static{a(this,"SessionReplayer")}makeReplayerConfig(){let e={mouseTail:!1,pauseAnimation:!1,speed:360,triggerFocus:!0,UNSAFE_replayCanvas:!0,liveMode:!0,showDebug:!1,skipInactive:!0,useVirtualDom:!1};return this.config.root&&(e.root=this.config.root),_e.rrweb("Creating replayer configuration",{playerConfig:e}),e}makeReplayer(e=[],{baselineTime:t=Date.now()}={}){_e.info("Creating replayer instance",{eventsCount:e.length,baselineTime:t,config:this.config});let n=new nl(e,this.makeReplayerConfig());this.replayer=n,this.config.enableInteract?(_e.rrweb("Enabling interact mode"),n.enableInteract()):(_e.rrweb("Disabling interact mode"),n.disableInteract()),this.config.onlyLive?(_e.info("Starting live mode",{baselineTime:t}),n.startLive(t)):(_e.info("Starting playback"),n.play()),CP&&(_e.rrweb("Setting up debug mode"),this.setupDebugMode()),Object.values(ve).forEach(i=>{n.on(i,o=>{this.notifySubscribers(i,o)})}),this.disableInteractiveElements()}isConnected(){let e=!!this.replayer;return _e.rrweb("Checking replayer connection status",{connected:e}),e}getReplayer(){if(!this.replayer)throw new Error("Replayer is not initialized");return this.replayer}subscribeTo(e,t,n){_e.rrweb("Subscribing to events",{id:e,events:t}),t.forEach(i=>{this.eventSubscribers[i]??={},this.eventSubscribers[i][e]=n})}unsubscribeFrom(e){_e.rrweb("Unsubscribing from events",{id:e}),Object.values(this.eventSubscribers).forEach(t=>{let n=t;n&&n[e]&&delete n[e]})}notifySubscribers(e,t){Object.values(this.eventSubscribers[e]??{}).forEach(n=>{try{n(t)}catch(i){_e.error("Error in event cast subscriber",{eventType:e,error:i})}})}getFirstEventTimestamp(){if(!this.replayer)return 0;let e=this.replayer.getMetaData().startTime;return _e.rrweb("Getting first event timestamp",{timestamp:e}),e}getLastEventTimestamp(){if(!this.replayer)return 0;let e=this.replayer.getMetaData().endTime;return _e.rrweb("Getting last event timestamp",{timestamp:e}),e}getCurrentTimestamp(){try{let e=this.getReplayer().getCurrentTime()+this.getFirstEventTimestamp();return _e.rrweb("Getting current timestamp",{timestamp:e}),e}catch(e){return _e.error("Error getting current timestamp",e),0}}getIframeDocument(){return _e.rrweb("Getting iframe document"),this.getReplayer().iframe.contentDocument}start(){}async fastForward(e){if(_e.rrweb("Fast forwarding events",{eventsCount:e.length}),!this.replayer&&!this.ensureReplayerForFastForward(e))return;let t=0,n=new Promise(i=>{this.subscribeTo("fastForward",[ve.EventCast],()=>{t++,t===e.length&&(this.unsubscribeFrom("fastForward"),i())})});for(let i of e){i.type===Y.FullSnapshot&&_e.rrweb("Updating last snapshot");let o=i;try{o=await Ri.replaceBlobUrls(i)}finally{this.getReplayer().addEvent(o)}$d(i,{includeBlur:!1,includeFocus:!1})&&this.interactionEventsTimestamps.push(i.timestamp)}await n}ensureReplayerForFastForward(e){if(this.config.onlyLive){let t=e[0];if(!t)throw new Error("Cannot create live replayer without events");return _e.rrweb("Creating live replayer",{baselineTime:t.timestamp}),this.makeReplayer([],{baselineTime:t.timestamp}),!0}return this.initialEventsBuffer.push(...e),_e.rrweb("Buffering initial events",{bufferSize:this.initialEventsBuffer.length}),this.initialEventsBuffer.length>=2?(this.makeReplayer(this.initialEventsBuffer),!0):!1}goLive(){_e.info("Going live"),new Bs(this.getReplayer(),this.getReplayerContext().events).goLive()}goBack(e){_e.info("Going back to timestamp",{timestamp:e}),new Bs(this.getReplayer(),this.getReplayerContext().events).pause(e)}getReplayerContext(){return this.getReplayer().service.state.context}setupDebugMode(){window.__chkreplayer={events:a(()=>this.getReplayerContext().events,"events"),stringifyEvents:a(()=>this.getReplayerContext().events.map(Hd),"stringifyEvents"),stringifyActionEvents:a(()=>this.getReplayerContext().events.filter(e=>$d(e)).map(Hd),"stringifyActionEvents"),back:a(e=>this.goBack(e),"back"),live:a(()=>this.goLive(),"live"),currentTime:a(()=>this.getReplayer().getCurrentTime(),"currentTime"),getReplayer:a(()=>this.replayer,"getReplayer"),getThis:a(()=>this,"getThis")}}disableInteractiveElements(){_e.rrweb("Disabling interactive elements");let e=this.getReplayer().iframe,t=e.contentDocument??e.contentWindow?.document;if(!t)return;new MutationObserver(()=>cS(t)).observe(t,{childList:!0,subtree:!0})}};var uS=16e3;var xP=!0,Wd={markTransparentElementsAsHidden:!1,markElementsHiddenByTransparentElementAsVisible:!0},Ml=class{constructor(){this.interactableElements=[];this.nonInteractableElementsFromSimplifiedDom=[];this.interactableElementsFromSimplifiedDom=[];this.elementsInSimplifiedDomByChecksumId={};this.selectors={};this.checksumIdToRRwebIdMap={};this.flashingElementsDetector=new Sl;this.forceIncludeElements=[];this.preMapReducedHTMLSelectors=!1;this.useRrwebIdsAsChecksumIds=!1;this.excludedNodes=0;this.nodeRepetitionsThreshold=50;this.reducePercentage=50;this.checksumIdCounter=new Dn("0");this.scrollableElements={};this.defaultReduceHTMLOptions={checkElementInstanceType:!0,extraAllowedAttributes:[],initialChecksumId:void 0,forceIncludeFileInput:!1,forceIncludeAttribute:void 0,invalidateCache:!1,svgIntegration:"aria-label",includeFlashingElements:!0,onForceIncludeElement:a(()=>{},"onForceIncludeElement"),limitNodeRepetitions:50,stopFlashingElementsDetection:!1,assignChecksumIdsToAllElements:!0,assignRrwebIdsToAllElements:!0,fromTimeMachine:!1}}static{a(this,"HTMLReducer")}preprocessDocument(e=document){ln("[preprocessDocument] querySelectorAllExtended");let t=de("*",e,{includeHTML:!0});cn("[preprocessDocument] querySelectorAllExtended"),ln("[preprocessDocument] isElementHidden");for(let n of t){if(this.shouldIgnoreElement(n))continue;let i=gt(n,Wd);n.setAttribute("checksum-data-visible",!i.isHidden&&!i.isTransparent?"true":"false"),!i.isHidden&&i.isTransparent&&n.setAttribute("checksum-data-transparently-visible","true"),i.isBehindTransparentElement&&n.setAttribute("checksum-data-visible-under-transparent-element","true"),i.clickOffset&&n.setAttribute("checksum-data-click-offset",`${i.clickOffset.x};${i.clickOffset.y}`),this.markScrollableElement(n)}cn("[preprocessDocument] isElementHidden")}markScrollableElement(e){let{canScrollX:t,canScrollY:n,progressX:i,progressY:o}=ht.getScrollData(e);if(t&&i!==void 0&&(e.setAttribute("data-scrollable-x","true"),e.setAttribute("data-scrollable-x-progress",i.toString())),n&&o!==void 0&&(e.setAttribute("data-scrollable-y","true"),e.setAttribute("data-scrollable-y-progress",o.toString())),t||n)try{let l=this.getSessionMirror()?.getMeta(e)?.id;l&&(this.scrollableElements[l]={...t&&i!==void 0?{x:i}:{},...n&&o!==void 0?{y:o}:{}})}catch(l){console.error("[markScrollableElement] Error getting rrwebId and updating scrollable elements",e,l)}}setSessionRecorder(e){this.sessionRecorder=e}markInteractableElements(e,t=document,{forceIncludeAttribute:n,forceIncludeFileInput:i}={}){ln("[markInteractableElements]"),this.interactableElements=[];let o=Nn(t,e,{allowDisabled:!0,excludeCrossOriginIframes:!1}),l=a((d,p)=>(d._checksumid||(d._checksumid=p??this.checksumIdCounter.getAndIncrement()),d.setAttribute("checksumid",d._checksumid),d.setAttribute("checksuminteractable","true"),d._checksumid),"setChecksumIdForElement"),u=a((d,p=!1,g)=>{if(this.shouldIgnoreElement(d))return;let m=d.getAttribute("checksum-data-click-offset")?.split(";"),b=m&&{x:parseInt(m[0]??""),y:parseInt(m[1]??"")},E=l(d,g);this.interactableElements.push({checksumId:E,element:d,forced:p,clickOffset:b})},"handleInteractableElement");o.forEach(d=>u(d));let f=a(d=>{de(d,t,{includeHTML:!0}).forEach(p=>u(p,!0))},"forceIncludeSelector");n&&f(`[${n}]`),i&&f("input[type='file']"),this.forceIncludeElements.filter(({element:d})=>d?.isConnected).forEach(({element:d,checksumid:p})=>u(d,!0,p)),console.log(`Marked ${this.interactableElements.length} interactable elements`),cn("[markInteractableElements]")}truthyFilter(e){return!!e}shouldIgnoreElement(e){return e.hasAttribute($s)}getSessionMirror(e=!1){return e?window.checksum.timeMachine.sessionReplayer:this.sessionRecorder}generateSimplifiedDom(e,t,{extraAllowedAttributes:n=[],checkElementInstanceType:i=!0,forceIncludeAttribute:o=void 0,forceIncludeFileInput:l=!1,svgIntegration:u="aria-label",onForceIncludeElement:f=void 0,contentWindow:d=window,assignChecksumIdsToAllElements:p=!0,assignRrwebIdsToAllElements:g=!0,fromTimeMachine:m=!1}={}){if(!e)return null;let b=a((G,ke=G)=>{if(G._originalNode=ke,!qe(G,"Element")||!qe(ke,"Element"))return G;let ct=G,St=ke;if(p&&!St.hasAttribute("checksumid")&&(St._checksumid||(St._checksumid=this.checksumIdCounter.getAndIncrement()),ct.setAttribute("checksumid",St._checksumid),this.nonInteractableElementsFromSimplifiedDom.push({checksumId:St._checksumid,element:St})),g){let rt=this.getSessionMirror(m);if(rt){let nt=rt.getMeta(St)?.id?.toString();nt&&(ct.setAttribute("rrwebid",nt),this.useRrwebIdsAsChecksumIds&&(ct.setAttribute("checksumid",nt),ct._checksumid=nt))}}return this.checksumIdToRRwebIdMap[St._checksumid]=parseInt(St._rrwebid),G},"processSimplifiedDOMNode"),E=a((G,ke=e)=>b(document.createTextNode(G),ke),"createTextNode"),w=a((G,ke=e)=>b(document.createElement(G),ke),"createElementNode");if(e.nodeType===Node.ELEMENT_NODE){let G=e;if(G.tagName.toLowerCase()==="head"||this.shouldIgnoreElement(G))return null}if(e.nodeType===Node.TEXT_NODE)return!e.parentElement||e.parentElement.getAttribute("checksum-data-visible")==="false"&&!e.parentElement.hasAttribute("checksumid")||e.parentElement.tagName.toLowerCase()==="body"?null:e.textContent?.trim()?E(e.textContent+" "):null;if(e.nodeType!==Node.ELEMENT_NODE||i&&!(qe(e,"HTMLElement")||qe(e,"SVGElement")))return null;let S=e,x=S.tagName.toLowerCase()==="iframe"&&S.contentDocument,R=ti(x?x.documentElement:S,{flattenShadowRootChildren:!0});t.esraSelectionRules?.limitChildren?.forEach(G=>{S.matches(G.selector)&&R.length>G.limit&&R.splice(G.limit)});let M=R.map(G=>this.generateSimplifiedDom(G,t,{extraAllowedAttributes:n,checkElementInstanceType:i,forceIncludeAttribute:o,forceIncludeFileInput:l,svgIntegration:u,onForceIncludeElement:f,contentWindow:x?S.contentWindow:d,assignChecksumIdsToAllElements:p,assignRrwebIdsToAllElements:g,fromTimeMachine:m})).filter(this.truthyFilter),A=S.getAttribute("checksum-data-visible")!=="false",O=S.hasAttribute("checksumid"),N=S.hasAttribute("role"),{customDescription:P,customDescriptionTarget:U}=this.getElementCustomDescription(S,{enableSVGCustomDescription:!!u}),K=!!P,q=S.hasAttribute("aria-label")||S.hasAttribute("name")||S.hasAttribute("alt"),he=S.hasAttribute(Cl)||this.forceIncludeElements.map(G=>G.element).includes(S)||!!o&&S.hasAttribute(o)||l&&S.tagName.toLowerCase()==="input"&&S.getAttribute("type")==="file",se=["form","button","input","textarea","a","table","th","tr","td","section","nav","header","footer","main","article","aside","li","ul","select","option","datalist"],F=O||A&&(N||q||K||S.matches(se.join(",")));if(!(F||he)){if(!M.length)return null;let G=M[0];if(M.length===1&&G&&!qe(G,"Text"))return G}!F&&he&&f?.(S);let{resolvedTag:it,dataTag:ee}=lS(S.tagName,S.tagName.toLowerCase()==="body"&&S.ownerDocument!==document),Q=a(()=>{if(K)switch(U){case"svg":switch(u){case"aria-label":{let G=w("svg");return G.setAttribute("aria-label",P),{simplifiedNode:G,appendChildren:!1}}case"text":{if(S.hasAttribute("checksumid")){let ke=w("div");return ke.innerText=P,{simplifiedNode:ke,appendChildren:!1}}return{simplifiedNode:E(` [${P}] `),appendChildren:!1}}}}return{simplifiedNode:w(it)}},"makeSimplifiedNode"),{simplifiedNode:Oe,appendChildren:Te=!0}=Q();if(!qe(Oe,"Element"))return Oe;let we=Oe,tt=["aria-.+","data-name","name","type","placeholder","content","value","role","icon","title","checksumid","checksuminteractable","checksum-get-more-items","checked","disabled","selected","label","required","inputmode","min","max","step","minlength","maxlength","alt","hidden","draggable","ondrop","ondragover","contenteditable","href","(data-)?test(-)?id"].concat(n),xr=S.attributes;for(let G of xr)for(let ke of tt)new RegExp("^"+ke+"$").test(G.name)&&we.setAttribute(G.name,G.value);if(ee&&we.setAttribute("data-tag",ee),S.isContentEditable?we.setAttribute("contenteditable","true"):!["TEXTAREA","INPUT","SELECT"].includes(S.tagName)&&window.getComputedStyle(S).cursor==="text"&&we.setAttribute("contenteditable","cursor-text"),qe(S,"HTMLInputElement")&&S.getAttribute("type")==="checkbox")S.checked&&we.setAttribute("checked","true");else if(qe(S,"HTMLInputElement")||qe(S,"HTMLSelectElement"))we.setAttribute("value",S.value);else if(qe(S,"HTMLTextAreaElement")&&!S.childNodes.length&&S.value){let G=E(S.value);we.appendChild(G)}return Te&&M.forEach(G=>we.appendChild(G)),we}getElementCustomDescription(e,{enableSVGCustomDescription:t=!0}={}){return(qe(e,"SVGElement")||e.tagName.toLowerCase()==="svg")&&t?{customDescriptionTarget:"svg",customDescription:this.getSVGDescriptionForElement(e)}:{}}getSVGDescriptionForElement(e){let t=this.findSvgElementDescriptionFromBank(e);if(t)return t;let n=e.querySelector("title");if(n)return n.textContent??void 0}findSvgElementDescriptionFromBank(e){return this.getSvgBank().find(t=>e.matches(`svg:has(${t.selector})`))?.description}getSvgBank(){return rS}restoreDom(e=document){de("*",e).forEach(n=>{n.removeAttribute("checksum-data-visible"),n.removeAttribute("checksum-data-transparently-visible"),n.removeAttribute("checksum-data-visible-under-transparent-element"),n.removeAttribute("checksumid"),n.removeAttribute("checksuminteractable"),n.removeAttribute("checksum-data-click-offset"),n.removeAttribute($s),n.removeAttribute(Cl),n.removeAttribute("data-scrollable-x"),n.removeAttribute("data-scrollable-y"),n.removeAttribute("data-scrollable-x-progress"),n.removeAttribute("data-scrollable-y-progress"),n.removeAttribute("rrwebid")})}async mapAndStoreSelectors(){let e={},t=new $t;for(let{checksumId:n,element:i,clickOffset:o,selector:l,locator:u,parentFramesSelectors:f}of await t.injectSelectorsAndLocators(this.interactableElementsFromSimplifiedDom)){if(!l){console.warn("Unable to get selector for element",i);continue}let d=i;e[n]={element:d,selector:l,locator:u,...o?{clickOffset:o}:{},parentFramesSelectors:f??[],innerText:d.innerText,rrwebId:this.checksumIdToRRwebIdMap[n]??NaN}}return e}shouldFurtherReduce(e){return e?e.outerHTML.length>uS:!0}async reduce(e=document,t,n={}){console.time("reduceHTML");let{initialChecksumId:i,forceIncludeAttribute:o,forceIncludeFileInput:l,invalidateCache:u,includeFlashingElements:f,limitNodeRepetitions:d,stopFlashingElementsDetection:p}=this.lastReduceHTMLOptions={...this.defaultReduceHTMLOptions,...n},g=Ot.getInstance("reduce",{target:e,monitorInput:!0,invalidate:u,log:!1});if(g.hasCache()){let x=g.get();if(x)return x}let m=f?this.flashingElementsDetector.get():void 0;p&&this.flashingElementsDetector.stop(),this.nodeRepetitionsThreshold=d,this.reducePercentage=50,this.templateNodes=void 0,this.excludedNodes=0,this.scrollableElements={};let b=a(x=>sS(x,{forceIncludeAttribute:o,forceIncludeFileInput:l,forceIncludeElements:this.forceIncludeElements.map(R=>R.element),limit:Math.min(Math.ceil(x.element.children.length*(this.reducePercentage/100)),x.element.children.length-6)}),"templateReducer");console.log("Running pre-templatize"),this.templatize(b),console.log("Preprocessing document..."),this.preprocessDocument(e);let E;for((i||!this.checksumIdCounter)&&(this.checksumIdCounter=new Dn(i??"0")),console.log("Marking interactable elements..."),this.markInteractableElements(t,e,{forceIncludeAttribute:o,forceIncludeFileInput:l});;){if(console.log("Generating simplified DOM..."),this.nonInteractableElementsFromSimplifiedDom=[],E=this.generateSimplifiedDom(e.documentElement,t,this.lastReduceHTMLOptions),!E)throw new Error("Unable to get simplified DOM");if(this.shouldFurtherReduce(E)){if(console.log(`Will further reduce (${E.outerHTML.length})...`),!this.templatize(b)){console.log(`Exceeded maximum html reduction, stopping (html size: ${E.outerHTML.length})`);break}}else break}console.log("Simplified DOM generated, length:",E.outerHTML.length);let w=new Set(Array.from(E.querySelectorAll("[checksumid]")).map(x=>x.getAttribute("checksumid")));this.interactableElementsFromSimplifiedDom=this.interactableElements.filter(x=>w.has(x.checksumId)),console.log(`Found ${this.interactableElementsFromSimplifiedDom.length} interactable elements in simplified DOM vs ${this.interactableElements.length} in original DOM`),console.log("Restoring DOM..."),this.restoreDom(e),this.preMapReducedHTMLSelectors=xP?!1:!!t.preMapReducedHTMLSelectors,this.preMapReducedHTMLSelectors?(console.log("Mapping selectors..."),this.selectors=await this.mapAndStoreSelectors(),console.log("Done mapping selectors")):this.selectors={},this.elementsInSimplifiedDomByChecksumId=[...this.interactableElementsFromSimplifiedDom,...this.nonInteractableElementsFromSimplifiedDom].reduce((x,R)=>(x[R.checksumId]=R,x),{});let S={reducedDomHTMLElement:E,reducedHTML:E.outerHTML,currentChecksumId:this.checksumIdCounter.get(),...m!==void 0?{flashingHTML:m}:{},scrollableElements:this.scrollableElements};return g.set(S),console.timeEnd("reduceHTML"),S}templatize(e){let t=this.excludedNodes,n=a(()=>Array.from(this.templateNodes??[]).reduce((i,o)=>i+e(o).length,0),"calcExculdedNodes");if(!this.templateNodes)this.templateNodes=wr(document.body,{nodeRepetitionsThreshold:this.nodeRepetitionsThreshold}),this.excludedNodes=n();else do{if(this.reducePercentage<98)this.reducePercentage=Math.min(this.reducePercentage+20,98),console.log("Increasing reduce percentage to",this.reducePercentage);else{if(this.nodeRepetitionsThreshold<=20)return!1;this.reducePercentage=50,this.nodeRepetitionsThreshold-=10,console.log("Reducing node repetitions threshold to",this.nodeRepetitionsThreshold),this.templateNodes=wr(document.body,{nodeRepetitionsThreshold:this.nodeRepetitionsThreshold})}this.excludedNodes=n()}while(t===this.excludedNodes);return console.log(`[templatize] ${this.excludedNodes} elements marked to ignore for ${this.templateNodes?.length} templates`),!0}getMoreElementsFromTemplate(e,t){try{let n=this.templateNodes?.find(d=>d.id===e);if(!n)throw new Error("Template not found");let{element:i,excludedElements:o}=n;if(!o)throw new Error("Template has no excluded elements");console.log("Preprocessing template node..."),this.preprocessDocument(i),console.log("Marking template interactable elements..."),this.markInteractableElements(t,i,this.lastReduceHTMLOptions);let l=[],u=a(()=>l.map(d=>d instanceof Element?d.outerHTML:"").join(""),"getElementsHTML"),f=o.values();for(;u().length<uS*.5;){let d=f.next().value;if(!d)break;let p=Array.from(d.querySelectorAll("[checksumid]")).concat(d._checksumid?[d]:[]);this.interactableElements.filter(g=>p.includes(g.element)).forEach(g=>{this.elementsInSimplifiedDomByChecksumId[g.element._checksumid]=g}),l.push(this.generateSimplifiedDom(d,t,this.lastReduceHTMLOptions)),o.delete(d)}return this.restoreDom(i),{items:u(),hasMoreItems:o.size>0}}catch(n){console.error("[getMoreElementsFromTemplate] error",n);return}}async getSelectorForChecksumId(e){let t=a(d=>({selector:e,element:d?d.element:null,locator:"",parentFramesSelectors:[],invalid:!0,rrwebId:this.checksumIdToRRwebIdMap[e]??NaN,...d?.clickOffset?{clickOffset:d.clickOffset}:{},innerText:d?d.element.innerText:""}),"makeDefaultResult"),n=new $t,i=this.elementsInSimplifiedDomByChecksumId[e];if(!i||!i.element.isConnected)return this.preMapReducedHTMLSelectors&&this.selectors[e]?this.selectors[e]:t(i);let o=await n.getSelectorAndLocator(i.element);if(!o)return t(i);let{selector:l,locator:u,parentFramesSelectors:f}=o;return{...t(i),selector:l,locator:u,parentFramesSelectors:f??[],invalid:!1}}getElementForChecksumId(e){return this.elementsInSimplifiedDomByChecksumId[e]?.element}hasInnerTextByChecksumId(e,{maxLength:t=void 0,minLength:n=void 0}={}){if(!this.preMapReducedHTMLSelectors){let o=this.elementsInSimplifiedDomByChecksumId[e]?.element?.innerText;return!(!o||n&&o.length<n||t&&o.length>t)}return!!this.selectors[e]?.innerText}getInteractableElements(){return this.interactableElements}getInteractableElementsInReducedHTML(){return this.interactableElementsFromSimplifiedDom}startFlashingElementsDetection(){return this.flashingElementsDetector.start()}addForceIncludeElement(e){this.forceIncludeElements.push(e),e.element._checksumid=e.checksumid}};function dS(r){return r._debugSource?.fileName?r._debugSource?.fileName:""}a(dS,"getComponentpath");function fS(r,e){if(r==="Unknown"||typeof r!="string"||r.charAt(0)!==r.charAt(0).toUpperCase()||e.type?.$$typeof===Symbol.for("react.context")||e.type?.$$typeof===Symbol.for("react.forward_ref")||e.type?.$$typeof===Symbol.for("react.memo")||e.type?.$$typeof===Symbol.for("react.profiler")||e.type?.$$typeof===Symbol.for("react.suspense"))return!1;let t=dS(e);return!(/.*\/node_modules\//.test(t)||r===t||/^(?!.*src).*$/.test(t))}a(fS,"isComponentAllowed");function Vd(r,e={}){if(!r)return["",{}];let t=r.type,n=t?t.name||t:"Unknown",i="";if(fS(n,r)){i+=`<${n}>`;let o=dS(r);e[n]=o}if(r.child){let[o,l]=Vd(r.child,e);i+=o,e={...e,...l}}if(fS(n,r)&&(i+=`</${n}>`),r.sibling){let[o,l]=Vd(r.sibling,e);i+=o,e={...e,...l}}return[i,e]}a(Vd,"traverseReactTree");function hS(r){let e=r._reactRootContainer?._internalRoot.current;return e||console.log("No react tree in element",r),Vd(e)}a(hS,"getReactTree");var Ii=class r{static{a(this,"FrontendLogger")}static{this.overriddenMethods=["log","warn","error"]}static{this.original={}}static removePrefix(){this.overriddenMethods.forEach(e=>{let t=r.original[e];t&&(console[e]=t)})}static setPrefix(e){this.overriddenMethods.forEach(t=>{let n=r.original[t]??console[t];r.original[t]=n,console[t]=(...i)=>{i.unshift(e),n.apply(console,i)}})}};var Tl=class{constructor(e=i=>i.map(o=>o.target),t={childList:!0,subtree:!0,attributes:!0,attributeOldValue:!0},n={collectElement:!0}){this.filterElements=e;this.observeOptions=t;this.options=n;this.elements=[];this.mutationEventListeners=[]}static{a(this,"MutationDetector")}addEventListener(e,t){this.mutationEventListeners.push({selector:e,listener:t})}startListening(){this.elements=[],this.observer=new MutationObserver(e=>{this.options.collectElement&&(this.elements=[...this.elements,...this.filterElements(e)]),this.mutationEventListeners.length&&e.forEach(t=>{t.addedNodes.forEach(n=>{if(n.nodeType!==Node.ELEMENT_NODE)return;let i=n;this.mutationEventListeners.forEach(o=>{i.matches(o.selector)?o.listener(i):i.querySelectorAll(o.selector).forEach(l=>{o.listener(l)})})})})}),this.observer.observe(document.body,this.observeOptions)}stopListening(){return this.observer?.disconnect(),this.elements}};function pS(r){let e=r.filter(n=>n.addedNodes.length>0).reduce((n,i)=>[...n,...i.addedNodes],[]),t=r.filter(n=>n.type==="attributes"&&n.attributeName==="style"&&n.target instanceof HTMLElement&&/display\s*:\s*none/.test(n.oldValue??"")&&Yo(n.target).visible).map(n=>n.target);return[...e,...t]}a(pS,"poppingElementsFilter");function MP(r,e){let t=new Set,n=r;for(;n;)t.add(n),n=n.parentNode;let i=e;for(;i;){if(t.has(i))return i;i=i.parentNode}return null}a(MP,"findCommonAncestor");function Ud(r,e){let t=MP(r,e),n=0,i;if(!t)return 99999;for(i=r;i&&i!==t;)n++,i=i.parentNode;for(i=e;i&&i!==t;)n++,i=i.parentNode;return n}a(Ud,"distanceBetweenNodes");function zd(r,e){Object.assign(r.style,e)}a(zd,"mergeStyle");function TP(r){let e=window.getComputedStyle(r),t=e.transform;if(t.startsWith("matrix")){let n=parseFloat((t.split(",")[0]??"").replace("matrix(",""))||1,i=parseFloat(t.split(",")[3]??"")||1;return{scaleX:n,scaleY:i}}if(e.scale){let n=parseFloat(e.scale)||1,i=parseFloat(e.scale)||1;return{scaleX:n,scaleY:i}}return{scaleX:1,scaleY:1}}a(TP,"getScaleFromStyles");function mS(r,e){let t={left:0,top:0,right:0,bottom:0},n=1,i=1;if(e!==r.ownerDocument){let o=r.ownerDocument.defaultView?.frameElement;for(;o&&o.contentDocument!==e;){let l=o.getBoundingClientRect(),u=TP(o);n*=u.scaleX,i*=u.scaleY,t.left+=l.left,t.top+=l.top,o=o.ownerDocument.defaultView?.frameElement}}return{combinedScaleX:n,combinedScaleY:i,iframeOffset:t}}a(mS,"computeIframeTransform");function gS(r,e,{combinedScaleX:t,combinedScaleY:n,iframeOffset:i,elementBoundingBox:o,options:l}){let{highlightStyle:u={},pointerEvents:f,classNames:d=[]}=l,p=Wu(r),g={top:o.top*n+i.top,left:o.left*t+i.left};if(!p){let b=e.defaultView?.scrollX||0,E=e.defaultView?.scrollY||0;g.left+=b,g.top+=E}let m=e.createElement("div");return m.style.outline="2px dashed rgba(255,0,0,.75)",m.style.position=p?"fixed":"absolute",m.style.left=g.left+"px",m.style.top=g.top+"px",m.style.width=o.width*t+"px",m.style.height=o.height*n+"px",m.style.pointerEvents=f??"none",m.style.zIndex="2147483647",m.className=["checksum-dom-cache-ignore",...d].join(" "),zd(m,u),m}a(gS,"buildHighlightDiv");function RP(r){return{mousePosition:r.mousePosition,text:r.text,textPosition:r.textPosition??"overlap",clear:r.clear??!0,shouldFlipHighlightTextOutsideViewport:r.shouldFlipHighlightTextOutsideViewport??!0,classNames:r.classNames??[],renderDocument:r.renderDocument,scroll:r.scroll??!1}}a(RP,"resolveHighlightDefaults");var Gd=class{constructor(){this.lastHighlights=[]}static{a(this,"ElementHighlighter")}clearHighlights(){this.lastHighlights.length&&(this.lastHighlights.forEach(e=>e.remove()),this.lastHighlights=[])}highlightElement(e,t={}){let n=RP(t);if(n.clear&&this.clearHighlights(),!e)return;let i=n.renderDocument??e.ownerDocument,o=mS(e,n.renderDocument),l=e.getBoundingClientRect(),u=gS(e,i,{...o,elementBoundingBox:l,options:t});n.mousePosition&&this.buildMouseLocation(i,n.mousePosition,n.classNames);let f=i.createElement("div");n.text&&this.buildHoverText(f,u,{text:n.text,elementBoundingBox:l,options:t}),this.finalizeHighlight({element:e,elementDocument:i,newElement:u,hoverTextEl:f},{textPosition:n.textPosition,height:l.height,shouldFlipHighlightTextOutsideViewport:n.shouldFlipHighlightTextOutsideViewport,scroll:n.scroll})}finalizeHighlight({element:e,elementDocument:t,newElement:n,hoverTextEl:i},{textPosition:o,height:l,shouldFlipHighlightTextOutsideViewport:u,scroll:f}){t.body.appendChild(n),this.flipHighlightTextPositionOutsideViewport(i,o,l),this.lastHighlights.push(n),u&&this.flipHighlightTextPositionOutsideViewport(i,o,l),f&&new ht(e).scrollIntoView()}buildMouseLocation(e,t,n){let i=e.createElement("div");if(i.style.position="absolute",i.style.left=+t.x-16+"px",i.style.top=+t.y-16+"px",i.style.color="#004DFF",i.className=["checksum-dom-cache-ignore","mouse-cross",...n].join(" "),i.style.zIndex="2147483648",!e.head.querySelector("style[role=mouse-location]")){let o=e.head.appendChild(e.createElement("style"));o.setAttribute("role","mouse-location"),o.innerHTML=".mouse-cross:before, .mouse-cross:after {position: absolute;left: 15px;content: ' ';height: 33px;width: 3px;background-color: #004DFF;}.mouse-cross:before {transform: rotate(0deg);}.mouse-cross:after {transform: rotate(-90deg);}"}e.body.appendChild(i),this.lastHighlights.push(i)}buildHoverText(e,t,{text:n,elementBoundingBox:i,options:o}){let{textStyle:l={},textType:u="static",textPosition:f="overlap",textWidthType:d="rect",pointerEvents:p,classNames:g=[]}=o;e.className=["checksum-dom-cache-ignore",...g].join(" "),e.innerText=n,e.style.fontSize="12px",e.style.width=d==="rect"?`${i.width}px`:"auto",e.style.background="#000000a1",e.style.color="white",e.style.padding="5px",e.style.position="absolute",e.style.pointerEvents="none",e.style.userSelect="none",this.applyVerticalTextPosition(e,f,i.height),zd(e,l),t.appendChild(e),t.style.pointerEvents=p??"none",u==="hover"&&this.attachHoverToggle(t,e)}applyVerticalTextPosition(e,t,n){t==="above"?e.style.bottom=`${n}px`:t==="below"&&(e.style.top=`${n}px`)}attachHoverToggle(e,t){t.style.display="none",e.addEventListener("mouseover",()=>{t.style.display="block"}),e.addEventListener("mouseout",()=>{t.style.display="none"})}flipHighlightTextPositionOutsideViewport(e,t,n){t==="above"&&Qg(e)>0?(e.style.bottom="initial",e.style.top=`${n}px`):t==="below"&&ey(e)>0&&(e.style.top="initial",e.style.bottom=`${n}px`)}},Br=new Gd;function Rl(r,e){return typeof r!="string"?yS(r):`${JSON.stringify(r)}${e?"s":"i"}`}a(Rl,"escapeForTextSelector");function Il(r,e=!1){return typeof r!="string"?yS(r):`"${r.replace(/\\/g,"\\\\").replace(/["]/g,'\\"')}"${e?"s":"i"}`}a(Il,"escapeForAttributeSelector");function yS(r){return r.unicode||r.unicodeSets?String(r):String(r).replace(/(^|[^\\])(\\\\)*(["'`])/g,"$1$2\\$3").replace(/>>/g,"\\>\\>")}a(yS,"escapeRegexForSelector");var IP=10,Li=IP/2;var AP=100,LP=120,OP=140,NP=160,_P=180,DP=200;var gz=AP+Li,yz=LP+Li,bz=OP+Li,Ez=NP+Li,wz=_P+Li,Sz=DP+Li;function Ai(r){let e={full:"",immediate:[]};if(!kP(r)){let t="";if(r instanceof HTMLInputElement&&(r.type==="submit"||r.type==="button"))e={full:r.value,immediate:[r.value]};else{for(let n=r.firstChild;n;n=n.nextSibling)n.nodeType===Node.TEXT_NODE?(e.full+=n.nodeValue||"",t+=n.nodeValue||""):(t&&e.immediate.push(t),t="",n.nodeType===Node.ELEMENT_NODE&&(e.full+=Ai(n).full));t&&e.immediate.push(t),r.shadowRoot&&(e.full+=Ai(r.shadowRoot).full)}}return e}a(Ai,"elementText");function Al(r){return r.replace(/\u200b/g,"").trim().replace(/\s+/g," ")}a(Al,"normalizeWhiteSpace");function kP(r){let e=r.ownerDocument;return r.nodeName==="SCRIPT"||r.nodeName==="NOSCRIPT"||r.nodeName==="STYLE"||e.head&&e.head.contains(r)}a(kP,"shouldSkipForTextMatching");function Ws(r){return r.trim().replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}a(Ws,"escapeSelector");function Wr(r){let e=r.ownerDocument?.defaultView;if(!e)return window.playwright;let t=e.playwright;return e!==window&&!t&&(e.playwright=window.playwright),e.playwright}a(Wr,"getElementWindowPlaywright");var Ll=["role","aria-label","aria-labelledby","aria-checked","checked","placeholder","title","alt","id","data-testid","data-test-id","data-test","class","id","style","href","src","path","type"];function Ol(r){return typeof r=="object"&&r!==null&&r.nodeType===Node.ELEMENT_NODE}a(Ol,"isElement");var fn={NONE:"",DESCENDANT:" ",CHILD:" > "},He={id:"id",class:"class",tag:"tag",attribute:"attribute",nthchild:"nthchild",nthoftype:"nthoftype"};function bS(r,e){return Object.values(r).includes(e)}a(bS,"isEnumValue");var PP="CssSelectorGenerator";function Oi(r="unknown problem",...e){console.warn(`${PP}: ${r}`,...e)}a(Oi,"showWarning");var FP={selectors:[He.id,He.class,He.tag,He.attribute],includeTag:!1,whitelist:[],blacklist:[],combineWithinSelector:!0,combineBetweenSelectors:!0,root:null,maxCombinations:Number.POSITIVE_INFINITY,maxCandidates:Number.POSITIVE_INFINITY,useScope:!1,ignoreGeneratedClassNames:!1};function Vs(r){return!!r}a(Vs,"sanitizeBoolean");function HP(r){return Array.isArray(r)?r.filter(e=>bS(He,e)):[]}a(HP,"sanitizeSelectorTypes");function jd(r){return r instanceof RegExp}a(jd,"isRegExp");function $P(r){return["string","function"].includes(typeof r)||jd(r)}a($P,"isCssSelectorMatch");function ES(r){return Array.isArray(r)?r.filter($P):[]}a(ES,"sanitizeCssSelectorMatchList");function BP(r){return r!=null&&typeof r=="object"&&"nodeType"in r&&typeof r.nodeType=="number"}a(BP,"isNode");function wS(r){let e=[Node.DOCUMENT_NODE,Node.DOCUMENT_FRAGMENT_NODE,Node.ELEMENT_NODE];return BP(r)&&e.includes(r.nodeType)}a(wS,"isParentNode");function Yd(r,e){if(wS(r))return r.contains(e)||Oi("element root mismatch","Provided root does not contain the element. This will most likely result in producing a fallback selector using element's real root node. If you plan to use the selector using provided root (e.g. `root.querySelector`), it will not work as intended."),r;let t=e.getRootNode({composed:!1});return wS(t)?(t!==document&&Oi("shadow root inferred","You did not provide a root and the element is a child of Shadow DOM. This will produce a selector using ShadowRoot as a root. If you plan to use the selector using document as a root (e.g. `document.querySelector`), it will not work as intended."),t):Us(e)}a(Yd,"sanitizeRoot");function qd(r){return typeof r=="number"?r:Number.POSITIVE_INFINITY}a(qd,"sanitizeMaxNumber");function SS(r,e={}){let t=Object.assign(Object.assign({},FP),e);return{selectors:HP(t.selectors),whitelist:ES(t.whitelist),blacklist:ES(t.blacklist),root:Yd(t.root,r),combineWithinSelector:Vs(t.combineWithinSelector),combineBetweenSelectors:Vs(t.combineBetweenSelectors),includeTag:Vs(t.includeTag),maxCombinations:qd(t.maxCombinations),maxCandidates:qd(t.maxCandidates),useScope:Vs(t.useScope),maxResults:qd(t.maxResults),ignoreGeneratedClassNames:Vs(t.ignoreGeneratedClassNames)}}a(SS,"sanitizeOptions");function Sr(r=[]){let[e=[],...t]=r;return t.length===0?e:t.reduce((n,i)=>n.filter(o=>i.includes(o)),e)}a(Sr,"getIntersection");function vS(r){return[].concat(...r)}a(vS,"flattenArray");function WP(r){return r.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".+")}a(WP,"wildcardToRegExp");function kn(r){let e=r.map(t=>{if(jd(t))return n=>t.test(n);if(typeof t=="function")return n=>{let i=t(n);return typeof i!="boolean"?(Oi("pattern matcher function invalid","Provided pattern matching function does not return boolean. It's result will be ignored.",t),!1):i};if(typeof t=="string"){let n=new RegExp("^"+WP(t)+"$");return i=>n.test(i)}return Oi("pattern matcher invalid","Pattern matching only accepts strings, regular expressions and/or functions. This item is invalid and will be ignored.",t),()=>!1});return t=>e.some(n=>n(t))}a(kn,"createPatternMatcher");function zs(r,e,t){let n=Array.from(Yd(t,r[0]).querySelectorAll(e));return n.length===r.length&&r.every(i=>n.includes(i))}a(zs,"testSelector");function Kd(r,e){e=e??Us(r);let t=[],n=r;for(;n&&n!==e;)Ol(n)&&t.push(n),n=n.parentNode;return t}a(Kd,"getElementParents");function CS(r,e){return Sr(r.map(t=>Kd(t,e)))}a(CS,"getParents");function Us(r){return r.ownerDocument.querySelector(":root")}a(Us,"getRootNode");var Nl=", ",xS=new RegExp(["^$","\\s"].join("|")),MS=new RegExp(["^$"].join("|")),_l=[He.nthoftype,He.tag,He.id,He.class,He.attribute,He.nthchild];var VP=kn(["class","id","ng-*"]);function UP({name:r}){return`[${r}]`}a(UP,"attributeNodeToSimplifiedSelector");function zP({name:r,value:e}){return`[${r}='${e}']`}a(zP,"attributeNodeToSelector");function GP({nodeName:r,nodeValue:e},t){let n=t.tagName.toLowerCase();return["input","option"].includes(n)&&r==="value"||r==="src"&&e?.startsWith("data:")?!1:!VP(r)}a(GP,"isValidAttributeNode");function qP({nodeName:r,nodeValue:e}){return{name:vr(r),value:vr(e??void 0)}}a(qP,"sanitizeAttributeData");function Xd(r,e){let t=Array.from(r.attributes).filter(n=>GP(n,r)).map(qP);return[...t.map(UP),...t.map(zP)]}a(Xd,"getElementAttributeSelectors");function TS(r,e){let t=r.map(n=>Xd(n,e));return Sr(t)}a(TS,"getAttributeSelectors");var jP=/^[a-z_-]{3,}$/i,YP=/[bcdfghjklmnpqrstvwxyz]{4,}/i;function KP(r){if(!jP.test(r)||r.includes("_")&&!r.includes("__")||/^(css|sc|jsx|emotion|makeStyles|MuiButton|MuiBox)-/i.test(r))return!1;let e=r.split(/--|__|[-]|(?<=[a-z])(?=[A-Z])/).filter(t=>t.length>0);if(e.length===0||e.length===1&&e[0].length<4)return!1;for(let t of e)if(t.length<=2||YP.test(t))return!1;return!0}a(KP,"isWordLikeClassName");function Zd(r,e){var t;let n=((t=r.getAttribute("class"))!==null&&t!==void 0?t:"").trim().split(/\s+/).filter(o=>!MS.test(o)),i=n;if(e?.ignoreGeneratedClassNames){let o=kn(e.whitelist);i=n.filter(l=>{let u=`.${vr(l)}`;return o(u)?!0:KP(l)})}return i.map(o=>`.${vr(o)}`)}a(Zd,"getElementClassSelectors");function RS(r,e){let t=r.map(n=>Zd(n,e));return Sr(t)}a(RS,"getClassSelectors");function Jd(r,e){var t;let n=(t=r.getAttribute("id"))!==null&&t!==void 0?t:"",i=`#${vr(n)}`,o=r.getRootNode({composed:!1});return!xS.test(n)&&zs([r],i,o)?[i]:[]}a(Jd,"getElementIdSelectors");function IS(r,e){return r.length===0||r.length>1?[]:Jd(r[0],e)}a(IS,"getIdSelector");function Qd(r,e){let t=r.parentNode,n=t&&"children"in t?t.children:null;if(n){for(let i=0;i<n.length;i++)if(n[i]===r)return[`:nth-child(${String(i+1)})`]}return[]}a(Qd,"getElementNthChildSelector");function AS(r,e){return Sr(r.map(t=>Qd(t,e)))}a(AS,"getNthChildSelector");function eh(r,e){return[vr(r.tagName.toLowerCase())]}a(eh,"getElementTagSelectors");function Dl(r,e){let t=[...new Set(vS(r.map(n=>eh(n,e))))];return t.length===0||t.length>1?[]:[t[0]]}a(Dl,"getTagSelector");function th(r,e){let t=Dl([r])[0],n=r.parentNode,i=n&&"children"in n?n:null;if(i){let l=Array.from(i.children).filter(u=>u.tagName.toLowerCase()===t).indexOf(r);if(l>-1)return[`${t}:nth-of-type(${String(l+1)})`]}return[]}a(th,"getElementNthOfTypeSelector");function LS(r,e){return Sr(r.map(t=>th(t,e)))}a(LS,"getNthOfTypeSelector");function*nh(r=[],{maxResults:e=Number.POSITIVE_INFINITY}={}){let t=0,n=rh(1);for(;n.length<=r.length&&t<e;)t+=1,yield n.map(o=>r[o]),n=XP(n,r.length-1)}a(nh,"powerSetGenerator");function OS(r=[],{maxResults:e=Number.POSITIVE_INFINITY}={}){return Array.from(nh(r,{maxResults:e}))}a(OS,"getPowerSet");function XP(r=[],e=0){let t=r.length;if(t===0)return[];let n=[...r];n[t-1]+=1;for(let i=t-1;i>=0;i--)if(n[i]>e){if(i===0)return rh(t+1);n[i-1]++,n[i]=n[i-1]+1}return n[t-1]>e?rh(t+1):n}a(XP,"bumpOffsets");function rh(r=1){return Array.from(Array(r).keys())}a(rh,"generateOffsets");function*NS(r={}){let e=Object.entries(r);if(e.length===0)return;let t=[{index:e.length-1,partial:{}}];for(;t.length>0;){let n=t.pop();if(!n)break;let{index:i,partial:o}=n;if(i<0){yield o;continue}let[l,u]=e[i];for(let f=u.length-1;f>=0;f--)t.push({index:i-1,partial:Object.assign(Object.assign({},o),{[l]:u[f]})})}}a(NS,"cartesianProductGenerator");var ZP="3a".toUpperCase(),JP=/[ !"#$%&'()\[\]{|}<>*+,./;=?@^`~\\]/;function vr(r=""){return CSS?CSS.escape(r):QP(r)}a(vr,"sanitizeSelectorItem");function QP(r=""){return r.split("").map(e=>e===":"?`\\${ZP} `:JP.test(e)?`\\${e}`:escape(e).replace(/%/g,"\\")).join("")}a(QP,"legacySanitizeSelectorItem");var eF={tag:Dl,id:IS,class:RS,attribute:TS,nthchild:AS,nthoftype:LS},tF={tag:eh,id:Jd,class:Zd,attribute:Xd,nthchild:Qd,nthoftype:th};function _S(r,e,t){return tF[e](r,t)}a(_S,"getElementSelectorsByType");function rF(r,e,t){let n=eF[e];return n(r,t)}a(rF,"getSelectorsByType");function nF(r=[],e,t){return r.filter(n=>t(n)||!e(n))}a(nF,"filterSelectors");function iF(r=[],e){return r.sort((t,n)=>{let i=e(t),o=e(n);return i&&!o?-1:!i&&o?1:0})}a(iF,"orderSelectors");function*sF(r,e){let t=new Set,n=oF(r,e);for(let i of uF(n,e))t.has(i)||(t.add(i),yield i)}a(sF,"allSelectorsGenerator");function oF(r,e){let{blacklist:t,whitelist:n,combineWithinSelector:i,maxCombinations:o}=e,l=kn(t),u=kn(n),f=a((d,p)=>{let g=rF(r,p,e),m=nF(g,l,u),b=iF(m,u);return d[p]=i?Array.from(nh(b,{maxResults:o})):b.map(E=>[E]),d},"reducer");return aF(e).reduce(f,{})}a(oF,"getSelectorsList");function aF(r){let{selectors:e,includeTag:t}=r,n=[...e];return t&&!n.includes("tag")&&n.push("tag"),n}a(aF,"getSelectorsToGet");function lF(r){return r.includes(He.tag)||r.includes(He.nthoftype)?[...r]:[...r,He.tag]}a(lF,"addTagTypeIfNeeded");function cF(r){let{selectors:e,combineBetweenSelectors:t,includeTag:n,maxCandidates:i}=r,o=t?OS(e,{maxResults:i}):e.map(l=>[l]);return n?o.map(lF):o}a(cF,"combineSelectorTypes");function*uF(r,e){for(let t of cF(e))yield*fF(t,r)}a(uF,"selectorTypeCombinationsGenerator");function*fF(r,e){let t={};for(let n of r){let i=e[n];i&&i.length>0&&(t[n]=i)}for(let n of NS(t))yield hF(n)}a(fF,"constructedSelectorsGenerator");function dF(r,e){return e[r]?e[r].join(""):""}a(dF,"constructSelectorType");function hF(r={}){let e=[..._l];return r[He.tag]&&r[He.nthoftype]&&e.splice(e.indexOf(He.tag),1),e.map(t=>dF(t,r)).join("")}a(hF,"constructSelector");function pF(r,e){return[...r.map(t=>e+fn.DESCENDANT+t),...r.map(t=>e+fn.CHILD+t)]}a(pF,"generateCandidateCombinations");function*mF(r,e){if(e==="")yield*r;else for(let t of r)yield*pF([t],e)}a(mF,"candidatesGenerator");function*gF(r,e,t="",n){let i=sF(r,n);for(let o of mF(i,t))zs(r,o,e)&&(yield o)}a(gF,"selectorWithinRootGenerator");function*yF(r,e,t="",n){if(r.length===0)return null;let i=[r.length>1?r:[],...CS(r,e).map(o=>[o])];for(let o of i)for(let l of gF(o,e,t,n))yield{foundElements:o,selector:l}}a(yF,"closestIdentifiableParentGenerator");function*DS({elements:r,root:e,rootSelector:t="",options:n}){let i=e,o=t,l=!0;for(;l;){let u=!1;for(let f of yF(r,i,o,n)){let{foundElements:d,selector:p}=f;if(u=!0,zs(r,p,e))yield p;else{i=d[0],o=p;break}}u||(l=!1)}}a(DS,"selectorGenerator");function kS(r){(r instanceof NodeList||r instanceof HTMLCollection)&&(r=Array.from(r));let e=(Array.isArray(r)?r:[r]).filter(Ol);return[...new Set(e)]}a(kS,"sanitizeSelectorNeedle");function bF(r){return{value:r,include:!1}}a(bF,"createElementSelectorData");function PS(r,e,t=fn.NONE){let n={};return e.forEach(i=>{Reflect.set(n,i,_S(r,i).map(bF))}),{element:r,operator:t,selectors:n}}a(PS,"createElementData");function FS({selectors:r,operator:e}){let t=[..._l];r[He.tag]&&r[He.nthoftype]&&(t=t.filter(i=>i!==He.tag));let n="";return t.forEach(i=>{var o;((o=r[i])!==null&&o!==void 0?o:[]).forEach(({value:u,include:f})=>{f&&(n+=u)})}),e+n}a(FS,"constructElementSelector");function EF(r,e){let t=Kd(r,e).reverse(),n=e instanceof ShadowRoot,i=t.map((l,u)=>{var f;let d=PS(l,[He.nthchild],n&&u===0?fn.NONE:fn.CHILD);return((f=d.selectors.nthchild)!==null&&f!==void 0?f:[]).forEach(p=>{p.include=!0}),d});return[n?"":e?":scope":":root",...i.map(FS)].join("")}a(EF,"getElementFallbackSelector");function HS(r,e){return r.map(t=>EF(t,e)).join(Nl)}a(HS,"getFallbackSelector");var wF=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t};function ih(r,e={}){let t=Object.assign(Object.assign({},e),{maxResults:1});return SF(r,t).next().value}a(ih,"getCssSelector");function*SF(r,e={}){var t;let n=kS(r),i=SS(n[0],e),o=(t=i.root)!==null&&t!==void 0?t:Us(n[0]),l=0;for(let f of DS({elements:n,options:i,root:o,rootSelector:""}))if(yield f,l++,l>=i.maxResults)return;if(n.length>1){let{maxResults:f}=e,d=wF(e,["maxResults"]);if(yield n.map(p=>ih(p,d)).join(Nl),l++,l>=i.maxResults)return}let u=e.root!==void 0;yield HS(n,i.useScope||u?o:void 0)}a(SF,"cssSelectorGenerator");var kl=a(r=>new Promise(e=>setTimeout(e,r)),"awaitSleep"),$S=a(async(r,e=1e3,t)=>{if(e===null)return r;let n="guard-timed-out",i={id:null},o=a(async()=>new Promise(l=>{i.id=setTimeout(()=>{i.id=null,l(n)},e+1e3)}),"guard");try{let l=await Promise.race([r,o()]);if(i.id!==null&&(clearTimeout(i.id),i.id=null),typeof l=="string"&&l===n)throw typeof t=="function"?new Error(t()):new Error(t??"guardReturnTimedOut");return l}catch(l){throw i.id!==null&&clearTimeout(i.id),l}},"guardReturn");var CF=!1,Pn=class r{constructor(e){this.locators=[];this.elements=[];this.locators=e}static{a(this,"LocatorChain")}hasDuplicateFilters(){let e=this.locators.map(t=>t.options?.hasText).filter(t=>t);return e.length!==new Set(e).size}cloneAndAddCandidate(e){return new r([e,...this.locators.slice()])}toLocatorCandidate(){return{selector:this.getSelector(),locator:this.getLocator()}}getSelector(){return this.locators.map(e=>e.selector).join(" >> ")}getLocator(){return this.locators.map(e=>e.locator).join(".")}},hn=class r{constructor(e=document){this.rootNode=e;this.MAX_TESTING_SELECTORS=50;this.MAX_SINGLE_ELEMENT_SELECTORS=5;this.MAX_PROCESSING_TIME=15e3;this.MAX_MULTICANDIDATE_PROCESSING=5;this.startTimestamp=Date.now()}static{a(this,"PlaywrightCustomLocatorGenerator")}get targetElement(){if(!this._targetElement)throw new Error("Target element is not set");return this._targetElement}async generate(e,t=[],n={}){let{isPartOfListItem:i,isForContextElement:o,useTextContent:l,addCSSSelectorGenerator:u,expandCSSKeyElements:f,bruteForceMode:d}={isPartOfListItem:!1,isForContextElement:!1,useTextContent:!0,addCSSSelectorGenerator:!0,expandCSSKeyElements:!0,bruteForceMode:!1,...n};if(qe(e,"HTMLOptionElement")){let m=e.closest("select");if(m)return this.generate(m,t,{isPartOfListItem:i})}this._targetElement=e,this.startTimestamp=Date.now();let p=[];for(t=t.filter(m=>Array.from(document.querySelectorAll(m.selector)).includes(m.element)),f&&this.expandCSSKeyFeatures(e,t);e&&e!==this.rootNode;){await kl(0);let m=this.getAllLocators(e,t,{useTextContent:l,bruteForceMode:d}),b=[],E=a(async S=>{if(!S.hasDuplicateFilters())try{await kl(0);let{elements:x}=this.getLocatorBase(e).locator(S.getSelector());x?.some(R=>R===this.targetElement)&&(S.elements=x.filter(R=>dn(R)||R.constructor.name===this.targetElement.constructor.name),b.push(S))}catch(x){console.log(x,S.getSelector())}},"testCandidate");if(p.length)for(let S of m)for(let x of p)await E(x.cloneAndAddCandidate(S));else for(let S of m)await E(new Pn([S]));if(b.length===0&&p.length===0){let S=e.tagName.toLowerCase();p.push(new Pn([{selector:S,locator:this.getSelectorLocator(S),elements:this.getLocatorBase(e).locator(e.tagName.toLowerCase()).elements.filter(x=>dn(x))}]))}if(p.push(...b),o)return p.map(S=>S.toLocatorCandidate());if(p.length>this.MAX_TESTING_SELECTORS||p.filter(S=>S.elements.length===1).length>this.MAX_SINGLE_ELEMENT_SELECTORS||this.checkTimeout(!1))break;let w=e.parentElement;if(!w)break;e=w}if(i){let m=this.filterListItemsSelectors(p);if(m?.length)return m.map(b=>({...b.toLocatorCandidate(),isListSelector:!0}))}let g=[];try{for(let m of p)this.checkTimeout(),g.push(...m.elements.length===1?[m]:await this.reduceMultiCandidates(m))}catch(m){m instanceof an&&console.warn("[PlaywrightCustomLocatorGenerator] Timeout error")}if(!g?.length&&(console.log("no single element selector found"),!f))return this.generate(e,t,{isPartOfListItem:i,isForContextElement:o,useTextContent:l,addCSSSelectorGenerator:!0,expandCSSKeyElements:!0});if(u){let m=await this.addCSSSelectorGenerator();m&&g.unshift(m)}if(this.rootNode===document&&l){let m=await new $t().getSelectorAndLocator(this.targetElement);if(m){let{selector:b,locator:E}=m;g.unshift(new Pn([{selector:b,locator:E}]))}}return g=g.concat(await this.addOptionalParentSelector(l,u,f)),Array.from(new Map(g.map(m=>[m.toLocatorCandidate().selector,m.toLocatorCandidate()])).values())}testSelector(e,t,n,i=!0){let o=Wr(t).selector(t),l=this.getLocatorBase(t).locator(o);console.log("Locator result",l);let u=a(d=>!(i&&(d.elements.length!==1||t!==d.element)||!d.elements.includes(t)),"testResult");if(!u(l))return{valid:!1};let f={};if(n?.locatorWithVars?.length)try{let p=new Function(`{ return function(element) { ${n.variablesCode}; return this.getLocatorBase(element).locator(\`${n.locatorWithVars}\`); } }`)().call(this,t);if(console.log("Locator with vars result",p),!u(p))return{valid:!1};f={selectorWithVars:o,locatorWithVars:n.locatorWithVars}}catch(d){return console.error("Error testing selector with variables",d instanceof Error?d.message:void 0),{valid:!1}}return{valid:!0,selector:o,locator:e,...f}}async addCSSSelectorGenerator(){try{let e=this.rootNode===document?{}:{root:this.rootNode},t=await $S(new Promise(n=>{let i=ih(this.targetElement,e);n(i)}),2e3);if(t.length<50)return new Pn([{selector:t,locator:`locator('${t}')`}])}catch(e){console.error("Error getting CSS selector",e)}}async addOptionalParentSelector(e,t,n){try{let i=Wr(this.targetElement),o=i.locator(i.selector(this.targetElement)).element;o!==this.targetElement&&o?.contains(this.targetElement)&&await this.generate(o,[],{isPartOfListItem:!1,isForContextElement:!1,useTextContent:e,addCSSSelectorGenerator:t,expandCSSKeyElements:n})}catch{}return[]}expandCSSKeyFeatures(e,t,n=4){try{let i=[];for(;e&&e!==this.rootNode&&i.length<n&&e!==document.documentElement;){Array.from(e.attributes).filter(({name:u,value:f})=>f.length<30&&!Ll.includes(u)).forEach(u=>{try{if(i.length>n-1)return;let f=`[${u.name}${u.value?`="${u.value}"`:""}]`;try{if(!e.parentElement||e.parentElement.querySelectorAll(f).length>1)return}catch{console.warn(`Error checking selector - ${f}, continuing`);return}if(!t.some(d=>d.selector.includes(f))&&this.getLocatorBase(e).locator(f).element===e){let d={element:e,selector:f};t.push(d),i.push(d)}}catch(f){console.warn("Error processing css key feature",{name:u.name,value:u.value},f)}});let l=e.parentElement;if(!l)break;e=l}}catch(i){console.error("Error extracting CSS key features",i)}}async generateArbitraryItemListSelector(e,t=[]){console.log("generateArbitraryItemListSelector",e);try{let n=wr(document.body,{nodeRepetitionsThreshold:5});if(!n?.length)throw new Error("No templates found in the page");let i=n.find(b=>b.element.contains(e));if(!i)throw new Error("No template found for target element");console.log("Found template for target element",i);let o=await new r().generate(i.element,t,{isPartOfListItem:!1,isForContextElement:!1,useTextContent:!1});console.log("baseCustomSelectors",o);let l=o[0];if(!l)throw new Error("No base selector found for the list root element");let u=l.selector,f=this.getSelectorLocator(u,i.element);console.log("Randomly selected baseSelector",u);let d=a(()=>{let b=[],E=new Fn,w=e;for(;w&&w!==i.element;){let S="",x=!1,R=!1,M=!1;for(;!S.length;)S=E.getSelectorPart(w,{useClasses:R,useId:x,useTag:M}),x?(R=!0,M=!0):x=!0;b.push({selector:S,element:w}),w=w.parentElement}return b},"getCSSFeatures"),p=d();console.log("cssFeatures",p);let g=(await new r(i.element).generate(e,d(),{isPartOfListItem:!0,isForContextElement:!1,useTextContent:!1})).map(b=>({...b,elements:[]})),m=g.filter(b=>(b.elements=this.getLocatorBase(e).locator(u).locator(b.selector).elements,b.elements.length>Math.ceil(i.element.children.length*.7)));return console.log("elementSelectors",g),m.map(({selector:b,locator:E})=>({selector:`${u} >> ${b}`,locator:`${f}.${E}`}))}catch(n){console.error("[findGenericItemListSelector] error",n)}}filterListItemsSelectors(e){try{let t=wr(document.body,{nodeRepetitionsThreshold:5});if(!t?.length)throw new Error("No templates found in the page");return e.filter(n=>{if(n.elements.length<2)return!1;let i=new Fn().getSmallestCommonRoot(n.elements);return!(!i||!t.some(o=>o.element===i)||Array.from(i.children).some(o=>{n.elements.filter(l=>o.contains(l)).length}))})}catch(t){console.error("[filterListItemsSelectors] error",t instanceof Error?t.message:void 0)}}getLocatorBase(e){let t=Wr(e);return this.rootNode===document||this.rootNode.nodeType===9?t:t.locator(t.selector(this.rootNode))}getSelectorLocator(e,t){return Wr(t??this.targetElement).asLocator("javascript",e)}async reduceMultiCandidates(e){await kl(0);let{elements:t}=e,n=e.getSelector().split(" >> "),i=[],o=this.getLocatorBase(this.targetElement),l=a(p=>{try{return i.push(new Pn([{selector:p,locator:this.getSelectorLocator(p)}])),i.length>=this.MAX_MULTICANDIDATE_PROCESSING}catch(g){return console.error(g),!1}},"addCandidateWithSelector"),u=a(p=>e.getSelector()+(n[n.length-1]===this.targetElement.tagName.toLowerCase()?p:` >> internal:and=${xF(this.targetElement.tagName.toLowerCase()+p)}`),"addCSSFilterToLocator"),f=a(p=>o.locator(p).elements.length===1?l(p):!1,"addIfSingularAndCheckLimit");if(t.length<5){let p=t.indexOf(this.targetElement);p!==-1&&l(e.getSelector()+` >> nth=${p}`)}let d=this.targetElement.parentElement;if(d&&t.every(p=>p.parentElement===d&&p.tagName===this.targetElement.tagName)){let p=Array.from(d.children).indexOf(this.targetElement);if(p!==-1){let g=u(`:nth-child(${p+1})`);f(g)&&l(g)}}for(let p of Array.from(this.targetElement.classList).filter(g=>!pr.includes(g))){let g=u(`.${Ws(p)}`);try{if(f(g))return i}catch(m){console.error(m)}}for(let p of Array.from(this.targetElement.attributes).filter(g=>!Ll.includes(g.name))){let g=u(`[${p.name}`+(p.value?`="${p.value}"]`:"]"));try{if(f(g))return i}catch(m){console.error(m)}}return i}getAllLocators(e,t,n={}){n={exact:!0,useTextContent:!0,...n};let i=[this.getByRoleLocator(e,n),n.useTextContent?this.getByTextLocator(e,n):null,this.getByLabelLocator(e,n),this.getByPlaceholderLocator(e,n),this.getByTitleLocator(e,n),this.getByAltLocator(e,n),this.getTestIdLocator(e,n),...e===this.targetElement?[this.getInnerFeaturesLocator(e)]:[],...t.filter(o=>o.element===e).map(o=>({selector:o.selector,locator:this.getSelectorLocator(o.selector)}))].filter(o=>!!o);return!i.length&&n.bruteForceMode?i.concat(this.findUniqueCSSLocatorForElement(e)):i}findUniqueCSSLocatorForElement(e,t=5){let n=[],i=a(o=>(n.push({selector:o,locator:`locator('${o}')`}),n.length>=t),"addCandidate");for(let o of Array.from(e.attributes).filter(({name:l,value:u})=>u.length<30&&!Ll.includes(l)))try{let l=`[${o.name}${o.value?`="${o.value}"`:""}]`;if(e.ownerDocument.querySelectorAll(l).length===1&&i(l))return n}catch{}for(let o of Array.from(e.classList).filter(l=>!pr.includes(l)))try{let l=`.${Ws(o)}`;if(e.ownerDocument.querySelectorAll(l).length===1&&i(l))return n}catch{}return n}getInnerFeaturesLocator(e){let t=e.tagName.toLowerCase();if(!dn(e)||["html","body","div"].includes(t))return;let n=new _r().extract(e).filter(o=>!o.isRoot).slice(0,4).map(o=>cs(o).pop());if(n.length<2)return;let i=t+n.map(o=>`:has(${o})`).join("");return{selector:i,locator:this.getSelectorLocator(i)}}getByRoleLocator(e,t={}){try{if(!dn(e))throw new Error("Provided element is not an HTMLElement");let n={},i={button:"button",input:a(E=>{let w=E instanceof HTMLInputElement?E.type:void 0;return w==="checkbox"?"checkbox":w==="radio"?"radio":"textbox"},"input"),select:"listbox",a:"link",h1:"heading",h2:"heading",h3:"heading",h4:"heading",h5:"heading",h6:"heading",li:"listitem",option:"option",textarea:"textbox",table:"table",tr:"row",th:"columnheader",td:"cell",img:"img"},o=e.tagName.toLowerCase(),l=i[o],u=e.getAttribute("role")||(l instanceof Function?l(e):l);if(!u)return;let f=[];if(u==="heading"&&!e.hasAttribute("aria-level")){let E=parseInt(o.charAt(1),10);f.push(["level",String(E)])}(u==="checkbox"||u==="radio")&&f.push(["checked",String(e.getAttribute("aria-checked")??e.getAttribute("checked")??"false")]);let d=a(()=>{let E=a(A=>this.limitTextLength(this.normalize(A),t.exact),"normalize"),w={text:"",exact:!1},S=e.getAttribute("aria-label")??e.getAttribute("aria-labelledby")??e.getAttribute("title");if(S)return E(S);let x=Ai(e),R=Al(x.full);if(!R?.length)return w;let M=E(R);return n.hasText=M.text,M},"getAccessibleName"),{text:p,exact:g}=d();p&&p.length>0&&p.length<30&&f.push(["name",Il(p,g)]);let m=a(()=>{let E=`internal:role=${u}${f.map(([w,S])=>`[${w}=${S}]`).join("")}`;return{locator:this.getSelectorLocator(E),selector:E,options:n}},"getSelection"),b=m();if(p?.length&&g&&!this.getLocatorBase(e).locator(b.selector).elements.includes(e)){let E=f.find(w=>w[0]==="name");E&&(E[1]=Il(p,!1),b=m())}return b}catch(n){console.error("Error getting role locator",n instanceof Error?n.message:void 0)}}getByTextLocator(e,t={}){try{if(!dn(e))return;let n=Al(Ai(e).full);if(!n?.length||n.length>100)return;let i={};if(Array.from(e.children).filter(u=>dn(u)).some(u=>Al(Ai(u).full)===n)){i.hasText=n;let u=`${e.tagName.toLowerCase()} >> internal:has-text=${Rl(n,!1)}`;return{selector:u,locator:this.getSelectorLocator(u),options:i}}let o=a(u=>{let d="internal:text="+Rl(n,u);return{selector:d,locator:this.getSelectorLocator(d),options:i}},"getSelection"),l=o(t.exact);return t.exact&&!this.getLocatorBase(e).locator(l.selector).elements.includes(e)&&(l=o(!1)),l}catch{}}getByLabelLocator(e,t={}){try{if(!dn(e)||!["input","textarea","select"].includes(e.tagName.toLowerCase()))return;let n=a(u=>({selector:`internal:label=${Rl(u,t.exact)}`,locator:`getByLabel('${u}')`}),"respond"),i=e.getAttribute("aria-label");if(i)return n(i);let o=e.getAttribute("aria-labelledby");if(o){let u=document.getElementById(o);if(u){let f=u.innerText.trim();if(f)return n(f)}}let l=e.getAttribute("id");if(l){let u=document.querySelector(`label[for="${l}"]`);if(u){let f=u.innerText.trim();if(f)return n(f)}}}catch{}}getByPlaceholderLocator(e,t={}){if(["input","textarea"].includes(e.tagName?.toLowerCase()))return this.getByAttributeLocator(e,"placeholder",t)}getByTitleLocator(e,t={}){return this.getByAttributeLocator(e,"title",t)}getByAltLocator(e,t={}){return this.getByAttributeLocator(e,"alt",t)}getTestIdLocator(e,t={}){for(let n of["data-testid","data-test-id","data-test"])if(e.getAttribute(n))return this.getByAttributeLocator(e,n,{...t,locatorName:"getByTestId"})}getByAttributeLocator(e,t,n={}){try{if(!dn(e))return;let i=e.getAttribute(t);if(i)return{selector:`internal:attr=[${t}=${Il(i,n.exact)}]`,locator:(n.locatorName??`getBy${t.charAt(0).toUpperCase()+t.slice(1)}`)+`('${i}')`}}catch{}}normalize(e){return e.replace(/\n/g,"").replace(/[ \t]+/g," ").trim()}limitTextLength(e,t=!0){for(;e?.length>30&&e.length<100&&e.includes(" ");)e=e.split(" ").slice(0,-1).join(" "),t=!1;return{text:e,exact:t}}checkTimeout(e=!0){if(CF)return!1;if(this.MAX_PROCESSING_TIME&&Date.now()-this.startTimestamp>this.MAX_PROCESSING_TIME){if(e)throw new an;return!0}return!1}};function xF(r){return`"${r.replace(/\\/g,"\\\\").replace(/["]/g,'\\"')}"`}a(xF,"escapeForAndLocator");function dn(r){return qe(r,"HTMLElement")}a(dn,"isInstanceOfHTMLElement");function MF(r){let e=r.nodeName.toLowerCase(),t={found:!1};if(["name","label","aria-label","data-testid","role"].forEach(n=>{r.hasAttribute(n)&&(e+=`[@${n}="${r.getAttribute(n)}"]`,t.found=!0)}),!t.found){let n=1,i=r.previousSibling;for(;i;)i.nodeType===Node.ELEMENT_NODE&&i.nodeName===r.nodeName&&n++,i=i.previousSibling;n>1&&(e+=`[${n}]`)}return e}a(MF,"getNodeIdentifier");function BS(r=document,e){try{if(!r||!e||!r.contains(e))throw new Error("Child is not a descendant of the given element.");let t=[],n=e;for(;n!==r;){if(!n)throw new Error("Child is not a descendant of the given element.");n.nodeType===Node.ELEMENT_NODE&&t.unshift(MF(n)),n=n.parentElement}return t.join("/")}catch(t){console.error("Failed to get relative xpath",t);return}}a(BS,"getRelativeXPath");function WS(r,e){return[new XPathEvaluator().evaluate(e,r,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue].filter(i=>i instanceof HTMLElement)}a(WS,"findElementsByXPath");var Fn=class{constructor(e){this.htmlReducer=e;this.BASE_MAX_COMPONENTS_FOR_SELECTOR_COMBINATION=13;this.MAX_SELECTORS_PER_CONTEXT_ELEMENT=10;this.innerFeaturesExtractor=new _r;this.innerTextExtractor=new li}static{a(this,"CompoundSelector")}filter(e,{isPartOfListItem:t=!1}={}){e.forEach(f=>{let d=this.htmlReducer?.getElementForChecksumId(f.selection.checksumid);d instanceof HTMLElement?f.element=d:delete f.element});let n=e.splice(e.findIndex(f=>f.isTarget),1)[0],i=n?.element;if(!n||!i)throw new Error("Target element not found");let o=e.filter(f=>!!f.element&&!f.element.contains(i)&&!i.contains(f.element)&&!e.some(d=>d!==f&&(d.element===f.element||!!d.element?.contains(f.element??null)))).concat(n);if(console.log(`filtered context elements, ${e.length+1} > ${o.length}`),!t)return o;let l=wr(document.body,{nodeRepetitionsThreshold:4});if(!l?.length)return[];let u=l.find(f=>f.element.contains(i));return u?(console.log("Found template for target element",u),o.filter(f=>u.element.contains(f.element??null))):[]}async generate(e,{isPartOfListItem:t=!1}={}){let n=e.filter(u=>u.isTarget)[0];if(e=this.filter(e,{isPartOfListItem:t}),e.length<2)throw new Error("Not enough elements found for the given checksum ids");if(!n?.element)throw new Error("Target element not found");let i=this.getSmallestCommonRoot(e.map(u=>u.element).filter(u=>u!==void 0));if(!i)throw new Error("No common root found for the given elements");this.extractFeaturesMetadata(e);let o=n.featuresMetadata;if(!o)throw new Error("Target element features metadata not found");return{targetSelection:{xpath:BS(i,n.element)??"",cssSelectors:this.generateAllContextualSelectors(i,n.element).filter(u=>u&&u.trim().length>0),playwrightSelectors:await new hn(i).generate(n.element,[],{addCSSSelectorGenerator:!1,expandCSSKeyElements:!1}),featuresMetadata:o},contextElements:e}}async select(e,t){e.forEach(o=>{if(o.find(l=>!l||!l.isConnected))throw new Error("One or more context elements are not connected to the DOM")});let n=a((o,l)=>{try{return o.selector(l)}catch{let u=l.ownerDocument?.defaultView?.parent?.document?.defaultView?.playwright;if(u)try{return u.selector(l)}catch{return}return}},"getElementSelector"),i=this.getSmallestCommonParents(e).map(this.calculateElementSize).sort((o,l)=>o.size-l.size).map(o=>o.element);return t?i.map(o=>{let l=Wr(o),u=n(l,o);if(!u)return null;let{element:f}=l.locator(u).locator(t);return f?n(l,f):null}).filter(o=>!!o):i.map(o=>{let l=Wr(o);if(!l){console.warn("Failed getting playwright for element",o);return}return n(l,o)}).filter(o=>!!o)}async selectFromMetadata(e){let{contextElements:t}=e;t.forEach(i=>this.getSelectorCandidatesForContextElement(i));let n=Zo(t.map(i=>(i.candidatesSelectors??[]).map((o,l)=>l)));for(let i of n){t.forEach((l,u)=>{let f=i[u],d=f!==void 0?l.candidatesSelectors?.[f]:void 0;d!==void 0?l.selector=d:delete l.selector});let o=this.getSmallestCommonParentsFromMetadata(t).map(this.calculateElementSize).sort((l,u)=>l.size-u.size).map(l=>l.element);for(let l of o){let u=this.generateTargetSelectotionHistogram(l,e.targetSelection);if(u.size>0)return Array.from(u.keys()).slice(0,20).map(d=>Wr(d).generateSelectorAndLocator(d))}}return[]}generateTargetSelectotionHistogram(e,t){let n=new Map,i=a(o=>{o.filter(l=>l instanceof HTMLElement).forEach(l=>{n.set(l,(n.get(l)||0)+1)})},"addElementstoHistogram");if(t.xpath)try{i(WS(e,t.xpath))}catch{}return t.cssSelectors.forEach(o=>{try{i(de(o,e))}catch{}}),new Map([...n.entries()].sort((o,l)=>l[1]-o[1]))}calculateElementSize(e){let t=e.getBoundingClientRect();return{element:e,size:t.width*t.height}}getSelectorCandidatesForContextElement(e){let{featuresMetadata:t}=e;if(!t)throw new Error("Context element features metadata not found");let n=this.buildSelectorsCombination(t);e.candidatesSelectors=[];for(let i=0;i<n.length&&e.candidatesSelectors.length<this.MAX_SELECTORS_PER_CONTEXT_ELEMENT;i++){let o=n[i];if(o===void 0)continue;document.querySelector(o)&&e.candidatesSelectors.push(o)}}buildSelectorsCombination(e){let t=this.BASE_MAX_COMPONENTS_FOR_SELECTOR_COMBINATION,n=a(m=>{let b=[[]];for(let E=0;E<m.length;E++){let w=b.length;for(let S=0;S<w;S++){let x=b[S],R=m[E];x&&R!==void 0&&b.push(x.concat(R))}}return b},"getCombinations"),i=a(m=>m.trim().replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1"),"escapeSelector"),o=e.tag,l=e.innerFeatures.filter(m=>!m.isRoot).map(m=>`:has(${cs(m)})`).slice(0,4),u=e.classes.map(m=>`.${i(m)}`),f=Object.entries(e.attributes).map(([m,b])=>`[${m}="${i(b)}"]`),d=a(()=>l.length+1+u.length+f.length>t,"exceedsMaxLength");for(;d()&&(u.pop(),!!d());)f.pop();let p=n([...u,...f,...l]),g=p.map(m=>[o,...m]);return p.push(...g),p.map(m=>m.join("")).filter(m=>m).sort((m,b)=>b.length-m.length)}extractFeaturesMetadata(e){e.forEach(t=>{let n=t.element;if(!n)return;let i=n.getAttribute("id");t.featuresMetadata={...i!==null?{id:i}:{},tag:n.tagName.toLowerCase(),innerText:this.innerTextExtractor.extract(n),innerFeatures:this.innerFeaturesExtractor.extract(n),classes:Array.from(n.classList).filter(o=>!pr.includes(o))||[],attributes:Array.from(n.attributes).reduce((o,l)=>(["class","style","id"].includes(l.name)||(o[l.name]=l.value),o),{})}})}generateAllContextualSelectors(e,t){let n=[],i=[!0,!1];for(let l of i)for(let u of i)for(let f of i)n.push({useId:l,useClasses:u,useTag:f});let o=n.map(l=>this.createContextualSelector(e,t,l)).filter(l=>!!l).filter(l=>{try{let u=de(l,e);return u.length===1&&u[0]===t}catch{return!1}});return[...new Set(o)]}createContextualSelector(e,t,{useId:n=!1,useClasses:i=!0,useTag:o=!0}){if(!e||!t)return null;let l=[],u=t;for(;u&&u!==e;)l.unshift(this.getSelectorPart(u,{useId:n,useClasses:i,useTag:o})),u=u.parentElement;return u?l.join(" ").trim():null}getSelectorPart(e,{useId:t=!1,useClasses:n=!0,useTag:i=!0}){if(t&&e.id&&e.id.match(/^\D/))return`#${e.id}`;let o=i?e.tagName.toLowerCase():"";if(n&&e.className){let l=e.className.trim().split(/\s+/).filter(u=>!pr.includes(u)).map(Ws).join(".");l.length>0&&(o+="."+l)}return["name","label","aria-label","data-testid","role"].forEach(l=>{e.hasAttribute(l)&&(o+=`[${l}="${e.getAttribute(l)}"]`)}),o.trim()}getSmallestCommonRoot(e){let t=a(i=>{let o=[];for(;i;)o.push(i),i=i.parentElement;return o},"getAncestors"),n=t(e[0]);for(let i=1;i<e.length;i++){let o=t(e[i]);n=n.filter(l=>o.includes(l))}return n[0]??null}getSmallestCommonParentsFromMetadata(e){let t=e.map(n=>{try{if(!n.selector)return[];let i=de(n.selector);return n.selection.type==="content"?i.filter(o=>o.textContent===n.selection.value):i}catch{return[]}});return t.some(n=>n.length===0)?[]:this.getSmallestCommonParents(t)}getSmallestCommonParents(e){let t=new Set;Zo(e).forEach(o=>{let l=this.getSmallestCommonRoot(o);l&&t.add(l)});let i=Array.from(t);return i.filter(o=>!i.some(l=>o!==l&&o.contains(l)))}};var Pl=class{constructor(){this.MAX_SNIPPET_SIZE=12e3;this.MAX_LIONTAIL_SIZE=6e3;this.MAX_ATTRIBUTE_SIZE=100;this.elementsInSimplifiedDomByChecksumId={}}static{a(this,"ParentChainReducer")}async reduce(e,t={useLionTail:!0,useChecksumIds:!0}){if(console.log("[ParentChainReducer] will reduce",e),!qe(e,"HTMLElement")&&!qe(e,"SVGElement"))throw new Error("Element is not an HTMLElement");return{reducedHTML:this.getAncestorsHTMLSnippet(e,t)}}getElementForChecksumId(e){return this.elementsInSimplifiedDomByChecksumId[e]}getAncestorsHTMLSnippet(e,{useLionTail:t=!0,useChecksumIds:n=!0}={}){this.elementsInSimplifiedDomByChecksumId={};let i=this.MAX_LIONTAIL_SIZE,o=this.MAX_ATTRIBUTE_SIZE,l=[],u=e;e.setAttribute("checksum-selected","true");try{for(;u;)l.push(u),u.parentNode&&u.parentNode instanceof ShadowRoot?u=u.parentNode.host:u=u.parentElement;l.reverse();let f=a(m=>{if(m instanceof Element)for(let b=m.attributes.length-1;b>=0;b--){let E=m.attributes[b];E&&E.name.length+E.value.length>o&&m.removeAttribute(E.name)}return m},"normalizeNode"),d,p=new Dn;do{d=(l[0]??e).cloneNode(!1);let m=d,b=ei(d);for(let E=1;E<l.length;E++){let w=l[E];if(!w)continue;if(t){let x=ei(w).length;if(x<=i&&b.length+x<=this.MAX_SNIPPET_SIZE){let R=this.deepCloneNode(w,n?p:void 0);m.appendChild(R);break}}let S=f(w.cloneNode(w===e));if(n&&S instanceof Element){let x=p.getAndIncrement();S.setAttribute("checksumid",x),this.elementsInSimplifiedDomByChecksumId[x]=w}m.appendChild(S),m=S}i=Math.max(i-10,0),o=Math.max(o-10,0)}while(d.outerHTML.length>this.MAX_SNIPPET_SIZE&&o>0);return this.filterNodeClasses(d),ei(d,{limitAttributeLength:!0})}catch(f){console.error("Error while getting ancestors HTML snippet",f);return}finally{e.removeAttribute("checksum-selected")}}deepCloneNode(e,t){let n=e.cloneNode(!1),i=[e],o=[n];for(;i.length;){let l=i.shift(),u=o.shift();if(!l||!u)break;for(let f=0;f<l.childNodes.length;f++){let d=l.childNodes[f];if(!d)continue;let p=d.cloneNode(!1);if(u.appendChild(p),t&&qe(d,"HTMLElement")){let g=t.getAndIncrement();p.setAttribute("checksumid",g),this.elementsInSimplifiedDomByChecksumId[g]=d}i.push(d),o.push(p)}}return n}filterNodeClasses(e){let t=a(n=>{if("classList"in n){let i=n,o=i.classList;for(let l=0;l<o.length;l++){let u=o[l];u&&pr.includes(u)&&i.classList.remove(u)}for(let l=0;l<i.children.length;l++){let u=i.children[l];u&&t(u)}}},"filterClasses");t(e)}};var Fl=class{constructor(e){this.handleFileChange=a(e=>{let t=e.target,n=Array.from(t.files??[]),i=this.sessionMirror.getMeta(t);i&&(this.filesMap[i.id]=n)},"handleFileChange");this.fileInputsWithListeners=new Set,this.filesMap={},this.observer=null,this.sessionMirror=e}static{a(this,"FilesObserver")}async getFilesByRrwebId(e){let t=this.filesMap[e]??[];try{let n=await Promise.all(t.map(async i=>({data:await TF(i),fileName:i.name})));return this.filesMap[e]=[],n}catch{return console.error("Error while parsing files to base 64"),[]}}init(){this.observeDOMChanges(),window.addEventListener("unload",this.cleanup.bind(this))}addFileInputListeners(e){e.forEach(t=>{this.fileInputsWithListeners.has(t)||(t.addEventListener("change",this.handleFileChange),this.fileInputsWithListeners.add(t))})}observeDOMChanges(){let e=window.document,t=e.querySelectorAll('input[type="file"]');this.addFileInputListeners(t);let n=a(()=>{this.observer=new MutationObserver(o=>{o.forEach(l=>{if(l.type==="childList"){let u=l.target.querySelectorAll('input[type="file"]');this.addFileInputListeners(u)}})}),this.observer.observe(e.body,{childList:!0,subtree:!0})},"onBodyReady"),i=new MutationObserver(function(){e.body&&(i.disconnect(),n())});i.observe(e.documentElement,{childList:!0,subtree:!0})}cleanup(){this.observer&&this.observer.disconnect(),this.fileInputsWithListeners.forEach(e=>{e.removeEventListener("change",this.handleFileChange)}),this.fileInputsWithListeners.clear(),this.filesMap={}}},TF=a(r=>new Promise((e,t)=>{let n=new FileReader;n.onloadend=()=>{n.result?e(n.result.toString()):t(new Error("File reading failed"))},n.onerror=()=>{t(new Error("File reading failed"))},n.readAsDataURL(r)}),"convertFileToBase64");var Hl=class{constructor(e){this.sessionRecorder=e}static{a(this,"NativeDialogObserver")}init(){this.overrideDialog("alert"),this.overrideDialog("confirm"),this.overrideDialog("prompt")}overrideDialog(e){let t=a((n,i)=>{let o=this.determineDialogAction(i,e);this.sessionRecorder.addCustomEvent("native-dialog-event",{dialogType:e,dialogMessage:n,dialogResult:i,dialogAction:o})},"recordDialogEvent");if(e==="alert"){let n=window.alert.bind(window);window.alert=i=>{let o=n(i);return t(i??""),o}}else if(e==="confirm"){let n=window.confirm.bind(window);window.confirm=i=>{let o=n(i);return t(i??"",o),o}}else{let n=window.prompt.bind(window);window.prompt=i=>{let o=n(i);return t(i??"",o),o}}}determineDialogAction(e,t){return t==="alert"?"native_accept":e?"native_accept":"native_dismiss"}};function VS(r){return Reflect.get(window,"checksum")?.timeMachine.sessionReplayer.getMeta(r)?.id}a(VS,"getNodeRrwebId");async function US(r,e,t){let n=await r.getSelectorAndLocator(e,{rootDocument:t,ignoredIframesSelectors:[".replayer-wrapper > iframe"],flags:{origin:"element-inspector"}}).catch(()=>null),i=n?.locator??"",o=n?.selector??"",l=n?.parentFramesSelectors??[],u=await r.selector(o,l).catch(()=>e),f=u&&u!==e?VS(u):void 0;return{locator:i,selector:o,parentFramesSelectors:l,locatorRrwebId:f}}a(US,"generateInspectedElementSelection");var $l=class r{constructor(){this.locatorCache=new Map}static{a(this,"InspectedElementCache")}static getInstance(){return r.instance??=new r,r.instance}setTimestamp(e){this.currentTimestamp=e}getCachedLocatorForElement(e){try{return this.currentTimestamp?this.locatorCache.get(this.getKeyForElement(e)):void 0}catch{return}}setCachedLocatorForElement(e,t){this.currentTimestamp&&this.locatorCache.set(this.getKeyForElement(e),t)}getKeyForElement(e){let t=VS(e);if(!t)throw new Error("Can't find rrwebId for element");return`${t}_${this.currentTimestamp}`}};function RF(r){let t=document.querySelector(".replayer-wrapper > iframe")?.contentDocument??null;return!t&&r.nodeType===Node.DOCUMENT_NODE&&(t=r),t??=document,t.defaultView}a(RF,"resolveDefaultView");var Bl=class r{constructor({rootDocument:e=document,getRenderDocument:t=a(u=>u?.document,"getRenderDocument"),defaultView:n,topLevelInspector:i,rootDocumentForSelectorGenerator:o,eventName:l}={}){this.hoveredElement=null;this.wasHoveredElementSelected=!1;this.selected=[];this.singleSelection=!0;this.subDocumentInspector=null;this.listening=!1;this.locatorCache=$l.getInstance();this.onMouseOut=a(()=>{Br.clearHighlights()},"onMouseOut");this.onMouseOver=a(e=>{this.onMouseOverAsync(e)},"onMouseOver");this.onMouseOverAsync=a(async e=>{let t=e.composedPath()[0];if(!t)return;let n=this.resolveHoverTargetElement(t);if(n){Br.clearHighlights(),this.hoveredElement&&this.hoveredElement.removeEventListener("click",this.onClick,{capture:!0});try{await this.highlightHoveredElement(t,n)}catch(i){console.error("Error inspecting element",i.message)}}},"onMouseOverAsync");this.onClick=a(e=>{this.onClickAsync(e)},"onClick");this.onClickAsync=a(e=>{e.stopPropagation(),e.preventDefault(),!this.wasHoveredElementSelected&&(this.wasHoveredElementSelected=!0,this.hoveredElementSelection&&this.selected.push(this.hoveredElementSelection),this.singleSelection&&(this.topLevelInspector?this.topLevelInspector.stop():this.stop()),window.parent.postMessage({type:this.eventName,data:this.selected[this.selected.length-1]},"*"))},"onClickAsync");this.handleSubDocument=a((e,t)=>{if(this.subDocumentInspector){if(this.subDocumentInspector.rootDocument===e)return!0;this.stopSubDocumentInspector(!0)}return this.subDocumentInspector=new r({rootDocument:e,defaultView:t,topLevelInspector:this.topLevelInspector??this,getRenderDocument:this.getRenderDocument,eventName:this.eventName}),this.subDocumentInspector.start({singleSelection:this.singleSelection,timestamp:this.currentTimestamp}),!0},"handleSubDocument");this.stopSubDocumentInspector=a(e=>{this.subDocumentInspector&&(this.subDocumentInspector.stop(e),this.subDocumentInspector=null)},"stopSubDocumentInspector");this.rootDocument=e,this.topLevelInspector=i,this.getRenderDocument=t,this.eventName=l,this.defaultView=n??this.getDefaultView(),this.playwrightElementSelectorGenerator=new $t,this.rootDocumentForSelectorGenerator=o??this.getDefaultView()?.document??document}static{a(this,"ElementInspector")}getDefaultView(){return RF(this.rootDocument)}start({singleSelection:e,timestamp:t}={singleSelection:!0}){this.singleSelection=e,this.locatorCache.setTimestamp(t),this.currentTimestamp=t,this.stop(),this.cleanSelection(),this.rootDocument.addEventListener("mouseover",this.onMouseOver),this.rootDocument.addEventListener("mouseout",this.onMouseOut),this.listening=!0}stop(e=!1){this.listening&&(this.listening=!1,this.subDocumentInspector&&this.stopSubDocumentInspector(e),Br.clearHighlights(),this.hoveredElement&&this.hoveredElement.removeEventListener("click",this.onClick,{capture:!0}),this.currentTimestamp=void 0,this.hoveredElement=null,this.wasHoveredElementSelected=!1,this.rootDocument.removeEventListener("mouseover",this.onMouseOver),e&&this.cleanSelection())}cleanSelection(){this.subDocumentInspector&&this.subDocumentInspector.cleanSelection(),this.selected=[]}consumeSelections(){if(this.subDocumentInspector)return this.subDocumentInspector.consumeSelections();let e=this.selected;return this.cleanSelection(),e}resolveHoverTargetElement(e){if("getRootNode"in e){let n=e.getRootNode();if(n!==this.rootDocument)return this.handleSubDocument(n,this.defaultView),null}if(qe(e,"HTMLIFrameElement")){let n=e.contentDocument;return n&&this.handleSubDocument(n,n.defaultView),null}if(this.subDocumentInspector&&this.stopSubDocumentInspector(!0),!qe(e,"HTMLElement"))return null;let t=e;return t===this.hoveredElement||t.matches(".element-inspector-ignore")?null:t}async highlightHoveredElement(e,t){let{locator:n,selector:i,parentFramesSelectors:o,locatorRrwebId:l}=await this.getInspectedElementSelection(t,this.rootDocumentForSelectorGenerator),u=this.getRenderDocument(this.defaultView);if(Br.highlightElement(t,{text:n.replace("frameLocator('iframe').",""),textPosition:"below",textWidthType:"auto",pointerEvents:"none",classNames:["element-inspector-ignore"],...u?{renderDocument:u}:{}}),l){let p=Reflect.get(window,"checksum")?.timeMachine.sessionReplayer.getNodeById(l);p&&Br.highlightElement(p,{clear:!1,pointerEvents:"none",classNames:["element-inspector-ignore"],...u?{renderDocument:u}:{}})}this.hoveredElement=t,this.hoveredElementSelection={locator:n,selector:i,...o!==void 0?{parentFramesSelectors:o}:{}},this.wasHoveredElementSelected=!1,e.addEventListener("click",this.onClick,{capture:!0})}async getInspectedElementSelection(e,t){let n=this.locatorCache.getCachedLocatorForElement(e);return n||(n=await US(this.playwrightElementSelectorGenerator,e,t),this.locatorCache.setCachedLocatorForElement(e,n)),n}};var sh=typeof navigator<"u"?navigator.userAgent.toLowerCase().indexOf("firefox")>0:!1;function oh(r,e,t,n){r.addEventListener?r.addEventListener(e,t,n):r.attachEvent&&r.attachEvent(`on${e}`,t)}a(oh,"addEvent");function Gs(r,e,t,n){r&&(r.removeEventListener?r.removeEventListener(e,t,n):r.detachEvent&&r.detachEvent(`on${e}`,t))}a(Gs,"removeEvent");function qS(r,e){let t=e.slice(0,e.length-1),n=[];for(let i=0;i<t.length;i++)n.push(r[t[i].toLowerCase()]);return n}a(qS,"getMods");function jS(r){typeof r!="string"&&(r=""),r=r.replace(/\s/g,"");let e=r.split(","),t=e.lastIndexOf("");for(;t>=0;)e[t-1]+=",",e.splice(t,1),t=e.lastIndexOf("");return e}a(jS,"getKeys");function IF(r,e){let t=r.length>=e.length?r:e,n=r.length>=e.length?e:r,i=!0;for(let o=0;o<t.length;o++)n.indexOf(t[o])===-1&&(i=!1);return i}a(IF,"compareArray");function YS(r){let e=r.keyCode||r.which||r.charCode;return r.key&&/^[a-z]$/i.test(r.key)?r.key.toUpperCase().charCodeAt(0):(r.code&&/^Key[A-Z]$/.test(r.code)&&(e=r.code.charCodeAt(3)),e)}a(YS,"getLayoutIndependentKeyCode");var Ys={backspace:8,"\u232B":8,tab:9,clear:12,enter:13,"\u21A9":13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,arrowup:38,arrowdown:40,arrowleft:37,arrowright:39,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"\u21EA":20,",":188,".":190,"/":191,"`":192,"-":sh?173:189,"=":sh?61:187,";":sh?59:186,"'":222,"{":219,"}":221,"[":219,"]":221,"\\":220},Zt={"\u21E7":16,shift:16,"\u2325":18,alt:18,option:18,"\u2303":17,ctrl:17,control:17,"\u2318":91,cmd:91,meta:91,command:91},qs={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},at={16:!1,18:!1,17:!1,91:!1},Xe={};for(let r=1;r<20;r++)Ys[`f${r}`]=111+r;var ze=[],js=null,Ni=null,KS="all",Vr=new Map,_i=a(r=>Ys[r.toLowerCase()]||Zt[r.toLowerCase()]||r.toUpperCase().charCodeAt(0),"code"),AF=a(r=>Object.keys(Ys).find(e=>Ys[e]===r),"getKey"),LF=a(r=>Object.keys(Zt).find(e=>Zt[e]===r),"getModifier"),XS=a(r=>{KS=r||"all"},"setScope"),Ks=a(()=>KS||"all","getScope"),OF=a(()=>ze.slice(0),"getPressedKeyCodes"),NF=a(()=>ze.map(r=>AF(r)||LF(r)||String.fromCharCode(r)),"getPressedKeyString"),_F=a(()=>{let r=[];return Object.keys(Xe).forEach(e=>{Xe[e].forEach(({key:t,scope:n,mods:i,shortcut:o})=>{r.push({scope:n,shortcut:o,mods:i,keys:t.split("+").map(l=>_i(l))})})}),r},"getAllKeyCodes"),ZS=a(r=>{let e=r.target||r.srcElement,{tagName:t}=e,n=!0,i=t==="INPUT"&&!["checkbox","radio","range","button","file","reset","submit","color"].includes(e.type);return(e.isContentEditable||(i||t==="TEXTAREA"||t==="SELECT")&&!e.readOnly)&&(n=!1),n},"filter"),DF=a(r=>(typeof r=="string"&&(r=_i(r)),ze.indexOf(r)!==-1),"isPressed"),kF=a((r,e)=>{let t,n;r||(r=Ks());for(let i in Xe)if(Object.prototype.hasOwnProperty.call(Xe,i))for(t=Xe[i],n=0;n<t.length;)t[n].scope===r?t.splice(n,1).forEach(({element:l})=>lh(l)):n++;Ks()===r&&XS(e||"all")},"deleteScope");function PF(r){let e=YS(r);r.key&&r.key.toLowerCase()==="capslock"&&(e=_i(r.key));let t=ze.indexOf(e);if(t>=0&&ze.splice(t,1),r.key&&r.key.toLowerCase()==="meta"&&ze.splice(0,ze.length),(e===93||e===224)&&(e=91),e in at){at[e]=!1;for(let n in Zt)Zt[n]===e&&(Cr[n]=!1)}}a(PF,"clearModifier");var JS=a((r,...e)=>{if(typeof r>"u")Object.keys(Xe).forEach(t=>{Array.isArray(Xe[t])&&Xe[t].forEach(n=>Wl(n)),delete Xe[t]}),lh(null);else if(Array.isArray(r))r.forEach(t=>{t.key&&Wl(t)});else if(typeof r=="object")r.key&&Wl(r);else if(typeof r=="string"){let[t,n]=e;typeof t=="function"&&(n=t,t=""),Wl({key:r,scope:t,method:n,splitKey:"+"})}},"unbind"),Wl=a(({key:r,scope:e,method:t,splitKey:n="+"})=>{jS(r).forEach(o=>{let l=o.split(n),u=l.length,f=l[u-1],d=f==="*"?"*":_i(f);if(!Xe[d])return;e||(e=Ks());let p=u>1?qS(Zt,l):[],g=[];Xe[d]=Xe[d].filter(m=>{let E=(t?m.method===t:!0)&&m.scope===e&&IF(m.mods,p);return E&&g.push(m.element),!E}),g.forEach(m=>lh(m))})},"eachUnbind");function zS(r,e,t,n){if(e.element!==n)return;let i;if(e.scope===t||e.scope==="all"){i=e.mods.length>0;for(let o in at)Object.prototype.hasOwnProperty.call(at,o)&&(!at[o]&&e.mods.indexOf(+o)>-1||at[o]&&e.mods.indexOf(+o)===-1)&&(i=!1);(e.mods.length===0&&!at[16]&&!at[18]&&!at[17]&&!at[91]||i||e.shortcut==="*")&&(e.keys=[],e.keys=e.keys.concat(ze),e.method(r,e)===!1&&(r.preventDefault?r.preventDefault():r.returnValue=!1,r.stopPropagation&&r.stopPropagation(),r.cancelBubble&&(r.cancelBubble=!0)))}}a(zS,"eventHandler");function GS(r,e){let t=Xe["*"],n=YS(r);if(r.key&&r.key.toLowerCase()==="capslock"||!(Cr.filter||ZS).call(this,r))return;if((n===93||n===224)&&(n=91),ze.indexOf(n)===-1&&n!==229&&ze.push(n),["metaKey","ctrlKey","altKey","shiftKey"].forEach(f=>{let d=qs[f];r[f]&&ze.indexOf(d)===-1?ze.push(d):!r[f]&&ze.indexOf(d)>-1?ze.splice(ze.indexOf(d),1):f==="metaKey"&&r[f]&&(ze=ze.filter(p=>p in qs||p===n))}),n in at){at[n]=!0;for(let f in Zt)if(Object.prototype.hasOwnProperty.call(Zt,f)){let d=qs[Zt[f]];Cr[f]=r[d]}if(!t)return}for(let f in at)Object.prototype.hasOwnProperty.call(at,f)&&(at[f]=r[qs[f]]);r.getModifierState&&!(r.altKey&&!r.ctrlKey)&&r.getModifierState("AltGraph")&&(ze.indexOf(17)===-1&&ze.push(17),ze.indexOf(18)===-1&&ze.push(18),at[17]=!0,at[18]=!0);let o=Ks();if(t)for(let f=0;f<t.length;f++)t[f].scope===o&&(r.type==="keydown"&&t[f].keydown||r.type==="keyup"&&t[f].keyup)&&zS(r,t[f],o,e);if(!(n in Xe))return;let l=Xe[n],u=l.length;for(let f=0;f<u;f++)if((r.type==="keydown"&&l[f].keydown||r.type==="keyup"&&l[f].keyup)&&l[f].key){let d=l[f],{splitKey:p}=d,g=d.key.split(p),m=[];for(let b=0;b<g.length;b++)m.push(_i(g[b]));m.sort().join("")===ze.sort().join("")&&zS(r,d,o,e)}}a(GS,"dispatch");var Cr=a(function r(e,t,n){ze=[];let i=jS(e),o=[],l="all",u=document,f=0,d=!1,p=!0,g="+",m=!1,b=!1;if(n===void 0&&typeof t=="function"&&(n=t),Object.prototype.toString.call(t)==="[object Object]"){let E=t;E.scope&&(l=E.scope),E.element&&(u=E.element),E.keyup&&(d=E.keyup),E.keydown!==void 0&&(p=E.keydown),E.capture!==void 0&&(m=E.capture),typeof E.splitKey=="string"&&(g=E.splitKey),E.single===!0&&(b=!0)}for(typeof t=="string"&&(l=t),b&&JS(e,l);f<i.length;f++){let E=i[f].split(g);o=[],E.length>1&&(o=qS(Zt,E));let w=E[E.length-1];w=w==="*"?"*":_i(w),w in Xe||(Xe[w]=[]),Xe[w].push({keyup:d,keydown:p,scope:l,mods:o,shortcut:i[f],method:n,key:i[f],splitKey:g,element:u})}if(typeof u<"u"&&typeof window<"u"){if(!Vr.has(u)){let E=a((S=window.event)=>GS(S,u),"keydownListener"),w=a((S=window.event)=>{GS(S,u),PF(S)},"keyupListenr");Vr.set(u,{keydownListener:E,keyupListenr:w,capture:m}),oh(u,"keydown",E,m),oh(u,"keyup",w,m)}if(!js){let E=a(()=>{ze=[]},"listener");js={listener:E,capture:m},oh(window,"focus",E,m)}if(!Ni&&typeof document<"u"){let E=a(()=>{ze=[];for(let x in at)at[x]=!1;for(let x in Zt)r[x]=!1},"onFullscreenChange"),w=E,S=E;document.addEventListener("fullscreenchange",w),document.addEventListener("webkitfullscreenchange",S),Ni={fullscreen:w,webkit:S}}}},"hotkeys2");function FF(r,e="all"){Object.keys(Xe).forEach(t=>{Xe[t].filter(i=>i.scope===e&&i.shortcut===r).forEach(i=>{i&&i.method&&i.method({},i)})})}a(FF,"trigger");function lh(r){let e=Object.values(Xe).flat();if(e.findIndex(({element:n})=>n===r)<0&&r){let{keydownListener:n,keyupListenr:i,capture:o}=Vr.get(r)||{};n&&i&&(Gs(r,"keyup",i,o),Gs(r,"keydown",n,o),Vr.delete(r))}if(e.length<=0||Vr.size<=0){if(Array.from(Vr.keys()).forEach(i=>{let{keydownListener:o,keyupListenr:l,capture:u}=Vr.get(i)||{};o&&l&&(Gs(i,"keyup",l,u),Gs(i,"keydown",o,u),Vr.delete(i))}),Vr.clear(),Object.keys(Xe).forEach(i=>delete Xe[i]),js){let{listener:i,capture:o}=js;Gs(window,"focus",i,o),js=null}Ni&&typeof document<"u"&&(document.removeEventListener("fullscreenchange",Ni.fullscreen),document.removeEventListener("webkitfullscreenchange",Ni.webkit),Ni=null)}}a(lh,"removeKeyEvent");var ah={getPressedKeyString:NF,setScope:XS,getScope:Ks,deleteScope:kF,getPressedKeyCodes:OF,getAllKeyCodes:_F,isPressed:DF,filter:ZS,trigger:FF,unbind:JS,keyMap:Ys,modifier:Zt,modifierMap:qs};for(let r in ah){let e=r;Object.prototype.hasOwnProperty.call(ah,e)&&(Cr[e]=ah[e])}if(typeof window<"u"){let r=window.hotkeys;Cr.noConflict=e=>(e&&window.hotkeys===Cr&&(window.hotkeys=r),Cr),window.hotkeys=Cr}var Di=class{constructor(){this.boundShortcuts=[]}static{a(this,"KeybindingsManager")}addKeybinding(e){let t=e.key.toLowerCase();if(this.boundShortcuts.includes(t))return;this.boundShortcuts.push(t),Cr(t,{capture:!0,keydown:!0},i=>{i.preventDefault(),e.callback(i)})}};var Vl=class{constructor(e){this.sessionRecorder=e;this.elementInspector=null;this.keybindingsManager=new Di;this.activeHandler=null;this.createHandler=a(e=>({handlerFunc:a(t=>{try{e.handlerFunc(t)}finally{this.stopObserver()}},"handlerFunc"),handlerType:e.handlerType}),"createHandler");this.toHaveTextHandler=a(()=>e=>{let t=e.data?.data,n=window.prompt(`Please enter the expected text for the element:
78
78
  ${t.locator}`);n!==null&&this.sessionRecorder.addCustomEvent("assertion",{matcher:`toHaveText("${n}")`,locator:t.locator})},"toHaveTextHandler");this.toBeVisibleHandler=a(()=>e=>{let t=e.data?.data;this.sessionRecorder.addCustomEvent("assertion",{matcher:"toBeVisible()",locator:t.locator})},"toBeVisibleHandler")}static{a(this,"AssertionsObserver")}init(){this.keybindingsManager.addKeybinding({key:"ctrl+\u2318+a",callback:a(()=>this.toggleObserver({handlerFunc:this.toHaveTextHandler(),handlerType:"toHaveText"}),"callback")}),this.keybindingsManager.addKeybinding({key:"ctrl+\u2318+s",callback:a(()=>this.toggleObserver({handlerFunc:this.toBeVisibleHandler(),handlerType:"toBeVisible"}),"callback")}),this.keybindingsManager.addKeybinding({key:"esc",callback:a(e=>{this.activeHandler&&(e.stopPropagation(),this.cleanUpHandler())},"callback")})}toggleObserver(e){if(this.activeHandler){this.cleanUpHandler();return}let t=this.createHandler(e);this.activeHandler=t,this.startObserver(),window.addEventListener("message",t.handlerFunc,{once:!0})}cleanUpHandler(){this.activeHandler&&(window.removeEventListener("message",this.activeHandler.handlerFunc),this.stopObserver(),this.activeHandler=null)}isInspectorActive(){return!!this.elementInspector}enableEventsFilter(){this.sessionRecorder.addCustomEvent("filter",{filter:{only:[{type:Y.Custom,tag:"assertion"}],exclude:[]}})}disableEventsFilter(){this.sessionRecorder.addCustomEvent("filter",{filter:{only:[],exclude:[]}})}startObserver(){this.elementInspector=new Bl({rootDocument:window.document}),this.elementInspector.start(),this.enableEventsFilter()}stopObserver(){this.isInspectorActive()&&(this.elementInspector?.stop(),this.elementInspector=null,this.disableEventsFilter(),this.cleanUpHandler())}};var Ul=class{constructor(e){this.sessionRecorder=e;this.elementInspector=null;this.keybindingsManager=new Di;this.activeHandler=null;this.lastMousePosition={x:0,y:0};this.listenForMouseMove()}static{a(this,"ActionsObserver")}init(){this.keybindingsManager.addKeybinding({key:"ctrl+\u2318+h",callback:a(()=>{(async()=>{try{await this.handleImmediateHover()}catch(e){console.error("[ActionsObserver] calling handleImmediateHover:",e)}})()},"callback")})}listenForMouseMove(){try{document.addEventListener("mousemove",e=>{try{this.lastMousePosition.x=e.clientX,this.lastMousePosition.y=e.clientY}catch(t){console.error("[ActionsObserver] mousemove event listener error:",t)}})}catch(e){console.error("[ActionsObserver] listenForMouseMove error:",e)}}async handleImmediateHover(){let e=document.elementFromPoint(this.lastMousePosition.x,this.lastMousePosition.y);if(!e)return;let n=(await new $t().getSelectorAndLocator(e))?.locator;n&&(this.sessionRecorder.addCustomEvent("hover",{locator:n}),this.highlightElement(e))}highlightElement(e){if(!("style"in e))return;let t=e,n=t.style.backgroundColor,i=t.style.transition;t.style.transition="background-color 0.3s ease",t.style.backgroundColor="rgba(255, 255, 0, 0.3)",setTimeout(()=>{t.style.backgroundColor=n,t.style.transition=i},500)}cleanUpHandler(){this.activeHandler&&(window.removeEventListener("message",this.activeHandler.handlerFunc),this.stopObserver(),this.activeHandler=null)}isInspectorActive(){return!!this.elementInspector}stopObserver(){this.isInspectorActive()&&(this.elementInspector?.stop(),this.elementInspector=null,this.cleanUpHandler())}};var zl=class{constructor(e){this.sessionRecorder=e}static{a(this,"BlobObserver")}init(){this.overrideCreateObjectURL()}overrideCreateObjectURL(){let e=URL.createObjectURL.bind(URL);URL.createObjectURL=t=>{let n=e(t);return typeof t.arrayBuffer!="function"||t.arrayBuffer().then(i=>{let o=new Uint8Array(i),l=Array.from(o);this.sessionRecorder.addCustomEvent("blob-data",{blobData:l,mimeType:t.type,originalUrl:n})}).catch(i=>{console.warn("Failed to process blob data for recording:",i)}),n}}};var HF="$checksum",Gl=class{constructor(){this.testIdCounter=0;this.initialized=!1;this.config={};Ii.setPrefix(HF),this.elementSelector=new $t,this.htmlReducer=new Ml,this.parentChainReducer=new Pl,this.compoundSelector=new Fn(this.htmlReducer)}static{a(this,"ChecksumTestGenerator")}getCompoundSelector(){return this.compoundSelector}betterTemplatizr(e){return wr(e)}async buildCustomPlaywrightSelectors(e,t=[],n={},i=document){typeof e=="string"&&(e=this.htmlReducer.getElementForChecksumId(e));let o=t.map(l=>({...l,element:this.parentChainReducer.getElementForChecksumId(l.checksumId)})).filter(({element:l})=>!!l);return await new hn(i).generate(e,o,{isPartOfListItem:!1,isForContextElement:!1,addCSSSelectorGenerator:!0,expandCSSKeyElements:!0,...n})}async buildArbitraryListItem(e){return typeof e=="string"&&(e=this.htmlReducer.getElementForChecksumId(e)),await new hn().generateArbitraryItemListSelector(e)??[]}testElementSelector(e,t,n,i=!0){let o=typeof t=="string"?this.htmlReducer.getElementForChecksumId(t):t;return o?new hn().testSelector(e,o,n,i):(console.error("Element not found",t),{valid:!1,error:"Element not found"})}async getParentChainHTML(e,t=!0,n=!0){return typeof e=="string"&&(e=this.htmlReducer.getElementForChecksumId(e)),(await this.parentChainReducer.reduce(e,{useLionTail:t,useChecksumIds:n})).reducedHTML??""}init(e,t={},{sessionRecorder:n=!0,filesObserver:i=!1,assertionsObserver:o=!1,actionsObserver:l=!1,nativeDialogObserver:u=!1,blobObserver:f=!0}={}){this.appSpecificRules=e,this.config=t,!this.initialized&&(this.initialized=!0,n&&(this.sessionMirror=new wl((d,p)=>{d.isCheckout=p,window.checksumSendBroadcastMessage?.("rrweb",[d]),this.lastRrwebEventTimestamp=d.timestamp},t.recordOptions)),i&&this.sessionMirror&&(this.filesObserver=new Fl(this.sessionMirror),this.filesObserver.init()),o&&this.sessionMirror&&(this.assertionsObserver=new Vl(this.sessionMirror),this.assertionsObserver.init()),l&&this.sessionMirror&&(this.actionsObserver=new Ul(this.sessionMirror),this.actionsObserver.init()),u&&this.sessionMirror&&(this.nativeDialogObserver=new Hl(this.sessionMirror),this.nativeDialogObserver.init()),f&&this.sessionMirror&&(this.blobObserver=new zl(this.sessionMirror),this.blobObserver.init()),this.sessionMirror&&(this.sessionMirror.start(),this.htmlReducer.setSessionRecorder(this.sessionMirror)),_n.limitChildren=this.appSpecificRules?.esraSelectionRules?.limitChildren??[],this.config.esraTimeout!==void 0&&(_n.timeout=this.config.esraTimeout),this.config.showFrontendLogs?Ii.removePrefix():this.config.logPrefix?.length&&Ii.setPrefix(this.config.logPrefix))}getElementSelector(){return this.elementSelector}getLastSelectionLogs(){return this.currentESRASelector?this.currentESRASelector.getLastSelectionLogs():{}}getBestMatchingElementSimilarityScore(e){return this.currentESRASelector=new _n(e),this.currentESRASelector.selectOne().score}async extractESRAMetadata(e){return new Dr(document).extract(e).toMetadata()}async select(e,t){return await this.elementSelector.selector(e,t)}async getSelectionDataForSelector(e,t){try{let n=await this.elementSelector.selector(e,t);if(!(n instanceof HTMLElement))return console.warn("could not find element for selector: "+e),null;let o=(await this.elementSelector.getSelectorAndLocator(n,{testIdSelector:this.appSpecificRules?.esraSelectionRules?.testIdSelector}))?.locator??"",l=await this.extractESRAMetadata(n);return{generatedLocator:o,esraMetadata:l,selector:e,...t!==void 0&&{parentFramesSelectors:t}}}catch(n){console.log("getMetadataForSelector exception",n);return}}async getMatchingElementSelectionData(e,{minSelectionScore:t,cachedSelector:n,staticMetadata:i}={minSelectionScore:.3},o=!1){try{let l=null,u,f;if(n&&(console.log("Trying to locate using cached selector",n),l=await this.elementSelector.selector(n)),!l){console.log("Trying to locate using ESRA",e),Xo(i)&&console.log("and static data",i),this.currentESRASelector=new _n(e,i);let p=this.currentESRASelector.selectOne({minSelectionScore:t});t!==void 0&&p.score>=t?(l=p.candidate,u=p.score,f=p.clickOffset):console.log("Best matching element was below threshold",p)}if(console.log(l?[`Located with score ${u}`,l]:"Element not located"),!l)return;o&&new ht(l).scrollIntoView(),this.highlightElement(l);let d=await this.makeMatchingElementSelectionData(l,u);return f&&(d.clickOffset=f),d}catch(l){console.log("getMatchingElementSelectionData exception",l);return}}getAllInteractableElementsForLastSelectQuery(){if(!this.currentESRASelector)return Promise.resolve([]);let e=this.currentESRASelector.getFinalCandidates();return Promise.all(e.map(async t=>({esraMetadata:t.esraMetadata,selectionData:await this.makeMatchingElementSelectionData(t.candidate,t.score)})))}async getInteractableElementsRaw(){return Nn()}async getInteractableElements(){let e=Nn(),t=new Dr(document);return Promise.all(e.map(async n=>{let i=t.extract(n).toMetadata(),o=await this.makeMatchingElementSelectionData(n);return{esraMetadata:i,selectionData:o}}))}getCurrentESRASelector(){return this.currentESRASelector}startFlashingElementsDetection(){return this.htmlReducer.startFlashingElementsDetection()}async reduceHTML(e={},t={},n=document){let i=await this.htmlReducer.reduce(n,{...this.appSpecificRules,...e},t);if(this.lastRrwebEventTimestamp&&(i.lastRRwebEvent={timestamp:this.lastRrwebEventTimestamp}),t.extractESRAForInterpretationRequiredElements){console.log("Extracting ESRA for interpretation required elements...");let o=this.htmlReducer.getInteractableElementsInReducedHTML();i.elementsForNodeInterpretation=o.reduce((l,{checksumId:u,element:f})=>{if(!(f instanceof HTMLElement)||f.innerText?.trim().length)return l;let p=new Dr(document).extract(f).toMetadata();return[...l,{checksumId:u,esraMetadata:p}]},[]),console.log("Done with ESRA extraction for interpretation required elements")}return i}getMoreItemsForTemplate(e,t={}){return this.htmlReducer.getMoreElementsFromTemplate(e,{...this.appSpecificRules,...t})}displayInterpretationForElements(e){this.clearHighlights(),this.htmlReducer.getInteractableElements().forEach(({checksumId:n,element:i})=>{let o=e[n];if(o){if(!i.isConnected){console.log(`Element ${n} is not connected to the DOM, skipping display`);return}this.highlightElement(i,{text:o,textType:"hover",clear:!1,textStyle:{width:"120px"}})}})}async overlayInteractableElementsWithChecksumId({reduceBeforeRender:e=!1,mode:t="full",textPosition:n=t==="tag"?"above":void 0,shouldFlipHighlightTextOutsideViewport:i=!0,scrollIntoView:o=!1,checksumId:l}={}){this.clearHighlights(),e&&await this.reduceHTML();let u=a((d,p,g)=>{if(!p.isConnected){console.log(`Element ${d} is not connected to the DOM, skipping display`);return}let{width:m,height:b}=p.getBoundingClientRect();if(m<=0||b<=0)return;function E(M){switch(t){case"tag":return{background:M,width:"initial",left:"-2px",border:`3px dashed ${M}`,"font-weight":"bold"};case"full":return{background:"black",height:"100%"};default:return}}a(E,"getTextStyleByMode");function w(M){let A=["red","gold","green","steelBlue","orange","hotPink","darkViolet","brown"];return M?A[M%A.length]??"red":"red"}a(w,"getColor");let S=w(g);function x(){switch(t){case"tag":return{outline:`3px dashed ${S}`};case"full":return{outline:"none"};case"selected":return{outline:"6px dashed red",opacity:"0.7"}}}a(x,"getHighlightStyle");let R=E(S);this.highlightElement(p,{...d!==null&&{text:d},clear:!1,highlightStyle:x(),...n?{textPosition:n}:{},...R!==void 0&&{textStyle:R},shouldFlipHighlightTextOutsideViewport:i})},"overlayElement");if(t==="selected"&&l){let d=await this.getElementForChecksumId(l);u(null,d,0);return}this.htmlReducer.getInteractableElementsInReducedHTML().filter(d=>!gt(d.element,{...Wd,scrollIntoView:o}).isHidden).forEach(({checksumId:d,element:p},g)=>{u(d,p,g)})}async getElementForChecksumId(e){return this.htmlReducer.getElementForChecksumId(e)}async getSelectorForChecksumId(e){let t=await this.htmlReducer.getSelectorForChecksumId(e),{element:n,innerText:i,...o}=t;return o}hasInnerTextByChecksumId(e){return this.htmlReducer.hasInnerTextByChecksumId(e)}async getSelectorByPosition(e,t){let n=document.elementFromPoint(e,t);return await this.elementSelector.getSelectorAndLocator(n)}isInput(e){let n=de(e)[0];return n?["input","textarea"].includes(n.tagName.toLowerCase()):!1}querySelectorExtended(e){return de(e)}getReactTree(e){return hS(e)}isHidden(e,t){return gt(e,t)}showGrid(){this.removeGrid();let e=document.createElement("style");e.id="checksum_grid_style",e.innerHTML=`
79
79
  .checksum_grid {
80
80
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAJ1JREFUaEPtksEJgDAUxX73H1oRxAECkSrppacXaNI1M8f84Kz7Idf95XP0kM3yVWSzIFORikgG+lqSWIytCFYnDSsiicXYimB10rAikliMrQhWJw0rIonF2IpgddKwIpJYjK0IVicNKyKJxdiKYHXSsCKSWIytCFYnDSsiicXYimB10rAikliMrQhWJw0rIonF2IpgddLwKSLx38Oej8ZiASoSUGMAAAAASUVORK5CYII=");