humanbehavior-js 0.6.0 β 0.8.0-beta.0
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/package.json +1 -1
- package/packages/browser/dist/cjs/index.js +9 -9
- package/packages/browser/dist/cjs/index.js.map +1 -1
- package/packages/browser/dist/esm/index.js +4 -4
- package/packages/browser/dist/esm/index.js.map +1 -1
- package/packages/browser/dist/index.min.js +1 -1
- package/packages/browser/dist/index.min.js.map +1 -1
- package/packages/core/dist/api.d.ts +27 -1
- package/packages/core/dist/api.d.ts.map +1 -1
- package/packages/core/dist/index.js +1 -1
- package/packages/core/dist/index.js.map +1 -1
- package/packages/core/dist/index.mjs +1 -1
- package/packages/core/dist/index.mjs.map +1 -1
- package/packages/core/dist/tracker.d.ts +100 -7
- package/packages/core/dist/tracker.d.ts.map +1 -1
- package/packages/core/dist/utils/global-tracker.d.ts +8 -5
- package/packages/core/dist/utils/global-tracker.d.ts.map +1 -1
- package/packages/core/dist/utils/property-manager.d.ts.map +1 -1
- package/packages/react/dist/index.js +1 -1
- package/packages/react/dist/index.js.map +1 -1
- package/packages/react/dist/index.mjs +1 -1
- package/packages/react/dist/index.mjs.map +1 -1
- package/packages/wizard/dist/agent/claude-agent-installer.d.ts +17 -0
- package/packages/wizard/dist/agent/claude-agent-installer.d.ts.map +1 -0
- package/packages/wizard/dist/ai/ai-install-wizard.d.ts +2 -2
- package/packages/wizard/dist/ai/ai-install-wizard.d.ts.map +1 -1
- package/packages/wizard/dist/ai/manual-framework-wizard.d.ts +2 -2
- package/packages/wizard/dist/ai/manual-framework-wizard.d.ts.map +1 -1
- package/packages/wizard/dist/cli/ai-auto-install.d.ts +6 -0
- package/packages/wizard/dist/cli/ai-auto-install.d.ts.map +1 -1
- package/packages/wizard/dist/cli/ai-auto-install.js +641 -81
- package/packages/wizard/dist/cli/ai-auto-install.js.map +1 -1
- package/packages/wizard/dist/cli/auto-install.d.ts +4 -0
- package/packages/wizard/dist/cli/auto-install.d.ts.map +1 -1
- package/packages/wizard/dist/cli/auto-install.js +314 -56
- package/packages/wizard/dist/cli/auto-install.js.map +1 -1
- package/packages/wizard/dist/core/install-wizard.d.ts +51 -3
- package/packages/wizard/dist/core/install-wizard.d.ts.map +1 -1
- package/packages/wizard/dist/index.d.ts +2 -0
- package/packages/wizard/dist/index.d.ts.map +1 -1
- package/packages/wizard/dist/index.js +1 -1
- package/packages/wizard/dist/index.js.map +1 -1
- package/packages/wizard/dist/index.mjs +1 -1
- package/packages/wizard/dist/index.mjs.map +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e,Fragment as t,jsxs as s}from"react/jsx-runtime";import{createContext as r,useState as n,useRef as i,useEffect as o,useCallback as a,useMemo as l,useContext as c}from"react";var h,u=Object.defineProperty,d=(e,t,s)=>((e,t,s)=>t in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s)(e,"symbol"!=typeof t?t+"":t,s),p=Object.defineProperty,m=(e,t,s)=>((e,t,s)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s)(e,"symbol"!=typeof t?t+"":t,s),f=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(f||{});const g={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},y={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},w={};function v(e){if(w[e])return w[e];const t=globalThis[e],s=t.prototype,r=e in g?g[e]:void 0,n=Boolean(r&&r.every(e=>{var t,r;return Boolean(null==(r=null==(t=Object.getOwnPropertyDescriptor(s,e))?void 0:t.get)?void 0:r.toString().includes("[native code]"))})),i=e in y?y[e]:void 0,o=Boolean(i&&i.every(e=>{var t;return"function"==typeof s[e]&&(null==(t=s[e])?void 0:t.toString().includes("[native code]"))}));if(n&&o&&!globalThis.Zone)return w[e]=t.prototype,t.prototype;try{const r=document.createElement("iframe");document.body.appendChild(r);const n=r.contentWindow;if(!n)return t.prototype;const i=n[e].prototype;return document.body.removeChild(r),i?w[e]=i:s}catch{return s}}const S={};function b(e,t,s){var r;const n=`${e}.${String(s)}`;if(S[n])return S[n].call(t);const i=v(e),o=null==(r=Object.getOwnPropertyDescriptor(i,s))?void 0:r.get;return o?(S[n]=o,o.call(t)):t[s]}const C={};function k(e,t,s){const r=`${e}.${String(s)}`;if(C[r])return C[r].bind(t);const n=v(e)[s];return"function"!=typeof n?t[s]:(C[r]=n,n.bind(t))}const I={ownerDocument:function(e){return b("Node",e,"ownerDocument")},childNodes:function(e){return b("Node",e,"childNodes")},parentNode:function(e){return b("Node",e,"parentNode")},parentElement:function(e){return b("Node",e,"parentElement")},textContent:function(e){return b("Node",e,"textContent")},contains:function(e,t){return k("Node",e,"contains")(t)},getRootNode:function(e){return k("Node",e,"getRootNode")()},host:function(e){return e&&"host"in e?b("ShadowRoot",e,"host"):null},styleSheets:function(e){return e.styleSheets},shadowRoot:function(e){return e&&"shadowRoot"in e?b("Element",e,"shadowRoot"):null},querySelector:function(e,t){return b("Element",e,"querySelector")(t)},querySelectorAll:function(e,t){return b("Element",e,"querySelectorAll")(t)},mutationObserver:function(){return v("MutationObserver").constructor},patch:function(e,t,s){try{if(!(t in e))return()=>{};const r=e[t],n=s(r);return"function"==typeof n&&(n.prototype=n.prototype||{},Object.defineProperties(n,{__rrweb_original__:{enumerable:!1,value:r}})),e[t]=n,()=>{e[t]=r}}catch{return()=>{}}}};function E(e){return e.nodeType===e.ELEMENT_NODE}function x(e){const t=e&&"host"in e&&"mode"in e&&I.host(e)||null;return Boolean(t&&"shadowRoot"in t&&I.shadowRoot(t)===e)}function T(e){return"[object ShadowRoot]"===Object.prototype.toString.call(e)}function O(e){try{const s=e.rules||e.cssRules;if(!s)return null;let r=e.href;!r&&e.ownerNode&&(r=e.ownerNode.baseURI);const n=Array.from(s,e=>M(e,r)).join("");return(t=n).includes(" background-clip: text;")&&!t.includes(" -webkit-background-clip: text;")&&(t=t.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),t}catch(e){return null}var t}function M(e,t){if(function(e){return"styleSheet"in e}(e)){let t;try{t=O(e.styleSheet)||function(e){const{cssText:t}=e;if(t.split('"').length<3)return t;const s=["@import",`url(${JSON.stringify(e.href)})`];return""===e.layerName?s.push("layer"):e.layerName&&s.push(`layer(${e.layerName})`),e.supportsText&&s.push(`supports(${e.supportsText})`),e.media.length&&s.push(e.media.mediaText),s.join(" ")+";"}(e)}catch(s){t=e.cssText}return e.styleSheet.href?$(t,e.styleSheet.href):t}{let s=e.cssText;return function(e){return"selectorText"in e}(e)&&e.selectorText.includes(":")&&(s=function(e){const t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}(s)),t?$(s,t):s}}class _{constructor(){m(this,"idNodeMap",new Map),m(this,"nodeMetaMap",new WeakMap)}getId(e){var t;if(!e)return-1;return(null==(t=this.getMeta(e))?void 0:t.id)??-1}getNode(e){return this.idNodeMap.get(e)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(e){return this.nodeMetaMap.get(e)||null}removeNodeFromMap(e){const t=this.getId(e);this.idNodeMap.delete(t),e.childNodes&&e.childNodes.forEach(e=>this.removeNodeFromMap(e))}has(e){return this.idNodeMap.has(e)}hasNode(e){return this.nodeMetaMap.has(e)}add(e,t){const s=t.id;this.idNodeMap.set(s,e),this.nodeMetaMap.set(e,t)}replace(e,t){const s=this.getNode(e);if(s){const e=this.nodeMetaMap.get(s);e&&this.nodeMetaMap.set(t,e)}this.idNodeMap.set(e,t)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function R({element:e,maskInputOptions:t,tagName:s,type:r,value:n,maskInputFn:i}){let o=n||"";const a=r&&A(r);return(t[s.toLowerCase()]||a&&t[a])&&(o=i?i(o,e):"*".repeat(o.length)),o}function A(e){return e.toLowerCase()}const D="__rrweb_original__";function P(e){const t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?A(t):null}function N(e,t){let s;try{s=new URL(e,t??window.location.href)}catch(e){return null}const r=s.pathname.match(/\.([0-9a-z]+)(?:$)/i);return(null==r?void 0:r[1])??null}const L=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,F=/^(?:[a-z+]+:)?\/\//i,U=/^www\..*/i,B=/^(data:)([^,]*),(.*)/i;function $(e,t){return(e||"").replace(L,(e,s,r,n,i,o)=>{const a=r||i||o,l=s||n||"";if(!a)return e;if(F.test(a)||U.test(a))return`url(${l}${a}${l})`;if(B.test(a))return`url(${l}${a}${l})`;if("/"===a[0])return`url(${l}${function(e){let t="";return t=e.indexOf("//")>-1?e.split("/").slice(0,3).join("/"):e.split("/")[0],t=t.split("?")[0],t}(t)+a}${l})`;const c=t.split("/"),h=a.split("/");c.pop();for(const e of h)"."!==e&&(".."===e?c.pop():c.push(e));return`url(${l}${c.join("/")}${l})`})}function z(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function j(e,t){return function(e,t,s=!1){const r=Array.from(t.childNodes),n=[];let i=0;if(r.length>1&&e&&"string"==typeof e){let t=z(e,s);const o=t.length/e.length;for(let a=1;a<r.length;a++)if(r[a].textContent&&"string"==typeof r[a].textContent){const l=z(r[a].textContent,s),c=100;let h=3;for(;h<l.length&&(l[h].match(/[a-zA-Z0-9]/)||-1!==l.indexOf(l.substring(0,h),1));h++);for(;h<l.length;h++){let u=l.substring(0,h),d=t.split(u),p=-1;if(2===d.length)p=d[0].length;else if(d.length>2&&""===d[0]&&""!==r[a-1].textContent)p=t.indexOf(u,1);else if(1===d.length){if(u=u.substring(0,u.length-1),d=t.split(u),d.length<=1)return n.push(e),n;h=c+1}else h===l.length-1&&(p=t.indexOf(u));if(d.length>=2&&h>c){const e=r[a-1].textContent;if(e&&"string"==typeof e){const s=z(e).length;p=t.indexOf(u,s)}-1===p&&(p=d[0].length)}if(-1!==p){let a=Math.floor(p/o);for(;a>0&&a<e.length;){if(i+=1,i>50*r.length)return n.push(e),n;const l=z(e.substring(0,a),s);if(l.length===p){n.push(e.substring(0,a)),e=e.substring(a),t=t.substring(p);break}l.length<p?a+=Math.max(1,Math.floor((p-l.length)/o)):a-=Math.max(1,Math.floor((l.length-p)*o))}break}}}}return n.push(e),n}(e,t).join("/* rr_split */")}let W=1;const K=new RegExp("[^a-z0-9-_:]");function V(){return W++}let G,H;const Y=/^[^ \t\n\r\u000c]+/,Z=/^[, \t\n\r\u000c]+/;const q=new WeakMap;function J(e,t){return t&&""!==t.trim()?Q(e,t):t}function X(e){return Boolean("svg"===e.tagName||e.ownerSVGElement)}function Q(e,t){let s=q.get(e);if(s||(s=e.createElement("a"),q.set(e,s)),t){if(t.startsWith("blob:")||t.startsWith("data:"))return t}else t="";return s.setAttribute("href",t),s.href}function ee(e,t,s,r){return r?"src"===s||"href"===s&&("use"!==t||"#"!==r[0])||"xlink:href"===s&&"#"!==r[0]||"background"===s&&["table","td","th"].includes(t)?J(e,r):"srcset"===s?function(e,t){if(""===t.trim())return t;let s=0;function r(e){let r;const n=e.exec(t.substring(s));return n?(r=n[0],s+=r.length,r):""}const n=[];for(;r(Z),!(s>=t.length);){let i=r(Y);if(","===i.slice(-1))i=J(e,i.substring(0,i.length-1)),n.push(i);else{let r="";i=J(e,i);let o=!1;for(;;){const e=t.charAt(s);if(""===e){n.push((i+r).trim());break}if(o)")"===e&&(o=!1);else{if(","===e){s+=1,n.push((i+r).trim());break}"("===e&&(o=!0)}r+=e,s+=1}}}return n.join(", ")}(e,r):"style"===s?$(r,Q(e)):"object"===t&&"data"===s?J(e,r):r:r}function te(e,t,s){return["video","audio"].includes(e)&&"autoplay"===t}function se(e,t,s){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return!!s&&se(I.parentNode(e),t,s);for(let s=e.classList.length;s--;){const r=e.classList[s];if(t.test(r))return!0}return!!s&&se(I.parentNode(e),t,s)}function re(e,t,s,r){let n;if(E(e)){if(n=e,!I.childNodes(n).length)return!1}else{if(null===I.parentElement(e))return!1;n=I.parentElement(e)}try{if("string"==typeof t){if(r){if(n.closest(`.${t}`))return!0}else if(n.classList.contains(t))return!0}else if(se(n,t,r))return!0;if(s)if(r){if(n.closest(s))return!0}else if(n.matches(s))return!0}catch(e){}return!1}function ne(e,t){const{doc:s,mirror:r,blockClass:n,blockSelector:i,needsMask:o,inlineStylesheet:a,maskInputOptions:l={},maskTextFn:c,maskInputFn:h,dataURLOptions:u={},inlineImages:d,recordCanvas:p,keepIframeSrcFn:m,newlyAddedElement:g=!1,cssCaptured:y=!1}=t,w=function(e,t){if(!t.hasNode(e))return;const s=t.getId(e);return 1===s?void 0:s}(s,r);switch(e.nodeType){case e.DOCUMENT_NODE:return"CSS1Compat"!==e.compatMode?{type:f.Document,childNodes:[],compatMode:e.compatMode}:{type:f.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:f.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:w};case e.ELEMENT_NODE:return function(e,t){const{doc:s,blockClass:r,blockSelector:n,inlineStylesheet:i,maskInputOptions:o={},maskInputFn:a,dataURLOptions:l={},inlineImages:c,recordCanvas:h,keepIframeSrcFn:u,newlyAddedElement:d=!1,rootId:p}=t,m=function(e,t,s){try{if("string"==typeof t){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){const r=e.classList[s];if(t.test(r))return!0}if(s)return e.matches(s)}catch(e){}return!1}(e,r,n),g=function(e){if(e instanceof HTMLFormElement)return"form";const t=A(e.tagName);return K.test(t)?"div":t}(e);let y={};const w=e.attributes.length;for(let t=0;t<w;t++){const r=e.attributes[t];te(g,r.name,r.value)||(y[r.name]=ee(s,g,A(r.name),r.value))}if("link"===g&&i){const t=Array.from(s.styleSheets).find(t=>t.href===e.href);let r=null;t&&(r=O(t)),r&&(delete y.rel,delete y.href,y._cssText=r)}if("style"===g&&e.sheet){let t=O(e.sheet);t&&(e.childNodes.length>1&&(t=j(t,e)),y._cssText=t)}if(["input","textarea","select"].includes(g)){const t=e.value,s=e.checked;"radio"!==y.type&&"checkbox"!==y.type&&"submit"!==y.type&&"button"!==y.type&&t?y.value=R({element:e,type:P(e),tagName:g,value:t,maskInputOptions:o,maskInputFn:a}):s&&(y.checked=s)}"option"===g&&(e.selected&&!o.select?y.selected=!0:delete y.selected);"dialog"===g&&e.open&&(y.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal");if("canvas"===g&&h)if("2d"===e.__context)(function(e){const t=e.getContext("2d");if(!t)return!0;for(let s=0;s<e.width;s+=50)for(let r=0;r<e.height;r+=50){const n=t.getImageData,i=D in n?n[D]:n;if(new Uint32Array(i.call(t,s,r,Math.min(50,e.width-s),Math.min(50,e.height-r)).data.buffer).some(e=>0!==e))return!1}return!0})(e)||(y.rr_dataURL=e.toDataURL(l.type,l.quality));else if(!("__context"in e)){const t=e.toDataURL(l.type,l.quality),r=s.createElement("canvas");r.width=e.width,r.height=e.height;t!==r.toDataURL(l.type,l.quality)&&(y.rr_dataURL=t)}if("img"===g&&c){G||(G=s.createElement("canvas"),H=G.getContext("2d"));const t=e,r=t.currentSrc||t.getAttribute("src")||"<unknown-src>",n=t.crossOrigin,i=()=>{t.removeEventListener("load",i);try{G.width=t.naturalWidth,G.height=t.naturalHeight,H.drawImage(t,0,0),y.rr_dataURL=G.toDataURL(l.type,l.quality)}catch(e){if("anonymous"!==t.crossOrigin)return t.crossOrigin="anonymous",void(t.complete&&0!==t.naturalWidth?i():t.addEventListener("load",i));console.warn(`Cannot inline img src=${r}! Error: ${e}`)}"anonymous"===t.crossOrigin&&(n?y.crossOrigin=n:t.removeAttribute("crossorigin"))};t.complete&&0!==t.naturalWidth?i():t.addEventListener("load",i)}if(["audio","video"].includes(g)){const t=y;t.rr_mediaState=e.paused?"paused":"played",t.rr_mediaCurrentTime=e.currentTime,t.rr_mediaPlaybackRate=e.playbackRate,t.rr_mediaMuted=e.muted,t.rr_mediaLoop=e.loop,t.rr_mediaVolume=e.volume}d||(e.scrollLeft&&(y.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(y.rr_scrollTop=e.scrollTop));if(m){const{width:t,height:s}=e.getBoundingClientRect();y={class:y.class,rr_width:`${t}px`,rr_height:`${s}px`}}"iframe"!==g||u(y.src)||(e.contentDocument||(y.rr_src=y.src),delete y.src);let v;try{customElements.get(g)&&(v=!0)}catch(e){}return{type:f.Element,tagName:g,attributes:y,childNodes:[],isSVG:X(e)||void 0,needBlock:m,rootId:p,isCustom:v}}(e,{doc:s,blockClass:n,blockSelector:i,inlineStylesheet:a,maskInputOptions:l,maskInputFn:h,dataURLOptions:u,inlineImages:d,recordCanvas:p,keepIframeSrcFn:m,newlyAddedElement:g,rootId:w});case e.TEXT_NODE:return function(e,t){const{needsMask:s,maskTextFn:r,rootId:n,cssCaptured:i}=t,o=I.parentNode(e),a=o&&o.tagName;let l="";const c="STYLE"===a||void 0,h="SCRIPT"===a||void 0;h?l="SCRIPT_PLACEHOLDER":i||(l=I.textContent(e),c&&l&&(l=$(l,Q(t.doc))));!c&&!h&&l&&s&&(l=r?r(l,I.parentElement(e)):l.replace(/[\S]/g,"*"));return{type:f.Text,textContent:l||"",rootId:n}}(e,{doc:s,needsMask:o,maskTextFn:c,rootId:w,cssCaptured:y});case e.CDATA_SECTION_NODE:return{type:f.CDATA,textContent:"",rootId:w};case e.COMMENT_NODE:return{type:f.Comment,textContent:I.textContent(e)||"",rootId:w};default:return!1}}function ie(e){return null==e?"":e.toLowerCase()}function oe(e){return!0===e||"all"===e?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:"all"===e,headMetaDescKeywords:"all"===e,headTitleMutations:"all"===e}:e||{}}function ae(e,t){const{doc:s,mirror:r,blockClass:n,blockSelector:i,maskTextClass:o,maskTextSelector:a,skipChild:l=!1,inlineStylesheet:c=!0,maskInputOptions:h={},maskTextFn:u,maskInputFn:d,slimDOMOptions:p,dataURLOptions:m={},inlineImages:g=!1,recordCanvas:y=!1,onSerialize:w,onIframeLoad:v,iframeLoadTimeout:S=5e3,onStylesheetLoad:b,stylesheetLoadTimeout:C=5e3,keepIframeSrcFn:k=()=>!1,newlyAddedElement:O=!1,cssCaptured:M=!1}=t;let{needsMask:_}=t,{preserveWhiteSpace:R=!0}=t;if(!_){_=re(e,o,a,void 0===_)}const A=ne(e,{doc:s,mirror:r,blockClass:n,blockSelector:i,needsMask:_,inlineStylesheet:c,maskInputOptions:h,maskTextFn:u,maskInputFn:d,dataURLOptions:m,inlineImages:g,recordCanvas:y,keepIframeSrcFn:k,newlyAddedElement:O,cssCaptured:M});if(!A)return console.warn(e,"not serialized"),null;let D;D=r.hasNode(e)?r.getId(e):function(e,t){if(t.comment&&e.type===f.Comment)return!0;if(e.type===f.Element){if(t.script&&("script"===e.tagName||"link"===e.tagName&&("preload"===e.attributes.rel&&"script"===e.attributes.as||"modulepreload"===e.attributes.rel)||"link"===e.tagName&&"prefetch"===e.attributes.rel&&"string"==typeof e.attributes.href&&"js"===N(e.attributes.href)))return!0;if(t.headFavicon&&("link"===e.tagName&&"shortcut icon"===e.attributes.rel||"meta"===e.tagName&&(ie(e.attributes.name).match(/^msapplication-tile(image|color)$/)||"application-name"===ie(e.attributes.name)||"icon"===ie(e.attributes.rel)||"apple-touch-icon"===ie(e.attributes.rel)||"shortcut icon"===ie(e.attributes.rel))))return!0;if("meta"===e.tagName){if(t.headMetaDescKeywords&&ie(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(ie(e.attributes.property).match(/^(og|twitter|fb):/)||ie(e.attributes.name).match(/^(og|twitter):/)||"pinterest"===ie(e.attributes.name)))return!0;if(t.headMetaRobots&&("robots"===ie(e.attributes.name)||"googlebot"===ie(e.attributes.name)||"bingbot"===ie(e.attributes.name)))return!0;if(t.headMetaHttpEquiv&&void 0!==e.attributes["http-equiv"])return!0;if(t.headMetaAuthorship&&("author"===ie(e.attributes.name)||"generator"===ie(e.attributes.name)||"framework"===ie(e.attributes.name)||"publisher"===ie(e.attributes.name)||"progid"===ie(e.attributes.name)||ie(e.attributes.property).match(/^article:/)||ie(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&("google-site-verification"===ie(e.attributes.name)||"yandex-verification"===ie(e.attributes.name)||"csrf-token"===ie(e.attributes.name)||"p:domain_verify"===ie(e.attributes.name)||"verify-v1"===ie(e.attributes.name)||"verification"===ie(e.attributes.name)||"shopify-checkout-api-token"===ie(e.attributes.name)))return!0}}return!1}(A,p)||!R&&A.type===f.Text&&!A.textContent.replace(/^\s+|\s+$/gm,"").length?-2:V();const P=Object.assign(A,{id:D});if(r.add(e,P),-2===D)return null;w&&w(e);let L=!l;if(P.type===f.Element){L=L&&!P.needBlock,delete P.needBlock;const t=I.shadowRoot(e);t&&T(t)&&(P.isShadowHost=!0)}if((P.type===f.Document||P.type===f.Element)&&L){p.headWhitespace&&P.type===f.Element&&"head"===P.tagName&&(R=!1);const t={doc:s,mirror:r,blockClass:n,blockSelector:i,needsMask:_,maskTextClass:o,maskTextSelector:a,skipChild:l,inlineStylesheet:c,maskInputOptions:h,maskTextFn:u,maskInputFn:d,slimDOMOptions:p,dataURLOptions:m,inlineImages:g,recordCanvas:y,preserveWhiteSpace:R,onSerialize:w,onIframeLoad:v,iframeLoadTimeout:S,onStylesheetLoad:b,stylesheetLoadTimeout:C,keepIframeSrcFn:k,cssCaptured:!1};if(P.type===f.Element&&"textarea"===P.tagName&&void 0!==P.attributes.value);else{P.type===f.Element&&void 0!==P.attributes._cssText&&"string"==typeof P.attributes._cssText&&(t.cssCaptured=!0);for(const s of Array.from(I.childNodes(e))){const e=ae(s,t);e&&P.childNodes.push(e)}}let x=null;if(E(e)&&(x=I.shadowRoot(e)))for(const e of Array.from(I.childNodes(x))){const s=ae(e,t);s&&(T(x)&&(s.isShadow=!0),P.childNodes.push(s))}}const F=I.parentNode(e);return F&&x(F)&&T(F)&&(P.isShadow=!0),P.type===f.Element&&"iframe"===P.tagName&&function(e,t,s){const r=e.contentWindow;if(!r)return;let n,i=!1;try{n=r.document.readyState}catch(e){return}if("complete"!==n){const r=setTimeout(()=>{i||(t(),i=!0)},s);return void e.addEventListener("load",()=>{clearTimeout(r),i=!0,t()})}const o="about:blank";if(r.location.href!==o||e.src===o||""===e.src)return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}(e,()=>{const t=e.contentDocument;if(t&&v){const s=ae(t,{doc:t,mirror:r,blockClass:n,blockSelector:i,needsMask:_,maskTextClass:o,maskTextSelector:a,skipChild:!1,inlineStylesheet:c,maskInputOptions:h,maskTextFn:u,maskInputFn:d,slimDOMOptions:p,dataURLOptions:m,inlineImages:g,recordCanvas:y,preserveWhiteSpace:R,onSerialize:w,onIframeLoad:v,iframeLoadTimeout:S,onStylesheetLoad:b,stylesheetLoadTimeout:C,keepIframeSrcFn:k});s&&v(e,s)}},S),P.type===f.Element&&"link"===P.tagName&&"string"==typeof P.attributes.rel&&("stylesheet"===P.attributes.rel||"preload"===P.attributes.rel&&"string"==typeof P.attributes.href&&"css"===N(P.attributes.href))&&function(e,t,s){let r,n=!1;try{r=e.sheet}catch(e){return}if(r)return;const i=setTimeout(()=>{n||(t(),n=!0)},s);e.addEventListener("load",()=>{clearTimeout(i),n=!0,t()})}(e,()=>{if(b){const t=ae(e,{doc:s,mirror:r,blockClass:n,blockSelector:i,needsMask:_,maskTextClass:o,maskTextSelector:a,skipChild:!1,inlineStylesheet:c,maskInputOptions:h,maskTextFn:u,maskInputFn:d,slimDOMOptions:p,dataURLOptions:m,inlineImages:g,recordCanvas:y,preserveWhiteSpace:R,onSerialize:w,onIframeLoad:v,iframeLoadTimeout:S,onStylesheetLoad:b,stylesheetLoadTimeout:C,keepIframeSrcFn:k});t&&b(e,t)}},C),P}function le(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ce(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var s=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(s,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}),s}var he={exports:{}},ue=String,de=function(){return{isColorSupported:!1,reset:ue,bold:ue,dim:ue,italic:ue,underline:ue,inverse:ue,hidden:ue,strikethrough:ue,black:ue,red:ue,green:ue,yellow:ue,blue:ue,magenta:ue,cyan:ue,white:ue,gray:ue,bgBlack:ue,bgRed:ue,bgGreen:ue,bgYellow:ue,bgBlue:ue,bgMagenta:ue,bgCyan:ue,bgWhite:ue}};he.exports=de(),he.exports.createColors=de;var pe=he.exports;const me=ce(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));let fe=pe,ge=me,ye=class e extends Error{constructor(t,s,r,n,i,o){super(t),this.name="CssSyntaxError",this.reason=t,i&&(this.file=i),n&&(this.source=n),o&&(this.plugin=o),void 0!==s&&void 0!==r&&("number"==typeof s?(this.line=s,this.column=r):(this.line=s.line,this.column=s.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;null==e&&(e=fe.isColorSupported),ge&&e&&(t=ge(t));let s,r,n=t.split(/\r?\n/),i=Math.max(this.line-3,0),o=Math.min(this.line+2,n.length),a=String(o).length;if(e){let{bold:e,gray:t,red:n}=fe.createColors(!0);s=t=>e(n(t)),r=e=>t(e)}else s=r=e=>e;return n.slice(i,o).map((e,t)=>{let n=i+1+t,o=" "+(" "+n).slice(-a)+" | ";if(n===this.line){let t=r(o.replace(/\d/g," "))+e.slice(0,this.column-1).replace(/[^\t]/g," ");return s(">")+r(o)+e+"\n "+t+s("^")}return" "+r(o)+e}).join("\n")}toString(){let e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e}};var we=ye;ye.default=ye;var ve={};ve.isClean=Symbol("isClean"),ve.my=Symbol("my");const Se={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};let be=class{constructor(e){this.builder=e}atrule(e,t){let s="@"+e.name,r=e.params?this.rawValue(e,"params"):"";if(void 0!==e.raws.afterName?s+=e.raws.afterName:r&&(s+=" "),e.nodes)this.block(e,s+r);else{let n=(e.raws.between||"")+(t?";":"");this.builder(s+r+n,e)}}beforeAfter(e,t){let s;s="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");let r=e.parent,n=0;for(;r&&"root"!==r.type;)n+=1,r=r.parent;if(s.includes("\n")){let t=this.raw(e,null,"indent");if(t.length)for(let e=0;e<n;e++)s+=t}return s}block(e,t){let s,r=this.raw(e,"between","beforeOpen");this.builder(t+r+"{",e,"start"),e.nodes&&e.nodes.length?(this.body(e),s=this.raw(e,"after")):s=this.raw(e,"after","emptyBody"),s&&this.builder(s),this.builder("}",e,"end")}body(e){let t=e.nodes.length-1;for(;t>0&&"comment"===e.nodes[t].type;)t-=1;let s=this.raw(e,"semicolon");for(let r=0;r<e.nodes.length;r++){let n=e.nodes[r],i=this.raw(n,"before");i&&this.builder(i),this.stringify(n,t!==r||s)}}comment(e){let t=this.raw(e,"left","commentLeft"),s=this.raw(e,"right","commentRight");this.builder("/*"+t+e.text+s+"*/",e)}decl(e,t){let s=this.raw(e,"between","colon"),r=e.prop+s+this.rawValue(e,"value");e.important&&(r+=e.raws.important||" !important"),t&&(r+=";"),this.builder(r,e)}document(e){this.body(e)}raw(e,t,s){let r;if(s||(s=t),t&&(r=e.raws[t],void 0!==r))return r;let n=e.parent;if("before"===s){if(!n||"root"===n.type&&n.first===e)return"";if(n&&"document"===n.type)return""}if(!n)return Se[s];let i=e.root();if(i.rawCache||(i.rawCache={}),void 0!==i.rawCache[s])return i.rawCache[s];if("before"===s||"after"===s)return this.beforeAfter(e,s);{let n="raw"+((o=s)[0].toUpperCase()+o.slice(1));this[n]?r=this[n](i,e):i.walk(e=>{if(r=e.raws[t],void 0!==r)return!1})}var o;return void 0===r&&(r=Se[s]),i.rawCache[s]=r,r}rawBeforeClose(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length>0&&void 0!==e.raws.after)return t=e.raws.after,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeComment(e,t){let s;return e.walkComments(e=>{if(void 0!==e.raws.before)return s=e.raws.before,s.includes("\n")&&(s=s.replace(/[^\n]+$/,"")),!1}),void 0===s?s=this.raw(t,null,"beforeDecl"):s&&(s=s.replace(/\S/g,"")),s}rawBeforeDecl(e,t){let s;return e.walkDecls(e=>{if(void 0!==e.raws.before)return s=e.raws.before,s.includes("\n")&&(s=s.replace(/[^\n]+$/,"")),!1}),void 0===s?s=this.raw(t,null,"beforeRule"):s&&(s=s.replace(/\S/g,"")),s}rawBeforeOpen(e){let t;return e.walk(e=>{if("decl"!==e.type&&(t=e.raws.between,void 0!==t))return!1}),t}rawBeforeRule(e){let t;return e.walk(s=>{if(s.nodes&&(s.parent!==e||e.first!==s)&&void 0!==s.raws.before)return t=s.raws.before,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawColon(e){let t;return e.walkDecls(e=>{if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\s:]/g,""),!1}),t}rawEmptyBody(e){let t;return e.walk(e=>{if(e.nodes&&0===e.nodes.length&&(t=e.raws.after,void 0!==t))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(s=>{let r=s.parent;if(r&&r!==e&&r.parent&&r.parent===e&&void 0!==s.raws.before){let e=s.raws.before.split("\n");return t=e[e.length-1],t=t.replace(/\S/g,""),!1}}),t}rawSemicolon(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length&&"decl"===e.last.type&&(t=e.raws.semicolon,void 0!==t))return!1}),t}rawValue(e,t){let s=e[t],r=e.raws[t];return r&&r.value===s?r.raw:s}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}};var Ce=be;be.default=be;let ke=Ce;function Ie(e,t){new ke(t).stringify(e)}var Ee=Ie;Ie.default=Ie;let{isClean:xe,my:Te}=ve,Oe=we,Me=Ce,_e=Ee;function Re(e,t){let s=new e.constructor;for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;if("proxyCache"===r)continue;let n=e[r],i=typeof n;"parent"===r&&"object"===i?t&&(s[r]=t):"source"===r?s[r]=n:Array.isArray(n)?s[r]=n.map(e=>Re(e,s)):("object"===i&&null!==n&&(n=Re(n)),s[r]=n)}return s}let Ae=class{constructor(e={}){this.raws={},this[xe]=!1,this[Te]=!0;for(let t in e)if("nodes"===t){this.nodes=[];for(let s of e[t])"function"==typeof s.clone?this.append(s.clone()):this.append(s)}else this[t]=e[t]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\n\s{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/\n\s{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let t in e)this[t]=e[t];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let t=Re(this);for(let s in e)t[s]=e[s];return t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}error(e,t={}){if(this.source){let{end:s,start:r}=this.rangeBy(t);return this.source.input.error(e,{column:r.column,line:r.line},{column:s.column,line:s.line},t)}return new Oe(e)}getProxyProcessor(){return{get:(e,t)=>"proxyOf"===t?e:"root"===t?()=>e.root().toProxy():e[t],set:(e,t,s)=>(e[t]===s||(e[t]=s,"prop"!==t&&"value"!==t&&"name"!==t&&"params"!==t&&"important"!==t&&"text"!==t||e.markDirty()),!0)}}markDirty(){if(this[xe]){this[xe]=!1;let e=this;for(;e=e.parent;)e[xe]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e,t){let s=this.source.start;if(e.index)s=this.positionInside(e.index,t);else if(e.word){let r=(t=this.toString()).indexOf(e.word);-1!==r&&(s=this.positionInside(r,t))}return s}positionInside(e,t){let s=t||this.toString(),r=this.source.start.column,n=this.source.start.line;for(let t=0;t<e;t++)"\n"===s[t]?(r=1,n+=1):r+=1;return{column:r,line:n}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e){let t={column:this.source.start.column,line:this.source.start.line},s=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:t.column+1,line:t.line};if(e.word){let r=this.toString(),n=r.indexOf(e.word);-1!==n&&(t=this.positionInside(n,r),s=this.positionInside(n+e.word.length,r))}else e.start?t={column:e.start.column,line:e.start.line}:e.index&&(t=this.positionInside(e.index)),e.end?s={column:e.end.column,line:e.end.line}:"number"==typeof e.endIndex?s=this.positionInside(e.endIndex):e.index&&(s=this.positionInside(e.index+1));return(s.line<t.line||s.line===t.line&&s.column<=t.column)&&(s={column:t.column+1,line:t.line}),{end:s,start:t}}raw(e,t){return(new Me).raw(this,e,t)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let t=this,s=!1;for(let r of e)r===this?s=!0:s?(this.parent.insertAfter(t,r),t=r):this.parent.insertBefore(t,r);s||this.remove()}return this}root(){let e=this;for(;e.parent&&"document"!==e.parent.type;)e=e.parent;return e}toJSON(e,t){let s={},r=null==t;t=t||new Map;let n=0;for(let e in this){if(!Object.prototype.hasOwnProperty.call(this,e))continue;if("parent"===e||"proxyCache"===e)continue;let r=this[e];if(Array.isArray(r))s[e]=r.map(e=>"object"==typeof e&&e.toJSON?e.toJSON(null,t):e);else if("object"==typeof r&&r.toJSON)s[e]=r.toJSON(null,t);else if("source"===e){let i=t.get(r.input);null==i&&(i=n,t.set(r.input,n),n++),s[e]={end:r.end,inputId:i,start:r.start}}else s[e]=r}return r&&(s.inputs=[...t.keys()].map(e=>e.toJSON())),s}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=_e){e.stringify&&(e=e.stringify);let t="";return e(this,e=>{t+=e}),t}warn(e,t,s){let r={node:this};for(let e in s)r[e]=s[e];return e.warn(t,r)}get proxyOf(){return this}};var De=Ae;Ae.default=Ae;let Pe=De,Ne=class extends Pe{constructor(e){e&&void 0!==e.value&&"string"!=typeof e.value&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}};var Le=Ne;Ne.default=Ne;var Fe={nanoid:(e=21)=>{let t="",s=e;for(;s--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t}};let{SourceMapConsumer:Ue,SourceMapGenerator:Be}=me,{existsSync:$e,readFileSync:ze}=me,{dirname:je,join:We}=me;let Ke=class{constructor(e,t){if(!1===t.map)return;this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let s=t.map?t.map.prev:void 0,r=this.loadMap(t.from,s);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=je(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new Ue(this.text)),this.consumerCache}decodeInline(e){if(/^data:application\/json;charset=utf-?8,/.test(e)||/^data:application\/json,/.test(e))return decodeURIComponent(e.substr(RegExp.lastMatch.length));if(/^data:application\/json;charset=utf-?8;base64,/.test(e)||/^data:application\/json;base64,/.test(e))return t=e.substr(RegExp.lastMatch.length),Buffer?Buffer.from(t,"base64").toString():window.atob(t);var t;let s=e.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+s)}getAnnotationURL(e){return e.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(e){return"object"==typeof e&&("string"==typeof e.mappings||"string"==typeof e._mappings||Array.isArray(e.sections))}loadAnnotation(e){let t=e.match(/\/\*\s*# sourceMappingURL=/gm);if(!t)return;let s=e.lastIndexOf(t.pop()),r=e.indexOf("*/",s);s>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(s,r)))}loadFile(e){if(this.root=je(e),$e(e))return this.mapFile=e,ze(e,"utf-8").toString().trim()}loadMap(e,t){if(!1===t)return!1;if(t){if("string"==typeof t)return t;if("function"!=typeof t){if(t instanceof Ue)return Be.fromSourceMap(t).toString();if(t instanceof Be)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}{let s=t(e);if(s){let e=this.loadFile(s);if(!e)throw new Error("Unable to load previous source map: "+s.toString());return e}}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let t=this.annotation;return e&&(t=We(je(e),t)),this.loadFile(t)}}}startWith(e,t){return!!e&&e.substr(0,t.length)===t}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};var Ve=Ke;Ke.default=Ke;let{SourceMapConsumer:Ge,SourceMapGenerator:He}=me,{fileURLToPath:Ye,pathToFileURL:Ze}=me,{isAbsolute:qe,resolve:Je}=me,{nanoid:Xe}=Fe,Qe=me,et=we,tt=Ve,st=Symbol("fromOffsetCache"),rt=Boolean(Ge&&He),nt=Boolean(Je&&qe),it=class{constructor(e,t={}){if(null==e||"object"==typeof e&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),"\ufeff"===this.css[0]||"οΏΎ"===this.css[0]?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!nt||/^\w+:\/\//.test(t.from)||qe(t.from)?this.file=t.from:this.file=Je(t.from)),nt&&rt){let e=new tt(this.css,t);if(e.text){this.map=e;let t=e.consumer().file;!this.file&&t&&(this.file=this.mapResolve(t))}}this.file||(this.id="<input css "+Xe(6)+">"),this.map&&(this.map.file=this.from)}error(e,t,s,r={}){let n,i,o;if(t&&"object"==typeof t){let e=t,r=s;if("number"==typeof e.offset){let r=this.fromOffset(e.offset);t=r.line,s=r.col}else t=e.line,s=e.column;if("number"==typeof r.offset){let e=this.fromOffset(r.offset);i=e.line,o=e.col}else i=r.line,o=r.column}else if(!s){let e=this.fromOffset(t);t=e.line,s=e.col}let a=this.origin(t,s,i,o);return n=a?new et(e,void 0===a.endLine?a.line:{column:a.column,line:a.line},void 0===a.endLine?a.column:{column:a.endColumn,line:a.endLine},a.source,a.file,r.plugin):new et(e,void 0===i?t:{column:s,line:t},void 0===i?s:{column:o,line:i},this.css,this.file,r.plugin),n.input={column:s,endColumn:o,endLine:i,line:t,source:this.css},this.file&&(Ze&&(n.input.url=Ze(this.file).toString()),n.input.file=this.file),n}fromOffset(e){let t,s;if(this[st])s=this[st];else{let e=this.css.split("\n");s=new Array(e.length);let t=0;for(let r=0,n=e.length;r<n;r++)s[r]=t,t+=e[r].length+1;this[st]=s}t=s[s.length-1];let r=0;if(e>=t)r=s.length-1;else{let t,n=s.length-2;for(;r<n;)if(t=r+(n-r>>1),e<s[t])n=t-1;else{if(!(e>=s[t+1])){r=t;break}r=t+1}}return{col:e-s[r]+1,line:r+1}}mapResolve(e){return/^\w+:\/\//.test(e)?e:Je(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,t,s,r){if(!this.map)return!1;let n,i,o=this.map.consumer(),a=o.originalPositionFor({column:t,line:e});if(!a.source)return!1;"number"==typeof s&&(n=o.originalPositionFor({column:r,line:s})),i=qe(a.source)?Ze(a.source):new URL(a.source,this.map.consumer().sourceRoot||Ze(this.map.mapFile));let l={column:a.column,endColumn:n&&n.column,endLine:n&&n.line,line:a.line,url:i.toString()};if("file:"===i.protocol){if(!Ye)throw new Error("file: protocol is not available in this PostCSS build");l.file=Ye(i)}let c=o.sourceContentFor(a.source);return c&&(l.source=c),l}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}get from(){return this.file||this.id}};var ot=it;it.default=it,Qe&&Qe.registerInput&&Qe.registerInput(it);let{SourceMapConsumer:at,SourceMapGenerator:lt}=me,{dirname:ct,relative:ht,resolve:ut,sep:dt}=me,{pathToFileURL:pt}=me,mt=ot,ft=Boolean(at&<),gt=Boolean(ct&&ut&&ht&&dt);var yt=class{constructor(e,t,s,r){this.stringify=e,this.mapOpts=s.map||{},this.root=t,this.opts=s,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:"function"==typeof this.mapOpts.annotation?this.mapOpts.annotation(this.opts.to,this.root):this.outputFile()+".map";let t="\n";this.css.includes("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let t,s=this.toUrl(this.path(e.file)),r=e.root||ct(e.file);!1===this.mapOpts.sourcesContent?(t=new at(e.text),t.sourcesContent&&(t.sourcesContent=null)):t=e.consumer(),this.map.applySourceMap(t,s,this.toUrl(this.path(r)))}}clearAnnotation(){if(!1!==this.mapOpts.annotation)if(this.root){let e;for(let t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],"comment"===e.type&&0===e.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(t)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),gt&&ft&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,t=>{e+=t}),[e]}}generateMap(){if(this.root)this.generateString();else if(1===this.previous().length){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=lt.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new lt({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new lt({file:this.outputFile(),ignoreInvalidMapping:!0});let e,t,s=1,r=1,n="<no source>",i={generated:{column:0,line:0},original:{column:0,line:0},source:""};this.stringify(this.root,(o,a,l)=>{if(this.css+=o,a&&"end"!==l&&(i.generated.line=s,i.generated.column=r-1,a.source&&a.source.start?(i.source=this.sourcePath(a),i.original.line=a.source.start.line,i.original.column=a.source.start.column-1,this.map.addMapping(i)):(i.source=n,i.original.line=1,i.original.column=0,this.map.addMapping(i))),e=o.match(/\n/g),e?(s+=e.length,t=o.lastIndexOf("\n"),r=o.length-t):r+=o.length,a&&"start"!==l){let e=a.parent||{raws:{}};("decl"===a.type||"atrule"===a.type&&!a.nodes)&&a===e.last&&!e.raws.semicolon||(a.source&&a.source.end?(i.source=this.sourcePath(a),i.original.line=a.source.end.line,i.original.column=a.source.end.column-1,i.generated.line=s,i.generated.column=r-2,this.map.addMapping(i)):(i.source=n,i.original.line=1,i.original.column=0,i.generated.line=s,i.generated.column=r-1,this.map.addMapping(i)))}})}isAnnotation(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some(e=>e.annotation))}isInline(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;let e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some(e=>e.inline))}isMap(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0}isSourcesContent(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(e=>e.withContent())}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute)return e;if(60===e.charCodeAt(0))return e;if(/^\w+:\/\//.test(e))return e;let t=this.memoizedPaths.get(e);if(t)return t;let s=this.opts.to?ct(this.opts.to):".";"string"==typeof this.mapOpts.annotation&&(s=ct(ut(s,this.mapOpts.annotation)));let r=ht(s,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}});else{let e=new mt(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(t=>{if(t.source){let s=t.source.input.from;if(s&&!e[s]){e[s]=!0;let r=this.usesFileUrls?this.toFileUrl(s):this.toUrl(this.path(s));this.map.setSourceContent(r,t.source.input.css)}}});else if(this.css){let e=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(e,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let t=this.memoizedFileURLs.get(e);if(t)return t;if(pt){let t=pt(e).toString();return this.memoizedFileURLs.set(e,t),t}throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let t=this.memoizedURLs.get(e);if(t)return t;"\\"===dt&&(e=e.replace(/\\/g,"/"));let s=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,s),s}};let wt=De,vt=class extends wt{constructor(e){super(e),this.type="comment"}};var St=vt;vt.default=vt;let bt,Ct,kt,It,{isClean:Et,my:xt}=ve,Tt=Le,Ot=St,Mt=De;function _t(e){return e.map(e=>(e.nodes&&(e.nodes=_t(e.nodes)),delete e.source,e))}function Rt(e){if(e[Et]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)Rt(t)}let At=class e extends Mt{append(...e){for(let t of e){let e=this.normalize(t,this.last);for(let t of e)this.proxyOf.nodes.push(t)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let t,s,r=this.getIterator();for(;this.indexes[r]<this.proxyOf.nodes.length&&(t=this.indexes[r],s=e(this.proxyOf.nodes[t],t),!1!==s);)this.indexes[r]+=1;return delete this.indexes[r],s}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get:(e,t)=>"proxyOf"===t?e:e[t]?"each"===t||"string"==typeof t&&t.startsWith("walk")?(...s)=>e[t](...s.map(e=>"function"==typeof e?(t,s)=>e(t.toProxy(),s):e)):"every"===t||"some"===t?s=>e[t]((e,...t)=>s(e.toProxy(),...t)):"root"===t?()=>e.root().toProxy():"nodes"===t?e.nodes.map(e=>e.toProxy()):"first"===t||"last"===t?e[t].toProxy():e[t]:e[t],set:(e,t,s)=>(e[t]===s||(e[t]=s,"name"!==t&&"params"!==t&&"selector"!==t||e.markDirty()),!0)}}index(e){return"number"==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,t){let s,r=this.index(e),n=this.normalize(t,this.proxyOf.nodes[r]).reverse();r=this.index(e);for(let e of n)this.proxyOf.nodes.splice(r+1,0,e);for(let e in this.indexes)s=this.indexes[e],r<s&&(this.indexes[e]=s+n.length);return this.markDirty(),this}insertBefore(e,t){let s,r=this.index(e),n=0===r&&"prepend",i=this.normalize(t,this.proxyOf.nodes[r],n).reverse();r=this.index(e);for(let e of i)this.proxyOf.nodes.splice(r,0,e);for(let e in this.indexes)s=this.indexes[e],r<=s&&(this.indexes[e]=s+i.length);return this.markDirty(),this}normalize(t,s){if("string"==typeof t)t=_t(bt(t).nodes);else if(void 0===t)t=[];else if(Array.isArray(t)){t=t.slice(0);for(let e of t)e.parent&&e.parent.removeChild(e,"ignore")}else if("root"===t.type&&"document"!==this.type){t=t.nodes.slice(0);for(let e of t)e.parent&&e.parent.removeChild(e,"ignore")}else if(t.type)t=[t];else if(t.prop){if(void 0===t.value)throw new Error("Value field is missed in node creation");"string"!=typeof t.value&&(t.value=String(t.value)),t=[new Tt(t)]}else if(t.selector)t=[new Ct(t)];else if(t.name)t=[new kt(t)];else{if(!t.text)throw new Error("Unknown node type in node creation");t=[new Ot(t)]}return t.map(t=>(t[xt]||e.rebuild(t),(t=t.proxyOf).parent&&t.parent.removeChild(t),t[Et]&&Rt(t),void 0===t.raws.before&&s&&void 0!==s.raws.before&&(t.raws.before=s.raws.before.replace(/\S/g,"")),t.parent=this.proxyOf,t))}prepend(...e){e=e.reverse();for(let t of e){let e=this.normalize(t,this.first,"prepend").reverse();for(let t of e)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+e.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){let t;e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);for(let s in this.indexes)t=this.indexes[s],t>=e&&(this.indexes[s]=t-1);return this.markDirty(),this}replaceValues(e,t,s){return s||(s=t,t={}),this.walkDecls(r=>{t.props&&!t.props.includes(r.prop)||t.fast&&!r.value.includes(t.fast)||(r.value=r.value.replace(e,s))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((t,s)=>{let r;try{r=e(t,s)}catch(e){throw t.addToError(e)}return!1!==r&&t.walk&&(r=t.walk(e)),r})}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("atrule"===s.type&&e.test(s.name))return t(s,r)}):this.walk((s,r)=>{if("atrule"===s.type&&s.name===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("atrule"===e.type)return t(e,s)}))}walkComments(e){return this.walk((t,s)=>{if("comment"===t.type)return e(t,s)})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("decl"===s.type&&e.test(s.prop))return t(s,r)}):this.walk((s,r)=>{if("decl"===s.type&&s.prop===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("decl"===e.type)return t(e,s)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("rule"===s.type&&e.test(s.selector))return t(s,r)}):this.walk((s,r)=>{if("rule"===s.type&&s.selector===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("rule"===e.type)return t(e,s)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}};At.registerParse=e=>{bt=e},At.registerRule=e=>{Ct=e},At.registerAtRule=e=>{kt=e},At.registerRoot=e=>{It=e};var Dt=At;At.default=At,At.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,kt.prototype):"rule"===e.type?Object.setPrototypeOf(e,Ct.prototype):"decl"===e.type?Object.setPrototypeOf(e,Tt.prototype):"comment"===e.type?Object.setPrototypeOf(e,Ot.prototype):"root"===e.type&&Object.setPrototypeOf(e,It.prototype),e[xt]=!0,e.nodes&&e.nodes.forEach(e=>{At.rebuild(e)})};let Pt,Nt,Lt=Dt,Ft=class extends Lt{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new Pt(new Nt,this,e).stringify()}};Ft.registerLazyResult=e=>{Pt=e},Ft.registerProcessor=e=>{Nt=e};var Ut=Ft;Ft.default=Ft;let Bt={};var $t=function(e){Bt[e]||(Bt[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))};let zt=class{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let e=t.node.rangeBy(t);this.line=e.start.line,this.column=e.start.column,this.endLine=e.end.line,this.endColumn=e.end.column}for(let e in t)this[e]=t[e]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};var jt=zt;zt.default=zt;let Wt=jt,Kt=class{constructor(e,t,s){this.processor=e,this.messages=[],this.root=t,this.opts=s,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let s=new Wt(e,t);return this.messages.push(s),s}warnings(){return this.messages.filter(e=>"warning"===e.type)}get content(){return this.css}};var Vt=Kt;Kt.default=Kt;const Gt="'".charCodeAt(0),Ht='"'.charCodeAt(0),Yt="\\".charCodeAt(0),Zt="/".charCodeAt(0),qt="\n".charCodeAt(0),Jt=" ".charCodeAt(0),Xt="\f".charCodeAt(0),Qt="\t".charCodeAt(0),es="\r".charCodeAt(0),ts="[".charCodeAt(0),ss="]".charCodeAt(0),rs="(".charCodeAt(0),ns=")".charCodeAt(0),is="{".charCodeAt(0),os="}".charCodeAt(0),as=";".charCodeAt(0),ls="*".charCodeAt(0),cs=":".charCodeAt(0),hs="@".charCodeAt(0),us=/[\t\n\f\r "#'()/;[\\\]{}]/g,ds=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,ps=/.[\r\n"'(/\\]/,ms=/[\da-f]/i;let fs=Dt,gs=class extends fs{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};var ys=gs;gs.default=gs,fs.registerAtRule(gs);let ws,vs,Ss=Dt,bs=class extends Ss{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,t,s){let r=super.normalize(e);if(t)if("prepend"===s)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let e of r)e.raws.before=t.raws.before;return r}removeChild(e,t){let s=this.index(e);return!t&&0===s&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[s].raws.before),super.removeChild(e)}toResult(e={}){return new ws(new vs,this,e).stringify()}};bs.registerLazyResult=e=>{ws=e},bs.registerProcessor=e=>{vs=e};var Cs=bs;bs.default=bs,Ss.registerRoot(bs);let ks={comma:e=>ks.split(e,[","],!0),space:e=>ks.split(e,[" ","\n","\t"]),split(e,t,s){let r=[],n="",i=!1,o=0,a=!1,l="",c=!1;for(let s of e)c?c=!1:"\\"===s?c=!0:a?s===l&&(a=!1):'"'===s||"'"===s?(a=!0,l=s):"("===s?o+=1:")"===s?o>0&&(o-=1):0===o&&t.includes(s)&&(i=!0),i?(""!==n&&r.push(n.trim()),n="",i=!1):n+=s;return(s||""!==n)&&r.push(n.trim()),r}};var Is=ks;ks.default=ks;let Es=Dt,xs=Is,Ts=class extends Es{constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return xs.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,s=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(s)}};var Os=Ts;Ts.default=Ts,Es.registerRule(Ts);let Ms=Le,_s=function(e,t={}){let s,r,n,i,o,a,l,c,h,u,d=e.css.valueOf(),p=t.ignoreErrors,m=d.length,f=0,g=[],y=[];function w(t){throw e.error("Unclosed "+t,f)}return{back:function(e){y.push(e)},endOfFile:function(){return 0===y.length&&f>=m},nextToken:function(e){if(y.length)return y.pop();if(f>=m)return;let t=!!e&&e.ignoreUnclosed;switch(s=d.charCodeAt(f),s){case qt:case Jt:case Qt:case es:case Xt:r=f;do{r+=1,s=d.charCodeAt(r)}while(s===Jt||s===qt||s===Qt||s===es||s===Xt);u=["space",d.slice(f,r)],f=r-1;break;case ts:case ss:case is:case os:case cs:case as:case ns:{let e=String.fromCharCode(s);u=[e,e,f];break}case rs:if(c=g.length?g.pop()[1]:"",h=d.charCodeAt(f+1),"url"===c&&h!==Gt&&h!==Ht&&h!==Jt&&h!==qt&&h!==Qt&&h!==Xt&&h!==es){r=f;do{if(a=!1,r=d.indexOf(")",r+1),-1===r){if(p||t){r=f;break}w("bracket")}for(l=r;d.charCodeAt(l-1)===Yt;)l-=1,a=!a}while(a);u=["brackets",d.slice(f,r+1),f,r],f=r}else r=d.indexOf(")",f+1),i=d.slice(f,r+1),-1===r||ps.test(i)?u=["(","(",f]:(u=["brackets",i,f,r],f=r);break;case Gt:case Ht:n=s===Gt?"'":'"',r=f;do{if(a=!1,r=d.indexOf(n,r+1),-1===r){if(p||t){r=f+1;break}w("string")}for(l=r;d.charCodeAt(l-1)===Yt;)l-=1,a=!a}while(a);u=["string",d.slice(f,r+1),f,r],f=r;break;case hs:us.lastIndex=f+1,us.test(d),r=0===us.lastIndex?d.length-1:us.lastIndex-2,u=["at-word",d.slice(f,r+1),f,r],f=r;break;case Yt:for(r=f,o=!0;d.charCodeAt(r+1)===Yt;)r+=1,o=!o;if(s=d.charCodeAt(r+1),o&&s!==Zt&&s!==Jt&&s!==qt&&s!==Qt&&s!==es&&s!==Xt&&(r+=1,ms.test(d.charAt(r)))){for(;ms.test(d.charAt(r+1));)r+=1;d.charCodeAt(r+1)===Jt&&(r+=1)}u=["word",d.slice(f,r+1),f,r],f=r;break;default:s===Zt&&d.charCodeAt(f+1)===ls?(r=d.indexOf("*/",f+2)+1,0===r&&(p||t?r=d.length:w("comment")),u=["comment",d.slice(f,r+1),f,r],f=r):(ds.lastIndex=f+1,ds.test(d),r=0===ds.lastIndex?d.length-1:ds.lastIndex-2,u=["word",d.slice(f,r+1),f,r],g.push(u),f=r)}return f++,u},position:function(){return f}}},Rs=St,As=ys,Ds=Cs,Ps=Os;const Ns={empty:!0,space:!0};let Ls=Dt,Fs=class{constructor(e){this.input=e,this.root=new Ds,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let t,s,r,n=new As;n.name=e[1].slice(1),""===n.name&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i=!1,o=!1,a=[],l=[];for(;!this.tokenizer.endOfFile();){if(t=(e=this.tokenizer.nextToken())[0],"("===t||"["===t?l.push("("===t?")":"]"):"{"===t&&l.length>0?l.push("}"):t===l[l.length-1]&&l.pop(),0===l.length){if(";"===t){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}if("{"===t){o=!0;break}if("}"===t){if(a.length>0){for(r=a.length-1,s=a[r];s&&"space"===s[0];)s=a[--r];s&&(n.source.end=this.getPosition(s[3]||s[2]),n.source.end.offset++)}this.end(e);break}a.push(e)}else a.push(e);if(this.tokenizer.endOfFile()){i=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),i&&(e=a[a.length-1],n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),o&&(n.nodes=[],this.current=n)}checkMissedSemicolon(e){let t=this.colon(e);if(!1===t)return;let s,r=0;for(let n=t-1;n>=0&&(s=e[n],"space"===s[0]||(r+=1,2!==r));n--);throw this.input.error("Missed semicolon","word"===s[0]?s[3]+1:s[2])}colon(e){let t,s,r,n=0;for(let[i,o]of e.entries()){if(t=o,s=t[0],"("===s&&(n+=1),")"===s&&(n-=1),0===n&&":"===s){if(r){if("word"===r[0]&&"progid"===r[1])continue;return i}this.doubleColon(t)}r=t}return!1}comment(e){let t=new Rs;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++;let s=e[1].slice(2,-2);if(/^\s*$/.test(s))t.text="",t.raws.left=s,t.raws.right="";else{let e=s.match(/^(\s*)([^]*\S)(\s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}}createTokenizer(){this.tokenizer=_s(this.input)}decl(e,t){let s=new Ms;this.init(s,e[0][2]);let r,n=e[e.length-1];for(";"===n[0]&&(this.semicolon=!0,e.pop()),s.source.end=this.getPosition(n[3]||n[2]||function(e){for(let t=e.length-1;t>=0;t--){let s=e[t],r=s[3]||s[2];if(r)return r}}(e)),s.source.end.offset++;"word"!==e[0][0];)1===e.length&&this.unknownWord(e),s.raws.before+=e.shift()[1];for(s.source.start=this.getPosition(e[0][2]),s.prop="";e.length;){let t=e[0][0];if(":"===t||"space"===t||"comment"===t)break;s.prop+=e.shift()[1]}for(s.raws.between="";e.length;){if(r=e.shift(),":"===r[0]){s.raws.between+=r[1];break}"word"===r[0]&&/\w/.test(r[1])&&this.unknownWord([r]),s.raws.between+=r[1]}"_"!==s.prop[0]&&"*"!==s.prop[0]||(s.raws.before+=s.prop[0],s.prop=s.prop.slice(1));let i,o=[];for(;e.length&&(i=e[0][0],"space"===i||"comment"===i);)o.push(e.shift());this.precheckMissedSemicolon(e);for(let t=e.length-1;t>=0;t--){if(r=e[t],"!important"===r[1].toLowerCase()){s.important=!0;let r=this.stringFrom(e,t);r=this.spacesFromEnd(e)+r," !important"!==r&&(s.raws.important=r);break}if("important"===r[1].toLowerCase()){let r=e.slice(0),n="";for(let e=t;e>0;e--){let t=r[e][0];if(0===n.trim().indexOf("!")&&"space"!==t)break;n=r.pop()[1]+n}0===n.trim().indexOf("!")&&(s.important=!0,s.raws.important=n,e=r)}if("space"!==r[0]&&"comment"!==r[0])break}e.some(e=>"space"!==e[0]&&"comment"!==e[0])&&(s.raws.between+=o.map(e=>e[1]).join(""),o=[]),this.raw(s,"value",o.concat(e),t),s.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let t=new Ps;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let e=this.current.nodes[this.current.nodes.length-1];e&&"rule"===e.type&&!e.raws.ownSemicolon&&(e.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(e){let t=this.input.fromOffset(e);return{column:t.col,line:t.line,offset:e}}init(e,t){this.current.push(e),e.source={input:this.input,start:this.getPosition(t)},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)}other(e){let t=!1,s=null,r=!1,n=null,i=[],o=e[1].startsWith("--"),a=[],l=e;for(;l;){if(s=l[0],a.push(l),"("===s||"["===s)n||(n=l),i.push("("===s?")":"]");else if(o&&r&&"{"===s)n||(n=l),i.push("}");else if(0===i.length){if(";"===s){if(r)return void this.decl(a,o);break}if("{"===s)return void this.rule(a);if("}"===s){this.tokenizer.back(a.pop()),t=!0;break}":"===s&&(r=!0)}else s===i[i.length-1]&&(i.pop(),0===i.length&&(n=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),i.length>0&&this.unclosedBracket(n),t&&r){if(!o)for(;a.length&&(l=a[a.length-1][0],"space"===l||"comment"===l);)this.tokenizer.back(a.pop());this.decl(a,o)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()}precheckMissedSemicolon(){}raw(e,t,s,r){let n,i,o,a,l=s.length,c="",h=!0;for(let e=0;e<l;e+=1)n=s[e],i=n[0],"space"!==i||e!==l-1||r?"comment"===i?(a=s[e-1]?s[e-1][0]:"empty",o=s[e+1]?s[e+1][0]:"empty",Ns[a]||Ns[o]||","===c.slice(-1)?h=!1:c+=n[1]):c+=n[1]:h=!1;if(!h){let r=s.reduce((e,t)=>e+t[1],"");e.raws[t]={raw:r,value:c}}e[t]=c}rule(e){e.pop();let t=new Ps;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}spacesAndCommentsFromEnd(e){let t,s="";for(;e.length&&(t=e[e.length-1][0],"space"===t||"comment"===t);)s=e.pop()[1]+s;return s}spacesAndCommentsFromStart(e){let t,s="";for(;e.length&&(t=e[0][0],"space"===t||"comment"===t);)s+=e.shift()[1];return s}spacesFromEnd(e){let t,s="";for(;e.length&&(t=e[e.length-1][0],"space"===t);)s=e.pop()[1]+s;return s}stringFrom(e,t){let s="";for(let r=t;r<e.length;r++)s+=e[r][1];return e.splice(t,e.length-t),s}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word",{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,t){throw this.input.error("At-rule without name",{offset:t[2]},{offset:t[2]+t[1].length})}},Us=ot;function Bs(e,t){let s=new Us(e,t),r=new Fs(s);try{r.parse()}catch(e){throw"production"!==process.env.NODE_ENV&&"CssSyntaxError"===e.name&&t&&t.from&&(/\.scss$/i.test(t.from)?e.message+="\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser":/\.sass/i.test(t.from)?e.message+="\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser":/\.less$/i.test(t.from)&&(e.message+="\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser")),e}return r.root}var $s=Bs;Bs.default=Bs,Ls.registerParse(Bs);let{isClean:zs,my:js}=ve,Ws=yt,Ks=Ee,Vs=Dt,Gs=Ut,Hs=$t,Ys=Vt,Zs=$s,qs=Cs;const Js={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Xs={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Qs={Once:!0,postcssPlugin:!0,prepare:!0};function er(e){return"object"==typeof e&&"function"==typeof e.then}function tr(e){let t=!1,s=Js[e.type];return"decl"===e.type?t=e.prop.toLowerCase():"atrule"===e.type&&(t=e.name.toLowerCase()),t&&e.append?[s,s+"-"+t,0,s+"Exit",s+"Exit-"+t]:t?[s,s+"-"+t,s+"Exit",s+"Exit-"+t]:e.append?[s,0,s+"Exit"]:[s,s+"Exit"]}function sr(e){let t;return t="document"===e.type?["Document",0,"DocumentExit"]:"root"===e.type?["Root",0,"RootExit"]:tr(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function rr(e){return e[zs]=!1,e.nodes&&e.nodes.forEach(e=>rr(e)),e}let nr={},ir=class e{constructor(t,s,r){let n;if(this.stringified=!1,this.processed=!1,"object"!=typeof s||null===s||"root"!==s.type&&"document"!==s.type)if(s instanceof e||s instanceof Ys)n=rr(s.root),s.map&&(void 0===r.map&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=s.map);else{let e=Zs;r.syntax&&(e=r.syntax.parse),r.parser&&(e=r.parser),e.parse&&(e=e.parse);try{n=e(s,r)}catch(e){this.processed=!0,this.error=e}n&&!n[js]&&Vs.rebuild(n)}else n=rr(s);this.result=new Ys(t,n,r),this.helpers={...nr,postcss:nr,result:this.result},this.plugins=this.processor.plugins.map(e=>"object"==typeof e&&e.prepare?{...e,...e.prepare(this.result)}:e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let s=this.result.lastPlugin;try{if(t&&t.addToError(e),this.error=e,"CssSyntaxError"!==e.name||e.plugin){if(s.postcssVersion&&"production"!==process.env.NODE_ENV){let e=s.postcssPlugin,t=s.postcssVersion,r=this.result.processor.version,n=t.split("."),i=r.split(".");(n[0]!==i[0]||parseInt(n[1])>parseInt(i[1]))&&console.error("Unknown error from PostCSS plugin. Your current PostCSS version is "+r+", but "+e+" uses "+t+". Perhaps this is the source of the error below.")}}else e.plugin=s.postcssPlugin,e.setMessage()}catch(e){console&&console.error&&console.error(e)}return e}prepareVisitors(){this.listeners={};let e=(e,t,s)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push([e,s])};for(let t of this.plugins)if("object"==typeof t)for(let s in t){if(!Xs[s]&&/^[A-Z]/.test(s))throw new Error(`Unknown event ${s} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Qs[s])if("object"==typeof t[s])for(let r in t[s])e(t,"*"===r?s:s+"-"+r.toLowerCase(),t[s][r]);else"function"==typeof t[s]&&e(t,s,t[s])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let t=this.plugins[e],s=this.runOnRoot(t);if(er(s))try{await s}catch(e){throw this.handleError(e)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[zs];){e[zs]=!0;let t=[sr(e)];for(;t.length>0;){let e=this.visitTick(t);if(er(e))try{await e}catch(e){let s=t[t.length-1].node;throw this.handleError(e,s)}}}if(this.listeners.OnceExit)for(let[t,s]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if("document"===e.type){let t=e.nodes.map(e=>s(e,this.helpers));await Promise.all(t)}else await s(e,this.helpers)}catch(e){throw this.handleError(e)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if("object"==typeof e&&e.Once){if("document"===this.result.root.type){let t=this.result.root.nodes.map(t=>e.Once(t,this.helpers));return er(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if("function"==typeof e)return e(this.result.root,this.result)}catch(e){throw this.handleError(e)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=Ks;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let s=new Ws(t,this.result.root,this.result.opts).generate();return this.result.css=s[0],this.result.map=s[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){if(er(this.runOnRoot(e)))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[zs];)e[zs]=!0,this.walkSync(e);if(this.listeners.OnceExit)if("document"===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,t){return"production"!==process.env.NODE_ENV&&("from"in this.opts||Hs("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(e,t)}toString(){return this.css}visitSync(e,t){for(let[s,r]of e){let e;this.result.lastPlugin=s;try{e=r(t,this.helpers)}catch(e){throw this.handleError(e,t.proxyOf)}if("root"!==t.type&&"document"!==t.type&&!t.parent)return!0;if(er(e))throw this.getAsyncError()}}visitTick(e){let t=e[e.length-1],{node:s,visitors:r}=t;if("root"!==s.type&&"document"!==s.type&&!s.parent)return void e.pop();if(r.length>0&&t.visitorIndex<r.length){let[e,n]=r[t.visitorIndex];t.visitorIndex+=1,t.visitorIndex===r.length&&(t.visitors=[],t.visitorIndex=0),this.result.lastPlugin=e;try{return n(s.toProxy(),this.helpers)}catch(e){throw this.handleError(e,s)}}if(0!==t.iterator){let r,n=t.iterator;for(;r=s.nodes[s.indexes[n]];)if(s.indexes[n]+=1,!r[zs])return r[zs]=!0,void e.push(sr(r));t.iterator=0,delete s.indexes[n]}let n=t.events;for(;t.eventIndex<n.length;){let e=n[t.eventIndex];if(t.eventIndex+=1,0===e)return void(s.nodes&&s.nodes.length&&(s[zs]=!0,t.iterator=s.getIterator()));if(this.listeners[e])return void(t.visitors=this.listeners[e])}e.pop()}walkSync(e){e[zs]=!0;let t=tr(e);for(let s of t)if(0===s)e.nodes&&e.each(e=>{e[zs]||this.walkSync(e)});else{let t=this.listeners[s];if(t&&this.visitSync(t,e.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}};ir.registerPostcss=e=>{nr=e};var or=ir;ir.default=ir,qs.registerLazyResult(ir),Gs.registerLazyResult(ir);let ar=yt,lr=Ee,cr=$t,hr=$s;const ur=Vt;let dr=class{constructor(e,t,s){let r;t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=s,this._map=void 0;let n=lr;this.result=new ur(this._processor,r,this._opts),this.result.css=t;let i=this;Object.defineProperty(this.result,"root",{get:()=>i.root});let o=new ar(n,r,this._opts,t);if(o.isMap()){let[e,t]=o.generate();e&&(this.result.css=e),t&&(this.result.map=t)}else o.clearAnnotation(),this.result.css=o.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,t){return"production"!==process.env.NODE_ENV&&("from"in this._opts||cr("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(e,t)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,t=hr;try{e=t(this._css,this._opts)}catch(e){this.error=e}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}};var pr=dr;dr.default=dr;let mr=pr,fr=or,gr=Ut,yr=Cs,wr=class{constructor(e=[]){this.version="8.4.38",this.plugins=this.normalize(e)}normalize(e){let t=[];for(let s of e)if(!0===s.postcss?s=s():s.postcss&&(s=s.postcss),"object"==typeof s&&Array.isArray(s.plugins))t=t.concat(s.plugins);else if("object"==typeof s&&s.postcssPlugin)t.push(s);else if("function"==typeof s)t.push(s);else{if("object"!=typeof s||!s.parse&&!s.stringify)throw new Error(s+" is not a PostCSS plugin");if("production"!==process.env.NODE_ENV)throw new Error("PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.")}return t}process(e,t={}){return this.plugins.length||t.parser||t.stringifier||t.syntax?new fr(this,e,t):new mr(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};var vr=wr;wr.default=wr,yr.registerProcessor(wr),gr.registerProcessor(wr);let Sr=Le,br=Ve,Cr=St,kr=ys,Ir=ot,Er=Cs,xr=Os;function Tr(e,t){if(Array.isArray(e))return e.map(e=>Tr(e));let{inputs:s,...r}=e;if(s){t=[];for(let e of s){let s={...e,__proto__:Ir.prototype};s.map&&(s.map={...s.map,__proto__:br.prototype}),t.push(s)}}if(r.nodes&&(r.nodes=e.nodes.map(e=>Tr(e,t))),r.source){let{inputId:e,...s}=r.source;r.source=s,null!=e&&(r.source.input=t[e])}if("root"===r.type)return new Er(r);if("decl"===r.type)return new Sr(r);if("rule"===r.type)return new xr(r);if("comment"===r.type)return new Cr(r);if("atrule"===r.type)return new kr(r);throw new Error("Unknown node type: "+e.type)}var Or=Tr;Tr.default=Tr;let Mr=we,_r=Le,Rr=or,Ar=Dt,Dr=vr,Pr=Ee,Nr=Or,Lr=Ut,Fr=jt,Ur=St,Br=ys,$r=Vt,zr=ot,jr=$s,Wr=Is,Kr=Os,Vr=Cs,Gr=De;function Hr(...e){return 1===e.length&&Array.isArray(e[0])&&(e=e[0]),new Dr(e)}Hr.plugin=function(e,t){let s,r=!1;function n(...s){console&&console.warn&&!r&&(r=!0,console.warn(e+": postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration"),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+": ιι’ postcss.plugin θ’«εΌη¨. θΏη§»ζε:\nhttps://www.w3ctech.com/topic/2226"));let n=t(...s);return n.postcssPlugin=e,n.postcssVersion=(new Dr).version,n}return Object.defineProperty(n,"postcss",{get:()=>(s||(s=n()),s)}),n.process=function(e,t,s){return Hr([n(s)]).process(e,t)},n},Hr.stringify=Pr,Hr.parse=jr,Hr.fromJSON=Nr,Hr.list=Wr,Hr.comment=e=>new Ur(e),Hr.atRule=e=>new Br(e),Hr.decl=e=>new _r(e),Hr.rule=e=>new Kr(e),Hr.root=e=>new Vr(e),Hr.document=e=>new Lr(e),Hr.CssSyntaxError=Mr,Hr.Declaration=_r,Hr.Container=Ar,Hr.Processor=Dr,Hr.Document=Lr,Hr.Comment=Ur,Hr.Warning=Fr,Hr.AtRule=Br,Hr.Result=$r,Hr.Input=zr,Hr.Rule=Kr,Hr.Root=Vr,Hr.Node=Gr,Rr.registerPostcss(Hr);var Yr=Hr;Hr.default=Hr;const Zr=le(Yr);Zr.stringify,Zr.fromJSON,Zr.plugin,Zr.parse,Zr.list,Zr.document,Zr.comment,Zr.atRule,Zr.rule,Zr.decl,Zr.root,Zr.CssSyntaxError,Zr.Declaration,Zr.Container,Zr.Processor,Zr.Document,Zr.Comment,Zr.Warning,Zr.AtRule,Zr.Result,Zr.Input,Zr.Rule,Zr.Root,Zr.Node;var qr=Object.defineProperty,Jr=(e,t,s)=>((e,t,s)=>t in e?qr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s)(e,"symbol"!=typeof t?t+"":t,s);function Xr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Qr(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var s=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(s,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}),s}var en={exports:{}},tn=String,sn=function(){return{isColorSupported:!1,reset:tn,bold:tn,dim:tn,italic:tn,underline:tn,inverse:tn,hidden:tn,strikethrough:tn,black:tn,red:tn,green:tn,yellow:tn,blue:tn,magenta:tn,cyan:tn,white:tn,gray:tn,bgBlack:tn,bgRed:tn,bgGreen:tn,bgYellow:tn,bgBlue:tn,bgMagenta:tn,bgCyan:tn,bgWhite:tn}};en.exports=sn(),en.exports.createColors=sn;var rn=en.exports;const nn=Qr(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));let on=rn,an=nn,ln=class e extends Error{constructor(t,s,r,n,i,o){super(t),this.name="CssSyntaxError",this.reason=t,i&&(this.file=i),n&&(this.source=n),o&&(this.plugin=o),void 0!==s&&void 0!==r&&("number"==typeof s?(this.line=s,this.column=r):(this.line=s.line,this.column=s.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;null==e&&(e=on.isColorSupported),an&&e&&(t=an(t));let s,r,n=t.split(/\r?\n/),i=Math.max(this.line-3,0),o=Math.min(this.line+2,n.length),a=String(o).length;if(e){let{bold:e,gray:t,red:n}=on.createColors(!0);s=t=>e(n(t)),r=e=>t(e)}else s=r=e=>e;return n.slice(i,o).map((e,t)=>{let n=i+1+t,o=" "+(" "+n).slice(-a)+" | ";if(n===this.line){let t=r(o.replace(/\d/g," "))+e.slice(0,this.column-1).replace(/[^\t]/g," ");return s(">")+r(o)+e+"\n "+t+s("^")}return" "+r(o)+e}).join("\n")}toString(){let e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e}};var cn=ln;ln.default=ln;var hn={};hn.isClean=Symbol("isClean"),hn.my=Symbol("my");const un={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};let dn=class{constructor(e){this.builder=e}atrule(e,t){let s="@"+e.name,r=e.params?this.rawValue(e,"params"):"";if(void 0!==e.raws.afterName?s+=e.raws.afterName:r&&(s+=" "),e.nodes)this.block(e,s+r);else{let n=(e.raws.between||"")+(t?";":"");this.builder(s+r+n,e)}}beforeAfter(e,t){let s;s="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");let r=e.parent,n=0;for(;r&&"root"!==r.type;)n+=1,r=r.parent;if(s.includes("\n")){let t=this.raw(e,null,"indent");if(t.length)for(let e=0;e<n;e++)s+=t}return s}block(e,t){let s,r=this.raw(e,"between","beforeOpen");this.builder(t+r+"{",e,"start"),e.nodes&&e.nodes.length?(this.body(e),s=this.raw(e,"after")):s=this.raw(e,"after","emptyBody"),s&&this.builder(s),this.builder("}",e,"end")}body(e){let t=e.nodes.length-1;for(;t>0&&"comment"===e.nodes[t].type;)t-=1;let s=this.raw(e,"semicolon");for(let r=0;r<e.nodes.length;r++){let n=e.nodes[r],i=this.raw(n,"before");i&&this.builder(i),this.stringify(n,t!==r||s)}}comment(e){let t=this.raw(e,"left","commentLeft"),s=this.raw(e,"right","commentRight");this.builder("/*"+t+e.text+s+"*/",e)}decl(e,t){let s=this.raw(e,"between","colon"),r=e.prop+s+this.rawValue(e,"value");e.important&&(r+=e.raws.important||" !important"),t&&(r+=";"),this.builder(r,e)}document(e){this.body(e)}raw(e,t,s){let r;if(s||(s=t),t&&(r=e.raws[t],void 0!==r))return r;let n=e.parent;if("before"===s){if(!n||"root"===n.type&&n.first===e)return"";if(n&&"document"===n.type)return""}if(!n)return un[s];let i=e.root();if(i.rawCache||(i.rawCache={}),void 0!==i.rawCache[s])return i.rawCache[s];if("before"===s||"after"===s)return this.beforeAfter(e,s);{let n="raw"+((o=s)[0].toUpperCase()+o.slice(1));this[n]?r=this[n](i,e):i.walk(e=>{if(r=e.raws[t],void 0!==r)return!1})}var o;return void 0===r&&(r=un[s]),i.rawCache[s]=r,r}rawBeforeClose(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length>0&&void 0!==e.raws.after)return t=e.raws.after,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeComment(e,t){let s;return e.walkComments(e=>{if(void 0!==e.raws.before)return s=e.raws.before,s.includes("\n")&&(s=s.replace(/[^\n]+$/,"")),!1}),void 0===s?s=this.raw(t,null,"beforeDecl"):s&&(s=s.replace(/\S/g,"")),s}rawBeforeDecl(e,t){let s;return e.walkDecls(e=>{if(void 0!==e.raws.before)return s=e.raws.before,s.includes("\n")&&(s=s.replace(/[^\n]+$/,"")),!1}),void 0===s?s=this.raw(t,null,"beforeRule"):s&&(s=s.replace(/\S/g,"")),s}rawBeforeOpen(e){let t;return e.walk(e=>{if("decl"!==e.type&&(t=e.raws.between,void 0!==t))return!1}),t}rawBeforeRule(e){let t;return e.walk(s=>{if(s.nodes&&(s.parent!==e||e.first!==s)&&void 0!==s.raws.before)return t=s.raws.before,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawColon(e){let t;return e.walkDecls(e=>{if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\s:]/g,""),!1}),t}rawEmptyBody(e){let t;return e.walk(e=>{if(e.nodes&&0===e.nodes.length&&(t=e.raws.after,void 0!==t))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(s=>{let r=s.parent;if(r&&r!==e&&r.parent&&r.parent===e&&void 0!==s.raws.before){let e=s.raws.before.split("\n");return t=e[e.length-1],t=t.replace(/\S/g,""),!1}}),t}rawSemicolon(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length&&"decl"===e.last.type&&(t=e.raws.semicolon,void 0!==t))return!1}),t}rawValue(e,t){let s=e[t],r=e.raws[t];return r&&r.value===s?r.raw:s}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}};var pn=dn;dn.default=dn;let mn=pn;function fn(e,t){new mn(t).stringify(e)}var gn=fn;fn.default=fn;let{isClean:yn,my:wn}=hn,vn=cn,Sn=pn,bn=gn;function Cn(e,t){let s=new e.constructor;for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;if("proxyCache"===r)continue;let n=e[r],i=typeof n;"parent"===r&&"object"===i?t&&(s[r]=t):"source"===r?s[r]=n:Array.isArray(n)?s[r]=n.map(e=>Cn(e,s)):("object"===i&&null!==n&&(n=Cn(n)),s[r]=n)}return s}let kn=class{constructor(e={}){this.raws={},this[yn]=!1,this[wn]=!0;for(let t in e)if("nodes"===t){this.nodes=[];for(let s of e[t])"function"==typeof s.clone?this.append(s.clone()):this.append(s)}else this[t]=e[t]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\n\s{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/\n\s{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let t in e)this[t]=e[t];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let t=Cn(this);for(let s in e)t[s]=e[s];return t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}error(e,t={}){if(this.source){let{end:s,start:r}=this.rangeBy(t);return this.source.input.error(e,{column:r.column,line:r.line},{column:s.column,line:s.line},t)}return new vn(e)}getProxyProcessor(){return{get:(e,t)=>"proxyOf"===t?e:"root"===t?()=>e.root().toProxy():e[t],set:(e,t,s)=>(e[t]===s||(e[t]=s,"prop"!==t&&"value"!==t&&"name"!==t&&"params"!==t&&"important"!==t&&"text"!==t||e.markDirty()),!0)}}markDirty(){if(this[yn]){this[yn]=!1;let e=this;for(;e=e.parent;)e[yn]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e,t){let s=this.source.start;if(e.index)s=this.positionInside(e.index,t);else if(e.word){let r=(t=this.toString()).indexOf(e.word);-1!==r&&(s=this.positionInside(r,t))}return s}positionInside(e,t){let s=t||this.toString(),r=this.source.start.column,n=this.source.start.line;for(let t=0;t<e;t++)"\n"===s[t]?(r=1,n+=1):r+=1;return{column:r,line:n}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e){let t={column:this.source.start.column,line:this.source.start.line},s=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:t.column+1,line:t.line};if(e.word){let r=this.toString(),n=r.indexOf(e.word);-1!==n&&(t=this.positionInside(n,r),s=this.positionInside(n+e.word.length,r))}else e.start?t={column:e.start.column,line:e.start.line}:e.index&&(t=this.positionInside(e.index)),e.end?s={column:e.end.column,line:e.end.line}:"number"==typeof e.endIndex?s=this.positionInside(e.endIndex):e.index&&(s=this.positionInside(e.index+1));return(s.line<t.line||s.line===t.line&&s.column<=t.column)&&(s={column:t.column+1,line:t.line}),{end:s,start:t}}raw(e,t){return(new Sn).raw(this,e,t)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let t=this,s=!1;for(let r of e)r===this?s=!0:s?(this.parent.insertAfter(t,r),t=r):this.parent.insertBefore(t,r);s||this.remove()}return this}root(){let e=this;for(;e.parent&&"document"!==e.parent.type;)e=e.parent;return e}toJSON(e,t){let s={},r=null==t;t=t||new Map;let n=0;for(let e in this){if(!Object.prototype.hasOwnProperty.call(this,e))continue;if("parent"===e||"proxyCache"===e)continue;let r=this[e];if(Array.isArray(r))s[e]=r.map(e=>"object"==typeof e&&e.toJSON?e.toJSON(null,t):e);else if("object"==typeof r&&r.toJSON)s[e]=r.toJSON(null,t);else if("source"===e){let i=t.get(r.input);null==i&&(i=n,t.set(r.input,n),n++),s[e]={end:r.end,inputId:i,start:r.start}}else s[e]=r}return r&&(s.inputs=[...t.keys()].map(e=>e.toJSON())),s}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=bn){e.stringify&&(e=e.stringify);let t="";return e(this,e=>{t+=e}),t}warn(e,t,s){let r={node:this};for(let e in s)r[e]=s[e];return e.warn(t,r)}get proxyOf(){return this}};var In=kn;kn.default=kn;let En=In,xn=class extends En{constructor(e){e&&void 0!==e.value&&"string"!=typeof e.value&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}};var Tn=xn;xn.default=xn;var On={nanoid:(e=21)=>{let t="",s=e;for(;s--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t}};let{SourceMapConsumer:Mn,SourceMapGenerator:_n}=nn,{existsSync:Rn,readFileSync:An}=nn,{dirname:Dn,join:Pn}=nn;let Nn=class{constructor(e,t){if(!1===t.map)return;this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let s=t.map?t.map.prev:void 0,r=this.loadMap(t.from,s);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=Dn(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new Mn(this.text)),this.consumerCache}decodeInline(e){if(/^data:application\/json;charset=utf-?8,/.test(e)||/^data:application\/json,/.test(e))return decodeURIComponent(e.substr(RegExp.lastMatch.length));if(/^data:application\/json;charset=utf-?8;base64,/.test(e)||/^data:application\/json;base64,/.test(e))return t=e.substr(RegExp.lastMatch.length),Buffer?Buffer.from(t,"base64").toString():window.atob(t);var t;let s=e.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+s)}getAnnotationURL(e){return e.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(e){return"object"==typeof e&&("string"==typeof e.mappings||"string"==typeof e._mappings||Array.isArray(e.sections))}loadAnnotation(e){let t=e.match(/\/\*\s*# sourceMappingURL=/gm);if(!t)return;let s=e.lastIndexOf(t.pop()),r=e.indexOf("*/",s);s>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(s,r)))}loadFile(e){if(this.root=Dn(e),Rn(e))return this.mapFile=e,An(e,"utf-8").toString().trim()}loadMap(e,t){if(!1===t)return!1;if(t){if("string"==typeof t)return t;if("function"!=typeof t){if(t instanceof Mn)return _n.fromSourceMap(t).toString();if(t instanceof _n)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}{let s=t(e);if(s){let e=this.loadFile(s);if(!e)throw new Error("Unable to load previous source map: "+s.toString());return e}}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let t=this.annotation;return e&&(t=Pn(Dn(e),t)),this.loadFile(t)}}}startWith(e,t){return!!e&&e.substr(0,t.length)===t}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};var Ln=Nn;Nn.default=Nn;let{SourceMapConsumer:Fn,SourceMapGenerator:Un}=nn,{fileURLToPath:Bn,pathToFileURL:$n}=nn,{isAbsolute:zn,resolve:jn}=nn,{nanoid:Wn}=On,Kn=nn,Vn=cn,Gn=Ln,Hn=Symbol("fromOffsetCache"),Yn=Boolean(Fn&&Un),Zn=Boolean(jn&&zn),qn=class{constructor(e,t={}){if(null==e||"object"==typeof e&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),"\ufeff"===this.css[0]||"οΏΎ"===this.css[0]?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!Zn||/^\w+:\/\//.test(t.from)||zn(t.from)?this.file=t.from:this.file=jn(t.from)),Zn&&Yn){let e=new Gn(this.css,t);if(e.text){this.map=e;let t=e.consumer().file;!this.file&&t&&(this.file=this.mapResolve(t))}}this.file||(this.id="<input css "+Wn(6)+">"),this.map&&(this.map.file=this.from)}error(e,t,s,r={}){let n,i,o;if(t&&"object"==typeof t){let e=t,r=s;if("number"==typeof e.offset){let r=this.fromOffset(e.offset);t=r.line,s=r.col}else t=e.line,s=e.column;if("number"==typeof r.offset){let e=this.fromOffset(r.offset);i=e.line,o=e.col}else i=r.line,o=r.column}else if(!s){let e=this.fromOffset(t);t=e.line,s=e.col}let a=this.origin(t,s,i,o);return n=a?new Vn(e,void 0===a.endLine?a.line:{column:a.column,line:a.line},void 0===a.endLine?a.column:{column:a.endColumn,line:a.endLine},a.source,a.file,r.plugin):new Vn(e,void 0===i?t:{column:s,line:t},void 0===i?s:{column:o,line:i},this.css,this.file,r.plugin),n.input={column:s,endColumn:o,endLine:i,line:t,source:this.css},this.file&&($n&&(n.input.url=$n(this.file).toString()),n.input.file=this.file),n}fromOffset(e){let t,s;if(this[Hn])s=this[Hn];else{let e=this.css.split("\n");s=new Array(e.length);let t=0;for(let r=0,n=e.length;r<n;r++)s[r]=t,t+=e[r].length+1;this[Hn]=s}t=s[s.length-1];let r=0;if(e>=t)r=s.length-1;else{let t,n=s.length-2;for(;r<n;)if(t=r+(n-r>>1),e<s[t])n=t-1;else{if(!(e>=s[t+1])){r=t;break}r=t+1}}return{col:e-s[r]+1,line:r+1}}mapResolve(e){return/^\w+:\/\//.test(e)?e:jn(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,t,s,r){if(!this.map)return!1;let n,i,o=this.map.consumer(),a=o.originalPositionFor({column:t,line:e});if(!a.source)return!1;"number"==typeof s&&(n=o.originalPositionFor({column:r,line:s})),i=zn(a.source)?$n(a.source):new URL(a.source,this.map.consumer().sourceRoot||$n(this.map.mapFile));let l={column:a.column,endColumn:n&&n.column,endLine:n&&n.line,line:a.line,url:i.toString()};if("file:"===i.protocol){if(!Bn)throw new Error("file: protocol is not available in this PostCSS build");l.file=Bn(i)}let c=o.sourceContentFor(a.source);return c&&(l.source=c),l}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}get from(){return this.file||this.id}};var Jn=qn;qn.default=qn,Kn&&Kn.registerInput&&Kn.registerInput(qn);let{SourceMapConsumer:Xn,SourceMapGenerator:Qn}=nn,{dirname:ei,relative:ti,resolve:si,sep:ri}=nn,{pathToFileURL:ni}=nn,ii=Jn,oi=Boolean(Xn&&Qn),ai=Boolean(ei&&si&&ti&&ri);var li=class{constructor(e,t,s,r){this.stringify=e,this.mapOpts=s.map||{},this.root=t,this.opts=s,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:"function"==typeof this.mapOpts.annotation?this.mapOpts.annotation(this.opts.to,this.root):this.outputFile()+".map";let t="\n";this.css.includes("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let t,s=this.toUrl(this.path(e.file)),r=e.root||ei(e.file);!1===this.mapOpts.sourcesContent?(t=new Xn(e.text),t.sourcesContent&&(t.sourcesContent=null)):t=e.consumer(),this.map.applySourceMap(t,s,this.toUrl(this.path(r)))}}clearAnnotation(){if(!1!==this.mapOpts.annotation)if(this.root){let e;for(let t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],"comment"===e.type&&0===e.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(t)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),ai&&oi&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,t=>{e+=t}),[e]}}generateMap(){if(this.root)this.generateString();else if(1===this.previous().length){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=Qn.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new Qn({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new Qn({file:this.outputFile(),ignoreInvalidMapping:!0});let e,t,s=1,r=1,n="<no source>",i={generated:{column:0,line:0},original:{column:0,line:0},source:""};this.stringify(this.root,(o,a,l)=>{if(this.css+=o,a&&"end"!==l&&(i.generated.line=s,i.generated.column=r-1,a.source&&a.source.start?(i.source=this.sourcePath(a),i.original.line=a.source.start.line,i.original.column=a.source.start.column-1,this.map.addMapping(i)):(i.source=n,i.original.line=1,i.original.column=0,this.map.addMapping(i))),e=o.match(/\n/g),e?(s+=e.length,t=o.lastIndexOf("\n"),r=o.length-t):r+=o.length,a&&"start"!==l){let e=a.parent||{raws:{}};("decl"===a.type||"atrule"===a.type&&!a.nodes)&&a===e.last&&!e.raws.semicolon||(a.source&&a.source.end?(i.source=this.sourcePath(a),i.original.line=a.source.end.line,i.original.column=a.source.end.column-1,i.generated.line=s,i.generated.column=r-2,this.map.addMapping(i)):(i.source=n,i.original.line=1,i.original.column=0,i.generated.line=s,i.generated.column=r-1,this.map.addMapping(i)))}})}isAnnotation(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some(e=>e.annotation))}isInline(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;let e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some(e=>e.inline))}isMap(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0}isSourcesContent(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(e=>e.withContent())}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute)return e;if(60===e.charCodeAt(0))return e;if(/^\w+:\/\//.test(e))return e;let t=this.memoizedPaths.get(e);if(t)return t;let s=this.opts.to?ei(this.opts.to):".";"string"==typeof this.mapOpts.annotation&&(s=ei(si(s,this.mapOpts.annotation)));let r=ti(s,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}});else{let e=new ii(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(t=>{if(t.source){let s=t.source.input.from;if(s&&!e[s]){e[s]=!0;let r=this.usesFileUrls?this.toFileUrl(s):this.toUrl(this.path(s));this.map.setSourceContent(r,t.source.input.css)}}});else if(this.css){let e=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(e,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let t=this.memoizedFileURLs.get(e);if(t)return t;if(ni){let t=ni(e).toString();return this.memoizedFileURLs.set(e,t),t}throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let t=this.memoizedURLs.get(e);if(t)return t;"\\"===ri&&(e=e.replace(/\\/g,"/"));let s=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,s),s}};let ci=In,hi=class extends ci{constructor(e){super(e),this.type="comment"}};var ui=hi;hi.default=hi;let di,pi,mi,fi,{isClean:gi,my:yi}=hn,wi=Tn,vi=ui,Si=In;function bi(e){return e.map(e=>(e.nodes&&(e.nodes=bi(e.nodes)),delete e.source,e))}function Ci(e){if(e[gi]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)Ci(t)}let ki=class e extends Si{append(...e){for(let t of e){let e=this.normalize(t,this.last);for(let t of e)this.proxyOf.nodes.push(t)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let t,s,r=this.getIterator();for(;this.indexes[r]<this.proxyOf.nodes.length&&(t=this.indexes[r],s=e(this.proxyOf.nodes[t],t),!1!==s);)this.indexes[r]+=1;return delete this.indexes[r],s}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get:(e,t)=>"proxyOf"===t?e:e[t]?"each"===t||"string"==typeof t&&t.startsWith("walk")?(...s)=>e[t](...s.map(e=>"function"==typeof e?(t,s)=>e(t.toProxy(),s):e)):"every"===t||"some"===t?s=>e[t]((e,...t)=>s(e.toProxy(),...t)):"root"===t?()=>e.root().toProxy():"nodes"===t?e.nodes.map(e=>e.toProxy()):"first"===t||"last"===t?e[t].toProxy():e[t]:e[t],set:(e,t,s)=>(e[t]===s||(e[t]=s,"name"!==t&&"params"!==t&&"selector"!==t||e.markDirty()),!0)}}index(e){return"number"==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,t){let s,r=this.index(e),n=this.normalize(t,this.proxyOf.nodes[r]).reverse();r=this.index(e);for(let e of n)this.proxyOf.nodes.splice(r+1,0,e);for(let e in this.indexes)s=this.indexes[e],r<s&&(this.indexes[e]=s+n.length);return this.markDirty(),this}insertBefore(e,t){let s,r=this.index(e),n=0===r&&"prepend",i=this.normalize(t,this.proxyOf.nodes[r],n).reverse();r=this.index(e);for(let e of i)this.proxyOf.nodes.splice(r,0,e);for(let e in this.indexes)s=this.indexes[e],r<=s&&(this.indexes[e]=s+i.length);return this.markDirty(),this}normalize(t,s){if("string"==typeof t)t=bi(di(t).nodes);else if(void 0===t)t=[];else if(Array.isArray(t)){t=t.slice(0);for(let e of t)e.parent&&e.parent.removeChild(e,"ignore")}else if("root"===t.type&&"document"!==this.type){t=t.nodes.slice(0);for(let e of t)e.parent&&e.parent.removeChild(e,"ignore")}else if(t.type)t=[t];else if(t.prop){if(void 0===t.value)throw new Error("Value field is missed in node creation");"string"!=typeof t.value&&(t.value=String(t.value)),t=[new wi(t)]}else if(t.selector)t=[new pi(t)];else if(t.name)t=[new mi(t)];else{if(!t.text)throw new Error("Unknown node type in node creation");t=[new vi(t)]}return t.map(t=>(t[yi]||e.rebuild(t),(t=t.proxyOf).parent&&t.parent.removeChild(t),t[gi]&&Ci(t),void 0===t.raws.before&&s&&void 0!==s.raws.before&&(t.raws.before=s.raws.before.replace(/\S/g,"")),t.parent=this.proxyOf,t))}prepend(...e){e=e.reverse();for(let t of e){let e=this.normalize(t,this.first,"prepend").reverse();for(let t of e)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+e.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){let t;e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);for(let s in this.indexes)t=this.indexes[s],t>=e&&(this.indexes[s]=t-1);return this.markDirty(),this}replaceValues(e,t,s){return s||(s=t,t={}),this.walkDecls(r=>{t.props&&!t.props.includes(r.prop)||t.fast&&!r.value.includes(t.fast)||(r.value=r.value.replace(e,s))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((t,s)=>{let r;try{r=e(t,s)}catch(e){throw t.addToError(e)}return!1!==r&&t.walk&&(r=t.walk(e)),r})}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("atrule"===s.type&&e.test(s.name))return t(s,r)}):this.walk((s,r)=>{if("atrule"===s.type&&s.name===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("atrule"===e.type)return t(e,s)}))}walkComments(e){return this.walk((t,s)=>{if("comment"===t.type)return e(t,s)})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("decl"===s.type&&e.test(s.prop))return t(s,r)}):this.walk((s,r)=>{if("decl"===s.type&&s.prop===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("decl"===e.type)return t(e,s)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("rule"===s.type&&e.test(s.selector))return t(s,r)}):this.walk((s,r)=>{if("rule"===s.type&&s.selector===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("rule"===e.type)return t(e,s)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}};ki.registerParse=e=>{di=e},ki.registerRule=e=>{pi=e},ki.registerAtRule=e=>{mi=e},ki.registerRoot=e=>{fi=e};var Ii=ki;ki.default=ki,ki.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,mi.prototype):"rule"===e.type?Object.setPrototypeOf(e,pi.prototype):"decl"===e.type?Object.setPrototypeOf(e,wi.prototype):"comment"===e.type?Object.setPrototypeOf(e,vi.prototype):"root"===e.type&&Object.setPrototypeOf(e,fi.prototype),e[yi]=!0,e.nodes&&e.nodes.forEach(e=>{ki.rebuild(e)})};let Ei,xi,Ti=Ii,Oi=class extends Ti{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new Ei(new xi,this,e).stringify()}};Oi.registerLazyResult=e=>{Ei=e},Oi.registerProcessor=e=>{xi=e};var Mi=Oi;Oi.default=Oi;let _i={};var Ri=function(e){_i[e]||(_i[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))};let Ai=class{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let e=t.node.rangeBy(t);this.line=e.start.line,this.column=e.start.column,this.endLine=e.end.line,this.endColumn=e.end.column}for(let e in t)this[e]=t[e]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};var Di=Ai;Ai.default=Ai;let Pi=Di,Ni=class{constructor(e,t,s){this.processor=e,this.messages=[],this.root=t,this.opts=s,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let s=new Pi(e,t);return this.messages.push(s),s}warnings(){return this.messages.filter(e=>"warning"===e.type)}get content(){return this.css}};var Li=Ni;Ni.default=Ni;const Fi="'".charCodeAt(0),Ui='"'.charCodeAt(0),Bi="\\".charCodeAt(0),$i="/".charCodeAt(0),zi="\n".charCodeAt(0),ji=" ".charCodeAt(0),Wi="\f".charCodeAt(0),Ki="\t".charCodeAt(0),Vi="\r".charCodeAt(0),Gi="[".charCodeAt(0),Hi="]".charCodeAt(0),Yi="(".charCodeAt(0),Zi=")".charCodeAt(0),qi="{".charCodeAt(0),Ji="}".charCodeAt(0),Xi=";".charCodeAt(0),Qi="*".charCodeAt(0),eo=":".charCodeAt(0),to="@".charCodeAt(0),so=/[\t\n\f\r "#'()/;[\\\]{}]/g,ro=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,no=/.[\r\n"'(/\\]/,io=/[\da-f]/i;let oo=Ii,ao=class extends oo{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};var lo=ao;ao.default=ao,oo.registerAtRule(ao);let co,ho,uo=Ii,po=class extends uo{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,t,s){let r=super.normalize(e);if(t)if("prepend"===s)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let e of r)e.raws.before=t.raws.before;return r}removeChild(e,t){let s=this.index(e);return!t&&0===s&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[s].raws.before),super.removeChild(e)}toResult(e={}){return new co(new ho,this,e).stringify()}};po.registerLazyResult=e=>{co=e},po.registerProcessor=e=>{ho=e};var mo=po;po.default=po,uo.registerRoot(po);let fo={comma:e=>fo.split(e,[","],!0),space:e=>fo.split(e,[" ","\n","\t"]),split(e,t,s){let r=[],n="",i=!1,o=0,a=!1,l="",c=!1;for(let s of e)c?c=!1:"\\"===s?c=!0:a?s===l&&(a=!1):'"'===s||"'"===s?(a=!0,l=s):"("===s?o+=1:")"===s?o>0&&(o-=1):0===o&&t.includes(s)&&(i=!0),i?(""!==n&&r.push(n.trim()),n="",i=!1):n+=s;return(s||""!==n)&&r.push(n.trim()),r}};var go=fo;fo.default=fo;let yo=Ii,wo=go,vo=class extends yo{constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return wo.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,s=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(s)}};var So=vo;vo.default=vo,yo.registerRule(vo);let bo=Tn,Co=function(e,t={}){let s,r,n,i,o,a,l,c,h,u,d=e.css.valueOf(),p=t.ignoreErrors,m=d.length,f=0,g=[],y=[];function w(t){throw e.error("Unclosed "+t,f)}return{back:function(e){y.push(e)},endOfFile:function(){return 0===y.length&&f>=m},nextToken:function(e){if(y.length)return y.pop();if(f>=m)return;let t=!!e&&e.ignoreUnclosed;switch(s=d.charCodeAt(f),s){case zi:case ji:case Ki:case Vi:case Wi:r=f;do{r+=1,s=d.charCodeAt(r)}while(s===ji||s===zi||s===Ki||s===Vi||s===Wi);u=["space",d.slice(f,r)],f=r-1;break;case Gi:case Hi:case qi:case Ji:case eo:case Xi:case Zi:{let e=String.fromCharCode(s);u=[e,e,f];break}case Yi:if(c=g.length?g.pop()[1]:"",h=d.charCodeAt(f+1),"url"===c&&h!==Fi&&h!==Ui&&h!==ji&&h!==zi&&h!==Ki&&h!==Wi&&h!==Vi){r=f;do{if(a=!1,r=d.indexOf(")",r+1),-1===r){if(p||t){r=f;break}w("bracket")}for(l=r;d.charCodeAt(l-1)===Bi;)l-=1,a=!a}while(a);u=["brackets",d.slice(f,r+1),f,r],f=r}else r=d.indexOf(")",f+1),i=d.slice(f,r+1),-1===r||no.test(i)?u=["(","(",f]:(u=["brackets",i,f,r],f=r);break;case Fi:case Ui:n=s===Fi?"'":'"',r=f;do{if(a=!1,r=d.indexOf(n,r+1),-1===r){if(p||t){r=f+1;break}w("string")}for(l=r;d.charCodeAt(l-1)===Bi;)l-=1,a=!a}while(a);u=["string",d.slice(f,r+1),f,r],f=r;break;case to:so.lastIndex=f+1,so.test(d),r=0===so.lastIndex?d.length-1:so.lastIndex-2,u=["at-word",d.slice(f,r+1),f,r],f=r;break;case Bi:for(r=f,o=!0;d.charCodeAt(r+1)===Bi;)r+=1,o=!o;if(s=d.charCodeAt(r+1),o&&s!==$i&&s!==ji&&s!==zi&&s!==Ki&&s!==Vi&&s!==Wi&&(r+=1,io.test(d.charAt(r)))){for(;io.test(d.charAt(r+1));)r+=1;d.charCodeAt(r+1)===ji&&(r+=1)}u=["word",d.slice(f,r+1),f,r],f=r;break;default:s===$i&&d.charCodeAt(f+1)===Qi?(r=d.indexOf("*/",f+2)+1,0===r&&(p||t?r=d.length:w("comment")),u=["comment",d.slice(f,r+1),f,r],f=r):(ro.lastIndex=f+1,ro.test(d),r=0===ro.lastIndex?d.length-1:ro.lastIndex-2,u=["word",d.slice(f,r+1),f,r],g.push(u),f=r)}return f++,u},position:function(){return f}}},ko=ui,Io=lo,Eo=mo,xo=So;const To={empty:!0,space:!0};let Oo=Ii,Mo=class{constructor(e){this.input=e,this.root=new Eo,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let t,s,r,n=new Io;n.name=e[1].slice(1),""===n.name&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i=!1,o=!1,a=[],l=[];for(;!this.tokenizer.endOfFile();){if(t=(e=this.tokenizer.nextToken())[0],"("===t||"["===t?l.push("("===t?")":"]"):"{"===t&&l.length>0?l.push("}"):t===l[l.length-1]&&l.pop(),0===l.length){if(";"===t){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}if("{"===t){o=!0;break}if("}"===t){if(a.length>0){for(r=a.length-1,s=a[r];s&&"space"===s[0];)s=a[--r];s&&(n.source.end=this.getPosition(s[3]||s[2]),n.source.end.offset++)}this.end(e);break}a.push(e)}else a.push(e);if(this.tokenizer.endOfFile()){i=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),i&&(e=a[a.length-1],n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),o&&(n.nodes=[],this.current=n)}checkMissedSemicolon(e){let t=this.colon(e);if(!1===t)return;let s,r=0;for(let n=t-1;n>=0&&(s=e[n],"space"===s[0]||(r+=1,2!==r));n--);throw this.input.error("Missed semicolon","word"===s[0]?s[3]+1:s[2])}colon(e){let t,s,r,n=0;for(let[i,o]of e.entries()){if(t=o,s=t[0],"("===s&&(n+=1),")"===s&&(n-=1),0===n&&":"===s){if(r){if("word"===r[0]&&"progid"===r[1])continue;return i}this.doubleColon(t)}r=t}return!1}comment(e){let t=new ko;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++;let s=e[1].slice(2,-2);if(/^\s*$/.test(s))t.text="",t.raws.left=s,t.raws.right="";else{let e=s.match(/^(\s*)([^]*\S)(\s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}}createTokenizer(){this.tokenizer=Co(this.input)}decl(e,t){let s=new bo;this.init(s,e[0][2]);let r,n=e[e.length-1];for(";"===n[0]&&(this.semicolon=!0,e.pop()),s.source.end=this.getPosition(n[3]||n[2]||function(e){for(let t=e.length-1;t>=0;t--){let s=e[t],r=s[3]||s[2];if(r)return r}}(e)),s.source.end.offset++;"word"!==e[0][0];)1===e.length&&this.unknownWord(e),s.raws.before+=e.shift()[1];for(s.source.start=this.getPosition(e[0][2]),s.prop="";e.length;){let t=e[0][0];if(":"===t||"space"===t||"comment"===t)break;s.prop+=e.shift()[1]}for(s.raws.between="";e.length;){if(r=e.shift(),":"===r[0]){s.raws.between+=r[1];break}"word"===r[0]&&/\w/.test(r[1])&&this.unknownWord([r]),s.raws.between+=r[1]}"_"!==s.prop[0]&&"*"!==s.prop[0]||(s.raws.before+=s.prop[0],s.prop=s.prop.slice(1));let i,o=[];for(;e.length&&(i=e[0][0],"space"===i||"comment"===i);)o.push(e.shift());this.precheckMissedSemicolon(e);for(let t=e.length-1;t>=0;t--){if(r=e[t],"!important"===r[1].toLowerCase()){s.important=!0;let r=this.stringFrom(e,t);r=this.spacesFromEnd(e)+r," !important"!==r&&(s.raws.important=r);break}if("important"===r[1].toLowerCase()){let r=e.slice(0),n="";for(let e=t;e>0;e--){let t=r[e][0];if(0===n.trim().indexOf("!")&&"space"!==t)break;n=r.pop()[1]+n}0===n.trim().indexOf("!")&&(s.important=!0,s.raws.important=n,e=r)}if("space"!==r[0]&&"comment"!==r[0])break}e.some(e=>"space"!==e[0]&&"comment"!==e[0])&&(s.raws.between+=o.map(e=>e[1]).join(""),o=[]),this.raw(s,"value",o.concat(e),t),s.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let t=new xo;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let e=this.current.nodes[this.current.nodes.length-1];e&&"rule"===e.type&&!e.raws.ownSemicolon&&(e.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(e){let t=this.input.fromOffset(e);return{column:t.col,line:t.line,offset:e}}init(e,t){this.current.push(e),e.source={input:this.input,start:this.getPosition(t)},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)}other(e){let t=!1,s=null,r=!1,n=null,i=[],o=e[1].startsWith("--"),a=[],l=e;for(;l;){if(s=l[0],a.push(l),"("===s||"["===s)n||(n=l),i.push("("===s?")":"]");else if(o&&r&&"{"===s)n||(n=l),i.push("}");else if(0===i.length){if(";"===s){if(r)return void this.decl(a,o);break}if("{"===s)return void this.rule(a);if("}"===s){this.tokenizer.back(a.pop()),t=!0;break}":"===s&&(r=!0)}else s===i[i.length-1]&&(i.pop(),0===i.length&&(n=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),i.length>0&&this.unclosedBracket(n),t&&r){if(!o)for(;a.length&&(l=a[a.length-1][0],"space"===l||"comment"===l);)this.tokenizer.back(a.pop());this.decl(a,o)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()}precheckMissedSemicolon(){}raw(e,t,s,r){let n,i,o,a,l=s.length,c="",h=!0;for(let e=0;e<l;e+=1)n=s[e],i=n[0],"space"!==i||e!==l-1||r?"comment"===i?(a=s[e-1]?s[e-1][0]:"empty",o=s[e+1]?s[e+1][0]:"empty",To[a]||To[o]||","===c.slice(-1)?h=!1:c+=n[1]):c+=n[1]:h=!1;if(!h){let r=s.reduce((e,t)=>e+t[1],"");e.raws[t]={raw:r,value:c}}e[t]=c}rule(e){e.pop();let t=new xo;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}spacesAndCommentsFromEnd(e){let t,s="";for(;e.length&&(t=e[e.length-1][0],"space"===t||"comment"===t);)s=e.pop()[1]+s;return s}spacesAndCommentsFromStart(e){let t,s="";for(;e.length&&(t=e[0][0],"space"===t||"comment"===t);)s+=e.shift()[1];return s}spacesFromEnd(e){let t,s="";for(;e.length&&(t=e[e.length-1][0],"space"===t);)s=e.pop()[1]+s;return s}stringFrom(e,t){let s="";for(let r=t;r<e.length;r++)s+=e[r][1];return e.splice(t,e.length-t),s}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word",{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,t){throw this.input.error("At-rule without name",{offset:t[2]},{offset:t[2]+t[1].length})}},_o=Jn;function Ro(e,t){let s=new _o(e,t),r=new Mo(s);try{r.parse()}catch(e){throw"production"!==process.env.NODE_ENV&&"CssSyntaxError"===e.name&&t&&t.from&&(/\.scss$/i.test(t.from)?e.message+="\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser":/\.sass/i.test(t.from)?e.message+="\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser":/\.less$/i.test(t.from)&&(e.message+="\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser")),e}return r.root}var Ao=Ro;Ro.default=Ro,Oo.registerParse(Ro);let{isClean:Do,my:Po}=hn,No=li,Lo=gn,Fo=Ii,Uo=Mi,Bo=Ri,$o=Li,zo=Ao,jo=mo;const Wo={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Ko={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Vo={Once:!0,postcssPlugin:!0,prepare:!0};function Go(e){return"object"==typeof e&&"function"==typeof e.then}function Ho(e){let t=!1,s=Wo[e.type];return"decl"===e.type?t=e.prop.toLowerCase():"atrule"===e.type&&(t=e.name.toLowerCase()),t&&e.append?[s,s+"-"+t,0,s+"Exit",s+"Exit-"+t]:t?[s,s+"-"+t,s+"Exit",s+"Exit-"+t]:e.append?[s,0,s+"Exit"]:[s,s+"Exit"]}function Yo(e){let t;return t="document"===e.type?["Document",0,"DocumentExit"]:"root"===e.type?["Root",0,"RootExit"]:Ho(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function Zo(e){return e[Do]=!1,e.nodes&&e.nodes.forEach(e=>Zo(e)),e}let qo={},Jo=class e{constructor(t,s,r){let n;if(this.stringified=!1,this.processed=!1,"object"!=typeof s||null===s||"root"!==s.type&&"document"!==s.type)if(s instanceof e||s instanceof $o)n=Zo(s.root),s.map&&(void 0===r.map&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=s.map);else{let e=zo;r.syntax&&(e=r.syntax.parse),r.parser&&(e=r.parser),e.parse&&(e=e.parse);try{n=e(s,r)}catch(e){this.processed=!0,this.error=e}n&&!n[Po]&&Fo.rebuild(n)}else n=Zo(s);this.result=new $o(t,n,r),this.helpers={...qo,postcss:qo,result:this.result},this.plugins=this.processor.plugins.map(e=>"object"==typeof e&&e.prepare?{...e,...e.prepare(this.result)}:e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let s=this.result.lastPlugin;try{if(t&&t.addToError(e),this.error=e,"CssSyntaxError"!==e.name||e.plugin){if(s.postcssVersion&&"production"!==process.env.NODE_ENV){let e=s.postcssPlugin,t=s.postcssVersion,r=this.result.processor.version,n=t.split("."),i=r.split(".");(n[0]!==i[0]||parseInt(n[1])>parseInt(i[1]))&&console.error("Unknown error from PostCSS plugin. Your current PostCSS version is "+r+", but "+e+" uses "+t+". Perhaps this is the source of the error below.")}}else e.plugin=s.postcssPlugin,e.setMessage()}catch(e){console&&console.error&&console.error(e)}return e}prepareVisitors(){this.listeners={};let e=(e,t,s)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push([e,s])};for(let t of this.plugins)if("object"==typeof t)for(let s in t){if(!Ko[s]&&/^[A-Z]/.test(s))throw new Error(`Unknown event ${s} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Vo[s])if("object"==typeof t[s])for(let r in t[s])e(t,"*"===r?s:s+"-"+r.toLowerCase(),t[s][r]);else"function"==typeof t[s]&&e(t,s,t[s])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let t=this.plugins[e],s=this.runOnRoot(t);if(Go(s))try{await s}catch(e){throw this.handleError(e)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Do];){e[Do]=!0;let t=[Yo(e)];for(;t.length>0;){let e=this.visitTick(t);if(Go(e))try{await e}catch(e){let s=t[t.length-1].node;throw this.handleError(e,s)}}}if(this.listeners.OnceExit)for(let[t,s]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if("document"===e.type){let t=e.nodes.map(e=>s(e,this.helpers));await Promise.all(t)}else await s(e,this.helpers)}catch(e){throw this.handleError(e)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if("object"==typeof e&&e.Once){if("document"===this.result.root.type){let t=this.result.root.nodes.map(t=>e.Once(t,this.helpers));return Go(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if("function"==typeof e)return e(this.result.root,this.result)}catch(e){throw this.handleError(e)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=Lo;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let s=new No(t,this.result.root,this.result.opts).generate();return this.result.css=s[0],this.result.map=s[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){if(Go(this.runOnRoot(e)))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Do];)e[Do]=!0,this.walkSync(e);if(this.listeners.OnceExit)if("document"===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,t){return"production"!==process.env.NODE_ENV&&("from"in this.opts||Bo("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(e,t)}toString(){return this.css}visitSync(e,t){for(let[s,r]of e){let e;this.result.lastPlugin=s;try{e=r(t,this.helpers)}catch(e){throw this.handleError(e,t.proxyOf)}if("root"!==t.type&&"document"!==t.type&&!t.parent)return!0;if(Go(e))throw this.getAsyncError()}}visitTick(e){let t=e[e.length-1],{node:s,visitors:r}=t;if("root"!==s.type&&"document"!==s.type&&!s.parent)return void e.pop();if(r.length>0&&t.visitorIndex<r.length){let[e,n]=r[t.visitorIndex];t.visitorIndex+=1,t.visitorIndex===r.length&&(t.visitors=[],t.visitorIndex=0),this.result.lastPlugin=e;try{return n(s.toProxy(),this.helpers)}catch(e){throw this.handleError(e,s)}}if(0!==t.iterator){let r,n=t.iterator;for(;r=s.nodes[s.indexes[n]];)if(s.indexes[n]+=1,!r[Do])return r[Do]=!0,void e.push(Yo(r));t.iterator=0,delete s.indexes[n]}let n=t.events;for(;t.eventIndex<n.length;){let e=n[t.eventIndex];if(t.eventIndex+=1,0===e)return void(s.nodes&&s.nodes.length&&(s[Do]=!0,t.iterator=s.getIterator()));if(this.listeners[e])return void(t.visitors=this.listeners[e])}e.pop()}walkSync(e){e[Do]=!0;let t=Ho(e);for(let s of t)if(0===s)e.nodes&&e.each(e=>{e[Do]||this.walkSync(e)});else{let t=this.listeners[s];if(t&&this.visitSync(t,e.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}};Jo.registerPostcss=e=>{qo=e};var Xo=Jo;Jo.default=Jo,jo.registerLazyResult(Jo),Uo.registerLazyResult(Jo);let Qo=li,ea=gn,ta=Ri,sa=Ao;const ra=Li;let na=class{constructor(e,t,s){let r;t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=s,this._map=void 0;let n=ea;this.result=new ra(this._processor,r,this._opts),this.result.css=t;let i=this;Object.defineProperty(this.result,"root",{get:()=>i.root});let o=new Qo(n,r,this._opts,t);if(o.isMap()){let[e,t]=o.generate();e&&(this.result.css=e),t&&(this.result.map=t)}else o.clearAnnotation(),this.result.css=o.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,t){return"production"!==process.env.NODE_ENV&&("from"in this._opts||ta("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(e,t)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,t=sa;try{e=t(this._css,this._opts)}catch(e){this.error=e}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}};var ia=na;na.default=na;let oa=ia,aa=Xo,la=Mi,ca=mo,ha=class{constructor(e=[]){this.version="8.4.38",this.plugins=this.normalize(e)}normalize(e){let t=[];for(let s of e)if(!0===s.postcss?s=s():s.postcss&&(s=s.postcss),"object"==typeof s&&Array.isArray(s.plugins))t=t.concat(s.plugins);else if("object"==typeof s&&s.postcssPlugin)t.push(s);else if("function"==typeof s)t.push(s);else{if("object"!=typeof s||!s.parse&&!s.stringify)throw new Error(s+" is not a PostCSS plugin");if("production"!==process.env.NODE_ENV)throw new Error("PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.")}return t}process(e,t={}){return this.plugins.length||t.parser||t.stringifier||t.syntax?new aa(this,e,t):new oa(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};var ua=ha;ha.default=ha,ca.registerProcessor(ha),la.registerProcessor(ha);let da=Tn,pa=Ln,ma=ui,fa=lo,ga=Jn,ya=mo,wa=So;function va(e,t){if(Array.isArray(e))return e.map(e=>va(e));let{inputs:s,...r}=e;if(s){t=[];for(let e of s){let s={...e,__proto__:ga.prototype};s.map&&(s.map={...s.map,__proto__:pa.prototype}),t.push(s)}}if(r.nodes&&(r.nodes=e.nodes.map(e=>va(e,t))),r.source){let{inputId:e,...s}=r.source;r.source=s,null!=e&&(r.source.input=t[e])}if("root"===r.type)return new ya(r);if("decl"===r.type)return new da(r);if("rule"===r.type)return new wa(r);if("comment"===r.type)return new ma(r);if("atrule"===r.type)return new fa(r);throw new Error("Unknown node type: "+e.type)}var Sa=va;va.default=va;let ba=cn,Ca=Tn,ka=Xo,Ia=Ii,Ea=ua,xa=gn,Ta=Sa,Oa=Mi,Ma=Di,_a=ui,Ra=lo,Aa=Li,Da=Jn,Pa=Ao,Na=go,La=So,Fa=mo,Ua=In;function Ba(...e){return 1===e.length&&Array.isArray(e[0])&&(e=e[0]),new Ea(e)}Ba.plugin=function(e,t){let s,r=!1;function n(...s){console&&console.warn&&!r&&(r=!0,console.warn(e+": postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration"),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+": ιι’ postcss.plugin θ’«εΌη¨. θΏη§»ζε:\nhttps://www.w3ctech.com/topic/2226"));let n=t(...s);return n.postcssPlugin=e,n.postcssVersion=(new Ea).version,n}return Object.defineProperty(n,"postcss",{get:()=>(s||(s=n()),s)}),n.process=function(e,t,s){return Ba([n(s)]).process(e,t)},n},Ba.stringify=xa,Ba.parse=Pa,Ba.fromJSON=Ta,Ba.list=Na,Ba.comment=e=>new _a(e),Ba.atRule=e=>new Ra(e),Ba.decl=e=>new Ca(e),Ba.rule=e=>new La(e),Ba.root=e=>new Fa(e),Ba.document=e=>new Oa(e),Ba.CssSyntaxError=ba,Ba.Declaration=Ca,Ba.Container=Ia,Ba.Processor=Ea,Ba.Document=Oa,Ba.Comment=_a,Ba.Warning=Ma,Ba.AtRule=Ra,Ba.Result=Aa,Ba.Input=Da,Ba.Rule=La,Ba.Root=Fa,Ba.Node=Ua,ka.registerPostcss(Ba);var $a=Ba;Ba.default=Ba;const za=Xr($a);za.stringify,za.fromJSON,za.plugin,za.parse,za.list,za.document,za.comment,za.atRule,za.rule,za.decl,za.root,za.CssSyntaxError,za.Declaration,za.Container,za.Processor,za.Document,za.Comment,za.Warning,za.AtRule,za.Result,za.Input,za.Rule,za.Root,za.Node;class ja{constructor(...e){Jr(this,"parentElement",null),Jr(this,"parentNode",null),Jr(this,"ownerDocument"),Jr(this,"firstChild",null),Jr(this,"lastChild",null),Jr(this,"previousSibling",null),Jr(this,"nextSibling",null),Jr(this,"ELEMENT_NODE",1),Jr(this,"TEXT_NODE",3),Jr(this,"nodeType"),Jr(this,"nodeName"),Jr(this,"RRNodeType")}get childNodes(){const e=[];let t=this.firstChild;for(;t;)e.push(t),t=t.nextSibling;return e}contains(e){if(!(e instanceof ja))return!1;if(e.ownerDocument!==this.ownerDocument)return!1;if(e===this)return!0;for(;e.parentNode;){if(e.parentNode===this)return!0;e=e.parentNode}return!1}appendChild(e){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(e,t){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(e){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}}const Wa={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Ka={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Va={};function Ga(e){if(Va[e])return Va[e];const t=globalThis[e],s=t.prototype,r=e in Wa?Wa[e]:void 0,n=Boolean(r&&r.every(e=>{var t,r;return Boolean(null==(r=null==(t=Object.getOwnPropertyDescriptor(s,e))?void 0:t.get)?void 0:r.toString().includes("[native code]"))})),i=e in Ka?Ka[e]:void 0,o=Boolean(i&&i.every(e=>{var t;return"function"==typeof s[e]&&(null==(t=s[e])?void 0:t.toString().includes("[native code]"))}));if(n&&o&&!globalThis.Zone)return Va[e]=t.prototype,t.prototype;try{const r=document.createElement("iframe");document.body.appendChild(r);const n=r.contentWindow;if(!n)return t.prototype;const i=n[e].prototype;return document.body.removeChild(r),i?Va[e]=i:s}catch{return s}}const Ha={};function Ya(e,t,s){var r;const n=`${e}.${String(s)}`;if(Ha[n])return Ha[n].call(t);const i=Ga(e),o=null==(r=Object.getOwnPropertyDescriptor(i,s))?void 0:r.get;return o?(Ha[n]=o,o.call(t)):t[s]}const Za={};function qa(e,t,s){const r=`${e}.${String(s)}`;if(Za[r])return Za[r].bind(t);const n=Ga(e)[s];return"function"!=typeof n?t[s]:(Za[r]=n,n.bind(t))}function Ja(){return Ga("MutationObserver").constructor}function Xa(e,t,s){try{if(!(t in e))return()=>{};const r=e[t],n=s(r);return"function"==typeof n&&(n.prototype=n.prototype||{},Object.defineProperties(n,{__rrweb_original__:{enumerable:!1,value:r}})),e[t]=n,()=>{e[t]=r}}catch{return()=>{}}}const Qa={ownerDocument:function(e){return Ya("Node",e,"ownerDocument")},childNodes:function(e){return Ya("Node",e,"childNodes")},parentNode:function(e){return Ya("Node",e,"parentNode")},parentElement:function(e){return Ya("Node",e,"parentElement")},textContent:function(e){return Ya("Node",e,"textContent")},contains:function(e,t){return qa("Node",e,"contains")(t)},getRootNode:function(e){return qa("Node",e,"getRootNode")()},host:function(e){return e&&"host"in e?Ya("ShadowRoot",e,"host"):null},styleSheets:function(e){return e.styleSheets},shadowRoot:function(e){return e&&"shadowRoot"in e?Ya("Element",e,"shadowRoot"):null},querySelector:function(e,t){return Ya("Element",e,"querySelector")(t)},querySelectorAll:function(e,t){return Ya("Element",e,"querySelectorAll")(t)},mutationObserver:Ja,patch:Xa};function el(e,t,s=document){const r={capture:!0,passive:!0};return s.addEventListener(e,t,r),()=>s.removeEventListener(e,t,r)}const tl="Please stop import mirror directly. Instead of that,\r\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\r\nor you can use record.mirror to access the mirror instance during recording.";let sl={map:{},getId:()=>(console.error(tl),-1),getNode:()=>(console.error(tl),null),removeNodeFromMap(){console.error(tl)},has:()=>(console.error(tl),!1),reset(){console.error(tl)}};function rl(e,t,s={}){let r=null,n=0;return function(...i){const o=Date.now();n||!1!==s.leading||(n=o);const a=t-(o-n),l=this;a<=0||a>t?(r&&(clearTimeout(r),r=null),n=o,e.apply(l,i)):r||!1===s.trailing||(r=setTimeout(()=>{n=!1===s.leading?0:Date.now(),r=null,e.apply(l,i)},a))}}function nl(e,t,s,r,n=window){const i=n.Object.getOwnPropertyDescriptor(e,t);return n.Object.defineProperty(e,t,r?s:{set(e){setTimeout(()=>{s.set.call(this,e)},0),i&&i.set&&i.set.call(this,e)}}),()=>nl(e,t,i||{},!0)}"undefined"!=typeof window&&window.Proxy&&window.Reflect&&(sl=new Proxy(sl,{get:(e,t,s)=>("map"===t&&console.error(tl),Reflect.get(e,t,s))}));let il=Date.now;function ol(e){var t,s,r,n;const i=e.document;return{left:i.scrollingElement?i.scrollingElement.scrollLeft:void 0!==e.pageXOffset?e.pageXOffset:i.documentElement.scrollLeft||(null==i?void 0:i.body)&&(null==(t=Qa.parentElement(i.body))?void 0:t.scrollLeft)||(null==(s=null==i?void 0:i.body)?void 0:s.scrollLeft)||0,top:i.scrollingElement?i.scrollingElement.scrollTop:void 0!==e.pageYOffset?e.pageYOffset:(null==i?void 0:i.documentElement.scrollTop)||(null==i?void 0:i.body)&&(null==(r=Qa.parentElement(i.body))?void 0:r.scrollTop)||(null==(n=null==i?void 0:i.body)?void 0:n.scrollTop)||0}}function al(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function ll(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function cl(e){if(!e)return null;return e.nodeType===e.ELEMENT_NODE?e:Qa.parentElement(e)}function hl(e,t,s,r){if(!e)return!1;const n=cl(e);if(!n)return!1;try{if("string"==typeof t){if(n.classList.contains(t))return!0;if(r&&null!==n.closest("."+t))return!0}else if(se(n,t,r))return!0}catch(e){}if(s){if(n.matches(s))return!0;if(r&&null!==n.closest(s))return!0}return!1}function ul(e,t,s){return!("TITLE"!==e.tagName||!s.headTitleMutations)||-2===t.getId(e)}function dl(e,t){if(x(e))return!1;const s=t.getId(e);if(!t.has(s))return!0;const r=Qa.parentNode(e);return(!r||r.nodeType!==e.DOCUMENT_NODE)&&(!r||dl(r,t))}function pl(e){return Boolean(e.changedTouches)}function ml(e,t){return Boolean("IFRAME"===e.nodeName&&t.getMeta(e))}function fl(e,t){return Boolean("LINK"===e.nodeName&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&"stylesheet"===e.getAttribute("rel")&&t.getMeta(e))}function gl(e){return!!e&&(e instanceof ja&&"shadowRoot"in e?Boolean(e.shadowRoot):Boolean(Qa.shadowRoot(e)))}/[1-9][0-9]{12}/.test(Date.now().toString())||(il=()=>(new Date).getTime());class yl{constructor(){d(this,"id",1),d(this,"styleIDMap",new WeakMap),d(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 s;return s=void 0===t?this.id++:t,this.styleIDMap.set(e,s),this.idStyleMap.set(s,e),s}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 wl(e){var t;let s=null;return"getRootNode"in e&&(null==(t=Qa.getRootNode(e))?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&Qa.host(Qa.getRootNode(e))&&(s=Qa.host(Qa.getRootNode(e))),s}function vl(e){const t=Qa.ownerDocument(e);if(!t)return!1;const s=function(e){let t,s=e;for(;t=wl(s);)s=t;return s}(e);return Qa.contains(t,s)}function Sl(e){const t=Qa.ownerDocument(e);return!!t&&(Qa.contains(t,e)||vl(e))}var bl=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e))(bl||{}),Cl=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(Cl||{}),kl=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(kl||{}),Il=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(Il||{}),El=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(El||{}),xl=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(xl||{}),Tl=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Tl||{});function Ol(e){return"__ln"in e}class Ml{constructor(){d(this,"length",0),d(this,"head",null),d(this,"tail",null)}get(e){if(e>=this.length)throw new Error("Position outside of list range");let t=this.head;for(let s=0;s<e;s++)t=(null==t?void 0:t.next)||null;return t}addNode(e){const t={value:e,previous:null,next:null};if(e.__ln=t,e.previousSibling&&Ol(e.previousSibling)){const s=e.previousSibling.__ln.next;t.next=s,t.previous=e.previousSibling.__ln,e.previousSibling.__ln.next=t,s&&(s.previous=t)}else if(e.nextSibling&&Ol(e.nextSibling)&&e.nextSibling.__ln.previous){const s=e.nextSibling.__ln.previous;t.previous=s,t.next=e.nextSibling.__ln,e.nextSibling.__ln.previous=t,s&&(s.next=t)}else this.head&&(this.head.previous=t),t.next=this.head,this.head=t;null===t.next&&(this.tail=t),this.length++}removeNode(e){const 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--)}}const _l=(e,t)=>`${e}@${t}`;class Rl{constructor(){d(this,"frozen",!1),d(this,"locked",!1),d(this,"texts",[]),d(this,"attributes",[]),d(this,"attributeMap",new WeakMap),d(this,"removes",[]),d(this,"mapRemoves",[]),d(this,"movedMap",{}),d(this,"addedSet",new Set),d(this,"movedSet",new Set),d(this,"droppedSet",new Set),d(this,"removesSubTreeCache",new Set),d(this,"mutationCb"),d(this,"blockClass"),d(this,"blockSelector"),d(this,"maskTextClass"),d(this,"maskTextSelector"),d(this,"inlineStylesheet"),d(this,"maskInputOptions"),d(this,"maskTextFn"),d(this,"maskInputFn"),d(this,"keepIframeSrcFn"),d(this,"recordCanvas"),d(this,"inlineImages"),d(this,"slimDOMOptions"),d(this,"dataURLOptions"),d(this,"doc"),d(this,"mirror"),d(this,"iframeManager"),d(this,"stylesheetManager"),d(this,"shadowDomManager"),d(this,"canvasManager"),d(this,"processedNodeManager"),d(this,"unattachedDoc"),d(this,"processMutations",e=>{e.forEach(this.processMutation),this.emit()}),d(this,"emit",()=>{if(this.frozen||this.locked)return;const e=[],t=new Set,s=new Ml,r=e=>{let t=e,s=-2;for(;-2===s;)t=t&&t.nextSibling,s=t&&this.mirror.getId(t);return s},n=n=>{const i=Qa.parentNode(n);if(!i||!Sl(n))return;let o=!1;if(n.nodeType===Node.TEXT_NODE){const e=i.tagName;if("TEXTAREA"===e)return;"STYLE"===e&&this.addedSet.has(i)&&(o=!0)}const a=x(i)?this.mirror.getId(wl(n)):this.mirror.getId(i),l=r(n);if(-1===a||-1===l)return s.addNode(n);const c=ae(n,{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:e=>{ml(e,this.mirror)&&this.iframeManager.addIframe(e),fl(e,this.mirror)&&this.stylesheetManager.trackLinkElement(e),gl(n)&&this.shadowDomManager.addShadowRoot(Qa.shadowRoot(n),this.doc)},onIframeLoad:(e,t)=>{this.iframeManager.attachIframe(e,t),this.shadowDomManager.observeAttachShadow(e)},onStylesheetLoad:(e,t)=>{this.stylesheetManager.attachLinkElement(e,t)},cssCaptured:o});c&&(e.push({parentId:a,nextId:l,node:c}),t.add(c.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const e of this.movedSet)Dl(this.removesSubTreeCache,e,this.mirror)&&!this.movedSet.has(Qa.parentNode(e))||n(e);for(const e of this.addedSet)Pl(this.droppedSet,e)||Dl(this.removesSubTreeCache,e,this.mirror)?Pl(this.movedSet,e)?n(e):this.droppedSet.add(e):n(e);let i=null;for(;s.length;){let e=null;if(i){const t=this.mirror.getId(Qa.parentNode(i.value)),s=r(i.value);-1!==t&&-1!==s&&(e=i)}if(!e){let t=s.tail;for(;t;){const s=t;if(t=t.previous,s){const t=this.mirror.getId(Qa.parentNode(s.value));if(-1===r(s.value))continue;if(-1!==t){e=s;break}{const t=s.value,r=Qa.parentNode(t);if(r&&r.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const t=Qa.host(r);if(-1!==this.mirror.getId(t)){e=s;break}}}}}}if(!e){for(;s.head;)s.removeNode(s.head.value);break}i=e.previous,s.removeNode(e.value),n(e.value)}const o={texts:this.texts.map(e=>{const t=e.node,s=Qa.parentNode(t);return s&&"TEXTAREA"===s.tagName&&this.genTextAreaValueMutation(s),{id:this.mirror.getId(t),value:e.value}}).filter(e=>!t.has(e.id)).filter(e=>this.mirror.has(e.id)),attributes:this.attributes.map(e=>{const{attributes:t}=e;if("string"==typeof t.style){const s=JSON.stringify(e.styleDiff),r=JSON.stringify(e._unchangedStyles);s.length<t.style.length&&(s+r).split("var(").length===t.style.split("var(").length&&(t.style=e.styleDiff)}return{id:this.mirror.getId(e.node),attributes:t}}).filter(e=>!t.has(e.id)).filter(e=>this.mirror.has(e.id)),removes:this.removes,adds:e};(o.texts.length||o.attributes.length||o.removes.length||o.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(o))}),d(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));const s=Array.from(Qa.childNodes(e),e=>Qa.textContent(e)||"").join("");t.attributes.value=R({element:e,maskInputOptions:this.maskInputOptions,tagName:e.tagName,type:P(e),value:s,maskInputFn:this.maskInputFn})}),d(this,"processMutation",e=>{if(!ul(e.target,this.mirror,this.slimDOMOptions))switch(e.type){case"characterData":{const t=Qa.textContent(e.target);hl(e.target,this.blockClass,this.blockSelector,!1)||t===e.oldValue||this.texts.push({value:re(e.target,this.maskTextClass,this.maskTextSelector,!0)&&t?this.maskTextFn?this.maskTextFn(t,cl(e.target)):t.replace(/[\S]/g,"*"):t,node:e.target});break}case"attributes":{const t=e.target;let s=e.attributeName,r=e.target.getAttribute(s);if("value"===s){const e=P(t);r=R({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:e,value:r,maskInputFn:this.maskInputFn})}if(hl(e.target,this.blockClass,this.blockSelector,!1)||r===e.oldValue)return;let n=this.attributeMap.get(e.target);if("IFRAME"===t.tagName&&"src"===s&&!this.keepIframeSrcFn(r)){if(t.contentDocument)return;s="rr_src"}if(n||(n={node:e.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(n),this.attributeMap.set(e.target,n)),"type"===s&&"INPUT"===t.tagName&&"password"===(e.oldValue||"").toLowerCase()&&t.setAttribute("data-rr-is-password","true"),!te(t.tagName,s))if(n.attributes[s]=ee(this.doc,A(t.tagName),A(s),r),"style"===s){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch(e){this.unattachedDoc=this.doc}const s=this.unattachedDoc.createElement("span");e.oldValue&&s.setAttribute("style",e.oldValue);for(const e of Array.from(t.style)){const r=t.style.getPropertyValue(e),i=t.style.getPropertyPriority(e);r!==s.style.getPropertyValue(e)||i!==s.style.getPropertyPriority(e)?n.styleDiff[e]=""===i?r:[r,i]:n._unchangedStyles[e]=[r,i]}for(const e of Array.from(s.style))""===t.style.getPropertyValue(e)&&(n.styleDiff[e]=!1)}else"open"===s&&"DIALOG"===t.tagName&&(t.matches("dialog:modal")?n.attributes.rr_open_mode="modal":n.attributes.rr_open_mode="non-modal");break}case"childList":if(hl(e.target,this.blockClass,this.blockSelector,!0))return;if("TEXTAREA"===e.target.tagName)return void this.genTextAreaValueMutation(e.target);e.addedNodes.forEach(t=>this.genAdds(t,e.target)),e.removedNodes.forEach(t=>{const s=this.mirror.getId(t),r=x(e.target)?this.mirror.getId(Qa.host(e.target)):this.mirror.getId(e.target);hl(e.target,this.blockClass,this.blockSelector,!1)||ul(t,this.mirror,this.slimDOMOptions)||!function(e,t){return-1!==t.getId(e)}(t,this.mirror)||(this.addedSet.has(t)?(Al(this.addedSet,t),this.droppedSet.add(t)):this.addedSet.has(e.target)&&-1===s||dl(e.target,this.mirror)||(this.movedSet.has(t)&&this.movedMap[_l(s,r)]?Al(this.movedSet,t):(this.removes.push({parentId:r,id:s,isShadow:!(!x(e.target)||!T(e.target))||void 0}),function(e,t){const s=[e];for(;s.length;){const e=s.pop();t.has(e)||(t.add(e),Qa.childNodes(e).forEach(e=>s.push(e)))}}(t,this.removesSubTreeCache))),this.mapRemoves.push(t))})}}),d(this,"genAdds",(e,t)=>{if(!this.processedNodeManager.inOtherBuffer(e,this)&&!this.addedSet.has(e)&&!this.movedSet.has(e)){if(this.mirror.hasNode(e)){if(ul(e,this.mirror,this.slimDOMOptions))return;this.movedSet.add(e);let s=null;t&&this.mirror.hasNode(t)&&(s=this.mirror.getId(t)),s&&-1!==s&&(this.movedMap[_l(this.mirror.getId(e),s)]=!0)}else this.addedSet.add(e),this.droppedSet.delete(e);hl(e,this.blockClass,this.blockSelector,!1)||(Qa.childNodes(e).forEach(e=>this.genAdds(e)),gl(e)&&Qa.childNodes(Qa.shadowRoot(e)).forEach(t=>{this.processedNodeManager.add(t,this),this.genAdds(t,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 Al(e,t){e.delete(t),Qa.childNodes(t).forEach(t=>Al(e,t))}function Dl(e,t,s){return 0!==e.size&&function(e,t){const s=Qa.parentNode(t);return!!s&&e.has(s)}(e,t)}function Pl(e,t){return 0!==e.size&&Nl(e,t)}function Nl(e,t){const s=Qa.parentNode(t);return!!s&&(!!e.has(s)||Nl(e,s))}let Ll;const Fl=e=>{if(!Ll)return e;return(...t)=>{try{return e(...t)}catch(e){if(Ll&&!0===Ll(e))return;throw e}}},Ul=[];function Bl(e){try{if("composedPath"in e){const t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function $l(e,t){const s=new Rl;Ul.push(s),s.init(e);const r=new(Ja())(Fl(s.processMutations.bind(s)));return r.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),r}function zl({mouseInteractionCb:e,doc:t,mirror:s,blockClass:r,blockSelector:n,sampling:i}){if(!1===i.mouseInteraction)return()=>{};const o=!0===i.mouseInteraction||void 0===i.mouseInteraction?{}:i.mouseInteraction,a=[];let l=null;return Object.keys(kl).filter(e=>Number.isNaN(Number(e))&&!e.endsWith("_Departed")&&!1!==o[e]).forEach(i=>{let o=A(i);const c=(t=>i=>{const o=Bl(i);if(hl(o,r,n,!0))return;let a=null,c=t;if("pointerType"in i){switch(i.pointerType){case"mouse":a=Il.Mouse;break;case"touch":a=Il.Touch;break;case"pen":a=Il.Pen}a===Il.Touch?kl[t]===kl.MouseDown?c="TouchStart":kl[t]===kl.MouseUp&&(c="TouchEnd"):Il.Pen}else pl(i)&&(a=Il.Touch);null!==a?(l=a,(c.startsWith("Touch")&&a===Il.Touch||c.startsWith("Mouse")&&a===Il.Mouse)&&(a=null)):kl[t]===kl.Click&&(a=l,l=null);const h=pl(i)?i.changedTouches[0]:i;if(!h)return;const u=s.getId(o),{clientX:d,clientY:p}=h;Fl(e)({type:kl[c],id:u,x:d,y:p,...null!==a&&{pointerType:a}})})(i);if(window.PointerEvent)switch(kl[i]){case kl.MouseDown:case kl.MouseUp:o=o.replace("mouse","pointer");break;case kl.TouchStart:case kl.TouchEnd:return}a.push(el(o,c,t))}),Fl(()=>{a.forEach(e=>e())})}function jl({scrollCb:e,doc:t,mirror:s,blockClass:r,blockSelector:n,sampling:i}){return el("scroll",Fl(rl(Fl(i=>{const o=Bl(i);if(!o||hl(o,r,n,!0))return;const a=s.getId(o);if(o===t&&t.defaultView){const s=ol(t.defaultView);e({id:a,x:s.left,y:s.top})}else e({id:a,x:o.scrollLeft,y:o.scrollTop})}),i.scroll||100)),t)}const Wl=["INPUT","TEXTAREA","SELECT"],Kl=new WeakMap;function Vl(e){return function(e,t){if(Zl("CSSGroupingRule")&&e.parentRule instanceof CSSGroupingRule||Zl("CSSMediaRule")&&e.parentRule instanceof CSSMediaRule||Zl("CSSSupportsRule")&&e.parentRule instanceof CSSSupportsRule||Zl("CSSConditionRule")&&e.parentRule instanceof CSSConditionRule){const s=Array.from(e.parentRule.cssRules).indexOf(e);t.unshift(s)}else if(e.parentStyleSheet){const s=Array.from(e.parentStyleSheet.cssRules).indexOf(e);t.unshift(s)}return t}(e,[])}function Gl(e,t,s){let r,n;return e?(e.ownerNode?r=t.getId(e.ownerNode):n=s.getId(e),{styleId:n,id:r}):{}}function Hl({mirror:e,stylesheetManager:t},s){var r,n,i;let o=null;o="#document"===s.nodeName?e.getId(s):e.getId(Qa.host(s));const a="#document"===s.nodeName?null==(r=s.defaultView)?void 0:r.Document:null==(i=null==(n=s.ownerDocument)?void 0:n.defaultView)?void 0:i.ShadowRoot,l=(null==a?void 0:a.prototype)?Object.getOwnPropertyDescriptor(null==a?void 0:a.prototype,"adoptedStyleSheets"):void 0;return null!==o&&-1!==o&&a&&l?(Object.defineProperty(s,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get(){var e;return null==(e=l.get)?void 0:e.call(this)},set(e){var s;const r=null==(s=l.set)?void 0:s.call(this,e);if(null!==o&&-1!==o)try{t.adoptStyleSheets(e,o)}catch(e){}return r}}),Fl(()=>{Object.defineProperty(s,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get:l.get,set:l.set})})):()=>{}}function Yl(e,t={}){const s=e.doc.defaultView;if(!s)return()=>{};let r;!function(e,t){const{mutationCb:s,mousemoveCb:r,mouseInteractionCb:n,scrollCb:i,viewportResizeCb:o,inputCb:a,mediaInteractionCb:l,styleSheetRuleCb:c,styleDeclarationCb:h,canvasMutationCb:u,fontCb:d,selectionCb:p,customElementCb:m}=e;e.mutationCb=(...e)=>{t.mutation&&t.mutation(...e),s(...e)},e.mousemoveCb=(...e)=>{t.mousemove&&t.mousemove(...e),r(...e)},e.mouseInteractionCb=(...e)=>{t.mouseInteraction&&t.mouseInteraction(...e),n(...e)},e.scrollCb=(...e)=>{t.scroll&&t.scroll(...e),i(...e)},e.viewportResizeCb=(...e)=>{t.viewportResize&&t.viewportResize(...e),o(...e)},e.inputCb=(...e)=>{t.input&&t.input(...e),a(...e)},e.mediaInteractionCb=(...e)=>{t.mediaInteaction&&t.mediaInteaction(...e),l(...e)},e.styleSheetRuleCb=(...e)=>{t.styleSheetRule&&t.styleSheetRule(...e),c(...e)},e.styleDeclarationCb=(...e)=>{t.styleDeclaration&&t.styleDeclaration(...e),h(...e)},e.canvasMutationCb=(...e)=>{t.canvasMutation&&t.canvasMutation(...e),u(...e)},e.fontCb=(...e)=>{t.font&&t.font(...e),d(...e)},e.selectionCb=(...e)=>{t.selection&&t.selection(...e),p(...e)},e.customElementCb=(...e)=>{t.customElement&&t.customElement(...e),m(...e)}}(e,t),e.recordDOM&&(r=$l(e,e.doc));const n=function({mousemoveCb:e,sampling:t,doc:s,mirror:r}){if(!1===t.mousemove)return()=>{};const n="number"==typeof t.mousemove?t.mousemove:50,i="number"==typeof t.mousemoveCallback?t.mousemoveCallback:500;let o,a=[];const l=rl(Fl(t=>{const s=Date.now()-o;e(a.map(e=>(e.timeOffset-=s,e)),t),a=[],o=null}),i),c=Fl(rl(Fl(e=>{const t=Bl(e),{clientX:s,clientY:n}=pl(e)?e.changedTouches[0]:e;o||(o=il()),a.push({x:s,y:n,id:r.getId(t),timeOffset:il()-o}),l("undefined"!=typeof DragEvent&&e instanceof DragEvent?Cl.Drag:e instanceof MouseEvent?Cl.MouseMove:Cl.TouchMove)}),n,{trailing:!1})),h=[el("mousemove",c,s),el("touchmove",c,s),el("drag",c,s)];return Fl(()=>{h.forEach(e=>e())})}(e),i=zl(e),o=jl(e),a=function({viewportResizeCb:e},{win:t}){let s=-1,r=-1;return el("resize",Fl(rl(Fl(()=>{const t=al(),n=ll();s===t&&r===n||(e({width:Number(n),height:Number(t)}),s=t,r=n)}),200)),t)}(e,{win:s}),l=function({inputCb:e,doc:t,mirror:s,blockClass:r,blockSelector:n,ignoreClass:i,ignoreSelector:o,maskInputOptions:a,maskInputFn:l,sampling:c,userTriggeredOnInput:h}){function u(e){let s=Bl(e);const c=e.isTrusted,u=s&&s.tagName;if(s&&"OPTION"===u&&(s=Qa.parentElement(s)),!s||!u||Wl.indexOf(u)<0||hl(s,r,n,!0))return;if(s.classList.contains(i)||o&&s.matches(o))return;let p=s.value,m=!1;const f=P(s)||"";"radio"===f||"checkbox"===f?m=s.checked:(a[u.toLowerCase()]||a[f])&&(p=R({element:s,maskInputOptions:a,tagName:u,type:f,value:p,maskInputFn:l})),d(s,h?{text:p,isChecked:m,userTriggered:c}:{text:p,isChecked:m});const g=s.name;"radio"===f&&g&&m&&t.querySelectorAll(`input[type="radio"][name="${g}"]`).forEach(e=>{if(e!==s){const t=e.value;d(e,h?{text:t,isChecked:!m,userTriggered:!1}:{text:t,isChecked:!m})}})}function d(t,r){const n=Kl.get(t);if(!n||n.text!==r.text||n.isChecked!==r.isChecked){Kl.set(t,r);const n=s.getId(t);Fl(e)({...r,id:n})}}const p=("last"===c.input?["change"]:["input","change"]).map(e=>el(e,Fl(u),t)),m=t.defaultView;if(!m)return()=>{p.forEach(e=>e())};const f=m.Object.getOwnPropertyDescriptor(m.HTMLInputElement.prototype,"value"),g=[[m.HTMLInputElement.prototype,"value"],[m.HTMLInputElement.prototype,"checked"],[m.HTMLSelectElement.prototype,"value"],[m.HTMLTextAreaElement.prototype,"value"],[m.HTMLSelectElement.prototype,"selectedIndex"],[m.HTMLOptionElement.prototype,"selected"]];return f&&f.set&&p.push(...g.map(e=>nl(e[0],e[1],{set(){Fl(u)({target:this,isTrusted:!1})}},!1,m))),Fl(()=>{p.forEach(e=>e())})}(e),c=function({mediaInteractionCb:e,blockClass:t,blockSelector:s,mirror:r,sampling:n,doc:i}){const o=Fl(i=>rl(Fl(n=>{const o=Bl(n);if(!o||hl(o,t,s,!0))return;const{currentTime:a,volume:l,muted:c,playbackRate:h,loop:u}=o;e({type:i,id:r.getId(o),currentTime:a,volume:l,muted:c,playbackRate:h,loop:u})}),n.media||500)),a=[el("play",o(xl.Play),i),el("pause",o(xl.Pause),i),el("seeked",o(xl.Seeked),i),el("volumechange",o(xl.VolumeChange),i),el("ratechange",o(xl.RateChange),i)];return Fl(()=>{a.forEach(e=>e())})}(e);let h=()=>{},u=()=>{},d=()=>{},p=()=>{};e.recordDOM&&(h=function({styleSheetRuleCb:e,mirror:t,stylesheetManager:s},{win:r}){if(!r.CSSStyleSheet||!r.CSSStyleSheet.prototype)return()=>{};const n=r.CSSStyleSheet.prototype.insertRule;r.CSSStyleSheet.prototype.insertRule=new Proxy(n,{apply:Fl((r,n,i)=>{const[o,a]=i,{id:l,styleId:c}=Gl(n,t,s.styleMirror);return(l&&-1!==l||c&&-1!==c)&&e({id:l,styleId:c,adds:[{rule:o,index:a}]}),r.apply(n,i)})}),r.CSSStyleSheet.prototype.addRule=function(e,t,s=this.cssRules.length){const n=`${e} { ${t} }`;return r.CSSStyleSheet.prototype.insertRule.apply(this,[n,s])};const i=r.CSSStyleSheet.prototype.deleteRule;let o,a;r.CSSStyleSheet.prototype.deleteRule=new Proxy(i,{apply:Fl((r,n,i)=>{const[o]=i,{id:a,styleId:l}=Gl(n,t,s.styleMirror);return(a&&-1!==a||l&&-1!==l)&&e({id:a,styleId:l,removes:[{index:o}]}),r.apply(n,i)})}),r.CSSStyleSheet.prototype.removeRule=function(e){return r.CSSStyleSheet.prototype.deleteRule.apply(this,[e])},r.CSSStyleSheet.prototype.replace&&(o=r.CSSStyleSheet.prototype.replace,r.CSSStyleSheet.prototype.replace=new Proxy(o,{apply:Fl((r,n,i)=>{const[o]=i,{id:a,styleId:l}=Gl(n,t,s.styleMirror);return(a&&-1!==a||l&&-1!==l)&&e({id:a,styleId:l,replace:o}),r.apply(n,i)})})),r.CSSStyleSheet.prototype.replaceSync&&(a=r.CSSStyleSheet.prototype.replaceSync,r.CSSStyleSheet.prototype.replaceSync=new Proxy(a,{apply:Fl((r,n,i)=>{const[o]=i,{id:a,styleId:l}=Gl(n,t,s.styleMirror);return(a&&-1!==a||l&&-1!==l)&&e({id:a,styleId:l,replaceSync:o}),r.apply(n,i)})}));const l={};ql("CSSGroupingRule")?l.CSSGroupingRule=r.CSSGroupingRule:(ql("CSSMediaRule")&&(l.CSSMediaRule=r.CSSMediaRule),ql("CSSConditionRule")&&(l.CSSConditionRule=r.CSSConditionRule),ql("CSSSupportsRule")&&(l.CSSSupportsRule=r.CSSSupportsRule));const c={};return Object.entries(l).forEach(([r,n])=>{c[r]={insertRule:n.prototype.insertRule,deleteRule:n.prototype.deleteRule},n.prototype.insertRule=new Proxy(c[r].insertRule,{apply:Fl((r,n,i)=>{const[o,a]=i,{id:l,styleId:c}=Gl(n.parentStyleSheet,t,s.styleMirror);return(l&&-1!==l||c&&-1!==c)&&e({id:l,styleId:c,adds:[{rule:o,index:[...Vl(n),a||0]}]}),r.apply(n,i)})}),n.prototype.deleteRule=new Proxy(c[r].deleteRule,{apply:Fl((r,n,i)=>{const[o]=i,{id:a,styleId:l}=Gl(n.parentStyleSheet,t,s.styleMirror);return(a&&-1!==a||l&&-1!==l)&&e({id:a,styleId:l,removes:[{index:[...Vl(n),o]}]}),r.apply(n,i)})})}),Fl(()=>{r.CSSStyleSheet.prototype.insertRule=n,r.CSSStyleSheet.prototype.deleteRule=i,o&&(r.CSSStyleSheet.prototype.replace=o),a&&(r.CSSStyleSheet.prototype.replaceSync=a),Object.entries(l).forEach(([e,t])=>{t.prototype.insertRule=c[e].insertRule,t.prototype.deleteRule=c[e].deleteRule})})}(e,{win:s}),u=Hl(e,e.doc),d=function({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:s,stylesheetManager:r},{win:n}){const i=n.CSSStyleDeclaration.prototype.setProperty;n.CSSStyleDeclaration.prototype.setProperty=new Proxy(i,{apply:Fl((n,o,a)=>{var l;const[c,h,u]=a;if(s.has(c))return i.apply(o,[c,h,u]);const{id:d,styleId:p}=Gl(null==(l=o.parentRule)?void 0:l.parentStyleSheet,t,r.styleMirror);return(d&&-1!==d||p&&-1!==p)&&e({id:d,styleId:p,set:{property:c,value:h,priority:u},index:Vl(o.parentRule)}),n.apply(o,a)})});const o=n.CSSStyleDeclaration.prototype.removeProperty;return n.CSSStyleDeclaration.prototype.removeProperty=new Proxy(o,{apply:Fl((n,i,a)=>{var l;const[c]=a;if(s.has(c))return o.apply(i,[c]);const{id:h,styleId:u}=Gl(null==(l=i.parentRule)?void 0:l.parentStyleSheet,t,r.styleMirror);return(h&&-1!==h||u&&-1!==u)&&e({id:h,styleId:u,remove:{property:c},index:Vl(i.parentRule)}),n.apply(i,a)})}),Fl(()=>{n.CSSStyleDeclaration.prototype.setProperty=i,n.CSSStyleDeclaration.prototype.removeProperty=o})}(e,{win:s}),e.collectFonts&&(p=function({fontCb:e,doc:t}){const s=t.defaultView;if(!s)return()=>{};const r=[],n=new WeakMap,i=s.FontFace;s.FontFace=function(e,t,s){const r=new i(e,t,s);return n.set(r,{family:e,buffer:"string"!=typeof t,descriptors:s,fontSource:"string"==typeof t?t:JSON.stringify(Array.from(new Uint8Array(t)))}),r};const o=Xa(t.fonts,"add",function(t){return function(s){return setTimeout(Fl(()=>{const t=n.get(s);t&&(e(t),n.delete(s))}),0),t.apply(this,[s])}});return r.push(()=>{s.FontFace=i}),r.push(o),Fl(()=>{r.forEach(e=>e())})}(e)));const m=function(e){const{doc:t,mirror:s,blockClass:r,blockSelector:n,selectionCb:i}=e;let o=!0;const a=Fl(()=>{const e=t.getSelection();if(!e||o&&(null==e?void 0:e.isCollapsed))return;o=e.isCollapsed||!1;const a=[],l=e.rangeCount||0;for(let t=0;t<l;t++){const i=e.getRangeAt(t),{startContainer:o,startOffset:l,endContainer:c,endOffset:h}=i;hl(o,r,n,!0)||hl(c,r,n,!0)||a.push({start:s.getId(o),startOffset:l,end:s.getId(c),endOffset:h})}i({ranges:a})});return a(),el("selectionchange",a)}(e),f=function({doc:e,customElementCb:t}){const s=e.defaultView;return s&&s.customElements?Xa(s.customElements,"define",function(e){return function(s,r,n){try{t({define:{name:s}})}catch(e){console.warn(`Custom element callback failed for ${s}`)}return e.apply(this,[s,r,n])}}):()=>{}}(e),g=[];for(const t of e.plugins)g.push(t.observer(t.callback,s,t.options));return Fl(()=>{Ul.forEach(e=>e.reset()),null==r||r.disconnect(),n(),i(),o(),a(),l(),c(),h(),u(),d(),p(),m(),f(),g.forEach(e=>e())})}function Zl(e){return void 0!==window[e]}function ql(e){return Boolean(void 0!==window[e]&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}class Jl{constructor(e){d(this,"iframeIdToRemoteIdMap",new WeakMap),d(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=e}getId(e,t,s,r){const n=s||this.getIdToRemoteIdMap(e),i=r||this.getRemoteIdToIdMap(e);let o=n.get(t);return o||(o=this.generateIdFn(),n.set(t,o),i.set(o,t)),o}getIds(e,t){const s=this.getIdToRemoteIdMap(e),r=this.getRemoteIdToIdMap(e);return t.map(t=>this.getId(e,t,s,r))}getRemoteId(e,t,s){const r=s||this.getRemoteIdToIdMap(e);if("number"!=typeof t)return t;const n=r.get(t);return n||-1}getRemoteIds(e,t){const s=this.getRemoteIdToIdMap(e);return t.map(t=>this.getRemoteId(e,t,s))}reset(e){if(!e)return this.iframeIdToRemoteIdMap=new WeakMap,void(this.iframeRemoteIdToIdMap=new WeakMap);this.iframeIdToRemoteIdMap.delete(e),this.iframeRemoteIdToIdMap.delete(e)}getIdToRemoteIdMap(e){let t=this.iframeIdToRemoteIdMap.get(e);return t||(t=new Map,this.iframeIdToRemoteIdMap.set(e,t)),t}getRemoteIdToIdMap(e){let t=this.iframeRemoteIdToIdMap.get(e);return t||(t=new Map,this.iframeRemoteIdToIdMap.set(e,t)),t}}class Xl{constructor(e){d(this,"iframes",new WeakMap),d(this,"crossOriginIframeMap",new WeakMap),d(this,"crossOriginIframeMirror",new Jl(V)),d(this,"crossOriginIframeStyleMirror"),d(this,"crossOriginIframeRootIdMap",new WeakMap),d(this,"mirror"),d(this,"mutationCb"),d(this,"wrappedEmit"),d(this,"loadListener"),d(this,"stylesheetManager"),d(this,"recordCrossOriginIframes"),this.mutationCb=e.mutationCb,this.wrappedEmit=e.wrappedEmit,this.stylesheetManager=e.stylesheetManager,this.recordCrossOriginIframes=e.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Jl(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 s,r;this.mutationCb({adds:[{parentId:this.mirror.getId(e),nextId:null,node:t}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&(null==(s=e.contentWindow)||s.addEventListener("message",this.handleMessage.bind(this))),null==(r=this.loadListener)||r.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){const t=e;if("rrweb"!==t.data.type||t.origin!==t.data.origin)return;if(!e.source)return;const s=this.crossOriginIframeMap.get(e.source);if(!s)return;const r=this.transformCrossOriginEvent(s,t.data.event);r&&this.wrappedEmit(r,t.data.isCheckout)}transformCrossOriginEvent(e,t){var s;switch(t.type){case bl.FullSnapshot:{this.crossOriginIframeMirror.reset(e),this.crossOriginIframeStyleMirror.reset(e),this.replaceIdOnNode(t.data.node,e);const s=t.data.node.id;return this.crossOriginIframeRootIdMap.set(e,s),this.patchRootIdOnNode(t.data.node,s),{timestamp:t.timestamp,type:bl.IncrementalSnapshot,data:{source:Cl.Mutation,adds:[{parentId:this.mirror.getId(e),nextId:null,node:t.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case bl.Meta:case bl.Load:case bl.DomContentLoaded:return!1;case bl.Plugin:return t;case bl.Custom:return this.replaceIds(t.data.payload,e,["id","parentId","previousId","nextId"]),t;case bl.IncrementalSnapshot:switch(t.data.source){case Cl.Mutation:return t.data.adds.forEach(t=>{this.replaceIds(t,e,["parentId","nextId","previousId"]),this.replaceIdOnNode(t.node,e);const s=this.crossOriginIframeRootIdMap.get(e);s&&this.patchRootIdOnNode(t.node,s)}),t.data.removes.forEach(t=>{this.replaceIds(t,e,["parentId","id"])}),t.data.attributes.forEach(t=>{this.replaceIds(t,e,["id"])}),t.data.texts.forEach(t=>{this.replaceIds(t,e,["id"])}),t;case Cl.Drag:case Cl.TouchMove:case Cl.MouseMove:return t.data.positions.forEach(t=>{this.replaceIds(t,e,["id"])}),t;case Cl.ViewportResize:return!1;case Cl.MediaInteraction:case Cl.MouseInteraction:case Cl.Scroll:case Cl.CanvasMutation:case Cl.Input:return this.replaceIds(t.data,e,["id"]),t;case Cl.StyleSheetRule:case Cl.StyleDeclaration:return this.replaceIds(t.data,e,["id"]),this.replaceStyleIds(t.data,e,["styleId"]),t;case Cl.Font:return t;case Cl.Selection:return t.data.ranges.forEach(t=>{this.replaceIds(t,e,["start","end"])}),t;case Cl.AdoptedStyleSheet:return this.replaceIds(t.data,e,["id"]),this.replaceStyleIds(t.data,e,["styleIds"]),null==(s=t.data.styles)||s.forEach(t=>{this.replaceStyleIds(t,e,["styleId"])}),t}}return!1}replace(e,t,s,r){for(const n of r)(Array.isArray(t[n])||"number"==typeof t[n])&&(Array.isArray(t[n])?t[n]=e.getIds(s,t[n]):t[n]=e.getId(s,t[n]));return t}replaceIds(e,t,s){return this.replace(this.crossOriginIframeMirror,e,t,s)}replaceStyleIds(e,t,s){return this.replace(this.crossOriginIframeStyleMirror,e,t,s)}replaceIdOnNode(e,t){this.replaceIds(e,t,["id","rootId"]),"childNodes"in e&&e.childNodes.forEach(e=>{this.replaceIdOnNode(e,t)})}patchRootIdOnNode(e,t){e.type===Tl.Document||e.rootId||(e.rootId=t),"childNodes"in e&&e.childNodes.forEach(e=>{this.patchRootIdOnNode(e,t)})}}class Ql{constructor(e){d(this,"shadowDoms",new WeakSet),d(this,"mutationCb"),d(this,"scrollCb"),d(this,"bypassOptions"),d(this,"mirror"),d(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(!T(e))return;if(this.shadowDoms.has(e))return;this.shadowDoms.add(e);const s=$l({...this.bypassOptions,doc:t,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},e);this.restoreHandlers.push(()=>s.disconnect()),this.restoreHandlers.push(jl({...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(Qa.host(e))),this.restoreHandlers.push(Hl({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){const s=this;this.restoreHandlers.push(Xa(e.prototype,"attachShadow",function(e){return function(r){const n=e.call(this,r),i=Qa.shadowRoot(this);return i&&Sl(this)&&s.addShadowRoot(i,t),n}}))}reset(){this.restoreHandlers.forEach(e=>{try{e()}catch(e){}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}}for(var ec="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tc="undefined"==typeof Uint8Array?[]:new Uint8Array(256),sc=0;sc<64;sc++)tc[ec.charCodeAt(sc)]=sc;const rc=new Map;const nc=(e,t,s)=>{if(!e||!ac(e,t)&&"object"!=typeof e)return;const r=function(e,t){let s=rc.get(e);return s||(s=new Map,rc.set(e,s)),s.has(t)||s.set(t,[]),s.get(t)}(s,e.constructor.name);let n=r.indexOf(e);return-1===n&&(n=r.length,r.push(e)),n};function ic(e,t,s){if(e instanceof Array)return e.map(e=>ic(e,t,s));if(null===e)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray){return{rr_type:e.constructor.name,args:[Object.values(e)]}}if(e instanceof ArrayBuffer){return{rr_type:e.constructor.name,base64:function(e){var t,s=new Uint8Array(e),r=s.length,n="";for(t=0;t<r;t+=3)n+=ec[s[t]>>2],n+=ec[(3&s[t])<<4|s[t+1]>>4],n+=ec[(15&s[t+1])<<2|s[t+2]>>6],n+=ec[63&s[t+2]];return r%3==2?n=n.substring(0,n.length-1)+"=":r%3==1&&(n=n.substring(0,n.length-2)+"=="),n}(e)}}if(e instanceof DataView){return{rr_type:e.constructor.name,args:[ic(e.buffer,t,s),e.byteOffset,e.byteLength]}}if(e instanceof HTMLImageElement){const t=e.constructor.name,{src:s}=e;return{rr_type:t,src:s}}if(e instanceof HTMLCanvasElement){return{rr_type:"HTMLImageElement",src:e.toDataURL()}}if(e instanceof ImageData){return{rr_type:e.constructor.name,args:[ic(e.data,t,s),e.width,e.height]}}if(ac(e,t)||"object"==typeof e){return{rr_type:e.constructor.name,index:nc(e,t,s)}}return e}const oc=(e,t,s)=>e.map(e=>ic(e,t,s)),ac=(e,t)=>{const s=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(e=>"function"==typeof t[e]);return Boolean(s.find(s=>e instanceof t[s]))};function lc(e,t,s,r){const n=[];try{const i=Xa(e.HTMLCanvasElement.prototype,"getContext",function(e){return function(n,...i){if(!hl(this,t,s,!0)){const e=function(e){return"experimental-webgl"===e?"webgl":e}(n);if("__context"in this||(this.__context=e),r&&["webgl","webgl2"].includes(e))if(i[0]&&"object"==typeof i[0]){const e=i[0];e.preserveDrawingBuffer||(e.preserveDrawingBuffer=!0)}else i.splice(0,1,{preserveDrawingBuffer:!0})}return e.apply(this,[n,...i])}});n.push(i)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{n.forEach(e=>e())}}function cc(e,t,s,r,n,i){const o=[],a=Object.getOwnPropertyNames(e);for(const l of a)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(l))try{if("function"!=typeof e[l])continue;const a=Xa(e,l,function(e){return function(...o){const a=e.apply(this,o);if(nc(a,i,this),"tagName"in this.canvas&&!hl(this.canvas,r,n,!0)){const e=oc(o,i,this),r={type:t,property:l,args:e};s(this.canvas,r)}return a}});o.push(a)}catch{const r=nl(e,l,{set(e){s(this.canvas,{type:t,property:l,args:[e],setter:!0})}});o.push(r)}return o}const hc="KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=",uc="undefined"!=typeof window&&window.Blob&&new Blob([(dc=hc,Uint8Array.from(atob(dc),e=>e.charCodeAt(0)))],{type:"text/javascript;charset=utf-8"});var dc;function pc(e){let t;try{if(t=uc&&(window.URL||window.webkitURL).createObjectURL(uc),!t)throw"";const s=new Worker(t,{name:null==e?void 0:e.name});return s.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(t)}),s}catch(t){return new Worker("data:text/javascript;base64,"+hc,{name:null==e?void 0:e.name})}finally{t&&(window.URL||window.webkitURL).revokeObjectURL(t)}}class mc{constructor(e){d(this,"pendingCanvasMutations",new Map),d(this,"rafStamps",{latestId:0,invokeId:null}),d(this,"mirror"),d(this,"mutationCb"),d(this,"resetObservers"),d(this,"frozen",!1),d(this,"locked",!1),d(this,"processMutation",(e,t)=>{!(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId)&&this.rafStamps.invokeId||(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(e)||this.pendingCanvasMutations.set(e,[]),this.pendingCanvasMutations.get(e).push(t)});const{sampling:t="all",win:s,blockClass:r,blockSelector:n,recordCanvas:i,dataURLOptions:o}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,i&&"all"===t&&this.initCanvasMutationObserver(s,r,n),i&&"number"==typeof t&&this.initCanvasFPSObserver(t,s,r,n,{dataURLOptions:o})}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,s,r,n){const i=lc(t,s,r,!0),o=new Map,a=new pc;a.onmessage=e=>{const{id:t}=e.data;if(o.set(t,!1),!("base64"in e.data))return;const{base64:s,type:r,width:n,height:i}=e.data;this.mutationCb({id:t,type:El["2D"],commands:[{property:"clearRect",args:[0,0,n,i]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:s}],type:r}]},0,0]}]})};const l=1e3/e;let c,h=0;const u=e=>{h&&e-h<l||(h=e,(()=>{const e=[];return t.document.querySelectorAll("canvas").forEach(t=>{hl(t,s,r,!0)||e.push(t)}),e})().forEach(async e=>{var t;const s=this.mirror.getId(e);if(o.get(s))return;if(0===e.width||0===e.height)return;if(o.set(s,!0),["webgl","webgl2"].includes(e.__context)){const s=e.getContext(e.__context);!1===(null==(t=null==s?void 0:s.getContextAttributes())?void 0:t.preserveDrawingBuffer)&&s.clear(s.COLOR_BUFFER_BIT)}const r=await createImageBitmap(e);a.postMessage({id:s,bitmap:r,width:e.width,height:e.height,dataURLOptions:n.dataURLOptions},[r])})),c=requestAnimationFrame(u)};c=requestAnimationFrame(u),this.resetObservers=()=>{i(),cancelAnimationFrame(c)}}initCanvasMutationObserver(e,t,s){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const r=lc(e,t,s,!1),n=function(e,t,s,r){const n=[],i=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(const o of i)try{if("function"!=typeof t.CanvasRenderingContext2D.prototype[o])continue;const i=Xa(t.CanvasRenderingContext2D.prototype,o,function(n){return function(...i){return hl(this.canvas,s,r,!0)||setTimeout(()=>{const s=oc(i,t,this);e(this.canvas,{type:El["2D"],property:o,args:s})},0),n.apply(this,i)}});n.push(i)}catch{const s=nl(t.CanvasRenderingContext2D.prototype,o,{set(t){e(this.canvas,{type:El["2D"],property:o,args:[t],setter:!0})}});n.push(s)}return()=>{n.forEach(e=>e())}}(this.processMutation.bind(this),e,t,s),i=function(e,t,s,r){const n=[];return n.push(...cc(t.WebGLRenderingContext.prototype,El.WebGL,e,s,r,t)),void 0!==t.WebGL2RenderingContext&&n.push(...cc(t.WebGL2RenderingContext.prototype,El.WebGL2,e,s,r,t)),()=>{n.forEach(e=>e())}}(this.processMutation.bind(this),e,t,s);this.resetObservers=()=>{r(),n(),i()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const e=t=>{this.rafStamps.latestId=t,requestAnimationFrame(e)};requestAnimationFrame(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,t)=>{const s=this.mirror.getId(t);this.flushPendingCanvasMutationFor(t,s)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(e,t){if(this.frozen||this.locked)return;const s=this.pendingCanvasMutations.get(e);if(!s||-1===t)return;const r=s.map(e=>{const{type:t,...s}=e;return s}),{type:n}=s[0];this.mutationCb({id:t,type:n,commands:r}),this.pendingCanvasMutations.delete(e)}}class fc{constructor(e){d(this,"trackedLinkElements",new WeakSet),d(this,"mutationCb"),d(this,"adoptedStyleSheetCb"),d(this,"styleMirror",new yl),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(0===e.length)return;const s={id:t,styleIds:[]},r=[];for(const t of e){let e;this.styleMirror.has(t)?e=this.styleMirror.getId(t):(e=this.styleMirror.add(t),r.push({styleId:e,rules:Array.from(t.rules||CSSRule,(e,s)=>({rule:M(e,t.href),index:s}))})),s.styleIds.push(e)}r.length>0&&(s.styles=r),this.adoptedStyleSheetCb(s)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(e){}}class gc{constructor(){d(this,"nodeMap",new WeakMap),d(this,"active",!1)}inOtherBuffer(e,t){const s=this.nodeMap.get(e);return s&&Array.from(s).some(e=>e!==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(){}}let yc,wc,vc,Sc=!1;try{if(2!==Array.from([1],e=>2*e)[0]){const e=document.createElement("iframe");document.body.appendChild(e),Array.from=(null==(h=e.contentWindow)?void 0:h.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}const bc=new _;function Cc(e={}){const{emit:t,checkoutEveryNms:s,checkoutEveryNth:r,blockClass:n="rr-block",blockSelector:i=null,ignoreClass:o="rr-ignore",ignoreSelector:a=null,maskTextClass:l="rr-mask",maskTextSelector:c=null,inlineStylesheet:h=!0,maskAllInputs:u,maskInputOptions:d,slimDOMOptions:p,maskInputFn:m,maskTextFn:f,hooks:g,packFn:y,sampling:w={},dataURLOptions:v={},mousemoveWait:S,recordDOM:b=!0,recordCanvas:C=!1,recordCrossOriginIframes:k=!1,recordAfter:I=("DOMContentLoaded"===e.recordAfter?e.recordAfter:"load"),userTriggeredOnInput:E=!1,collectFonts:x=!1,inlineImages:T=!1,plugins:O,keepIframeSrcFn:M=()=>!1,ignoreCSSAttributes:R=new Set([]),errorHandler:A}=e;Ll=A;const D=!k||window.parent===window;let P=!1;if(!D)try{window.parent.document&&(P=!1)}catch(e){P=!0}if(D&&!t)throw new Error("emit function is required");if(!D&&!P)return()=>{};void 0!==S&&void 0===w.mousemove&&(w.mousemove=S),bc.reset();const N=!0===u?{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}:void 0!==d?d:{password:!0},L=oe(p);let F;!function(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}();let U=0;const B=e=>{for(const t of O||[])t.eventProcessor&&(e=t.eventProcessor(e));return y&&!P&&(e=y(e)),e};yc=(e,n)=>{var i;const o=e;if(o.timestamp=il(),!(null==(i=Ul[0])?void 0:i.isFrozen())||o.type===bl.FullSnapshot||o.type===bl.IncrementalSnapshot&&o.data.source===Cl.Mutation||Ul.forEach(e=>e.unfreeze()),D)null==t||t(B(o),n);else if(P){const e={type:"rrweb",event:B(o),origin:window.location.origin,isCheckout:n};window.parent.postMessage(e,"*")}if(o.type===bl.FullSnapshot)F=o,U=0;else if(o.type===bl.IncrementalSnapshot){if(o.data.source===Cl.Mutation&&o.data.isAttachIframe)return;U++;const e=r&&U>=r,t=s&&o.timestamp-F.timestamp>s;(e||t)&&wc(!0)}};const $=e=>{yc({type:bl.IncrementalSnapshot,data:{source:Cl.Mutation,...e}})},z=e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.Scroll,...e}}),j=e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.CanvasMutation,...e}}),W=new fc({mutationCb:$,adoptedStyleSheetCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.AdoptedStyleSheet,...e}})}),K=new Xl({mirror:bc,mutationCb:$,stylesheetManager:W,recordCrossOriginIframes:k,wrappedEmit:yc});for(const e of O||[])e.getMirror&&e.getMirror({nodeMirror:bc,crossOriginIframeMirror:K.crossOriginIframeMirror,crossOriginIframeStyleMirror:K.crossOriginIframeStyleMirror});const V=new gc;vc=new mc({recordCanvas:C,mutationCb:j,win:window,blockClass:n,blockSelector:i,mirror:bc,sampling:w.canvas,dataURLOptions:v});const G=new Ql({mutationCb:$,scrollCb:z,bypassOptions:{blockClass:n,blockSelector:i,maskTextClass:l,maskTextSelector:c,inlineStylesheet:h,maskInputOptions:N,dataURLOptions:v,maskTextFn:f,maskInputFn:m,recordCanvas:C,inlineImages:T,sampling:w,slimDOMOptions:L,iframeManager:K,stylesheetManager:W,canvasManager:vc,keepIframeSrcFn:M,processedNodeManager:V},mirror:bc});wc=(e=!1)=>{if(!b)return;yc({type:bl.Meta,data:{href:window.location.href,width:ll(),height:al()}},e),W.reset(),G.init(),Ul.forEach(e=>e.lock());const t=function(e,t){const{mirror:s=new _,blockClass:r="rr-block",blockSelector:n=null,maskTextClass:i="rr-mask",maskTextSelector:o=null,inlineStylesheet:a=!0,inlineImages:l=!1,recordCanvas:c=!1,maskAllInputs:h=!1,maskTextFn:u,maskInputFn:d,slimDOM:p=!1,dataURLOptions:m,preserveWhiteSpace:f,onSerialize:g,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:v,stylesheetLoadTimeout:S,keepIframeSrcFn:b=()=>!1}=t||{};return ae(e,{doc:e,mirror:s,blockClass:r,blockSelector:n,maskTextClass:i,maskTextSelector:o,skipChild:!1,inlineStylesheet:a,maskInputOptions:!0===h?{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}:!1===h?{password:!0}:h,maskTextFn:u,maskInputFn:d,slimDOMOptions:oe(p),dataURLOptions:m,inlineImages:l,recordCanvas:c,preserveWhiteSpace:f,onSerialize:g,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:v,stylesheetLoadTimeout:S,keepIframeSrcFn:b,newlyAddedElement:!1})}(document,{mirror:bc,blockClass:n,blockSelector:i,maskTextClass:l,maskTextSelector:c,inlineStylesheet:h,maskAllInputs:N,maskTextFn:f,maskInputFn:m,slimDOM:L,dataURLOptions:v,recordCanvas:C,inlineImages:T,onSerialize:e=>{ml(e,bc)&&K.addIframe(e),fl(e,bc)&&W.trackLinkElement(e),gl(e)&&G.addShadowRoot(Qa.shadowRoot(e),document)},onIframeLoad:(e,t)=>{K.attachIframe(e,t),G.observeAttachShadow(e)},onStylesheetLoad:(e,t)=>{W.attachLinkElement(e,t)},keepIframeSrcFn:M});if(!t)return console.warn("Failed to snapshot the document");yc({type:bl.FullSnapshot,data:{node:t,initialOffset:ol(window)}},e),Ul.forEach(e=>e.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&W.adoptStyleSheets(document.adoptedStyleSheets,bc.getId(document))};try{const e=[],t=e=>{var t;return Fl(Yl)({mutationCb:$,mousemoveCb:(e,t)=>yc({type:bl.IncrementalSnapshot,data:{source:t,positions:e}}),mouseInteractionCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.MouseInteraction,...e}}),scrollCb:z,viewportResizeCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.ViewportResize,...e}}),inputCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.Input,...e}}),mediaInteractionCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.MediaInteraction,...e}}),styleSheetRuleCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.StyleSheetRule,...e}}),styleDeclarationCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.StyleDeclaration,...e}}),canvasMutationCb:j,fontCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.Font,...e}}),selectionCb:e=>{yc({type:bl.IncrementalSnapshot,data:{source:Cl.Selection,...e}})},customElementCb:e=>{yc({type:bl.IncrementalSnapshot,data:{source:Cl.CustomElement,...e}})},blockClass:n,ignoreClass:o,ignoreSelector:a,maskTextClass:l,maskTextSelector:c,maskInputOptions:N,inlineStylesheet:h,sampling:w,recordDOM:b,recordCanvas:C,inlineImages:T,userTriggeredOnInput:E,collectFonts:x,doc:e,maskInputFn:m,maskTextFn:f,keepIframeSrcFn:M,blockSelector:i,slimDOMOptions:L,dataURLOptions:v,mirror:bc,iframeManager:K,stylesheetManager:W,shadowDomManager:G,processedNodeManager:V,canvasManager:vc,ignoreCSSAttributes:R,plugins:(null==(t=null==O?void 0:O.filter(e=>e.observer))?void 0:t.map(e=>({observer:e.observer,options:e.options,callback:t=>yc({type:bl.Plugin,data:{plugin:e.name,payload:t}})})))||[]},g)};K.addLoadListener(s=>{try{e.push(t(s.contentDocument))}catch(e){console.warn(e)}});const s=()=>{wc(),e.push(t(document)),Sc=!0};return["interactive","complete"].includes(document.readyState)?s():(e.push(el("DOMContentLoaded",()=>{yc({type:bl.DomContentLoaded,data:{}}),"DOMContentLoaded"===I&&s()})),e.push(el("load",()=>{yc({type:bl.Load,data:{}}),"load"===I&&s()},window))),()=>{e.forEach(e=>{try{e()}catch(e){String(e).toLowerCase().includes("cross-origin")||console.warn(e)}}),V.destroy(),Sc=!1,Ll=void 0}}catch(e){console.warn(e)}}var kc,Ic;Cc.addCustomEvent=(e,t)=>{if(!Sc)throw new Error("please add custom event after start recording");yc({type:bl.Custom,data:{tag:e,payload:t}})},Cc.freezePage=()=>{Ul.forEach(e=>e.freeze())},Cc.takeFullSnapshot=e=>{if(!Sc)throw new Error("please take full snapshot after start recording");wc(e)},Cc.mirror=bc,(Ic=kc||(kc={}))[Ic.NotStarted=0]="NotStarted",Ic[Ic.Running=1]="Running",Ic[Ic.Stopped=2]="Stopped";const Ec=[];for(let e=0;e<256;++e)Ec.push((e+256).toString(16).slice(1));let xc;const Tc=new Uint8Array(16);const Oc={};function Mc(e,t,s){let r;{const e=Date.now(),n=function(){if(!xc){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");xc=crypto.getRandomValues.bind(crypto)}return xc(Tc)}();!function(e,t,s){e.msecs??=-1/0,e.nsecs??=0,t===e.msecs?(e.nsecs++,e.nsecs>=1e4&&(e.node=void 0,e.nsecs=0)):t>e.msecs?e.nsecs=0:t<e.msecs&&(e.node=void 0);e.node||(e.node=s.slice(10,16),e.node[0]|=1,e.clockseq=16383&(s[8]<<8|s[9]));e.msecs=t}(Oc,e,n),r=function(e,t,s,r,n,i,o=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(i){if(o<0||o+16>i.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`)}else i=new Uint8Array(16),o=0;t??=Date.now(),s??=0,r??=16383&(e[8]<<8|e[9]),n??=e.slice(10,16);const a=(1e4*(268435455&(t+=122192928e5))+s)%4294967296;i[o++]=a>>>24&255,i[o++]=a>>>16&255,i[o++]=a>>>8&255,i[o++]=255&a;const l=t/4294967296*1e4&268435455;i[o++]=l>>>8&255,i[o++]=255&l,i[o++]=l>>>24&15|16,i[o++]=l>>>16&255,i[o++]=r>>>8|128,i[o++]=255&r;for(let e=0;e<6;++e)i[o++]=n[e];return i}(n,Oc.msecs,Oc.nsecs,Oc.clockseq,Oc.node,t,s)}return t??function(e,t=0){return(Ec[e[t+0]]+Ec[e[t+1]]+Ec[e[t+2]]+Ec[e[t+3]]+"-"+Ec[e[t+4]]+Ec[e[t+5]]+"-"+Ec[e[t+6]]+Ec[e[t+7]]+"-"+Ec[e[t+8]]+Ec[e[t+9]]+"-"+Ec[e[t+10]]+Ec[e[t+11]]+Ec[e[t+12]]+Ec[e[t+13]]+Ec[e[t+14]]+Ec[e[t+15]]).toLowerCase()}(r)}var _c,Rc;(Rc=_c||(_c={}))[Rc.NONE=0]="NONE",Rc[Rc.ERROR=1]="ERROR",Rc[Rc.WARN=2]="WARN",Rc[Rc.INFO=3]="INFO",Rc[Rc.DEBUG=4]="DEBUG";const Ac=new class{constructor(e){this.config={level:_c.ERROR,enableConsole:!0,enableStorage:!1},this.isBrowser="undefined"!=typeof window,e&&(this.config={...this.config,...e})}setConfig(e){this.config={...this.config,...e}}shouldLog(e){return e<=this.config.level}formatMessage(e,t,...s){return`[HumanBehavior ${e}] ${(new Date).toISOString()}: ${t}`}error(e,...t){if(!this.shouldLog(_c.ERROR))return;const s=this.formatMessage("ERROR",e);this.config.enableConsole&&console.error(s,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(s,t)}warn(e,...t){if(!this.shouldLog(_c.WARN))return;const s=this.formatMessage("WARN",e);this.config.enableConsole&&console.warn(s,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(s,t)}info(e,...t){if(!this.shouldLog(_c.INFO))return;const s=this.formatMessage("INFO",e);this.config.enableConsole&&console.log(s,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(s,t)}debug(e,...t){if(!this.shouldLog(_c.DEBUG))return;const s=this.formatMessage("DEBUG",e);this.config.enableConsole&&console.log(s,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(s,t)}logToStorage(e,t){try{const s=JSON.parse(localStorage.getItem("human_behavior_logs")||"[]"),r={message:e,args:t.length>0?t:void 0,timestamp:Date.now()};s.push(r),s.length>1e3&&s.splice(0,s.length-1e3),localStorage.setItem("human_behavior_logs",JSON.stringify(s))}catch(e){}}getLogs(){if(!this.isBrowser)return[];try{return JSON.parse(localStorage.getItem("human_behavior_logs")||"[]")}catch(e){return[]}}clearLogs(){this.isBrowser&&localStorage.removeItem("human_behavior_logs")}};let Dc=!1;const Pc=(e,...t)=>{Dc=!0;try{Ac.error(e,...t)}finally{Dc=!1}},Nc=(e,...t)=>{Dc=!0;try{Ac.warn(e,...t)}finally{Dc=!1}},Lc=(e,...t)=>{Dc=!0;try{Ac.info(e,...t)}finally{Dc=!1}},Fc=(e,...t)=>{Dc=!0;try{Ac.debug(e,...t)}finally{Dc=!1}};class Uc{constructor(e){this._isPolling=!1,this._pollIntervalMs=3e3,this._queue=[],this._queue=[],this._areWeOnline=!0,this._sendRequest=e,"undefined"!=typeof window&&"onLine"in window.navigator&&(this._areWeOnline=window.navigator.onLine,window.addEventListener("online",()=>{this._areWeOnline=!0,this._flush()}),window.addEventListener("offline",()=>{this._areWeOnline=!1}))}get length(){return this._queue.length}async retriableRequest(e){const t=e.retriesPerformedSoFar||0;if(t>0){const s=new URL(e.url);s.searchParams.set("retry_count",t.toString()),e.url=s.toString()}try{await this._sendRequest(e)}catch(s){if(this._shouldRetry(s,t)&&t<10)return void this._enqueue(e);e.callback&&e.callback({statusCode:s.status||0,text:s.message||"Request failed"})}}_shouldRetry(e,t){return e.status>=400&&e.status<500?408===e.status||429===e.status:e.status>=500||!e.status}_enqueue(e){const t=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=t+1;const s=function(e){const t=3e3*2**e,s=t/2,r=Math.min(18e5,t),n=(Math.random()-.5)*(r-s);return Math.ceil(r+n)}(t),r=Date.now()+s;this._queue.push({retryAt:r,requestOptions:e});let n=`Enqueued failed request for retry in ${Math.round(s/1e3)}s`;"undefined"==typeof navigator||navigator.onLine||(n+=" (Browser is offline)"),Nc(n),this._isPolling||(this._isPolling=!0,this._poll())}_poll(){this._poller&&clearTimeout(this._poller),this._poller=setTimeout(()=>{this._areWeOnline&&this._queue.length>0&&this._flush(),this._poll()},this._pollIntervalMs)}_flush(){const e=Date.now(),t=[],s=this._queue.filter(s=>s.retryAt<e||(t.push(s),!1));if(this._queue=t,s.length>0)for(const{requestOptions:e}of s)this.retriableRequest(e).catch(e=>{Pc("Failed to retry request:",e)})}unload(){this._poller&&(clearTimeout(this._poller),this._poller=void 0);for(const{requestOptions:e}of this._queue)try{this._sendBeaconRequest(e)}catch(e){Pc("Failed to send request via sendBeacon on unload:",e)}this._queue=[]}_sendBeaconRequest(e){if("undefined"!=typeof navigator&&navigator.sendBeacon)try{const t=new URL(e.url);t.searchParams.set("beacon","1");let s=null;e.body&&("string"==typeof e.body?s=new Blob([e.body],{type:"application/json"}):e.body instanceof Blob&&(s=e.body)),navigator.sendBeacon(t.toString(),s)||Nc("sendBeacon returned false for unload request")}catch(e){Pc("Error sending beacon request:",e)}}}class Bc{constructor(e,t=1e3){this.storageKey="human_behavior_queue",this.maxQueueSize=t}getQueue(){if("undefined"==typeof window||!window.localStorage)return[];try{const e=window.localStorage.getItem(this.storageKey);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t:[]}catch(e){return Nc("Failed to read persisted queue:",e),[]}}setQueue(e){if("undefined"!=typeof window&&window.localStorage)try{const t=e.slice(-this.maxQueueSize);window.localStorage.setItem(this.storageKey,JSON.stringify(t)),Fc(`Persisted ${t.length} events to storage`)}catch(t){if("QuotaExceededError"===t.name||22===t.code){Nc("Storage quota exceeded, clearing old events");try{const t=e.slice(-Math.floor(this.maxQueueSize/2));window.localStorage.setItem(this.storageKey,JSON.stringify(t))}catch(e){Nc("Failed to save smaller queue, clearing storage"),this.clearQueue()}}else Nc("Failed to persist queue:",t)}}addToQueue(e){const t=this.getQueue();t.push(e),t.length>this.maxQueueSize&&(t.shift(),Fc("Queue is full, the oldest event is dropped.")),this.setQueue(t)}removeFromQueue(e){const t=this.getQueue();t.splice(0,e),this.setQueue(t)}clearQueue(){if("undefined"!=typeof window&&window.localStorage)try{window.localStorage.removeItem(this.storageKey)}catch(e){Nc("Failed to clear persisted queue:",e)}}getQueueLength(){return this.getQueue().length}}const $c="0.5.71",zc=1048576,jc=52428.8;function Wc(e,t,s){return(new TextEncoder).encode(Kc({sessionId:s,events:[...e,t]})).length>zc}function Kc(e){return JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString():t)}function Vc(e,t){if(!e||"object"!=typeof e)return[];if((new TextEncoder).encode(Kc({sessionId:t,events:[e]})).length<=zc)return[e];const s={...e},r=["screenshot","html","dom","fullText","innerHTML","outerHTML"];return r.forEach(e=>{s[e]&&delete s[e]}),(new TextEncoder).encode(Kc({sessionId:t,events:[s]})).length<=zc?[s]:[{type:e.type,timestamp:e.timestamp,url:e.url,pathname:e.pathname,...Object.fromEntries(Object.entries(e).filter(([e,t])=>!r.includes(e)&&"object"!=typeof t&&"string"!=typeof t||"string"==typeof t&&t.length<1e3))}]}class Gc{constructor({apiKey:e,ingestionUrl:t}){this.monthlyLimitReached=!1,this.sessionId="",this.endUserId=null,this.cspBlocked=!1,this.requestTimeout=1e4,this.currentBatchSize=100,this.apiKey=e,this.baseUrl=t,this.persistence=new Bc(e),this.retryQueue=new Uc(e=>this._sendRequestInternal(e)),this._loadPersistedEvents()}setTrackingContext(e,t){this.sessionId=e,this.endUserId=t}async _loadPersistedEvents(){const e=this.persistence.getQueue();if(0!==e.length){Fc(`Loading ${e.length} persisted events from storage`);for(const t of e)try{await this.sendEventsChunked(t.events,t.sessionId,t.endUserId||void 0,t.windowId,t.automaticProperties),this.persistence.removeFromQueue(1)}catch(e){Nc("Failed to send persisted event, will retry later:",e)}}}async _sendRequestInternal(e){const t="undefined"!=typeof AbortController?new AbortController:null;let s=null;t&&(s=setTimeout(()=>{t.abort()},this.requestTimeout));try{const r=e.estimatedSize||0,n="POST"===e.method&&r<jc,i=await fetch(e.url,{method:e.method||"GET",headers:e.headers||{},body:e.body,signal:t?.signal,keepalive:n});s&&clearTimeout(s);const o=await i.text();let a=null;try{a=JSON.parse(o)}catch{}if(e.callback&&e.callback({statusCode:i.status,text:o,json:a}),!i.ok)throw{status:i.status,message:o}}catch(e){if(s&&clearTimeout(s),"AbortError"===e.name)throw{status:0,message:"Request timeout"};throw e}}unload(){this.retryQueue.unload()}checkMonthlyLimit(){return!this.monthlyLimitReached}async init(e,t){if(!this.checkMonthlyLimit())return{sessionId:e,endUserId:t};let s=null,r=null;"undefined"!=typeof window&&(s=window.location.href,r=document.referrer),Lc("API init called with:",{sessionId:e,userId:t,entryURL:s,referrer:r,baseUrl:this.baseUrl});try{const n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/init`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`,Referer:r||""},body:Kc({sessionId:e,endUserId:t,entryURL:s,referrer:r,sdkVersion:$c})});if(Lc("API init response status:",n.status),!n.ok){if(429===n.status)return this.monthlyLimitReached=!0,{sessionId:e,endUserId:t};const s=await n.text();throw Pc("API init failed:",n.status,s),new Error(`Failed to initialize ingestion: ${n.statusText} - ${s}`)}const i=await n.json();return!0===i.monthlyLimitReached&&(this.monthlyLimitReached=!0,Lc("Monthly limit reached detected from server response")),Lc("API init success:",i),{sessionId:i.sessionId,endUserId:i.endUserId}}catch(e){throw Pc("API init error:",e),e}}async sendEvents(e,t,s){const r=e.filter(e=>e&&"object"==typeof e),n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/events`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc({sessionId:t,events:r,endUserId:s,sdkVersion:$c})});if(!n.ok){if(429===n.status)throw this.monthlyLimitReached=!0,new Error("429: Monthly video processing limit reached");throw new Error(`Failed to send events: ${n.statusText}`)}!0===(await n.json()).monthlyLimitReached&&(this.monthlyLimitReached=!0,Lc("Monthly limit reached detected from events response"))}async sendEventsChunked(e,t,s,r,n){if(!this.checkMonthlyLimit())return[];try{const i=[];let o=[];for(const a of e)if(a&&"object"==typeof a)if(Wc(o,a,t)){if(o.length>0){Fc(`[SDK] Sending chunk with ${o.length} events`);const e=await this.trackedFetch(`${this.baseUrl}/api/ingestion/events`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc({sessionId:t,events:o,endUserId:s,windowId:r,automaticProperties:n,sdkVersion:$c})});if(!e.ok){if(429===e.status)return this.monthlyLimitReached=!0,i.flat();throw new Error(`Failed to send events: ${e.statusText}`)}const a=await e.json();!0===a.monthlyLimitReached&&(this.monthlyLimitReached=!0,Lc("Monthly limit reached detected from chunked events response")),i.push(a),o=[]}o=Vc(a,t)}else o.push(a);if(o.length>0){const e=await this._sendChunkWithRetry(o,t,s,r,n||o[0]?.automaticProperties);e&&i.push(e)}return i.flat()}catch(i){throw Pc("Error sending events:",i),this._persistEvents(e,t,s,r,n),i}}async _sendChunkWithRetry(e,t,s,r,n){let i=Math.min(this.currentBatchSize,e.length),o=0;for(;o<e.length;){const a=Kc({sessionId:t,events:e.slice(o,o+i),endUserId:s,windowId:r,automaticProperties:n,sdkVersion:$c}),l=(new TextEncoder).encode(a).length;try{const c=await this.trackedFetch(`${this.baseUrl}/api/ingestion/events`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:a},l);if(!c.ok){if(429===c.status)return this.monthlyLimitReached=!0,this._persistEvents(e.slice(o),t,s,r,n),null;if(413===c.status){Nc(`413 error: reducing batch size from ${i} to ${Math.max(1,Math.floor(i/2))}`),this.currentBatchSize=Math.max(1,Math.floor(i/2)),i=this.currentBatchSize;continue}return await this.retryQueue.retriableRequest({url:`${this.baseUrl}/api/ingestion/events`,method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:a,estimatedSize:l,callback:e=>{200===e.statusCode&&e.json&&!0===e.json.monthlyLimitReached&&(this.monthlyLimitReached=!0)}}),this._persistEvents(e.slice(o),t,s,r,n),null}const h=await c.json();if(!0===h.monthlyLimitReached&&(this.monthlyLimitReached=!0,Lc("Monthly limit reached detected from chunked events response")),o+=i,o>=e.length)return h}catch(i){return Nc("Network error sending chunk, adding to retry queue:",i),await this.retryQueue.retriableRequest({url:`${this.baseUrl}/api/ingestion/events`,method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:a,estimatedSize:l,callback:e=>{200===e.statusCode&&e.json&&!0===e.json.monthlyLimitReached&&(this.monthlyLimitReached=!0)}}),this._persistEvents(e.slice(o),t,s,r,n),null}}return null}_persistEvents(e,t,s,r,n){0!==e.length&&this.persistence.addToQueue({sessionId:t,events:e,endUserId:s,windowId:r,automaticProperties:n,timestamp:Date.now()})}async sendUserData(e,t,s){try{const r={userId:e,userAttributes:t,sessionId:s,posthogName:t.email||t.name||null};Fc("Sending user data to server:",r);const n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/user`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc(r)});if(!n.ok)throw new Error(`Failed to send user data: ${n.statusText} with API key: ${this.apiKey}`);const i=await n.json();return Fc("Server response:",i),i}catch(e){throw Pc("Error sending user data:",e),e}}async sendUserAuth(e,t,s,r){try{const n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/user/auth`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc({userId:e,userAttributes:t,sessionId:s,authFields:r})});if(!n.ok)throw new Error(`Failed to authenticate user: ${n.statusText} with API key: ${this.apiKey}`);return await n.json()}catch(e){throw Pc("Error authenticating user:",e),e}}sendBeaconEvents(e,t,s,r,n){const i={sessionId:t,events:e,endUserId:s||null,windowId:r,automaticProperties:n,sdkVersion:$c,apiKey:this.apiKey},o=new Blob([Kc(i)],{type:"application/json"});return navigator.sendBeacon(`${this.baseUrl}/api/ingestion/events`,o)}async sendCustomEvent(e,t,s,r){Lc("[SDK] Sending custom event",{sessionId:e,eventName:t,eventProperties:s,endUserId:r});try{const n=await this.trackedFetch(`${this.baseUrl}/api/ingestion/customEvent`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc({sessionId:e,eventName:t,eventProperties:s||{},endUserId:r||null})});if(Lc("[SDK] Custom event response",{status:n.status,statusText:n.statusText}),!n.ok){const e=await n.text();throw Pc("[SDK] Failed to send custom event",{status:n.status,statusText:n.statusText,errorText:e}),new Error(`Failed to send custom event: ${n.status} ${n.statusText} - ${e}`)}const i=await n.json();return Fc("[SDK] Custom event success",i),i}catch(r){throw Pc("[SDK] Error sending custom event",r,{sessionId:e,eventName:t,eventProperties:s}),r}}async sendCustomEventBatch(e,t,s){try{const r=await this.trackedFetch(`${this.baseUrl}/api/ingestion/customEvent/batch`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc({sessionId:e,events:t,endUserId:s||null})});if(!r.ok)throw new Error(`Failed to send custom event batch: ${r.statusText}`);return await r.json()}catch(e){throw Pc("Error sending custom event batch:",e),e}}async sendLog(e){try{if(Fc("[SDK] Sending log to server:",{level:e.level,message:e.message.substring(0,50),sessionId:e.sessionId}),!this.baseUrl)return;if(!e.sessionId)return;const t=await fetch(`${this.baseUrl}/api/ingestion/logs`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc(e)});t.ok?Fc("[SDK] Log sent successfully"):Nc("[SDK] Failed to send log to server:",t.status,t.statusText)}catch(e){Nc("[SDK] Failed to send log to server:",e)}}async sendNetworkError(e){try{if(Fc("[SDK] Sending network error to server:",{errorType:e.errorType,url:e.url.substring(0,50),sessionId:e.sessionId}),!this.baseUrl)return;if(!e.sessionId)return;const t=await fetch(`${this.baseUrl}/api/ingestion/network`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc(e)});t.ok?Fc("[SDK] Network error sent successfully"):Nc("[SDK] Failed to send network error to server:",t.status,t.statusText)}catch(e){Nc("[SDK] Failed to send network error to server:",e)}}async sendIpInfo(e,t){try{if(!this.baseUrl||!e||!t)return;const s=await fetch(`${this.baseUrl}/api/ingestion/ip-info`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc({sessionId:e,endUserId:t,ipDetectionMethod:"server_header"})});s.ok||Nc("[SDK] Failed to send ip-info:",s.status,s.statusText)}catch(e){Nc("[SDK] Failed to send ip-info:",e)}}async trackedFetch(e,t,s){const r=Date.now(),n=Mc(),i=this.shouldSkipNetworkTracking(e);if(this.cspBlocked&&"POST"===t.method&&"undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon)return this.trackedFetchWithBeaconFallback(e,t,i);try{const o="undefined"!=typeof AbortController?new AbortController:null;let a=null;o&&(a=setTimeout(()=>{o.abort()},this.requestTimeout));const l="POST"===t.method&&void 0!==s&&s<jc,c=await fetch(e,{...t,signal:o?.signal,keepalive:l});a&&clearTimeout(a);const h=Date.now()-r;return c.ok||i||await this.sendNetworkError({requestId:n,url:e,method:t.method||"GET",status:c.status,statusText:c.statusText,duration:h,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyHttpError(c.status),errorMessage:c.statusText,startTimeMs:r,spanName:`${t.method||"GET"} ${e}`,spanStatus:"error",attributes:{"http.status_code":c.status,"http.status_text":c.statusText}}).catch(()=>{}),c}catch(s){const o=Date.now()-r;if("AbortError"===s.name){const e=new Error("Request timeout");e.name="TimeoutError",s=e}if(this.isCSPViolation(s)&&"POST"===t.method&&"undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon)return this.cspBlocked=!0,Nc("[SDK] CSP violation detected, falling back to sendBeacon for future requests"),this.trackedFetchWithBeaconFallback(e,t,i);throw i||await this.sendNetworkError({requestId:n,url:e,method:t.method||"GET",status:null,statusText:null,duration:o,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyNetworkError(s),errorMessage:s.message,errorName:s.name,startTimeMs:r,spanName:`${t.method||"GET"} ${e}`,spanStatus:"error",attributes:{"error.name":s.name,"error.message":s.message}}).catch(()=>{}),s}}async trackedFetchWithBeaconFallback(e,t,s){try{let s=null,r="";if(t.body)if("string"==typeof t.body)try{s=JSON.parse(t.body),r=t.body}catch{r=t.body}else{if(t.body instanceof Blob)return Nc("[SDK] Cannot extract apiKey from Blob body for sendBeacon, using URL param"),e=`${e}${e.includes("?")?"&":"?"}apiKey=${encodeURIComponent(this.apiKey)}`,navigator.sendBeacon(e,t.body)?new Response(null,{status:200,statusText:"OK",headers:new Headers}):new Response(null,{status:500,statusText:"sendBeacon failed",headers:new Headers});r=Kc(t.body),s=t.body}if(e.includes("/api/ingestion/"))if(s&&"object"==typeof s)s.apiKey=this.apiKey,r=Kc(s);else if(r)try{const e=JSON.parse(r);e.apiKey=this.apiKey,r=Kc(e)}catch{e=`${e}${e.includes("?")?"&":"?"}apiKey=${encodeURIComponent(this.apiKey)}`}else e=`${e}${e.includes("?")?"&":"?"}apiKey=${encodeURIComponent(this.apiKey)}`;else e=`${e}${e.includes("?")?"&":"?"}apiKey=${encodeURIComponent(this.apiKey)}`;const n=r?new Blob([r],{type:"application/json"}):null;return navigator.sendBeacon(e,n)?(Fc("[SDK] Successfully sent request via sendBeacon (CSP fallback)"),new Response(null,{status:200,statusText:"OK",headers:new Headers})):(Nc("[SDK] sendBeacon returned false - browser may be throttling"),new Response(null,{status:200,statusText:"OK (sendBeacon best-effort)",headers:new Headers}))}catch(e){return Pc("[SDK] sendBeacon fallback failed:",e),new Response(null,{status:500,statusText:"Failed to send via sendBeacon",headers:new Headers})}}isCSPViolation(e){const t=(e?.message||"").toLowerCase();return"typeerror"===(e?.name||"").toLowerCase()&&t.includes("failed to fetch")||t.includes("content security policy")||t.includes("csp")||t.includes("violates")||t.includes("refused to connect")&&t.includes("violates")}shouldSkipNetworkTracking(e){if(!e||!this.baseUrl)return!1;try{const t=new URL(e),s=new URL(this.baseUrl);return!(t.origin!==s.origin||!t.pathname.startsWith("/api/ingestion/"))||!!e.includes(this.baseUrl)}catch(t){return e.includes(this.baseUrl)}}classifyHttpError(e){return e>=400&&e<500?"client_error":e>=500?"server_error":"unknown_error"}classifyNetworkError(e){const t=e.message||"",s=e.name||"";return this.isCSPViolation(e)?"csp_violation":t.includes("ERR_BLOCKED_BY_CLIENT")||t.includes("ERR_BLOCKED_BY_RESPONSE")||t.includes("blocked:other")||t.includes("net::ERR_BLOCKED_BY_CLIENT")||t.includes("net::ERR_BLOCKED_BY_RESPONSE")||"TypeError"===s&&t.includes("Failed to fetch")&&(t.includes("blocked")||t.includes("ERR_BLOCKED"))?"blocked_by_client":t.includes("CORS")||t.includes("Access-Control")?"cors_error":t.includes("timeout")||"TimeoutError"===s?"timeout_error":t.includes("Failed to fetch")||t.includes("NetworkError")?"network_error":"unknown_error"}}class Hc{constructor(e){if(this.redactedText="[REDACTED]",this.unredactedFields=new Set,this.redactedFields=new Set,this.redactionMode="privacy-first",this.excludeSelectors=['[data-no-redact="true"]',".human-behavior-no-redact"],e?.redactedText&&(this.redactedText=e.redactedText),e?.excludeSelectors&&(this.excludeSelectors=[...this.excludeSelectors,...e.excludeSelectors]),e?.redactionStrategy)if(this.redactionMode=e.redactionStrategy.mode,"privacy-first"===this.redactionMode)e.redactionStrategy.unredactFields&&this.setFieldsToUnredact(e.redactionStrategy.unredactFields);else{const t=['input[type="password"]','[data-hb-redact="true"]'],s=e.redactionStrategy.redactFields&&e.redactionStrategy.redactFields.length>0?e.redactionStrategy.redactFields:t;this.setFieldsToRedact(s)}e?.legacyRedactFields&&this.setFieldsToUnredact(e.legacyRedactFields),e?.userFields&&this.setFieldsToUnredact(e.userFields)}setFieldsToRedact(e){this.redactedFields.clear(),['input[type="password"]','input[type="password" i]','[type="password"]','[type="password" i]',...e].forEach(e=>{this.redactedFields.add(e)}),this.redactedFields.size>0?Fc(`Redaction: Active for ${this.redactedFields.size} field(s):`,Array.from(this.redactedFields)):Fc("Redaction: No fields to redact"),this.applyRedactionClasses()}setFieldsToUnredact(e){this.unredactedFields.clear();const t=e.filter(e=>!this.isPasswordSelector(e)||(Nc(`Cannot unredact password field: ${e} - Password fields are always protected`),!1));t.forEach(e=>this.unredactedFields.add(e)),t.length>0?Fc(`Unredaction: Active for ${t.length} field(s):`,t):Fc("Unredaction: No valid fields to unredact"),this.applyUnredactionClasses()}redactFields(e){e.forEach(e=>{this.unredactedFields.delete(e)}),this.unredactedFields.size>0?Fc(`Unredaction: Removed ${e.length} field(s), ${this.unredactedFields.size} remaining:`,Array.from(this.unredactedFields)):Fc("Unredaction: All fields redacted"),this.applyUnredactionClasses()}clearUnredactedFields(){this.unredactedFields.clear(),Fc("Unredaction: All fields cleared, everything redacted"),this.removeUnredactionClasses()}hasUnredactedFields(){return this.unredactedFields.size>0}getRedactionMode(){return this.redactionMode}getUnredactedFields(){return Array.from(this.unredactedFields)}getMaskTextSelector(){return"privacy-first"===this.redactionMode?0===this.unredactedFields.size?null:Array.from(this.unredactedFields).join(","):0===this.redactedFields.size?null:Array.from(this.redactedFields).join(",")}applyRedactionClasses(){0!==this.redactedFields.size&&("undefined"!=typeof document&&"loading"!==document.readyState?this.redactedFields.forEach(e=>{try{const t=document.querySelectorAll(e);t.forEach(e=>{e&&e.classList&&e.classList.add("rr-mask")}),Fc(`Added rr-mask class to ${t.length} element(s) for selector: ${e}`)}catch(t){Nc(`Invalid selector: ${e}`)}}):Fc("DOM not ready, deferring redaction class application"))}applyUnredactionClasses(){0!==this.unredactedFields.size&&("undefined"!=typeof document&&"loading"!==document.readyState?this.unredactedFields.forEach(e=>{try{const t=document.querySelectorAll(e);t.forEach(e=>{e&&e.classList&&e.classList.remove("rr-mask")}),Fc(`Removed rr-mask class from ${t.length} element(s) for selector: ${e}`)}catch(t){Nc(`Invalid selector: ${e}`)}}):Fc("DOM not ready, deferring unredaction class application"))}removeUnredactionClasses(){Fc("Unredaction classes removed")}isPasswordSelector(e){return['input[type="password"]','input[type="password" i]','[type="password"]','[type="password" i]'].some(t=>e.toLowerCase().includes(t.toLowerCase().replace(/[\[\]]/g,"")))}getOriginalValue(e){if(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)return e.value}isElementUnredacted(e){return this.shouldUnredactElement(e)}shouldUnredactElement(e){if("privacy-first"===this.redactionMode){if(0===this.unredactedFields.size)return!1;for(const t of this.unredactedFields)try{if(e.matches(t))return!0}catch(e){Nc(`Invalid selector: ${t}`)}return!1}if(0===this.redactedFields.size)return!0;for(const t of this.redactedFields)try{if(e.matches(t))return!1}catch(e){Nc(`Invalid selector: ${t}`)}return!0}}new Hc;const Yc="undefined"!=typeof window;function Zc(){if(!Yc)return"unknown";const e=navigator.userAgent.toLowerCase(),t=window.screen.width,s=window.screen.height;return/mobile|android|iphone|ipad|ipod|blackberry|windows phone/i.test(e)?/ipad/i.test(e)||t>=768&&s>=1024?"tablet":"mobile":/windows|macintosh|linux/i.test(e)?"desktop":"unknown"}function qc(e){try{return new URL(e).hostname}catch{return""}}function Jc(){if(!Yc)return{device_type:"unknown",browser:"unknown",browser_version:"unknown",os:"unknown",os_version:"unknown",screen_resolution:"unknown",viewport_size:"unknown",color_depth:0,timezone:"unknown",language:"unknown",languages:[]};const{browser:e,browser_version:t}=function(){if(!Yc)return{browser:"unknown",browser_version:"unknown"};const e=navigator.userAgent;if(/chrome/i.test(e)&&!/edge/i.test(e)){const t=e.match(/chrome\/(\d+)/i);return{browser:"chrome",browser_version:t?t[1]:"unknown"}}if(/firefox/i.test(e)){const t=e.match(/firefox\/(\d+)/i);return{browser:"firefox",browser_version:t?t[1]:"unknown"}}if(/safari/i.test(e)&&!/chrome/i.test(e)){const t=e.match(/version\/(\d+)/i);return{browser:"safari",browser_version:t?t[1]:"unknown"}}if(/edge/i.test(e)){const t=e.match(/edge\/(\d+)/i);return{browser:"edge",browser_version:t?t[1]:"unknown"}}if(/msie|trident/i.test(e)){const t=e.match(/msie (\d+)/i)||e.match(/rv:(\d+)/i);return{browser:"ie",browser_version:t?t[1]:"unknown"}}return{browser:"unknown",browser_version:"unknown"}}(),{os:s,os_version:r}=function(){if(!Yc)return{os:"unknown",os_version:"unknown"};const e=navigator.userAgent;if(/windows/i.test(e)){const t=e.match(/windows nt (\d+\.\d+)/i);let s="unknown";if(t){const e=parseFloat(t[1]);s=10===e?"10":6.3===e?"8.1":6.2===e?"8":6.1===e?"7":t[1]}return{os:"windows",os_version:s}}if(/macintosh|mac os x/i.test(e)){const t=e.match(/mac os x (\d+[._]\d+)/i);return{os:"macos",os_version:t?t[1].replace("_","."):"unknown"}}if(/iphone|ipad|ipod/i.test(e)){const t=e.match(/os (\d+[._]\d+)/i);return{os:"ios",os_version:t?t[1].replace("_","."):"unknown"}}if(/android/i.test(e)){const t=e.match(/android (\d+\.\d+)/i);return{os:"android",os_version:t?t[1]:"unknown"}}return/linux/i.test(e)?{os:"linux",os_version:"unknown"}:{os:"unknown",os_version:"unknown"}}();return{device_type:Zc(),browser:e,browser_version:t,os:s,os_version:r,screen_resolution:`${window.screen.width}x${window.screen.height}`,viewport_size:`${window.innerWidth}x${window.innerHeight}`,color_depth:window.screen.colorDepth,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,language:navigator.language,languages:[...navigator.languages||[navigator.language]],raw_user_agent:navigator.userAgent}}function Xc(){if(!Yc)return{current_url:"",pathname:"",search:"",hash:"",title:"",referrer:"",referrer_domain:"",initial_referrer:"",initial_referrer_domain:""};const e=window.location.href,t=document.referrer,s=function(e){const t=new URL(e),s={};return["utm_source","utm_medium","utm_campaign","utm_term","utm_content"].forEach(e=>{const r=t.searchParams.get(e);r&&(s[e]=r)}),s}(e);return{current_url:e,pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,title:document.title,referrer:t,referrer_domain:qc(t),initial_referrer:t,initial_referrer_domain:qc(t),initial_host:window.location.hostname,...s}}function Qc(){return{...Jc(),...Xc()}}function eh(){if(!Yc)return{};const e=Xc();return{current_url:e.current_url,pathname:e.pathname,search:e.search,hash:e.hash,title:e.title,referrer:e.referrer,referrer_domain:e.referrer_domain,utm_source:e.utm_source,utm_medium:e.utm_medium,utm_campaign:e.utm_campaign,utm_term:e.utm_term,utm_content:e.utm_content}}class th{constructor(e={}){this.sessionProperties={},this.userProperties={},this.initialProperties={},this.isInitialized=!1,this.config={enableAutomaticProperties:!0,enableSessionProperties:!0,enableUserProperties:!0,propertyDenylist:[],...e},this.automaticProperties=Qc(),this.initialize()}initialize(){this.isInitialized||(this.initialProperties=function(){if(!Yc)return{};const e=Xc();return{initial_referrer:e.initial_referrer,initial_referrer_domain:e.initial_referrer_domain,initial_url:e.current_url,initial_pathname:e.pathname,initial_utm_source:e.utm_source,initial_utm_medium:e.utm_medium,initial_utm_campaign:e.utm_campaign,initial_utm_term:e.utm_term,initial_utm_content:e.utm_content}}(),this.loadSessionProperties(),this.isInitialized=!0)}getEventProperties(e={}){const t={...e};return this.config.enableAutomaticProperties&&Object.assign(t,this.getAutomaticProperties()),this.config.enableSessionProperties&&Object.assign(t,this.sessionProperties),this.config.enableUserProperties&&Object.assign(t,this.userProperties),this.sessionProperties.$initial_properties_captured||(Object.assign(t,this.initialProperties),this.setSessionProperty("$initial_properties_captured",!0)),this.applyDenylist(t),t}getAutomaticProperties(){return{...this.automaticProperties,...eh()}}getAutomaticPropertiesWithGeoIP(e={}){return{...this.automaticProperties,...eh(),...e}}setSessionProperty(e,t){this.sessionProperties[e]=t,this.saveSessionProperties()}setSessionProperties(e){Object.assign(this.sessionProperties,e),this.saveSessionProperties()}getSessionProperty(e){return this.sessionProperties[e]}removeSessionProperty(e){delete this.sessionProperties[e],this.saveSessionProperties()}setUserProperty(e,t){this.userProperties[e]=t}setUserProperties(e){Object.assign(this.userProperties,e)}getUserProperty(e){return this.userProperties[e]}removeUserProperty(e){delete this.userProperties[e]}setOnce(e,t,s="user"){"session"===s?e in this.sessionProperties||this.setSessionProperty(e,t):e in this.userProperties||this.setUserProperty(e,t)}clearSessionProperties(){this.sessionProperties={},this.saveSessionProperties()}clearUserProperties(){this.userProperties={}}reset(){this.clearSessionProperties(),this.clearUserProperties(),this.initialProperties={},this.isInitialized=!1,this.initialize()}loadSessionProperties(){if("undefined"!=typeof sessionStorage)try{const e=sessionStorage.getItem("hb_session_properties");e&&(this.sessionProperties=JSON.parse(e))}catch(e){console.warn("Failed to load session properties:",e)}}saveSessionProperties(){if("undefined"!=typeof sessionStorage)try{sessionStorage.setItem("hb_session_properties",JSON.stringify(this.sessionProperties))}catch(e){console.warn("Failed to save session properties:",e)}}applyDenylist(e){this.config.propertyDenylist&&0!==this.config.propertyDenylist.length&&this.config.propertyDenylist.forEach(t=>{delete e[t]})}updateAutomaticProperties(){this.automaticProperties=Qc()}getAllProperties(){return{automatic:this.getAutomaticProperties(),session:{...this.sessionProperties},user:{...this.userProperties},initial:{...this.initialProperties}}}}const sh="undefined"!=typeof window;class rh{get isTrackerStarted(){return this.isStarted}setupDomReadyHandler(){if(sh)if("complete"===document.readyState||"interactive"===document.readyState)this.onDomReady();else if(document.addEventListener){document.addEventListener("DOMContentLoaded",()=>this.onDomReady(),{capture:!1});const e=setInterval(()=>{"interactive"!==document.readyState&&"complete"!==document.readyState||(clearInterval(e),this.onDomReady())},10);setTimeout(()=>clearInterval(e),5e3)}else this.onDomReady();else this.onDomReady()}onDomReady(){this.isDomReady||(this.isDomReady=!0,Fc("π― DOM is ready, processing queued requests"),this.requestQueue.forEach(e=>{this.processRequest(e)}),this.requestQueue=[],this.domReadyHandlers.forEach(e=>e()),this.domReadyHandlers=[])}queueRequest(e){this.isDomReady?this.processRequest(e):this.requestQueue.push(e)}async processRequest(e){switch(Fc("Processing queued request:",e),e.type){case"addEvent":await this.addEvent(e.event);break;case"identifyUser":await this.identifyUser(e.userProperties);break;case"trackPageView":this.trackPageView();break;default:Nc("Unknown request type:",e.type)}}registerDomReadyHandler(e){this.isDomReady?e():this.domReadyHandlers.push(e)}static init(e,t){if(sh&&!1!==t?.suppressConsoleErrors){const e=console.error;console.error=(...t)=>{const s=t.join(" ");s.includes("SecurityError: Failed to execute 'toDataURL'")||s.includes("Tainted canvases may not be exported")||s.includes("Cannot inline img src=")||s.includes("Cross-Origin")||s.includes("CORS")||s.includes("Access-Control-Allow-Origin")||s.includes("Failed to load resource")||s.includes("net::ERR_BLOCKED_BY_CLIENT")||s.includes("NetworkError when attempting to fetch resource")||s.includes("Failed to fetch")||s.includes("TypeError: NetworkError")||s.includes("HumanBehavior ERROR")||s.includes("Failed to track custom event")||s.includes("Error sending custom event")||e.apply(console,t)};const t=console.warn;console.warn=(...e)=>{const s=e.join(" ");s.includes("Cannot inline img src=")||s.includes("Cross-Origin")||s.includes("CORS")||s.includes("Access-Control-Allow-Origin")||s.includes("Failed to load resource")||s.includes("net::ERR_BLOCKED_BY_CLIENT")||s.includes("NetworkError when attempting to fetch resource")||s.includes("Failed to fetch")||s.includes("Custom event network error")||s.includes("Request blocked by ad blocker")||t.apply(console,e)},window.addEventListener("error",e=>{const t=e.message||"";if(t.includes("SecurityError")||t.includes("Tainted canvases")||t.includes("toDataURL")||t.includes("Cross-Origin")||t.includes("CORS")||t.includes("NetworkError")||t.includes("Failed to fetch"))return e.preventDefault(),!1})}if(sh&&window.__humanBehaviorGlobalTracker)return Fc("Tracker already initialized, returning existing instance"),window.__humanBehaviorGlobalTracker;t?.logLevel&&this.configureLogging({level:t.logLevel});const s=new rh(e,t?.ingestionUrl,{enableAutomaticProperties:t?.enableAutomaticProperties,propertyDenylist:t?.propertyDenylist,redactionStrategy:t?.redactionStrategy,redactFields:t?.redactFields,maxQueueSize:t?.maxQueueSize,enableConsoleTracking:t?.enableConsoleTracking,enableNetworkTracking:t?.enableNetworkTracking});return s.recordCanvas=t?.recordCanvas??!1,t?.redactFields&&s.setUnredactedFields(t.redactFields),!1!==t?.enableAutomaticTracking&&s.setupAutomaticTracking(t?.automaticTrackingOptions),s.start(),s}constructor(e,t,s){if(this.eventQueue=[],this.pendingCustomEvents=[],this.pendingLogs=[],this.pendingNetworkErrors=[],this._sessionActivityTimestamp=null,this._sessionStartTimestamp=null,this.userProperties={},this.isProcessing=!1,this.flushInterval=null,this.FLUSH_INTERVAL_MS=3e3,this.endUserId=null,this.initialized=!1,this.initializationPromise=null,this.monthlyLimitReached=!1,this.isDomReady=!1,this.requestQueue=[],this.domReadyHandlers=[],this.originalConsole=null,this.consoleTrackingEnabled=!1,this.originalFetch=null,this.networkTrackingEnabled=!1,this.enableConsoleTrackingFlag=!0,this.enableNetworkTrackingFlag=!0,this.navigationTrackingEnabled=!1,this.currentUrl="",this.previousUrl="",this.originalPushState=null,this.originalReplaceState=null,this.navigationListeners=[],this._connectionBlocked=!1,this.recordInstance=null,this.sessionStartTime=Date.now(),this.rrwebRecord=null,this.fullSnapshotTimeout=null,this.recordCanvas=!1,this.isStarted=!1,this.minimumDurationMilliseconds=5e3,this._isIdle="unknown",this._lastActivityTimestamp=Date.now(),this.IDLE_THRESHOLD_MS=3e5,this.rageClickTracker={clicks:[]},this.RAGE_CLICK_THRESHOLD_PX=30,this.RAGE_CLICK_TIMEOUT_MS=1e3,this.RAGE_CLICK_CLICK_COUNT=3,this.deadClickTracker={pendingClicks:new Map},this.DEAD_CLICK_SCROLL_THRESHOLD_MS=100,this.DEAD_CLICK_SELECTION_THRESHOLD_MS=100,this.DEAD_CLICK_MUTATION_THRESHOLD_MS=2e3,this.DEAD_CLICK_ABSOLUTE_TIMEOUT_MS=1400,!e)throw new Error("Human Behavior API Key is required");const r=t||"https://ingest.humanbehavior.co";if(this.api=new Gc({apiKey:e,ingestionUrl:r}),this.apiKey=e,this.ingestionUrl=r,this.MAX_QUEUE_SIZE=s?.maxQueueSize??1e3,this.enableConsoleTrackingFlag=!1!==s?.enableConsoleTracking,this.enableNetworkTrackingFlag=!1!==s?.enableNetworkTracking,this.redactionManager=new Hc({redactionStrategy:s?.redactionStrategy,legacyRedactFields:s?.redactFields}),this.propertyManager=new th({enableAutomaticProperties:!1!==s?.enableAutomaticProperties,propertyDenylist:s?.propertyDenylist||[]}),sh){const e="human_behavior_end_user_id",t=this.getCookie(e);this.endUserId=t||Mc(),t?Fc(`Reusing existing endUserId: ${this.endUserId}`):(this.setCookie(e,this.endUserId,365),Fc(`Generated new endUserId: ${this.endUserId}`))}else this.endUserId=Mc();if(sh){const e=this.apiKey||"default";this._window_id_storage_key=`human_behavior_${e}_window_id`,this._primary_window_exists_storage_key=`human_behavior_${e}_primary_window_exists`,this.sessionId=this.getOrCreateSessionId(),this.windowId=this.getOrCreateWindowId(),this.currentUrl=window.location.href,window.__humanBehaviorGlobalTracker=this,this.setupWindowUnloadListener()}else this._window_id_storage_key="",this._primary_window_exists_storage_key="",this.sessionId=Mc(),this.windowId=Mc();this.api.setTrackingContext(this.sessionId,this.endUserId),this.initializationPromise=this.init().catch(e=>{Pc("Initialization failed:",e)})}async init(){try{sh?(this.setupPageUnloadHandler(),this.setupNavigationTracking()):Lc("HumanBehaviorTracker initialized in server environment. Session tracking is disabled."),this.initialized=!0,Lc(`HumanBehaviorTracker initialized with sessionId: ${this.sessionId}, endUserId: ${this.endUserId}`)}catch(e){Pc("Failed to initialize HumanBehaviorTracker:",e),this.initialized=!0}}async ensureInitialized(){this.initializationPromise&&await this.initializationPromise}setupNavigationTracking(){if(!sh||this.navigationTrackingEnabled)return;this.navigationTrackingEnabled=!0,Fc("Setting up navigation tracking"),this.originalPushState=history.pushState,this.originalReplaceState=history.replaceState,history.pushState=(...e)=>{this.previousUrl=this.currentUrl,this.currentUrl=window.location.href,this.originalPushState.apply(history,e),this.trackNavigationEvent("pushState",this.previousUrl,this.currentUrl),this.takeFullSnapshot()},history.replaceState=(...e)=>{this.previousUrl=this.currentUrl,this.currentUrl=window.location.href,this.originalReplaceState.apply(history,e),this.trackNavigationEvent("replaceState",this.previousUrl,this.currentUrl),this.takeFullSnapshot()};const e=()=>{this.previousUrl=this.currentUrl,this.currentUrl=window.location.href,this.trackNavigationEvent("popstate",this.previousUrl,this.currentUrl),this.takeFullSnapshot()};window.addEventListener("popstate",e),this.navigationListeners.push(()=>{window.removeEventListener("popstate",e)});const t=()=>{this.previousUrl=this.currentUrl,this.currentUrl=window.location.href,this.trackNavigationEvent("hashchange",this.previousUrl,this.currentUrl)};window.addEventListener("hashchange",t),this.navigationListeners.push(()=>{window.removeEventListener("hashchange",t)}),this.trackNavigationEvent("pageLoad","",this.currentUrl)}async trackNavigationEvent(e,t,s){if(this.initialized)try{const r={type:e,from:t,to:s,timestamp:(new Date).toISOString(),pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,referrer:document.referrer};if(await this.addEvent({type:5,data:{payload:{eventType:"navigation",...r}},timestamp:Date.now()}),"pageLoad"===e||"pushState"===e||"replaceState"===e||"popstate"===e||"hashchange"===e){const s={url:window.location.href,fromUrl:t,navigationType:e,pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,referrer:document.referrer,timestamp:Date.now()};await this.customEvent("$page_viewed",s)}Fc(`Navigation tracked: ${e} from ${t} to ${s}`)}catch(e){Pc("Failed to track navigation event:",e)}}async trackPageView(e){if(this.initialized){this.propertyManager.updateAutomaticProperties();try{const t={url:e||window.location.href,pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,referrer:document.referrer,timestamp:(new Date).toISOString()},s=this.propertyManager.getEventProperties(t);await this.addEvent({type:5,data:{payload:{eventType:"pageview",...s}},timestamp:Date.now()}),Fc(`Pageview tracked: ${t.url}`)}catch(e){Pc("Failed to track pageview event:",e)}}}async customEvent(e,t){this.endUserId||(Nc(`endUserId not available, using anonymous ID for event: ${e}`),this.endUserId=Mc()),sh&&this.checkAndRefreshSession();const s=this.propertyManager.getEventProperties(t);if(this.shouldSkipDueToMinimumDuration())return Fc(`Custom event '${e}' queued due to session duration below minimum`),void this.pendingCustomEvents.push({eventName:e,properties:s,timestamp:Date.now()});await this.flushPendingCustomEvents();try{await this.api.sendCustomEvent(this.sessionId,e,s,this.endUserId),Fc(`Custom event tracked: ${e}`,s)}catch(t){Pc("Failed to track custom event:",t),t.message?.includes("500")||t.message?.includes("Internal Server Error")||t.message?.includes("Failed to send custom event")?Nc("Custom event endpoint failed, using fallback"):t.message?.includes("ERR_BLOCKED_BY_CLIENT")?Nc("Custom event request blocked by ad blocker, using fallback"):t.message?.includes("Failed to fetch")&&Nc("Custom event network error, using fallback");try{const t={eventName:e,properties:s||{},timestamp:(new Date).toISOString(),url:window.location.href,pathname:window.location.pathname};await this.addEvent({type:5,data:{payload:{eventType:"custom",...t}},timestamp:Date.now()}),Fc(`Custom event added to event stream as fallback: ${e}`)}catch(e){Pc("Failed to add custom event to event stream as fallback:",e)}}}setupAutomaticTracking(e){if(!sh)return;const t={trackButtons:!1!==e?.trackButtons,trackLinks:!1,trackForms:!1!==e?.trackForms,includeText:!1!==e?.includeText,includeClasses:e?.includeClasses||!1};Fc("Setting up automatic tracking with config:",t),this.setupClickTracking(t),t.trackButtons&&this.setupAutomaticButtonTracking(t),t.trackForms&&this.setupAutomaticFormTracking(t),this.setupRageClickDetection(),this.setupDeadClickDetection()}setupClickTracking(e){document.addEventListener("click",async t=>{const s=t.target;if(!s||!s.tagName)return;const r=s.closest('button, a, [role="button"], [role="link"], [role="tab"], [role="menuitem"]')||s,n={tag:r.tagName.toLowerCase(),x:t.clientX,y:t.clientY,page:window.location.pathname,timestamp:Date.now()};if(r.id&&(n.elementId=r.id),r.href&&(n.href=r.href),e.includeText){const e=r.textContent?.trim();e&&(n.elementText=e.substring(0,100))}e.includeClasses&&r.className&&(n.elementClass=r.className),await this.customEvent("$click",n)})}setupAutomaticButtonTracking(e){document.addEventListener("click",async t=>{const s=t.target;if("BUTTON"===s.tagName||s.closest("button")){const t="BUTTON"===s.tagName?s:s.closest("button"),r={buttonId:t.id||null,buttonType:t.type||"button",page:window.location.pathname,timestamp:Date.now()};e.includeText&&(r.buttonText=t.textContent?.trim()||null),e.includeClasses&&(r.buttonClass=t.className||null),Object.keys(r).forEach(e=>{null===r[e]&&delete r[e]}),await this.customEvent("$button_clicked",r)}})}setupRageClickDetection(){sh&&document.addEventListener("click",async e=>{const t=e.target,s=e.clientX,r=e.clientY,n=Date.now();if(this.isRageClick(s,r,n,t)){const e=t.closest('button, a, [role="button"], [role="link"]')||t,i={x:s,y:r,page:window.location.pathname,element:e.tagName.toLowerCase(),clickCount:this.RAGE_CLICK_CLICK_COUNT,timestamp:n};e.id&&(i.elementId=e.id),e.className&&(i.elementClass=e.className),e.textContent&&(i.elementText=e.textContent.trim().substring(0,100)),Object.keys(i).forEach(e=>{null!==i[e]&&void 0!==i[e]||delete i[e]}),await this.customEvent("$rageclick",i),this.rageClickTracker.clicks=[]}})}isRageClick(e,t,s,r){const n=this.rageClickTracker.clicks,i=n[n.length-1];if(i&&Math.abs(e-i.x)+Math.abs(t-i.y)<this.RAGE_CLICK_THRESHOLD_PX&&s-i.timestamp<this.RAGE_CLICK_TIMEOUT_MS){if(n.push({x:e,y:t,timestamp:s,element:r}),n.length>=this.RAGE_CLICK_CLICK_COUNT)return!0}else this.rageClickTracker.clicks=[{x:e,y:t,timestamp:s,element:r}];return!1}setupDeadClickDetection(){sh&&(this.setupDeadClickMutationObserver(),this.setupDeadClickScrollObserver(),this.setupDeadClickSelectionObserver(),this.setupDeadClickNavigationTracking(),document.addEventListener("click",e=>{const t=e.target;if(!t)return;if(!this.isInteractiveElement(t))return;if(this.ignoreClickForDeadDetection(t))return;const s=Date.now()+Math.random(),r=Date.now(),n=this.deadClickTracker.lastMutationTime,i=this.DEAD_CLICK_ABSOLUTE_TIMEOUT_MS,o=window.setTimeout(()=>{this.handleDeadClickTimeout(s)},i);this.deadClickTracker.pendingClicks.set(s,{element:t,originalEvent:e,timestamp:r,timer:o,cancelled:!1,lastMutationTimeAtClick:n})}))}setupDeadClickMutationObserver(){sh&&(this.deadClickTracker.mutationObserver||(this.deadClickTracker.mutationObserver=new MutationObserver(()=>{const e=Date.now();this.deadClickTracker.lastMutationTime=e,this.deadClickTracker.pendingClicks.forEach((t,s)=>{if(t.cancelled)return;const r=e-t.timestamp,n=t.lastMutationTimeAtClick||0,i=e>n,o=r>=0&&r<this.DEAD_CLICK_MUTATION_THRESHOLD_MS,a=r<0&&Math.abs(r)<50;(o&&i||a)&&this.cancelPendingClick(s)})}),this.deadClickTracker.mutationObserver.observe(document,{attributes:!0,characterData:!0,childList:!0,subtree:!0})))}setupDeadClickScrollObserver(){sh&&window.addEventListener("scroll",()=>{const e=Date.now();this.deadClickTracker.pendingClicks.forEach((t,s)=>{e-t.timestamp<this.DEAD_CLICK_SCROLL_THRESHOLD_MS&&this.cancelPendingClick(s)})},{capture:!0,passive:!0})}setupDeadClickSelectionObserver(){sh&&document.addEventListener("selectionchange",()=>{const e=Date.now();this.deadClickTracker.lastSelectionChangedTime=e,this.deadClickTracker.pendingClicks.forEach((t,s)=>{e-t.timestamp<this.DEAD_CLICK_SELECTION_THRESHOLD_MS&&this.cancelPendingClick(s)})})}setupDeadClickNavigationTracking(){if(!sh)return;let e=window.location.href;const t=this.trackNavigationEvent.bind(this);this.trackNavigationEvent=async(s,r,n)=>(this.cancelAllPendingClicks(),e=window.location.href,t(s,r,n));const s=()=>{const t=window.location.href;t!==e&&(this.cancelAllPendingClicks(),e=t)};window.addEventListener("popstate",s),window.addEventListener("hashchange",s),window.addEventListener("beforeunload",()=>{this.cancelAllPendingClicks()}),setInterval(()=>{s()},100)}isInteractiveElement(e){const t=e.tagName.toLowerCase();if("button"===t||"a"===t)return!0;if(["input","select","textarea"].includes(t))return!0;const s=e.getAttribute("role");if(s&&["button","link","tab","menuitem","checkbox","radio"].includes(s))return!0;if(e.onclick||e.getAttribute("onclick"))return!0;try{if("pointer"===window.getComputedStyle(e).cursor)return!0}catch(e){}return!!e.closest('button, a, [role="button"], [role="link"], [role="tab"], [role="menuitem"]')}ignoreClickForDeadDetection(e){if("html"===e.tagName.toLowerCase())return!0;const t=Date.now();for(const s of this.deadClickTracker.pendingClicks.values())if(s.element===e&&Math.abs(t-s.timestamp)<1e3)return!0;return!1}cancelPendingClick(e){const t=this.deadClickTracker.pendingClicks.get(e);t&&!t.cancelled&&(clearTimeout(t.timer),t.cancelled=!0,this.deadClickTracker.pendingClicks.delete(e))}cancelAllPendingClicks(){this.deadClickTracker.pendingClicks.forEach((e,t)=>{e.cancelled||(clearTimeout(e.timer),this.deadClickTracker.pendingClicks.delete(t))})}async handleDeadClickTimeout(e){const t=this.deadClickTracker.pendingClicks.get(e);if(!t||t.cancelled)return;const s=Date.now()-t.timestamp;let r;const n=t.lastMutationTimeAtClick||0,i=this.deadClickTracker.lastMutationTime||0,o=i>n&&i>=t.timestamp,a=n>0&&n<t.timestamp&&t.timestamp-n<50;let l;o?r=i-t.timestamp:a&&(r=0),this.deadClickTracker.lastSelectionChangedTime&&t.timestamp<=this.deadClickTracker.lastSelectionChangedTime&&(l=this.deadClickTracker.lastSelectionChangedTime-t.timestamp);const c=void 0!==r&&r<this.DEAD_CLICK_MUTATION_THRESHOLD_MS,h=void 0!==l&&l<this.DEAD_CLICK_SELECTION_THRESHOLD_MS;c||h||await this.fireDeadClickEvent(t,s,r,l),this.deadClickTracker.pendingClicks.delete(e)}async fireDeadClickEvent(e,t,s,r){const n=e.element.closest('button, a, [role="button"], [role="link"]')||e.element,i={x:e.originalEvent.clientX,y:e.originalEvent.clientY,page:window.location.pathname,element:n.tagName.toLowerCase(),absoluteDelayMs:t,timestamp:e.timestamp};void 0!==s&&(i.mutationDelayMs=s),void 0!==r&&(i.selectionChangedDelayMs=r),n.id&&(i.elementId=n.id),n.className&&(i.elementClass=n.className),n.textContent&&(i.elementText=n.textContent.trim().substring(0,100)),Object.keys(i).forEach(e=>{null!==i[e]&&void 0!==i[e]||delete i[e]}),await this.customEvent("$deadclick",i)}setupAutomaticLinkTracking(e){}setupAutomaticFormTracking(e){document.addEventListener("submit",async t=>{const s=t.target,r=new FormData(s),n={formId:s.id||null,formAction:s.action||null,formMethod:s.method||"get",fields:Array.from(r.keys()),page:window.location.pathname,timestamp:Date.now()};e.includeClasses&&(n.formClass=s.className||null),Object.keys(n).forEach(e=>{null===n[e]&&delete n[e]}),await this.customEvent("$form_submitted",n)})}cleanupNavigationTracking(){this.navigationTrackingEnabled&&(this.originalPushState&&(history.pushState=this.originalPushState),this.originalReplaceState&&(history.replaceState=this.originalReplaceState),this.navigationListeners.forEach(e=>e()),this.navigationListeners=[],this.navigationTrackingEnabled=!1,Fc("Navigation tracking cleaned up"))}static logToStorage(e){Lc(e)}static configureLogging(e){Ac.setConfig({level:{none:0,error:1,warn:2,info:3,debug:4}[e.level||"error"],enableConsole:!1!==e.enableConsole,enableStorage:e.enableStorage||!1})}enableConsoleTracking(){sh&&!this.consoleTrackingEnabled&&(this.originalConsole={log:console.log,warn:console.warn,error:console.error},console.log=(...e)=>{this.trackConsoleEvent("log",e),this.originalConsole.log(...e)},console.warn=(...e)=>{this.trackConsoleEvent("warn",e),this.originalConsole.warn(...e)},console.error=(...e)=>{this.trackConsoleEvent("error",e),this.originalConsole.error(...e)},this.consoleTrackingEnabled=!0,Fc("Console tracking enabled"))}enableNetworkTracking(){sh&&!this.networkTrackingEnabled&&"undefined"!=typeof fetch&&(this.originalFetch=window.fetch.bind(window),window.fetch=async(e,t)=>{const s=Date.now(),r=Mc(),n="string"==typeof e?e:e instanceof URL?e.toString():e.url,i=(t?.method||("object"==typeof e&&"method"in e?e.method:void 0)||"GET").toUpperCase(),o=this.shouldSkipNetworkTracking(n);let a=null,l=!1;o||(a=setTimeout(()=>{const e=Date.now()-s;if(!l){l=!0;const t={requestId:r,url:n,method:i,status:null,statusText:null,duration:e,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:"long_loading",errorMessage:`Request took longer than 10000ms (${e}ms elapsed)`,startTimeMs:s,spanName:`${i} ${n}`,spanStatus:"slow",attributes:{"http.method":i,"http.url":n,"request.duration_ms":e,"request.long_loading_threshold_ms":1e4},automaticProperties:this.propertyManager.getAutomaticProperties()};return this.shouldSkipDueToMinimumDuration()?(Fc("Long-loading network error queued due to session duration below minimum"),void this.pendingNetworkErrors.push({errorData:t,timestamp:Date.now()})):(this.flushPendingNetworkErrors(),void this.api.sendNetworkError(t).catch(()=>{}))}},1e4));try{const l=await this.originalFetch(e,t),c=Date.now()-s;if(a&&clearTimeout(a),!l.ok&&!o){const e={requestId:r,url:n,method:i,status:l.status,statusText:l.statusText,duration:c,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyHttpError(l.status),errorMessage:l.statusText,startTimeMs:s,spanName:`${i} ${n}`,spanStatus:"error",attributes:{"http.status_code":l.status,"http.status_text":l.statusText},automaticProperties:this.propertyManager.getAutomaticProperties()};if(this.shouldSkipDueToMinimumDuration())return Fc("Failed request network error queued due to session duration below minimum"),this.pendingNetworkErrors.push({errorData:e,timestamp:Date.now()}),l;this.flushPendingNetworkErrors(),this.api.sendNetworkError(e).catch(()=>{})}return l}catch(e){const t=Date.now()-s;if(a&&clearTimeout(a),!o){const o={requestId:r,url:n,method:i,status:null,statusText:null,duration:t,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyNetworkError(e),errorMessage:e.message,errorName:e.name,startTimeMs:s,spanName:`${i} ${n}`,spanStatus:"error",attributes:{"error.name":e.name,"error.message":e.message},automaticProperties:this.propertyManager.getAutomaticProperties()};if(this.shouldSkipDueToMinimumDuration())throw Fc("Network error queued due to session duration below minimum"),this.pendingNetworkErrors.push({errorData:o,timestamp:Date.now()}),e;this.flushPendingNetworkErrors(),this.api.sendNetworkError(o).catch(()=>{})}throw e}},this.networkTrackingEnabled=!0,Fc("Network tracking enabled"))}async flushPendingCustomEvents(){if(0===this.pendingCustomEvents.length)return;const e=[...this.pendingCustomEvents];this.pendingCustomEvents=[],Fc(`Flushing ${e.length} pending custom events`);for(const{eventName:t,properties:s}of e)try{await this.api.sendCustomEvent(this.sessionId,t,s,this.endUserId)}catch(e){Pc("Failed to flush pending custom event:",e)}}async flushPendingLogs(){if(0===this.pendingLogs.length)return;const e=[...this.pendingLogs];this.pendingLogs=[],Fc(`Flushing ${e.length} pending logs`);for(const{logData:t}of e)try{await this.api.sendLog(t)}catch(e){Pc("Failed to flush pending log:",e)}}async flushPendingNetworkErrors(){if(0===this.pendingNetworkErrors.length)return;const e=[...this.pendingNetworkErrors];this.pendingNetworkErrors=[],Fc(`Flushing ${e.length} pending network errors`);for(const{errorData:t}of e)try{await this.api.sendNetworkError(t)}catch(e){Pc("Failed to flush pending network error:",e)}}enablePageLoadTracking(){sh&&"undefined"!=typeof window&&("complete"===document.readyState?this.trackPageLoad():window.addEventListener("load",()=>{this.trackPageLoad()}),Fc("Page load tracking enabled"))}trackPageLoad(){if(sh&&"undefined"!=typeof performance)try{const e=performance.getEntriesByType("navigation")[0];if(!e)return;const t=e.loadEventEnd-e.fetchStart;if(t>3e3){const s=Mc(),r=e.domContentLoadedEventEnd-e.fetchStart,n=e.domComplete-e.fetchStart,i={requestId:s,url:window.location.href,method:"GET",status:200,statusText:"OK",duration:t,timestampMs:e.loadEventEnd+performance.timeOrigin,sessionId:this.sessionId,endUserId:this.endUserId,errorType:"slow_page_load",errorMessage:`Page load took ${t}ms`,startTimeMs:e.fetchStart+performance.timeOrigin,spanName:"page_load",spanStatus:"slow",attributes:{"page.url":window.location.href,"page.load_time":t,"page.dom_content_loaded":r,"page.dom_complete":n}};if(this.shouldSkipDueToMinimumDuration())return Fc("Slow page load network error queued due to session duration below minimum"),void this.pendingNetworkErrors.push({errorData:i,timestamp:Date.now()});this.flushPendingNetworkErrors(),this.api.sendNetworkError(i).catch(()=>{})}}catch(e){Nc("Failed to track page load:",e)}}shouldSkipNetworkTracking(e){if(!e||!this.ingestionUrl)return!1;try{const t=new URL(e),s=new URL(this.ingestionUrl);return!(t.origin!==s.origin||!t.pathname.startsWith("/api/ingestion/"))||!!e.includes(this.ingestionUrl)}catch(t){return e.includes(this.ingestionUrl)}}classifyHttpError(e){return e>=400&&e<500?"client_error":e>=500?"server_error":"unknown_error"}classifyNetworkError(e){const t=e.message||"",s=e.name||"";return t.includes("blocked")||t.includes("ERR_BLOCKED_BY_CLIENT")||t.includes("net::ERR_BLOCKED_BY_CLIENT")||"TypeError"===s&&t.includes("Failed to fetch")?"blocked_by_client":t.includes("CORS")||t.includes("Cross-Origin")||t.includes("Access-Control-Allow-Origin")||"TypeError"===s&&t.includes("CORS")?"cors_error":t.includes("timeout")||t.includes("TIMEOUT")||t.includes("NetworkError")||"NetworkError"===s?"network_error":t.includes("abort")||"AbortError"===s?"aborted":"unknown_error"}disableConsoleTracking(){sh&&this.consoleTrackingEnabled&&(this.originalConsole&&(console.log=this.originalConsole.log,console.warn=this.originalConsole.warn,console.error=this.originalConsole.error),this.consoleTrackingEnabled=!1,Fc("Console tracking disabled"))}trackConsoleEvent(e,t){if(this.initialized)if("log"!==e)try{if(Dc)return void(this.originalConsole&&this.originalConsole[e](...t));const s=(new Error).stack||"";if(this.isSDKStackFrame(s))return void(this.originalConsole&&this.originalConsole[e](...t));const r={level:e,message:t.map(e=>"object"==typeof e?JSON.stringify(e):String(e)).join(" "),timestampMs:Date.now(),url:sh?window.location.href:"",userAgent:sh?navigator.userAgent:"",stack:s,sessionId:this.sessionId,endUserId:this.endUserId,automaticProperties:this.propertyManager.getAutomaticProperties()};if(this.shouldSkipDueToMinimumDuration())return Fc(`Console ${e} queued due to session duration below minimum`),void this.pendingLogs.push({logData:r,timestamp:Date.now()});this.flushPendingLogs(),this.api.sendLog(r).catch(e=>{this.addEvent({type:5,data:{payload:{eventType:"console",...r}},timestamp:Date.now()}).catch(()=>{})})}catch(e){Pc("Error in trackConsoleEvent:",e)}else this.originalConsole&&this.originalConsole.log(...t)}isSDKStackFrame(e){if(!e)return!1;const t=["humanbehavior-js","@humanbehavior/core","@humanbehavior/browser","tracker.ts","api.ts","logger.ts","utils/logger","packages/core","packages/browser","index.mjs","index.js"],s=e.split("\n");e.toLowerCase();let r=!1;for(let e=0;e<s.length;e++){const n=s[e].trim().toLowerCase();if(n&&"error"!==n&&!n.startsWith("error:")&&!t.some(e=>n.includes(e.toLowerCase()))){r=!0;break}}return!r}setupPageUnloadHandler(){if(!sh)return;Fc("Setting up page unload handler"),window.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState?(Fc("Page hidden - sending pending events"),this.flushEvents()):"visible"===document.visibilityState&&(Fc("Page visible - taking full snapshot for multi-window replay"),this.takeFullSnapshot())});const e="onpagehide"in window?"pagehide":"beforeunload";window.addEventListener(e,()=>{Fc("Page unloading - sending final events via sendBeacon");const e=this.minimumDurationMilliseconds,t=this.getSessionDuration();if(null!==t&&t>=0&&t<e)return void Fc(`Session duration (${t}ms) below minimum (${e}ms), not sending on unload`);const s=[...this.eventQueue];if(sh&&window.__hb_pending_snapshots){const e=window.__hb_pending_snapshots;Array.isArray(e)&&e.length>0&&(Fc("Including pending FullSnapshot(s) in sendBeacon for short session"),s.unshift(...e),delete window.__hb_pending_snapshots)}if(s.length>0&&this.api)try{const e=this.propertyManager.getAutomaticProperties();this.api.sendBeaconEvents(s,this.sessionId,this.endUserId||void 0,this.windowId,e),this.eventQueue=[]}catch(e){Nc("Failed to send events via sendBeacon on unload:",e)}this.api&&this.api.unload()});const t=()=>{localStorage.setItem("human_behavior_last_activity",Date.now().toString())};window.addEventListener("click",t),window.addEventListener("keydown",t),window.addEventListener("scroll",t),window.addEventListener("mousemove",t)}viewLogs(){try{const e=Ac.getLogs();Lc("HumanBehavior Logs:",e),Ac.clearLogs()}catch(e){Pc("Failed to read logs:",e)}}async identifyUser({userProperties:e}){const t=this.endUserId;this.userProperties=e,Fc("Identifying user:",{userProperties:e,originalEndUserId:t,sessionId:this.sessionId}),!sh||this.propertyManager.getAutomaticProperties();const s=await this.api.sendUserData(t||"",e,this.sessionId);if(s.actualUserId||s.wasExistingUser){const r=s.actualUserId||t;if(r&&r!==t){const s="human_behavior_end_user_id";if(this.setCookie(s,r,365),sh)try{localStorage.setItem(s,r)}catch(e){Fc("Failed to set canonical endUserId in localStorage:",e)}Fc(`π Preexisting user detected. Future sessions will use canonical ID: ${r} (current session stays: ${t})`)}}return t||""}getUserAttributes(){return{...this.userProperties}}async start(){if(!sh)return;if(this.isStarted)return void Fc("HumanBehaviorTracker already started, skipping start() call.");this.isStarted=!0,this._lastActivityTimestamp=null!==this._sessionActivityTimestamp?this._sessionActivityTimestamp:Date.now(),this._isIdle="unknown",this.flushInterval=window.setInterval(()=>{this.flushEvents()},this.FLUSH_INTERVAL_MS),this.enableConsoleTrackingFlag&&this.enableConsoleTracking(),this.enableNetworkTrackingFlag&&this.enableNetworkTracking(),this.enablePageLoadTracking(),this.api.sendIpInfo(this.sessionId,this.endUserId);const e=()=>{if(this.recordInstance)return void Fc("π― Recording already started, skipping duplicate start");Fc("π― DOM ready, starting session recording"),this.rrwebRecord=Cc;const e=Cc({emit:e=>{this.addRecordingEvent(e),2===e.type&&Fc(`π― FullSnapshot generated at ${(new Date).toISOString()}`)},maskTextSelector:this.redactionManager.getMaskTextSelector()||void 0,maskTextFn:void 0,maskAllInputs:"privacy-first"===this.redactionManager.getRedactionMode(),maskInputOptions:{password:!0,text:!0,textarea:!0,email:!0,number:!0,tel:!0,url:!0,search:!0,date:!0,time:!0,month:!0,week:!0},maskInputFn:(e,t)=>{try{const s=this.redactionManager.getRedactionMode();if(!(t instanceof HTMLElement))return e;if("privacy-first"===s)return"*".repeat(e.length||1);const r=this.redactionManager.shouldUnredactElement(t);return t.id,t.name,t.type,r?e:"*".repeat(e.length||1)}catch{return e}},slimDOMOptions:{},collectFonts:!1,inlineStylesheet:!0,recordCrossOriginIframes:!1,recordCanvas:this.recordCanvas,sampling:this.recordCanvas?{canvas:4}:void 0,dataURLOptions:this.recordCanvas?{type:"image/webp",quality:.4}:void 0,hooks:{input:e=>{try{if("privacy-first"===this.redactionManager.getRedactionMode())return;const t="undefined"!=typeof document?document.querySelector(`[data-rrweb-id="${e.id}"]`):null;t&&t instanceof HTMLElement&&(this.redactionManager.shouldUnredactElement(t)||(void 0!==e.text&&(e.text="*".repeat(e.text?.length||1)),void 0!==e.value&&(e.value="*".repeat(e.value?.length||1))))}catch{}}}});this.recordInstance=e||null};if(Fc(`π― DOM ready state: ${document.readyState}`),"complete"===document.readyState||"interactive"===document.readyState)Fc(`π― DOM ready (${document.readyState}), starting recording immediately`),e();else{Fc("π― DOM not ready, waiting for DOMContentLoaded event");const t=()=>("interactive"===document.readyState||"complete"===document.readyState)&&(Fc(`π― DOM ready (${document.readyState}), starting recording`),e(),!0);if(t())return;document.addEventListener("DOMContentLoaded",()=>{Fc("π― DOMContentLoaded fired, starting recording"),e()},{once:!0});const s=setInterval(()=>{t()&&clearInterval(s)},10);setTimeout(()=>clearInterval(s),5e3)}}takeFullSnapshot(){this.fullSnapshotTimeout&&clearTimeout(this.fullSnapshotTimeout),this.fullSnapshotTimeout=window.setTimeout(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{try{this.rrwebRecord&&"function"==typeof this.rrwebRecord.takeFullSnapshot?(this.rrwebRecord.takeFullSnapshot(),Fc("β
FullSnapshot taken (delayed for animations)")):Nc("β οΈ takeFullSnapshot not available on record function")}catch(e){Pc("β Failed to take FullSnapshot:",e)}})})},1e3)}async stop(){await this.ensureInitialized(),sh&&(this.flushInterval&&(clearInterval(this.flushInterval),this.flushInterval=null),this.recordInstance&&(this.recordInstance(),this.recordInstance=null),this.fullSnapshotTimeout&&(clearTimeout(this.fullSnapshotTimeout),this.fullSnapshotTimeout=null),this.rrwebRecord=null,this.disableConsoleTracking(),this.cleanupNavigationTracking(),this.deadClickTracker.mutationObserver&&(this.deadClickTracker.mutationObserver.disconnect(),this.deadClickTracker.mutationObserver=void 0),this.deadClickTracker.pendingClicks.forEach((e,t)=>{e.cancelled||clearTimeout(e.timer)}),this.deadClickTracker.pendingClicks.clear())}async addEvent(e){if(sh&&this.checkAndRefreshSession(),e&&"object"==typeof e){if(2===e.type){const t=!!e.data,s=!(!e.data||!e.data.node);Fc(t&&s?`β
Valid FullSnapshot: hasData=${t}, hasNode=${s}, dataType=${e.data?.node?.type}`:`β οΈ Empty FullSnapshot detected: hasData=${t}, hasNode=${s} - continuing session`)}this.eventQueue.length>=this.MAX_QUEUE_SIZE&&(this.eventQueue.shift(),Fc("Queue is full, the oldest event is dropped.")),this.eventQueue.push(e),2===e.type?(Fc("FullSnapshot added, triggering immediate flush"),this.flushEvents()):this.eventQueue.length>=.8*this.MAX_QUEUE_SIZE&&(Fc(`Queue at ${this.eventQueue.length}/${this.MAX_QUEUE_SIZE}, triggering immediate flush`),this.flushEvents())}else Fc("β οΈ Skipping invalid event:",e)}getSessionDuration(){const e=this._sessionStartTimestamp??this.sessionStartTime;if(!e)return null;const t=this.eventQueue.filter(e=>e&&e.timestamp);if(0===t.length)return null;const s=t.reduce((e,t)=>!e||t.timestamp&&t.timestamp>e.timestamp?t:e,null);if(!s||!s.timestamp)return null;const r=s.timestamp-e;return r>=0?r:null}shouldSkipDueToMinimumDuration(){const e=this.minimumDurationMilliseconds,t=this.getSessionDuration();return!!(null!==t&&t>=0&&t<e)&&(Fc(`Session duration (${t}ms) below minimum (${e}ms), skipping send`),!0)}async flushEvents(){if(this.isProcessing)return;if(this.monthlyLimitReached)return;if(!0===this._isIdle&&0===this.eventQueue.length)return;const e=this.minimumDurationMilliseconds,t=this.getSessionDuration();if(null!==t&&t>=0&&t<e)return Fc(`Session duration (${t}ms) below minimum (${e}ms), buffering`),void setTimeout(()=>{this.flushEvents()},2e3);this.isProcessing=!0;try{const t=this.eventQueue,s=t.filter(e=>e&&2===e.type);if(this.eventQueue=[],s.length>0&&sh&&(window.__hb_pending_snapshots=s,setTimeout(()=>{delete window.__hb_pending_snapshots},5e3)),t.length>0){Fc("Flushing events:",t);const s=t.filter(e=>2===e.type);s.length>0&&Fc(`[FIXED] Sending ${s.length} FullSnapshot(s) with valid data`);try{const e=this.propertyManager.getAutomaticProperties();await this.api.sendEventsChunked(t,this.sessionId,this.endUserId,this.windowId,e)}catch(e){if(e.message?.includes("ERROR: Session already completed"))Nc("Session expired, events will be lost");else if(e.message?.includes("413")||e.message?.includes("Content Too Large"))Nc("Payload too large, events will be lost");else{if(!(e.message?.includes("ERR_BLOCKED_BY_CLIENT")||e.message?.includes("Failed to fetch")||e.message?.includes("NetworkError")))throw e;Nc("Request blocked by ad blocker or network issue, events will be lost")}}}await this.flushPendingCustomEvents(),await this.flushPendingLogs(),await this.flushPendingNetworkErrors()}finally{this.isProcessing=!1}}isInteractiveEvent(e){if(3!==e.type)return!1;const t=e.data?.source;return[1,2,3,4,5,6,11].includes(t)}updateIdleState(e){const t=this.isInteractiveEvent(e),s=e.timestamp||Date.now();if(t){const e=!0===this._isIdle;this._lastActivityTimestamp=s,null!==this._sessionActivityTimestamp&&(this._sessionActivityTimestamp=s),e?(Fc("β
User activity detected, exiting idle state"),this._isIdle=!1,this.rrwebRecord&&"function"==typeof this.rrwebRecord.takeFullSnapshot&&(this.rrwebRecord.takeFullSnapshot(),Fc("β
FullSnapshot taken after returning from idle"))):"unknown"===this._isIdle&&(this._isIdle=!1)}else if(!0!==this._isIdle){const e=s-this._lastActivityTimestamp;e>this.IDLE_THRESHOLD_MS&&(Fc(`βΈοΈ Session idle detected (${Math.round(e/1e3)}s since last activity) - stopping background event recording`),Fc(`βΉοΈ Session will expire after 15 minutes of inactivity (${Math.round((9e5-e)/1e3)}s remaining)`),this._isIdle=!0,this.flushEvents())}}async addRecordingEvent(e){if(sh&&this.checkAndRefreshSession(),e&&"object"==typeof e){if(this.updateIdleState(e),!0!==this._isIdle||3!==e.type||this.isInteractiveEvent(e)){if(2===e.type){const t=!!e.data,s=!(!e.data||!e.data.node);Fc(t&&s?`β
Valid FullSnapshot: hasData=${t}, hasNode=${s}, dataType=${e.data?.node?.type}`:`β οΈ Empty FullSnapshot detected: hasData=${t}, hasNode=${s} - continuing session`)}this.eventQueue.length>=this.MAX_QUEUE_SIZE&&(this.eventQueue.shift(),Fc("Queue is full, the oldest event is dropped.")),this.eventQueue.push(e),2===e.type?(Fc("FullSnapshot added, triggering immediate flush"),this.flushEvents()):!0!==this._isIdle&&this.eventQueue.length>=.8*this.MAX_QUEUE_SIZE&&(Fc(`Queue at ${this.eventQueue.length}/${this.MAX_QUEUE_SIZE}, triggering immediate flush`),this.flushEvents())}}else Fc("β οΈ Skipping invalid recording event:",e)}_canUseSessionStorage(){if(!sh)return!1;try{const e="__sessionStorage_test__";return sessionStorage.setItem(e,e),sessionStorage.removeItem(e),!0}catch{return!1}}_getWindowIdFromStorage(){if(!this._canUseSessionStorage())return null;try{return sessionStorage.getItem(this._window_id_storage_key)}catch{return null}}_setWindowIdInStorage(e){if(this._canUseSessionStorage())try{sessionStorage.setItem(this._window_id_storage_key,e),Fc(`Stored windowId in sessionStorage: ${e}`)}catch(e){Nc("Failed to store windowId in sessionStorage:",e)}}_removeWindowIdFromStorage(){if(this._canUseSessionStorage())try{sessionStorage.removeItem(this._window_id_storage_key)}catch(e){Nc("Failed to remove windowId from sessionStorage:",e)}}_getPrimaryWindowExists(){if(!this._canUseSessionStorage())return!1;try{return"true"===sessionStorage.getItem(this._primary_window_exists_storage_key)}catch{return!1}}_setPrimaryWindowExists(e){if(this._canUseSessionStorage())try{e?sessionStorage.setItem(this._primary_window_exists_storage_key,"true"):sessionStorage.removeItem(this._primary_window_exists_storage_key)}catch(e){Nc("Failed to set primary_window_exists flag:",e)}}getOrCreateWindowId(){if(!sh)return Mc();const e=this._getWindowIdFromStorage(),t=this._getPrimaryWindowExists();if(e&&!t)return Fc(`Reusing windowId from previous page load: ${e}`),this._setWindowIdInStorage(e),this._setPrimaryWindowExists(!0),e;{const e=Mc();return Fc(`Creating new windowId: ${e} (new window/tab detected)`),this._setWindowIdInStorage(e),this._setPrimaryWindowExists(!0),e}}setupWindowUnloadListener(){sh&&window.addEventListener("beforeunload",()=>{this._canUseSessionStorage()&&(this._setPrimaryWindowExists(!1),Fc("Cleared primary_window_exists flag on beforeunload"))},{capture:!1})}setCookie(e,t,s){if(sh)try{const r=new Date;r.setTime(r.getTime()+24*s*60*60*1e3);const n=`expires=${r.toUTCString()}`;document.cookie=`${e}=${t};${n};path=/;SameSite=Lax`,localStorage.setItem(e,t),Fc(`Set cookie and localStorage: ${e}`)}catch(s){try{localStorage.setItem(e,t),Fc(`Cookie blocked, using localStorage: ${e}`)}catch(e){Pc("Failed to store user ID in both cookie and localStorage:",e)}}}getCookie(e){if(!sh)return null;try{const t=e+"=",s=document.cookie.split(";");for(let r=0;r<s.length;r++){let n=s[r];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t)){const s=n.substring(t.length,n.length);return Fc(`Found cookie: ${e}`),s}}const r=localStorage.getItem(e);return r?(Fc(`Cookie not found, using localStorage: ${e}`),r):null}catch(t){try{const t=localStorage.getItem(e);if(t)return Fc(`Cookie access failed, using localStorage: ${e}`),t}catch(e){Pc("Failed to access both cookie and localStorage:",e)}return null}}deleteCookie(e){if(sh){try{document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; SameSite=Lax`,Fc(`Deleted cookie: ${e}`)}catch(t){Pc(`Failed to delete cookie: ${e}`,t)}try{localStorage.removeItem(e),Fc(`Removed from localStorage: ${e}`)}catch(t){Pc(`Failed to remove from localStorage: ${e}`,t)}}}logout(){if(sh)try{const e="human_behavior_end_user_id";this.deleteCookie(e);const t="human_behavior_session";localStorage.removeItem(t),this.endUserId=null,this.userProperties={},this.endUserId=Mc(),this.setCookie("human_behavior_end_user_id",this.endUserId,365),this.sessionId=this.createNewSession(t),this.windowId=Mc(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),Lc("User logged out - cleared all user data and started fresh session")}catch(e){Pc("Error during logout:",e)}}async redact(e){await this.ensureInitialized(),sh?this.redactionManager=new Hc(e):Nc("Redaction is only available in browser environments")}setRedactedFields(e){this.redactionManager.setFieldsToRedact(e),this.recordInstance&&this.restartWithNewRedaction()}setUnredactedFields(e){this.redactionManager.setFieldsToUnredact(e),this.recordInstance&&this.restartWithNewRedaction()}restartWithNewRedaction(){this.recordInstance&&(this.recordInstance(),this.start())}hasUnredactedFields(){return this.redactionManager.hasUnredactedFields()}getUnredactedFields(){return this.redactionManager.getUnredactedFields()}redactFields(e){this.redactionManager.redactFields(e),this.recordInstance&&this.restartWithNewRedaction()}clearUnredactedFields(){this.redactionManager.clearUnredactedFields(),this.recordInstance&&this.restartWithNewRedaction()}checkAndRefreshSession(){if(!sh)return;const e="human_behavior_session",t=Date.now(),s=this.getStoredSession(e);if(!s||!s.sessionId)return this.createNewSession(e),this.windowId=Mc(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),void Fc(`Created new session (no stored session): ${this.sessionId}`);this.updateSessionActivity(e,t,s.sessionId,s.sessionStartTimestamp)}getOrCreateSessionId(){if(!sh)return Mc();const e="human_behavior_session",t=Date.now(),s=this.getStoredSession(e);if(!s||!s.sessionId){const t=this.createNewSession(e);return this.api.setTrackingContext(t,this.endUserId),t}const r=t-s.lastActivityTimestamp,n=t-s.sessionStartTimestamp;if(r>9e5||n>864e5){Fc(`Session expired: idle=${r}ms, age=${n}ms`);const t=this.createNewSession(e);return this.api.setTrackingContext(t,this.endUserId),t}return this.updateSessionActivity(e,t,s.sessionId,s.sessionStartTimestamp),s.sessionId}getStoredSession(e){const t=Date.now(),s=9e5,r=864e5;if(this.sessionId&&null!==this._sessionActivityTimestamp&&null!==this._sessionStartTimestamp){const n=t-this._sessionActivityTimestamp,i=t-this._sessionStartTimestamp;if(!(n>s||i>r))return{sessionId:this.sessionId,lastActivityTimestamp:this._sessionActivityTimestamp,sessionStartTimestamp:this._sessionStartTimestamp};{Fc("Session in memory expired: creating new session immediately");const t=this.sessionId;if(this.createNewSession(e),this.windowId=Mc(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),Lc(`π Session timeout (memory): Created new session ${this.sessionId} (previous: ${t})`),null!==this._sessionActivityTimestamp&&null!==this._sessionStartTimestamp)return{sessionId:this.sessionId,lastActivityTimestamp:this._sessionActivityTimestamp,sessionStartTimestamp:this._sessionStartTimestamp}}}try{const n=localStorage.getItem(e);if(!n)return null;const i=JSON.parse(n),o=t-i.lastActivityTimestamp,a=t-i.sessionStartTimestamp;if(o>s||a>r){Fc(`Session in localStorage expired: idle=${Math.round(o/1e3/60)}min, age=${Math.round(a/1e3/60/60)}hrs`);const t=i.sessionId;if(this.createNewSession(e),this.windowId=Mc(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),Lc(`π Session timeout (localStorage): Created new session ${this.sessionId} (previous: ${t})`),null!==this._sessionActivityTimestamp&&null!==this._sessionStartTimestamp)return{sessionId:this.sessionId,lastActivityTimestamp:this._sessionActivityTimestamp,sessionStartTimestamp:this._sessionStartTimestamp}}return i.sessionId&&(this.sessionId=i.sessionId,this._sessionActivityTimestamp=i.lastActivityTimestamp,this._sessionStartTimestamp=i.sessionStartTimestamp),i}catch{return null}}createNewSession(e){const t=Mc(),s=Date.now();this.sessionId=t,this._sessionActivityTimestamp=s,this._sessionStartTimestamp=s,this._lastActivityTimestamp=s;const r={sessionId:t,lastActivityTimestamp:s,sessionStartTimestamp:s};try{localStorage.setItem(e,JSON.stringify(r))}catch(e){Nc(`Failed to save session to localStorage: ${e}`)}return Fc(`Created new session: ${t}`),t}updateSessionActivity(e,t,s,r){this.sessionId=s,this._sessionActivityTimestamp=t,this._sessionStartTimestamp=r;const n={sessionId:s,lastActivityTimestamp:t,sessionStartTimestamp:r};try{localStorage.setItem(e,JSON.stringify(n))}catch(e){Nc(`Failed to update session in localStorage: ${e}`)}}getSessionId(){return this.sessionId}getCurrentUrl(){return this.currentUrl}getSnapshotFrequencyInfo(){return{sessionDuration:Date.now()-this.sessionStartTime,currentInterval:3e5,currentThreshold:1e3,phase:"configured"}}async testConnection(){try{return await this.api.init(this.sessionId,this.endUserId),{success:!0}}catch(e){return{success:!1,error:e.message||"Unknown error"}}}getConnectionStatus(){const e=[];let t=!1;return this.eventQueue.length>0&&(t=!0,e.push("Some requests may be blocked by ad blockers")),this._connectionBlocked&&(t=!0,e.push("Initial connection test failed - ad blocker may be active")),"undefined"==typeof window&&e.push("Not running in browser environment"),void 0===navigator.sendBeacon&&e.push("sendBeacon not available, using fetch fallback"),{blocked:t,recommendations:e}}isPreexistingUser(){if(!sh)return!1;const e=this.getCookie("human_behavior_end_user_id");return null!==e&&e!==this.endUserId}getUserInfo(){return{endUserId:this.endUserId,sessionId:this.sessionId,isPreexistingUser:this.isPreexistingUser(),initialized:this.initialized}}setSessionProperty(e,t){this.propertyManager.setSessionProperty(e,t)}setSessionProperties(e){this.propertyManager.setSessionProperties(e)}getSessionProperty(e){return this.propertyManager.getSessionProperty(e)}removeSessionProperty(e){this.propertyManager.removeSessionProperty(e)}setUserProperty(e,t){this.propertyManager.setUserProperty(e,t)}setUserProperties(e){this.propertyManager.setUserProperties(e)}getUserProperty(e){return this.propertyManager.getUserProperty(e)}removeUserProperty(e){this.propertyManager.removeUserProperty(e)}setOnce(e,t,s="user"){this.propertyManager.setOnce(e,t,s)}clearSessionProperties(){this.propertyManager.clearSessionProperties()}clearUserProperties(){this.propertyManager.clearUserProperties()}getAllProperties(){return this.propertyManager.getAllProperties()}}sh&&(window.HumanBehaviorTracker=rh);const nh=(e,t,s)=>new rh(e,t,s);"undefined"!=typeof window&&(window.HumanBehaviorTracker=rh,window.humanbehavior={init:nh});const ih=()=>"undefined"!=typeof window,oh=r(null),ah=({apiKey:r,client:c,children:h,options:u})=>{const[d,p]=n(c||null),[m,f]=n([]),[g,y]=n(!1),[w,v]=n(!1),S=i(r),b=i(c),C=i(m);o(()=>{S.current=r,b.current=c},[r,c]),o(()=>{C.current=m},[m]);const k=a(e=>{f(t=>[...t,e])},[]);o(()=>{y(!0)},[]),o(()=>{if(ih()){if(b.current)return p(b.current),void v(!0);if(S.current&&""!==S.current.trim()){if(null===d)try{const e=rh.init(S.current.trim(),{ingestionUrl:u?.ingestionUrl,logLevel:u?.logLevel,redactFields:u?.redactFields,redactionStrategy:u?.redactionStrategy,enableAutomaticTracking:u?.enableAutomaticTracking,suppressConsoleErrors:u?.suppressConsoleErrors,recordCanvas:u?.recordCanvas,enableAutomaticProperties:u?.enableAutomaticProperties,propertyDenylist:u?.propertyDenylist,automaticTrackingOptions:u?.automaticTrackingOptions,maxQueueSize:u?.maxQueueSize,enableConsoleTracking:u?.enableConsoleTracking,enableNetworkTracking:u?.enableNetworkTracking});p(e),v(!0),e.initializationPromise?.then(async()=>{e.isTrackerStarted||await e.start();const t=C.current;if(t.length>0){for(const s of t)if("identify"===s.type){Fc("Processing queued identify event",s);try{await e.identifyUser({userProperties:s.userProperties})}catch(e){Pc("Failed to process queued user info:",e)}}else e.addEvent(s);f([])}}).catch(e=>{Pc("Failed to initialize HumanBehaviorTracker:",e)})}catch(e){Pc("Failed to create HumanBehaviorTracker:",e)}}else Pc("An apiKey is required when no client is provided")}},[g]);const I=l(()=>g&&w?d:lh(k),[g,w,d,k]);return ih()?s(oh.Provider,{value:I,children:[e(dh,{}),h]}):e(t,{children:h})},lh=e=>({addEvent:t=>{e(t)},identifyUser:async({userProperties:t})=>(e({type:"identify",userProperties:t}),""),start:()=>{},stop:()=>{},logout:()=>{},viewLogs:()=>{Nc("Logs are not available until HumanBehaviorTracker is initialized")},setUnredactedFields:()=>{},hasUnredactedFields:()=>!1,getUnredactedFields:()=>[],trackPageView:()=>{}}),ch=()=>{const e=c(oh);if(!e)throw new Error("useHumanBehavior must be used within a HumanBehaviorProvider");return e},hh=()=>{const e=ch();return{setUnredactedFields:a(t=>{e.setUnredactedFields(t)},[e]),hasUnredactedFields:a(()=>e.hasUnredactedFields(),[e]),getUnredactedFields:a(()=>e.getUnredactedFields(),[e])}},uh=()=>{const e=ch();return{identifyUser:a(async({userProperties:t})=>{try{return await e.identifyUser({userProperties:t}),{success:!0}}catch(e){return Pc("Failed to identify user:",e),{success:!1,error:e}}},[e])}};function dh(){const e=c(oh);return o(()=>{if(e&&"undefined"!=typeof window){e.trackPageView();const t=()=>{e.trackPageView()};window.addEventListener("popstate",t);const s=history.pushState,r=history.replaceState;return history.pushState=function(...e){s.apply(this,e),t()},history.replaceState=function(...e){r.apply(this,e),t()},()=>{window.removeEventListener("popstate",t),history.pushState=s,history.replaceState=r}}},[e]),null}export{ah as HumanBehaviorProvider,rh as HumanBehaviorTracker,ch as useHumanBehavior,hh as useRedaction,uh as useUserTracking};
|
|
1
|
+
import{jsx as e,Fragment as t,jsxs as s}from"react/jsx-runtime";import{createContext as r,useState as i,useRef as n,useEffect as o,useCallback as a,useMemo as l,useContext as c}from"react";var h,u=Object.defineProperty,d=(e,t,s)=>((e,t,s)=>t in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s)(e,"symbol"!=typeof t?t+"":t,s),p=Object.defineProperty,m=(e,t,s)=>((e,t,s)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s)(e,"symbol"!=typeof t?t+"":t,s),f=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(f||{});const g={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},y={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},w={};function v(e){if(w[e])return w[e];const t=globalThis[e],s=t.prototype,r=e in g?g[e]:void 0,i=Boolean(r&&r.every(e=>{var t,r;return Boolean(null==(r=null==(t=Object.getOwnPropertyDescriptor(s,e))?void 0:t.get)?void 0:r.toString().includes("[native code]"))})),n=e in y?y[e]:void 0,o=Boolean(n&&n.every(e=>{var t;return"function"==typeof s[e]&&(null==(t=s[e])?void 0:t.toString().includes("[native code]"))}));if(i&&o&&!globalThis.Zone)return w[e]=t.prototype,t.prototype;try{const r=document.createElement("iframe");document.body.appendChild(r);const i=r.contentWindow;if(!i)return t.prototype;const n=i[e].prototype;return document.body.removeChild(r),n?w[e]=n:s}catch{return s}}const S={};function b(e,t,s){var r;const i=`${e}.${String(s)}`;if(S[i])return S[i].call(t);const n=v(e),o=null==(r=Object.getOwnPropertyDescriptor(n,s))?void 0:r.get;return o?(S[i]=o,o.call(t)):t[s]}const C={};function k(e,t,s){const r=`${e}.${String(s)}`;if(C[r])return C[r].bind(t);const i=v(e)[s];return"function"!=typeof i?t[s]:(C[r]=i,i.bind(t))}const I={ownerDocument:function(e){return b("Node",e,"ownerDocument")},childNodes:function(e){return b("Node",e,"childNodes")},parentNode:function(e){return b("Node",e,"parentNode")},parentElement:function(e){return b("Node",e,"parentElement")},textContent:function(e){return b("Node",e,"textContent")},contains:function(e,t){return k("Node",e,"contains")(t)},getRootNode:function(e){return k("Node",e,"getRootNode")()},host:function(e){return e&&"host"in e?b("ShadowRoot",e,"host"):null},styleSheets:function(e){return e.styleSheets},shadowRoot:function(e){return e&&"shadowRoot"in e?b("Element",e,"shadowRoot"):null},querySelector:function(e,t){return b("Element",e,"querySelector")(t)},querySelectorAll:function(e,t){return b("Element",e,"querySelectorAll")(t)},mutationObserver:function(){return v("MutationObserver").constructor},patch:function(e,t,s){try{if(!(t in e))return()=>{};const r=e[t],i=s(r);return"function"==typeof i&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:r}})),e[t]=i,()=>{e[t]=r}}catch{return()=>{}}}};function E(e){return e.nodeType===e.ELEMENT_NODE}function T(e){const t=e&&"host"in e&&"mode"in e&&I.host(e)||null;return Boolean(t&&"shadowRoot"in t&&I.shadowRoot(t)===e)}function x(e){return"[object ShadowRoot]"===Object.prototype.toString.call(e)}function M(e){try{const s=e.rules||e.cssRules;if(!s)return null;let r=e.href;!r&&e.ownerNode&&(r=e.ownerNode.baseURI);const i=Array.from(s,e=>_(e,r)).join("");return(t=i).includes(" background-clip: text;")&&!t.includes(" -webkit-background-clip: text;")&&(t=t.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),t}catch(e){return null}var t}function _(e,t){if(function(e){return"styleSheet"in e}(e)){let t;try{t=M(e.styleSheet)||function(e){const{cssText:t}=e;if(t.split('"').length<3)return t;const s=["@import",`url(${JSON.stringify(e.href)})`];return""===e.layerName?s.push("layer"):e.layerName&&s.push(`layer(${e.layerName})`),e.supportsText&&s.push(`supports(${e.supportsText})`),e.media.length&&s.push(e.media.mediaText),s.join(" ")+";"}(e)}catch(s){t=e.cssText}return e.styleSheet.href?$(t,e.styleSheet.href):t}{let s=e.cssText;return function(e){return"selectorText"in e}(e)&&e.selectorText.includes(":")&&(s=function(e){const t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}(s)),t?$(s,t):s}}class O{constructor(){m(this,"idNodeMap",new Map),m(this,"nodeMetaMap",new WeakMap)}getId(e){var t;if(!e)return-1;return(null==(t=this.getMeta(e))?void 0:t.id)??-1}getNode(e){return this.idNodeMap.get(e)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(e){return this.nodeMetaMap.get(e)||null}removeNodeFromMap(e){const t=this.getId(e);this.idNodeMap.delete(t),e.childNodes&&e.childNodes.forEach(e=>this.removeNodeFromMap(e))}has(e){return this.idNodeMap.has(e)}hasNode(e){return this.nodeMetaMap.has(e)}add(e,t){const s=t.id;this.idNodeMap.set(s,e),this.nodeMetaMap.set(e,t)}replace(e,t){const s=this.getNode(e);if(s){const e=this.nodeMetaMap.get(s);e&&this.nodeMetaMap.set(t,e)}this.idNodeMap.set(e,t)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function A({element:e,maskInputOptions:t,tagName:s,type:r,value:i,maskInputFn:n}){let o=i||"";const a=r&&R(r);return(t[s.toLowerCase()]||a&&t[a])&&(o=n?n(o,e):"*".repeat(o.length)),o}function R(e){return e.toLowerCase()}const P="__rrweb_original__";function D(e){const t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?R(t):null}function N(e,t){let s;try{s=new URL(e,t??window.location.href)}catch(e){return null}const r=s.pathname.match(/\.([0-9a-z]+)(?:$)/i);return(null==r?void 0:r[1])??null}const L=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,F=/^(?:[a-z+]+:)?\/\//i,U=/^www\..*/i,B=/^(data:)([^,]*),(.*)/i;function $(e,t){return(e||"").replace(L,(e,s,r,i,n,o)=>{const a=r||n||o,l=s||i||"";if(!a)return e;if(F.test(a)||U.test(a))return`url(${l}${a}${l})`;if(B.test(a))return`url(${l}${a}${l})`;if("/"===a[0])return`url(${l}${function(e){let t="";return t=e.indexOf("//")>-1?e.split("/").slice(0,3).join("/"):e.split("/")[0],t=t.split("?")[0],t}(t)+a}${l})`;const c=t.split("/"),h=a.split("/");c.pop();for(const e of h)"."!==e&&(".."===e?c.pop():c.push(e));return`url(${l}${c.join("/")}${l})`})}function z(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function j(e,t){return function(e,t,s=!1){const r=Array.from(t.childNodes),i=[];let n=0;if(r.length>1&&e&&"string"==typeof e){let t=z(e,s);const o=t.length/e.length;for(let a=1;a<r.length;a++)if(r[a].textContent&&"string"==typeof r[a].textContent){const l=z(r[a].textContent,s),c=100;let h=3;for(;h<l.length&&(l[h].match(/[a-zA-Z0-9]/)||-1!==l.indexOf(l.substring(0,h),1));h++);for(;h<l.length;h++){let u=l.substring(0,h),d=t.split(u),p=-1;if(2===d.length)p=d[0].length;else if(d.length>2&&""===d[0]&&""!==r[a-1].textContent)p=t.indexOf(u,1);else if(1===d.length){if(u=u.substring(0,u.length-1),d=t.split(u),d.length<=1)return i.push(e),i;h=c+1}else h===l.length-1&&(p=t.indexOf(u));if(d.length>=2&&h>c){const e=r[a-1].textContent;if(e&&"string"==typeof e){const s=z(e).length;p=t.indexOf(u,s)}-1===p&&(p=d[0].length)}if(-1!==p){let a=Math.floor(p/o);for(;a>0&&a<e.length;){if(n+=1,n>50*r.length)return i.push(e),i;const l=z(e.substring(0,a),s);if(l.length===p){i.push(e.substring(0,a)),e=e.substring(a),t=t.substring(p);break}l.length<p?a+=Math.max(1,Math.floor((p-l.length)/o)):a-=Math.max(1,Math.floor((l.length-p)*o))}break}}}}return i.push(e),i}(e,t).join("/* rr_split */")}let W=1;const K=new RegExp("[^a-z0-9-_:]");function V(){return W++}let G,H;const Y=/^[^ \t\n\r\u000c]+/,q=/^[, \t\n\r\u000c]+/;const Z=new WeakMap;function J(e,t){return t&&""!==t.trim()?Q(e,t):t}function X(e){return Boolean("svg"===e.tagName||e.ownerSVGElement)}function Q(e,t){let s=Z.get(e);if(s||(s=e.createElement("a"),Z.set(e,s)),t){if(t.startsWith("blob:")||t.startsWith("data:"))return t}else t="";return s.setAttribute("href",t),s.href}function ee(e,t,s,r){return r?"src"===s||"href"===s&&("use"!==t||"#"!==r[0])||"xlink:href"===s&&"#"!==r[0]||"background"===s&&["table","td","th"].includes(t)?J(e,r):"srcset"===s?function(e,t){if(""===t.trim())return t;let s=0;function r(e){let r;const i=e.exec(t.substring(s));return i?(r=i[0],s+=r.length,r):""}const i=[];for(;r(q),!(s>=t.length);){let n=r(Y);if(","===n.slice(-1))n=J(e,n.substring(0,n.length-1)),i.push(n);else{let r="";n=J(e,n);let o=!1;for(;;){const e=t.charAt(s);if(""===e){i.push((n+r).trim());break}if(o)")"===e&&(o=!1);else{if(","===e){s+=1,i.push((n+r).trim());break}"("===e&&(o=!0)}r+=e,s+=1}}}return i.join(", ")}(e,r):"style"===s?$(r,Q(e)):"object"===t&&"data"===s?J(e,r):r:r}function te(e,t,s){return["video","audio"].includes(e)&&"autoplay"===t}function se(e,t,s){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return!!s&&se(I.parentNode(e),t,s);for(let s=e.classList.length;s--;){const r=e.classList[s];if(t.test(r))return!0}return!!s&&se(I.parentNode(e),t,s)}function re(e,t,s,r){let i;if(E(e)){if(i=e,!I.childNodes(i).length)return!1}else{if(null===I.parentElement(e))return!1;i=I.parentElement(e)}try{if("string"==typeof t){if(r){if(i.closest(`.${t}`))return!0}else if(i.classList.contains(t))return!0}else if(se(i,t,r))return!0;if(s)if(r){if(i.closest(s))return!0}else if(i.matches(s))return!0}catch(e){}return!1}function ie(e,t){const{doc:s,mirror:r,blockClass:i,blockSelector:n,needsMask:o,inlineStylesheet:a,maskInputOptions:l={},maskTextFn:c,maskInputFn:h,dataURLOptions:u={},inlineImages:d,recordCanvas:p,keepIframeSrcFn:m,newlyAddedElement:g=!1,cssCaptured:y=!1}=t,w=function(e,t){if(!t.hasNode(e))return;const s=t.getId(e);return 1===s?void 0:s}(s,r);switch(e.nodeType){case e.DOCUMENT_NODE:return"CSS1Compat"!==e.compatMode?{type:f.Document,childNodes:[],compatMode:e.compatMode}:{type:f.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:f.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:w};case e.ELEMENT_NODE:return function(e,t){const{doc:s,blockClass:r,blockSelector:i,inlineStylesheet:n,maskInputOptions:o={},maskInputFn:a,dataURLOptions:l={},inlineImages:c,recordCanvas:h,keepIframeSrcFn:u,newlyAddedElement:d=!1,rootId:p}=t,m=function(e,t,s){try{if("string"==typeof t){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){const r=e.classList[s];if(t.test(r))return!0}if(s)return e.matches(s)}catch(e){}return!1}(e,r,i),g=function(e){if(e instanceof HTMLFormElement)return"form";const t=R(e.tagName);return K.test(t)?"div":t}(e);let y={};const w=e.attributes.length;for(let t=0;t<w;t++){const r=e.attributes[t];te(g,r.name,r.value)||(y[r.name]=ee(s,g,R(r.name),r.value))}if("link"===g&&n){const t=Array.from(s.styleSheets).find(t=>t.href===e.href);let r=null;t&&(r=M(t)),r&&(delete y.rel,delete y.href,y._cssText=r)}if("style"===g&&e.sheet){let t=M(e.sheet);t&&(e.childNodes.length>1&&(t=j(t,e)),y._cssText=t)}if(["input","textarea","select"].includes(g)){const t=e.value,s=e.checked;"radio"!==y.type&&"checkbox"!==y.type&&"submit"!==y.type&&"button"!==y.type&&t?y.value=A({element:e,type:D(e),tagName:g,value:t,maskInputOptions:o,maskInputFn:a}):s&&(y.checked=s)}"option"===g&&(e.selected&&!o.select?y.selected=!0:delete y.selected);"dialog"===g&&e.open&&(y.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal");if("canvas"===g&&h)if("2d"===e.__context)(function(e){const t=e.getContext("2d");if(!t)return!0;for(let s=0;s<e.width;s+=50)for(let r=0;r<e.height;r+=50){const i=t.getImageData,n=P in i?i[P]:i;if(new Uint32Array(n.call(t,s,r,Math.min(50,e.width-s),Math.min(50,e.height-r)).data.buffer).some(e=>0!==e))return!1}return!0})(e)||(y.rr_dataURL=e.toDataURL(l.type,l.quality));else if(!("__context"in e)){const t=e.toDataURL(l.type,l.quality),r=s.createElement("canvas");r.width=e.width,r.height=e.height;t!==r.toDataURL(l.type,l.quality)&&(y.rr_dataURL=t)}if("img"===g&&c){G||(G=s.createElement("canvas"),H=G.getContext("2d"));const t=e,r=t.currentSrc||t.getAttribute("src")||"<unknown-src>",i=t.crossOrigin,n=()=>{t.removeEventListener("load",n);try{G.width=t.naturalWidth,G.height=t.naturalHeight,H.drawImage(t,0,0),y.rr_dataURL=G.toDataURL(l.type,l.quality)}catch(e){if("anonymous"!==t.crossOrigin)return t.crossOrigin="anonymous",void(t.complete&&0!==t.naturalWidth?n():t.addEventListener("load",n));console.warn(`Cannot inline img src=${r}! Error: ${e}`)}"anonymous"===t.crossOrigin&&(i?y.crossOrigin=i:t.removeAttribute("crossorigin"))};t.complete&&0!==t.naturalWidth?n():t.addEventListener("load",n)}if(["audio","video"].includes(g)){const t=y;t.rr_mediaState=e.paused?"paused":"played",t.rr_mediaCurrentTime=e.currentTime,t.rr_mediaPlaybackRate=e.playbackRate,t.rr_mediaMuted=e.muted,t.rr_mediaLoop=e.loop,t.rr_mediaVolume=e.volume}d||(e.scrollLeft&&(y.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(y.rr_scrollTop=e.scrollTop));if(m){const{width:t,height:s}=e.getBoundingClientRect();y={class:y.class,rr_width:`${t}px`,rr_height:`${s}px`}}"iframe"!==g||u(y.src)||(e.contentDocument||(y.rr_src=y.src),delete y.src);let v;try{customElements.get(g)&&(v=!0)}catch(e){}return{type:f.Element,tagName:g,attributes:y,childNodes:[],isSVG:X(e)||void 0,needBlock:m,rootId:p,isCustom:v}}(e,{doc:s,blockClass:i,blockSelector:n,inlineStylesheet:a,maskInputOptions:l,maskInputFn:h,dataURLOptions:u,inlineImages:d,recordCanvas:p,keepIframeSrcFn:m,newlyAddedElement:g,rootId:w});case e.TEXT_NODE:return function(e,t){const{needsMask:s,maskTextFn:r,rootId:i,cssCaptured:n}=t,o=I.parentNode(e),a=o&&o.tagName;let l="";const c="STYLE"===a||void 0,h="SCRIPT"===a||void 0;h?l="SCRIPT_PLACEHOLDER":n||(l=I.textContent(e),c&&l&&(l=$(l,Q(t.doc))));!c&&!h&&l&&s&&(l=r?r(l,I.parentElement(e)):l.replace(/[\S]/g,"*"));return{type:f.Text,textContent:l||"",rootId:i}}(e,{doc:s,needsMask:o,maskTextFn:c,rootId:w,cssCaptured:y});case e.CDATA_SECTION_NODE:return{type:f.CDATA,textContent:"",rootId:w};case e.COMMENT_NODE:return{type:f.Comment,textContent:I.textContent(e)||"",rootId:w};default:return!1}}function ne(e){return null==e?"":e.toLowerCase()}function oe(e){return!0===e||"all"===e?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:"all"===e,headMetaDescKeywords:"all"===e,headTitleMutations:"all"===e}:e||{}}function ae(e,t){const{doc:s,mirror:r,blockClass:i,blockSelector:n,maskTextClass:o,maskTextSelector:a,skipChild:l=!1,inlineStylesheet:c=!0,maskInputOptions:h={},maskTextFn:u,maskInputFn:d,slimDOMOptions:p,dataURLOptions:m={},inlineImages:g=!1,recordCanvas:y=!1,onSerialize:w,onIframeLoad:v,iframeLoadTimeout:S=5e3,onStylesheetLoad:b,stylesheetLoadTimeout:C=5e3,keepIframeSrcFn:k=()=>!1,newlyAddedElement:M=!1,cssCaptured:_=!1}=t;let{needsMask:O}=t,{preserveWhiteSpace:A=!0}=t;if(!O){O=re(e,o,a,void 0===O)}const R=ie(e,{doc:s,mirror:r,blockClass:i,blockSelector:n,needsMask:O,inlineStylesheet:c,maskInputOptions:h,maskTextFn:u,maskInputFn:d,dataURLOptions:m,inlineImages:g,recordCanvas:y,keepIframeSrcFn:k,newlyAddedElement:M,cssCaptured:_});if(!R)return console.warn(e,"not serialized"),null;let P;P=r.hasNode(e)?r.getId(e):function(e,t){if(t.comment&&e.type===f.Comment)return!0;if(e.type===f.Element){if(t.script&&("script"===e.tagName||"link"===e.tagName&&("preload"===e.attributes.rel&&"script"===e.attributes.as||"modulepreload"===e.attributes.rel)||"link"===e.tagName&&"prefetch"===e.attributes.rel&&"string"==typeof e.attributes.href&&"js"===N(e.attributes.href)))return!0;if(t.headFavicon&&("link"===e.tagName&&"shortcut icon"===e.attributes.rel||"meta"===e.tagName&&(ne(e.attributes.name).match(/^msapplication-tile(image|color)$/)||"application-name"===ne(e.attributes.name)||"icon"===ne(e.attributes.rel)||"apple-touch-icon"===ne(e.attributes.rel)||"shortcut icon"===ne(e.attributes.rel))))return!0;if("meta"===e.tagName){if(t.headMetaDescKeywords&&ne(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(ne(e.attributes.property).match(/^(og|twitter|fb):/)||ne(e.attributes.name).match(/^(og|twitter):/)||"pinterest"===ne(e.attributes.name)))return!0;if(t.headMetaRobots&&("robots"===ne(e.attributes.name)||"googlebot"===ne(e.attributes.name)||"bingbot"===ne(e.attributes.name)))return!0;if(t.headMetaHttpEquiv&&void 0!==e.attributes["http-equiv"])return!0;if(t.headMetaAuthorship&&("author"===ne(e.attributes.name)||"generator"===ne(e.attributes.name)||"framework"===ne(e.attributes.name)||"publisher"===ne(e.attributes.name)||"progid"===ne(e.attributes.name)||ne(e.attributes.property).match(/^article:/)||ne(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&("google-site-verification"===ne(e.attributes.name)||"yandex-verification"===ne(e.attributes.name)||"csrf-token"===ne(e.attributes.name)||"p:domain_verify"===ne(e.attributes.name)||"verify-v1"===ne(e.attributes.name)||"verification"===ne(e.attributes.name)||"shopify-checkout-api-token"===ne(e.attributes.name)))return!0}}return!1}(R,p)||!A&&R.type===f.Text&&!R.textContent.replace(/^\s+|\s+$/gm,"").length?-2:V();const D=Object.assign(R,{id:P});if(r.add(e,D),-2===P)return null;w&&w(e);let L=!l;if(D.type===f.Element){L=L&&!D.needBlock,delete D.needBlock;const t=I.shadowRoot(e);t&&x(t)&&(D.isShadowHost=!0)}if((D.type===f.Document||D.type===f.Element)&&L){p.headWhitespace&&D.type===f.Element&&"head"===D.tagName&&(A=!1);const t={doc:s,mirror:r,blockClass:i,blockSelector:n,needsMask:O,maskTextClass:o,maskTextSelector:a,skipChild:l,inlineStylesheet:c,maskInputOptions:h,maskTextFn:u,maskInputFn:d,slimDOMOptions:p,dataURLOptions:m,inlineImages:g,recordCanvas:y,preserveWhiteSpace:A,onSerialize:w,onIframeLoad:v,iframeLoadTimeout:S,onStylesheetLoad:b,stylesheetLoadTimeout:C,keepIframeSrcFn:k,cssCaptured:!1};if(D.type===f.Element&&"textarea"===D.tagName&&void 0!==D.attributes.value);else{D.type===f.Element&&void 0!==D.attributes._cssText&&"string"==typeof D.attributes._cssText&&(t.cssCaptured=!0);for(const s of Array.from(I.childNodes(e))){const e=ae(s,t);e&&D.childNodes.push(e)}}let T=null;if(E(e)&&(T=I.shadowRoot(e)))for(const e of Array.from(I.childNodes(T))){const s=ae(e,t);s&&(x(T)&&(s.isShadow=!0),D.childNodes.push(s))}}const F=I.parentNode(e);return F&&T(F)&&x(F)&&(D.isShadow=!0),D.type===f.Element&&"iframe"===D.tagName&&function(e,t,s){const r=e.contentWindow;if(!r)return;let i,n=!1;try{i=r.document.readyState}catch(e){return}if("complete"!==i){const r=setTimeout(()=>{n||(t(),n=!0)},s);return void e.addEventListener("load",()=>{clearTimeout(r),n=!0,t()})}const o="about:blank";if(r.location.href!==o||e.src===o||""===e.src)return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}(e,()=>{const t=e.contentDocument;if(t&&v){const s=ae(t,{doc:t,mirror:r,blockClass:i,blockSelector:n,needsMask:O,maskTextClass:o,maskTextSelector:a,skipChild:!1,inlineStylesheet:c,maskInputOptions:h,maskTextFn:u,maskInputFn:d,slimDOMOptions:p,dataURLOptions:m,inlineImages:g,recordCanvas:y,preserveWhiteSpace:A,onSerialize:w,onIframeLoad:v,iframeLoadTimeout:S,onStylesheetLoad:b,stylesheetLoadTimeout:C,keepIframeSrcFn:k});s&&v(e,s)}},S),D.type===f.Element&&"link"===D.tagName&&"string"==typeof D.attributes.rel&&("stylesheet"===D.attributes.rel||"preload"===D.attributes.rel&&"string"==typeof D.attributes.href&&"css"===N(D.attributes.href))&&function(e,t,s){let r,i=!1;try{r=e.sheet}catch(e){return}if(r)return;const n=setTimeout(()=>{i||(t(),i=!0)},s);e.addEventListener("load",()=>{clearTimeout(n),i=!0,t()})}(e,()=>{if(b){const t=ae(e,{doc:s,mirror:r,blockClass:i,blockSelector:n,needsMask:O,maskTextClass:o,maskTextSelector:a,skipChild:!1,inlineStylesheet:c,maskInputOptions:h,maskTextFn:u,maskInputFn:d,slimDOMOptions:p,dataURLOptions:m,inlineImages:g,recordCanvas:y,preserveWhiteSpace:A,onSerialize:w,onIframeLoad:v,iframeLoadTimeout:S,onStylesheetLoad:b,stylesheetLoadTimeout:C,keepIframeSrcFn:k});t&&b(e,t)}},C),D}function le(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ce(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var s=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(s,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}),s}var he={exports:{}},ue=String,de=function(){return{isColorSupported:!1,reset:ue,bold:ue,dim:ue,italic:ue,underline:ue,inverse:ue,hidden:ue,strikethrough:ue,black:ue,red:ue,green:ue,yellow:ue,blue:ue,magenta:ue,cyan:ue,white:ue,gray:ue,bgBlack:ue,bgRed:ue,bgGreen:ue,bgYellow:ue,bgBlue:ue,bgMagenta:ue,bgCyan:ue,bgWhite:ue}};he.exports=de(),he.exports.createColors=de;var pe=he.exports;const me=ce(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));let fe=pe,ge=me,ye=class e extends Error{constructor(t,s,r,i,n,o){super(t),this.name="CssSyntaxError",this.reason=t,n&&(this.file=n),i&&(this.source=i),o&&(this.plugin=o),void 0!==s&&void 0!==r&&("number"==typeof s?(this.line=s,this.column=r):(this.line=s.line,this.column=s.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;null==e&&(e=fe.isColorSupported),ge&&e&&(t=ge(t));let s,r,i=t.split(/\r?\n/),n=Math.max(this.line-3,0),o=Math.min(this.line+2,i.length),a=String(o).length;if(e){let{bold:e,gray:t,red:i}=fe.createColors(!0);s=t=>e(i(t)),r=e=>t(e)}else s=r=e=>e;return i.slice(n,o).map((e,t)=>{let i=n+1+t,o=" "+(" "+i).slice(-a)+" | ";if(i===this.line){let t=r(o.replace(/\d/g," "))+e.slice(0,this.column-1).replace(/[^\t]/g," ");return s(">")+r(o)+e+"\n "+t+s("^")}return" "+r(o)+e}).join("\n")}toString(){let e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e}};var we=ye;ye.default=ye;var ve={};ve.isClean=Symbol("isClean"),ve.my=Symbol("my");const Se={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};let be=class{constructor(e){this.builder=e}atrule(e,t){let s="@"+e.name,r=e.params?this.rawValue(e,"params"):"";if(void 0!==e.raws.afterName?s+=e.raws.afterName:r&&(s+=" "),e.nodes)this.block(e,s+r);else{let i=(e.raws.between||"")+(t?";":"");this.builder(s+r+i,e)}}beforeAfter(e,t){let s;s="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");let r=e.parent,i=0;for(;r&&"root"!==r.type;)i+=1,r=r.parent;if(s.includes("\n")){let t=this.raw(e,null,"indent");if(t.length)for(let e=0;e<i;e++)s+=t}return s}block(e,t){let s,r=this.raw(e,"between","beforeOpen");this.builder(t+r+"{",e,"start"),e.nodes&&e.nodes.length?(this.body(e),s=this.raw(e,"after")):s=this.raw(e,"after","emptyBody"),s&&this.builder(s),this.builder("}",e,"end")}body(e){let t=e.nodes.length-1;for(;t>0&&"comment"===e.nodes[t].type;)t-=1;let s=this.raw(e,"semicolon");for(let r=0;r<e.nodes.length;r++){let i=e.nodes[r],n=this.raw(i,"before");n&&this.builder(n),this.stringify(i,t!==r||s)}}comment(e){let t=this.raw(e,"left","commentLeft"),s=this.raw(e,"right","commentRight");this.builder("/*"+t+e.text+s+"*/",e)}decl(e,t){let s=this.raw(e,"between","colon"),r=e.prop+s+this.rawValue(e,"value");e.important&&(r+=e.raws.important||" !important"),t&&(r+=";"),this.builder(r,e)}document(e){this.body(e)}raw(e,t,s){let r;if(s||(s=t),t&&(r=e.raws[t],void 0!==r))return r;let i=e.parent;if("before"===s){if(!i||"root"===i.type&&i.first===e)return"";if(i&&"document"===i.type)return""}if(!i)return Se[s];let n=e.root();if(n.rawCache||(n.rawCache={}),void 0!==n.rawCache[s])return n.rawCache[s];if("before"===s||"after"===s)return this.beforeAfter(e,s);{let i="raw"+((o=s)[0].toUpperCase()+o.slice(1));this[i]?r=this[i](n,e):n.walk(e=>{if(r=e.raws[t],void 0!==r)return!1})}var o;return void 0===r&&(r=Se[s]),n.rawCache[s]=r,r}rawBeforeClose(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length>0&&void 0!==e.raws.after)return t=e.raws.after,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeComment(e,t){let s;return e.walkComments(e=>{if(void 0!==e.raws.before)return s=e.raws.before,s.includes("\n")&&(s=s.replace(/[^\n]+$/,"")),!1}),void 0===s?s=this.raw(t,null,"beforeDecl"):s&&(s=s.replace(/\S/g,"")),s}rawBeforeDecl(e,t){let s;return e.walkDecls(e=>{if(void 0!==e.raws.before)return s=e.raws.before,s.includes("\n")&&(s=s.replace(/[^\n]+$/,"")),!1}),void 0===s?s=this.raw(t,null,"beforeRule"):s&&(s=s.replace(/\S/g,"")),s}rawBeforeOpen(e){let t;return e.walk(e=>{if("decl"!==e.type&&(t=e.raws.between,void 0!==t))return!1}),t}rawBeforeRule(e){let t;return e.walk(s=>{if(s.nodes&&(s.parent!==e||e.first!==s)&&void 0!==s.raws.before)return t=s.raws.before,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawColon(e){let t;return e.walkDecls(e=>{if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\s:]/g,""),!1}),t}rawEmptyBody(e){let t;return e.walk(e=>{if(e.nodes&&0===e.nodes.length&&(t=e.raws.after,void 0!==t))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(s=>{let r=s.parent;if(r&&r!==e&&r.parent&&r.parent===e&&void 0!==s.raws.before){let e=s.raws.before.split("\n");return t=e[e.length-1],t=t.replace(/\S/g,""),!1}}),t}rawSemicolon(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length&&"decl"===e.last.type&&(t=e.raws.semicolon,void 0!==t))return!1}),t}rawValue(e,t){let s=e[t],r=e.raws[t];return r&&r.value===s?r.raw:s}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}};var Ce=be;be.default=be;let ke=Ce;function Ie(e,t){new ke(t).stringify(e)}var Ee=Ie;Ie.default=Ie;let{isClean:Te,my:xe}=ve,Me=we,_e=Ce,Oe=Ee;function Ae(e,t){let s=new e.constructor;for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;if("proxyCache"===r)continue;let i=e[r],n=typeof i;"parent"===r&&"object"===n?t&&(s[r]=t):"source"===r?s[r]=i:Array.isArray(i)?s[r]=i.map(e=>Ae(e,s)):("object"===n&&null!==i&&(i=Ae(i)),s[r]=i)}return s}let Re=class{constructor(e={}){this.raws={},this[Te]=!1,this[xe]=!0;for(let t in e)if("nodes"===t){this.nodes=[];for(let s of e[t])"function"==typeof s.clone?this.append(s.clone()):this.append(s)}else this[t]=e[t]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\n\s{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/\n\s{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let t in e)this[t]=e[t];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let t=Ae(this);for(let s in e)t[s]=e[s];return t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}error(e,t={}){if(this.source){let{end:s,start:r}=this.rangeBy(t);return this.source.input.error(e,{column:r.column,line:r.line},{column:s.column,line:s.line},t)}return new Me(e)}getProxyProcessor(){return{get:(e,t)=>"proxyOf"===t?e:"root"===t?()=>e.root().toProxy():e[t],set:(e,t,s)=>(e[t]===s||(e[t]=s,"prop"!==t&&"value"!==t&&"name"!==t&&"params"!==t&&"important"!==t&&"text"!==t||e.markDirty()),!0)}}markDirty(){if(this[Te]){this[Te]=!1;let e=this;for(;e=e.parent;)e[Te]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e,t){let s=this.source.start;if(e.index)s=this.positionInside(e.index,t);else if(e.word){let r=(t=this.toString()).indexOf(e.word);-1!==r&&(s=this.positionInside(r,t))}return s}positionInside(e,t){let s=t||this.toString(),r=this.source.start.column,i=this.source.start.line;for(let t=0;t<e;t++)"\n"===s[t]?(r=1,i+=1):r+=1;return{column:r,line:i}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e){let t={column:this.source.start.column,line:this.source.start.line},s=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:t.column+1,line:t.line};if(e.word){let r=this.toString(),i=r.indexOf(e.word);-1!==i&&(t=this.positionInside(i,r),s=this.positionInside(i+e.word.length,r))}else e.start?t={column:e.start.column,line:e.start.line}:e.index&&(t=this.positionInside(e.index)),e.end?s={column:e.end.column,line:e.end.line}:"number"==typeof e.endIndex?s=this.positionInside(e.endIndex):e.index&&(s=this.positionInside(e.index+1));return(s.line<t.line||s.line===t.line&&s.column<=t.column)&&(s={column:t.column+1,line:t.line}),{end:s,start:t}}raw(e,t){return(new _e).raw(this,e,t)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let t=this,s=!1;for(let r of e)r===this?s=!0:s?(this.parent.insertAfter(t,r),t=r):this.parent.insertBefore(t,r);s||this.remove()}return this}root(){let e=this;for(;e.parent&&"document"!==e.parent.type;)e=e.parent;return e}toJSON(e,t){let s={},r=null==t;t=t||new Map;let i=0;for(let e in this){if(!Object.prototype.hasOwnProperty.call(this,e))continue;if("parent"===e||"proxyCache"===e)continue;let r=this[e];if(Array.isArray(r))s[e]=r.map(e=>"object"==typeof e&&e.toJSON?e.toJSON(null,t):e);else if("object"==typeof r&&r.toJSON)s[e]=r.toJSON(null,t);else if("source"===e){let n=t.get(r.input);null==n&&(n=i,t.set(r.input,i),i++),s[e]={end:r.end,inputId:n,start:r.start}}else s[e]=r}return r&&(s.inputs=[...t.keys()].map(e=>e.toJSON())),s}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Oe){e.stringify&&(e=e.stringify);let t="";return e(this,e=>{t+=e}),t}warn(e,t,s){let r={node:this};for(let e in s)r[e]=s[e];return e.warn(t,r)}get proxyOf(){return this}};var Pe=Re;Re.default=Re;let De=Pe,Ne=class extends De{constructor(e){e&&void 0!==e.value&&"string"!=typeof e.value&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}};var Le=Ne;Ne.default=Ne;var Fe={nanoid:(e=21)=>{let t="",s=e;for(;s--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t}};let{SourceMapConsumer:Ue,SourceMapGenerator:Be}=me,{existsSync:$e,readFileSync:ze}=me,{dirname:je,join:We}=me;let Ke=class{constructor(e,t){if(!1===t.map)return;this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let s=t.map?t.map.prev:void 0,r=this.loadMap(t.from,s);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=je(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new Ue(this.text)),this.consumerCache}decodeInline(e){if(/^data:application\/json;charset=utf-?8,/.test(e)||/^data:application\/json,/.test(e))return decodeURIComponent(e.substr(RegExp.lastMatch.length));if(/^data:application\/json;charset=utf-?8;base64,/.test(e)||/^data:application\/json;base64,/.test(e))return t=e.substr(RegExp.lastMatch.length),Buffer?Buffer.from(t,"base64").toString():window.atob(t);var t;let s=e.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+s)}getAnnotationURL(e){return e.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(e){return"object"==typeof e&&("string"==typeof e.mappings||"string"==typeof e._mappings||Array.isArray(e.sections))}loadAnnotation(e){let t=e.match(/\/\*\s*# sourceMappingURL=/gm);if(!t)return;let s=e.lastIndexOf(t.pop()),r=e.indexOf("*/",s);s>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(s,r)))}loadFile(e){if(this.root=je(e),$e(e))return this.mapFile=e,ze(e,"utf-8").toString().trim()}loadMap(e,t){if(!1===t)return!1;if(t){if("string"==typeof t)return t;if("function"!=typeof t){if(t instanceof Ue)return Be.fromSourceMap(t).toString();if(t instanceof Be)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}{let s=t(e);if(s){let e=this.loadFile(s);if(!e)throw new Error("Unable to load previous source map: "+s.toString());return e}}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let t=this.annotation;return e&&(t=We(je(e),t)),this.loadFile(t)}}}startWith(e,t){return!!e&&e.substr(0,t.length)===t}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};var Ve=Ke;Ke.default=Ke;let{SourceMapConsumer:Ge,SourceMapGenerator:He}=me,{fileURLToPath:Ye,pathToFileURL:qe}=me,{isAbsolute:Ze,resolve:Je}=me,{nanoid:Xe}=Fe,Qe=me,et=we,tt=Ve,st=Symbol("fromOffsetCache"),rt=Boolean(Ge&&He),it=Boolean(Je&&Ze),nt=class{constructor(e,t={}){if(null==e||"object"==typeof e&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),"\ufeff"===this.css[0]||"οΏΎ"===this.css[0]?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!it||/^\w+:\/\//.test(t.from)||Ze(t.from)?this.file=t.from:this.file=Je(t.from)),it&&rt){let e=new tt(this.css,t);if(e.text){this.map=e;let t=e.consumer().file;!this.file&&t&&(this.file=this.mapResolve(t))}}this.file||(this.id="<input css "+Xe(6)+">"),this.map&&(this.map.file=this.from)}error(e,t,s,r={}){let i,n,o;if(t&&"object"==typeof t){let e=t,r=s;if("number"==typeof e.offset){let r=this.fromOffset(e.offset);t=r.line,s=r.col}else t=e.line,s=e.column;if("number"==typeof r.offset){let e=this.fromOffset(r.offset);n=e.line,o=e.col}else n=r.line,o=r.column}else if(!s){let e=this.fromOffset(t);t=e.line,s=e.col}let a=this.origin(t,s,n,o);return i=a?new et(e,void 0===a.endLine?a.line:{column:a.column,line:a.line},void 0===a.endLine?a.column:{column:a.endColumn,line:a.endLine},a.source,a.file,r.plugin):new et(e,void 0===n?t:{column:s,line:t},void 0===n?s:{column:o,line:n},this.css,this.file,r.plugin),i.input={column:s,endColumn:o,endLine:n,line:t,source:this.css},this.file&&(qe&&(i.input.url=qe(this.file).toString()),i.input.file=this.file),i}fromOffset(e){let t,s;if(this[st])s=this[st];else{let e=this.css.split("\n");s=new Array(e.length);let t=0;for(let r=0,i=e.length;r<i;r++)s[r]=t,t+=e[r].length+1;this[st]=s}t=s[s.length-1];let r=0;if(e>=t)r=s.length-1;else{let t,i=s.length-2;for(;r<i;)if(t=r+(i-r>>1),e<s[t])i=t-1;else{if(!(e>=s[t+1])){r=t;break}r=t+1}}return{col:e-s[r]+1,line:r+1}}mapResolve(e){return/^\w+:\/\//.test(e)?e:Je(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,t,s,r){if(!this.map)return!1;let i,n,o=this.map.consumer(),a=o.originalPositionFor({column:t,line:e});if(!a.source)return!1;"number"==typeof s&&(i=o.originalPositionFor({column:r,line:s})),n=Ze(a.source)?qe(a.source):new URL(a.source,this.map.consumer().sourceRoot||qe(this.map.mapFile));let l={column:a.column,endColumn:i&&i.column,endLine:i&&i.line,line:a.line,url:n.toString()};if("file:"===n.protocol){if(!Ye)throw new Error("file: protocol is not available in this PostCSS build");l.file=Ye(n)}let c=o.sourceContentFor(a.source);return c&&(l.source=c),l}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}get from(){return this.file||this.id}};var ot=nt;nt.default=nt,Qe&&Qe.registerInput&&Qe.registerInput(nt);let{SourceMapConsumer:at,SourceMapGenerator:lt}=me,{dirname:ct,relative:ht,resolve:ut,sep:dt}=me,{pathToFileURL:pt}=me,mt=ot,ft=Boolean(at&<),gt=Boolean(ct&&ut&&ht&&dt);var yt=class{constructor(e,t,s,r){this.stringify=e,this.mapOpts=s.map||{},this.root=t,this.opts=s,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:"function"==typeof this.mapOpts.annotation?this.mapOpts.annotation(this.opts.to,this.root):this.outputFile()+".map";let t="\n";this.css.includes("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let t,s=this.toUrl(this.path(e.file)),r=e.root||ct(e.file);!1===this.mapOpts.sourcesContent?(t=new at(e.text),t.sourcesContent&&(t.sourcesContent=null)):t=e.consumer(),this.map.applySourceMap(t,s,this.toUrl(this.path(r)))}}clearAnnotation(){if(!1!==this.mapOpts.annotation)if(this.root){let e;for(let t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],"comment"===e.type&&0===e.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(t)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),gt&&ft&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,t=>{e+=t}),[e]}}generateMap(){if(this.root)this.generateString();else if(1===this.previous().length){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=lt.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new lt({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new lt({file:this.outputFile(),ignoreInvalidMapping:!0});let e,t,s=1,r=1,i="<no source>",n={generated:{column:0,line:0},original:{column:0,line:0},source:""};this.stringify(this.root,(o,a,l)=>{if(this.css+=o,a&&"end"!==l&&(n.generated.line=s,n.generated.column=r-1,a.source&&a.source.start?(n.source=this.sourcePath(a),n.original.line=a.source.start.line,n.original.column=a.source.start.column-1,this.map.addMapping(n)):(n.source=i,n.original.line=1,n.original.column=0,this.map.addMapping(n))),e=o.match(/\n/g),e?(s+=e.length,t=o.lastIndexOf("\n"),r=o.length-t):r+=o.length,a&&"start"!==l){let e=a.parent||{raws:{}};("decl"===a.type||"atrule"===a.type&&!a.nodes)&&a===e.last&&!e.raws.semicolon||(a.source&&a.source.end?(n.source=this.sourcePath(a),n.original.line=a.source.end.line,n.original.column=a.source.end.column-1,n.generated.line=s,n.generated.column=r-2,this.map.addMapping(n)):(n.source=i,n.original.line=1,n.original.column=0,n.generated.line=s,n.generated.column=r-1,this.map.addMapping(n)))}})}isAnnotation(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some(e=>e.annotation))}isInline(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;let e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some(e=>e.inline))}isMap(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0}isSourcesContent(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(e=>e.withContent())}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute)return e;if(60===e.charCodeAt(0))return e;if(/^\w+:\/\//.test(e))return e;let t=this.memoizedPaths.get(e);if(t)return t;let s=this.opts.to?ct(this.opts.to):".";"string"==typeof this.mapOpts.annotation&&(s=ct(ut(s,this.mapOpts.annotation)));let r=ht(s,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}});else{let e=new mt(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(t=>{if(t.source){let s=t.source.input.from;if(s&&!e[s]){e[s]=!0;let r=this.usesFileUrls?this.toFileUrl(s):this.toUrl(this.path(s));this.map.setSourceContent(r,t.source.input.css)}}});else if(this.css){let e=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(e,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let t=this.memoizedFileURLs.get(e);if(t)return t;if(pt){let t=pt(e).toString();return this.memoizedFileURLs.set(e,t),t}throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let t=this.memoizedURLs.get(e);if(t)return t;"\\"===dt&&(e=e.replace(/\\/g,"/"));let s=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,s),s}};let wt=Pe,vt=class extends wt{constructor(e){super(e),this.type="comment"}};var St=vt;vt.default=vt;let bt,Ct,kt,It,{isClean:Et,my:Tt}=ve,xt=Le,Mt=St,_t=Pe;function Ot(e){return e.map(e=>(e.nodes&&(e.nodes=Ot(e.nodes)),delete e.source,e))}function At(e){if(e[Et]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)At(t)}let Rt=class e extends _t{append(...e){for(let t of e){let e=this.normalize(t,this.last);for(let t of e)this.proxyOf.nodes.push(t)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let t,s,r=this.getIterator();for(;this.indexes[r]<this.proxyOf.nodes.length&&(t=this.indexes[r],s=e(this.proxyOf.nodes[t],t),!1!==s);)this.indexes[r]+=1;return delete this.indexes[r],s}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get:(e,t)=>"proxyOf"===t?e:e[t]?"each"===t||"string"==typeof t&&t.startsWith("walk")?(...s)=>e[t](...s.map(e=>"function"==typeof e?(t,s)=>e(t.toProxy(),s):e)):"every"===t||"some"===t?s=>e[t]((e,...t)=>s(e.toProxy(),...t)):"root"===t?()=>e.root().toProxy():"nodes"===t?e.nodes.map(e=>e.toProxy()):"first"===t||"last"===t?e[t].toProxy():e[t]:e[t],set:(e,t,s)=>(e[t]===s||(e[t]=s,"name"!==t&&"params"!==t&&"selector"!==t||e.markDirty()),!0)}}index(e){return"number"==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,t){let s,r=this.index(e),i=this.normalize(t,this.proxyOf.nodes[r]).reverse();r=this.index(e);for(let e of i)this.proxyOf.nodes.splice(r+1,0,e);for(let e in this.indexes)s=this.indexes[e],r<s&&(this.indexes[e]=s+i.length);return this.markDirty(),this}insertBefore(e,t){let s,r=this.index(e),i=0===r&&"prepend",n=this.normalize(t,this.proxyOf.nodes[r],i).reverse();r=this.index(e);for(let e of n)this.proxyOf.nodes.splice(r,0,e);for(let e in this.indexes)s=this.indexes[e],r<=s&&(this.indexes[e]=s+n.length);return this.markDirty(),this}normalize(t,s){if("string"==typeof t)t=Ot(bt(t).nodes);else if(void 0===t)t=[];else if(Array.isArray(t)){t=t.slice(0);for(let e of t)e.parent&&e.parent.removeChild(e,"ignore")}else if("root"===t.type&&"document"!==this.type){t=t.nodes.slice(0);for(let e of t)e.parent&&e.parent.removeChild(e,"ignore")}else if(t.type)t=[t];else if(t.prop){if(void 0===t.value)throw new Error("Value field is missed in node creation");"string"!=typeof t.value&&(t.value=String(t.value)),t=[new xt(t)]}else if(t.selector)t=[new Ct(t)];else if(t.name)t=[new kt(t)];else{if(!t.text)throw new Error("Unknown node type in node creation");t=[new Mt(t)]}return t.map(t=>(t[Tt]||e.rebuild(t),(t=t.proxyOf).parent&&t.parent.removeChild(t),t[Et]&&At(t),void 0===t.raws.before&&s&&void 0!==s.raws.before&&(t.raws.before=s.raws.before.replace(/\S/g,"")),t.parent=this.proxyOf,t))}prepend(...e){e=e.reverse();for(let t of e){let e=this.normalize(t,this.first,"prepend").reverse();for(let t of e)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+e.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){let t;e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);for(let s in this.indexes)t=this.indexes[s],t>=e&&(this.indexes[s]=t-1);return this.markDirty(),this}replaceValues(e,t,s){return s||(s=t,t={}),this.walkDecls(r=>{t.props&&!t.props.includes(r.prop)||t.fast&&!r.value.includes(t.fast)||(r.value=r.value.replace(e,s))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((t,s)=>{let r;try{r=e(t,s)}catch(e){throw t.addToError(e)}return!1!==r&&t.walk&&(r=t.walk(e)),r})}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("atrule"===s.type&&e.test(s.name))return t(s,r)}):this.walk((s,r)=>{if("atrule"===s.type&&s.name===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("atrule"===e.type)return t(e,s)}))}walkComments(e){return this.walk((t,s)=>{if("comment"===t.type)return e(t,s)})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("decl"===s.type&&e.test(s.prop))return t(s,r)}):this.walk((s,r)=>{if("decl"===s.type&&s.prop===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("decl"===e.type)return t(e,s)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("rule"===s.type&&e.test(s.selector))return t(s,r)}):this.walk((s,r)=>{if("rule"===s.type&&s.selector===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("rule"===e.type)return t(e,s)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}};Rt.registerParse=e=>{bt=e},Rt.registerRule=e=>{Ct=e},Rt.registerAtRule=e=>{kt=e},Rt.registerRoot=e=>{It=e};var Pt=Rt;Rt.default=Rt,Rt.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,kt.prototype):"rule"===e.type?Object.setPrototypeOf(e,Ct.prototype):"decl"===e.type?Object.setPrototypeOf(e,xt.prototype):"comment"===e.type?Object.setPrototypeOf(e,Mt.prototype):"root"===e.type&&Object.setPrototypeOf(e,It.prototype),e[Tt]=!0,e.nodes&&e.nodes.forEach(e=>{Rt.rebuild(e)})};let Dt,Nt,Lt=Pt,Ft=class extends Lt{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new Dt(new Nt,this,e).stringify()}};Ft.registerLazyResult=e=>{Dt=e},Ft.registerProcessor=e=>{Nt=e};var Ut=Ft;Ft.default=Ft;let Bt={};var $t=function(e){Bt[e]||(Bt[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))};let zt=class{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let e=t.node.rangeBy(t);this.line=e.start.line,this.column=e.start.column,this.endLine=e.end.line,this.endColumn=e.end.column}for(let e in t)this[e]=t[e]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};var jt=zt;zt.default=zt;let Wt=jt,Kt=class{constructor(e,t,s){this.processor=e,this.messages=[],this.root=t,this.opts=s,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let s=new Wt(e,t);return this.messages.push(s),s}warnings(){return this.messages.filter(e=>"warning"===e.type)}get content(){return this.css}};var Vt=Kt;Kt.default=Kt;const Gt="'".charCodeAt(0),Ht='"'.charCodeAt(0),Yt="\\".charCodeAt(0),qt="/".charCodeAt(0),Zt="\n".charCodeAt(0),Jt=" ".charCodeAt(0),Xt="\f".charCodeAt(0),Qt="\t".charCodeAt(0),es="\r".charCodeAt(0),ts="[".charCodeAt(0),ss="]".charCodeAt(0),rs="(".charCodeAt(0),is=")".charCodeAt(0),ns="{".charCodeAt(0),os="}".charCodeAt(0),as=";".charCodeAt(0),ls="*".charCodeAt(0),cs=":".charCodeAt(0),hs="@".charCodeAt(0),us=/[\t\n\f\r "#'()/;[\\\]{}]/g,ds=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,ps=/.[\r\n"'(/\\]/,ms=/[\da-f]/i;let fs=Pt,gs=class extends fs{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};var ys=gs;gs.default=gs,fs.registerAtRule(gs);let ws,vs,Ss=Pt,bs=class extends Ss{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,t,s){let r=super.normalize(e);if(t)if("prepend"===s)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let e of r)e.raws.before=t.raws.before;return r}removeChild(e,t){let s=this.index(e);return!t&&0===s&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[s].raws.before),super.removeChild(e)}toResult(e={}){return new ws(new vs,this,e).stringify()}};bs.registerLazyResult=e=>{ws=e},bs.registerProcessor=e=>{vs=e};var Cs=bs;bs.default=bs,Ss.registerRoot(bs);let ks={comma:e=>ks.split(e,[","],!0),space:e=>ks.split(e,[" ","\n","\t"]),split(e,t,s){let r=[],i="",n=!1,o=0,a=!1,l="",c=!1;for(let s of e)c?c=!1:"\\"===s?c=!0:a?s===l&&(a=!1):'"'===s||"'"===s?(a=!0,l=s):"("===s?o+=1:")"===s?o>0&&(o-=1):0===o&&t.includes(s)&&(n=!0),n?(""!==i&&r.push(i.trim()),i="",n=!1):i+=s;return(s||""!==i)&&r.push(i.trim()),r}};var Is=ks;ks.default=ks;let Es=Pt,Ts=Is,xs=class extends Es{constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return Ts.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,s=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(s)}};var Ms=xs;xs.default=xs,Es.registerRule(xs);let _s=Le,Os=function(e,t={}){let s,r,i,n,o,a,l,c,h,u,d=e.css.valueOf(),p=t.ignoreErrors,m=d.length,f=0,g=[],y=[];function w(t){throw e.error("Unclosed "+t,f)}return{back:function(e){y.push(e)},endOfFile:function(){return 0===y.length&&f>=m},nextToken:function(e){if(y.length)return y.pop();if(f>=m)return;let t=!!e&&e.ignoreUnclosed;switch(s=d.charCodeAt(f),s){case Zt:case Jt:case Qt:case es:case Xt:r=f;do{r+=1,s=d.charCodeAt(r)}while(s===Jt||s===Zt||s===Qt||s===es||s===Xt);u=["space",d.slice(f,r)],f=r-1;break;case ts:case ss:case ns:case os:case cs:case as:case is:{let e=String.fromCharCode(s);u=[e,e,f];break}case rs:if(c=g.length?g.pop()[1]:"",h=d.charCodeAt(f+1),"url"===c&&h!==Gt&&h!==Ht&&h!==Jt&&h!==Zt&&h!==Qt&&h!==Xt&&h!==es){r=f;do{if(a=!1,r=d.indexOf(")",r+1),-1===r){if(p||t){r=f;break}w("bracket")}for(l=r;d.charCodeAt(l-1)===Yt;)l-=1,a=!a}while(a);u=["brackets",d.slice(f,r+1),f,r],f=r}else r=d.indexOf(")",f+1),n=d.slice(f,r+1),-1===r||ps.test(n)?u=["(","(",f]:(u=["brackets",n,f,r],f=r);break;case Gt:case Ht:i=s===Gt?"'":'"',r=f;do{if(a=!1,r=d.indexOf(i,r+1),-1===r){if(p||t){r=f+1;break}w("string")}for(l=r;d.charCodeAt(l-1)===Yt;)l-=1,a=!a}while(a);u=["string",d.slice(f,r+1),f,r],f=r;break;case hs:us.lastIndex=f+1,us.test(d),r=0===us.lastIndex?d.length-1:us.lastIndex-2,u=["at-word",d.slice(f,r+1),f,r],f=r;break;case Yt:for(r=f,o=!0;d.charCodeAt(r+1)===Yt;)r+=1,o=!o;if(s=d.charCodeAt(r+1),o&&s!==qt&&s!==Jt&&s!==Zt&&s!==Qt&&s!==es&&s!==Xt&&(r+=1,ms.test(d.charAt(r)))){for(;ms.test(d.charAt(r+1));)r+=1;d.charCodeAt(r+1)===Jt&&(r+=1)}u=["word",d.slice(f,r+1),f,r],f=r;break;default:s===qt&&d.charCodeAt(f+1)===ls?(r=d.indexOf("*/",f+2)+1,0===r&&(p||t?r=d.length:w("comment")),u=["comment",d.slice(f,r+1),f,r],f=r):(ds.lastIndex=f+1,ds.test(d),r=0===ds.lastIndex?d.length-1:ds.lastIndex-2,u=["word",d.slice(f,r+1),f,r],g.push(u),f=r)}return f++,u},position:function(){return f}}},As=St,Rs=ys,Ps=Cs,Ds=Ms;const Ns={empty:!0,space:!0};let Ls=Pt,Fs=class{constructor(e){this.input=e,this.root=new Ps,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let t,s,r,i=new Rs;i.name=e[1].slice(1),""===i.name&&this.unnamedAtrule(i,e),this.init(i,e[2]);let n=!1,o=!1,a=[],l=[];for(;!this.tokenizer.endOfFile();){if(t=(e=this.tokenizer.nextToken())[0],"("===t||"["===t?l.push("("===t?")":"]"):"{"===t&&l.length>0?l.push("}"):t===l[l.length-1]&&l.pop(),0===l.length){if(";"===t){i.source.end=this.getPosition(e[2]),i.source.end.offset++,this.semicolon=!0;break}if("{"===t){o=!0;break}if("}"===t){if(a.length>0){for(r=a.length-1,s=a[r];s&&"space"===s[0];)s=a[--r];s&&(i.source.end=this.getPosition(s[3]||s[2]),i.source.end.offset++)}this.end(e);break}a.push(e)}else a.push(e);if(this.tokenizer.endOfFile()){n=!0;break}}i.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(i.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(i,"params",a),n&&(e=a[a.length-1],i.source.end=this.getPosition(e[3]||e[2]),i.source.end.offset++,this.spaces=i.raws.between,i.raws.between="")):(i.raws.afterName="",i.params=""),o&&(i.nodes=[],this.current=i)}checkMissedSemicolon(e){let t=this.colon(e);if(!1===t)return;let s,r=0;for(let i=t-1;i>=0&&(s=e[i],"space"===s[0]||(r+=1,2!==r));i--);throw this.input.error("Missed semicolon","word"===s[0]?s[3]+1:s[2])}colon(e){let t,s,r,i=0;for(let[n,o]of e.entries()){if(t=o,s=t[0],"("===s&&(i+=1),")"===s&&(i-=1),0===i&&":"===s){if(r){if("word"===r[0]&&"progid"===r[1])continue;return n}this.doubleColon(t)}r=t}return!1}comment(e){let t=new As;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++;let s=e[1].slice(2,-2);if(/^\s*$/.test(s))t.text="",t.raws.left=s,t.raws.right="";else{let e=s.match(/^(\s*)([^]*\S)(\s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}}createTokenizer(){this.tokenizer=Os(this.input)}decl(e,t){let s=new _s;this.init(s,e[0][2]);let r,i=e[e.length-1];for(";"===i[0]&&(this.semicolon=!0,e.pop()),s.source.end=this.getPosition(i[3]||i[2]||function(e){for(let t=e.length-1;t>=0;t--){let s=e[t],r=s[3]||s[2];if(r)return r}}(e)),s.source.end.offset++;"word"!==e[0][0];)1===e.length&&this.unknownWord(e),s.raws.before+=e.shift()[1];for(s.source.start=this.getPosition(e[0][2]),s.prop="";e.length;){let t=e[0][0];if(":"===t||"space"===t||"comment"===t)break;s.prop+=e.shift()[1]}for(s.raws.between="";e.length;){if(r=e.shift(),":"===r[0]){s.raws.between+=r[1];break}"word"===r[0]&&/\w/.test(r[1])&&this.unknownWord([r]),s.raws.between+=r[1]}"_"!==s.prop[0]&&"*"!==s.prop[0]||(s.raws.before+=s.prop[0],s.prop=s.prop.slice(1));let n,o=[];for(;e.length&&(n=e[0][0],"space"===n||"comment"===n);)o.push(e.shift());this.precheckMissedSemicolon(e);for(let t=e.length-1;t>=0;t--){if(r=e[t],"!important"===r[1].toLowerCase()){s.important=!0;let r=this.stringFrom(e,t);r=this.spacesFromEnd(e)+r," !important"!==r&&(s.raws.important=r);break}if("important"===r[1].toLowerCase()){let r=e.slice(0),i="";for(let e=t;e>0;e--){let t=r[e][0];if(0===i.trim().indexOf("!")&&"space"!==t)break;i=r.pop()[1]+i}0===i.trim().indexOf("!")&&(s.important=!0,s.raws.important=i,e=r)}if("space"!==r[0]&&"comment"!==r[0])break}e.some(e=>"space"!==e[0]&&"comment"!==e[0])&&(s.raws.between+=o.map(e=>e[1]).join(""),o=[]),this.raw(s,"value",o.concat(e),t),s.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let t=new Ds;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let e=this.current.nodes[this.current.nodes.length-1];e&&"rule"===e.type&&!e.raws.ownSemicolon&&(e.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(e){let t=this.input.fromOffset(e);return{column:t.col,line:t.line,offset:e}}init(e,t){this.current.push(e),e.source={input:this.input,start:this.getPosition(t)},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)}other(e){let t=!1,s=null,r=!1,i=null,n=[],o=e[1].startsWith("--"),a=[],l=e;for(;l;){if(s=l[0],a.push(l),"("===s||"["===s)i||(i=l),n.push("("===s?")":"]");else if(o&&r&&"{"===s)i||(i=l),n.push("}");else if(0===n.length){if(";"===s){if(r)return void this.decl(a,o);break}if("{"===s)return void this.rule(a);if("}"===s){this.tokenizer.back(a.pop()),t=!0;break}":"===s&&(r=!0)}else s===n[n.length-1]&&(n.pop(),0===n.length&&(i=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),n.length>0&&this.unclosedBracket(i),t&&r){if(!o)for(;a.length&&(l=a[a.length-1][0],"space"===l||"comment"===l);)this.tokenizer.back(a.pop());this.decl(a,o)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()}precheckMissedSemicolon(){}raw(e,t,s,r){let i,n,o,a,l=s.length,c="",h=!0;for(let e=0;e<l;e+=1)i=s[e],n=i[0],"space"!==n||e!==l-1||r?"comment"===n?(a=s[e-1]?s[e-1][0]:"empty",o=s[e+1]?s[e+1][0]:"empty",Ns[a]||Ns[o]||","===c.slice(-1)?h=!1:c+=i[1]):c+=i[1]:h=!1;if(!h){let r=s.reduce((e,t)=>e+t[1],"");e.raws[t]={raw:r,value:c}}e[t]=c}rule(e){e.pop();let t=new Ds;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}spacesAndCommentsFromEnd(e){let t,s="";for(;e.length&&(t=e[e.length-1][0],"space"===t||"comment"===t);)s=e.pop()[1]+s;return s}spacesAndCommentsFromStart(e){let t,s="";for(;e.length&&(t=e[0][0],"space"===t||"comment"===t);)s+=e.shift()[1];return s}spacesFromEnd(e){let t,s="";for(;e.length&&(t=e[e.length-1][0],"space"===t);)s=e.pop()[1]+s;return s}stringFrom(e,t){let s="";for(let r=t;r<e.length;r++)s+=e[r][1];return e.splice(t,e.length-t),s}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word",{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,t){throw this.input.error("At-rule without name",{offset:t[2]},{offset:t[2]+t[1].length})}},Us=ot;function Bs(e,t){let s=new Us(e,t),r=new Fs(s);try{r.parse()}catch(e){throw"production"!==process.env.NODE_ENV&&"CssSyntaxError"===e.name&&t&&t.from&&(/\.scss$/i.test(t.from)?e.message+="\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser":/\.sass/i.test(t.from)?e.message+="\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser":/\.less$/i.test(t.from)&&(e.message+="\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser")),e}return r.root}var $s=Bs;Bs.default=Bs,Ls.registerParse(Bs);let{isClean:zs,my:js}=ve,Ws=yt,Ks=Ee,Vs=Pt,Gs=Ut,Hs=$t,Ys=Vt,qs=$s,Zs=Cs;const Js={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Xs={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Qs={Once:!0,postcssPlugin:!0,prepare:!0};function er(e){return"object"==typeof e&&"function"==typeof e.then}function tr(e){let t=!1,s=Js[e.type];return"decl"===e.type?t=e.prop.toLowerCase():"atrule"===e.type&&(t=e.name.toLowerCase()),t&&e.append?[s,s+"-"+t,0,s+"Exit",s+"Exit-"+t]:t?[s,s+"-"+t,s+"Exit",s+"Exit-"+t]:e.append?[s,0,s+"Exit"]:[s,s+"Exit"]}function sr(e){let t;return t="document"===e.type?["Document",0,"DocumentExit"]:"root"===e.type?["Root",0,"RootExit"]:tr(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function rr(e){return e[zs]=!1,e.nodes&&e.nodes.forEach(e=>rr(e)),e}let ir={},nr=class e{constructor(t,s,r){let i;if(this.stringified=!1,this.processed=!1,"object"!=typeof s||null===s||"root"!==s.type&&"document"!==s.type)if(s instanceof e||s instanceof Ys)i=rr(s.root),s.map&&(void 0===r.map&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=s.map);else{let e=qs;r.syntax&&(e=r.syntax.parse),r.parser&&(e=r.parser),e.parse&&(e=e.parse);try{i=e(s,r)}catch(e){this.processed=!0,this.error=e}i&&!i[js]&&Vs.rebuild(i)}else i=rr(s);this.result=new Ys(t,i,r),this.helpers={...ir,postcss:ir,result:this.result},this.plugins=this.processor.plugins.map(e=>"object"==typeof e&&e.prepare?{...e,...e.prepare(this.result)}:e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let s=this.result.lastPlugin;try{if(t&&t.addToError(e),this.error=e,"CssSyntaxError"!==e.name||e.plugin){if(s.postcssVersion&&"production"!==process.env.NODE_ENV){let e=s.postcssPlugin,t=s.postcssVersion,r=this.result.processor.version,i=t.split("."),n=r.split(".");(i[0]!==n[0]||parseInt(i[1])>parseInt(n[1]))&&console.error("Unknown error from PostCSS plugin. Your current PostCSS version is "+r+", but "+e+" uses "+t+". Perhaps this is the source of the error below.")}}else e.plugin=s.postcssPlugin,e.setMessage()}catch(e){console&&console.error&&console.error(e)}return e}prepareVisitors(){this.listeners={};let e=(e,t,s)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push([e,s])};for(let t of this.plugins)if("object"==typeof t)for(let s in t){if(!Xs[s]&&/^[A-Z]/.test(s))throw new Error(`Unknown event ${s} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Qs[s])if("object"==typeof t[s])for(let r in t[s])e(t,"*"===r?s:s+"-"+r.toLowerCase(),t[s][r]);else"function"==typeof t[s]&&e(t,s,t[s])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let t=this.plugins[e],s=this.runOnRoot(t);if(er(s))try{await s}catch(e){throw this.handleError(e)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[zs];){e[zs]=!0;let t=[sr(e)];for(;t.length>0;){let e=this.visitTick(t);if(er(e))try{await e}catch(e){let s=t[t.length-1].node;throw this.handleError(e,s)}}}if(this.listeners.OnceExit)for(let[t,s]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if("document"===e.type){let t=e.nodes.map(e=>s(e,this.helpers));await Promise.all(t)}else await s(e,this.helpers)}catch(e){throw this.handleError(e)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if("object"==typeof e&&e.Once){if("document"===this.result.root.type){let t=this.result.root.nodes.map(t=>e.Once(t,this.helpers));return er(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if("function"==typeof e)return e(this.result.root,this.result)}catch(e){throw this.handleError(e)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=Ks;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let s=new Ws(t,this.result.root,this.result.opts).generate();return this.result.css=s[0],this.result.map=s[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){if(er(this.runOnRoot(e)))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[zs];)e[zs]=!0,this.walkSync(e);if(this.listeners.OnceExit)if("document"===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,t){return"production"!==process.env.NODE_ENV&&("from"in this.opts||Hs("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(e,t)}toString(){return this.css}visitSync(e,t){for(let[s,r]of e){let e;this.result.lastPlugin=s;try{e=r(t,this.helpers)}catch(e){throw this.handleError(e,t.proxyOf)}if("root"!==t.type&&"document"!==t.type&&!t.parent)return!0;if(er(e))throw this.getAsyncError()}}visitTick(e){let t=e[e.length-1],{node:s,visitors:r}=t;if("root"!==s.type&&"document"!==s.type&&!s.parent)return void e.pop();if(r.length>0&&t.visitorIndex<r.length){let[e,i]=r[t.visitorIndex];t.visitorIndex+=1,t.visitorIndex===r.length&&(t.visitors=[],t.visitorIndex=0),this.result.lastPlugin=e;try{return i(s.toProxy(),this.helpers)}catch(e){throw this.handleError(e,s)}}if(0!==t.iterator){let r,i=t.iterator;for(;r=s.nodes[s.indexes[i]];)if(s.indexes[i]+=1,!r[zs])return r[zs]=!0,void e.push(sr(r));t.iterator=0,delete s.indexes[i]}let i=t.events;for(;t.eventIndex<i.length;){let e=i[t.eventIndex];if(t.eventIndex+=1,0===e)return void(s.nodes&&s.nodes.length&&(s[zs]=!0,t.iterator=s.getIterator()));if(this.listeners[e])return void(t.visitors=this.listeners[e])}e.pop()}walkSync(e){e[zs]=!0;let t=tr(e);for(let s of t)if(0===s)e.nodes&&e.each(e=>{e[zs]||this.walkSync(e)});else{let t=this.listeners[s];if(t&&this.visitSync(t,e.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}};nr.registerPostcss=e=>{ir=e};var or=nr;nr.default=nr,Zs.registerLazyResult(nr),Gs.registerLazyResult(nr);let ar=yt,lr=Ee,cr=$t,hr=$s;const ur=Vt;let dr=class{constructor(e,t,s){let r;t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=s,this._map=void 0;let i=lr;this.result=new ur(this._processor,r,this._opts),this.result.css=t;let n=this;Object.defineProperty(this.result,"root",{get:()=>n.root});let o=new ar(i,r,this._opts,t);if(o.isMap()){let[e,t]=o.generate();e&&(this.result.css=e),t&&(this.result.map=t)}else o.clearAnnotation(),this.result.css=o.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,t){return"production"!==process.env.NODE_ENV&&("from"in this._opts||cr("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(e,t)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,t=hr;try{e=t(this._css,this._opts)}catch(e){this.error=e}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}};var pr=dr;dr.default=dr;let mr=pr,fr=or,gr=Ut,yr=Cs,wr=class{constructor(e=[]){this.version="8.4.38",this.plugins=this.normalize(e)}normalize(e){let t=[];for(let s of e)if(!0===s.postcss?s=s():s.postcss&&(s=s.postcss),"object"==typeof s&&Array.isArray(s.plugins))t=t.concat(s.plugins);else if("object"==typeof s&&s.postcssPlugin)t.push(s);else if("function"==typeof s)t.push(s);else{if("object"!=typeof s||!s.parse&&!s.stringify)throw new Error(s+" is not a PostCSS plugin");if("production"!==process.env.NODE_ENV)throw new Error("PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.")}return t}process(e,t={}){return this.plugins.length||t.parser||t.stringifier||t.syntax?new fr(this,e,t):new mr(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};var vr=wr;wr.default=wr,yr.registerProcessor(wr),gr.registerProcessor(wr);let Sr=Le,br=Ve,Cr=St,kr=ys,Ir=ot,Er=Cs,Tr=Ms;function xr(e,t){if(Array.isArray(e))return e.map(e=>xr(e));let{inputs:s,...r}=e;if(s){t=[];for(let e of s){let s={...e,__proto__:Ir.prototype};s.map&&(s.map={...s.map,__proto__:br.prototype}),t.push(s)}}if(r.nodes&&(r.nodes=e.nodes.map(e=>xr(e,t))),r.source){let{inputId:e,...s}=r.source;r.source=s,null!=e&&(r.source.input=t[e])}if("root"===r.type)return new Er(r);if("decl"===r.type)return new Sr(r);if("rule"===r.type)return new Tr(r);if("comment"===r.type)return new Cr(r);if("atrule"===r.type)return new kr(r);throw new Error("Unknown node type: "+e.type)}var Mr=xr;xr.default=xr;let _r=we,Or=Le,Ar=or,Rr=Pt,Pr=vr,Dr=Ee,Nr=Mr,Lr=Ut,Fr=jt,Ur=St,Br=ys,$r=Vt,zr=ot,jr=$s,Wr=Is,Kr=Ms,Vr=Cs,Gr=Pe;function Hr(...e){return 1===e.length&&Array.isArray(e[0])&&(e=e[0]),new Pr(e)}Hr.plugin=function(e,t){let s,r=!1;function i(...s){console&&console.warn&&!r&&(r=!0,console.warn(e+": postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration"),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+": ιι’ postcss.plugin θ’«εΌη¨. θΏη§»ζε:\nhttps://www.w3ctech.com/topic/2226"));let i=t(...s);return i.postcssPlugin=e,i.postcssVersion=(new Pr).version,i}return Object.defineProperty(i,"postcss",{get:()=>(s||(s=i()),s)}),i.process=function(e,t,s){return Hr([i(s)]).process(e,t)},i},Hr.stringify=Dr,Hr.parse=jr,Hr.fromJSON=Nr,Hr.list=Wr,Hr.comment=e=>new Ur(e),Hr.atRule=e=>new Br(e),Hr.decl=e=>new Or(e),Hr.rule=e=>new Kr(e),Hr.root=e=>new Vr(e),Hr.document=e=>new Lr(e),Hr.CssSyntaxError=_r,Hr.Declaration=Or,Hr.Container=Rr,Hr.Processor=Pr,Hr.Document=Lr,Hr.Comment=Ur,Hr.Warning=Fr,Hr.AtRule=Br,Hr.Result=$r,Hr.Input=zr,Hr.Rule=Kr,Hr.Root=Vr,Hr.Node=Gr,Ar.registerPostcss(Hr);var Yr=Hr;Hr.default=Hr;const qr=le(Yr);qr.stringify,qr.fromJSON,qr.plugin,qr.parse,qr.list,qr.document,qr.comment,qr.atRule,qr.rule,qr.decl,qr.root,qr.CssSyntaxError,qr.Declaration,qr.Container,qr.Processor,qr.Document,qr.Comment,qr.Warning,qr.AtRule,qr.Result,qr.Input,qr.Rule,qr.Root,qr.Node;var Zr=Object.defineProperty,Jr=(e,t,s)=>((e,t,s)=>t in e?Zr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s)(e,"symbol"!=typeof t?t+"":t,s);function Xr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Qr(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var s=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(s,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}),s}var ei={exports:{}},ti=String,si=function(){return{isColorSupported:!1,reset:ti,bold:ti,dim:ti,italic:ti,underline:ti,inverse:ti,hidden:ti,strikethrough:ti,black:ti,red:ti,green:ti,yellow:ti,blue:ti,magenta:ti,cyan:ti,white:ti,gray:ti,bgBlack:ti,bgRed:ti,bgGreen:ti,bgYellow:ti,bgBlue:ti,bgMagenta:ti,bgCyan:ti,bgWhite:ti}};ei.exports=si(),ei.exports.createColors=si;var ri=ei.exports;const ii=Qr(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));let ni=ri,oi=ii,ai=class e extends Error{constructor(t,s,r,i,n,o){super(t),this.name="CssSyntaxError",this.reason=t,n&&(this.file=n),i&&(this.source=i),o&&(this.plugin=o),void 0!==s&&void 0!==r&&("number"==typeof s?(this.line=s,this.column=r):(this.line=s.line,this.column=s.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;null==e&&(e=ni.isColorSupported),oi&&e&&(t=oi(t));let s,r,i=t.split(/\r?\n/),n=Math.max(this.line-3,0),o=Math.min(this.line+2,i.length),a=String(o).length;if(e){let{bold:e,gray:t,red:i}=ni.createColors(!0);s=t=>e(i(t)),r=e=>t(e)}else s=r=e=>e;return i.slice(n,o).map((e,t)=>{let i=n+1+t,o=" "+(" "+i).slice(-a)+" | ";if(i===this.line){let t=r(o.replace(/\d/g," "))+e.slice(0,this.column-1).replace(/[^\t]/g," ");return s(">")+r(o)+e+"\n "+t+s("^")}return" "+r(o)+e}).join("\n")}toString(){let e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e}};var li=ai;ai.default=ai;var ci={};ci.isClean=Symbol("isClean"),ci.my=Symbol("my");const hi={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};let ui=class{constructor(e){this.builder=e}atrule(e,t){let s="@"+e.name,r=e.params?this.rawValue(e,"params"):"";if(void 0!==e.raws.afterName?s+=e.raws.afterName:r&&(s+=" "),e.nodes)this.block(e,s+r);else{let i=(e.raws.between||"")+(t?";":"");this.builder(s+r+i,e)}}beforeAfter(e,t){let s;s="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");let r=e.parent,i=0;for(;r&&"root"!==r.type;)i+=1,r=r.parent;if(s.includes("\n")){let t=this.raw(e,null,"indent");if(t.length)for(let e=0;e<i;e++)s+=t}return s}block(e,t){let s,r=this.raw(e,"between","beforeOpen");this.builder(t+r+"{",e,"start"),e.nodes&&e.nodes.length?(this.body(e),s=this.raw(e,"after")):s=this.raw(e,"after","emptyBody"),s&&this.builder(s),this.builder("}",e,"end")}body(e){let t=e.nodes.length-1;for(;t>0&&"comment"===e.nodes[t].type;)t-=1;let s=this.raw(e,"semicolon");for(let r=0;r<e.nodes.length;r++){let i=e.nodes[r],n=this.raw(i,"before");n&&this.builder(n),this.stringify(i,t!==r||s)}}comment(e){let t=this.raw(e,"left","commentLeft"),s=this.raw(e,"right","commentRight");this.builder("/*"+t+e.text+s+"*/",e)}decl(e,t){let s=this.raw(e,"between","colon"),r=e.prop+s+this.rawValue(e,"value");e.important&&(r+=e.raws.important||" !important"),t&&(r+=";"),this.builder(r,e)}document(e){this.body(e)}raw(e,t,s){let r;if(s||(s=t),t&&(r=e.raws[t],void 0!==r))return r;let i=e.parent;if("before"===s){if(!i||"root"===i.type&&i.first===e)return"";if(i&&"document"===i.type)return""}if(!i)return hi[s];let n=e.root();if(n.rawCache||(n.rawCache={}),void 0!==n.rawCache[s])return n.rawCache[s];if("before"===s||"after"===s)return this.beforeAfter(e,s);{let i="raw"+((o=s)[0].toUpperCase()+o.slice(1));this[i]?r=this[i](n,e):n.walk(e=>{if(r=e.raws[t],void 0!==r)return!1})}var o;return void 0===r&&(r=hi[s]),n.rawCache[s]=r,r}rawBeforeClose(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length>0&&void 0!==e.raws.after)return t=e.raws.after,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeComment(e,t){let s;return e.walkComments(e=>{if(void 0!==e.raws.before)return s=e.raws.before,s.includes("\n")&&(s=s.replace(/[^\n]+$/,"")),!1}),void 0===s?s=this.raw(t,null,"beforeDecl"):s&&(s=s.replace(/\S/g,"")),s}rawBeforeDecl(e,t){let s;return e.walkDecls(e=>{if(void 0!==e.raws.before)return s=e.raws.before,s.includes("\n")&&(s=s.replace(/[^\n]+$/,"")),!1}),void 0===s?s=this.raw(t,null,"beforeRule"):s&&(s=s.replace(/\S/g,"")),s}rawBeforeOpen(e){let t;return e.walk(e=>{if("decl"!==e.type&&(t=e.raws.between,void 0!==t))return!1}),t}rawBeforeRule(e){let t;return e.walk(s=>{if(s.nodes&&(s.parent!==e||e.first!==s)&&void 0!==s.raws.before)return t=s.raws.before,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawColon(e){let t;return e.walkDecls(e=>{if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\s:]/g,""),!1}),t}rawEmptyBody(e){let t;return e.walk(e=>{if(e.nodes&&0===e.nodes.length&&(t=e.raws.after,void 0!==t))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(s=>{let r=s.parent;if(r&&r!==e&&r.parent&&r.parent===e&&void 0!==s.raws.before){let e=s.raws.before.split("\n");return t=e[e.length-1],t=t.replace(/\S/g,""),!1}}),t}rawSemicolon(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length&&"decl"===e.last.type&&(t=e.raws.semicolon,void 0!==t))return!1}),t}rawValue(e,t){let s=e[t],r=e.raws[t];return r&&r.value===s?r.raw:s}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}};var di=ui;ui.default=ui;let pi=di;function mi(e,t){new pi(t).stringify(e)}var fi=mi;mi.default=mi;let{isClean:gi,my:yi}=ci,wi=li,vi=di,Si=fi;function bi(e,t){let s=new e.constructor;for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;if("proxyCache"===r)continue;let i=e[r],n=typeof i;"parent"===r&&"object"===n?t&&(s[r]=t):"source"===r?s[r]=i:Array.isArray(i)?s[r]=i.map(e=>bi(e,s)):("object"===n&&null!==i&&(i=bi(i)),s[r]=i)}return s}let Ci=class{constructor(e={}){this.raws={},this[gi]=!1,this[yi]=!0;for(let t in e)if("nodes"===t){this.nodes=[];for(let s of e[t])"function"==typeof s.clone?this.append(s.clone()):this.append(s)}else this[t]=e[t]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\n\s{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/\n\s{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let t in e)this[t]=e[t];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let t=bi(this);for(let s in e)t[s]=e[s];return t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}error(e,t={}){if(this.source){let{end:s,start:r}=this.rangeBy(t);return this.source.input.error(e,{column:r.column,line:r.line},{column:s.column,line:s.line},t)}return new wi(e)}getProxyProcessor(){return{get:(e,t)=>"proxyOf"===t?e:"root"===t?()=>e.root().toProxy():e[t],set:(e,t,s)=>(e[t]===s||(e[t]=s,"prop"!==t&&"value"!==t&&"name"!==t&&"params"!==t&&"important"!==t&&"text"!==t||e.markDirty()),!0)}}markDirty(){if(this[gi]){this[gi]=!1;let e=this;for(;e=e.parent;)e[gi]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e,t){let s=this.source.start;if(e.index)s=this.positionInside(e.index,t);else if(e.word){let r=(t=this.toString()).indexOf(e.word);-1!==r&&(s=this.positionInside(r,t))}return s}positionInside(e,t){let s=t||this.toString(),r=this.source.start.column,i=this.source.start.line;for(let t=0;t<e;t++)"\n"===s[t]?(r=1,i+=1):r+=1;return{column:r,line:i}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e){let t={column:this.source.start.column,line:this.source.start.line},s=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:t.column+1,line:t.line};if(e.word){let r=this.toString(),i=r.indexOf(e.word);-1!==i&&(t=this.positionInside(i,r),s=this.positionInside(i+e.word.length,r))}else e.start?t={column:e.start.column,line:e.start.line}:e.index&&(t=this.positionInside(e.index)),e.end?s={column:e.end.column,line:e.end.line}:"number"==typeof e.endIndex?s=this.positionInside(e.endIndex):e.index&&(s=this.positionInside(e.index+1));return(s.line<t.line||s.line===t.line&&s.column<=t.column)&&(s={column:t.column+1,line:t.line}),{end:s,start:t}}raw(e,t){return(new vi).raw(this,e,t)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let t=this,s=!1;for(let r of e)r===this?s=!0:s?(this.parent.insertAfter(t,r),t=r):this.parent.insertBefore(t,r);s||this.remove()}return this}root(){let e=this;for(;e.parent&&"document"!==e.parent.type;)e=e.parent;return e}toJSON(e,t){let s={},r=null==t;t=t||new Map;let i=0;for(let e in this){if(!Object.prototype.hasOwnProperty.call(this,e))continue;if("parent"===e||"proxyCache"===e)continue;let r=this[e];if(Array.isArray(r))s[e]=r.map(e=>"object"==typeof e&&e.toJSON?e.toJSON(null,t):e);else if("object"==typeof r&&r.toJSON)s[e]=r.toJSON(null,t);else if("source"===e){let n=t.get(r.input);null==n&&(n=i,t.set(r.input,i),i++),s[e]={end:r.end,inputId:n,start:r.start}}else s[e]=r}return r&&(s.inputs=[...t.keys()].map(e=>e.toJSON())),s}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Si){e.stringify&&(e=e.stringify);let t="";return e(this,e=>{t+=e}),t}warn(e,t,s){let r={node:this};for(let e in s)r[e]=s[e];return e.warn(t,r)}get proxyOf(){return this}};var ki=Ci;Ci.default=Ci;let Ii=ki,Ei=class extends Ii{constructor(e){e&&void 0!==e.value&&"string"!=typeof e.value&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}};var Ti=Ei;Ei.default=Ei;var xi={nanoid:(e=21)=>{let t="",s=e;for(;s--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t}};let{SourceMapConsumer:Mi,SourceMapGenerator:_i}=ii,{existsSync:Oi,readFileSync:Ai}=ii,{dirname:Ri,join:Pi}=ii;let Di=class{constructor(e,t){if(!1===t.map)return;this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let s=t.map?t.map.prev:void 0,r=this.loadMap(t.from,s);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=Ri(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new Mi(this.text)),this.consumerCache}decodeInline(e){if(/^data:application\/json;charset=utf-?8,/.test(e)||/^data:application\/json,/.test(e))return decodeURIComponent(e.substr(RegExp.lastMatch.length));if(/^data:application\/json;charset=utf-?8;base64,/.test(e)||/^data:application\/json;base64,/.test(e))return t=e.substr(RegExp.lastMatch.length),Buffer?Buffer.from(t,"base64").toString():window.atob(t);var t;let s=e.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+s)}getAnnotationURL(e){return e.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(e){return"object"==typeof e&&("string"==typeof e.mappings||"string"==typeof e._mappings||Array.isArray(e.sections))}loadAnnotation(e){let t=e.match(/\/\*\s*# sourceMappingURL=/gm);if(!t)return;let s=e.lastIndexOf(t.pop()),r=e.indexOf("*/",s);s>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(s,r)))}loadFile(e){if(this.root=Ri(e),Oi(e))return this.mapFile=e,Ai(e,"utf-8").toString().trim()}loadMap(e,t){if(!1===t)return!1;if(t){if("string"==typeof t)return t;if("function"!=typeof t){if(t instanceof Mi)return _i.fromSourceMap(t).toString();if(t instanceof _i)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}{let s=t(e);if(s){let e=this.loadFile(s);if(!e)throw new Error("Unable to load previous source map: "+s.toString());return e}}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let t=this.annotation;return e&&(t=Pi(Ri(e),t)),this.loadFile(t)}}}startWith(e,t){return!!e&&e.substr(0,t.length)===t}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};var Ni=Di;Di.default=Di;let{SourceMapConsumer:Li,SourceMapGenerator:Fi}=ii,{fileURLToPath:Ui,pathToFileURL:Bi}=ii,{isAbsolute:$i,resolve:zi}=ii,{nanoid:ji}=xi,Wi=ii,Ki=li,Vi=Ni,Gi=Symbol("fromOffsetCache"),Hi=Boolean(Li&&Fi),Yi=Boolean(zi&&$i),qi=class{constructor(e,t={}){if(null==e||"object"==typeof e&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),"\ufeff"===this.css[0]||"οΏΎ"===this.css[0]?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!Yi||/^\w+:\/\//.test(t.from)||$i(t.from)?this.file=t.from:this.file=zi(t.from)),Yi&&Hi){let e=new Vi(this.css,t);if(e.text){this.map=e;let t=e.consumer().file;!this.file&&t&&(this.file=this.mapResolve(t))}}this.file||(this.id="<input css "+ji(6)+">"),this.map&&(this.map.file=this.from)}error(e,t,s,r={}){let i,n,o;if(t&&"object"==typeof t){let e=t,r=s;if("number"==typeof e.offset){let r=this.fromOffset(e.offset);t=r.line,s=r.col}else t=e.line,s=e.column;if("number"==typeof r.offset){let e=this.fromOffset(r.offset);n=e.line,o=e.col}else n=r.line,o=r.column}else if(!s){let e=this.fromOffset(t);t=e.line,s=e.col}let a=this.origin(t,s,n,o);return i=a?new Ki(e,void 0===a.endLine?a.line:{column:a.column,line:a.line},void 0===a.endLine?a.column:{column:a.endColumn,line:a.endLine},a.source,a.file,r.plugin):new Ki(e,void 0===n?t:{column:s,line:t},void 0===n?s:{column:o,line:n},this.css,this.file,r.plugin),i.input={column:s,endColumn:o,endLine:n,line:t,source:this.css},this.file&&(Bi&&(i.input.url=Bi(this.file).toString()),i.input.file=this.file),i}fromOffset(e){let t,s;if(this[Gi])s=this[Gi];else{let e=this.css.split("\n");s=new Array(e.length);let t=0;for(let r=0,i=e.length;r<i;r++)s[r]=t,t+=e[r].length+1;this[Gi]=s}t=s[s.length-1];let r=0;if(e>=t)r=s.length-1;else{let t,i=s.length-2;for(;r<i;)if(t=r+(i-r>>1),e<s[t])i=t-1;else{if(!(e>=s[t+1])){r=t;break}r=t+1}}return{col:e-s[r]+1,line:r+1}}mapResolve(e){return/^\w+:\/\//.test(e)?e:zi(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,t,s,r){if(!this.map)return!1;let i,n,o=this.map.consumer(),a=o.originalPositionFor({column:t,line:e});if(!a.source)return!1;"number"==typeof s&&(i=o.originalPositionFor({column:r,line:s})),n=$i(a.source)?Bi(a.source):new URL(a.source,this.map.consumer().sourceRoot||Bi(this.map.mapFile));let l={column:a.column,endColumn:i&&i.column,endLine:i&&i.line,line:a.line,url:n.toString()};if("file:"===n.protocol){if(!Ui)throw new Error("file: protocol is not available in this PostCSS build");l.file=Ui(n)}let c=o.sourceContentFor(a.source);return c&&(l.source=c),l}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}get from(){return this.file||this.id}};var Zi=qi;qi.default=qi,Wi&&Wi.registerInput&&Wi.registerInput(qi);let{SourceMapConsumer:Ji,SourceMapGenerator:Xi}=ii,{dirname:Qi,relative:en,resolve:tn,sep:sn}=ii,{pathToFileURL:rn}=ii,nn=Zi,on=Boolean(Ji&&Xi),an=Boolean(Qi&&tn&&en&&sn);var ln=class{constructor(e,t,s,r){this.stringify=e,this.mapOpts=s.map||{},this.root=t,this.opts=s,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:"function"==typeof this.mapOpts.annotation?this.mapOpts.annotation(this.opts.to,this.root):this.outputFile()+".map";let t="\n";this.css.includes("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let t,s=this.toUrl(this.path(e.file)),r=e.root||Qi(e.file);!1===this.mapOpts.sourcesContent?(t=new Ji(e.text),t.sourcesContent&&(t.sourcesContent=null)):t=e.consumer(),this.map.applySourceMap(t,s,this.toUrl(this.path(r)))}}clearAnnotation(){if(!1!==this.mapOpts.annotation)if(this.root){let e;for(let t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],"comment"===e.type&&0===e.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(t)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),an&&on&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,t=>{e+=t}),[e]}}generateMap(){if(this.root)this.generateString();else if(1===this.previous().length){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=Xi.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new Xi({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new Xi({file:this.outputFile(),ignoreInvalidMapping:!0});let e,t,s=1,r=1,i="<no source>",n={generated:{column:0,line:0},original:{column:0,line:0},source:""};this.stringify(this.root,(o,a,l)=>{if(this.css+=o,a&&"end"!==l&&(n.generated.line=s,n.generated.column=r-1,a.source&&a.source.start?(n.source=this.sourcePath(a),n.original.line=a.source.start.line,n.original.column=a.source.start.column-1,this.map.addMapping(n)):(n.source=i,n.original.line=1,n.original.column=0,this.map.addMapping(n))),e=o.match(/\n/g),e?(s+=e.length,t=o.lastIndexOf("\n"),r=o.length-t):r+=o.length,a&&"start"!==l){let e=a.parent||{raws:{}};("decl"===a.type||"atrule"===a.type&&!a.nodes)&&a===e.last&&!e.raws.semicolon||(a.source&&a.source.end?(n.source=this.sourcePath(a),n.original.line=a.source.end.line,n.original.column=a.source.end.column-1,n.generated.line=s,n.generated.column=r-2,this.map.addMapping(n)):(n.source=i,n.original.line=1,n.original.column=0,n.generated.line=s,n.generated.column=r-1,this.map.addMapping(n)))}})}isAnnotation(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some(e=>e.annotation))}isInline(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;let e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some(e=>e.inline))}isMap(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0}isSourcesContent(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(e=>e.withContent())}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute)return e;if(60===e.charCodeAt(0))return e;if(/^\w+:\/\//.test(e))return e;let t=this.memoizedPaths.get(e);if(t)return t;let s=this.opts.to?Qi(this.opts.to):".";"string"==typeof this.mapOpts.annotation&&(s=Qi(tn(s,this.mapOpts.annotation)));let r=en(s,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}});else{let e=new nn(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(t=>{if(t.source){let s=t.source.input.from;if(s&&!e[s]){e[s]=!0;let r=this.usesFileUrls?this.toFileUrl(s):this.toUrl(this.path(s));this.map.setSourceContent(r,t.source.input.css)}}});else if(this.css){let e=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(e,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let t=this.memoizedFileURLs.get(e);if(t)return t;if(rn){let t=rn(e).toString();return this.memoizedFileURLs.set(e,t),t}throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let t=this.memoizedURLs.get(e);if(t)return t;"\\"===sn&&(e=e.replace(/\\/g,"/"));let s=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,s),s}};let cn=ki,hn=class extends cn{constructor(e){super(e),this.type="comment"}};var un=hn;hn.default=hn;let dn,pn,mn,fn,{isClean:gn,my:yn}=ci,wn=Ti,vn=un,Sn=ki;function bn(e){return e.map(e=>(e.nodes&&(e.nodes=bn(e.nodes)),delete e.source,e))}function Cn(e){if(e[gn]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)Cn(t)}let kn=class e extends Sn{append(...e){for(let t of e){let e=this.normalize(t,this.last);for(let t of e)this.proxyOf.nodes.push(t)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let t,s,r=this.getIterator();for(;this.indexes[r]<this.proxyOf.nodes.length&&(t=this.indexes[r],s=e(this.proxyOf.nodes[t],t),!1!==s);)this.indexes[r]+=1;return delete this.indexes[r],s}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get:(e,t)=>"proxyOf"===t?e:e[t]?"each"===t||"string"==typeof t&&t.startsWith("walk")?(...s)=>e[t](...s.map(e=>"function"==typeof e?(t,s)=>e(t.toProxy(),s):e)):"every"===t||"some"===t?s=>e[t]((e,...t)=>s(e.toProxy(),...t)):"root"===t?()=>e.root().toProxy():"nodes"===t?e.nodes.map(e=>e.toProxy()):"first"===t||"last"===t?e[t].toProxy():e[t]:e[t],set:(e,t,s)=>(e[t]===s||(e[t]=s,"name"!==t&&"params"!==t&&"selector"!==t||e.markDirty()),!0)}}index(e){return"number"==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,t){let s,r=this.index(e),i=this.normalize(t,this.proxyOf.nodes[r]).reverse();r=this.index(e);for(let e of i)this.proxyOf.nodes.splice(r+1,0,e);for(let e in this.indexes)s=this.indexes[e],r<s&&(this.indexes[e]=s+i.length);return this.markDirty(),this}insertBefore(e,t){let s,r=this.index(e),i=0===r&&"prepend",n=this.normalize(t,this.proxyOf.nodes[r],i).reverse();r=this.index(e);for(let e of n)this.proxyOf.nodes.splice(r,0,e);for(let e in this.indexes)s=this.indexes[e],r<=s&&(this.indexes[e]=s+n.length);return this.markDirty(),this}normalize(t,s){if("string"==typeof t)t=bn(dn(t).nodes);else if(void 0===t)t=[];else if(Array.isArray(t)){t=t.slice(0);for(let e of t)e.parent&&e.parent.removeChild(e,"ignore")}else if("root"===t.type&&"document"!==this.type){t=t.nodes.slice(0);for(let e of t)e.parent&&e.parent.removeChild(e,"ignore")}else if(t.type)t=[t];else if(t.prop){if(void 0===t.value)throw new Error("Value field is missed in node creation");"string"!=typeof t.value&&(t.value=String(t.value)),t=[new wn(t)]}else if(t.selector)t=[new pn(t)];else if(t.name)t=[new mn(t)];else{if(!t.text)throw new Error("Unknown node type in node creation");t=[new vn(t)]}return t.map(t=>(t[yn]||e.rebuild(t),(t=t.proxyOf).parent&&t.parent.removeChild(t),t[gn]&&Cn(t),void 0===t.raws.before&&s&&void 0!==s.raws.before&&(t.raws.before=s.raws.before.replace(/\S/g,"")),t.parent=this.proxyOf,t))}prepend(...e){e=e.reverse();for(let t of e){let e=this.normalize(t,this.first,"prepend").reverse();for(let t of e)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+e.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){let t;e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);for(let s in this.indexes)t=this.indexes[s],t>=e&&(this.indexes[s]=t-1);return this.markDirty(),this}replaceValues(e,t,s){return s||(s=t,t={}),this.walkDecls(r=>{t.props&&!t.props.includes(r.prop)||t.fast&&!r.value.includes(t.fast)||(r.value=r.value.replace(e,s))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((t,s)=>{let r;try{r=e(t,s)}catch(e){throw t.addToError(e)}return!1!==r&&t.walk&&(r=t.walk(e)),r})}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("atrule"===s.type&&e.test(s.name))return t(s,r)}):this.walk((s,r)=>{if("atrule"===s.type&&s.name===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("atrule"===e.type)return t(e,s)}))}walkComments(e){return this.walk((t,s)=>{if("comment"===t.type)return e(t,s)})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("decl"===s.type&&e.test(s.prop))return t(s,r)}):this.walk((s,r)=>{if("decl"===s.type&&s.prop===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("decl"===e.type)return t(e,s)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((s,r)=>{if("rule"===s.type&&e.test(s.selector))return t(s,r)}):this.walk((s,r)=>{if("rule"===s.type&&s.selector===e)return t(s,r)}):(t=e,this.walk((e,s)=>{if("rule"===e.type)return t(e,s)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}};kn.registerParse=e=>{dn=e},kn.registerRule=e=>{pn=e},kn.registerAtRule=e=>{mn=e},kn.registerRoot=e=>{fn=e};var In=kn;kn.default=kn,kn.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,mn.prototype):"rule"===e.type?Object.setPrototypeOf(e,pn.prototype):"decl"===e.type?Object.setPrototypeOf(e,wn.prototype):"comment"===e.type?Object.setPrototypeOf(e,vn.prototype):"root"===e.type&&Object.setPrototypeOf(e,fn.prototype),e[yn]=!0,e.nodes&&e.nodes.forEach(e=>{kn.rebuild(e)})};let En,Tn,xn=In,Mn=class extends xn{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new En(new Tn,this,e).stringify()}};Mn.registerLazyResult=e=>{En=e},Mn.registerProcessor=e=>{Tn=e};var _n=Mn;Mn.default=Mn;let On={};var An=function(e){On[e]||(On[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))};let Rn=class{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let e=t.node.rangeBy(t);this.line=e.start.line,this.column=e.start.column,this.endLine=e.end.line,this.endColumn=e.end.column}for(let e in t)this[e]=t[e]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};var Pn=Rn;Rn.default=Rn;let Dn=Pn,Nn=class{constructor(e,t,s){this.processor=e,this.messages=[],this.root=t,this.opts=s,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let s=new Dn(e,t);return this.messages.push(s),s}warnings(){return this.messages.filter(e=>"warning"===e.type)}get content(){return this.css}};var Ln=Nn;Nn.default=Nn;const Fn="'".charCodeAt(0),Un='"'.charCodeAt(0),Bn="\\".charCodeAt(0),$n="/".charCodeAt(0),zn="\n".charCodeAt(0),jn=" ".charCodeAt(0),Wn="\f".charCodeAt(0),Kn="\t".charCodeAt(0),Vn="\r".charCodeAt(0),Gn="[".charCodeAt(0),Hn="]".charCodeAt(0),Yn="(".charCodeAt(0),qn=")".charCodeAt(0),Zn="{".charCodeAt(0),Jn="}".charCodeAt(0),Xn=";".charCodeAt(0),Qn="*".charCodeAt(0),eo=":".charCodeAt(0),to="@".charCodeAt(0),so=/[\t\n\f\r "#'()/;[\\\]{}]/g,ro=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,io=/.[\r\n"'(/\\]/,no=/[\da-f]/i;let oo=In,ao=class extends oo{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};var lo=ao;ao.default=ao,oo.registerAtRule(ao);let co,ho,uo=In,po=class extends uo{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,t,s){let r=super.normalize(e);if(t)if("prepend"===s)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let e of r)e.raws.before=t.raws.before;return r}removeChild(e,t){let s=this.index(e);return!t&&0===s&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[s].raws.before),super.removeChild(e)}toResult(e={}){return new co(new ho,this,e).stringify()}};po.registerLazyResult=e=>{co=e},po.registerProcessor=e=>{ho=e};var mo=po;po.default=po,uo.registerRoot(po);let fo={comma:e=>fo.split(e,[","],!0),space:e=>fo.split(e,[" ","\n","\t"]),split(e,t,s){let r=[],i="",n=!1,o=0,a=!1,l="",c=!1;for(let s of e)c?c=!1:"\\"===s?c=!0:a?s===l&&(a=!1):'"'===s||"'"===s?(a=!0,l=s):"("===s?o+=1:")"===s?o>0&&(o-=1):0===o&&t.includes(s)&&(n=!0),n?(""!==i&&r.push(i.trim()),i="",n=!1):i+=s;return(s||""!==i)&&r.push(i.trim()),r}};var go=fo;fo.default=fo;let yo=In,wo=go,vo=class extends yo{constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return wo.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,s=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(s)}};var So=vo;vo.default=vo,yo.registerRule(vo);let bo=Ti,Co=function(e,t={}){let s,r,i,n,o,a,l,c,h,u,d=e.css.valueOf(),p=t.ignoreErrors,m=d.length,f=0,g=[],y=[];function w(t){throw e.error("Unclosed "+t,f)}return{back:function(e){y.push(e)},endOfFile:function(){return 0===y.length&&f>=m},nextToken:function(e){if(y.length)return y.pop();if(f>=m)return;let t=!!e&&e.ignoreUnclosed;switch(s=d.charCodeAt(f),s){case zn:case jn:case Kn:case Vn:case Wn:r=f;do{r+=1,s=d.charCodeAt(r)}while(s===jn||s===zn||s===Kn||s===Vn||s===Wn);u=["space",d.slice(f,r)],f=r-1;break;case Gn:case Hn:case Zn:case Jn:case eo:case Xn:case qn:{let e=String.fromCharCode(s);u=[e,e,f];break}case Yn:if(c=g.length?g.pop()[1]:"",h=d.charCodeAt(f+1),"url"===c&&h!==Fn&&h!==Un&&h!==jn&&h!==zn&&h!==Kn&&h!==Wn&&h!==Vn){r=f;do{if(a=!1,r=d.indexOf(")",r+1),-1===r){if(p||t){r=f;break}w("bracket")}for(l=r;d.charCodeAt(l-1)===Bn;)l-=1,a=!a}while(a);u=["brackets",d.slice(f,r+1),f,r],f=r}else r=d.indexOf(")",f+1),n=d.slice(f,r+1),-1===r||io.test(n)?u=["(","(",f]:(u=["brackets",n,f,r],f=r);break;case Fn:case Un:i=s===Fn?"'":'"',r=f;do{if(a=!1,r=d.indexOf(i,r+1),-1===r){if(p||t){r=f+1;break}w("string")}for(l=r;d.charCodeAt(l-1)===Bn;)l-=1,a=!a}while(a);u=["string",d.slice(f,r+1),f,r],f=r;break;case to:so.lastIndex=f+1,so.test(d),r=0===so.lastIndex?d.length-1:so.lastIndex-2,u=["at-word",d.slice(f,r+1),f,r],f=r;break;case Bn:for(r=f,o=!0;d.charCodeAt(r+1)===Bn;)r+=1,o=!o;if(s=d.charCodeAt(r+1),o&&s!==$n&&s!==jn&&s!==zn&&s!==Kn&&s!==Vn&&s!==Wn&&(r+=1,no.test(d.charAt(r)))){for(;no.test(d.charAt(r+1));)r+=1;d.charCodeAt(r+1)===jn&&(r+=1)}u=["word",d.slice(f,r+1),f,r],f=r;break;default:s===$n&&d.charCodeAt(f+1)===Qn?(r=d.indexOf("*/",f+2)+1,0===r&&(p||t?r=d.length:w("comment")),u=["comment",d.slice(f,r+1),f,r],f=r):(ro.lastIndex=f+1,ro.test(d),r=0===ro.lastIndex?d.length-1:ro.lastIndex-2,u=["word",d.slice(f,r+1),f,r],g.push(u),f=r)}return f++,u},position:function(){return f}}},ko=un,Io=lo,Eo=mo,To=So;const xo={empty:!0,space:!0};let Mo=In,_o=class{constructor(e){this.input=e,this.root=new Eo,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let t,s,r,i=new Io;i.name=e[1].slice(1),""===i.name&&this.unnamedAtrule(i,e),this.init(i,e[2]);let n=!1,o=!1,a=[],l=[];for(;!this.tokenizer.endOfFile();){if(t=(e=this.tokenizer.nextToken())[0],"("===t||"["===t?l.push("("===t?")":"]"):"{"===t&&l.length>0?l.push("}"):t===l[l.length-1]&&l.pop(),0===l.length){if(";"===t){i.source.end=this.getPosition(e[2]),i.source.end.offset++,this.semicolon=!0;break}if("{"===t){o=!0;break}if("}"===t){if(a.length>0){for(r=a.length-1,s=a[r];s&&"space"===s[0];)s=a[--r];s&&(i.source.end=this.getPosition(s[3]||s[2]),i.source.end.offset++)}this.end(e);break}a.push(e)}else a.push(e);if(this.tokenizer.endOfFile()){n=!0;break}}i.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(i.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(i,"params",a),n&&(e=a[a.length-1],i.source.end=this.getPosition(e[3]||e[2]),i.source.end.offset++,this.spaces=i.raws.between,i.raws.between="")):(i.raws.afterName="",i.params=""),o&&(i.nodes=[],this.current=i)}checkMissedSemicolon(e){let t=this.colon(e);if(!1===t)return;let s,r=0;for(let i=t-1;i>=0&&(s=e[i],"space"===s[0]||(r+=1,2!==r));i--);throw this.input.error("Missed semicolon","word"===s[0]?s[3]+1:s[2])}colon(e){let t,s,r,i=0;for(let[n,o]of e.entries()){if(t=o,s=t[0],"("===s&&(i+=1),")"===s&&(i-=1),0===i&&":"===s){if(r){if("word"===r[0]&&"progid"===r[1])continue;return n}this.doubleColon(t)}r=t}return!1}comment(e){let t=new ko;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++;let s=e[1].slice(2,-2);if(/^\s*$/.test(s))t.text="",t.raws.left=s,t.raws.right="";else{let e=s.match(/^(\s*)([^]*\S)(\s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}}createTokenizer(){this.tokenizer=Co(this.input)}decl(e,t){let s=new bo;this.init(s,e[0][2]);let r,i=e[e.length-1];for(";"===i[0]&&(this.semicolon=!0,e.pop()),s.source.end=this.getPosition(i[3]||i[2]||function(e){for(let t=e.length-1;t>=0;t--){let s=e[t],r=s[3]||s[2];if(r)return r}}(e)),s.source.end.offset++;"word"!==e[0][0];)1===e.length&&this.unknownWord(e),s.raws.before+=e.shift()[1];for(s.source.start=this.getPosition(e[0][2]),s.prop="";e.length;){let t=e[0][0];if(":"===t||"space"===t||"comment"===t)break;s.prop+=e.shift()[1]}for(s.raws.between="";e.length;){if(r=e.shift(),":"===r[0]){s.raws.between+=r[1];break}"word"===r[0]&&/\w/.test(r[1])&&this.unknownWord([r]),s.raws.between+=r[1]}"_"!==s.prop[0]&&"*"!==s.prop[0]||(s.raws.before+=s.prop[0],s.prop=s.prop.slice(1));let n,o=[];for(;e.length&&(n=e[0][0],"space"===n||"comment"===n);)o.push(e.shift());this.precheckMissedSemicolon(e);for(let t=e.length-1;t>=0;t--){if(r=e[t],"!important"===r[1].toLowerCase()){s.important=!0;let r=this.stringFrom(e,t);r=this.spacesFromEnd(e)+r," !important"!==r&&(s.raws.important=r);break}if("important"===r[1].toLowerCase()){let r=e.slice(0),i="";for(let e=t;e>0;e--){let t=r[e][0];if(0===i.trim().indexOf("!")&&"space"!==t)break;i=r.pop()[1]+i}0===i.trim().indexOf("!")&&(s.important=!0,s.raws.important=i,e=r)}if("space"!==r[0]&&"comment"!==r[0])break}e.some(e=>"space"!==e[0]&&"comment"!==e[0])&&(s.raws.between+=o.map(e=>e[1]).join(""),o=[]),this.raw(s,"value",o.concat(e),t),s.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let t=new To;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let e=this.current.nodes[this.current.nodes.length-1];e&&"rule"===e.type&&!e.raws.ownSemicolon&&(e.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(e){let t=this.input.fromOffset(e);return{column:t.col,line:t.line,offset:e}}init(e,t){this.current.push(e),e.source={input:this.input,start:this.getPosition(t)},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)}other(e){let t=!1,s=null,r=!1,i=null,n=[],o=e[1].startsWith("--"),a=[],l=e;for(;l;){if(s=l[0],a.push(l),"("===s||"["===s)i||(i=l),n.push("("===s?")":"]");else if(o&&r&&"{"===s)i||(i=l),n.push("}");else if(0===n.length){if(";"===s){if(r)return void this.decl(a,o);break}if("{"===s)return void this.rule(a);if("}"===s){this.tokenizer.back(a.pop()),t=!0;break}":"===s&&(r=!0)}else s===n[n.length-1]&&(n.pop(),0===n.length&&(i=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),n.length>0&&this.unclosedBracket(i),t&&r){if(!o)for(;a.length&&(l=a[a.length-1][0],"space"===l||"comment"===l);)this.tokenizer.back(a.pop());this.decl(a,o)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()}precheckMissedSemicolon(){}raw(e,t,s,r){let i,n,o,a,l=s.length,c="",h=!0;for(let e=0;e<l;e+=1)i=s[e],n=i[0],"space"!==n||e!==l-1||r?"comment"===n?(a=s[e-1]?s[e-1][0]:"empty",o=s[e+1]?s[e+1][0]:"empty",xo[a]||xo[o]||","===c.slice(-1)?h=!1:c+=i[1]):c+=i[1]:h=!1;if(!h){let r=s.reduce((e,t)=>e+t[1],"");e.raws[t]={raw:r,value:c}}e[t]=c}rule(e){e.pop();let t=new To;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}spacesAndCommentsFromEnd(e){let t,s="";for(;e.length&&(t=e[e.length-1][0],"space"===t||"comment"===t);)s=e.pop()[1]+s;return s}spacesAndCommentsFromStart(e){let t,s="";for(;e.length&&(t=e[0][0],"space"===t||"comment"===t);)s+=e.shift()[1];return s}spacesFromEnd(e){let t,s="";for(;e.length&&(t=e[e.length-1][0],"space"===t);)s=e.pop()[1]+s;return s}stringFrom(e,t){let s="";for(let r=t;r<e.length;r++)s+=e[r][1];return e.splice(t,e.length-t),s}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word",{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,t){throw this.input.error("At-rule without name",{offset:t[2]},{offset:t[2]+t[1].length})}},Oo=Zi;function Ao(e,t){let s=new Oo(e,t),r=new _o(s);try{r.parse()}catch(e){throw"production"!==process.env.NODE_ENV&&"CssSyntaxError"===e.name&&t&&t.from&&(/\.scss$/i.test(t.from)?e.message+="\nYou tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser":/\.sass/i.test(t.from)?e.message+="\nYou tried to parse Sass with the standard CSS parser; try again with the postcss-sass parser":/\.less$/i.test(t.from)&&(e.message+="\nYou tried to parse Less with the standard CSS parser; try again with the postcss-less parser")),e}return r.root}var Ro=Ao;Ao.default=Ao,Mo.registerParse(Ao);let{isClean:Po,my:Do}=ci,No=ln,Lo=fi,Fo=In,Uo=_n,Bo=An,$o=Ln,zo=Ro,jo=mo;const Wo={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Ko={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Vo={Once:!0,postcssPlugin:!0,prepare:!0};function Go(e){return"object"==typeof e&&"function"==typeof e.then}function Ho(e){let t=!1,s=Wo[e.type];return"decl"===e.type?t=e.prop.toLowerCase():"atrule"===e.type&&(t=e.name.toLowerCase()),t&&e.append?[s,s+"-"+t,0,s+"Exit",s+"Exit-"+t]:t?[s,s+"-"+t,s+"Exit",s+"Exit-"+t]:e.append?[s,0,s+"Exit"]:[s,s+"Exit"]}function Yo(e){let t;return t="document"===e.type?["Document",0,"DocumentExit"]:"root"===e.type?["Root",0,"RootExit"]:Ho(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function qo(e){return e[Po]=!1,e.nodes&&e.nodes.forEach(e=>qo(e)),e}let Zo={},Jo=class e{constructor(t,s,r){let i;if(this.stringified=!1,this.processed=!1,"object"!=typeof s||null===s||"root"!==s.type&&"document"!==s.type)if(s instanceof e||s instanceof $o)i=qo(s.root),s.map&&(void 0===r.map&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=s.map);else{let e=zo;r.syntax&&(e=r.syntax.parse),r.parser&&(e=r.parser),e.parse&&(e=e.parse);try{i=e(s,r)}catch(e){this.processed=!0,this.error=e}i&&!i[Do]&&Fo.rebuild(i)}else i=qo(s);this.result=new $o(t,i,r),this.helpers={...Zo,postcss:Zo,result:this.result},this.plugins=this.processor.plugins.map(e=>"object"==typeof e&&e.prepare?{...e,...e.prepare(this.result)}:e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let s=this.result.lastPlugin;try{if(t&&t.addToError(e),this.error=e,"CssSyntaxError"!==e.name||e.plugin){if(s.postcssVersion&&"production"!==process.env.NODE_ENV){let e=s.postcssPlugin,t=s.postcssVersion,r=this.result.processor.version,i=t.split("."),n=r.split(".");(i[0]!==n[0]||parseInt(i[1])>parseInt(n[1]))&&console.error("Unknown error from PostCSS plugin. Your current PostCSS version is "+r+", but "+e+" uses "+t+". Perhaps this is the source of the error below.")}}else e.plugin=s.postcssPlugin,e.setMessage()}catch(e){console&&console.error&&console.error(e)}return e}prepareVisitors(){this.listeners={};let e=(e,t,s)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push([e,s])};for(let t of this.plugins)if("object"==typeof t)for(let s in t){if(!Ko[s]&&/^[A-Z]/.test(s))throw new Error(`Unknown event ${s} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Vo[s])if("object"==typeof t[s])for(let r in t[s])e(t,"*"===r?s:s+"-"+r.toLowerCase(),t[s][r]);else"function"==typeof t[s]&&e(t,s,t[s])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let t=this.plugins[e],s=this.runOnRoot(t);if(Go(s))try{await s}catch(e){throw this.handleError(e)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Po];){e[Po]=!0;let t=[Yo(e)];for(;t.length>0;){let e=this.visitTick(t);if(Go(e))try{await e}catch(e){let s=t[t.length-1].node;throw this.handleError(e,s)}}}if(this.listeners.OnceExit)for(let[t,s]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if("document"===e.type){let t=e.nodes.map(e=>s(e,this.helpers));await Promise.all(t)}else await s(e,this.helpers)}catch(e){throw this.handleError(e)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if("object"==typeof e&&e.Once){if("document"===this.result.root.type){let t=this.result.root.nodes.map(t=>e.Once(t,this.helpers));return Go(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if("function"==typeof e)return e(this.result.root,this.result)}catch(e){throw this.handleError(e)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=Lo;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let s=new No(t,this.result.root,this.result.opts).generate();return this.result.css=s[0],this.result.map=s[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){if(Go(this.runOnRoot(e)))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Po];)e[Po]=!0,this.walkSync(e);if(this.listeners.OnceExit)if("document"===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,t){return"production"!==process.env.NODE_ENV&&("from"in this.opts||Bo("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(e,t)}toString(){return this.css}visitSync(e,t){for(let[s,r]of e){let e;this.result.lastPlugin=s;try{e=r(t,this.helpers)}catch(e){throw this.handleError(e,t.proxyOf)}if("root"!==t.type&&"document"!==t.type&&!t.parent)return!0;if(Go(e))throw this.getAsyncError()}}visitTick(e){let t=e[e.length-1],{node:s,visitors:r}=t;if("root"!==s.type&&"document"!==s.type&&!s.parent)return void e.pop();if(r.length>0&&t.visitorIndex<r.length){let[e,i]=r[t.visitorIndex];t.visitorIndex+=1,t.visitorIndex===r.length&&(t.visitors=[],t.visitorIndex=0),this.result.lastPlugin=e;try{return i(s.toProxy(),this.helpers)}catch(e){throw this.handleError(e,s)}}if(0!==t.iterator){let r,i=t.iterator;for(;r=s.nodes[s.indexes[i]];)if(s.indexes[i]+=1,!r[Po])return r[Po]=!0,void e.push(Yo(r));t.iterator=0,delete s.indexes[i]}let i=t.events;for(;t.eventIndex<i.length;){let e=i[t.eventIndex];if(t.eventIndex+=1,0===e)return void(s.nodes&&s.nodes.length&&(s[Po]=!0,t.iterator=s.getIterator()));if(this.listeners[e])return void(t.visitors=this.listeners[e])}e.pop()}walkSync(e){e[Po]=!0;let t=Ho(e);for(let s of t)if(0===s)e.nodes&&e.each(e=>{e[Po]||this.walkSync(e)});else{let t=this.listeners[s];if(t&&this.visitSync(t,e.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}};Jo.registerPostcss=e=>{Zo=e};var Xo=Jo;Jo.default=Jo,jo.registerLazyResult(Jo),Uo.registerLazyResult(Jo);let Qo=ln,ea=fi,ta=An,sa=Ro;const ra=Ln;let ia=class{constructor(e,t,s){let r;t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=s,this._map=void 0;let i=ea;this.result=new ra(this._processor,r,this._opts),this.result.css=t;let n=this;Object.defineProperty(this.result,"root",{get:()=>n.root});let o=new Qo(i,r,this._opts,t);if(o.isMap()){let[e,t]=o.generate();e&&(this.result.css=e),t&&(this.result.map=t)}else o.clearAnnotation(),this.result.css=o.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,t){return"production"!==process.env.NODE_ENV&&("from"in this._opts||ta("Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.")),this.async().then(e,t)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,t=sa;try{e=t(this._css,this._opts)}catch(e){this.error=e}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}};var na=ia;ia.default=ia;let oa=na,aa=Xo,la=_n,ca=mo,ha=class{constructor(e=[]){this.version="8.4.38",this.plugins=this.normalize(e)}normalize(e){let t=[];for(let s of e)if(!0===s.postcss?s=s():s.postcss&&(s=s.postcss),"object"==typeof s&&Array.isArray(s.plugins))t=t.concat(s.plugins);else if("object"==typeof s&&s.postcssPlugin)t.push(s);else if("function"==typeof s)t.push(s);else{if("object"!=typeof s||!s.parse&&!s.stringify)throw new Error(s+" is not a PostCSS plugin");if("production"!==process.env.NODE_ENV)throw new Error("PostCSS syntaxes cannot be used as plugins. Instead, please use one of the syntax/parser/stringifier options as outlined in your PostCSS runner documentation.")}return t}process(e,t={}){return this.plugins.length||t.parser||t.stringifier||t.syntax?new aa(this,e,t):new oa(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};var ua=ha;ha.default=ha,ca.registerProcessor(ha),la.registerProcessor(ha);let da=Ti,pa=Ni,ma=un,fa=lo,ga=Zi,ya=mo,wa=So;function va(e,t){if(Array.isArray(e))return e.map(e=>va(e));let{inputs:s,...r}=e;if(s){t=[];for(let e of s){let s={...e,__proto__:ga.prototype};s.map&&(s.map={...s.map,__proto__:pa.prototype}),t.push(s)}}if(r.nodes&&(r.nodes=e.nodes.map(e=>va(e,t))),r.source){let{inputId:e,...s}=r.source;r.source=s,null!=e&&(r.source.input=t[e])}if("root"===r.type)return new ya(r);if("decl"===r.type)return new da(r);if("rule"===r.type)return new wa(r);if("comment"===r.type)return new ma(r);if("atrule"===r.type)return new fa(r);throw new Error("Unknown node type: "+e.type)}var Sa=va;va.default=va;let ba=li,Ca=Ti,ka=Xo,Ia=In,Ea=ua,Ta=fi,xa=Sa,Ma=_n,_a=Pn,Oa=un,Aa=lo,Ra=Ln,Pa=Zi,Da=Ro,Na=go,La=So,Fa=mo,Ua=ki;function Ba(...e){return 1===e.length&&Array.isArray(e[0])&&(e=e[0]),new Ea(e)}Ba.plugin=function(e,t){let s,r=!1;function i(...s){console&&console.warn&&!r&&(r=!0,console.warn(e+": postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration"),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+": ιι’ postcss.plugin θ’«εΌη¨. θΏη§»ζε:\nhttps://www.w3ctech.com/topic/2226"));let i=t(...s);return i.postcssPlugin=e,i.postcssVersion=(new Ea).version,i}return Object.defineProperty(i,"postcss",{get:()=>(s||(s=i()),s)}),i.process=function(e,t,s){return Ba([i(s)]).process(e,t)},i},Ba.stringify=Ta,Ba.parse=Da,Ba.fromJSON=xa,Ba.list=Na,Ba.comment=e=>new Oa(e),Ba.atRule=e=>new Aa(e),Ba.decl=e=>new Ca(e),Ba.rule=e=>new La(e),Ba.root=e=>new Fa(e),Ba.document=e=>new Ma(e),Ba.CssSyntaxError=ba,Ba.Declaration=Ca,Ba.Container=Ia,Ba.Processor=Ea,Ba.Document=Ma,Ba.Comment=Oa,Ba.Warning=_a,Ba.AtRule=Aa,Ba.Result=Ra,Ba.Input=Pa,Ba.Rule=La,Ba.Root=Fa,Ba.Node=Ua,ka.registerPostcss(Ba);var $a=Ba;Ba.default=Ba;const za=Xr($a);za.stringify,za.fromJSON,za.plugin,za.parse,za.list,za.document,za.comment,za.atRule,za.rule,za.decl,za.root,za.CssSyntaxError,za.Declaration,za.Container,za.Processor,za.Document,za.Comment,za.Warning,za.AtRule,za.Result,za.Input,za.Rule,za.Root,za.Node;class ja{constructor(...e){Jr(this,"parentElement",null),Jr(this,"parentNode",null),Jr(this,"ownerDocument"),Jr(this,"firstChild",null),Jr(this,"lastChild",null),Jr(this,"previousSibling",null),Jr(this,"nextSibling",null),Jr(this,"ELEMENT_NODE",1),Jr(this,"TEXT_NODE",3),Jr(this,"nodeType"),Jr(this,"nodeName"),Jr(this,"RRNodeType")}get childNodes(){const e=[];let t=this.firstChild;for(;t;)e.push(t),t=t.nextSibling;return e}contains(e){if(!(e instanceof ja))return!1;if(e.ownerDocument!==this.ownerDocument)return!1;if(e===this)return!0;for(;e.parentNode;){if(e.parentNode===this)return!0;e=e.parentNode}return!1}appendChild(e){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(e,t){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(e){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}}const Wa={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Ka={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Va={};function Ga(e){if(Va[e])return Va[e];const t=globalThis[e],s=t.prototype,r=e in Wa?Wa[e]:void 0,i=Boolean(r&&r.every(e=>{var t,r;return Boolean(null==(r=null==(t=Object.getOwnPropertyDescriptor(s,e))?void 0:t.get)?void 0:r.toString().includes("[native code]"))})),n=e in Ka?Ka[e]:void 0,o=Boolean(n&&n.every(e=>{var t;return"function"==typeof s[e]&&(null==(t=s[e])?void 0:t.toString().includes("[native code]"))}));if(i&&o&&!globalThis.Zone)return Va[e]=t.prototype,t.prototype;try{const r=document.createElement("iframe");document.body.appendChild(r);const i=r.contentWindow;if(!i)return t.prototype;const n=i[e].prototype;return document.body.removeChild(r),n?Va[e]=n:s}catch{return s}}const Ha={};function Ya(e,t,s){var r;const i=`${e}.${String(s)}`;if(Ha[i])return Ha[i].call(t);const n=Ga(e),o=null==(r=Object.getOwnPropertyDescriptor(n,s))?void 0:r.get;return o?(Ha[i]=o,o.call(t)):t[s]}const qa={};function Za(e,t,s){const r=`${e}.${String(s)}`;if(qa[r])return qa[r].bind(t);const i=Ga(e)[s];return"function"!=typeof i?t[s]:(qa[r]=i,i.bind(t))}function Ja(){return Ga("MutationObserver").constructor}function Xa(e,t,s){try{if(!(t in e))return()=>{};const r=e[t],i=s(r);return"function"==typeof i&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:r}})),e[t]=i,()=>{e[t]=r}}catch{return()=>{}}}const Qa={ownerDocument:function(e){return Ya("Node",e,"ownerDocument")},childNodes:function(e){return Ya("Node",e,"childNodes")},parentNode:function(e){return Ya("Node",e,"parentNode")},parentElement:function(e){return Ya("Node",e,"parentElement")},textContent:function(e){return Ya("Node",e,"textContent")},contains:function(e,t){return Za("Node",e,"contains")(t)},getRootNode:function(e){return Za("Node",e,"getRootNode")()},host:function(e){return e&&"host"in e?Ya("ShadowRoot",e,"host"):null},styleSheets:function(e){return e.styleSheets},shadowRoot:function(e){return e&&"shadowRoot"in e?Ya("Element",e,"shadowRoot"):null},querySelector:function(e,t){return Ya("Element",e,"querySelector")(t)},querySelectorAll:function(e,t){return Ya("Element",e,"querySelectorAll")(t)},mutationObserver:Ja,patch:Xa};function el(e,t,s=document){const r={capture:!0,passive:!0};return s.addEventListener(e,t,r),()=>s.removeEventListener(e,t,r)}const tl="Please stop import mirror directly. Instead of that,\r\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\r\nor you can use record.mirror to access the mirror instance during recording.";let sl={map:{},getId:()=>(console.error(tl),-1),getNode:()=>(console.error(tl),null),removeNodeFromMap(){console.error(tl)},has:()=>(console.error(tl),!1),reset(){console.error(tl)}};function rl(e,t,s={}){let r=null,i=0;return function(...n){const o=Date.now();i||!1!==s.leading||(i=o);const a=t-(o-i),l=this;a<=0||a>t?(r&&(clearTimeout(r),r=null),i=o,e.apply(l,n)):r||!1===s.trailing||(r=setTimeout(()=>{i=!1===s.leading?0:Date.now(),r=null,e.apply(l,n)},a))}}function il(e,t,s,r,i=window){const n=i.Object.getOwnPropertyDescriptor(e,t);return i.Object.defineProperty(e,t,r?s:{set(e){setTimeout(()=>{s.set.call(this,e)},0),n&&n.set&&n.set.call(this,e)}}),()=>il(e,t,n||{},!0)}"undefined"!=typeof window&&window.Proxy&&window.Reflect&&(sl=new Proxy(sl,{get:(e,t,s)=>("map"===t&&console.error(tl),Reflect.get(e,t,s))}));let nl=Date.now;function ol(e){var t,s,r,i;const n=e.document;return{left:n.scrollingElement?n.scrollingElement.scrollLeft:void 0!==e.pageXOffset?e.pageXOffset:n.documentElement.scrollLeft||(null==n?void 0:n.body)&&(null==(t=Qa.parentElement(n.body))?void 0:t.scrollLeft)||(null==(s=null==n?void 0:n.body)?void 0:s.scrollLeft)||0,top:n.scrollingElement?n.scrollingElement.scrollTop:void 0!==e.pageYOffset?e.pageYOffset:(null==n?void 0:n.documentElement.scrollTop)||(null==n?void 0:n.body)&&(null==(r=Qa.parentElement(n.body))?void 0:r.scrollTop)||(null==(i=null==n?void 0:n.body)?void 0:i.scrollTop)||0}}function al(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function ll(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function cl(e){if(!e)return null;return e.nodeType===e.ELEMENT_NODE?e:Qa.parentElement(e)}function hl(e,t,s,r){if(!e)return!1;const i=cl(e);if(!i)return!1;try{if("string"==typeof t){if(i.classList.contains(t))return!0;if(r&&null!==i.closest("."+t))return!0}else if(se(i,t,r))return!0}catch(e){}if(s){if(i.matches(s))return!0;if(r&&null!==i.closest(s))return!0}return!1}function ul(e,t,s){return!("TITLE"!==e.tagName||!s.headTitleMutations)||-2===t.getId(e)}function dl(e,t){if(T(e))return!1;const s=t.getId(e);if(!t.has(s))return!0;const r=Qa.parentNode(e);return(!r||r.nodeType!==e.DOCUMENT_NODE)&&(!r||dl(r,t))}function pl(e){return Boolean(e.changedTouches)}function ml(e,t){return Boolean("IFRAME"===e.nodeName&&t.getMeta(e))}function fl(e,t){return Boolean("LINK"===e.nodeName&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&"stylesheet"===e.getAttribute("rel")&&t.getMeta(e))}function gl(e){return!!e&&(e instanceof ja&&"shadowRoot"in e?Boolean(e.shadowRoot):Boolean(Qa.shadowRoot(e)))}/[1-9][0-9]{12}/.test(Date.now().toString())||(nl=()=>(new Date).getTime());class yl{constructor(){d(this,"id",1),d(this,"styleIDMap",new WeakMap),d(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 s;return s=void 0===t?this.id++:t,this.styleIDMap.set(e,s),this.idStyleMap.set(s,e),s}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 wl(e){var t;let s=null;return"getRootNode"in e&&(null==(t=Qa.getRootNode(e))?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&Qa.host(Qa.getRootNode(e))&&(s=Qa.host(Qa.getRootNode(e))),s}function vl(e){const t=Qa.ownerDocument(e);if(!t)return!1;const s=function(e){let t,s=e;for(;t=wl(s);)s=t;return s}(e);return Qa.contains(t,s)}function Sl(e){const t=Qa.ownerDocument(e);return!!t&&(Qa.contains(t,e)||vl(e))}var bl=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e))(bl||{}),Cl=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(Cl||{}),kl=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(kl||{}),Il=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(Il||{}),El=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(El||{}),Tl=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Tl||{}),xl=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(xl||{});function Ml(e){return"__ln"in e}class _l{constructor(){d(this,"length",0),d(this,"head",null),d(this,"tail",null)}get(e){if(e>=this.length)throw new Error("Position outside of list range");let t=this.head;for(let s=0;s<e;s++)t=(null==t?void 0:t.next)||null;return t}addNode(e){const t={value:e,previous:null,next:null};if(e.__ln=t,e.previousSibling&&Ml(e.previousSibling)){const s=e.previousSibling.__ln.next;t.next=s,t.previous=e.previousSibling.__ln,e.previousSibling.__ln.next=t,s&&(s.previous=t)}else if(e.nextSibling&&Ml(e.nextSibling)&&e.nextSibling.__ln.previous){const s=e.nextSibling.__ln.previous;t.previous=s,t.next=e.nextSibling.__ln,e.nextSibling.__ln.previous=t,s&&(s.next=t)}else this.head&&(this.head.previous=t),t.next=this.head,this.head=t;null===t.next&&(this.tail=t),this.length++}removeNode(e){const 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--)}}const Ol=(e,t)=>`${e}@${t}`;class Al{constructor(){d(this,"frozen",!1),d(this,"locked",!1),d(this,"texts",[]),d(this,"attributes",[]),d(this,"attributeMap",new WeakMap),d(this,"removes",[]),d(this,"mapRemoves",[]),d(this,"movedMap",{}),d(this,"addedSet",new Set),d(this,"movedSet",new Set),d(this,"droppedSet",new Set),d(this,"removesSubTreeCache",new Set),d(this,"mutationCb"),d(this,"blockClass"),d(this,"blockSelector"),d(this,"maskTextClass"),d(this,"maskTextSelector"),d(this,"inlineStylesheet"),d(this,"maskInputOptions"),d(this,"maskTextFn"),d(this,"maskInputFn"),d(this,"keepIframeSrcFn"),d(this,"recordCanvas"),d(this,"inlineImages"),d(this,"slimDOMOptions"),d(this,"dataURLOptions"),d(this,"doc"),d(this,"mirror"),d(this,"iframeManager"),d(this,"stylesheetManager"),d(this,"shadowDomManager"),d(this,"canvasManager"),d(this,"processedNodeManager"),d(this,"unattachedDoc"),d(this,"processMutations",e=>{e.forEach(this.processMutation),this.emit()}),d(this,"emit",()=>{if(this.frozen||this.locked)return;const e=[],t=new Set,s=new _l,r=e=>{let t=e,s=-2;for(;-2===s;)t=t&&t.nextSibling,s=t&&this.mirror.getId(t);return s},i=i=>{const n=Qa.parentNode(i);if(!n||!Sl(i))return;let o=!1;if(i.nodeType===Node.TEXT_NODE){const e=n.tagName;if("TEXTAREA"===e)return;"STYLE"===e&&this.addedSet.has(n)&&(o=!0)}const a=T(n)?this.mirror.getId(wl(i)):this.mirror.getId(n),l=r(i);if(-1===a||-1===l)return s.addNode(i);const c=ae(i,{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:e=>{ml(e,this.mirror)&&this.iframeManager.addIframe(e),fl(e,this.mirror)&&this.stylesheetManager.trackLinkElement(e),gl(i)&&this.shadowDomManager.addShadowRoot(Qa.shadowRoot(i),this.doc)},onIframeLoad:(e,t)=>{this.iframeManager.attachIframe(e,t),this.shadowDomManager.observeAttachShadow(e)},onStylesheetLoad:(e,t)=>{this.stylesheetManager.attachLinkElement(e,t)},cssCaptured:o});c&&(e.push({parentId:a,nextId:l,node:c}),t.add(c.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const e of this.movedSet)Pl(this.removesSubTreeCache,e,this.mirror)&&!this.movedSet.has(Qa.parentNode(e))||i(e);for(const e of this.addedSet)Dl(this.droppedSet,e)||Pl(this.removesSubTreeCache,e,this.mirror)?Dl(this.movedSet,e)?i(e):this.droppedSet.add(e):i(e);let n=null;for(;s.length;){let e=null;if(n){const t=this.mirror.getId(Qa.parentNode(n.value)),s=r(n.value);-1!==t&&-1!==s&&(e=n)}if(!e){let t=s.tail;for(;t;){const s=t;if(t=t.previous,s){const t=this.mirror.getId(Qa.parentNode(s.value));if(-1===r(s.value))continue;if(-1!==t){e=s;break}{const t=s.value,r=Qa.parentNode(t);if(r&&r.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const t=Qa.host(r);if(-1!==this.mirror.getId(t)){e=s;break}}}}}}if(!e){for(;s.head;)s.removeNode(s.head.value);break}n=e.previous,s.removeNode(e.value),i(e.value)}const o={texts:this.texts.map(e=>{const t=e.node,s=Qa.parentNode(t);return s&&"TEXTAREA"===s.tagName&&this.genTextAreaValueMutation(s),{id:this.mirror.getId(t),value:e.value}}).filter(e=>!t.has(e.id)).filter(e=>this.mirror.has(e.id)),attributes:this.attributes.map(e=>{const{attributes:t}=e;if("string"==typeof t.style){const s=JSON.stringify(e.styleDiff),r=JSON.stringify(e._unchangedStyles);s.length<t.style.length&&(s+r).split("var(").length===t.style.split("var(").length&&(t.style=e.styleDiff)}return{id:this.mirror.getId(e.node),attributes:t}}).filter(e=>!t.has(e.id)).filter(e=>this.mirror.has(e.id)),removes:this.removes,adds:e};(o.texts.length||o.attributes.length||o.removes.length||o.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(o))}),d(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));const s=Array.from(Qa.childNodes(e),e=>Qa.textContent(e)||"").join("");t.attributes.value=A({element:e,maskInputOptions:this.maskInputOptions,tagName:e.tagName,type:D(e),value:s,maskInputFn:this.maskInputFn})}),d(this,"processMutation",e=>{if(!ul(e.target,this.mirror,this.slimDOMOptions))switch(e.type){case"characterData":{const t=Qa.textContent(e.target);hl(e.target,this.blockClass,this.blockSelector,!1)||t===e.oldValue||this.texts.push({value:re(e.target,this.maskTextClass,this.maskTextSelector,!0)&&t?this.maskTextFn?this.maskTextFn(t,cl(e.target)):t.replace(/[\S]/g,"*"):t,node:e.target});break}case"attributes":{const t=e.target;let s=e.attributeName,r=e.target.getAttribute(s);if("value"===s){const e=D(t);r=A({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:e,value:r,maskInputFn:this.maskInputFn})}if(hl(e.target,this.blockClass,this.blockSelector,!1)||r===e.oldValue)return;let i=this.attributeMap.get(e.target);if("IFRAME"===t.tagName&&"src"===s&&!this.keepIframeSrcFn(r)){if(t.contentDocument)return;s="rr_src"}if(i||(i={node:e.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(i),this.attributeMap.set(e.target,i)),"type"===s&&"INPUT"===t.tagName&&"password"===(e.oldValue||"").toLowerCase()&&t.setAttribute("data-rr-is-password","true"),!te(t.tagName,s))if(i.attributes[s]=ee(this.doc,R(t.tagName),R(s),r),"style"===s){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch(e){this.unattachedDoc=this.doc}const s=this.unattachedDoc.createElement("span");e.oldValue&&s.setAttribute("style",e.oldValue);for(const e of Array.from(t.style)){const r=t.style.getPropertyValue(e),n=t.style.getPropertyPriority(e);r!==s.style.getPropertyValue(e)||n!==s.style.getPropertyPriority(e)?i.styleDiff[e]=""===n?r:[r,n]:i._unchangedStyles[e]=[r,n]}for(const e of Array.from(s.style))""===t.style.getPropertyValue(e)&&(i.styleDiff[e]=!1)}else"open"===s&&"DIALOG"===t.tagName&&(t.matches("dialog:modal")?i.attributes.rr_open_mode="modal":i.attributes.rr_open_mode="non-modal");break}case"childList":if(hl(e.target,this.blockClass,this.blockSelector,!0))return;if("TEXTAREA"===e.target.tagName)return void this.genTextAreaValueMutation(e.target);e.addedNodes.forEach(t=>this.genAdds(t,e.target)),e.removedNodes.forEach(t=>{const s=this.mirror.getId(t),r=T(e.target)?this.mirror.getId(Qa.host(e.target)):this.mirror.getId(e.target);hl(e.target,this.blockClass,this.blockSelector,!1)||ul(t,this.mirror,this.slimDOMOptions)||!function(e,t){return-1!==t.getId(e)}(t,this.mirror)||(this.addedSet.has(t)?(Rl(this.addedSet,t),this.droppedSet.add(t)):this.addedSet.has(e.target)&&-1===s||dl(e.target,this.mirror)||(this.movedSet.has(t)&&this.movedMap[Ol(s,r)]?Rl(this.movedSet,t):(this.removes.push({parentId:r,id:s,isShadow:!(!T(e.target)||!x(e.target))||void 0}),function(e,t){const s=[e];for(;s.length;){const e=s.pop();t.has(e)||(t.add(e),Qa.childNodes(e).forEach(e=>s.push(e)))}}(t,this.removesSubTreeCache))),this.mapRemoves.push(t))})}}),d(this,"genAdds",(e,t)=>{if(!this.processedNodeManager.inOtherBuffer(e,this)&&!this.addedSet.has(e)&&!this.movedSet.has(e)){if(this.mirror.hasNode(e)){if(ul(e,this.mirror,this.slimDOMOptions))return;this.movedSet.add(e);let s=null;t&&this.mirror.hasNode(t)&&(s=this.mirror.getId(t)),s&&-1!==s&&(this.movedMap[Ol(this.mirror.getId(e),s)]=!0)}else this.addedSet.add(e),this.droppedSet.delete(e);hl(e,this.blockClass,this.blockSelector,!1)||(Qa.childNodes(e).forEach(e=>this.genAdds(e)),gl(e)&&Qa.childNodes(Qa.shadowRoot(e)).forEach(t=>{this.processedNodeManager.add(t,this),this.genAdds(t,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 Rl(e,t){e.delete(t),Qa.childNodes(t).forEach(t=>Rl(e,t))}function Pl(e,t,s){return 0!==e.size&&function(e,t){const s=Qa.parentNode(t);return!!s&&e.has(s)}(e,t)}function Dl(e,t){return 0!==e.size&&Nl(e,t)}function Nl(e,t){const s=Qa.parentNode(t);return!!s&&(!!e.has(s)||Nl(e,s))}let Ll;const Fl=e=>{if(!Ll)return e;return(...t)=>{try{return e(...t)}catch(e){if(Ll&&!0===Ll(e))return;throw e}}},Ul=[];function Bl(e){try{if("composedPath"in e){const t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function $l(e,t){const s=new Al;Ul.push(s),s.init(e);const r=new(Ja())(Fl(s.processMutations.bind(s)));return r.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),r}function zl({mouseInteractionCb:e,doc:t,mirror:s,blockClass:r,blockSelector:i,sampling:n}){if(!1===n.mouseInteraction)return()=>{};const o=!0===n.mouseInteraction||void 0===n.mouseInteraction?{}:n.mouseInteraction,a=[];let l=null;return Object.keys(kl).filter(e=>Number.isNaN(Number(e))&&!e.endsWith("_Departed")&&!1!==o[e]).forEach(n=>{let o=R(n);const c=(t=>n=>{const o=Bl(n);if(hl(o,r,i,!0))return;let a=null,c=t;if("pointerType"in n){switch(n.pointerType){case"mouse":a=Il.Mouse;break;case"touch":a=Il.Touch;break;case"pen":a=Il.Pen}a===Il.Touch?kl[t]===kl.MouseDown?c="TouchStart":kl[t]===kl.MouseUp&&(c="TouchEnd"):Il.Pen}else pl(n)&&(a=Il.Touch);null!==a?(l=a,(c.startsWith("Touch")&&a===Il.Touch||c.startsWith("Mouse")&&a===Il.Mouse)&&(a=null)):kl[t]===kl.Click&&(a=l,l=null);const h=pl(n)?n.changedTouches[0]:n;if(!h)return;const u=s.getId(o),{clientX:d,clientY:p}=h;Fl(e)({type:kl[c],id:u,x:d,y:p,...null!==a&&{pointerType:a}})})(n);if(window.PointerEvent)switch(kl[n]){case kl.MouseDown:case kl.MouseUp:o=o.replace("mouse","pointer");break;case kl.TouchStart:case kl.TouchEnd:return}a.push(el(o,c,t))}),Fl(()=>{a.forEach(e=>e())})}function jl({scrollCb:e,doc:t,mirror:s,blockClass:r,blockSelector:i,sampling:n}){return el("scroll",Fl(rl(Fl(n=>{const o=Bl(n);if(!o||hl(o,r,i,!0))return;const a=s.getId(o);if(o===t&&t.defaultView){const s=ol(t.defaultView);e({id:a,x:s.left,y:s.top})}else e({id:a,x:o.scrollLeft,y:o.scrollTop})}),n.scroll||100)),t)}const Wl=["INPUT","TEXTAREA","SELECT"],Kl=new WeakMap;function Vl(e){return function(e,t){if(ql("CSSGroupingRule")&&e.parentRule instanceof CSSGroupingRule||ql("CSSMediaRule")&&e.parentRule instanceof CSSMediaRule||ql("CSSSupportsRule")&&e.parentRule instanceof CSSSupportsRule||ql("CSSConditionRule")&&e.parentRule instanceof CSSConditionRule){const s=Array.from(e.parentRule.cssRules).indexOf(e);t.unshift(s)}else if(e.parentStyleSheet){const s=Array.from(e.parentStyleSheet.cssRules).indexOf(e);t.unshift(s)}return t}(e,[])}function Gl(e,t,s){let r,i;return e?(e.ownerNode?r=t.getId(e.ownerNode):i=s.getId(e),{styleId:i,id:r}):{}}function Hl({mirror:e,stylesheetManager:t},s){var r,i,n;let o=null;o="#document"===s.nodeName?e.getId(s):e.getId(Qa.host(s));const a="#document"===s.nodeName?null==(r=s.defaultView)?void 0:r.Document:null==(n=null==(i=s.ownerDocument)?void 0:i.defaultView)?void 0:n.ShadowRoot,l=(null==a?void 0:a.prototype)?Object.getOwnPropertyDescriptor(null==a?void 0:a.prototype,"adoptedStyleSheets"):void 0;return null!==o&&-1!==o&&a&&l?(Object.defineProperty(s,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get(){var e;return null==(e=l.get)?void 0:e.call(this)},set(e){var s;const r=null==(s=l.set)?void 0:s.call(this,e);if(null!==o&&-1!==o)try{t.adoptStyleSheets(e,o)}catch(e){}return r}}),Fl(()=>{Object.defineProperty(s,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get:l.get,set:l.set})})):()=>{}}function Yl(e,t={}){const s=e.doc.defaultView;if(!s)return()=>{};let r;!function(e,t){const{mutationCb:s,mousemoveCb:r,mouseInteractionCb:i,scrollCb:n,viewportResizeCb:o,inputCb:a,mediaInteractionCb:l,styleSheetRuleCb:c,styleDeclarationCb:h,canvasMutationCb:u,fontCb:d,selectionCb:p,customElementCb:m}=e;e.mutationCb=(...e)=>{t.mutation&&t.mutation(...e),s(...e)},e.mousemoveCb=(...e)=>{t.mousemove&&t.mousemove(...e),r(...e)},e.mouseInteractionCb=(...e)=>{t.mouseInteraction&&t.mouseInteraction(...e),i(...e)},e.scrollCb=(...e)=>{t.scroll&&t.scroll(...e),n(...e)},e.viewportResizeCb=(...e)=>{t.viewportResize&&t.viewportResize(...e),o(...e)},e.inputCb=(...e)=>{t.input&&t.input(...e),a(...e)},e.mediaInteractionCb=(...e)=>{t.mediaInteaction&&t.mediaInteaction(...e),l(...e)},e.styleSheetRuleCb=(...e)=>{t.styleSheetRule&&t.styleSheetRule(...e),c(...e)},e.styleDeclarationCb=(...e)=>{t.styleDeclaration&&t.styleDeclaration(...e),h(...e)},e.canvasMutationCb=(...e)=>{t.canvasMutation&&t.canvasMutation(...e),u(...e)},e.fontCb=(...e)=>{t.font&&t.font(...e),d(...e)},e.selectionCb=(...e)=>{t.selection&&t.selection(...e),p(...e)},e.customElementCb=(...e)=>{t.customElement&&t.customElement(...e),m(...e)}}(e,t),e.recordDOM&&(r=$l(e,e.doc));const i=function({mousemoveCb:e,sampling:t,doc:s,mirror:r}){if(!1===t.mousemove)return()=>{};const i="number"==typeof t.mousemove?t.mousemove:50,n="number"==typeof t.mousemoveCallback?t.mousemoveCallback:500;let o,a=[];const l=rl(Fl(t=>{const s=Date.now()-o;e(a.map(e=>(e.timeOffset-=s,e)),t),a=[],o=null}),n),c=Fl(rl(Fl(e=>{const t=Bl(e),{clientX:s,clientY:i}=pl(e)?e.changedTouches[0]:e;o||(o=nl()),a.push({x:s,y:i,id:r.getId(t),timeOffset:nl()-o}),l("undefined"!=typeof DragEvent&&e instanceof DragEvent?Cl.Drag:e instanceof MouseEvent?Cl.MouseMove:Cl.TouchMove)}),i,{trailing:!1})),h=[el("mousemove",c,s),el("touchmove",c,s),el("drag",c,s)];return Fl(()=>{h.forEach(e=>e())})}(e),n=zl(e),o=jl(e),a=function({viewportResizeCb:e},{win:t}){let s=-1,r=-1;return el("resize",Fl(rl(Fl(()=>{const t=al(),i=ll();s===t&&r===i||(e({width:Number(i),height:Number(t)}),s=t,r=i)}),200)),t)}(e,{win:s}),l=function({inputCb:e,doc:t,mirror:s,blockClass:r,blockSelector:i,ignoreClass:n,ignoreSelector:o,maskInputOptions:a,maskInputFn:l,sampling:c,userTriggeredOnInput:h}){function u(e){let s=Bl(e);const c=e.isTrusted,u=s&&s.tagName;if(s&&"OPTION"===u&&(s=Qa.parentElement(s)),!s||!u||Wl.indexOf(u)<0||hl(s,r,i,!0))return;if(s.classList.contains(n)||o&&s.matches(o))return;let p=s.value,m=!1;const f=D(s)||"";"radio"===f||"checkbox"===f?m=s.checked:(a[u.toLowerCase()]||a[f])&&(p=A({element:s,maskInputOptions:a,tagName:u,type:f,value:p,maskInputFn:l})),d(s,h?{text:p,isChecked:m,userTriggered:c}:{text:p,isChecked:m});const g=s.name;"radio"===f&&g&&m&&t.querySelectorAll(`input[type="radio"][name="${g}"]`).forEach(e=>{if(e!==s){const t=e.value;d(e,h?{text:t,isChecked:!m,userTriggered:!1}:{text:t,isChecked:!m})}})}function d(t,r){const i=Kl.get(t);if(!i||i.text!==r.text||i.isChecked!==r.isChecked){Kl.set(t,r);const i=s.getId(t);Fl(e)({...r,id:i})}}const p=("last"===c.input?["change"]:["input","change"]).map(e=>el(e,Fl(u),t)),m=t.defaultView;if(!m)return()=>{p.forEach(e=>e())};const f=m.Object.getOwnPropertyDescriptor(m.HTMLInputElement.prototype,"value"),g=[[m.HTMLInputElement.prototype,"value"],[m.HTMLInputElement.prototype,"checked"],[m.HTMLSelectElement.prototype,"value"],[m.HTMLTextAreaElement.prototype,"value"],[m.HTMLSelectElement.prototype,"selectedIndex"],[m.HTMLOptionElement.prototype,"selected"]];return f&&f.set&&p.push(...g.map(e=>il(e[0],e[1],{set(){Fl(u)({target:this,isTrusted:!1})}},!1,m))),Fl(()=>{p.forEach(e=>e())})}(e),c=function({mediaInteractionCb:e,blockClass:t,blockSelector:s,mirror:r,sampling:i,doc:n}){const o=Fl(n=>rl(Fl(i=>{const o=Bl(i);if(!o||hl(o,t,s,!0))return;const{currentTime:a,volume:l,muted:c,playbackRate:h,loop:u}=o;e({type:n,id:r.getId(o),currentTime:a,volume:l,muted:c,playbackRate:h,loop:u})}),i.media||500)),a=[el("play",o(Tl.Play),n),el("pause",o(Tl.Pause),n),el("seeked",o(Tl.Seeked),n),el("volumechange",o(Tl.VolumeChange),n),el("ratechange",o(Tl.RateChange),n)];return Fl(()=>{a.forEach(e=>e())})}(e);let h=()=>{},u=()=>{},d=()=>{},p=()=>{};e.recordDOM&&(h=function({styleSheetRuleCb:e,mirror:t,stylesheetManager:s},{win:r}){if(!r.CSSStyleSheet||!r.CSSStyleSheet.prototype)return()=>{};const i=r.CSSStyleSheet.prototype.insertRule;r.CSSStyleSheet.prototype.insertRule=new Proxy(i,{apply:Fl((r,i,n)=>{const[o,a]=n,{id:l,styleId:c}=Gl(i,t,s.styleMirror);return(l&&-1!==l||c&&-1!==c)&&e({id:l,styleId:c,adds:[{rule:o,index:a}]}),r.apply(i,n)})}),r.CSSStyleSheet.prototype.addRule=function(e,t,s=this.cssRules.length){const i=`${e} { ${t} }`;return r.CSSStyleSheet.prototype.insertRule.apply(this,[i,s])};const n=r.CSSStyleSheet.prototype.deleteRule;let o,a;r.CSSStyleSheet.prototype.deleteRule=new Proxy(n,{apply:Fl((r,i,n)=>{const[o]=n,{id:a,styleId:l}=Gl(i,t,s.styleMirror);return(a&&-1!==a||l&&-1!==l)&&e({id:a,styleId:l,removes:[{index:o}]}),r.apply(i,n)})}),r.CSSStyleSheet.prototype.removeRule=function(e){return r.CSSStyleSheet.prototype.deleteRule.apply(this,[e])},r.CSSStyleSheet.prototype.replace&&(o=r.CSSStyleSheet.prototype.replace,r.CSSStyleSheet.prototype.replace=new Proxy(o,{apply:Fl((r,i,n)=>{const[o]=n,{id:a,styleId:l}=Gl(i,t,s.styleMirror);return(a&&-1!==a||l&&-1!==l)&&e({id:a,styleId:l,replace:o}),r.apply(i,n)})})),r.CSSStyleSheet.prototype.replaceSync&&(a=r.CSSStyleSheet.prototype.replaceSync,r.CSSStyleSheet.prototype.replaceSync=new Proxy(a,{apply:Fl((r,i,n)=>{const[o]=n,{id:a,styleId:l}=Gl(i,t,s.styleMirror);return(a&&-1!==a||l&&-1!==l)&&e({id:a,styleId:l,replaceSync:o}),r.apply(i,n)})}));const l={};Zl("CSSGroupingRule")?l.CSSGroupingRule=r.CSSGroupingRule:(Zl("CSSMediaRule")&&(l.CSSMediaRule=r.CSSMediaRule),Zl("CSSConditionRule")&&(l.CSSConditionRule=r.CSSConditionRule),Zl("CSSSupportsRule")&&(l.CSSSupportsRule=r.CSSSupportsRule));const c={};return Object.entries(l).forEach(([r,i])=>{c[r]={insertRule:i.prototype.insertRule,deleteRule:i.prototype.deleteRule},i.prototype.insertRule=new Proxy(c[r].insertRule,{apply:Fl((r,i,n)=>{const[o,a]=n,{id:l,styleId:c}=Gl(i.parentStyleSheet,t,s.styleMirror);return(l&&-1!==l||c&&-1!==c)&&e({id:l,styleId:c,adds:[{rule:o,index:[...Vl(i),a||0]}]}),r.apply(i,n)})}),i.prototype.deleteRule=new Proxy(c[r].deleteRule,{apply:Fl((r,i,n)=>{const[o]=n,{id:a,styleId:l}=Gl(i.parentStyleSheet,t,s.styleMirror);return(a&&-1!==a||l&&-1!==l)&&e({id:a,styleId:l,removes:[{index:[...Vl(i),o]}]}),r.apply(i,n)})})}),Fl(()=>{r.CSSStyleSheet.prototype.insertRule=i,r.CSSStyleSheet.prototype.deleteRule=n,o&&(r.CSSStyleSheet.prototype.replace=o),a&&(r.CSSStyleSheet.prototype.replaceSync=a),Object.entries(l).forEach(([e,t])=>{t.prototype.insertRule=c[e].insertRule,t.prototype.deleteRule=c[e].deleteRule})})}(e,{win:s}),u=Hl(e,e.doc),d=function({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:s,stylesheetManager:r},{win:i}){const n=i.CSSStyleDeclaration.prototype.setProperty;i.CSSStyleDeclaration.prototype.setProperty=new Proxy(n,{apply:Fl((i,o,a)=>{var l;const[c,h,u]=a;if(s.has(c))return n.apply(o,[c,h,u]);const{id:d,styleId:p}=Gl(null==(l=o.parentRule)?void 0:l.parentStyleSheet,t,r.styleMirror);return(d&&-1!==d||p&&-1!==p)&&e({id:d,styleId:p,set:{property:c,value:h,priority:u},index:Vl(o.parentRule)}),i.apply(o,a)})});const o=i.CSSStyleDeclaration.prototype.removeProperty;return i.CSSStyleDeclaration.prototype.removeProperty=new Proxy(o,{apply:Fl((i,n,a)=>{var l;const[c]=a;if(s.has(c))return o.apply(n,[c]);const{id:h,styleId:u}=Gl(null==(l=n.parentRule)?void 0:l.parentStyleSheet,t,r.styleMirror);return(h&&-1!==h||u&&-1!==u)&&e({id:h,styleId:u,remove:{property:c},index:Vl(n.parentRule)}),i.apply(n,a)})}),Fl(()=>{i.CSSStyleDeclaration.prototype.setProperty=n,i.CSSStyleDeclaration.prototype.removeProperty=o})}(e,{win:s}),e.collectFonts&&(p=function({fontCb:e,doc:t}){const s=t.defaultView;if(!s)return()=>{};const r=[],i=new WeakMap,n=s.FontFace;s.FontFace=function(e,t,s){const r=new n(e,t,s);return i.set(r,{family:e,buffer:"string"!=typeof t,descriptors:s,fontSource:"string"==typeof t?t:JSON.stringify(Array.from(new Uint8Array(t)))}),r};const o=Xa(t.fonts,"add",function(t){return function(s){return setTimeout(Fl(()=>{const t=i.get(s);t&&(e(t),i.delete(s))}),0),t.apply(this,[s])}});return r.push(()=>{s.FontFace=n}),r.push(o),Fl(()=>{r.forEach(e=>e())})}(e)));const m=function(e){const{doc:t,mirror:s,blockClass:r,blockSelector:i,selectionCb:n}=e;let o=!0;const a=Fl(()=>{const e=t.getSelection();if(!e||o&&(null==e?void 0:e.isCollapsed))return;o=e.isCollapsed||!1;const a=[],l=e.rangeCount||0;for(let t=0;t<l;t++){const n=e.getRangeAt(t),{startContainer:o,startOffset:l,endContainer:c,endOffset:h}=n;hl(o,r,i,!0)||hl(c,r,i,!0)||a.push({start:s.getId(o),startOffset:l,end:s.getId(c),endOffset:h})}n({ranges:a})});return a(),el("selectionchange",a)}(e),f=function({doc:e,customElementCb:t}){const s=e.defaultView;return s&&s.customElements?Xa(s.customElements,"define",function(e){return function(s,r,i){try{t({define:{name:s}})}catch(e){console.warn(`Custom element callback failed for ${s}`)}return e.apply(this,[s,r,i])}}):()=>{}}(e),g=[];for(const t of e.plugins)g.push(t.observer(t.callback,s,t.options));return Fl(()=>{Ul.forEach(e=>e.reset()),null==r||r.disconnect(),i(),n(),o(),a(),l(),c(),h(),u(),d(),p(),m(),f(),g.forEach(e=>e())})}function ql(e){return void 0!==window[e]}function Zl(e){return Boolean(void 0!==window[e]&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}class Jl{constructor(e){d(this,"iframeIdToRemoteIdMap",new WeakMap),d(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=e}getId(e,t,s,r){const i=s||this.getIdToRemoteIdMap(e),n=r||this.getRemoteIdToIdMap(e);let o=i.get(t);return o||(o=this.generateIdFn(),i.set(t,o),n.set(o,t)),o}getIds(e,t){const s=this.getIdToRemoteIdMap(e),r=this.getRemoteIdToIdMap(e);return t.map(t=>this.getId(e,t,s,r))}getRemoteId(e,t,s){const r=s||this.getRemoteIdToIdMap(e);if("number"!=typeof t)return t;const i=r.get(t);return i||-1}getRemoteIds(e,t){const s=this.getRemoteIdToIdMap(e);return t.map(t=>this.getRemoteId(e,t,s))}reset(e){if(!e)return this.iframeIdToRemoteIdMap=new WeakMap,void(this.iframeRemoteIdToIdMap=new WeakMap);this.iframeIdToRemoteIdMap.delete(e),this.iframeRemoteIdToIdMap.delete(e)}getIdToRemoteIdMap(e){let t=this.iframeIdToRemoteIdMap.get(e);return t||(t=new Map,this.iframeIdToRemoteIdMap.set(e,t)),t}getRemoteIdToIdMap(e){let t=this.iframeRemoteIdToIdMap.get(e);return t||(t=new Map,this.iframeRemoteIdToIdMap.set(e,t)),t}}class Xl{constructor(e){d(this,"iframes",new WeakMap),d(this,"crossOriginIframeMap",new WeakMap),d(this,"crossOriginIframeMirror",new Jl(V)),d(this,"crossOriginIframeStyleMirror"),d(this,"crossOriginIframeRootIdMap",new WeakMap),d(this,"mirror"),d(this,"mutationCb"),d(this,"wrappedEmit"),d(this,"loadListener"),d(this,"stylesheetManager"),d(this,"recordCrossOriginIframes"),this.mutationCb=e.mutationCb,this.wrappedEmit=e.wrappedEmit,this.stylesheetManager=e.stylesheetManager,this.recordCrossOriginIframes=e.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Jl(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 s,r;this.mutationCb({adds:[{parentId:this.mirror.getId(e),nextId:null,node:t}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&(null==(s=e.contentWindow)||s.addEventListener("message",this.handleMessage.bind(this))),null==(r=this.loadListener)||r.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){const t=e;if("rrweb"!==t.data.type||t.origin!==t.data.origin)return;if(!e.source)return;const s=this.crossOriginIframeMap.get(e.source);if(!s)return;const r=this.transformCrossOriginEvent(s,t.data.event);r&&this.wrappedEmit(r,t.data.isCheckout)}transformCrossOriginEvent(e,t){var s;switch(t.type){case bl.FullSnapshot:{this.crossOriginIframeMirror.reset(e),this.crossOriginIframeStyleMirror.reset(e),this.replaceIdOnNode(t.data.node,e);const s=t.data.node.id;return this.crossOriginIframeRootIdMap.set(e,s),this.patchRootIdOnNode(t.data.node,s),{timestamp:t.timestamp,type:bl.IncrementalSnapshot,data:{source:Cl.Mutation,adds:[{parentId:this.mirror.getId(e),nextId:null,node:t.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case bl.Meta:case bl.Load:case bl.DomContentLoaded:return!1;case bl.Plugin:return t;case bl.Custom:return this.replaceIds(t.data.payload,e,["id","parentId","previousId","nextId"]),t;case bl.IncrementalSnapshot:switch(t.data.source){case Cl.Mutation:return t.data.adds.forEach(t=>{this.replaceIds(t,e,["parentId","nextId","previousId"]),this.replaceIdOnNode(t.node,e);const s=this.crossOriginIframeRootIdMap.get(e);s&&this.patchRootIdOnNode(t.node,s)}),t.data.removes.forEach(t=>{this.replaceIds(t,e,["parentId","id"])}),t.data.attributes.forEach(t=>{this.replaceIds(t,e,["id"])}),t.data.texts.forEach(t=>{this.replaceIds(t,e,["id"])}),t;case Cl.Drag:case Cl.TouchMove:case Cl.MouseMove:return t.data.positions.forEach(t=>{this.replaceIds(t,e,["id"])}),t;case Cl.ViewportResize:return!1;case Cl.MediaInteraction:case Cl.MouseInteraction:case Cl.Scroll:case Cl.CanvasMutation:case Cl.Input:return this.replaceIds(t.data,e,["id"]),t;case Cl.StyleSheetRule:case Cl.StyleDeclaration:return this.replaceIds(t.data,e,["id"]),this.replaceStyleIds(t.data,e,["styleId"]),t;case Cl.Font:return t;case Cl.Selection:return t.data.ranges.forEach(t=>{this.replaceIds(t,e,["start","end"])}),t;case Cl.AdoptedStyleSheet:return this.replaceIds(t.data,e,["id"]),this.replaceStyleIds(t.data,e,["styleIds"]),null==(s=t.data.styles)||s.forEach(t=>{this.replaceStyleIds(t,e,["styleId"])}),t}}return!1}replace(e,t,s,r){for(const i of r)(Array.isArray(t[i])||"number"==typeof t[i])&&(Array.isArray(t[i])?t[i]=e.getIds(s,t[i]):t[i]=e.getId(s,t[i]));return t}replaceIds(e,t,s){return this.replace(this.crossOriginIframeMirror,e,t,s)}replaceStyleIds(e,t,s){return this.replace(this.crossOriginIframeStyleMirror,e,t,s)}replaceIdOnNode(e,t){this.replaceIds(e,t,["id","rootId"]),"childNodes"in e&&e.childNodes.forEach(e=>{this.replaceIdOnNode(e,t)})}patchRootIdOnNode(e,t){e.type===xl.Document||e.rootId||(e.rootId=t),"childNodes"in e&&e.childNodes.forEach(e=>{this.patchRootIdOnNode(e,t)})}}class Ql{constructor(e){d(this,"shadowDoms",new WeakSet),d(this,"mutationCb"),d(this,"scrollCb"),d(this,"bypassOptions"),d(this,"mirror"),d(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(!x(e))return;if(this.shadowDoms.has(e))return;this.shadowDoms.add(e);const s=$l({...this.bypassOptions,doc:t,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},e);this.restoreHandlers.push(()=>s.disconnect()),this.restoreHandlers.push(jl({...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(Qa.host(e))),this.restoreHandlers.push(Hl({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){const s=this;this.restoreHandlers.push(Xa(e.prototype,"attachShadow",function(e){return function(r){const i=e.call(this,r),n=Qa.shadowRoot(this);return n&&Sl(this)&&s.addShadowRoot(n,t),i}}))}reset(){this.restoreHandlers.forEach(e=>{try{e()}catch(e){}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}}for(var ec="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tc="undefined"==typeof Uint8Array?[]:new Uint8Array(256),sc=0;sc<64;sc++)tc[ec.charCodeAt(sc)]=sc;const rc=new Map;const ic=(e,t,s)=>{if(!e||!ac(e,t)&&"object"!=typeof e)return;const r=function(e,t){let s=rc.get(e);return s||(s=new Map,rc.set(e,s)),s.has(t)||s.set(t,[]),s.get(t)}(s,e.constructor.name);let i=r.indexOf(e);return-1===i&&(i=r.length,r.push(e)),i};function nc(e,t,s){if(e instanceof Array)return e.map(e=>nc(e,t,s));if(null===e)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray){return{rr_type:e.constructor.name,args:[Object.values(e)]}}if(e instanceof ArrayBuffer){return{rr_type:e.constructor.name,base64:function(e){var t,s=new Uint8Array(e),r=s.length,i="";for(t=0;t<r;t+=3)i+=ec[s[t]>>2],i+=ec[(3&s[t])<<4|s[t+1]>>4],i+=ec[(15&s[t+1])<<2|s[t+2]>>6],i+=ec[63&s[t+2]];return r%3==2?i=i.substring(0,i.length-1)+"=":r%3==1&&(i=i.substring(0,i.length-2)+"=="),i}(e)}}if(e instanceof DataView){return{rr_type:e.constructor.name,args:[nc(e.buffer,t,s),e.byteOffset,e.byteLength]}}if(e instanceof HTMLImageElement){const t=e.constructor.name,{src:s}=e;return{rr_type:t,src:s}}if(e instanceof HTMLCanvasElement){return{rr_type:"HTMLImageElement",src:e.toDataURL()}}if(e instanceof ImageData){return{rr_type:e.constructor.name,args:[nc(e.data,t,s),e.width,e.height]}}if(ac(e,t)||"object"==typeof e){return{rr_type:e.constructor.name,index:ic(e,t,s)}}return e}const oc=(e,t,s)=>e.map(e=>nc(e,t,s)),ac=(e,t)=>{const s=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(e=>"function"==typeof t[e]);return Boolean(s.find(s=>e instanceof t[s]))};function lc(e,t,s,r){const i=[];try{const n=Xa(e.HTMLCanvasElement.prototype,"getContext",function(e){return function(i,...n){if(!hl(this,t,s,!0)){const e=function(e){return"experimental-webgl"===e?"webgl":e}(i);if("__context"in this||(this.__context=e),r&&["webgl","webgl2"].includes(e))if(n[0]&&"object"==typeof n[0]){const e=n[0];e.preserveDrawingBuffer||(e.preserveDrawingBuffer=!0)}else n.splice(0,1,{preserveDrawingBuffer:!0})}return e.apply(this,[i,...n])}});i.push(n)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{i.forEach(e=>e())}}function cc(e,t,s,r,i,n){const o=[],a=Object.getOwnPropertyNames(e);for(const l of a)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(l))try{if("function"!=typeof e[l])continue;const a=Xa(e,l,function(e){return function(...o){const a=e.apply(this,o);if(ic(a,n,this),"tagName"in this.canvas&&!hl(this.canvas,r,i,!0)){const e=oc(o,n,this),r={type:t,property:l,args:e};s(this.canvas,r)}return a}});o.push(a)}catch{const r=il(e,l,{set(e){s(this.canvas,{type:t,property:l,args:[e],setter:!0})}});o.push(r)}return o}const hc="KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=",uc="undefined"!=typeof window&&window.Blob&&new Blob([(dc=hc,Uint8Array.from(atob(dc),e=>e.charCodeAt(0)))],{type:"text/javascript;charset=utf-8"});var dc;function pc(e){let t;try{if(t=uc&&(window.URL||window.webkitURL).createObjectURL(uc),!t)throw"";const s=new Worker(t,{name:null==e?void 0:e.name});return s.addEventListener("error",()=>{(window.URL||window.webkitURL).revokeObjectURL(t)}),s}catch(t){return new Worker("data:text/javascript;base64,"+hc,{name:null==e?void 0:e.name})}finally{t&&(window.URL||window.webkitURL).revokeObjectURL(t)}}class mc{constructor(e){d(this,"pendingCanvasMutations",new Map),d(this,"rafStamps",{latestId:0,invokeId:null}),d(this,"mirror"),d(this,"mutationCb"),d(this,"resetObservers"),d(this,"frozen",!1),d(this,"locked",!1),d(this,"processMutation",(e,t)=>{!(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId)&&this.rafStamps.invokeId||(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(e)||this.pendingCanvasMutations.set(e,[]),this.pendingCanvasMutations.get(e).push(t)});const{sampling:t="all",win:s,blockClass:r,blockSelector:i,recordCanvas:n,dataURLOptions:o}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,n&&"all"===t&&this.initCanvasMutationObserver(s,r,i),n&&"number"==typeof t&&this.initCanvasFPSObserver(t,s,r,i,{dataURLOptions:o})}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,s,r,i){const n=lc(t,s,r,!0),o=new Map,a=new pc;a.onmessage=e=>{const{id:t}=e.data;if(o.set(t,!1),!("base64"in e.data))return;const{base64:s,type:r,width:i,height:n}=e.data;this.mutationCb({id:t,type:El["2D"],commands:[{property:"clearRect",args:[0,0,i,n]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:s}],type:r}]},0,0]}]})};const l=1e3/e;let c,h=0;const u=e=>{h&&e-h<l||(h=e,(()=>{const e=[];return t.document.querySelectorAll("canvas").forEach(t=>{hl(t,s,r,!0)||e.push(t)}),e})().forEach(async e=>{var t;const s=this.mirror.getId(e);if(o.get(s))return;if(0===e.width||0===e.height)return;if(o.set(s,!0),["webgl","webgl2"].includes(e.__context)){const s=e.getContext(e.__context);!1===(null==(t=null==s?void 0:s.getContextAttributes())?void 0:t.preserveDrawingBuffer)&&s.clear(s.COLOR_BUFFER_BIT)}const r=await createImageBitmap(e);a.postMessage({id:s,bitmap:r,width:e.width,height:e.height,dataURLOptions:i.dataURLOptions},[r])})),c=requestAnimationFrame(u)};c=requestAnimationFrame(u),this.resetObservers=()=>{n(),cancelAnimationFrame(c)}}initCanvasMutationObserver(e,t,s){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const r=lc(e,t,s,!1),i=function(e,t,s,r){const i=[],n=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(const o of n)try{if("function"!=typeof t.CanvasRenderingContext2D.prototype[o])continue;const n=Xa(t.CanvasRenderingContext2D.prototype,o,function(i){return function(...n){return hl(this.canvas,s,r,!0)||setTimeout(()=>{const s=oc(n,t,this);e(this.canvas,{type:El["2D"],property:o,args:s})},0),i.apply(this,n)}});i.push(n)}catch{const s=il(t.CanvasRenderingContext2D.prototype,o,{set(t){e(this.canvas,{type:El["2D"],property:o,args:[t],setter:!0})}});i.push(s)}return()=>{i.forEach(e=>e())}}(this.processMutation.bind(this),e,t,s),n=function(e,t,s,r){const i=[];return i.push(...cc(t.WebGLRenderingContext.prototype,El.WebGL,e,s,r,t)),void 0!==t.WebGL2RenderingContext&&i.push(...cc(t.WebGL2RenderingContext.prototype,El.WebGL2,e,s,r,t)),()=>{i.forEach(e=>e())}}(this.processMutation.bind(this),e,t,s);this.resetObservers=()=>{r(),i(),n()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const e=t=>{this.rafStamps.latestId=t,requestAnimationFrame(e)};requestAnimationFrame(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,t)=>{const s=this.mirror.getId(t);this.flushPendingCanvasMutationFor(t,s)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(e,t){if(this.frozen||this.locked)return;const s=this.pendingCanvasMutations.get(e);if(!s||-1===t)return;const r=s.map(e=>{const{type:t,...s}=e;return s}),{type:i}=s[0];this.mutationCb({id:t,type:i,commands:r}),this.pendingCanvasMutations.delete(e)}}class fc{constructor(e){d(this,"trackedLinkElements",new WeakSet),d(this,"mutationCb"),d(this,"adoptedStyleSheetCb"),d(this,"styleMirror",new yl),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(0===e.length)return;const s={id:t,styleIds:[]},r=[];for(const t of e){let e;this.styleMirror.has(t)?e=this.styleMirror.getId(t):(e=this.styleMirror.add(t),r.push({styleId:e,rules:Array.from(t.rules||CSSRule,(e,s)=>({rule:_(e,t.href),index:s}))})),s.styleIds.push(e)}r.length>0&&(s.styles=r),this.adoptedStyleSheetCb(s)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(e){}}class gc{constructor(){d(this,"nodeMap",new WeakMap),d(this,"active",!1)}inOtherBuffer(e,t){const s=this.nodeMap.get(e);return s&&Array.from(s).some(e=>e!==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(){}}let yc,wc,vc,Sc=!1;try{if(2!==Array.from([1],e=>2*e)[0]){const e=document.createElement("iframe");document.body.appendChild(e),Array.from=(null==(h=e.contentWindow)?void 0:h.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}const bc=new O;function Cc(e={}){const{emit:t,checkoutEveryNms:s,checkoutEveryNth:r,blockClass:i="rr-block",blockSelector:n=null,ignoreClass:o="rr-ignore",ignoreSelector:a=null,maskTextClass:l="rr-mask",maskTextSelector:c=null,inlineStylesheet:h=!0,maskAllInputs:u,maskInputOptions:d,slimDOMOptions:p,maskInputFn:m,maskTextFn:f,hooks:g,packFn:y,sampling:w={},dataURLOptions:v={},mousemoveWait:S,recordDOM:b=!0,recordCanvas:C=!1,recordCrossOriginIframes:k=!1,recordAfter:I=("DOMContentLoaded"===e.recordAfter?e.recordAfter:"load"),userTriggeredOnInput:E=!1,collectFonts:T=!1,inlineImages:x=!1,plugins:M,keepIframeSrcFn:_=()=>!1,ignoreCSSAttributes:A=new Set([]),errorHandler:R}=e;Ll=R;const P=!k||window.parent===window;let D=!1;if(!P)try{window.parent.document&&(D=!1)}catch(e){D=!0}if(P&&!t)throw new Error("emit function is required");if(!P&&!D)return()=>{};void 0!==S&&void 0===w.mousemove&&(w.mousemove=S),bc.reset();const N=!0===u?{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}:void 0!==d?d:{password:!0},L=oe(p);let F;!function(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}();let U=0;const B=e=>{for(const t of M||[])t.eventProcessor&&(e=t.eventProcessor(e));return y&&!D&&(e=y(e)),e};yc=(e,i)=>{var n;const o=e;if(o.timestamp=nl(),!(null==(n=Ul[0])?void 0:n.isFrozen())||o.type===bl.FullSnapshot||o.type===bl.IncrementalSnapshot&&o.data.source===Cl.Mutation||Ul.forEach(e=>e.unfreeze()),P)null==t||t(B(o),i);else if(D){const e={type:"rrweb",event:B(o),origin:window.location.origin,isCheckout:i};window.parent.postMessage(e,"*")}if(o.type===bl.FullSnapshot)F=o,U=0;else if(o.type===bl.IncrementalSnapshot){if(o.data.source===Cl.Mutation&&o.data.isAttachIframe)return;U++;const e=r&&U>=r,t=s&&o.timestamp-F.timestamp>s;(e||t)&&wc(!0)}};const $=e=>{yc({type:bl.IncrementalSnapshot,data:{source:Cl.Mutation,...e}})},z=e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.Scroll,...e}}),j=e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.CanvasMutation,...e}}),W=new fc({mutationCb:$,adoptedStyleSheetCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.AdoptedStyleSheet,...e}})}),K=new Xl({mirror:bc,mutationCb:$,stylesheetManager:W,recordCrossOriginIframes:k,wrappedEmit:yc});for(const e of M||[])e.getMirror&&e.getMirror({nodeMirror:bc,crossOriginIframeMirror:K.crossOriginIframeMirror,crossOriginIframeStyleMirror:K.crossOriginIframeStyleMirror});const V=new gc;vc=new mc({recordCanvas:C,mutationCb:j,win:window,blockClass:i,blockSelector:n,mirror:bc,sampling:w.canvas,dataURLOptions:v});const G=new Ql({mutationCb:$,scrollCb:z,bypassOptions:{blockClass:i,blockSelector:n,maskTextClass:l,maskTextSelector:c,inlineStylesheet:h,maskInputOptions:N,dataURLOptions:v,maskTextFn:f,maskInputFn:m,recordCanvas:C,inlineImages:x,sampling:w,slimDOMOptions:L,iframeManager:K,stylesheetManager:W,canvasManager:vc,keepIframeSrcFn:_,processedNodeManager:V},mirror:bc});wc=(e=!1)=>{if(!b)return;yc({type:bl.Meta,data:{href:window.location.href,width:ll(),height:al()}},e),W.reset(),G.init(),Ul.forEach(e=>e.lock());const t=function(e,t){const{mirror:s=new O,blockClass:r="rr-block",blockSelector:i=null,maskTextClass:n="rr-mask",maskTextSelector:o=null,inlineStylesheet:a=!0,inlineImages:l=!1,recordCanvas:c=!1,maskAllInputs:h=!1,maskTextFn:u,maskInputFn:d,slimDOM:p=!1,dataURLOptions:m,preserveWhiteSpace:f,onSerialize:g,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:v,stylesheetLoadTimeout:S,keepIframeSrcFn:b=()=>!1}=t||{};return ae(e,{doc:e,mirror:s,blockClass:r,blockSelector:i,maskTextClass:n,maskTextSelector:o,skipChild:!1,inlineStylesheet:a,maskInputOptions:!0===h?{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}:!1===h?{password:!0}:h,maskTextFn:u,maskInputFn:d,slimDOMOptions:oe(p),dataURLOptions:m,inlineImages:l,recordCanvas:c,preserveWhiteSpace:f,onSerialize:g,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:v,stylesheetLoadTimeout:S,keepIframeSrcFn:b,newlyAddedElement:!1})}(document,{mirror:bc,blockClass:i,blockSelector:n,maskTextClass:l,maskTextSelector:c,inlineStylesheet:h,maskAllInputs:N,maskTextFn:f,maskInputFn:m,slimDOM:L,dataURLOptions:v,recordCanvas:C,inlineImages:x,onSerialize:e=>{ml(e,bc)&&K.addIframe(e),fl(e,bc)&&W.trackLinkElement(e),gl(e)&&G.addShadowRoot(Qa.shadowRoot(e),document)},onIframeLoad:(e,t)=>{K.attachIframe(e,t),G.observeAttachShadow(e)},onStylesheetLoad:(e,t)=>{W.attachLinkElement(e,t)},keepIframeSrcFn:_});if(!t)return console.warn("Failed to snapshot the document");yc({type:bl.FullSnapshot,data:{node:t,initialOffset:ol(window)}},e),Ul.forEach(e=>e.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&W.adoptStyleSheets(document.adoptedStyleSheets,bc.getId(document))};try{const e=[],t=e=>{var t;return Fl(Yl)({mutationCb:$,mousemoveCb:(e,t)=>yc({type:bl.IncrementalSnapshot,data:{source:t,positions:e}}),mouseInteractionCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.MouseInteraction,...e}}),scrollCb:z,viewportResizeCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.ViewportResize,...e}}),inputCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.Input,...e}}),mediaInteractionCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.MediaInteraction,...e}}),styleSheetRuleCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.StyleSheetRule,...e}}),styleDeclarationCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.StyleDeclaration,...e}}),canvasMutationCb:j,fontCb:e=>yc({type:bl.IncrementalSnapshot,data:{source:Cl.Font,...e}}),selectionCb:e=>{yc({type:bl.IncrementalSnapshot,data:{source:Cl.Selection,...e}})},customElementCb:e=>{yc({type:bl.IncrementalSnapshot,data:{source:Cl.CustomElement,...e}})},blockClass:i,ignoreClass:o,ignoreSelector:a,maskTextClass:l,maskTextSelector:c,maskInputOptions:N,inlineStylesheet:h,sampling:w,recordDOM:b,recordCanvas:C,inlineImages:x,userTriggeredOnInput:E,collectFonts:T,doc:e,maskInputFn:m,maskTextFn:f,keepIframeSrcFn:_,blockSelector:n,slimDOMOptions:L,dataURLOptions:v,mirror:bc,iframeManager:K,stylesheetManager:W,shadowDomManager:G,processedNodeManager:V,canvasManager:vc,ignoreCSSAttributes:A,plugins:(null==(t=null==M?void 0:M.filter(e=>e.observer))?void 0:t.map(e=>({observer:e.observer,options:e.options,callback:t=>yc({type:bl.Plugin,data:{plugin:e.name,payload:t}})})))||[]},g)};K.addLoadListener(s=>{try{e.push(t(s.contentDocument))}catch(e){console.warn(e)}});const s=()=>{wc(),e.push(t(document)),Sc=!0};return["interactive","complete"].includes(document.readyState)?s():(e.push(el("DOMContentLoaded",()=>{yc({type:bl.DomContentLoaded,data:{}}),"DOMContentLoaded"===I&&s()})),e.push(el("load",()=>{yc({type:bl.Load,data:{}}),"load"===I&&s()},window))),()=>{e.forEach(e=>{try{e()}catch(e){String(e).toLowerCase().includes("cross-origin")||console.warn(e)}}),V.destroy(),Sc=!1,Ll=void 0}}catch(e){console.warn(e)}}var kc,Ic;Cc.addCustomEvent=(e,t)=>{if(!Sc)throw new Error("please add custom event after start recording");yc({type:bl.Custom,data:{tag:e,payload:t}})},Cc.freezePage=()=>{Ul.forEach(e=>e.freeze())},Cc.takeFullSnapshot=e=>{if(!Sc)throw new Error("please take full snapshot after start recording");wc(e)},Cc.mirror=bc,(Ic=kc||(kc={}))[Ic.NotStarted=0]="NotStarted",Ic[Ic.Running=1]="Running",Ic[Ic.Stopped=2]="Stopped";const Ec=[];for(let e=0;e<256;++e)Ec.push((e+256).toString(16).slice(1));let Tc;const xc=new Uint8Array(16);const Mc={};function _c(e,t,s){let r;{const e=Date.now(),i=function(){if(!Tc){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Tc=crypto.getRandomValues.bind(crypto)}return Tc(xc)}();!function(e,t,s){e.msecs??=-1/0,e.nsecs??=0,t===e.msecs?(e.nsecs++,e.nsecs>=1e4&&(e.node=void 0,e.nsecs=0)):t>e.msecs?e.nsecs=0:t<e.msecs&&(e.node=void 0);e.node||(e.node=s.slice(10,16),e.node[0]|=1,e.clockseq=16383&(s[8]<<8|s[9]));e.msecs=t}(Mc,e,i),r=function(e,t,s,r,i,n,o=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(n){if(o<0||o+16>n.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`)}else n=new Uint8Array(16),o=0;t??=Date.now(),s??=0,r??=16383&(e[8]<<8|e[9]),i??=e.slice(10,16);const a=(1e4*(268435455&(t+=122192928e5))+s)%4294967296;n[o++]=a>>>24&255,n[o++]=a>>>16&255,n[o++]=a>>>8&255,n[o++]=255&a;const l=t/4294967296*1e4&268435455;n[o++]=l>>>8&255,n[o++]=255&l,n[o++]=l>>>24&15|16,n[o++]=l>>>16&255,n[o++]=r>>>8|128,n[o++]=255&r;for(let e=0;e<6;++e)n[o++]=i[e];return n}(i,Mc.msecs,Mc.nsecs,Mc.clockseq,Mc.node,t,s)}return t??function(e,t=0){return(Ec[e[t+0]]+Ec[e[t+1]]+Ec[e[t+2]]+Ec[e[t+3]]+"-"+Ec[e[t+4]]+Ec[e[t+5]]+"-"+Ec[e[t+6]]+Ec[e[t+7]]+"-"+Ec[e[t+8]]+Ec[e[t+9]]+"-"+Ec[e[t+10]]+Ec[e[t+11]]+Ec[e[t+12]]+Ec[e[t+13]]+Ec[e[t+14]]+Ec[e[t+15]]).toLowerCase()}(r)}var Oc,Ac;(Ac=Oc||(Oc={}))[Ac.NONE=0]="NONE",Ac[Ac.ERROR=1]="ERROR",Ac[Ac.WARN=2]="WARN",Ac[Ac.INFO=3]="INFO",Ac[Ac.DEBUG=4]="DEBUG";const Rc=new class{constructor(e){this.config={level:Oc.ERROR,enableConsole:!0,enableStorage:!1},this.isBrowser="undefined"!=typeof window,e&&(this.config={...this.config,...e})}setConfig(e){this.config={...this.config,...e}}shouldLog(e){return e<=this.config.level}formatMessage(e,t,...s){return`[HumanBehavior ${e}] ${(new Date).toISOString()}: ${t}`}error(e,...t){if(!this.shouldLog(Oc.ERROR))return;const s=this.formatMessage("ERROR",e);this.config.enableConsole&&console.error(s,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(s,t)}warn(e,...t){if(!this.shouldLog(Oc.WARN))return;const s=this.formatMessage("WARN",e);this.config.enableConsole&&console.warn(s,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(s,t)}info(e,...t){if(!this.shouldLog(Oc.INFO))return;const s=this.formatMessage("INFO",e);this.config.enableConsole&&console.log(s,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(s,t)}debug(e,...t){if(!this.shouldLog(Oc.DEBUG))return;const s=this.formatMessage("DEBUG",e);this.config.enableConsole&&console.log(s,...t),this.config.enableStorage&&this.isBrowser&&this.logToStorage(s,t)}logToStorage(e,t){try{const s=JSON.parse(localStorage.getItem("human_behavior_logs")||"[]"),r={message:e,args:t.length>0?t:void 0,timestamp:Date.now()};s.push(r),s.length>1e3&&s.splice(0,s.length-1e3),localStorage.setItem("human_behavior_logs",JSON.stringify(s))}catch(e){}}getLogs(){if(!this.isBrowser)return[];try{return JSON.parse(localStorage.getItem("human_behavior_logs")||"[]")}catch(e){return[]}}clearLogs(){this.isBrowser&&localStorage.removeItem("human_behavior_logs")}};let Pc=!1;const Dc=(e,...t)=>{Pc=!0;try{Rc.error(e,...t)}finally{Pc=!1}},Nc=(e,...t)=>{Pc=!0;try{Rc.warn(e,...t)}finally{Pc=!1}},Lc=(e,...t)=>{Pc=!0;try{Rc.info(e,...t)}finally{Pc=!1}},Fc=(e,...t)=>{Pc=!0;try{Rc.debug(e,...t)}finally{Pc=!1}};class Uc{constructor(e){this._isPolling=!1,this._pollIntervalMs=3e3,this._queue=[],this._queue=[],this._areWeOnline=!0,this._sendRequest=e,"undefined"!=typeof window&&"onLine"in window.navigator&&(this._areWeOnline=window.navigator.onLine,window.addEventListener("online",()=>{this._areWeOnline=!0,this._flush()}),window.addEventListener("offline",()=>{this._areWeOnline=!1}))}get length(){return this._queue.length}async retriableRequest(e){const t=e.retriesPerformedSoFar||0;if(t>0){const s=new URL(e.url);s.searchParams.set("retry_count",t.toString()),e.url=s.toString()}try{await this._sendRequest(e)}catch(s){if(this._shouldRetry(s,t)&&t<10)return void this._enqueue(e);e.callback&&e.callback({statusCode:s.status||0,text:s.message||"Request failed"})}}_shouldRetry(e,t){return e.status>=400&&e.status<500?408===e.status||429===e.status:e.status>=500||!e.status}_enqueue(e){const t=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=t+1;const s=function(e){const t=3e3*2**e,s=t/2,r=Math.min(18e5,t),i=(Math.random()-.5)*(r-s);return Math.ceil(r+i)}(t),r=Date.now()+s;this._queue.push({retryAt:r,requestOptions:e});let i=`Enqueued failed request for retry in ${Math.round(s/1e3)}s`;"undefined"==typeof navigator||navigator.onLine||(i+=" (Browser is offline)"),Nc(i),this._isPolling||(this._isPolling=!0,this._poll())}_poll(){this._poller&&clearTimeout(this._poller),this._poller=setTimeout(()=>{this._areWeOnline&&this._queue.length>0&&this._flush(),this._poll()},this._pollIntervalMs)}_flush(){const e=Date.now(),t=[],s=this._queue.filter(s=>s.retryAt<e||(t.push(s),!1));if(this._queue=t,s.length>0)for(const{requestOptions:e}of s)this.retriableRequest(e).catch(e=>{Dc("Failed to retry request:",e)})}unload(){this._poller&&(clearTimeout(this._poller),this._poller=void 0);for(const{requestOptions:e}of this._queue)try{this._sendBeaconRequest(e)}catch(e){Dc("Failed to send request via sendBeacon on unload:",e)}this._queue=[]}_sendBeaconRequest(e){if("undefined"!=typeof navigator&&navigator.sendBeacon)try{const t=new URL(e.url);t.searchParams.set("beacon","1");let s=null;e.body&&("string"==typeof e.body?s=new Blob([e.body],{type:"application/json"}):e.body instanceof Blob&&(s=e.body)),navigator.sendBeacon(t.toString(),s)||Nc("sendBeacon returned false for unload request")}catch(e){Dc("Error sending beacon request:",e)}}}class Bc{constructor(e,t=1e3){this.storageKey="human_behavior_queue",this.maxQueueSize=t}getQueue(){if("undefined"==typeof window||!window.localStorage)return[];try{const e=window.localStorage.getItem(this.storageKey);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t:[]}catch(e){return Nc("Failed to read persisted queue:",e),[]}}setQueue(e){if("undefined"!=typeof window&&window.localStorage)try{const t=e.slice(-this.maxQueueSize);window.localStorage.setItem(this.storageKey,JSON.stringify(t)),Fc(`Persisted ${t.length} events to storage`)}catch(t){if("QuotaExceededError"===t.name||22===t.code){Nc("Storage quota exceeded, clearing old events");try{const t=e.slice(-Math.floor(this.maxQueueSize/2));window.localStorage.setItem(this.storageKey,JSON.stringify(t))}catch(e){Nc("Failed to save smaller queue, clearing storage"),this.clearQueue()}}else Nc("Failed to persist queue:",t)}}addToQueue(e){const t=this.getQueue();t.push(e),t.length>this.maxQueueSize&&(t.shift(),Fc("Queue is full, the oldest event is dropped.")),this.setQueue(t)}removeFromQueue(e){const t=this.getQueue();t.splice(0,e),this.setQueue(t)}clearQueue(){if("undefined"!=typeof window&&window.localStorage)try{window.localStorage.removeItem(this.storageKey)}catch(e){Nc("Failed to clear persisted queue:",e)}}getQueueLength(){return this.getQueue().length}}const $c="0.8.0-beta.0",zc=1048576,jc=52428.8;function Wc(e,t,s){return(new TextEncoder).encode(Kc({sessionId:s,events:[...e,t]})).length>zc}function Kc(e){return JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString():t)}function Vc(e,t){if(!e||"object"!=typeof e)return[];if((new TextEncoder).encode(Kc({sessionId:t,events:[e]})).length<=zc)return[e];const s={...e},r=["screenshot","html","dom","fullText","innerHTML","outerHTML"];return r.forEach(e=>{s[e]&&delete s[e]}),(new TextEncoder).encode(Kc({sessionId:t,events:[s]})).length<=zc?[s]:[{type:e.type,timestamp:e.timestamp,url:e.url,pathname:e.pathname,...Object.fromEntries(Object.entries(e).filter(([e,t])=>!r.includes(e)&&"object"!=typeof t&&"string"!=typeof t||"string"==typeof t&&t.length<1e3))}]}class Gc{constructor({apiKey:e,ingestionUrl:t}){this.monthlyLimitReached=!1,this.sessionId="",this.endUserId=null,this.cspBlocked=!1,this.requestTimeout=1e4,this.currentBatchSize=100,this.apiKey=e,this.baseUrl=t,this.persistence=new Bc(e),this.retryQueue=new Uc(e=>this._sendRequestInternal(e)),this._loadPersistedEvents()}setTrackingContext(e,t){this.sessionId=e,this.endUserId=t}async _loadPersistedEvents(){const e=this.persistence.getQueue();if(0!==e.length){Fc(`Loading ${e.length} persisted events from storage`);for(const t of e)try{await this.sendEventsChunked(t.events,t.sessionId,t.endUserId||void 0,t.windowId,t.automaticProperties),this.persistence.removeFromQueue(1)}catch(e){Nc("Failed to send persisted event, will retry later:",e)}}}async _sendRequestInternal(e){const t="undefined"!=typeof AbortController?new AbortController:null;let s=null;t&&(s=setTimeout(()=>{t.abort()},this.requestTimeout));try{const r=e.estimatedSize||0,i="POST"===e.method&&r<jc,n=await fetch(e.url,{method:e.method||"GET",headers:e.headers||{},body:e.body,signal:t?.signal,keepalive:i});s&&clearTimeout(s);const o=await n.text();let a=null;try{a=JSON.parse(o)}catch{}if(e.callback&&e.callback({statusCode:n.status,text:o,json:a}),!n.ok)throw{status:n.status,message:o}}catch(e){if(s&&clearTimeout(s),"AbortError"===e.name)throw{status:0,message:"Request timeout"};throw e}}unload(){this.retryQueue.unload()}checkMonthlyLimit(){return!this.monthlyLimitReached}async init(e,t){if(!this.checkMonthlyLimit())return{sessionId:e,endUserId:t};let s=null,r=null;"undefined"!=typeof window&&(s=window.location.href,r=document.referrer),Lc("API init called with:",{sessionId:e,userId:t,entryURL:s,referrer:r,baseUrl:this.baseUrl});try{const i=await this.trackedFetch(`${this.baseUrl}/api/ingestion/init`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`,Referer:r||""},body:Kc({sessionId:e,endUserId:t,entryURL:s,referrer:r,sdkVersion:$c})});if(Lc("API init response status:",i.status),!i.ok){if(429===i.status)return this.monthlyLimitReached=!0,{sessionId:e,endUserId:t};const s=await i.text();throw Dc("API init failed:",i.status,s),new Error(`Failed to initialize ingestion: ${i.statusText} - ${s}`)}const n=await i.json();return!0===n.monthlyLimitReached&&(this.monthlyLimitReached=!0,Lc("Monthly limit reached detected from server response")),Lc("API init success:",n),{sessionId:n.sessionId,endUserId:n.endUserId}}catch(e){throw Dc("API init error:",e),e}}async sendEvents(e,t,s){const r=e.filter(e=>e&&"object"==typeof e),i=await this.trackedFetch(`${this.baseUrl}/api/ingestion/events`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc({sessionId:t,events:r,endUserId:s,sdkVersion:$c})});if(!i.ok){if(429===i.status)throw this.monthlyLimitReached=!0,new Error("429: Monthly video processing limit reached");throw new Error(`Failed to send events: ${i.statusText}`)}!0===(await i.json()).monthlyLimitReached&&(this.monthlyLimitReached=!0,Lc("Monthly limit reached detected from events response"))}async sendEventsChunked(e,t,s,r,i){if(!this.checkMonthlyLimit())return[];try{const n=[];let o=[];for(const a of e)if(a&&"object"==typeof a)if(Wc(o,a,t)){if(o.length>0){Fc(`[SDK] Sending chunk with ${o.length} events`);const e=await this.trackedFetch(`${this.baseUrl}/api/ingestion/events`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc({sessionId:t,events:o,endUserId:s,windowId:r,automaticProperties:i,sdkVersion:$c})});if(!e.ok){if(429===e.status)return this.monthlyLimitReached=!0,n.flat();throw new Error(`Failed to send events: ${e.statusText}`)}const a=await e.json();!0===a.monthlyLimitReached&&(this.monthlyLimitReached=!0,Lc("Monthly limit reached detected from chunked events response")),n.push(a),o=[]}o=Vc(a,t)}else o.push(a);if(o.length>0){const e=await this._sendChunkWithRetry(o,t,s,r,i||o[0]?.automaticProperties);e&&n.push(e)}return n.flat()}catch(n){throw Dc("Error sending events:",n),this._persistEvents(e,t,s,r,i),n}}async _sendChunkWithRetry(e,t,s,r,i){let n=Math.min(this.currentBatchSize,e.length),o=0;for(;o<e.length;){const a=Kc({sessionId:t,events:e.slice(o,o+n),endUserId:s,windowId:r,automaticProperties:i,sdkVersion:$c}),l=(new TextEncoder).encode(a).length;try{const c=await this.trackedFetch(`${this.baseUrl}/api/ingestion/events`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:a},l);if(!c.ok){if(429===c.status)return this.monthlyLimitReached=!0,this._persistEvents(e.slice(o),t,s,r,i),null;if(413===c.status){Nc(`413 error: reducing batch size from ${n} to ${Math.max(1,Math.floor(n/2))}`),this.currentBatchSize=Math.max(1,Math.floor(n/2)),n=this.currentBatchSize;continue}return await this.retryQueue.retriableRequest({url:`${this.baseUrl}/api/ingestion/events`,method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:a,estimatedSize:l,callback:e=>{200===e.statusCode&&e.json&&!0===e.json.monthlyLimitReached&&(this.monthlyLimitReached=!0)}}),this._persistEvents(e.slice(o),t,s,r,i),null}const h=await c.json();if(!0===h.monthlyLimitReached&&(this.monthlyLimitReached=!0,Lc("Monthly limit reached detected from chunked events response")),o+=n,o>=e.length)return h}catch(n){return Nc("Network error sending chunk, adding to retry queue:",n),await this.retryQueue.retriableRequest({url:`${this.baseUrl}/api/ingestion/events`,method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:a,estimatedSize:l,callback:e=>{200===e.statusCode&&e.json&&!0===e.json.monthlyLimitReached&&(this.monthlyLimitReached=!0)}}),this._persistEvents(e.slice(o),t,s,r,i),null}}return null}_persistEvents(e,t,s,r,i){0!==e.length&&this.persistence.addToQueue({sessionId:t,events:e,endUserId:s,windowId:r,automaticProperties:i,timestamp:Date.now()})}async sendUserData(e,t,s){try{const r={userId:e,userAttributes:t,sessionId:s,posthogName:t.email||t.name||null};Fc("Sending user data to server:",r);const i=await this.trackedFetch(`${this.baseUrl}/api/ingestion/user`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc(r)});if(!i.ok)throw new Error(`Failed to send user data: ${i.statusText} with API key: ${this.apiKey}`);const n=await i.json();return Fc("Server response:",n),n}catch(e){throw Dc("Error sending user data:",e),e}}async sendUserAuth(e,t,s,r){try{const i=await this.trackedFetch(`${this.baseUrl}/api/ingestion/user/auth`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc({userId:e,userAttributes:t,sessionId:s,authFields:r})});if(!i.ok)throw new Error(`Failed to authenticate user: ${i.statusText} with API key: ${this.apiKey}`);return await i.json()}catch(e){throw Dc("Error authenticating user:",e),e}}sendSessionEndBeacon(e,t){if("undefined"==typeof navigator||"function"!=typeof navigator.sendBeacon)return!1;try{const s={sessionId:e,endUserId:t||null,apiKey:this.apiKey},r=new Blob([Kc(s)],{type:"application/json"});return navigator.sendBeacon(`${this.baseUrl}/api/ingestion/session-end`,r)}catch{return!1}}sendHeartbeatBeacon(e,t){if("undefined"==typeof navigator||"function"!=typeof navigator.sendBeacon)return!1;try{const s={sessionId:e,endUserId:t||null,apiKey:this.apiKey},r=new Blob([Kc(s)],{type:"application/json"});return navigator.sendBeacon(`${this.baseUrl}/api/ingestion/heartbeat`,r)}catch{return!1}}sendBeaconEvents(e,t,s,r,i,n){const o={sessionId:t,events:e,endUserId:s||null,windowId:r,automaticProperties:i,sdkVersion:$c,apiKey:this.apiKey},a=new Blob([Kc(o)],{type:"application/json"});return navigator.sendBeacon(`${this.baseUrl}/api/ingestion/events`,a)}async sendCustomEvent(e,t,s,r){Lc("[SDK] Sending custom event",{sessionId:e,eventName:t,eventProperties:s,endUserId:r});try{const i=await this.trackedFetch(`${this.baseUrl}/api/ingestion/customEvent`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc({sessionId:e,eventName:t,eventProperties:s||{},endUserId:r||null})});if(Lc("[SDK] Custom event response",{status:i.status,statusText:i.statusText}),!i.ok){const e=await i.text();throw Dc("[SDK] Failed to send custom event",{status:i.status,statusText:i.statusText,errorText:e}),new Error(`Failed to send custom event: ${i.status} ${i.statusText} - ${e}`)}const n=await i.json();return Fc("[SDK] Custom event success",n),n}catch(r){throw Dc("[SDK] Error sending custom event",r,{sessionId:e,eventName:t,eventProperties:s}),r}}async sendCustomEventBatch(e,t,s){try{const r=await this.trackedFetch(`${this.baseUrl}/api/ingestion/customEvent/batch`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc({sessionId:e,events:t,endUserId:s||null})});if(!r.ok)throw new Error(`Failed to send custom event batch: ${r.statusText}`);return await r.json()}catch(e){throw Dc("Error sending custom event batch:",e),e}}sendCustomEventBatchBeacon(e,t,s){if("undefined"==typeof navigator||"function"!=typeof navigator.sendBeacon)return!1;try{const r={sessionId:e,events:t,endUserId:s||null,apiKey:this.apiKey},i=new Blob([Kc(r)],{type:"application/json"});return navigator.sendBeacon(`${this.baseUrl}/api/ingestion/customEvent/batch`,i)}catch{return!1}}async sendLog(e){try{if(Fc("[SDK] Sending log to server:",{level:e.level,message:e.message.substring(0,50),sessionId:e.sessionId}),!this.baseUrl)return;if(!e.sessionId)return;const t=await fetch(`${this.baseUrl}/api/ingestion/logs`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc(e)});t.ok?Fc("[SDK] Log sent successfully"):Nc("[SDK] Failed to send log to server:",t.status,t.statusText)}catch(e){Nc("[SDK] Failed to send log to server:",e)}}async sendNetworkError(e){try{if(Fc("[SDK] Sending network error to server:",{errorType:e.errorType,url:e.url.substring(0,50),sessionId:e.sessionId}),!this.baseUrl)return;if(!e.sessionId)return;const t=await fetch(`${this.baseUrl}/api/ingestion/network`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc(e)});t.ok?Fc("[SDK] Network error sent successfully"):Nc("[SDK] Failed to send network error to server:",t.status,t.statusText)}catch(e){Nc("[SDK] Failed to send network error to server:",e)}}async sendIpInfo(e,t){try{if(!this.baseUrl||!e||!t)return;const s=await fetch(`${this.baseUrl}/api/ingestion/ip-info`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:Kc({sessionId:e,endUserId:t,ipDetectionMethod:"server_header"})});s.ok||Nc("[SDK] Failed to send ip-info:",s.status,s.statusText)}catch(e){Nc("[SDK] Failed to send ip-info:",e)}}async trackedFetch(e,t,s){const r=Date.now(),i=_c(),n=this.shouldSkipNetworkTracking(e);if(this.cspBlocked&&"POST"===t.method&&"undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon)return this.trackedFetchWithBeaconFallback(e,t,n);try{const o="undefined"!=typeof AbortController?new AbortController:null;let a=null;o&&(a=setTimeout(()=>{o.abort()},this.requestTimeout));const l="POST"===t.method&&void 0!==s&&s<jc,c=await fetch(e,{...t,signal:o?.signal,keepalive:l});a&&clearTimeout(a);const h=Date.now()-r;return c.ok||n||await this.sendNetworkError({requestId:i,url:e,method:t.method||"GET",status:c.status,statusText:c.statusText,duration:h,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyHttpError(c.status),errorMessage:c.statusText,startTimeMs:r,spanName:`${t.method||"GET"} ${e}`,spanStatus:"error",attributes:{"http.status_code":c.status,"http.status_text":c.statusText}}).catch(()=>{}),c}catch(s){const o=Date.now()-r;if("AbortError"===s.name){const e=new Error("Request timeout");e.name="TimeoutError",s=e}if(this.isCSPViolation(s)&&"POST"===t.method&&"undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon)return this.cspBlocked=!0,Nc("[SDK] CSP violation detected, falling back to sendBeacon for future requests"),this.trackedFetchWithBeaconFallback(e,t,n);throw n||await this.sendNetworkError({requestId:i,url:e,method:t.method||"GET",status:null,statusText:null,duration:o,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyNetworkError(s),errorMessage:s.message,errorName:s.name,startTimeMs:r,spanName:`${t.method||"GET"} ${e}`,spanStatus:"error",attributes:{"error.name":s.name,"error.message":s.message}}).catch(()=>{}),s}}async trackedFetchWithBeaconFallback(e,t,s){try{let s=null,r="";if(t.body)if("string"==typeof t.body)try{s=JSON.parse(t.body),r=t.body}catch{r=t.body}else{if(t.body instanceof Blob)return Nc("[SDK] Cannot extract apiKey from Blob body for sendBeacon, using URL param"),e=`${e}${e.includes("?")?"&":"?"}apiKey=${encodeURIComponent(this.apiKey)}`,navigator.sendBeacon(e,t.body)?new Response(null,{status:200,statusText:"OK",headers:new Headers}):new Response(null,{status:500,statusText:"sendBeacon failed",headers:new Headers});r=Kc(t.body),s=t.body}if(e.includes("/api/ingestion/"))if(s&&"object"==typeof s)s.apiKey=this.apiKey,r=Kc(s);else if(r)try{const e=JSON.parse(r);e.apiKey=this.apiKey,r=Kc(e)}catch{e=`${e}${e.includes("?")?"&":"?"}apiKey=${encodeURIComponent(this.apiKey)}`}else e=`${e}${e.includes("?")?"&":"?"}apiKey=${encodeURIComponent(this.apiKey)}`;else e=`${e}${e.includes("?")?"&":"?"}apiKey=${encodeURIComponent(this.apiKey)}`;const i=r?new Blob([r],{type:"application/json"}):null;return navigator.sendBeacon(e,i)?(Fc("[SDK] Successfully sent request via sendBeacon (CSP fallback)"),new Response(null,{status:200,statusText:"OK",headers:new Headers})):(Nc("[SDK] sendBeacon returned false - browser may be throttling"),new Response(null,{status:200,statusText:"OK (sendBeacon best-effort)",headers:new Headers}))}catch(e){return Dc("[SDK] sendBeacon fallback failed:",e),new Response(null,{status:500,statusText:"Failed to send via sendBeacon",headers:new Headers})}}isCSPViolation(e){const t=(e?.message||"").toLowerCase();return"typeerror"===(e?.name||"").toLowerCase()&&t.includes("failed to fetch")||t.includes("content security policy")||t.includes("csp")||t.includes("violates")||t.includes("refused to connect")&&t.includes("violates")}shouldSkipNetworkTracking(e){if(!e||!this.baseUrl)return!1;try{const t=new URL(e),s=new URL(this.baseUrl);return!(t.origin!==s.origin||!t.pathname.startsWith("/api/ingestion/"))||!!e.includes(this.baseUrl)}catch(t){return e.includes(this.baseUrl)}}classifyHttpError(e){return e>=400&&e<500?"client_error":e>=500?"server_error":"unknown_error"}classifyNetworkError(e){const t=e.message||"",s=e.name||"";return this.isCSPViolation(e)?"csp_violation":t.includes("ERR_BLOCKED_BY_CLIENT")||t.includes("ERR_BLOCKED_BY_RESPONSE")||t.includes("blocked:other")||t.includes("net::ERR_BLOCKED_BY_CLIENT")||t.includes("net::ERR_BLOCKED_BY_RESPONSE")||"TypeError"===s&&t.includes("Failed to fetch")&&(t.includes("blocked")||t.includes("ERR_BLOCKED"))?"blocked_by_client":t.includes("CORS")||t.includes("Access-Control")?"cors_error":t.includes("timeout")||"TimeoutError"===s?"timeout_error":t.includes("Failed to fetch")||t.includes("NetworkError")?"network_error":"unknown_error"}}class Hc{constructor(e){if(this.redactedText="[REDACTED]",this.unredactedFields=new Set,this.redactedFields=new Set,this.redactionMode="privacy-first",this.excludeSelectors=['[data-no-redact="true"]',".human-behavior-no-redact"],e?.redactedText&&(this.redactedText=e.redactedText),e?.excludeSelectors&&(this.excludeSelectors=[...this.excludeSelectors,...e.excludeSelectors]),e?.redactionStrategy)if(this.redactionMode=e.redactionStrategy.mode,"privacy-first"===this.redactionMode)e.redactionStrategy.unredactFields&&this.setFieldsToUnredact(e.redactionStrategy.unredactFields);else{const t=['input[type="password"]','[data-hb-redact="true"]'],s=e.redactionStrategy.redactFields&&e.redactionStrategy.redactFields.length>0?e.redactionStrategy.redactFields:t;this.setFieldsToRedact(s)}e?.legacyRedactFields&&this.setFieldsToUnredact(e.legacyRedactFields),e?.userFields&&this.setFieldsToUnredact(e.userFields)}setFieldsToRedact(e){this.redactedFields.clear(),['input[type="password"]','input[type="password" i]','[type="password"]','[type="password" i]',...e].forEach(e=>{this.redactedFields.add(e)}),this.redactedFields.size>0?Fc(`Redaction: Active for ${this.redactedFields.size} field(s):`,Array.from(this.redactedFields)):Fc("Redaction: No fields to redact"),this.applyRedactionClasses()}setFieldsToUnredact(e){this.unredactedFields.clear();const t=e.filter(e=>!this.isPasswordSelector(e)||(Nc(`Cannot unredact password field: ${e} - Password fields are always protected`),!1));t.forEach(e=>this.unredactedFields.add(e)),t.length>0?Fc(`Unredaction: Active for ${t.length} field(s):`,t):Fc("Unredaction: No valid fields to unredact"),this.applyUnredactionClasses()}redactFields(e){e.forEach(e=>{this.unredactedFields.delete(e)}),this.unredactedFields.size>0?Fc(`Unredaction: Removed ${e.length} field(s), ${this.unredactedFields.size} remaining:`,Array.from(this.unredactedFields)):Fc("Unredaction: All fields redacted"),this.applyUnredactionClasses()}clearUnredactedFields(){this.unredactedFields.clear(),Fc("Unredaction: All fields cleared, everything redacted"),this.removeUnredactionClasses()}hasUnredactedFields(){return this.unredactedFields.size>0}getRedactionMode(){return this.redactionMode}getUnredactedFields(){return Array.from(this.unredactedFields)}getMaskTextSelector(){return"privacy-first"===this.redactionMode?0===this.unredactedFields.size?null:Array.from(this.unredactedFields).join(","):0===this.redactedFields.size?null:Array.from(this.redactedFields).join(",")}applyRedactionClasses(){0!==this.redactedFields.size&&("undefined"!=typeof document&&"loading"!==document.readyState?this.redactedFields.forEach(e=>{try{const t=document.querySelectorAll(e);t.forEach(e=>{e&&e.classList&&e.classList.add("rr-mask")}),Fc(`Added rr-mask class to ${t.length} element(s) for selector: ${e}`)}catch(t){Nc(`Invalid selector: ${e}`)}}):Fc("DOM not ready, deferring redaction class application"))}applyUnredactionClasses(){0!==this.unredactedFields.size&&("undefined"!=typeof document&&"loading"!==document.readyState?this.unredactedFields.forEach(e=>{try{const t=document.querySelectorAll(e);t.forEach(e=>{e&&e.classList&&e.classList.remove("rr-mask")}),Fc(`Removed rr-mask class from ${t.length} element(s) for selector: ${e}`)}catch(t){Nc(`Invalid selector: ${e}`)}}):Fc("DOM not ready, deferring unredaction class application"))}removeUnredactionClasses(){Fc("Unredaction classes removed")}isPasswordSelector(e){return['input[type="password"]','input[type="password" i]','[type="password"]','[type="password" i]'].some(t=>e.toLowerCase().includes(t.toLowerCase().replace(/[\[\]]/g,"")))}getOriginalValue(e){if(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)return e.value}isElementUnredacted(e){return this.shouldUnredactElement(e)}shouldUnredactElement(e){if("privacy-first"===this.redactionMode){if(0===this.unredactedFields.size)return!1;for(const t of this.unredactedFields)try{if(e.matches(t))return!0}catch(e){Nc(`Invalid selector: ${t}`)}return!1}if(0===this.redactedFields.size)return!0;for(const t of this.redactedFields)try{if(e.matches(t))return!1}catch(e){Nc(`Invalid selector: ${t}`)}return!0}}new Hc;const Yc="undefined"!=typeof window;function qc(){if(!Yc)return"unknown";const e=navigator.userAgent.toLowerCase(),t=window.screen.width,s=window.screen.height;return/mobile|android|iphone|ipad|ipod|blackberry|windows phone/i.test(e)?/ipad/i.test(e)||t>=768&&s>=1024?"tablet":"mobile":/windows|macintosh|linux/i.test(e)?"desktop":"unknown"}function Zc(e){try{return new URL(e).hostname}catch{return""}}function Jc(){if(!Yc)return{device_type:"unknown",browser:"unknown",browser_version:"unknown",os:"unknown",os_version:"unknown",screen_resolution:"unknown",viewport_size:"unknown",color_depth:0,timezone:"unknown",language:"unknown",languages:[]};const{browser:e,browser_version:t}=function(){if(!Yc)return{browser:"unknown",browser_version:"unknown"};const e=navigator.userAgent;if(/chrome/i.test(e)&&!/edge/i.test(e)){const t=e.match(/chrome\/(\d+)/i);return{browser:"chrome",browser_version:t?t[1]:"unknown"}}if(/firefox/i.test(e)){const t=e.match(/firefox\/(\d+)/i);return{browser:"firefox",browser_version:t?t[1]:"unknown"}}if(/safari/i.test(e)&&!/chrome/i.test(e)){const t=e.match(/version\/(\d+)/i);return{browser:"safari",browser_version:t?t[1]:"unknown"}}if(/edge/i.test(e)){const t=e.match(/edge\/(\d+)/i);return{browser:"edge",browser_version:t?t[1]:"unknown"}}if(/msie|trident/i.test(e)){const t=e.match(/msie (\d+)/i)||e.match(/rv:(\d+)/i);return{browser:"ie",browser_version:t?t[1]:"unknown"}}return{browser:"unknown",browser_version:"unknown"}}(),{os:s,os_version:r}=function(){if(!Yc)return{os:"unknown",os_version:"unknown"};const e=navigator.userAgent;if(/windows/i.test(e)){const t=e.match(/windows nt (\d+\.\d+)/i);let s="unknown";if(t){const e=parseFloat(t[1]);s=10===e?"10":6.3===e?"8.1":6.2===e?"8":6.1===e?"7":t[1]}return{os:"windows",os_version:s}}if(/macintosh|mac os x/i.test(e)){const t=e.match(/mac os x (\d+[._]\d+)/i);return{os:"macos",os_version:t?t[1].replace("_","."):"unknown"}}if(/iphone|ipad|ipod/i.test(e)){const t=e.match(/os (\d+[._]\d+)/i);return{os:"ios",os_version:t?t[1].replace("_","."):"unknown"}}if(/android/i.test(e)){const t=e.match(/android (\d+\.\d+)/i);return{os:"android",os_version:t?t[1]:"unknown"}}return/linux/i.test(e)?{os:"linux",os_version:"unknown"}:{os:"unknown",os_version:"unknown"}}();return{device_type:qc(),browser:e,browser_version:t,os:s,os_version:r,screen_resolution:`${window.screen.width}x${window.screen.height}`,viewport_size:`${window.innerWidth}x${window.innerHeight}`,color_depth:window.screen.colorDepth,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,language:navigator.language,languages:[...navigator.languages||[navigator.language]],raw_user_agent:navigator.userAgent}}function Xc(){if(!Yc)return{current_url:"",pathname:"",search:"",hash:"",title:"",referrer:"",referrer_domain:"",initial_referrer:"",initial_referrer_domain:""};const e=window.location.href,t=document.referrer,s=function(e){const t=new URL(e),s={};return["utm_source","utm_medium","utm_campaign","utm_term","utm_content"].forEach(e=>{const r=t.searchParams.get(e);r&&(s[e]=r)}),s}(e);return{current_url:e,pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,title:document.title,referrer:t,referrer_domain:Zc(t),initial_referrer:t,initial_referrer_domain:Zc(t),initial_host:window.location.hostname,...s}}function Qc(){return{...Jc(),...Xc()}}function eh(){if(!Yc)return{};const e=Xc();return{current_url:e.current_url,pathname:e.pathname,search:e.search,hash:e.hash,title:e.title,referrer:e.referrer,referrer_domain:e.referrer_domain,utm_source:e.utm_source,utm_medium:e.utm_medium,utm_campaign:e.utm_campaign,utm_term:e.utm_term,utm_content:e.utm_content}}class th{constructor(e={}){this.sessionProperties={},this.userProperties={},this.initialProperties={},this.isInitialized=!1,this.config={enableAutomaticProperties:!0,enableSessionProperties:!0,enableUserProperties:!0,propertyDenylist:[],...e},this.automaticProperties=Qc(),this.initialize()}initialize(){this.isInitialized||(this.initialProperties=function(){if(!Yc)return{};const e=Xc();return{initial_referrer:e.initial_referrer,initial_referrer_domain:e.initial_referrer_domain,initial_url:e.current_url,initial_pathname:e.pathname,initial_utm_source:e.utm_source,initial_utm_medium:e.utm_medium,initial_utm_campaign:e.utm_campaign,initial_utm_term:e.utm_term,initial_utm_content:e.utm_content}}(),this.loadSessionProperties(),this.isInitialized=!0)}getEventProperties(e={}){const t={};return this.config.enableAutomaticProperties&&(Object.assign(t,this.getAutomaticProperties()),this.config.enableSessionProperties&&Object.assign(t,this.sessionProperties),this.config.enableUserProperties&&Object.assign(t,this.userProperties),this.sessionProperties.$initial_properties_captured||(Object.assign(t,this.initialProperties),this.setSessionProperty("$initial_properties_captured",!0))),Object.assign(t,e),this.applyDenylist(t),t}getAutomaticProperties(){return{...this.automaticProperties,...eh()}}getAutomaticPropertiesWithGeoIP(e={}){return{...this.automaticProperties,...eh(),...e}}setSessionProperty(e,t){this.sessionProperties[e]=t,this.saveSessionProperties()}setSessionProperties(e){Object.assign(this.sessionProperties,e),this.saveSessionProperties()}getSessionProperty(e){return this.sessionProperties[e]}removeSessionProperty(e){delete this.sessionProperties[e],this.saveSessionProperties()}setUserProperty(e,t){this.userProperties[e]=t}setUserProperties(e){Object.assign(this.userProperties,e)}getUserProperty(e){return this.userProperties[e]}removeUserProperty(e){delete this.userProperties[e]}setOnce(e,t,s="user"){"session"===s?e in this.sessionProperties||this.setSessionProperty(e,t):e in this.userProperties||this.setUserProperty(e,t)}clearSessionProperties(){this.sessionProperties={},this.saveSessionProperties()}clearUserProperties(){this.userProperties={}}reset(){this.clearSessionProperties(),this.clearUserProperties(),this.initialProperties={},this.isInitialized=!1,this.initialize()}loadSessionProperties(){if("undefined"!=typeof sessionStorage)try{const e=sessionStorage.getItem("hb_session_properties");e&&(this.sessionProperties=JSON.parse(e))}catch(e){console.warn("Failed to load session properties:",e)}}saveSessionProperties(){if("undefined"!=typeof sessionStorage)try{sessionStorage.setItem("hb_session_properties",JSON.stringify(this.sessionProperties))}catch(e){console.warn("Failed to save session properties:",e)}}applyDenylist(e){this.config.propertyDenylist&&0!==this.config.propertyDenylist.length&&this.config.propertyDenylist.forEach(t=>{delete e[t]})}updateAutomaticProperties(){this.automaticProperties=Qc()}getAllProperties(){return{automatic:this.getAutomaticProperties(),session:{...this.sessionProperties},user:{...this.userProperties},initial:{...this.initialProperties}}}}const sh="undefined"!=typeof window;class rh{get isTrackerStarted(){return this.isStarted}setupDomReadyHandler(){if(sh)if("complete"===document.readyState||"interactive"===document.readyState)this.onDomReady();else if(document.addEventListener){document.addEventListener("DOMContentLoaded",()=>this.onDomReady(),{capture:!1});const e=setInterval(()=>{"interactive"!==document.readyState&&"complete"!==document.readyState||(clearInterval(e),this.onDomReady())},10);setTimeout(()=>clearInterval(e),5e3)}else this.onDomReady();else this.onDomReady()}onDomReady(){this.isDomReady||(this.isDomReady=!0,Fc("π― DOM is ready, processing queued requests"),this.requestQueue.forEach(e=>{this.processRequest(e)}),this.requestQueue=[],this.domReadyHandlers.forEach(e=>e()),this.domReadyHandlers=[])}queueRequest(e){this.isDomReady?this.processRequest(e):this.requestQueue.push(e)}async processRequest(e){switch(Fc("Processing queued request:",e),e.type){case"addEvent":await this.addEvent(e.event);break;case"identifyUser":await this.identifyUser(e.userProperties);break;case"trackPageView":this.trackPageView();break;default:Nc("Unknown request type:",e.type)}}registerDomReadyHandler(e){this.isDomReady?e():this.domReadyHandlers.push(e)}static init(e,t){if(sh&&!1!==t?.suppressConsoleErrors){const e=console.error;console.error=(...t)=>{const s=t.join(" ");s.includes("SecurityError: Failed to execute 'toDataURL'")||s.includes("Tainted canvases may not be exported")||s.includes("Cannot inline img src=")||s.includes("Cross-Origin")||s.includes("CORS")||s.includes("Access-Control-Allow-Origin")||s.includes("Failed to load resource")||s.includes("net::ERR_BLOCKED_BY_CLIENT")||s.includes("NetworkError when attempting to fetch resource")||s.includes("Failed to fetch")||s.includes("TypeError: NetworkError")||s.includes("HumanBehavior ERROR")||s.includes("Failed to track custom event")||s.includes("Error sending custom event")||e.apply(console,t)};const t=console.warn;console.warn=(...e)=>{const s=e.join(" ");s.includes("Cannot inline img src=")||s.includes("Cross-Origin")||s.includes("CORS")||s.includes("Access-Control-Allow-Origin")||s.includes("Failed to load resource")||s.includes("net::ERR_BLOCKED_BY_CLIENT")||s.includes("NetworkError when attempting to fetch resource")||s.includes("Failed to fetch")||s.includes("Custom event network error")||s.includes("Request blocked by ad blocker")||t.apply(console,e)},window.addEventListener("error",e=>{const t=e.message||"";if(t.includes("SecurityError")||t.includes("Tainted canvases")||t.includes("toDataURL")||t.includes("Cross-Origin")||t.includes("CORS")||t.includes("NetworkError")||t.includes("Failed to fetch"))return e.preventDefault(),!1})}if(sh&&window.__humanBehaviorGlobalTracker)return Fc("Tracker already initialized, returning existing instance"),window.__humanBehaviorGlobalTracker;t?.logLevel&&this.configureLogging({level:t.logLevel});const s=new rh(e,t?.ingestionUrl,{enableAutomaticProperties:t?.enableAutomaticProperties,propertyDenylist:t?.propertyDenylist,redactionStrategy:t?.redactionStrategy,redactFields:t?.redactFields,maxQueueSize:t?.maxQueueSize,enableConsoleTracking:t?.enableConsoleTracking,enableNetworkTracking:t?.enableNetworkTracking,installMetadata:t?.installMetadata});return s.recordCanvas=t?.recordCanvas??!1,t?.redactFields&&s.setUnredactedFields(t.redactFields),!1!==t?.enableAutomaticTracking&&s.setupAutomaticTracking(t?.automaticTrackingOptions),s.start(),s}constructor(e,t,s){if(this.eventQueue=[],this.pendingCustomEvents=[],this.pendingLogs=[],this.pendingNetworkErrors=[],this.customEventBatch=[],this.customEventBatchTimer=null,this.CUSTOM_EVENT_FLUSH_MS=100,this.CUSTOM_EVENT_BATCH_MAX=50,this._sessionActivityTimestamp=null,this._sessionStartTimestamp=null,this.userProperties={},this.isProcessing=!1,this.flushInterval=null,this.FLUSH_INTERVAL_MS=3e3,this.heartbeatInterval=null,this.HEARTBEAT_INTERVAL_MS=3e4,this.SESSION_IDLE_TIMEOUT_MS=9e5,this.SESSION_MAX_LENGTH_MS=864e5,this.focusBlurGraceTimeout=null,this.FOCUS_BLUR_GRACE_MS=2e3,this.lastEmittedFocusState=null,this.endUserId=null,this.initialized=!1,this.initializationPromise=null,this.monthlyLimitReached=!1,this.isDomReady=!1,this.requestQueue=[],this.domReadyHandlers=[],this.originalConsole=null,this.consoleTrackingEnabled=!1,this.originalFetch=null,this.networkTrackingEnabled=!1,this.enableConsoleTrackingFlag=!0,this.enableNetworkTrackingFlag=!0,this.navigationTrackingEnabled=!1,this.currentUrl="",this.previousUrl="",this.originalPushState=null,this.originalReplaceState=null,this.navigationListeners=[],this.lastPushStateAt=0,this.NAVIGATION_DEDUPE_MS=100,this._connectionBlocked=!1,this.recordInstance=null,this.sessionStartTime=Date.now(),this.rrwebRecord=null,this.fullSnapshotTimeout=null,this.recordCanvas=!1,this.isStarted=!1,this.minimumDurationMilliseconds=5e3,this._isIdle="unknown",this._lastActivityTimestamp=Date.now(),this.IDLE_THRESHOLD_MS=3e5,this.rageClickTracker={clicks:[]},this.RAGE_CLICK_THRESHOLD_PX=30,this.RAGE_CLICK_TIMEOUT_MS=1e3,this.RAGE_CLICK_CLICK_COUNT=3,this.rageJustFiredAt=0,this.deadClickTracker={pendingClicks:new Map},this.DEAD_CLICK_SCROLL_THRESHOLD_MS=100,this.DEAD_CLICK_SELECTION_THRESHOLD_MS=2500,this.DEAD_CLICK_MUTATION_THRESHOLD_MS=100,this.DEAD_CLICK_ABSOLUTE_TIMEOUT_MS=2750,!e)throw new Error("Human Behavior API Key is required");const r=t||"https://ingest.humanbehavior.co";if(this.api=new Gc({apiKey:e,ingestionUrl:r}),this.apiKey=e,this.ingestionUrl=r,this.MAX_QUEUE_SIZE=s?.maxQueueSize??1e3,this.enableConsoleTrackingFlag=!1!==s?.enableConsoleTracking,this.enableNetworkTrackingFlag=!1!==s?.enableNetworkTracking,this.installMetadata=s?.installMetadata,this.redactionManager=new Hc({redactionStrategy:s?.redactionStrategy,legacyRedactFields:s?.redactFields}),this.propertyManager=new th({enableAutomaticProperties:!1!==s?.enableAutomaticProperties,propertyDenylist:s?.propertyDenylist||[]}),sh){const e="human_behavior_end_user_id",t=this.getCookie(e);this.endUserId=t||_c(),t?Fc(`Reusing existing endUserId: ${this.endUserId}`):(this.setCookie(e,this.endUserId,365),Fc(`Generated new endUserId: ${this.endUserId}`))}else this.endUserId=_c();if(sh){const e=this.apiKey||"default";this._window_id_storage_key=`human_behavior_${e}_window_id`,this._primary_window_exists_storage_key=`human_behavior_${e}_primary_window_exists`,this.sessionId=this.getOrCreateSessionId(),this.windowId=this.getOrCreateWindowId(),this.currentUrl=window.location.href,window.__humanBehaviorGlobalTracker=this,this.setupWindowUnloadListener()}else this._window_id_storage_key="",this._primary_window_exists_storage_key="",this.sessionId=_c(),this.windowId=_c();this.api.setTrackingContext(this.sessionId,this.endUserId),this.initializationPromise=this.init().catch(e=>{Dc("Initialization failed:",e)})}async init(){try{this.initialized=!0,sh?(this.setupPageUnloadHandler(),this.setupNavigationTracking(),this.emitInstallCheck()):Lc("HumanBehaviorTracker initialized in server environment. Session tracking is disabled."),Lc(`HumanBehaviorTracker initialized with sessionId: ${this.sessionId}, endUserId: ${this.endUserId}`)}catch(e){Dc("Failed to initialize HumanBehaviorTracker:",e),this.initialized=!0}}async emitInstallCheck(){if(!sh)return;let e="unknown";try{e=new URL(this.ingestionUrl).host}catch{}await this.customEvent("$sdk_install_check",{sdkVersion:"0.8.0-beta.0",packageName:"humanbehavior-js",ingestionHost:e,environment:this.installMetadata?.environment||("localhost"===window.location.hostname?"local":"browser"),framework:this.installMetadata?.framework,packageManager:this.installMetadata?.packageManager,wizardVersion:this.installMetadata?.wizardVersion,installId:this.installMetadata?.installId,targetPackagePathHash:this.installMetadata?.targetPackagePathHash})}async ensureInitialized(){this.initializationPromise&&await this.initializationPromise}setupNavigationTracking(){if(!sh||this.navigationTrackingEnabled)return;this.navigationTrackingEnabled=!0,Fc("Setting up navigation tracking"),this.originalPushState=history.pushState,this.originalReplaceState=history.replaceState,history.pushState=(...e)=>{this.previousUrl=this.currentUrl,this.originalPushState.apply(history,e),this.currentUrl=window.location.href,this.lastPushStateAt=Date.now(),this.trackNavigationEvent("pushState",this.previousUrl,this.currentUrl)},history.replaceState=(...e)=>{this.previousUrl=this.currentUrl,this.originalReplaceState.apply(history,e),this.currentUrl=window.location.href,this.lastPushStateAt=Date.now(),this.trackNavigationEvent("replaceState",this.previousUrl,this.currentUrl)};const e=()=>{this.previousUrl=this.currentUrl,this.currentUrl=window.location.href,this.trackNavigationEvent("popstate",this.previousUrl,this.currentUrl)};window.addEventListener("popstate",e),this.navigationListeners.push(()=>{window.removeEventListener("popstate",e)});const t=()=>{if(Date.now()-this.lastPushStateAt<this.NAVIGATION_DEDUPE_MS)return this.previousUrl=this.currentUrl,void(this.currentUrl=window.location.href);this.previousUrl=this.currentUrl,this.currentUrl=window.location.href,this.trackNavigationEvent("hashchange",this.previousUrl,this.currentUrl)};window.addEventListener("hashchange",t),this.navigationListeners.push(()=>{window.removeEventListener("hashchange",t)});const s=setInterval(()=>{const e=window.location.href;e!==this.currentUrl&&(this.previousUrl=this.currentUrl,this.currentUrl=e,this.trackNavigationEvent("urlChange",this.previousUrl,this.currentUrl))},250);this.navigationListeners.push(()=>clearInterval(s)),this.trackNavigationEvent("pageLoad","",this.currentUrl)}async trackNavigationEvent(e,t,s){if(this.initialized)if("pageLoad"===e||t!==s)try{if("pageLoad"===e||"pushState"===e||"replaceState"===e||"popstate"===e||"hashchange"===e||"urlChange"===e){const s={url:window.location.href,fromUrl:t,$navigation_type:e,navigationType:e,pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,referrer:document.referrer,timestamp:Date.now()};await this.customEvent("$pageview",s)}Fc(`Navigation tracked: ${e} from ${t} to ${s}`)}catch(e){Dc("Failed to track navigation event:",e)}else Fc(`Navigation dedupe: ${e} same URL (${s})`)}async trackPageView(e){if(this.initialized){this.propertyManager.updateAutomaticProperties();try{const t={url:e||window.location.href,pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,referrer:document.referrer,timestamp:(new Date).toISOString()},s=this.propertyManager.getEventProperties(t);await this.addEvent({type:5,data:{payload:{eventType:"pageview",...s}},timestamp:Date.now()}),Fc(`Pageview tracked: ${t.url}`)}catch(e){Dc("Failed to track pageview event:",e)}}}async customEvent(e,t){if(null==e||"string"!=typeof e||""===e.trim())return void Nc("customEvent() called with empty or invalid name; skipping");this.endUserId||(Nc(`endUserId not available, using anonymous ID for event: ${e}`),this.endUserId=_c()),sh&&this.checkAndRefreshSession();const s=this.propertyManager.getEventProperties(t);if(this.shouldSkipDueToMinimumDuration())return Fc(`Custom event '${e}' queued due to session duration below minimum`),void this.pendingCustomEvents.push({eventName:e,properties:s,timestamp:Date.now()});await this.flushPendingCustomEvents(),this.queueCustomEvent(e,s),Fc(`Custom event queued: ${e}`,s)}queueCustomEvent(e,t){this.customEventBatch.push({eventName:e,eventProperties:t}),this.customEventBatch.length>=this.CUSTOM_EVENT_BATCH_MAX?this.flushCustomEventBatch():null==this.customEventBatchTimer&&(this.customEventBatchTimer=setTimeout(()=>{this.customEventBatchTimer=null,this.flushCustomEventBatch()},this.CUSTOM_EVENT_FLUSH_MS))}async flushCustomEventBatch(){if(null!=this.customEventBatchTimer&&(clearTimeout(this.customEventBatchTimer),this.customEventBatchTimer=null),0===this.customEventBatch.length)return;const e=this.customEventBatch;this.customEventBatch=[];try{return await this.api.sendCustomEventBatch(this.sessionId,e,this.endUserId),void Fc(`Custom event batch flushed: ${e.length} event(s)`)}catch(e){Dc("Failed to flush custom event batch, falling back per-event:",e)}for(const t of e)try{await this.api.sendCustomEvent(this.sessionId,t.eventName,t.eventProperties,this.endUserId)}catch(e){Dc("Per-event fallback also failed:",e);try{await this.addEvent({type:5,data:{payload:{eventType:"custom",eventName:t.eventName,properties:t.eventProperties||{},timestamp:(new Date).toISOString(),url:sh?window.location.href:"",pathname:sh?window.location.pathname:""}},timestamp:Date.now()})}catch(e){Dc("Failed to add custom event to event stream as fallback:",e)}}}setupAutomaticTracking(e){if(!sh)return;const t={trackButtons:!1!==e?.trackButtons,trackLinks:!1,trackForms:!1!==e?.trackForms,includeText:!1!==e?.includeText,includeClasses:e?.includeClasses||!1};Fc("Setting up automatic tracking with config:",t),this.setupAutocapture(t),t.trackForms&&this.setupAutomaticFormTracking(t),this.setupRageClickDetection(),this.setupDeadClickDetection()}setupAutocapture(e){document.addEventListener("click",async t=>{const s=t.target;if(!s||1!==s.nodeType||"function"!=typeof s.closest)return;const r=s.closest('button, a, input, select, textarea, label, [role="button"], [role="link"], [role="tab"], [role="menuitem"]')||s,i=(r.tagName||"").toLowerCase(),n={tag:i,x:t.clientX,y:t.clientY,page:window.location.pathname,path:this.buildDomPath(r),timestamp:Date.now()};r.id&&(n.id=r.id,n.elementId=r.id);const o=r.getAttribute&&r.getAttribute("role");o&&(n.role=o);const a=r.type;!a||"input"!==i&&"button"!==i||(n.type=a);const l=r.href;if(l&&(n.href=l),!1!==e.includeText){const e=(r.textContent||"").replace(/\s+/g," ").trim();e&&(n.text=e.substring(0,200),n.elementText=e.substring(0,100))}const c=r.className;e.includeClasses&&"string"==typeof c&&c&&(n.class=c,n.elementClass=c),await this.customEvent("$click",n)})}buildDomPath(e){const t=[];let s=e,r=0;for(;s&&1===s.nodeType&&r<8;){const e=(s.tagName||"").toLowerCase();if(!e)break;let i=e;if(s.id)i+="#"+s.id;else if("string"==typeof s.className&&s.className){const e=s.className.trim().split(/\s+/)[0];e&&(i+="."+e)}if(t.unshift(i),"body"===e||"html"===e)break;s=s.parentElement,r++}return t.join(" > ")}setupRageClickDetection(){sh&&document.addEventListener("click",async e=>{const t=e.target;if(!t||1!==t.nodeType)return;const s=e.clientX,r=e.clientY,i=Date.now();if(this.isRageClick(s,r,i,t)){const e=("function"==typeof t.closest?t.closest('button, a, [role="button"], [role="link"]'):null)||t,n=(e.tagName||"").toLowerCase(),o={x:s,y:r,page:window.location.pathname,element:n,clickCount:this.rageClickTracker.clicks.length,timestamp:i};e.id&&(o.elementId=e.id);const a=e.className;"string"==typeof a&&a&&(o.elementClass=a),e.textContent&&(o.elementText=e.textContent.trim().substring(0,100)),Object.keys(o).forEach(e=>{null!==o[e]&&void 0!==o[e]||delete o[e]}),await this.customEvent("$rageclick",o),this.rageJustFiredAt=i}})}isRageClick(e,t,s,r){if(this.rageJustFiredAt>0&&s-this.rageJustFiredAt<this.RAGE_CLICK_TIMEOUT_MS)return!1;if(this.rageJustFiredAt>0&&s-this.rageJustFiredAt>=this.RAGE_CLICK_TIMEOUT_MS)return this.rageJustFiredAt=0,this.rageClickTracker.clicks=[{x:e,y:t,timestamp:s,element:r}],!1;const i=this.rageClickTracker.clicks,n=i[i.length-1],o=i[0];if(o&&n&&s-n.timestamp<this.RAGE_CLICK_TIMEOUT_MS&&Math.hypot(e-o.x,t-o.y)<this.RAGE_CLICK_THRESHOLD_PX){if(i.push({x:e,y:t,timestamp:s,element:r}),i.length===this.RAGE_CLICK_CLICK_COUNT)return!0}else this.rageClickTracker.clicks=[{x:e,y:t,timestamp:s,element:r}];return!1}setupDeadClickDetection(){sh&&(this.setupDeadClickMutationObserver(),this.setupDeadClickScrollObserver(),this.setupDeadClickSelectionObserver(),this.setupDeadClickNavigationTracking(),document.addEventListener("click",e=>{const t=e.target;if(!t||1!==t.nodeType)return;if(!this.isInteractiveElement(t))return;if(this.ignoreClickForDeadDetection(t))return;const s=Date.now()+Math.random(),r=Date.now(),i=this.deadClickTracker.lastMutationTime,n=this.DEAD_CLICK_ABSOLUTE_TIMEOUT_MS,o=window.setTimeout(()=>{this.handleDeadClickTimeout(s)},n);this.deadClickTracker.pendingClicks.set(s,{element:t,originalEvent:e,timestamp:r,timer:o,cancelled:!1,lastMutationTimeAtClick:i})}))}setupDeadClickMutationObserver(){sh&&(this.deadClickTracker.mutationObserver||(this.deadClickTracker.mutationObserver=new MutationObserver(()=>{const e=Date.now();this.deadClickTracker.lastMutationTime=e,this.deadClickTracker.pendingClicks.forEach((t,s)=>{if(t.cancelled)return;const r=e-t.timestamp,i=t.lastMutationTimeAtClick||0,n=e>i,o=r>=0&&r<this.DEAD_CLICK_MUTATION_THRESHOLD_MS,a=r<0&&Math.abs(r)<50;(o&&n||a)&&this.cancelPendingClick(s)})}),this.deadClickTracker.mutationObserver.observe(document,{attributes:!0,characterData:!0,childList:!0,subtree:!0})))}setupDeadClickScrollObserver(){sh&&window.addEventListener("scroll",()=>{const e=Date.now();this.deadClickTracker.pendingClicks.forEach((t,s)=>{e-t.timestamp<this.DEAD_CLICK_SCROLL_THRESHOLD_MS&&this.cancelPendingClick(s)})},{capture:!0,passive:!0})}setupDeadClickSelectionObserver(){sh&&document.addEventListener("selectionchange",()=>{const e=Date.now();this.deadClickTracker.lastSelectionChangedTime=e,this.deadClickTracker.pendingClicks.forEach((t,s)=>{e-t.timestamp<this.DEAD_CLICK_SELECTION_THRESHOLD_MS&&this.cancelPendingClick(s)})})}setupDeadClickNavigationTracking(){if(!sh)return;let e=window.location.href;const t=this.trackNavigationEvent.bind(this);this.trackNavigationEvent=async(s,r,i)=>(this.cancelAllPendingClicks(),e=window.location.href,t(s,r,i));const s=()=>{const t=window.location.href;t!==e&&(this.cancelAllPendingClicks(),e=t)};window.addEventListener("popstate",s),window.addEventListener("hashchange",s),window.addEventListener("beforeunload",()=>{this.cancelAllPendingClicks()}),setInterval(()=>{s()},100)}isInteractiveElement(e){if(!e||1!==e.nodeType||!e.tagName)return!1;const t=e.tagName.toLowerCase();if("button"===t||"a"===t)return!0;if("input"===t)return!1;if(["select","textarea"].includes(t))return!0;const s=e.getAttribute("role");if(s&&["button","link","tab","menuitem","checkbox","radio"].includes(s))return!0;if(e.onclick||e.getAttribute("onclick"))return!0;try{if("pointer"===window.getComputedStyle(e).cursor)return!0}catch(e){}return!!e.closest('button, a, [role="button"], [role="link"], [role="tab"], [role="menuitem"]')}ignoreClickForDeadDetection(e){if(!e||!e.tagName)return!0;if("html"===e.tagName.toLowerCase())return!0;const t=Date.now();for(const s of this.deadClickTracker.pendingClicks.values())if(s.element===e&&Math.abs(t-s.timestamp)<1e3)return!0;return!1}cancelPendingClick(e){const t=this.deadClickTracker.pendingClicks.get(e);t&&!t.cancelled&&(clearTimeout(t.timer),t.cancelled=!0,this.deadClickTracker.pendingClicks.delete(e))}cancelAllPendingClicks(){this.deadClickTracker.pendingClicks.forEach((e,t)=>{e.cancelled||(clearTimeout(e.timer),this.deadClickTracker.pendingClicks.delete(t))})}async handleDeadClickTimeout(e){const t=this.deadClickTracker.pendingClicks.get(e);if(!t||t.cancelled)return;const s=Date.now()-t.timestamp;let r;const i=t.lastMutationTimeAtClick||0,n=this.deadClickTracker.lastMutationTime||0,o=n>i&&n>=t.timestamp,a=i>0&&i<t.timestamp&&t.timestamp-i<50;let l;o?r=n-t.timestamp:a&&(r=0),this.deadClickTracker.lastSelectionChangedTime&&t.timestamp<=this.deadClickTracker.lastSelectionChangedTime&&(l=this.deadClickTracker.lastSelectionChangedTime-t.timestamp);const c=void 0!==r&&r<this.DEAD_CLICK_MUTATION_THRESHOLD_MS,h=void 0!==l&&l<this.DEAD_CLICK_SELECTION_THRESHOLD_MS;c||h||await this.fireDeadClickEvent(t,s,r,l),this.deadClickTracker.pendingClicks.delete(e)}async fireDeadClickEvent(e,t,s,r){const i=e.element.closest('button, a, [role="button"], [role="link"]')||e.element,n={x:e.originalEvent.clientX,y:e.originalEvent.clientY,page:window.location.pathname,element:i.tagName.toLowerCase(),absoluteDelayMs:t,timestamp:e.timestamp};void 0!==s&&(n.mutationDelayMs=s),void 0!==r&&(n.selectionChangedDelayMs=r),i.id&&(n.elementId=i.id),i.className&&(n.elementClass=i.className),i.textContent&&(n.elementText=i.textContent.trim().substring(0,100)),Object.keys(n).forEach(e=>{null!==n[e]&&void 0!==n[e]||delete n[e]}),await this.customEvent("$deadclick",n)}setupAutomaticLinkTracking(e){}setupAutomaticFormTracking(e){document.addEventListener("submit",async t=>{const s=t.target,r=new FormData(s),i={formId:s.id||null,formAction:s.action||null,formMethod:s.method||"get",fields:Array.from(r.keys()),page:window.location.pathname,timestamp:Date.now()};e.includeClasses&&(i.formClass=s.className||null),Object.keys(i).forEach(e=>{null===i[e]&&delete i[e]}),await this.customEvent("$form_submitted",i)})}cleanupNavigationTracking(){this.navigationTrackingEnabled&&(this.originalPushState&&(history.pushState=this.originalPushState),this.originalReplaceState&&(history.replaceState=this.originalReplaceState),this.navigationListeners.forEach(e=>e()),this.navigationListeners=[],this.navigationTrackingEnabled=!1,Fc("Navigation tracking cleaned up"))}static logToStorage(e){Lc(e)}static configureLogging(e){Rc.setConfig({level:{none:0,error:1,warn:2,info:3,debug:4}[e.level||"error"],enableConsole:!1!==e.enableConsole,enableStorage:e.enableStorage||!1})}enableConsoleTracking(){sh&&!this.consoleTrackingEnabled&&(this.originalConsole={log:console.log,warn:console.warn,error:console.error},console.log=(...e)=>{this.trackConsoleEvent("log",e),this.originalConsole.log(...e)},console.warn=(...e)=>{this.trackConsoleEvent("warn",e),this.originalConsole.warn(...e)},console.error=(...e)=>{this.trackConsoleEvent("error",e),this.originalConsole.error(...e)},this.consoleTrackingEnabled=!0,Fc("Console tracking enabled"))}enableNetworkTracking(){sh&&!this.networkTrackingEnabled&&"undefined"!=typeof fetch&&(this.originalFetch=window.fetch.bind(window),window.fetch=async(e,t)=>{const s=Date.now(),r=_c(),i="string"==typeof e?e:e instanceof URL?e.toString():e.url,n=(t?.method||("object"==typeof e&&"method"in e?e.method:void 0)||"GET").toUpperCase(),o=this.shouldSkipNetworkTracking(i);let a=null,l=!1;o||(a=setTimeout(()=>{const e=Date.now()-s;if(!l){l=!0;const t={requestId:r,url:i,method:n,status:null,statusText:null,duration:e,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:"long_loading",errorMessage:`Request took longer than 10000ms (${e}ms elapsed)`,startTimeMs:s,spanName:`${n} ${i}`,spanStatus:"slow",attributes:{"http.method":n,"http.url":i,"request.duration_ms":e,"request.long_loading_threshold_ms":1e4},automaticProperties:this.propertyManager.getAutomaticProperties()};return this.shouldSkipDueToMinimumDuration()?(Fc("Long-loading network error queued due to session duration below minimum"),void this.pendingNetworkErrors.push({errorData:t,timestamp:Date.now()})):(this.flushPendingNetworkErrors(),void this.api.sendNetworkError(t).catch(()=>{}))}},1e4));try{const l=await this.originalFetch(e,t),c=Date.now()-s;if(a&&clearTimeout(a),!l.ok&&!o){const e={requestId:r,url:i,method:n,status:l.status,statusText:l.statusText,duration:c,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyHttpError(l.status),errorMessage:l.statusText,startTimeMs:s,spanName:`${n} ${i}`,spanStatus:"error",attributes:{"http.status_code":l.status,"http.status_text":l.statusText},automaticProperties:this.propertyManager.getAutomaticProperties()};if(this.shouldSkipDueToMinimumDuration())return Fc("Failed request network error queued due to session duration below minimum"),this.pendingNetworkErrors.push({errorData:e,timestamp:Date.now()}),l;this.flushPendingNetworkErrors(),this.api.sendNetworkError(e).catch(()=>{})}return l}catch(e){const t=Date.now()-s;if(a&&clearTimeout(a),!o){const o={requestId:r,url:i,method:n,status:null,statusText:null,duration:t,timestampMs:Date.now(),sessionId:this.sessionId,endUserId:this.endUserId,errorType:this.classifyNetworkError(e),errorMessage:e.message,errorName:e.name,startTimeMs:s,spanName:`${n} ${i}`,spanStatus:"error",attributes:{"error.name":e.name,"error.message":e.message},automaticProperties:this.propertyManager.getAutomaticProperties()};if(this.shouldSkipDueToMinimumDuration())throw Fc("Network error queued due to session duration below minimum"),this.pendingNetworkErrors.push({errorData:o,timestamp:Date.now()}),e;this.flushPendingNetworkErrors(),this.api.sendNetworkError(o).catch(()=>{})}throw e}},this.networkTrackingEnabled=!0,Fc("Network tracking enabled"))}async flushPendingCustomEvents(){if(0===this.pendingCustomEvents.length)return;const e=[...this.pendingCustomEvents];this.pendingCustomEvents=[],Fc(`Flushing ${e.length} pending custom events`);for(const{eventName:t,properties:s}of e)this.queueCustomEvent(t,s)}async flushPendingLogs(){if(0===this.pendingLogs.length)return;const e=[...this.pendingLogs];this.pendingLogs=[],Fc(`Flushing ${e.length} pending logs`);for(const{logData:t}of e)try{await this.api.sendLog(t)}catch(e){Dc("Failed to flush pending log:",e)}}async flushPendingNetworkErrors(){if(0===this.pendingNetworkErrors.length)return;const e=[...this.pendingNetworkErrors];this.pendingNetworkErrors=[],Fc(`Flushing ${e.length} pending network errors`);for(const{errorData:t}of e)try{await this.api.sendNetworkError(t)}catch(e){Dc("Failed to flush pending network error:",e)}}enablePageLoadTracking(){sh&&"undefined"!=typeof window&&("complete"===document.readyState?this.trackPageLoad():window.addEventListener("load",()=>{this.trackPageLoad()}),Fc("Page load tracking enabled"))}trackPageLoad(){if(sh&&"undefined"!=typeof performance)try{const e=performance.getEntriesByType("navigation")[0];if(!e)return;const t=e.loadEventEnd-e.fetchStart;if(t>3e3){const s=_c(),r=e.domContentLoadedEventEnd-e.fetchStart,i=e.domComplete-e.fetchStart,n={requestId:s,url:window.location.href,method:"GET",status:200,statusText:"OK",duration:t,timestampMs:e.loadEventEnd+performance.timeOrigin,sessionId:this.sessionId,endUserId:this.endUserId,errorType:"slow_page_load",errorMessage:`Page load took ${t}ms`,startTimeMs:e.fetchStart+performance.timeOrigin,spanName:"page_load",spanStatus:"slow",attributes:{"page.url":window.location.href,"page.load_time":t,"page.dom_content_loaded":r,"page.dom_complete":i}};if(this.shouldSkipDueToMinimumDuration())return Fc("Slow page load network error queued due to session duration below minimum"),void this.pendingNetworkErrors.push({errorData:n,timestamp:Date.now()});this.flushPendingNetworkErrors(),this.api.sendNetworkError(n).catch(()=>{})}}catch(e){Nc("Failed to track page load:",e)}}shouldSkipNetworkTracking(e){if(!e||!this.ingestionUrl)return!1;try{const t=new URL(e),s=new URL(this.ingestionUrl);return!(t.origin!==s.origin||!t.pathname.startsWith("/api/ingestion/"))||!!e.includes(this.ingestionUrl)}catch(t){return e.includes(this.ingestionUrl)}}classifyHttpError(e){return e>=400&&e<500?"client_error":e>=500?"server_error":"unknown_error"}classifyNetworkError(e){const t=e.message||"",s=e.name||"";return t.includes("blocked")||t.includes("ERR_BLOCKED_BY_CLIENT")||t.includes("net::ERR_BLOCKED_BY_CLIENT")||"TypeError"===s&&t.includes("Failed to fetch")?"blocked_by_client":t.includes("CORS")||t.includes("Cross-Origin")||t.includes("Access-Control-Allow-Origin")||"TypeError"===s&&t.includes("CORS")?"cors_error":t.includes("timeout")||t.includes("TIMEOUT")||t.includes("NetworkError")||"NetworkError"===s?"network_error":t.includes("abort")||"AbortError"===s?"aborted":"unknown_error"}disableConsoleTracking(){sh&&this.consoleTrackingEnabled&&(this.originalConsole&&(console.log=this.originalConsole.log,console.warn=this.originalConsole.warn,console.error=this.originalConsole.error),this.consoleTrackingEnabled=!1,Fc("Console tracking disabled"))}trackConsoleEvent(e,t){if(this.initialized)if("log"!==e)try{if(Pc)return void(this.originalConsole&&this.originalConsole[e](...t));const s=(new Error).stack||"";if(this.isSDKStackFrame(s))return void(this.originalConsole&&this.originalConsole[e](...t));const r={level:e,message:t.map(e=>"object"==typeof e?JSON.stringify(e):String(e)).join(" "),timestampMs:Date.now(),url:sh?window.location.href:"",userAgent:sh?navigator.userAgent:"",stack:s,sessionId:this.sessionId,endUserId:this.endUserId,automaticProperties:this.propertyManager.getAutomaticProperties()};if(this.shouldSkipDueToMinimumDuration())return Fc(`Console ${e} queued due to session duration below minimum`),void this.pendingLogs.push({logData:r,timestamp:Date.now()});this.flushPendingLogs(),this.api.sendLog(r).catch(e=>{this.addEvent({type:5,data:{payload:{eventType:"console",...r}},timestamp:Date.now()}).catch(()=>{})})}catch(e){Dc("Error in trackConsoleEvent:",e)}else this.originalConsole&&this.originalConsole.log(...t)}isSDKStackFrame(e){if(!e)return!1;const t=["humanbehavior-js","@humanbehavior/core","@humanbehavior/browser","tracker.ts","api.ts","logger.ts","utils/logger","packages/core","packages/browser","index.mjs","index.js"],s=e.split("\n");e.toLowerCase();let r=!1;for(let e=0;e<s.length;e++){const i=s[e].trim().toLowerCase();if(i&&"error"!==i&&!i.startsWith("error:")&&!t.some(e=>i.includes(e.toLowerCase()))){r=!0;break}}return!r}setupPageUnloadHandler(){if(!sh)return;const e="__humanBehaviorUnloadAttached";if(window[e])return Fc("Page unload handlers already attached on window β skipping re-attach"),void(window.__humanBehaviorActiveTracker=this);window[e]=!0,window.__humanBehaviorActiveTracker=this,Fc("Setting up page unload handler"),window.addEventListener("visibilitychange",()=>{const e="hidden"===document.visibilityState?"hidden":"visible";this.emitVisibilityMarker(e),"hidden"===document.visibilityState&&(Fc("Page hidden - sending pending events"),this.flushEvents())}),this.setupWindowFocusTracking();const t="onpagehide"in window?"pagehide":"beforeunload";window.addEventListener(t,()=>{Fc("Page unloading - sending final events via sendBeacon");let e=!1;try{if(this.customEventBatch.length>0){null!=this.customEventBatchTimer&&(clearTimeout(this.customEventBatchTimer),this.customEventBatchTimer=null);const e=this.customEventBatch;this.customEventBatch=[];const t=this.api?.sendCustomEventBatchBeacon(this.sessionId,e,this.endUserId);t||this.api?.sendCustomEventBatch(this.sessionId,e,this.endUserId).catch(()=>{})}}catch{}const t=[...this.eventQueue];if(sh&&window.__hb_pending_snapshots){const e=window.__hb_pending_snapshots;Array.isArray(e)&&e.length>0&&(Fc("Including pending FullSnapshot(s) in sendBeacon for short session"),t.unshift(...e),delete window.__hb_pending_snapshots)}if(t.length>0&&this.api)try{const e=this.propertyManager.getAutomaticProperties();this.api.sendBeaconEvents(t,this.sessionId,this.endUserId||void 0,this.windowId,e),this.eventQueue=[]}catch(e){Nc("Failed to send events via sendBeacon on unload:",e)}this.api&&this.api.unload(),(()=>{if(!e){e=!0;try{this.api?.sendSessionEndBeacon(this.sessionId,this.endUserId)}catch{}}})()});const s=()=>{localStorage.setItem("human_behavior_last_activity",Date.now().toString())};window.addEventListener("click",s),window.addEventListener("keydown",s),window.addEventListener("scroll",s),window.addEventListener("mousemove",s)}viewLogs(){try{const e=Rc.getLogs();Lc("HumanBehavior Logs:",e),Rc.clearLogs()}catch(e){Dc("Failed to read logs:",e)}}async identifyUser(e){const t=e?.userProperties&&"object"==typeof e.userProperties?e.userProperties:e||{},s=this.endUserId;this.userProperties={...this.userProperties,...t};try{this.propertyManager?.setUserProperties(t)}catch{}Fc("Identifying user:",{userProperties:t,originalEndUserId:s,sessionId:this.sessionId}),!sh||this.propertyManager.getAutomaticProperties();const r=await this.api.sendUserData(s||"",t,this.sessionId);if(r.actualUserId||r.wasExistingUser){const t=r.actualUserId||s;if(t&&t!==s){const r="human_behavior_end_user_id";if(this.setCookie(r,t,365),sh)try{localStorage.setItem(r,t)}catch(e){Fc("Failed to set canonical endUserId in localStorage:",e)}Fc(`π Preexisting user detected. Future sessions will use canonical ID: ${t} (current session stays: ${s})`)}}return s||""}getUserAttributes(){return{...(()=>{try{return this.propertyManager?.getAllProperties().user||{}}catch{return{}}})(),...this.userProperties}}async start(){if(!sh)return;if(this.isStarted)return void Fc("HumanBehaviorTracker already started, skipping start() call.");this.isStarted=!0,this._lastActivityTimestamp=null!==this._sessionActivityTimestamp?this._sessionActivityTimestamp:Date.now(),this._isIdle="unknown",this.flushInterval=window.setInterval(()=>{this.flushEvents()},this.FLUSH_INTERVAL_MS),this.heartbeatInterval=window.setInterval(()=>{try{if("undefined"!=typeof document&&"visible"!==document.visibilityState)return;if(!this.sessionId||!this.api)return;this.api.sendHeartbeatBeacon(this.sessionId,this.endUserId)}catch{}},this.HEARTBEAT_INTERVAL_MS),this.enableConsoleTrackingFlag&&this.enableConsoleTracking(),this.enableNetworkTrackingFlag&&this.enableNetworkTracking(),this.enablePageLoadTracking(),this.api.sendIpInfo(this.sessionId,this.endUserId);const e=()=>{if(this.recordInstance)return void Fc("π― Recording already started, skipping duplicate start");Fc("π― DOM ready, starting session recording"),this.rrwebRecord=Cc;const e=Cc({emit:e=>{this.addRecordingEvent(e),2===e.type&&Fc(`π― FullSnapshot generated at ${(new Date).toISOString()}`)},maskTextSelector:this.redactionManager.getMaskTextSelector()||void 0,maskTextFn:void 0,maskAllInputs:"privacy-first"===this.redactionManager.getRedactionMode(),maskInputOptions:{password:!0,text:!0,textarea:!0,email:!0,number:!0,tel:!0,url:!0,search:!0,date:!0,time:!0,month:!0,week:!0},maskInputFn:(e,t)=>{try{const s=this.redactionManager.getRedactionMode();if(!(t instanceof HTMLElement))return e;if("privacy-first"===s)return"*".repeat(e.length||1);const r=this.redactionManager.shouldUnredactElement(t);return t.id,t.name,t.type,r?e:"*".repeat(e.length||1)}catch{return e}},slimDOMOptions:{},collectFonts:!1,inlineStylesheet:!0,recordCrossOriginIframes:!1,recordCanvas:this.recordCanvas,sampling:this.recordCanvas?{canvas:4}:void 0,dataURLOptions:this.recordCanvas?{type:"image/webp",quality:.4}:void 0,hooks:{input:e=>{try{if("privacy-first"===this.redactionManager.getRedactionMode())return;const t="undefined"!=typeof document?document.querySelector(`[data-rrweb-id="${e.id}"]`):null;t&&t instanceof HTMLElement&&(this.redactionManager.shouldUnredactElement(t)||(void 0!==e.text&&(e.text="*".repeat(e.text?.length||1)),void 0!==e.value&&(e.value="*".repeat(e.value?.length||1))))}catch{}}}});this.recordInstance=e||null};if(Fc(`π― DOM ready state: ${document.readyState}`),"complete"===document.readyState||"interactive"===document.readyState)Fc(`π― DOM ready (${document.readyState}), starting recording immediately`),e();else{Fc("π― DOM not ready, waiting for DOMContentLoaded event");const t=()=>("interactive"===document.readyState||"complete"===document.readyState)&&(Fc(`π― DOM ready (${document.readyState}), starting recording`),e(),!0);if(t())return;document.addEventListener("DOMContentLoaded",()=>{Fc("π― DOMContentLoaded fired, starting recording"),e()},{once:!0});const s=setInterval(()=>{t()&&clearInterval(s)},10);setTimeout(()=>clearInterval(s),5e3)}}emitVisibilityMarker(e){try{const t={type:5,data:{tag:"$visibility",payload:{state:e}},timestamp:Date.now()};this.eventQueue.push(t)}catch{}}emitFocusMarker(e){try{const t={type:5,data:{tag:"$focus",payload:{state:e}},timestamp:Date.now()};this.eventQueue.push(t)}catch{}}setupWindowFocusTracking(){if(sh){try{"function"!=typeof document.hasFocus||document.hasFocus()||(this.emitFocusMarker("blurred"),this.lastEmittedFocusState="blurred")}catch{}window.addEventListener("blur",()=>this.onWindowBlur(),!1),window.addEventListener("focus",()=>this.onWindowFocus(),!1)}}onWindowBlur(){sh&&(null!==this.focusBlurGraceTimeout&&clearTimeout(this.focusBlurGraceTimeout),this.focusBlurGraceTimeout=window.setTimeout(()=>{this.focusBlurGraceTimeout=null;try{if("function"==typeof document.hasFocus&&document.hasFocus())return;if("blurred"===this.lastEmittedFocusState)return;this.emitFocusMarker("blurred"),this.lastEmittedFocusState="blurred"}catch{}},this.FOCUS_BLUR_GRACE_MS))}onWindowFocus(){if(sh&&(null!==this.focusBlurGraceTimeout&&(clearTimeout(this.focusBlurGraceTimeout),this.focusBlurGraceTimeout=null),"blurred"===this.lastEmittedFocusState))try{this.emitFocusMarker("focused"),this.lastEmittedFocusState="focused"}catch{}}takeFullSnapshot(){this.fullSnapshotTimeout&&clearTimeout(this.fullSnapshotTimeout),this.fullSnapshotTimeout=window.setTimeout(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{try{this.rrwebRecord&&"function"==typeof this.rrwebRecord.takeFullSnapshot?(this.rrwebRecord.takeFullSnapshot(),Fc("β
FullSnapshot taken (delayed for animations)")):Nc("β οΈ takeFullSnapshot not available on record function")}catch(e){Dc("β Failed to take FullSnapshot:",e)}})})},1e3)}async stop(){await this.ensureInitialized(),sh&&(this.flushInterval&&(clearInterval(this.flushInterval),this.flushInterval=null),this.heartbeatInterval&&(clearInterval(this.heartbeatInterval),this.heartbeatInterval=null),this.recordInstance&&(this.recordInstance(),this.recordInstance=null),this.fullSnapshotTimeout&&(clearTimeout(this.fullSnapshotTimeout),this.fullSnapshotTimeout=null),null!==this.focusBlurGraceTimeout&&(clearTimeout(this.focusBlurGraceTimeout),this.focusBlurGraceTimeout=null),this.rrwebRecord=null,this.disableConsoleTracking(),this.cleanupNavigationTracking(),this.deadClickTracker.mutationObserver&&(this.deadClickTracker.mutationObserver.disconnect(),this.deadClickTracker.mutationObserver=void 0),this.deadClickTracker.pendingClicks.forEach((e,t)=>{e.cancelled||clearTimeout(e.timer)}),this.deadClickTracker.pendingClicks.clear())}async addEvent(e){if(sh&&this.checkAndRefreshSession(),e&&"object"==typeof e){if(2===e.type){const t=!!e.data,s=!(!e.data||!e.data.node);Fc(t&&s?`β
Valid FullSnapshot: hasData=${t}, hasNode=${s}, dataType=${e.data?.node?.type}`:`β οΈ Empty FullSnapshot detected: hasData=${t}, hasNode=${s} - continuing session`)}this.eventQueue.length>=this.MAX_QUEUE_SIZE&&(this.eventQueue.shift(),Fc("Queue is full, the oldest event is dropped.")),this.eventQueue.push(e),2===e.type?(Fc("FullSnapshot added, triggering immediate flush"),this.flushEvents()):this.eventQueue.length>=.8*this.MAX_QUEUE_SIZE&&(Fc(`Queue at ${this.eventQueue.length}/${this.MAX_QUEUE_SIZE}, triggering immediate flush`),this.flushEvents())}else Fc("β οΈ Skipping invalid event:",e)}getSessionDuration(){const e=this._sessionStartTimestamp??this.sessionStartTime;if(!e)return null;const t=this.eventQueue.filter(e=>e&&e.timestamp);if(0===t.length)return null;const s=t.reduce((e,t)=>!e||t.timestamp&&t.timestamp>e.timestamp?t:e,null);if(!s||!s.timestamp)return null;const r=s.timestamp-e;return r>=0?r:null}shouldSkipDueToMinimumDuration(){const e=this.minimumDurationMilliseconds,t=this.getSessionDuration();return!!(null!==t&&t>=0&&t<e)&&(Fc(`Session duration (${t}ms) below minimum (${e}ms), skipping send`),!0)}async flushEvents(){if(this.isProcessing)return;if(this.monthlyLimitReached)return;if(!0===this._isIdle&&0===this.eventQueue.length)return;const e=this.minimumDurationMilliseconds,t=this.getSessionDuration();if(null!==t&&t>=0&&t<e)return Fc(`Session duration (${t}ms) below minimum (${e}ms), buffering`),void setTimeout(()=>{this.flushEvents()},2e3);this.isProcessing=!0;try{const t=this.eventQueue,s=t.filter(e=>e&&2===e.type);if(this.eventQueue=[],s.length>0&&sh&&(window.__hb_pending_snapshots=s,setTimeout(()=>{delete window.__hb_pending_snapshots},5e3)),t.length>0){Fc("Flushing events:",t);const s=t.filter(e=>2===e.type);s.length>0&&Fc(`[FIXED] Sending ${s.length} FullSnapshot(s) with valid data`);try{const e=this.propertyManager.getAutomaticProperties();await this.api.sendEventsChunked(t,this.sessionId,this.endUserId,this.windowId,e)}catch(e){if(e.message?.includes("ERROR: Session already completed"))Nc("Session expired, events will be lost");else if(e.message?.includes("413")||e.message?.includes("Content Too Large"))Nc("Payload too large, events will be lost");else{if(!(e.message?.includes("ERR_BLOCKED_BY_CLIENT")||e.message?.includes("Failed to fetch")||e.message?.includes("NetworkError")))throw e;Nc("Request blocked by ad blocker or network issue, events will be lost")}}}await this.flushPendingCustomEvents(),await this.flushPendingLogs(),await this.flushPendingNetworkErrors()}finally{this.isProcessing=!1}}isInteractiveEvent(e){if(3!==e.type)return!1;const t=e.data?.source;return[1,2,3,4,5,6,11].includes(t)}updateIdleState(e){const t=this.isInteractiveEvent(e),s=e.timestamp||Date.now();if(t){const e=!0===this._isIdle;this._lastActivityTimestamp=s,null!==this._sessionActivityTimestamp&&(this._sessionActivityTimestamp=s),e?(Fc("β
User activity detected, exiting idle state"),this._isIdle=!1):"unknown"===this._isIdle&&(this._isIdle=!1)}else if(!0!==this._isIdle){const e=s-this._lastActivityTimestamp;e>this.IDLE_THRESHOLD_MS&&(Fc(`βΈοΈ Session idle detected (${Math.round(e/1e3)}s since last activity) - stopping background event recording`),Fc(`βΉοΈ Session will expire after ${Math.round(this.SESSION_IDLE_TIMEOUT_MS/6e4)} minutes of inactivity (${Math.round((this.SESSION_IDLE_TIMEOUT_MS-e)/1e3)}s remaining)`),this._isIdle=!0,this.flushEvents())}}async addRecordingEvent(e){if(sh&&this.checkAndRefreshSession(),e&&"object"==typeof e){if(this.updateIdleState(e),!0!==this._isIdle||3!==e.type||this.isInteractiveEvent(e)){if(2===e.type){const t=!!e.data,s=!(!e.data||!e.data.node);Fc(t&&s?`β
Valid FullSnapshot: hasData=${t}, hasNode=${s}, dataType=${e.data?.node?.type}`:`β οΈ Empty FullSnapshot detected: hasData=${t}, hasNode=${s} - continuing session`)}this.eventQueue.length>=this.MAX_QUEUE_SIZE&&(this.eventQueue.shift(),Fc("Queue is full, the oldest event is dropped.")),this.eventQueue.push(e),2===e.type?(Fc("FullSnapshot added, triggering immediate flush"),this.flushEvents()):!0!==this._isIdle&&this.eventQueue.length>=.8*this.MAX_QUEUE_SIZE&&(Fc(`Queue at ${this.eventQueue.length}/${this.MAX_QUEUE_SIZE}, triggering immediate flush`),this.flushEvents())}}else Fc("β οΈ Skipping invalid recording event:",e)}_canUseSessionStorage(){if(!sh)return!1;try{const e="__sessionStorage_test__";return sessionStorage.setItem(e,e),sessionStorage.removeItem(e),!0}catch{return!1}}_getWindowIdFromStorage(){if(!this._canUseSessionStorage())return null;try{return sessionStorage.getItem(this._window_id_storage_key)}catch{return null}}_setWindowIdInStorage(e){if(this._canUseSessionStorage())try{sessionStorage.setItem(this._window_id_storage_key,e),Fc(`Stored windowId in sessionStorage: ${e}`)}catch(e){Nc("Failed to store windowId in sessionStorage:",e)}}_removeWindowIdFromStorage(){if(this._canUseSessionStorage())try{sessionStorage.removeItem(this._window_id_storage_key)}catch(e){Nc("Failed to remove windowId from sessionStorage:",e)}}_getPrimaryWindowExists(){if(!this._canUseSessionStorage())return!1;try{return"true"===sessionStorage.getItem(this._primary_window_exists_storage_key)}catch{return!1}}_setPrimaryWindowExists(e){if(this._canUseSessionStorage())try{e?sessionStorage.setItem(this._primary_window_exists_storage_key,"true"):sessionStorage.removeItem(this._primary_window_exists_storage_key)}catch(e){Nc("Failed to set primary_window_exists flag:",e)}}getOrCreateWindowId(){if(!sh)return _c();const e=this._getWindowIdFromStorage(),t=this._getPrimaryWindowExists();if(e&&!t)return Fc(`Reusing windowId from previous page load: ${e}`),this._setWindowIdInStorage(e),this._setPrimaryWindowExists(!0),e;{const e=_c();return Fc(`Creating new windowId: ${e} (new window/tab detected)`),this._setWindowIdInStorage(e),this._setPrimaryWindowExists(!0),e}}setupWindowUnloadListener(){sh&&window.addEventListener("beforeunload",()=>{this._canUseSessionStorage()&&(this._setPrimaryWindowExists(!1),Fc("Cleared primary_window_exists flag on beforeunload"))},{capture:!1})}setCookie(e,t,s){if(sh)try{const r=new Date;r.setTime(r.getTime()+24*s*60*60*1e3);const i=`expires=${r.toUTCString()}`;document.cookie=`${e}=${t};${i};path=/;SameSite=Lax`,localStorage.setItem(e,t),Fc(`Set cookie and localStorage: ${e}`)}catch(s){try{localStorage.setItem(e,t),Fc(`Cookie blocked, using localStorage: ${e}`)}catch(e){Dc("Failed to store user ID in both cookie and localStorage:",e)}}}getCookie(e){if(!sh)return null;try{const t=e+"=",s=document.cookie.split(";");for(let r=0;r<s.length;r++){let i=s[r];for(;" "===i.charAt(0);)i=i.substring(1,i.length);if(0===i.indexOf(t)){const s=i.substring(t.length,i.length);return Fc(`Found cookie: ${e}`),s}}const r=localStorage.getItem(e);return r?(Fc(`Cookie not found, using localStorage: ${e}`),r):null}catch(t){try{const t=localStorage.getItem(e);if(t)return Fc(`Cookie access failed, using localStorage: ${e}`),t}catch(e){Dc("Failed to access both cookie and localStorage:",e)}return null}}deleteCookie(e){if(sh){try{document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; SameSite=Lax`,Fc(`Deleted cookie: ${e}`)}catch(t){Dc(`Failed to delete cookie: ${e}`,t)}try{localStorage.removeItem(e),Fc(`Removed from localStorage: ${e}`)}catch(t){Dc(`Failed to remove from localStorage: ${e}`,t)}}}logout(){if(sh)try{const e="human_behavior_end_user_id";this.deleteCookie(e);const t="human_behavior_session";localStorage.removeItem(t),this.endUserId=null,this.userProperties={},this.endUserId=_c(),this.setCookie("human_behavior_end_user_id",this.endUserId,365),this.sessionId=this.createNewSession(t),this.windowId=_c(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),Lc("User logged out - cleared all user data and started fresh session")}catch(e){Dc("Error during logout:",e)}}async redact(e){await this.ensureInitialized(),sh?this.redactionManager=new Hc(e):Nc("Redaction is only available in browser environments")}setRedactedFields(e){this.redactionManager.setFieldsToRedact(e),this.recordInstance&&this.restartWithNewRedaction()}setUnredactedFields(e){this.redactionManager.setFieldsToUnredact(e),this.recordInstance&&this.restartWithNewRedaction()}restartWithNewRedaction(){this.recordInstance&&(this.recordInstance(),this.start())}hasUnredactedFields(){return this.redactionManager.hasUnredactedFields()}getUnredactedFields(){return this.redactionManager.getUnredactedFields()}redactFields(e){this.redactionManager.redactFields(e),this.recordInstance&&this.restartWithNewRedaction()}clearUnredactedFields(){this.redactionManager.clearUnredactedFields(),this.recordInstance&&this.restartWithNewRedaction()}checkAndRefreshSession(){if(!sh)return;const e="human_behavior_session",t=Date.now(),s=this.getStoredSession(e);if(!s||!s.sessionId)return this.createNewSession(e),this.windowId=_c(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),void Fc(`Created new session (no stored session): ${this.sessionId}`);this.updateSessionActivity(e,t,s.sessionId,s.sessionStartTimestamp)}getOrCreateSessionId(){if(!sh)return _c();const e="human_behavior_session",t=Date.now(),s=this.getStoredSession(e);if(!s||!s.sessionId){const t=this.createNewSession(e);return this.api.setTrackingContext(t,this.endUserId),t}const r=t-s.lastActivityTimestamp,i=t-s.sessionStartTimestamp;if(r>this.SESSION_IDLE_TIMEOUT_MS||i>this.SESSION_MAX_LENGTH_MS){Fc(`Session expired: idle=${r}ms, age=${i}ms`);const t=this.createNewSession(e);return this.api.setTrackingContext(t,this.endUserId),t}return this.updateSessionActivity(e,t,s.sessionId,s.sessionStartTimestamp),s.sessionId}getStoredSession(e){const t=Date.now(),s=this.SESSION_IDLE_TIMEOUT_MS,r=this.SESSION_MAX_LENGTH_MS;if(this.sessionId&&null!==this._sessionActivityTimestamp&&null!==this._sessionStartTimestamp){const i=t-this._sessionActivityTimestamp,n=t-this._sessionStartTimestamp;if(!(i>s||n>r))return{sessionId:this.sessionId,lastActivityTimestamp:this._sessionActivityTimestamp,sessionStartTimestamp:this._sessionStartTimestamp};{Fc("Session in memory expired: creating new session immediately");const t=this.sessionId;if(this.createNewSession(e),this.windowId=_c(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),Lc(`π Session timeout (memory): Created new session ${this.sessionId} (previous: ${t})`),null!==this._sessionActivityTimestamp&&null!==this._sessionStartTimestamp)return{sessionId:this.sessionId,lastActivityTimestamp:this._sessionActivityTimestamp,sessionStartTimestamp:this._sessionStartTimestamp}}}try{const i=localStorage.getItem(e);if(!i)return null;const n=JSON.parse(i),o=t-n.lastActivityTimestamp,a=t-n.sessionStartTimestamp;if(o>s||a>r){Fc(`Session in localStorage expired: idle=${Math.round(o/1e3/60)}min, age=${Math.round(a/1e3/60/60)}hrs`);const t=n.sessionId;if(this.createNewSession(e),this.windowId=_c(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),Lc(`π Session timeout (localStorage): Created new session ${this.sessionId} (previous: ${t})`),null!==this._sessionActivityTimestamp&&null!==this._sessionStartTimestamp)return{sessionId:this.sessionId,lastActivityTimestamp:this._sessionActivityTimestamp,sessionStartTimestamp:this._sessionStartTimestamp}}return n.sessionId&&(this.sessionId=n.sessionId,this._sessionActivityTimestamp=n.lastActivityTimestamp,this._sessionStartTimestamp=n.sessionStartTimestamp),n}catch{return null}}createNewSession(e){const t=_c(),s=Date.now();this.sessionId=t,this._sessionActivityTimestamp=s,this._sessionStartTimestamp=s,this._lastActivityTimestamp=s;const r={sessionId:t,lastActivityTimestamp:s,sessionStartTimestamp:s};try{localStorage.setItem(e,JSON.stringify(r))}catch(e){Nc(`Failed to save session to localStorage: ${e}`)}return Fc(`Created new session: ${t}`),t}updateSessionActivity(e,t,s,r){this.sessionId=s,this._sessionActivityTimestamp=t,this._sessionStartTimestamp=r;const i={sessionId:s,lastActivityTimestamp:t,sessionStartTimestamp:r};try{localStorage.setItem(e,JSON.stringify(i))}catch(e){Nc(`Failed to update session in localStorage: ${e}`)}}getSessionId(){return this.sessionId}getCurrentUrl(){return sh&&"undefined"!=typeof window&&window.location?window.location.href:this.currentUrl}getSnapshotFrequencyInfo(){return{sessionDuration:Date.now()-this.sessionStartTime,currentInterval:3e5,currentThreshold:1e3,phase:"configured"}}async testConnection(){try{return await this.api.init(this.sessionId,this.endUserId),{success:!0}}catch(e){return{success:!1,error:e.message||"Unknown error"}}}getConnectionStatus(){const e=[];let t=!1;return this.eventQueue.length>0&&(t=!0,e.push("Some requests may be blocked by ad blockers")),this._connectionBlocked&&(t=!0,e.push("Initial connection test failed - ad blocker may be active")),"undefined"==typeof window&&e.push("Not running in browser environment"),void 0===navigator.sendBeacon&&e.push("sendBeacon not available, using fetch fallback"),{blocked:t,recommendations:e}}isPreexistingUser(){if(!sh)return!1;const e=this.getCookie("human_behavior_end_user_id");return null!==e&&e!==this.endUserId}getUserInfo(){return{endUserId:this.endUserId,sessionId:this.sessionId,isPreexistingUser:this.isPreexistingUser(),initialized:this.initialized}}setSessionProperty(e,t){this.propertyManager.setSessionProperty(e,t)}setSessionProperties(e){this.propertyManager.setSessionProperties(e)}getSessionProperty(e){return this.propertyManager.getSessionProperty(e)}removeSessionProperty(e){this.propertyManager.removeSessionProperty(e)}setUserProperty(e,t){this.propertyManager.setUserProperty(e,t)}setUserProperties(e){this.propertyManager.setUserProperties(e)}getUserProperty(e){return this.propertyManager.getUserProperty(e)}removeUserProperty(e){this.propertyManager.removeUserProperty(e)}setOnce(e,t,s="user"){this.propertyManager.setOnce(e,t,s)}clearSessionProperties(){this.propertyManager.clearSessionProperties()}clearUserProperties(){this.propertyManager.clearUserProperties()}getAllProperties(){return this.propertyManager.getAllProperties()}}sh&&(window.HumanBehaviorTracker=rh);const ih=(e,t,s)=>new rh(e,t,s);"undefined"!=typeof window&&(window.HumanBehaviorTracker=rh,window.humanbehavior={init:ih});const nh=()=>"undefined"!=typeof window,oh=r(null),ah=({apiKey:r,client:c,children:h,options:u})=>{const[d,p]=i(c||null),[m,f]=i([]),[g,y]=i(!1),[w,v]=i(!1),S=n(r),b=n(c),C=n(m);o(()=>{S.current=r,b.current=c},[r,c]),o(()=>{C.current=m},[m]);const k=a(e=>{f(t=>[...t,e])},[]);o(()=>{y(!0)},[]),o(()=>{if(nh()){if(b.current)return p(b.current),void v(!0);if(S.current&&""!==S.current.trim()){if(null===d)try{const e=rh.init(S.current.trim(),{ingestionUrl:u?.ingestionUrl,logLevel:u?.logLevel,redactFields:u?.redactFields,redactionStrategy:u?.redactionStrategy,enableAutomaticTracking:u?.enableAutomaticTracking,suppressConsoleErrors:u?.suppressConsoleErrors,recordCanvas:u?.recordCanvas,enableAutomaticProperties:u?.enableAutomaticProperties,propertyDenylist:u?.propertyDenylist,automaticTrackingOptions:u?.automaticTrackingOptions,maxQueueSize:u?.maxQueueSize,enableConsoleTracking:u?.enableConsoleTracking,enableNetworkTracking:u?.enableNetworkTracking});p(e),v(!0),e.initializationPromise?.then(async()=>{e.isTrackerStarted||await e.start();const t=C.current;if(t.length>0){for(const s of t)if("identify"===s.type){Fc("Processing queued identify event",s);try{await e.identifyUser({userProperties:s.userProperties})}catch(e){Dc("Failed to process queued user info:",e)}}else e.addEvent(s);f([])}}).catch(e=>{Dc("Failed to initialize HumanBehaviorTracker:",e)})}catch(e){Dc("Failed to create HumanBehaviorTracker:",e)}}else Dc("An apiKey is required when no client is provided")}},[g]);const I=l(()=>g&&w?d:lh(k),[g,w,d,k]);return nh()?s(oh.Provider,{value:I,children:[e(dh,{}),h]}):e(t,{children:h})},lh=e=>({addEvent:t=>{e(t)},identifyUser:async({userProperties:t})=>(e({type:"identify",userProperties:t}),""),start:()=>{},stop:()=>{},logout:()=>{},viewLogs:()=>{Nc("Logs are not available until HumanBehaviorTracker is initialized")},setUnredactedFields:()=>{},hasUnredactedFields:()=>!1,getUnredactedFields:()=>[],trackPageView:()=>{}}),ch=()=>{const e=c(oh);if(!e)throw new Error("useHumanBehavior must be used within a HumanBehaviorProvider");return e},hh=()=>{const e=ch();return{setUnredactedFields:a(t=>{e.setUnredactedFields(t)},[e]),hasUnredactedFields:a(()=>e.hasUnredactedFields(),[e]),getUnredactedFields:a(()=>e.getUnredactedFields(),[e])}},uh=()=>{const e=ch();return{identifyUser:a(async({userProperties:t})=>{try{return await e.identifyUser({userProperties:t}),{success:!0}}catch(e){return Dc("Failed to identify user:",e),{success:!1,error:e}}},[e])}};function dh(){const e=c(oh);return o(()=>{if(e&&"undefined"!=typeof window){e.trackPageView();const t=()=>{e.trackPageView()};window.addEventListener("popstate",t);const s=history.pushState,r=history.replaceState;return history.pushState=function(...e){s.apply(this,e),t()},history.replaceState=function(...e){r.apply(this,e),t()},()=>{window.removeEventListener("popstate",t),history.pushState=s,history.replaceState=r}}},[e]),null}export{ah as HumanBehaviorProvider,rh as HumanBehaviorTracker,ch as useHumanBehavior,hh as useRedaction,uh as useUserTracking};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|