humanbehavior-js 0.6.0 β†’ 0.7.1

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.
Files changed (38) hide show
  1. package/package.json +1 -1
  2. package/packages/browser/dist/cjs/index.js +7 -7
  3. package/packages/browser/dist/cjs/index.js.map +1 -1
  4. package/packages/browser/dist/esm/index.js +2 -2
  5. package/packages/browser/dist/esm/index.js.map +1 -1
  6. package/packages/browser/dist/index.min.js +1 -1
  7. package/packages/browser/dist/index.min.js.map +1 -1
  8. package/packages/core/dist/api.d.ts +27 -1
  9. package/packages/core/dist/api.d.ts.map +1 -1
  10. package/packages/core/dist/index.js +1 -1
  11. package/packages/core/dist/index.js.map +1 -1
  12. package/packages/core/dist/index.mjs +1 -1
  13. package/packages/core/dist/index.mjs.map +1 -1
  14. package/packages/core/dist/tracker.d.ts +88 -7
  15. package/packages/core/dist/tracker.d.ts.map +1 -1
  16. package/packages/core/dist/utils/global-tracker.d.ts +8 -5
  17. package/packages/core/dist/utils/global-tracker.d.ts.map +1 -1
  18. package/packages/core/dist/utils/property-manager.d.ts.map +1 -1
  19. package/packages/react/dist/index.js +1 -1
  20. package/packages/react/dist/index.js.map +1 -1
  21. package/packages/react/dist/index.mjs +1 -1
  22. package/packages/react/dist/index.mjs.map +1 -1
  23. package/packages/wizard/dist/agent/agent-installation-runner.d.ts +45 -0
  24. package/packages/wizard/dist/agent/agent-installation-runner.d.ts.map +1 -0
  25. package/packages/wizard/dist/agent/local-tool-executor.d.ts +35 -0
  26. package/packages/wizard/dist/agent/local-tool-executor.d.ts.map +1 -0
  27. package/packages/wizard/dist/agent/managed-wizard-api-client.d.ts +81 -0
  28. package/packages/wizard/dist/agent/managed-wizard-api-client.d.ts.map +1 -0
  29. package/packages/wizard/dist/cli/ai-auto-install.d.ts +7 -7
  30. package/packages/wizard/dist/cli/ai-auto-install.d.ts.map +1 -1
  31. package/packages/wizard/dist/cli/ai-auto-install.js +569 -1862
  32. package/packages/wizard/dist/cli/ai-auto-install.js.map +1 -1
  33. package/packages/wizard/dist/index.d.ts +6 -0
  34. package/packages/wizard/dist/index.d.ts.map +1 -1
  35. package/packages/wizard/dist/index.js +1 -1
  36. package/packages/wizard/dist/index.js.map +1 -1
  37. package/packages/wizard/dist/index.mjs +1 -1
  38. package/packages/wizard/dist/index.mjs.map +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";var e,t=require("react/jsx-runtime"),s=require("react"),r=Object.defineProperty,n=(e,t,s)=>((e,t,s)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s)(e,"symbol"!=typeof t?t+"":t,s),i=Object.defineProperty,o=(e,t,s)=>((e,t,s)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s)(e,"symbol"!=typeof t?t+"":t,s),a=(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))(a||{});const l={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},c={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},h={};function u(e){if(h[e])return h[e];const t=globalThis[e],s=t.prototype,r=e in l?l[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 c?c[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 h[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?h[e]=i:s}catch{return s}}const d={};function p(e,t,s){var r;const n=`${e}.${String(s)}`;if(d[n])return d[n].call(t);const i=u(e),o=null==(r=Object.getOwnPropertyDescriptor(i,s))?void 0:r.get;return o?(d[n]=o,o.call(t)):t[s]}const m={};function f(e,t,s){const r=`${e}.${String(s)}`;if(m[r])return m[r].bind(t);const n=u(e)[s];return"function"!=typeof n?t[s]:(m[r]=n,n.bind(t))}const g={ownerDocument:function(e){return p("Node",e,"ownerDocument")},childNodes:function(e){return p("Node",e,"childNodes")},parentNode:function(e){return p("Node",e,"parentNode")},parentElement:function(e){return p("Node",e,"parentElement")},textContent:function(e){return p("Node",e,"textContent")},contains:function(e,t){return f("Node",e,"contains")(t)},getRootNode:function(e){return f("Node",e,"getRootNode")()},host:function(e){return e&&"host"in e?p("ShadowRoot",e,"host"):null},styleSheets:function(e){return e.styleSheets},shadowRoot:function(e){return e&&"shadowRoot"in e?p("Element",e,"shadowRoot"):null},querySelector:function(e,t){return p("Element",e,"querySelector")(t)},querySelectorAll:function(e,t){return p("Element",e,"querySelectorAll")(t)},mutationObserver:function(){return u("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 y(e){return e.nodeType===e.ELEMENT_NODE}function w(e){const t=e&&"host"in e&&"mode"in e&&g.host(e)||null;return Boolean(t&&"shadowRoot"in t&&g.shadowRoot(t)===e)}function v(e){return"[object ShadowRoot]"===Object.prototype.toString.call(e)}function S(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=>b(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 b(e,t){if(function(e){return"styleSheet"in e}(e)){let t;try{t=S(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?A(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?A(s,t):s}}class C{constructor(){o(this,"idNodeMap",new Map),o(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 k({element:e,maskInputOptions:t,tagName:s,type:r,value:n,maskInputFn:i}){let o=n||"";const a=r&&I(r);return(t[s.toLowerCase()]||a&&t[a])&&(o=i?i(o,e):"*".repeat(o.length)),o}function I(e){return e.toLowerCase()}const E="__rrweb_original__";function x(e){const t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?I(t):null}function T(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 O=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,M=/^(?:[a-z+]+:)?\/\//i,_=/^www\..*/i,R=/^(data:)([^,]*),(.*)/i;function A(e,t){return(e||"").replace(O,(e,s,r,n,i,o)=>{const a=r||i||o,l=s||n||"";if(!a)return e;if(M.test(a)||_.test(a))return`url(${l}${a}${l})`;if(R.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 D(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function P(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=D(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=D(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=D(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=D(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 N=1;const L=new RegExp("[^a-z0-9-_:]");function F(){return N++}let U,B;const $=/^[^ \t\n\r\u000c]+/,z=/^[, \t\n\r\u000c]+/;const j=new WeakMap;function W(e,t){return t&&""!==t.trim()?V(e,t):t}function K(e){return Boolean("svg"===e.tagName||e.ownerSVGElement)}function V(e,t){let s=j.get(e);if(s||(s=e.createElement("a"),j.set(e,s)),t){if(t.startsWith("blob:")||t.startsWith("data:"))return t}else t="";return s.setAttribute("href",t),s.href}function G(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)?W(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($);if(","===i.slice(-1))i=W(e,i.substring(0,i.length-1)),n.push(i);else{let r="";i=W(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?A(r,V(e)):"object"===t&&"data"===s?W(e,r):r:r}function H(e,t,s){return["video","audio"].includes(e)&&"autoplay"===t}function Y(e,t,s){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return!!s&&Y(g.parentNode(e),t,s);for(let s=e.classList.length;s--;){const r=e.classList[s];if(t.test(r))return!0}return!!s&&Y(g.parentNode(e),t,s)}function q(e,t,s,r){let n;if(y(e)){if(n=e,!g.childNodes(n).length)return!1}else{if(null===g.parentElement(e))return!1;n=g.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(Y(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 Z(e,t){const{doc:s,mirror:r,blockClass:n,blockSelector:i,needsMask:o,inlineStylesheet:l,maskInputOptions:c={},maskTextFn:h,maskInputFn:u,dataURLOptions:d={},inlineImages:p,recordCanvas:m,keepIframeSrcFn:f,newlyAddedElement:y=!1,cssCaptured:w=!1}=t,v=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:a.Document,childNodes:[],compatMode:e.compatMode}:{type:a.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:a.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:v};case e.ELEMENT_NODE:return function(e,t){const{doc:s,blockClass:r,blockSelector:n,inlineStylesheet:i,maskInputOptions:o={},maskInputFn:l,dataURLOptions:c={},inlineImages:h,recordCanvas:u,keepIframeSrcFn:d,newlyAddedElement:p=!1,rootId:m}=t,f=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=I(e.tagName);return L.test(t)?"div":t}(e);let y={};const w=e.attributes.length;for(let t=0;t<w;t++){const r=e.attributes[t];H(g,r.name,r.value)||(y[r.name]=G(s,g,I(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=S(t)),r&&(delete y.rel,delete y.href,y._cssText=r)}if("style"===g&&e.sheet){let t=S(e.sheet);t&&(e.childNodes.length>1&&(t=P(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=k({element:e,type:x(e),tagName:g,value:t,maskInputOptions:o,maskInputFn:l}):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&&u)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=E in n?n[E]: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(c.type,c.quality));else if(!("__context"in e)){const t=e.toDataURL(c.type,c.quality),r=s.createElement("canvas");r.width=e.width,r.height=e.height;t!==r.toDataURL(c.type,c.quality)&&(y.rr_dataURL=t)}if("img"===g&&h){U||(U=s.createElement("canvas"),B=U.getContext("2d"));const t=e,r=t.currentSrc||t.getAttribute("src")||"<unknown-src>",n=t.crossOrigin,i=()=>{t.removeEventListener("load",i);try{U.width=t.naturalWidth,U.height=t.naturalHeight,B.drawImage(t,0,0),y.rr_dataURL=U.toDataURL(c.type,c.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}p||(e.scrollLeft&&(y.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(y.rr_scrollTop=e.scrollTop));if(f){const{width:t,height:s}=e.getBoundingClientRect();y={class:y.class,rr_width:`${t}px`,rr_height:`${s}px`}}"iframe"!==g||d(y.src)||(e.contentDocument||(y.rr_src=y.src),delete y.src);let v;try{customElements.get(g)&&(v=!0)}catch(e){}return{type:a.Element,tagName:g,attributes:y,childNodes:[],isSVG:K(e)||void 0,needBlock:f,rootId:m,isCustom:v}}(e,{doc:s,blockClass:n,blockSelector:i,inlineStylesheet:l,maskInputOptions:c,maskInputFn:u,dataURLOptions:d,inlineImages:p,recordCanvas:m,keepIframeSrcFn:f,newlyAddedElement:y,rootId:v});case e.TEXT_NODE:return function(e,t){const{needsMask:s,maskTextFn:r,rootId:n,cssCaptured:i}=t,o=g.parentNode(e),l=o&&o.tagName;let c="";const h="STYLE"===l||void 0,u="SCRIPT"===l||void 0;u?c="SCRIPT_PLACEHOLDER":i||(c=g.textContent(e),h&&c&&(c=A(c,V(t.doc))));!h&&!u&&c&&s&&(c=r?r(c,g.parentElement(e)):c.replace(/[\S]/g,"*"));return{type:a.Text,textContent:c||"",rootId:n}}(e,{doc:s,needsMask:o,maskTextFn:h,rootId:v,cssCaptured:w});case e.CDATA_SECTION_NODE:return{type:a.CDATA,textContent:"",rootId:v};case e.COMMENT_NODE:return{type:a.Comment,textContent:g.textContent(e)||"",rootId:v};default:return!1}}function J(e){return null==e?"":e.toLowerCase()}function X(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 Q(e,t){const{doc:s,mirror:r,blockClass:n,blockSelector:i,maskTextClass:o,maskTextSelector:l,skipChild:c=!1,inlineStylesheet:h=!0,maskInputOptions:u={},maskTextFn:d,maskInputFn:p,slimDOMOptions:m,dataURLOptions:f={},inlineImages:S=!1,recordCanvas:b=!1,onSerialize:C,onIframeLoad:k,iframeLoadTimeout:I=5e3,onStylesheetLoad:E,stylesheetLoadTimeout:x=5e3,keepIframeSrcFn:O=()=>!1,newlyAddedElement:M=!1,cssCaptured:_=!1}=t;let{needsMask:R}=t,{preserveWhiteSpace:A=!0}=t;if(!R){R=q(e,o,l,void 0===R)}const D=Z(e,{doc:s,mirror:r,blockClass:n,blockSelector:i,needsMask:R,inlineStylesheet:h,maskInputOptions:u,maskTextFn:d,maskInputFn:p,dataURLOptions:f,inlineImages:S,recordCanvas:b,keepIframeSrcFn:O,newlyAddedElement:M,cssCaptured:_});if(!D)return console.warn(e,"not serialized"),null;let P;P=r.hasNode(e)?r.getId(e):function(e,t){if(t.comment&&e.type===a.Comment)return!0;if(e.type===a.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"===T(e.attributes.href)))return!0;if(t.headFavicon&&("link"===e.tagName&&"shortcut icon"===e.attributes.rel||"meta"===e.tagName&&(J(e.attributes.name).match(/^msapplication-tile(image|color)$/)||"application-name"===J(e.attributes.name)||"icon"===J(e.attributes.rel)||"apple-touch-icon"===J(e.attributes.rel)||"shortcut icon"===J(e.attributes.rel))))return!0;if("meta"===e.tagName){if(t.headMetaDescKeywords&&J(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(J(e.attributes.property).match(/^(og|twitter|fb):/)||J(e.attributes.name).match(/^(og|twitter):/)||"pinterest"===J(e.attributes.name)))return!0;if(t.headMetaRobots&&("robots"===J(e.attributes.name)||"googlebot"===J(e.attributes.name)||"bingbot"===J(e.attributes.name)))return!0;if(t.headMetaHttpEquiv&&void 0!==e.attributes["http-equiv"])return!0;if(t.headMetaAuthorship&&("author"===J(e.attributes.name)||"generator"===J(e.attributes.name)||"framework"===J(e.attributes.name)||"publisher"===J(e.attributes.name)||"progid"===J(e.attributes.name)||J(e.attributes.property).match(/^article:/)||J(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&("google-site-verification"===J(e.attributes.name)||"yandex-verification"===J(e.attributes.name)||"csrf-token"===J(e.attributes.name)||"p:domain_verify"===J(e.attributes.name)||"verify-v1"===J(e.attributes.name)||"verification"===J(e.attributes.name)||"shopify-checkout-api-token"===J(e.attributes.name)))return!0}}return!1}(D,m)||!A&&D.type===a.Text&&!D.textContent.replace(/^\s+|\s+$/gm,"").length?-2:F();const N=Object.assign(D,{id:P});if(r.add(e,N),-2===P)return null;C&&C(e);let L=!c;if(N.type===a.Element){L=L&&!N.needBlock,delete N.needBlock;const t=g.shadowRoot(e);t&&v(t)&&(N.isShadowHost=!0)}if((N.type===a.Document||N.type===a.Element)&&L){m.headWhitespace&&N.type===a.Element&&"head"===N.tagName&&(A=!1);const t={doc:s,mirror:r,blockClass:n,blockSelector:i,needsMask:R,maskTextClass:o,maskTextSelector:l,skipChild:c,inlineStylesheet:h,maskInputOptions:u,maskTextFn:d,maskInputFn:p,slimDOMOptions:m,dataURLOptions:f,inlineImages:S,recordCanvas:b,preserveWhiteSpace:A,onSerialize:C,onIframeLoad:k,iframeLoadTimeout:I,onStylesheetLoad:E,stylesheetLoadTimeout:x,keepIframeSrcFn:O,cssCaptured:!1};if(N.type===a.Element&&"textarea"===N.tagName&&void 0!==N.attributes.value);else{N.type===a.Element&&void 0!==N.attributes._cssText&&"string"==typeof N.attributes._cssText&&(t.cssCaptured=!0);for(const s of Array.from(g.childNodes(e))){const e=Q(s,t);e&&N.childNodes.push(e)}}let w=null;if(y(e)&&(w=g.shadowRoot(e)))for(const e of Array.from(g.childNodes(w))){const s=Q(e,t);s&&(v(w)&&(s.isShadow=!0),N.childNodes.push(s))}}const U=g.parentNode(e);return U&&w(U)&&v(U)&&(N.isShadow=!0),N.type===a.Element&&"iframe"===N.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&&k){const s=Q(t,{doc:t,mirror:r,blockClass:n,blockSelector:i,needsMask:R,maskTextClass:o,maskTextSelector:l,skipChild:!1,inlineStylesheet:h,maskInputOptions:u,maskTextFn:d,maskInputFn:p,slimDOMOptions:m,dataURLOptions:f,inlineImages:S,recordCanvas:b,preserveWhiteSpace:A,onSerialize:C,onIframeLoad:k,iframeLoadTimeout:I,onStylesheetLoad:E,stylesheetLoadTimeout:x,keepIframeSrcFn:O});s&&k(e,s)}},I),N.type===a.Element&&"link"===N.tagName&&"string"==typeof N.attributes.rel&&("stylesheet"===N.attributes.rel||"preload"===N.attributes.rel&&"string"==typeof N.attributes.href&&"css"===T(N.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(E){const t=Q(e,{doc:s,mirror:r,blockClass:n,blockSelector:i,needsMask:R,maskTextClass:o,maskTextSelector:l,skipChild:!1,inlineStylesheet:h,maskInputOptions:u,maskTextFn:d,maskInputFn:p,slimDOMOptions:m,dataURLOptions:f,inlineImages:S,recordCanvas:b,preserveWhiteSpace:A,onSerialize:C,onIframeLoad:k,iframeLoadTimeout:I,onStylesheetLoad:E,stylesheetLoadTimeout:x,keepIframeSrcFn:O});t&&E(e,t)}},x),N}function ee(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function te(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 se={exports:{}},re=String,ne=function(){return{isColorSupported:!1,reset:re,bold:re,dim:re,italic:re,underline:re,inverse:re,hidden:re,strikethrough:re,black:re,red:re,green:re,yellow:re,blue:re,magenta:re,cyan:re,white:re,gray:re,bgBlack:re,bgRed:re,bgGreen:re,bgYellow:re,bgBlue:re,bgMagenta:re,bgCyan:re,bgWhite:re}};se.exports=ne(),se.exports.createColors=ne;var ie=se.exports;const oe=te(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));let ae=ie,le=oe,ce=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=ae.isColorSupported),le&&e&&(t=le(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}=ae.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 he=ce;ce.default=ce;var ue={};ue.isClean=Symbol("isClean"),ue.my=Symbol("my");const de={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};let pe=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 de[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=de[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 me=pe;pe.default=pe;let fe=me;function ge(e,t){new fe(t).stringify(e)}var ye=ge;ge.default=ge;let{isClean:we,my:ve}=ue,Se=he,be=me,Ce=ye;function ke(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=>ke(e,s)):("object"===i&&null!==n&&(n=ke(n)),s[r]=n)}return s}let Ie=class{constructor(e={}){this.raws={},this[we]=!1,this[ve]=!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=ke(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 Se(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[we]){this[we]=!1;let e=this;for(;e=e.parent;)e[we]=!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 be).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=Ce){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 Ee=Ie;Ie.default=Ie;let xe=Ee,Te=class extends xe{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 Oe=Te;Te.default=Te;var Me={nanoid:(e=21)=>{let t="",s=e;for(;s--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t}};let{SourceMapConsumer:_e,SourceMapGenerator:Re}=oe,{existsSync:Ae,readFileSync:De}=oe,{dirname:Pe,join:Ne}=oe;let Le=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=Pe(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new _e(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=Pe(e),Ae(e))return this.mapFile=e,De(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 _e)return Re.fromSourceMap(t).toString();if(t instanceof Re)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=Ne(Pe(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 Fe=Le;Le.default=Le;let{SourceMapConsumer:Ue,SourceMapGenerator:Be}=oe,{fileURLToPath:$e,pathToFileURL:ze}=oe,{isAbsolute:je,resolve:We}=oe,{nanoid:Ke}=Me,Ve=oe,Ge=he,He=Fe,Ye=Symbol("fromOffsetCache"),qe=Boolean(Ue&&Be),Ze=Boolean(We&&je),Je=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&&(!Ze||/^\w+:\/\//.test(t.from)||je(t.from)?this.file=t.from:this.file=We(t.from)),Ze&&qe){let e=new He(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 "+Ke(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 Ge(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 Ge(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[Ye])s=this[Ye];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[Ye]=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:We(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=je(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(!$e)throw new Error("file: protocol is not available in this PostCSS build");l.file=$e(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 Xe=Je;Je.default=Je,Ve&&Ve.registerInput&&Ve.registerInput(Je);let{SourceMapConsumer:Qe,SourceMapGenerator:et}=oe,{dirname:tt,relative:st,resolve:rt,sep:nt}=oe,{pathToFileURL:it}=oe,ot=Xe,at=Boolean(Qe&&et),lt=Boolean(tt&&rt&&st&&nt);var ct=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||tt(e.file);!1===this.mapOpts.sourcesContent?(t=new Qe(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(),lt&&at&&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=et.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new et({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 et({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?tt(this.opts.to):".";"string"==typeof this.mapOpts.annotation&&(s=tt(rt(s,this.mapOpts.annotation)));let r=st(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 ot(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(it){let t=it(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;"\\"===nt&&(e=e.replace(/\\/g,"/"));let s=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,s),s}};let ht=Ee,ut=class extends ht{constructor(e){super(e),this.type="comment"}};var dt=ut;ut.default=ut;let pt,mt,ft,gt,{isClean:yt,my:wt}=ue,vt=Oe,St=dt,bt=Ee;function Ct(e){return e.map(e=>(e.nodes&&(e.nodes=Ct(e.nodes)),delete e.source,e))}function kt(e){if(e[yt]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)kt(t)}let It=class e extends bt{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=Ct(pt(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 vt(t)]}else if(t.selector)t=[new mt(t)];else if(t.name)t=[new ft(t)];else{if(!t.text)throw new Error("Unknown node type in node creation");t=[new St(t)]}return t.map(t=>(t[wt]||e.rebuild(t),(t=t.proxyOf).parent&&t.parent.removeChild(t),t[yt]&&kt(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]}};It.registerParse=e=>{pt=e},It.registerRule=e=>{mt=e},It.registerAtRule=e=>{ft=e},It.registerRoot=e=>{gt=e};var Et=It;It.default=It,It.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,ft.prototype):"rule"===e.type?Object.setPrototypeOf(e,mt.prototype):"decl"===e.type?Object.setPrototypeOf(e,vt.prototype):"comment"===e.type?Object.setPrototypeOf(e,St.prototype):"root"===e.type&&Object.setPrototypeOf(e,gt.prototype),e[wt]=!0,e.nodes&&e.nodes.forEach(e=>{It.rebuild(e)})};let xt,Tt,Ot=Et,Mt=class extends Ot{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new xt(new Tt,this,e).stringify()}};Mt.registerLazyResult=e=>{xt=e},Mt.registerProcessor=e=>{Tt=e};var _t=Mt;Mt.default=Mt;let Rt={};var At=function(e){Rt[e]||(Rt[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))};let Dt=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 Pt=Dt;Dt.default=Dt;let Nt=Pt,Lt=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 Nt(e,t);return this.messages.push(s),s}warnings(){return this.messages.filter(e=>"warning"===e.type)}get content(){return this.css}};var Ft=Lt;Lt.default=Lt;const Ut="'".charCodeAt(0),Bt='"'.charCodeAt(0),$t="\\".charCodeAt(0),zt="/".charCodeAt(0),jt="\n".charCodeAt(0),Wt=" ".charCodeAt(0),Kt="\f".charCodeAt(0),Vt="\t".charCodeAt(0),Gt="\r".charCodeAt(0),Ht="[".charCodeAt(0),Yt="]".charCodeAt(0),qt="(".charCodeAt(0),Zt=")".charCodeAt(0),Jt="{".charCodeAt(0),Xt="}".charCodeAt(0),Qt=";".charCodeAt(0),es="*".charCodeAt(0),ts=":".charCodeAt(0),ss="@".charCodeAt(0),rs=/[\t\n\f\r "#'()/;[\\\]{}]/g,ns=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,is=/.[\r\n"'(/\\]/,os=/[\da-f]/i;let as=Et,ls=class extends as{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 cs=ls;ls.default=ls,as.registerAtRule(ls);let hs,us,ds=Et,ps=class extends ds{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 hs(new us,this,e).stringify()}};ps.registerLazyResult=e=>{hs=e},ps.registerProcessor=e=>{us=e};var ms=ps;ps.default=ps,ds.registerRoot(ps);let fs={comma:e=>fs.split(e,[","],!0),space:e=>fs.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 gs=fs;fs.default=fs;let ys=Et,ws=gs,vs=class extends ys{constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return ws.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 Ss=vs;vs.default=vs,ys.registerRule(vs);let bs=Oe,Cs=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 jt:case Wt:case Vt:case Gt:case Kt:r=f;do{r+=1,s=d.charCodeAt(r)}while(s===Wt||s===jt||s===Vt||s===Gt||s===Kt);u=["space",d.slice(f,r)],f=r-1;break;case Ht:case Yt:case Jt:case Xt:case ts:case Qt:case Zt:{let e=String.fromCharCode(s);u=[e,e,f];break}case qt:if(c=g.length?g.pop()[1]:"",h=d.charCodeAt(f+1),"url"===c&&h!==Ut&&h!==Bt&&h!==Wt&&h!==jt&&h!==Vt&&h!==Kt&&h!==Gt){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)===$t;)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||is.test(i)?u=["(","(",f]:(u=["brackets",i,f,r],f=r);break;case Ut:case Bt:n=s===Ut?"'":'"',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)===$t;)l-=1,a=!a}while(a);u=["string",d.slice(f,r+1),f,r],f=r;break;case ss:rs.lastIndex=f+1,rs.test(d),r=0===rs.lastIndex?d.length-1:rs.lastIndex-2,u=["at-word",d.slice(f,r+1),f,r],f=r;break;case $t:for(r=f,o=!0;d.charCodeAt(r+1)===$t;)r+=1,o=!o;if(s=d.charCodeAt(r+1),o&&s!==zt&&s!==Wt&&s!==jt&&s!==Vt&&s!==Gt&&s!==Kt&&(r+=1,os.test(d.charAt(r)))){for(;os.test(d.charAt(r+1));)r+=1;d.charCodeAt(r+1)===Wt&&(r+=1)}u=["word",d.slice(f,r+1),f,r],f=r;break;default:s===zt&&d.charCodeAt(f+1)===es?(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):(ns.lastIndex=f+1,ns.test(d),r=0===ns.lastIndex?d.length-1:ns.lastIndex-2,u=["word",d.slice(f,r+1),f,r],g.push(u),f=r)}return f++,u},position:function(){return f}}},ks=dt,Is=cs,Es=ms,xs=Ss;const Ts={empty:!0,space:!0};let Os=Et,Ms=class{constructor(e){this.input=e,this.root=new Es,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 Is;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 ks;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=Cs(this.input)}decl(e,t){let s=new bs;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 xs;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",Ts[a]||Ts[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 xs;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})}},_s=Xe;function Rs(e,t){let s=new _s(e,t),r=new Ms(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 As=Rs;Rs.default=Rs,Os.registerParse(Rs);let{isClean:Ds,my:Ps}=ue,Ns=ct,Ls=ye,Fs=Et,Us=_t,Bs=At,$s=Ft,zs=As,js=ms;const Ws={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Ks={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},Vs={Once:!0,postcssPlugin:!0,prepare:!0};function Gs(e){return"object"==typeof e&&"function"==typeof e.then}function Hs(e){let t=!1,s=Ws[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 Ys(e){let t;return t="document"===e.type?["Document",0,"DocumentExit"]:"root"===e.type?["Root",0,"RootExit"]:Hs(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function qs(e){return e[Ds]=!1,e.nodes&&e.nodes.forEach(e=>qs(e)),e}let Zs={},Js=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 $s)n=qs(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[Ps]&&Fs.rebuild(n)}else n=qs(s);this.result=new $s(t,n,r),this.helpers={...Zs,postcss:Zs,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(!Ks[s]&&/^[A-Z]/.test(s))throw new Error(`Unknown event ${s} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Vs[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(Gs(s))try{await s}catch(e){throw this.handleError(e)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Ds];){e[Ds]=!0;let t=[Ys(e)];for(;t.length>0;){let e=this.visitTick(t);if(Gs(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 Gs(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=Ls;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let s=new Ns(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(Gs(this.runOnRoot(e)))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Ds];)e[Ds]=!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||Bs("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(Gs(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[Ds])return r[Ds]=!0,void e.push(Ys(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[Ds]=!0,t.iterator=s.getIterator()));if(this.listeners[e])return void(t.visitors=this.listeners[e])}e.pop()}walkSync(e){e[Ds]=!0;let t=Hs(e);for(let s of t)if(0===s)e.nodes&&e.each(e=>{e[Ds]||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"}};Js.registerPostcss=e=>{Zs=e};var Xs=Js;Js.default=Js,js.registerLazyResult(Js),Us.registerLazyResult(Js);let Qs=ct,er=ye,tr=At,sr=As;const rr=Ft;let nr=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=er;this.result=new rr(this._processor,r,this._opts),this.result.css=t;let i=this;Object.defineProperty(this.result,"root",{get:()=>i.root});let o=new Qs(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||tr("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=sr;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 ir=nr;nr.default=nr;let or=ir,ar=Xs,lr=_t,cr=ms,hr=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 ar(this,e,t):new or(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};var ur=hr;hr.default=hr,cr.registerProcessor(hr),lr.registerProcessor(hr);let dr=Oe,pr=Fe,mr=dt,fr=cs,gr=Xe,yr=ms,wr=Ss;function vr(e,t){if(Array.isArray(e))return e.map(e=>vr(e));let{inputs:s,...r}=e;if(s){t=[];for(let e of s){let s={...e,__proto__:gr.prototype};s.map&&(s.map={...s.map,__proto__:pr.prototype}),t.push(s)}}if(r.nodes&&(r.nodes=e.nodes.map(e=>vr(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 yr(r);if("decl"===r.type)return new dr(r);if("rule"===r.type)return new wr(r);if("comment"===r.type)return new mr(r);if("atrule"===r.type)return new fr(r);throw new Error("Unknown node type: "+e.type)}var Sr=vr;vr.default=vr;let br=he,Cr=Oe,kr=Xs,Ir=Et,Er=ur,xr=ye,Tr=Sr,Or=_t,Mr=Pt,_r=dt,Rr=cs,Ar=Ft,Dr=Xe,Pr=As,Nr=gs,Lr=Ss,Fr=ms,Ur=Ee;function Br(...e){return 1===e.length&&Array.isArray(e[0])&&(e=e[0]),new Er(e)}Br.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 Er).version,n}return Object.defineProperty(n,"postcss",{get:()=>(s||(s=n()),s)}),n.process=function(e,t,s){return Br([n(s)]).process(e,t)},n},Br.stringify=xr,Br.parse=Pr,Br.fromJSON=Tr,Br.list=Nr,Br.comment=e=>new _r(e),Br.atRule=e=>new Rr(e),Br.decl=e=>new Cr(e),Br.rule=e=>new Lr(e),Br.root=e=>new Fr(e),Br.document=e=>new Or(e),Br.CssSyntaxError=br,Br.Declaration=Cr,Br.Container=Ir,Br.Processor=Er,Br.Document=Or,Br.Comment=_r,Br.Warning=Mr,Br.AtRule=Rr,Br.Result=Ar,Br.Input=Dr,Br.Rule=Lr,Br.Root=Fr,Br.Node=Ur,kr.registerPostcss(Br);var $r=Br;Br.default=Br;const zr=ee($r);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 jr=Object.defineProperty,Wr=(e,t,s)=>((e,t,s)=>t in e?jr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s)(e,"symbol"!=typeof t?t+"":t,s);function Kr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Vr(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 Gr={exports:{}},Hr=String,Yr=function(){return{isColorSupported:!1,reset:Hr,bold:Hr,dim:Hr,italic:Hr,underline:Hr,inverse:Hr,hidden:Hr,strikethrough:Hr,black:Hr,red:Hr,green:Hr,yellow:Hr,blue:Hr,magenta:Hr,cyan:Hr,white:Hr,gray:Hr,bgBlack:Hr,bgRed:Hr,bgGreen:Hr,bgYellow:Hr,bgBlue:Hr,bgMagenta:Hr,bgCyan:Hr,bgWhite:Hr}};Gr.exports=Yr(),Gr.exports.createColors=Yr;var qr=Gr.exports;const Zr=Vr(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));let Jr=qr,Xr=Zr,Qr=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=Jr.isColorSupported),Xr&&e&&(t=Xr(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}=Jr.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 en=Qr;Qr.default=Qr;var tn={};tn.isClean=Symbol("isClean"),tn.my=Symbol("my");const sn={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};let rn=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 sn[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=sn[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 nn=rn;rn.default=rn;let on=nn;function an(e,t){new on(t).stringify(e)}var ln=an;an.default=an;let{isClean:cn,my:hn}=tn,un=en,dn=nn,pn=ln;function mn(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=>mn(e,s)):("object"===i&&null!==n&&(n=mn(n)),s[r]=n)}return s}let fn=class{constructor(e={}){this.raws={},this[cn]=!1,this[hn]=!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=mn(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 un(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[cn]){this[cn]=!1;let e=this;for(;e=e.parent;)e[cn]=!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 dn).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=pn){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 gn=fn;fn.default=fn;let yn=gn,wn=class extends yn{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 vn=wn;wn.default=wn;var Sn={nanoid:(e=21)=>{let t="",s=e;for(;s--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t}};let{SourceMapConsumer:bn,SourceMapGenerator:Cn}=Zr,{existsSync:kn,readFileSync:In}=Zr,{dirname:En,join:xn}=Zr;let Tn=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=En(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new bn(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=En(e),kn(e))return this.mapFile=e,In(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 bn)return Cn.fromSourceMap(t).toString();if(t instanceof Cn)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=xn(En(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 On=Tn;Tn.default=Tn;let{SourceMapConsumer:Mn,SourceMapGenerator:_n}=Zr,{fileURLToPath:Rn,pathToFileURL:An}=Zr,{isAbsolute:Dn,resolve:Pn}=Zr,{nanoid:Nn}=Sn,Ln=Zr,Fn=en,Un=On,Bn=Symbol("fromOffsetCache"),$n=Boolean(Mn&&_n),zn=Boolean(Pn&&Dn),jn=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)||Dn(t.from)?this.file=t.from:this.file=Pn(t.from)),zn&&$n){let e=new Un(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 "+Nn(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 Fn(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 Fn(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&&(An&&(n.input.url=An(this.file).toString()),n.input.file=this.file),n}fromOffset(e){let t,s;if(this[Bn])s=this[Bn];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[Bn]=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:Pn(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=Dn(a.source)?An(a.source):new URL(a.source,this.map.consumer().sourceRoot||An(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(!Rn)throw new Error("file: protocol is not available in this PostCSS build");l.file=Rn(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 Wn=jn;jn.default=jn,Ln&&Ln.registerInput&&Ln.registerInput(jn);let{SourceMapConsumer:Kn,SourceMapGenerator:Vn}=Zr,{dirname:Gn,relative:Hn,resolve:Yn,sep:qn}=Zr,{pathToFileURL:Zn}=Zr,Jn=Wn,Xn=Boolean(Kn&&Vn),Qn=Boolean(Gn&&Yn&&Hn&&qn);var ei=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||Gn(e.file);!1===this.mapOpts.sourcesContent?(t=new Kn(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(),Qn&&Xn&&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=Vn.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new Vn({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 Vn({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?Gn(this.opts.to):".";"string"==typeof this.mapOpts.annotation&&(s=Gn(Yn(s,this.mapOpts.annotation)));let r=Hn(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 Jn(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(Zn){let t=Zn(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;"\\"===qn&&(e=e.replace(/\\/g,"/"));let s=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,s),s}};let ti=gn,si=class extends ti{constructor(e){super(e),this.type="comment"}};var ri=si;si.default=si;let ni,ii,oi,ai,{isClean:li,my:ci}=tn,hi=vn,ui=ri,di=gn;function pi(e){return e.map(e=>(e.nodes&&(e.nodes=pi(e.nodes)),delete e.source,e))}function mi(e){if(e[li]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)mi(t)}let fi=class e extends di{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=pi(ni(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 hi(t)]}else if(t.selector)t=[new ii(t)];else if(t.name)t=[new oi(t)];else{if(!t.text)throw new Error("Unknown node type in node creation");t=[new ui(t)]}return t.map(t=>(t[ci]||e.rebuild(t),(t=t.proxyOf).parent&&t.parent.removeChild(t),t[li]&&mi(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]}};fi.registerParse=e=>{ni=e},fi.registerRule=e=>{ii=e},fi.registerAtRule=e=>{oi=e},fi.registerRoot=e=>{ai=e};var gi=fi;fi.default=fi,fi.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,oi.prototype):"rule"===e.type?Object.setPrototypeOf(e,ii.prototype):"decl"===e.type?Object.setPrototypeOf(e,hi.prototype):"comment"===e.type?Object.setPrototypeOf(e,ui.prototype):"root"===e.type&&Object.setPrototypeOf(e,ai.prototype),e[ci]=!0,e.nodes&&e.nodes.forEach(e=>{fi.rebuild(e)})};let yi,wi,vi=gi,Si=class extends vi{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new yi(new wi,this,e).stringify()}};Si.registerLazyResult=e=>{yi=e},Si.registerProcessor=e=>{wi=e};var bi=Si;Si.default=Si;let Ci={};var ki=function(e){Ci[e]||(Ci[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))};let Ii=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 Ei=Ii;Ii.default=Ii;let xi=Ei,Ti=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 xi(e,t);return this.messages.push(s),s}warnings(){return this.messages.filter(e=>"warning"===e.type)}get content(){return this.css}};var Oi=Ti;Ti.default=Ti;const Mi="'".charCodeAt(0),_i='"'.charCodeAt(0),Ri="\\".charCodeAt(0),Ai="/".charCodeAt(0),Di="\n".charCodeAt(0),Pi=" ".charCodeAt(0),Ni="\f".charCodeAt(0),Li="\t".charCodeAt(0),Fi="\r".charCodeAt(0),Ui="[".charCodeAt(0),Bi="]".charCodeAt(0),$i="(".charCodeAt(0),zi=")".charCodeAt(0),ji="{".charCodeAt(0),Wi="}".charCodeAt(0),Ki=";".charCodeAt(0),Vi="*".charCodeAt(0),Gi=":".charCodeAt(0),Hi="@".charCodeAt(0),Yi=/[\t\n\f\r "#'()/;[\\\]{}]/g,qi=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,Zi=/.[\r\n"'(/\\]/,Ji=/[\da-f]/i;let Xi=gi,Qi=class extends Xi{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 eo=Qi;Qi.default=Qi,Xi.registerAtRule(Qi);let to,so,ro=gi,no=class extends ro{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 to(new so,this,e).stringify()}};no.registerLazyResult=e=>{to=e},no.registerProcessor=e=>{so=e};var io=no;no.default=no,ro.registerRoot(no);let oo={comma:e=>oo.split(e,[","],!0),space:e=>oo.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 ao=oo;oo.default=oo;let lo=gi,co=ao,ho=class extends lo{constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return co.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 uo=ho;ho.default=ho,lo.registerRule(ho);let po=vn,mo=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 Di:case Pi:case Li:case Fi:case Ni:r=f;do{r+=1,s=d.charCodeAt(r)}while(s===Pi||s===Di||s===Li||s===Fi||s===Ni);u=["space",d.slice(f,r)],f=r-1;break;case Ui:case Bi:case ji:case Wi:case Gi:case Ki:case zi:{let e=String.fromCharCode(s);u=[e,e,f];break}case $i:if(c=g.length?g.pop()[1]:"",h=d.charCodeAt(f+1),"url"===c&&h!==Mi&&h!==_i&&h!==Pi&&h!==Di&&h!==Li&&h!==Ni&&h!==Fi){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)===Ri;)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||Zi.test(i)?u=["(","(",f]:(u=["brackets",i,f,r],f=r);break;case Mi:case _i:n=s===Mi?"'":'"',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)===Ri;)l-=1,a=!a}while(a);u=["string",d.slice(f,r+1),f,r],f=r;break;case Hi:Yi.lastIndex=f+1,Yi.test(d),r=0===Yi.lastIndex?d.length-1:Yi.lastIndex-2,u=["at-word",d.slice(f,r+1),f,r],f=r;break;case Ri:for(r=f,o=!0;d.charCodeAt(r+1)===Ri;)r+=1,o=!o;if(s=d.charCodeAt(r+1),o&&s!==Ai&&s!==Pi&&s!==Di&&s!==Li&&s!==Fi&&s!==Ni&&(r+=1,Ji.test(d.charAt(r)))){for(;Ji.test(d.charAt(r+1));)r+=1;d.charCodeAt(r+1)===Pi&&(r+=1)}u=["word",d.slice(f,r+1),f,r],f=r;break;default:s===Ai&&d.charCodeAt(f+1)===Vi?(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):(qi.lastIndex=f+1,qi.test(d),r=0===qi.lastIndex?d.length-1:qi.lastIndex-2,u=["word",d.slice(f,r+1),f,r],g.push(u),f=r)}return f++,u},position:function(){return f}}},fo=ri,go=eo,yo=io,wo=uo;const vo={empty:!0,space:!0};let So=gi,bo=class{constructor(e){this.input=e,this.root=new yo,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 go;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 fo;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=mo(this.input)}decl(e,t){let s=new po;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 wo;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",vo[a]||vo[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 wo;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})}},Co=Wn;function ko(e,t){let s=new Co(e,t),r=new bo(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 Io=ko;ko.default=ko,So.registerParse(ko);let{isClean:Eo,my:xo}=tn,To=ei,Oo=ln,Mo=gi,_o=bi,Ro=ki,Ao=Oi,Do=Io,Po=io;const No={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Lo={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},Fo={Once:!0,postcssPlugin:!0,prepare:!0};function Uo(e){return"object"==typeof e&&"function"==typeof e.then}function Bo(e){let t=!1,s=No[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 $o(e){let t;return t="document"===e.type?["Document",0,"DocumentExit"]:"root"===e.type?["Root",0,"RootExit"]:Bo(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function zo(e){return e[Eo]=!1,e.nodes&&e.nodes.forEach(e=>zo(e)),e}let jo={},Wo=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 Ao)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=Do;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[xo]&&Mo.rebuild(n)}else n=zo(s);this.result=new Ao(t,n,r),this.helpers={...jo,postcss:jo,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(!Lo[s]&&/^[A-Z]/.test(s))throw new Error(`Unknown event ${s} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Fo[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(Uo(s))try{await s}catch(e){throw this.handleError(e)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Eo];){e[Eo]=!0;let t=[$o(e)];for(;t.length>0;){let e=this.visitTick(t);if(Uo(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 Uo(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=Oo;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let s=new To(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(Uo(this.runOnRoot(e)))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Eo];)e[Eo]=!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||Ro("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(Uo(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[Eo])return r[Eo]=!0,void e.push($o(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[Eo]=!0,t.iterator=s.getIterator()));if(this.listeners[e])return void(t.visitors=this.listeners[e])}e.pop()}walkSync(e){e[Eo]=!0;let t=Bo(e);for(let s of t)if(0===s)e.nodes&&e.each(e=>{e[Eo]||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"}};Wo.registerPostcss=e=>{jo=e};var Ko=Wo;Wo.default=Wo,Po.registerLazyResult(Wo),_o.registerLazyResult(Wo);let Vo=ei,Go=ln,Ho=ki,Yo=Io;const qo=Oi;let Zo=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=Go;this.result=new qo(this._processor,r,this._opts),this.result.css=t;let i=this;Object.defineProperty(this.result,"root",{get:()=>i.root});let o=new Vo(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||Ho("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=Yo;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 Jo=Zo;Zo.default=Zo;let Xo=Jo,Qo=Ko,ea=bi,ta=io,sa=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 Qo(this,e,t):new Xo(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};var ra=sa;sa.default=sa,ta.registerProcessor(sa),ea.registerProcessor(sa);let na=vn,ia=On,oa=ri,aa=eo,la=Wn,ca=io,ha=uo;function ua(e,t){if(Array.isArray(e))return e.map(e=>ua(e));let{inputs:s,...r}=e;if(s){t=[];for(let e of s){let s={...e,__proto__:la.prototype};s.map&&(s.map={...s.map,__proto__:ia.prototype}),t.push(s)}}if(r.nodes&&(r.nodes=e.nodes.map(e=>ua(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 ca(r);if("decl"===r.type)return new na(r);if("rule"===r.type)return new ha(r);if("comment"===r.type)return new oa(r);if("atrule"===r.type)return new aa(r);throw new Error("Unknown node type: "+e.type)}var da=ua;ua.default=ua;let pa=en,ma=vn,fa=Ko,ga=gi,ya=ra,wa=ln,va=da,Sa=bi,ba=Ei,Ca=ri,ka=eo,Ia=Oi,Ea=Wn,xa=Io,Ta=ao,Oa=uo,Ma=io,_a=gn;function Ra(...e){return 1===e.length&&Array.isArray(e[0])&&(e=e[0]),new ya(e)}Ra.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 ya).version,n}return Object.defineProperty(n,"postcss",{get:()=>(s||(s=n()),s)}),n.process=function(e,t,s){return Ra([n(s)]).process(e,t)},n},Ra.stringify=wa,Ra.parse=xa,Ra.fromJSON=va,Ra.list=Ta,Ra.comment=e=>new Ca(e),Ra.atRule=e=>new ka(e),Ra.decl=e=>new ma(e),Ra.rule=e=>new Oa(e),Ra.root=e=>new Ma(e),Ra.document=e=>new Sa(e),Ra.CssSyntaxError=pa,Ra.Declaration=ma,Ra.Container=ga,Ra.Processor=ya,Ra.Document=Sa,Ra.Comment=Ca,Ra.Warning=ba,Ra.AtRule=ka,Ra.Result=Ia,Ra.Input=Ea,Ra.Rule=Oa,Ra.Root=Ma,Ra.Node=_a,fa.registerPostcss(Ra);var Aa=Ra;Ra.default=Ra;const Da=Kr(Aa);Da.stringify,Da.fromJSON,Da.plugin,Da.parse,Da.list,Da.document,Da.comment,Da.atRule,Da.rule,Da.decl,Da.root,Da.CssSyntaxError,Da.Declaration,Da.Container,Da.Processor,Da.Document,Da.Comment,Da.Warning,Da.AtRule,Da.Result,Da.Input,Da.Rule,Da.Root,Da.Node;class Pa{constructor(...e){Wr(this,"parentElement",null),Wr(this,"parentNode",null),Wr(this,"ownerDocument"),Wr(this,"firstChild",null),Wr(this,"lastChild",null),Wr(this,"previousSibling",null),Wr(this,"nextSibling",null),Wr(this,"ELEMENT_NODE",1),Wr(this,"TEXT_NODE",3),Wr(this,"nodeType"),Wr(this,"nodeName"),Wr(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 Pa))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 Na={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},La={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Fa={};function Ua(e){if(Fa[e])return Fa[e];const t=globalThis[e],s=t.prototype,r=e in Na?Na[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 La?La[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 Fa[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?Fa[e]=i:s}catch{return s}}const Ba={};function $a(e,t,s){var r;const n=`${e}.${String(s)}`;if(Ba[n])return Ba[n].call(t);const i=Ua(e),o=null==(r=Object.getOwnPropertyDescriptor(i,s))?void 0:r.get;return o?(Ba[n]=o,o.call(t)):t[s]}const za={};function ja(e,t,s){const r=`${e}.${String(s)}`;if(za[r])return za[r].bind(t);const n=Ua(e)[s];return"function"!=typeof n?t[s]:(za[r]=n,n.bind(t))}function Wa(){return Ua("MutationObserver").constructor}function Ka(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 Va={ownerDocument:function(e){return $a("Node",e,"ownerDocument")},childNodes:function(e){return $a("Node",e,"childNodes")},parentNode:function(e){return $a("Node",e,"parentNode")},parentElement:function(e){return $a("Node",e,"parentElement")},textContent:function(e){return $a("Node",e,"textContent")},contains:function(e,t){return ja("Node",e,"contains")(t)},getRootNode:function(e){return ja("Node",e,"getRootNode")()},host:function(e){return e&&"host"in e?$a("ShadowRoot",e,"host"):null},styleSheets:function(e){return e.styleSheets},shadowRoot:function(e){return e&&"shadowRoot"in e?$a("Element",e,"shadowRoot"):null},querySelector:function(e,t){return $a("Element",e,"querySelector")(t)},querySelectorAll:function(e,t){return $a("Element",e,"querySelectorAll")(t)},mutationObserver:Wa,patch:Ka};function Ga(e,t,s=document){const r={capture:!0,passive:!0};return s.addEventListener(e,t,r),()=>s.removeEventListener(e,t,r)}const Ha="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 Ya={map:{},getId:()=>(console.error(Ha),-1),getNode:()=>(console.error(Ha),null),removeNodeFromMap(){console.error(Ha)},has:()=>(console.error(Ha),!1),reset(){console.error(Ha)}};function qa(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 Za(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)}}),()=>Za(e,t,i||{},!0)}"undefined"!=typeof window&&window.Proxy&&window.Reflect&&(Ya=new Proxy(Ya,{get:(e,t,s)=>("map"===t&&console.error(Ha),Reflect.get(e,t,s))}));let Ja=Date.now;function Xa(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=Va.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=Va.parentElement(i.body))?void 0:r.scrollTop)||(null==(n=null==i?void 0:i.body)?void 0:n.scrollTop)||0}}function Qa(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function el(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function tl(e){if(!e)return null;return e.nodeType===e.ELEMENT_NODE?e:Va.parentElement(e)}function sl(e,t,s,r){if(!e)return!1;const n=tl(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(Y(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 rl(e,t,s){return!("TITLE"!==e.tagName||!s.headTitleMutations)||-2===t.getId(e)}function nl(e,t){if(w(e))return!1;const s=t.getId(e);if(!t.has(s))return!0;const r=Va.parentNode(e);return(!r||r.nodeType!==e.DOCUMENT_NODE)&&(!r||nl(r,t))}function il(e){return Boolean(e.changedTouches)}function ol(e,t){return Boolean("IFRAME"===e.nodeName&&t.getMeta(e))}function al(e,t){return Boolean("LINK"===e.nodeName&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&"stylesheet"===e.getAttribute("rel")&&t.getMeta(e))}function ll(e){return!!e&&(e instanceof Pa&&"shadowRoot"in e?Boolean(e.shadowRoot):Boolean(Va.shadowRoot(e)))}/[1-9][0-9]{12}/.test(Date.now().toString())||(Ja=()=>(new Date).getTime());class cl{constructor(){n(this,"id",1),n(this,"styleIDMap",new WeakMap),n(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 hl(e){var t;let s=null;return"getRootNode"in e&&(null==(t=Va.getRootNode(e))?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&Va.host(Va.getRootNode(e))&&(s=Va.host(Va.getRootNode(e))),s}function ul(e){const t=Va.ownerDocument(e);if(!t)return!1;const s=function(e){let t,s=e;for(;t=hl(s);)s=t;return s}(e);return Va.contains(t,s)}function dl(e){const t=Va.ownerDocument(e);return!!t&&(Va.contains(t,e)||ul(e))}var pl=(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))(pl||{}),ml=(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))(ml||{}),fl=(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))(fl||{}),gl=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(gl||{}),yl=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(yl||{}),wl=(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))(wl||{}),vl=(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))(vl||{});function Sl(e){return"__ln"in e}class bl{constructor(){n(this,"length",0),n(this,"head",null),n(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&&Sl(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&&Sl(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 Cl=(e,t)=>`${e}@${t}`;class kl{constructor(){n(this,"frozen",!1),n(this,"locked",!1),n(this,"texts",[]),n(this,"attributes",[]),n(this,"attributeMap",new WeakMap),n(this,"removes",[]),n(this,"mapRemoves",[]),n(this,"movedMap",{}),n(this,"addedSet",new Set),n(this,"movedSet",new Set),n(this,"droppedSet",new Set),n(this,"removesSubTreeCache",new Set),n(this,"mutationCb"),n(this,"blockClass"),n(this,"blockSelector"),n(this,"maskTextClass"),n(this,"maskTextSelector"),n(this,"inlineStylesheet"),n(this,"maskInputOptions"),n(this,"maskTextFn"),n(this,"maskInputFn"),n(this,"keepIframeSrcFn"),n(this,"recordCanvas"),n(this,"inlineImages"),n(this,"slimDOMOptions"),n(this,"dataURLOptions"),n(this,"doc"),n(this,"mirror"),n(this,"iframeManager"),n(this,"stylesheetManager"),n(this,"shadowDomManager"),n(this,"canvasManager"),n(this,"processedNodeManager"),n(this,"unattachedDoc"),n(this,"processMutations",e=>{e.forEach(this.processMutation),this.emit()}),n(this,"emit",()=>{if(this.frozen||this.locked)return;const e=[],t=new Set,s=new bl,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=Va.parentNode(n);if(!i||!dl(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=w(i)?this.mirror.getId(hl(n)):this.mirror.getId(i),l=r(n);if(-1===a||-1===l)return s.addNode(n);const c=Q(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=>{ol(e,this.mirror)&&this.iframeManager.addIframe(e),al(e,this.mirror)&&this.stylesheetManager.trackLinkElement(e),ll(n)&&this.shadowDomManager.addShadowRoot(Va.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)El(this.removesSubTreeCache,e,this.mirror)&&!this.movedSet.has(Va.parentNode(e))||n(e);for(const e of this.addedSet)xl(this.droppedSet,e)||El(this.removesSubTreeCache,e,this.mirror)?xl(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(Va.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(Va.parentNode(s.value));if(-1===r(s.value))continue;if(-1!==t){e=s;break}{const t=s.value,r=Va.parentNode(t);if(r&&r.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const t=Va.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=Va.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))}),n(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(Va.childNodes(e),e=>Va.textContent(e)||"").join("");t.attributes.value=k({element:e,maskInputOptions:this.maskInputOptions,tagName:e.tagName,type:x(e),value:s,maskInputFn:this.maskInputFn})}),n(this,"processMutation",e=>{if(!rl(e.target,this.mirror,this.slimDOMOptions))switch(e.type){case"characterData":{const t=Va.textContent(e.target);sl(e.target,this.blockClass,this.blockSelector,!1)||t===e.oldValue||this.texts.push({value:q(e.target,this.maskTextClass,this.maskTextSelector,!0)&&t?this.maskTextFn?this.maskTextFn(t,tl(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=x(t);r=k({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:e,value:r,maskInputFn:this.maskInputFn})}if(sl(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"),!H(t.tagName,s))if(n.attributes[s]=G(this.doc,I(t.tagName),I(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(sl(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=w(e.target)?this.mirror.getId(Va.host(e.target)):this.mirror.getId(e.target);sl(e.target,this.blockClass,this.blockSelector,!1)||rl(t,this.mirror,this.slimDOMOptions)||!function(e,t){return-1!==t.getId(e)}(t,this.mirror)||(this.addedSet.has(t)?(Il(this.addedSet,t),this.droppedSet.add(t)):this.addedSet.has(e.target)&&-1===s||nl(e.target,this.mirror)||(this.movedSet.has(t)&&this.movedMap[Cl(s,r)]?Il(this.movedSet,t):(this.removes.push({parentId:r,id:s,isShadow:!(!w(e.target)||!v(e.target))||void 0}),function(e,t){const s=[e];for(;s.length;){const e=s.pop();t.has(e)||(t.add(e),Va.childNodes(e).forEach(e=>s.push(e)))}}(t,this.removesSubTreeCache))),this.mapRemoves.push(t))})}}),n(this,"genAdds",(e,t)=>{if(!this.processedNodeManager.inOtherBuffer(e,this)&&!this.addedSet.has(e)&&!this.movedSet.has(e)){if(this.mirror.hasNode(e)){if(rl(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[Cl(this.mirror.getId(e),s)]=!0)}else this.addedSet.add(e),this.droppedSet.delete(e);sl(e,this.blockClass,this.blockSelector,!1)||(Va.childNodes(e).forEach(e=>this.genAdds(e)),ll(e)&&Va.childNodes(Va.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 Il(e,t){e.delete(t),Va.childNodes(t).forEach(t=>Il(e,t))}function El(e,t,s){return 0!==e.size&&function(e,t){const s=Va.parentNode(t);return!!s&&e.has(s)}(e,t)}function xl(e,t){return 0!==e.size&&Tl(e,t)}function Tl(e,t){const s=Va.parentNode(t);return!!s&&(!!e.has(s)||Tl(e,s))}let Ol;const Ml=e=>{if(!Ol)return e;return(...t)=>{try{return e(...t)}catch(e){if(Ol&&!0===Ol(e))return;throw e}}},_l=[];function Rl(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 Al(e,t){const s=new kl;_l.push(s),s.init(e);const r=new(Wa())(Ml(s.processMutations.bind(s)));return r.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),r}function Dl({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(fl).filter(e=>Number.isNaN(Number(e))&&!e.endsWith("_Departed")&&!1!==o[e]).forEach(i=>{let o=I(i);const c=(t=>i=>{const o=Rl(i);if(sl(o,r,n,!0))return;let a=null,c=t;if("pointerType"in i){switch(i.pointerType){case"mouse":a=gl.Mouse;break;case"touch":a=gl.Touch;break;case"pen":a=gl.Pen}a===gl.Touch?fl[t]===fl.MouseDown?c="TouchStart":fl[t]===fl.MouseUp&&(c="TouchEnd"):gl.Pen}else il(i)&&(a=gl.Touch);null!==a?(l=a,(c.startsWith("Touch")&&a===gl.Touch||c.startsWith("Mouse")&&a===gl.Mouse)&&(a=null)):fl[t]===fl.Click&&(a=l,l=null);const h=il(i)?i.changedTouches[0]:i;if(!h)return;const u=s.getId(o),{clientX:d,clientY:p}=h;Ml(e)({type:fl[c],id:u,x:d,y:p,...null!==a&&{pointerType:a}})})(i);if(window.PointerEvent)switch(fl[i]){case fl.MouseDown:case fl.MouseUp:o=o.replace("mouse","pointer");break;case fl.TouchStart:case fl.TouchEnd:return}a.push(Ga(o,c,t))}),Ml(()=>{a.forEach(e=>e())})}function Pl({scrollCb:e,doc:t,mirror:s,blockClass:r,blockSelector:n,sampling:i}){return Ga("scroll",Ml(qa(Ml(i=>{const o=Rl(i);if(!o||sl(o,r,n,!0))return;const a=s.getId(o);if(o===t&&t.defaultView){const s=Xa(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 Nl=["INPUT","TEXTAREA","SELECT"],Ll=new WeakMap;function Fl(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 Ul(e,t,s){let r,n;return e?(e.ownerNode?r=t.getId(e.ownerNode):n=s.getId(e),{styleId:n,id:r}):{}}function Bl({mirror:e,stylesheetManager:t},s){var r,n,i;let o=null;o="#document"===s.nodeName?e.getId(s):e.getId(Va.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}}),Ml(()=>{Object.defineProperty(s,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get:l.get,set:l.set})})):()=>{}}function $l(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=Al(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=qa(Ml(t=>{const s=Date.now()-o;e(a.map(e=>(e.timeOffset-=s,e)),t),a=[],o=null}),i),c=Ml(qa(Ml(e=>{const t=Rl(e),{clientX:s,clientY:n}=il(e)?e.changedTouches[0]:e;o||(o=Ja()),a.push({x:s,y:n,id:r.getId(t),timeOffset:Ja()-o}),l("undefined"!=typeof DragEvent&&e instanceof DragEvent?ml.Drag:e instanceof MouseEvent?ml.MouseMove:ml.TouchMove)}),n,{trailing:!1})),h=[Ga("mousemove",c,s),Ga("touchmove",c,s),Ga("drag",c,s)];return Ml(()=>{h.forEach(e=>e())})}(e),i=Dl(e),o=Pl(e),a=function({viewportResizeCb:e},{win:t}){let s=-1,r=-1;return Ga("resize",Ml(qa(Ml(()=>{const t=Qa(),n=el();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=Rl(e);const c=e.isTrusted,u=s&&s.tagName;if(s&&"OPTION"===u&&(s=Va.parentElement(s)),!s||!u||Nl.indexOf(u)<0||sl(s,r,n,!0))return;if(s.classList.contains(i)||o&&s.matches(o))return;let p=s.value,m=!1;const f=x(s)||"";"radio"===f||"checkbox"===f?m=s.checked:(a[u.toLowerCase()]||a[f])&&(p=k({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=Ll.get(t);if(!n||n.text!==r.text||n.isChecked!==r.isChecked){Ll.set(t,r);const n=s.getId(t);Ml(e)({...r,id:n})}}const p=("last"===c.input?["change"]:["input","change"]).map(e=>Ga(e,Ml(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=>Za(e[0],e[1],{set(){Ml(u)({target:this,isTrusted:!1})}},!1,m))),Ml(()=>{p.forEach(e=>e())})}(e),c=function({mediaInteractionCb:e,blockClass:t,blockSelector:s,mirror:r,sampling:n,doc:i}){const o=Ml(i=>qa(Ml(n=>{const o=Rl(n);if(!o||sl(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=[Ga("play",o(wl.Play),i),Ga("pause",o(wl.Pause),i),Ga("seeked",o(wl.Seeked),i),Ga("volumechange",o(wl.VolumeChange),i),Ga("ratechange",o(wl.RateChange),i)];return Ml(()=>{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:Ml((r,n,i)=>{const[o,a]=i,{id:l,styleId:c}=Ul(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:Ml((r,n,i)=>{const[o]=i,{id:a,styleId:l}=Ul(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:Ml((r,n,i)=>{const[o]=i,{id:a,styleId:l}=Ul(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:Ml((r,n,i)=>{const[o]=i,{id:a,styleId:l}=Ul(n,t,s.styleMirror);return(a&&-1!==a||l&&-1!==l)&&e({id:a,styleId:l,replaceSync:o}),r.apply(n,i)})}));const l={};jl("CSSGroupingRule")?l.CSSGroupingRule=r.CSSGroupingRule:(jl("CSSMediaRule")&&(l.CSSMediaRule=r.CSSMediaRule),jl("CSSConditionRule")&&(l.CSSConditionRule=r.CSSConditionRule),jl("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:Ml((r,n,i)=>{const[o,a]=i,{id:l,styleId:c}=Ul(n.parentStyleSheet,t,s.styleMirror);return(l&&-1!==l||c&&-1!==c)&&e({id:l,styleId:c,adds:[{rule:o,index:[...Fl(n),a||0]}]}),r.apply(n,i)})}),n.prototype.deleteRule=new Proxy(c[r].deleteRule,{apply:Ml((r,n,i)=>{const[o]=i,{id:a,styleId:l}=Ul(n.parentStyleSheet,t,s.styleMirror);return(a&&-1!==a||l&&-1!==l)&&e({id:a,styleId:l,removes:[{index:[...Fl(n),o]}]}),r.apply(n,i)})})}),Ml(()=>{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=Bl(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:Ml((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}=Ul(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:Fl(o.parentRule)}),n.apply(o,a)})});const o=n.CSSStyleDeclaration.prototype.removeProperty;return n.CSSStyleDeclaration.prototype.removeProperty=new Proxy(o,{apply:Ml((n,i,a)=>{var l;const[c]=a;if(s.has(c))return o.apply(i,[c]);const{id:h,styleId:u}=Ul(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:Fl(i.parentRule)}),n.apply(i,a)})}),Ml(()=>{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=Ka(t.fonts,"add",function(t){return function(s){return setTimeout(Ml(()=>{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),Ml(()=>{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=Ml(()=>{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;sl(o,r,n,!0)||sl(c,r,n,!0)||a.push({start:s.getId(o),startOffset:l,end:s.getId(c),endOffset:h})}i({ranges:a})});return a(),Ga("selectionchange",a)}(e),f=function({doc:e,customElementCb:t}){const s=e.defaultView;return s&&s.customElements?Ka(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 Ml(()=>{_l.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 jl(e){return Boolean(void 0!==window[e]&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}class Wl{constructor(e){n(this,"iframeIdToRemoteIdMap",new WeakMap),n(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 Kl{constructor(e){n(this,"iframes",new WeakMap),n(this,"crossOriginIframeMap",new WeakMap),n(this,"crossOriginIframeMirror",new Wl(F)),n(this,"crossOriginIframeStyleMirror"),n(this,"crossOriginIframeRootIdMap",new WeakMap),n(this,"mirror"),n(this,"mutationCb"),n(this,"wrappedEmit"),n(this,"loadListener"),n(this,"stylesheetManager"),n(this,"recordCrossOriginIframes"),this.mutationCb=e.mutationCb,this.wrappedEmit=e.wrappedEmit,this.stylesheetManager=e.stylesheetManager,this.recordCrossOriginIframes=e.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Wl(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 pl.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:pl.IncrementalSnapshot,data:{source:ml.Mutation,adds:[{parentId:this.mirror.getId(e),nextId:null,node:t.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case pl.Meta:case pl.Load:case pl.DomContentLoaded:return!1;case pl.Plugin:return t;case pl.Custom:return this.replaceIds(t.data.payload,e,["id","parentId","previousId","nextId"]),t;case pl.IncrementalSnapshot:switch(t.data.source){case ml.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 ml.Drag:case ml.TouchMove:case ml.MouseMove:return t.data.positions.forEach(t=>{this.replaceIds(t,e,["id"])}),t;case ml.ViewportResize:return!1;case ml.MediaInteraction:case ml.MouseInteraction:case ml.Scroll:case ml.CanvasMutation:case ml.Input:return this.replaceIds(t.data,e,["id"]),t;case ml.StyleSheetRule:case ml.StyleDeclaration:return this.replaceIds(t.data,e,["id"]),this.replaceStyleIds(t.data,e,["styleId"]),t;case ml.Font:return t;case ml.Selection:return t.data.ranges.forEach(t=>{this.replaceIds(t,e,["start","end"])}),t;case ml.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===vl.Document||e.rootId||(e.rootId=t),"childNodes"in e&&e.childNodes.forEach(e=>{this.patchRootIdOnNode(e,t)})}}class Vl{constructor(e){n(this,"shadowDoms",new WeakSet),n(this,"mutationCb"),n(this,"scrollCb"),n(this,"bypassOptions"),n(this,"mirror"),n(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(!v(e))return;if(this.shadowDoms.has(e))return;this.shadowDoms.add(e);const s=Al({...this.bypassOptions,doc:t,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},e);this.restoreHandlers.push(()=>s.disconnect()),this.restoreHandlers.push(Pl({...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(Va.host(e))),this.restoreHandlers.push(Bl({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(Ka(e.prototype,"attachShadow",function(e){return function(r){const n=e.call(this,r),i=Va.shadowRoot(this);return i&&dl(this)&&s.addShadowRoot(i,t),n}}))}reset(){this.restoreHandlers.forEach(e=>{try{e()}catch(e){}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}}for(var Gl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Hl="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Yl=0;Yl<64;Yl++)Hl[Gl.charCodeAt(Yl)]=Yl;const ql=new Map;const Zl=(e,t,s)=>{if(!e||!Ql(e,t)&&"object"!=typeof e)return;const r=function(e,t){let s=ql.get(e);return s||(s=new Map,ql.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 Jl(e,t,s){if(e instanceof Array)return e.map(e=>Jl(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+=Gl[s[t]>>2],n+=Gl[(3&s[t])<<4|s[t+1]>>4],n+=Gl[(15&s[t+1])<<2|s[t+2]>>6],n+=Gl[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:[Jl(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:[Jl(e.data,t,s),e.width,e.height]}}if(Ql(e,t)||"object"==typeof e){return{rr_type:e.constructor.name,index:Zl(e,t,s)}}return e}const Xl=(e,t,s)=>e.map(e=>Jl(e,t,s)),Ql=(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 ec(e,t,s,r){const n=[];try{const i=Ka(e.HTMLCanvasElement.prototype,"getContext",function(e){return function(n,...i){if(!sl(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 tc(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=Ka(e,l,function(e){return function(...o){const a=e.apply(this,o);if(Zl(a,i,this),"tagName"in this.canvas&&!sl(this.canvas,r,n,!0)){const e=Xl(o,i,this),r={type:t,property:l,args:e};s(this.canvas,r)}return a}});o.push(a)}catch{const r=Za(e,l,{set(e){s(this.canvas,{type:t,property:l,args:[e],setter:!0})}});o.push(r)}return o}const sc="KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=",rc="undefined"!=typeof window&&window.Blob&&new Blob([(nc=sc,Uint8Array.from(atob(nc),e=>e.charCodeAt(0)))],{type:"text/javascript;charset=utf-8"});var nc;function ic(e){let t;try{if(t=rc&&(window.URL||window.webkitURL).createObjectURL(rc),!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,"+sc,{name:null==e?void 0:e.name})}finally{t&&(window.URL||window.webkitURL).revokeObjectURL(t)}}class oc{constructor(e){n(this,"pendingCanvasMutations",new Map),n(this,"rafStamps",{latestId:0,invokeId:null}),n(this,"mirror"),n(this,"mutationCb"),n(this,"resetObservers"),n(this,"frozen",!1),n(this,"locked",!1),n(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:o,dataURLOptions:a}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,o&&"all"===t&&this.initCanvasMutationObserver(s,r,i),o&&"number"==typeof t&&this.initCanvasFPSObserver(t,s,r,i,{dataURLOptions:a})}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=ec(t,s,r,!0),o=new Map,a=new ic;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:yl["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=>{sl(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=ec(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=Ka(t.CanvasRenderingContext2D.prototype,o,function(n){return function(...i){return sl(this.canvas,s,r,!0)||setTimeout(()=>{const s=Xl(i,t,this);e(this.canvas,{type:yl["2D"],property:o,args:s})},0),n.apply(this,i)}});n.push(i)}catch{const s=Za(t.CanvasRenderingContext2D.prototype,o,{set(t){e(this.canvas,{type:yl["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(...tc(t.WebGLRenderingContext.prototype,yl.WebGL,e,s,r,t)),void 0!==t.WebGL2RenderingContext&&n.push(...tc(t.WebGL2RenderingContext.prototype,yl.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 ac{constructor(e){n(this,"trackedLinkElements",new WeakSet),n(this,"mutationCb"),n(this,"adoptedStyleSheetCb"),n(this,"styleMirror",new cl),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:b(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 lc{constructor(){n(this,"nodeMap",new WeakMap),n(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 cc,hc,uc,dc=!1;try{if(2!==Array.from([1],e=>2*e)[0]){const t=document.createElement("iframe");document.body.appendChild(t),Array.from=(null==(e=t.contentWindow)?void 0:e.Array.from)||Array.from,document.body.removeChild(t)}}catch(e){console.debug("Unable to override Array.from",e)}const pc=new C;function mc(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:k=!1,recordCrossOriginIframes:I=!1,recordAfter:E=("DOMContentLoaded"===e.recordAfter?e.recordAfter:"load"),userTriggeredOnInput:x=!1,collectFonts:T=!1,inlineImages:O=!1,plugins:M,keepIframeSrcFn:_=()=>!1,ignoreCSSAttributes:R=new Set([]),errorHandler:A}=e;Ol=A;const D=!I||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),pc.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=X(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&&!P&&(e=y(e)),e};cc=(e,n)=>{var i;const o=e;if(o.timestamp=Ja(),!(null==(i=_l[0])?void 0:i.isFrozen())||o.type===pl.FullSnapshot||o.type===pl.IncrementalSnapshot&&o.data.source===ml.Mutation||_l.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===pl.FullSnapshot)F=o,U=0;else if(o.type===pl.IncrementalSnapshot){if(o.data.source===ml.Mutation&&o.data.isAttachIframe)return;U++;const e=r&&U>=r,t=s&&o.timestamp-F.timestamp>s;(e||t)&&hc(!0)}};const $=e=>{cc({type:pl.IncrementalSnapshot,data:{source:ml.Mutation,...e}})},z=e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.Scroll,...e}}),j=e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.CanvasMutation,...e}}),W=new ac({mutationCb:$,adoptedStyleSheetCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.AdoptedStyleSheet,...e}})}),K=new Kl({mirror:pc,mutationCb:$,stylesheetManager:W,recordCrossOriginIframes:I,wrappedEmit:cc});for(const e of M||[])e.getMirror&&e.getMirror({nodeMirror:pc,crossOriginIframeMirror:K.crossOriginIframeMirror,crossOriginIframeStyleMirror:K.crossOriginIframeStyleMirror});const V=new lc;uc=new oc({recordCanvas:k,mutationCb:j,win:window,blockClass:n,blockSelector:i,mirror:pc,sampling:w.canvas,dataURLOptions:v});const G=new Vl({mutationCb:$,scrollCb:z,bypassOptions:{blockClass:n,blockSelector:i,maskTextClass:l,maskTextSelector:c,inlineStylesheet:h,maskInputOptions:N,dataURLOptions:v,maskTextFn:f,maskInputFn:m,recordCanvas:k,inlineImages:O,sampling:w,slimDOMOptions:L,iframeManager:K,stylesheetManager:W,canvasManager:uc,keepIframeSrcFn:_,processedNodeManager:V},mirror:pc});hc=(e=!1)=>{if(!b)return;cc({type:pl.Meta,data:{href:window.location.href,width:el(),height:Qa()}},e),W.reset(),G.init(),_l.forEach(e=>e.lock());const t=function(e,t){const{mirror:s=new C,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 Q(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:X(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:pc,blockClass:n,blockSelector:i,maskTextClass:l,maskTextSelector:c,inlineStylesheet:h,maskAllInputs:N,maskTextFn:f,maskInputFn:m,slimDOM:L,dataURLOptions:v,recordCanvas:k,inlineImages:O,onSerialize:e=>{ol(e,pc)&&K.addIframe(e),al(e,pc)&&W.trackLinkElement(e),ll(e)&&G.addShadowRoot(Va.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");cc({type:pl.FullSnapshot,data:{node:t,initialOffset:Xa(window)}},e),_l.forEach(e=>e.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&W.adoptStyleSheets(document.adoptedStyleSheets,pc.getId(document))};try{const e=[],t=e=>{var t;return Ml($l)({mutationCb:$,mousemoveCb:(e,t)=>cc({type:pl.IncrementalSnapshot,data:{source:t,positions:e}}),mouseInteractionCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.MouseInteraction,...e}}),scrollCb:z,viewportResizeCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.ViewportResize,...e}}),inputCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.Input,...e}}),mediaInteractionCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.MediaInteraction,...e}}),styleSheetRuleCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.StyleSheetRule,...e}}),styleDeclarationCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.StyleDeclaration,...e}}),canvasMutationCb:j,fontCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.Font,...e}}),selectionCb:e=>{cc({type:pl.IncrementalSnapshot,data:{source:ml.Selection,...e}})},customElementCb:e=>{cc({type:pl.IncrementalSnapshot,data:{source:ml.CustomElement,...e}})},blockClass:n,ignoreClass:o,ignoreSelector:a,maskTextClass:l,maskTextSelector:c,maskInputOptions:N,inlineStylesheet:h,sampling:w,recordDOM:b,recordCanvas:k,inlineImages:O,userTriggeredOnInput:x,collectFonts:T,doc:e,maskInputFn:m,maskTextFn:f,keepIframeSrcFn:_,blockSelector:i,slimDOMOptions:L,dataURLOptions:v,mirror:pc,iframeManager:K,stylesheetManager:W,shadowDomManager:G,processedNodeManager:V,canvasManager:uc,ignoreCSSAttributes:R,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=>cc({type:pl.Plugin,data:{plugin:e.name,payload:t}})})))||[]},g)};K.addLoadListener(s=>{try{e.push(t(s.contentDocument))}catch(e){console.warn(e)}});const s=()=>{hc(),e.push(t(document)),dc=!0};return["interactive","complete"].includes(document.readyState)?s():(e.push(Ga("DOMContentLoaded",()=>{cc({type:pl.DomContentLoaded,data:{}}),"DOMContentLoaded"===E&&s()})),e.push(Ga("load",()=>{cc({type:pl.Load,data:{}}),"load"===E&&s()},window))),()=>{e.forEach(e=>{try{e()}catch(e){String(e).toLowerCase().includes("cross-origin")||console.warn(e)}}),V.destroy(),dc=!1,Ol=void 0}}catch(e){console.warn(e)}}var fc,gc;mc.addCustomEvent=(e,t)=>{if(!dc)throw new Error("please add custom event after start recording");cc({type:pl.Custom,data:{tag:e,payload:t}})},mc.freezePage=()=>{_l.forEach(e=>e.freeze())},mc.takeFullSnapshot=e=>{if(!dc)throw new Error("please take full snapshot after start recording");hc(e)},mc.mirror=pc,(gc=fc||(fc={}))[gc.NotStarted=0]="NotStarted",gc[gc.Running=1]="Running",gc[gc.Stopped=2]="Stopped";const yc=[];for(let e=0;e<256;++e)yc.push((e+256).toString(16).slice(1));let wc;const vc=new Uint8Array(16);const Sc={};function bc(e,t,s){let r;{const e=Date.now(),n=function(){if(!wc){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");wc=crypto.getRandomValues.bind(crypto)}return wc(vc)}();!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}(Sc,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,Sc.msecs,Sc.nsecs,Sc.clockseq,Sc.node,t,s)}return t??function(e,t=0){return(yc[e[t+0]]+yc[e[t+1]]+yc[e[t+2]]+yc[e[t+3]]+"-"+yc[e[t+4]]+yc[e[t+5]]+"-"+yc[e[t+6]]+yc[e[t+7]]+"-"+yc[e[t+8]]+yc[e[t+9]]+"-"+yc[e[t+10]]+yc[e[t+11]]+yc[e[t+12]]+yc[e[t+13]]+yc[e[t+14]]+yc[e[t+15]]).toLowerCase()}(r)}var Cc,kc;(kc=Cc||(Cc={}))[kc.NONE=0]="NONE",kc[kc.ERROR=1]="ERROR",kc[kc.WARN=2]="WARN",kc[kc.INFO=3]="INFO",kc[kc.DEBUG=4]="DEBUG";const Ic=new class{constructor(e){this.config={level:Cc.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(Cc.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(Cc.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(Cc.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(Cc.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 Ec=!1;const xc=(e,...t)=>{Ec=!0;try{Ic.error(e,...t)}finally{Ec=!1}},Tc=(e,...t)=>{Ec=!0;try{Ic.warn(e,...t)}finally{Ec=!1}},Oc=(e,...t)=>{Ec=!0;try{Ic.info(e,...t)}finally{Ec=!1}},Mc=(e,...t)=>{Ec=!0;try{Ic.debug(e,...t)}finally{Ec=!1}};class _c{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)"),Tc(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=>{xc("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){xc("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)||Tc("sendBeacon returned false for unload request")}catch(e){xc("Error sending beacon request:",e)}}}class Rc{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 Tc("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)),Mc(`Persisted ${t.length} events to storage`)}catch(t){if("QuotaExceededError"===t.name||22===t.code){Tc("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){Tc("Failed to save smaller queue, clearing storage"),this.clearQueue()}}else Tc("Failed to persist queue:",t)}}addToQueue(e){const t=this.getQueue();t.push(e),t.length>this.maxQueueSize&&(t.shift(),Mc("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){Tc("Failed to clear persisted queue:",e)}}getQueueLength(){return this.getQueue().length}}const Ac="0.5.71",Dc=1048576,Pc=52428.8;function Nc(e,t,s){return(new TextEncoder).encode(Lc({sessionId:s,events:[...e,t]})).length>Dc}function Lc(e){return JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString():t)}function Fc(e,t){if(!e||"object"!=typeof e)return[];if((new TextEncoder).encode(Lc({sessionId:t,events:[e]})).length<=Dc)return[e];const s={...e},r=["screenshot","html","dom","fullText","innerHTML","outerHTML"];return r.forEach(e=>{s[e]&&delete s[e]}),(new TextEncoder).encode(Lc({sessionId:t,events:[s]})).length<=Dc?[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 Uc{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 Rc(e),this.retryQueue=new _c(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){Mc(`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){Tc("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<Pc,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),Oc("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:Lc({sessionId:e,endUserId:t,entryURL:s,referrer:r,sdkVersion:Ac})});if(Oc("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 xc("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,Oc("Monthly limit reached detected from server response")),Oc("API init success:",i),{sessionId:i.sessionId,endUserId:i.endUserId}}catch(e){throw xc("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:Lc({sessionId:t,events:r,endUserId:s,sdkVersion:Ac})});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,Oc("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(Nc(o,a,t)){if(o.length>0){Mc(`[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:Lc({sessionId:t,events:o,endUserId:s,windowId:r,automaticProperties:n,sdkVersion:Ac})});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,Oc("Monthly limit reached detected from chunked events response")),i.push(a),o=[]}o=Fc(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 xc("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=Lc({sessionId:t,events:e.slice(o,o+i),endUserId:s,windowId:r,automaticProperties:n,sdkVersion:Ac}),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){Tc(`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,Oc("Monthly limit reached detected from chunked events response")),o+=i,o>=e.length)return h}catch(i){return Tc("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};Mc("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:Lc(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 Mc("Server response:",i),i}catch(e){throw xc("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:Lc({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 xc("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:Ac,apiKey:this.apiKey},o=new Blob([Lc(i)],{type:"application/json"});return navigator.sendBeacon(`${this.baseUrl}/api/ingestion/events`,o)}async sendCustomEvent(e,t,s,r){Oc("[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:Lc({sessionId:e,eventName:t,eventProperties:s||{},endUserId:r||null})});if(Oc("[SDK] Custom event response",{status:n.status,statusText:n.statusText}),!n.ok){const e=await n.text();throw xc("[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 Mc("[SDK] Custom event success",i),i}catch(r){throw xc("[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:Lc({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 xc("Error sending custom event batch:",e),e}}async sendLog(e){try{if(Mc("[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:Lc(e)});t.ok?Mc("[SDK] Log sent successfully"):Tc("[SDK] Failed to send log to server:",t.status,t.statusText)}catch(e){Tc("[SDK] Failed to send log to server:",e)}}async sendNetworkError(e){try{if(Mc("[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:Lc(e)});t.ok?Mc("[SDK] Network error sent successfully"):Tc("[SDK] Failed to send network error to server:",t.status,t.statusText)}catch(e){Tc("[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:Lc({sessionId:e,endUserId:t,ipDetectionMethod:"server_header"})});s.ok||Tc("[SDK] Failed to send ip-info:",s.status,s.statusText)}catch(e){Tc("[SDK] Failed to send ip-info:",e)}}async trackedFetch(e,t,s){const r=Date.now(),n=bc(),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<Pc,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,Tc("[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 Tc("[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=Lc(t.body),s=t.body}if(e.includes("/api/ingestion/"))if(s&&"object"==typeof s)s.apiKey=this.apiKey,r=Lc(s);else if(r)try{const e=JSON.parse(r);e.apiKey=this.apiKey,r=Lc(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)?(Mc("[SDK] Successfully sent request via sendBeacon (CSP fallback)"),new Response(null,{status:200,statusText:"OK",headers:new Headers})):(Tc("[SDK] sendBeacon returned false - browser may be throttling"),new Response(null,{status:200,statusText:"OK (sendBeacon best-effort)",headers:new Headers}))}catch(e){return xc("[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 Bc{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?Mc(`Redaction: Active for ${this.redactedFields.size} field(s):`,Array.from(this.redactedFields)):Mc("Redaction: No fields to redact"),this.applyRedactionClasses()}setFieldsToUnredact(e){this.unredactedFields.clear();const t=e.filter(e=>!this.isPasswordSelector(e)||(Tc(`Cannot unredact password field: ${e} - Password fields are always protected`),!1));t.forEach(e=>this.unredactedFields.add(e)),t.length>0?Mc(`Unredaction: Active for ${t.length} field(s):`,t):Mc("Unredaction: No valid fields to unredact"),this.applyUnredactionClasses()}redactFields(e){e.forEach(e=>{this.unredactedFields.delete(e)}),this.unredactedFields.size>0?Mc(`Unredaction: Removed ${e.length} field(s), ${this.unredactedFields.size} remaining:`,Array.from(this.unredactedFields)):Mc("Unredaction: All fields redacted"),this.applyUnredactionClasses()}clearUnredactedFields(){this.unredactedFields.clear(),Mc("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")}),Mc(`Added rr-mask class to ${t.length} element(s) for selector: ${e}`)}catch(t){Tc(`Invalid selector: ${e}`)}}):Mc("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")}),Mc(`Removed rr-mask class from ${t.length} element(s) for selector: ${e}`)}catch(t){Tc(`Invalid selector: ${e}`)}}):Mc("DOM not ready, deferring unredaction class application"))}removeUnredactionClasses(){Mc("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){Tc(`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){Tc(`Invalid selector: ${t}`)}return!0}}new Bc;const $c="undefined"!=typeof window;function zc(){if(!$c)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 jc(e){try{return new URL(e).hostname}catch{return""}}function Wc(){if(!$c)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(!$c)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(!$c)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 Kc(){if(!$c)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:jc(t),initial_referrer:t,initial_referrer_domain:jc(t),initial_host:window.location.hostname,...s}}function Vc(){return{...Wc(),...Kc()}}function Gc(){if(!$c)return{};const e=Kc();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 Hc{constructor(e={}){this.sessionProperties={},this.userProperties={},this.initialProperties={},this.isInitialized=!1,this.config={enableAutomaticProperties:!0,enableSessionProperties:!0,enableUserProperties:!0,propertyDenylist:[],...e},this.automaticProperties=Vc(),this.initialize()}initialize(){this.isInitialized||(this.initialProperties=function(){if(!$c)return{};const e=Kc();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,...Gc()}}getAutomaticPropertiesWithGeoIP(e={}){return{...this.automaticProperties,...Gc(),...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=Vc()}getAllProperties(){return{automatic:this.getAutomaticProperties(),session:{...this.sessionProperties},user:{...this.userProperties},initial:{...this.initialProperties}}}}const Yc="undefined"!=typeof window;class qc{get isTrackerStarted(){return this.isStarted}setupDomReadyHandler(){if(Yc)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,Mc("🎯 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(Mc("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:Tc("Unknown request type:",e.type)}}registerDomReadyHandler(e){this.isDomReady?e():this.domReadyHandlers.push(e)}static init(e,t){if(Yc&&!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(Yc&&window.__humanBehaviorGlobalTracker)return Mc("Tracker already initialized, returning existing instance"),window.__humanBehaviorGlobalTracker;t?.logLevel&&this.configureLogging({level:t.logLevel});const s=new qc(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 Uc({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 Bc({redactionStrategy:s?.redactionStrategy,legacyRedactFields:s?.redactFields}),this.propertyManager=new Hc({enableAutomaticProperties:!1!==s?.enableAutomaticProperties,propertyDenylist:s?.propertyDenylist||[]}),Yc){const e="human_behavior_end_user_id",t=this.getCookie(e);this.endUserId=t||bc(),t?Mc(`Reusing existing endUserId: ${this.endUserId}`):(this.setCookie(e,this.endUserId,365),Mc(`Generated new endUserId: ${this.endUserId}`))}else this.endUserId=bc();if(Yc){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=bc(),this.windowId=bc();this.api.setTrackingContext(this.sessionId,this.endUserId),this.initializationPromise=this.init().catch(e=>{xc("Initialization failed:",e)})}async init(){try{Yc?(this.setupPageUnloadHandler(),this.setupNavigationTracking()):Oc("HumanBehaviorTracker initialized in server environment. Session tracking is disabled."),this.initialized=!0,Oc(`HumanBehaviorTracker initialized with sessionId: ${this.sessionId}, endUserId: ${this.endUserId}`)}catch(e){xc("Failed to initialize HumanBehaviorTracker:",e),this.initialized=!0}}async ensureInitialized(){this.initializationPromise&&await this.initializationPromise}setupNavigationTracking(){if(!Yc||this.navigationTrackingEnabled)return;this.navigationTrackingEnabled=!0,Mc("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)}Mc(`Navigation tracked: ${e} from ${t} to ${s}`)}catch(e){xc("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()}),Mc(`Pageview tracked: ${t.url}`)}catch(e){xc("Failed to track pageview event:",e)}}}async customEvent(e,t){this.endUserId||(Tc(`endUserId not available, using anonymous ID for event: ${e}`),this.endUserId=bc()),Yc&&this.checkAndRefreshSession();const s=this.propertyManager.getEventProperties(t);if(this.shouldSkipDueToMinimumDuration())return Mc(`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),Mc(`Custom event tracked: ${e}`,s)}catch(t){xc("Failed to track custom event:",t),t.message?.includes("500")||t.message?.includes("Internal Server Error")||t.message?.includes("Failed to send custom event")?Tc("Custom event endpoint failed, using fallback"):t.message?.includes("ERR_BLOCKED_BY_CLIENT")?Tc("Custom event request blocked by ad blocker, using fallback"):t.message?.includes("Failed to fetch")&&Tc("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()}),Mc(`Custom event added to event stream as fallback: ${e}`)}catch(e){xc("Failed to add custom event to event stream as fallback:",e)}}}setupAutomaticTracking(e){if(!Yc)return;const t={trackButtons:!1!==e?.trackButtons,trackLinks:!1,trackForms:!1!==e?.trackForms,includeText:!1!==e?.includeText,includeClasses:e?.includeClasses||!1};Mc("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(){Yc&&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(){Yc&&(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(){Yc&&(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(){Yc&&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(){Yc&&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(!Yc)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,Mc("Navigation tracking cleaned up"))}static logToStorage(e){Oc(e)}static configureLogging(e){Ic.setConfig({level:{none:0,error:1,warn:2,info:3,debug:4}[e.level||"error"],enableConsole:!1!==e.enableConsole,enableStorage:e.enableStorage||!1})}enableConsoleTracking(){Yc&&!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,Mc("Console tracking enabled"))}enableNetworkTracking(){Yc&&!this.networkTrackingEnabled&&"undefined"!=typeof fetch&&(this.originalFetch=window.fetch.bind(window),window.fetch=async(e,t)=>{const s=Date.now(),r=bc(),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()?(Mc("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 Mc("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 Mc("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,Mc("Network tracking enabled"))}async flushPendingCustomEvents(){if(0===this.pendingCustomEvents.length)return;const e=[...this.pendingCustomEvents];this.pendingCustomEvents=[],Mc(`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){xc("Failed to flush pending custom event:",e)}}async flushPendingLogs(){if(0===this.pendingLogs.length)return;const e=[...this.pendingLogs];this.pendingLogs=[],Mc(`Flushing ${e.length} pending logs`);for(const{logData:t}of e)try{await this.api.sendLog(t)}catch(e){xc("Failed to flush pending log:",e)}}async flushPendingNetworkErrors(){if(0===this.pendingNetworkErrors.length)return;const e=[...this.pendingNetworkErrors];this.pendingNetworkErrors=[],Mc(`Flushing ${e.length} pending network errors`);for(const{errorData:t}of e)try{await this.api.sendNetworkError(t)}catch(e){xc("Failed to flush pending network error:",e)}}enablePageLoadTracking(){Yc&&"undefined"!=typeof window&&("complete"===document.readyState?this.trackPageLoad():window.addEventListener("load",()=>{this.trackPageLoad()}),Mc("Page load tracking enabled"))}trackPageLoad(){if(Yc&&"undefined"!=typeof performance)try{const e=performance.getEntriesByType("navigation")[0];if(!e)return;const t=e.loadEventEnd-e.fetchStart;if(t>3e3){const s=bc(),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 Mc("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){Tc("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(){Yc&&this.consoleTrackingEnabled&&(this.originalConsole&&(console.log=this.originalConsole.log,console.warn=this.originalConsole.warn,console.error=this.originalConsole.error),this.consoleTrackingEnabled=!1,Mc("Console tracking disabled"))}trackConsoleEvent(e,t){if(this.initialized)if("log"!==e)try{if(Ec)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:Yc?window.location.href:"",userAgent:Yc?navigator.userAgent:"",stack:s,sessionId:this.sessionId,endUserId:this.endUserId,automaticProperties:this.propertyManager.getAutomaticProperties()};if(this.shouldSkipDueToMinimumDuration())return Mc(`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){xc("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(!Yc)return;Mc("Setting up page unload handler"),window.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState?(Mc("Page hidden - sending pending events"),this.flushEvents()):"visible"===document.visibilityState&&(Mc("Page visible - taking full snapshot for multi-window replay"),this.takeFullSnapshot())});const e="onpagehide"in window?"pagehide":"beforeunload";window.addEventListener(e,()=>{Mc("Page unloading - sending final events via sendBeacon");const e=this.minimumDurationMilliseconds,t=this.getSessionDuration();if(null!==t&&t>=0&&t<e)return void Mc(`Session duration (${t}ms) below minimum (${e}ms), not sending on unload`);const s=[...this.eventQueue];if(Yc&&window.__hb_pending_snapshots){const e=window.__hb_pending_snapshots;Array.isArray(e)&&e.length>0&&(Mc("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){Tc("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=Ic.getLogs();Oc("HumanBehavior Logs:",e),Ic.clearLogs()}catch(e){xc("Failed to read logs:",e)}}async identifyUser({userProperties:e}){const t=this.endUserId;this.userProperties=e,Mc("Identifying user:",{userProperties:e,originalEndUserId:t,sessionId:this.sessionId}),!Yc||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),Yc)try{localStorage.setItem(s,r)}catch(e){Mc("Failed to set canonical endUserId in localStorage:",e)}Mc(`πŸ”— Preexisting user detected. Future sessions will use canonical ID: ${r} (current session stays: ${t})`)}}return t||""}getUserAttributes(){return{...this.userProperties}}async start(){if(!Yc)return;if(this.isStarted)return void Mc("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 Mc("🎯 Recording already started, skipping duplicate start");Mc("🎯 DOM ready, starting session recording"),this.rrwebRecord=mc;const e=mc({emit:e=>{this.addRecordingEvent(e),2===e.type&&Mc(`🎯 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(Mc(`🎯 DOM ready state: ${document.readyState}`),"complete"===document.readyState||"interactive"===document.readyState)Mc(`🎯 DOM ready (${document.readyState}), starting recording immediately`),e();else{Mc("🎯 DOM not ready, waiting for DOMContentLoaded event");const t=()=>("interactive"===document.readyState||"complete"===document.readyState)&&(Mc(`🎯 DOM ready (${document.readyState}), starting recording`),e(),!0);if(t())return;document.addEventListener("DOMContentLoaded",()=>{Mc("🎯 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(),Mc("βœ… FullSnapshot taken (delayed for animations)")):Tc("⚠️ takeFullSnapshot not available on record function")}catch(e){xc("❌ Failed to take FullSnapshot:",e)}})})},1e3)}async stop(){await this.ensureInitialized(),Yc&&(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(Yc&&this.checkAndRefreshSession(),e&&"object"==typeof e){if(2===e.type){const t=!!e.data,s=!(!e.data||!e.data.node);Mc(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(),Mc("Queue is full, the oldest event is dropped.")),this.eventQueue.push(e),2===e.type?(Mc("FullSnapshot added, triggering immediate flush"),this.flushEvents()):this.eventQueue.length>=.8*this.MAX_QUEUE_SIZE&&(Mc(`Queue at ${this.eventQueue.length}/${this.MAX_QUEUE_SIZE}, triggering immediate flush`),this.flushEvents())}else Mc("⚠️ 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)&&(Mc(`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 Mc(`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&&Yc&&(window.__hb_pending_snapshots=s,setTimeout(()=>{delete window.__hb_pending_snapshots},5e3)),t.length>0){Mc("Flushing events:",t);const s=t.filter(e=>2===e.type);s.length>0&&Mc(`[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"))Tc("Session expired, events will be lost");else if(e.message?.includes("413")||e.message?.includes("Content Too Large"))Tc("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;Tc("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?(Mc("βœ… User activity detected, exiting idle state"),this._isIdle=!1,this.rrwebRecord&&"function"==typeof this.rrwebRecord.takeFullSnapshot&&(this.rrwebRecord.takeFullSnapshot(),Mc("βœ… 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&&(Mc(`⏸️ Session idle detected (${Math.round(e/1e3)}s since last activity) - stopping background event recording`),Mc(`ℹ️ Session will expire after 15 minutes of inactivity (${Math.round((9e5-e)/1e3)}s remaining)`),this._isIdle=!0,this.flushEvents())}}async addRecordingEvent(e){if(Yc&&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);Mc(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(),Mc("Queue is full, the oldest event is dropped.")),this.eventQueue.push(e),2===e.type?(Mc("FullSnapshot added, triggering immediate flush"),this.flushEvents()):!0!==this._isIdle&&this.eventQueue.length>=.8*this.MAX_QUEUE_SIZE&&(Mc(`Queue at ${this.eventQueue.length}/${this.MAX_QUEUE_SIZE}, triggering immediate flush`),this.flushEvents())}}else Mc("⚠️ Skipping invalid recording event:",e)}_canUseSessionStorage(){if(!Yc)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),Mc(`Stored windowId in sessionStorage: ${e}`)}catch(e){Tc("Failed to store windowId in sessionStorage:",e)}}_removeWindowIdFromStorage(){if(this._canUseSessionStorage())try{sessionStorage.removeItem(this._window_id_storage_key)}catch(e){Tc("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){Tc("Failed to set primary_window_exists flag:",e)}}getOrCreateWindowId(){if(!Yc)return bc();const e=this._getWindowIdFromStorage(),t=this._getPrimaryWindowExists();if(e&&!t)return Mc(`Reusing windowId from previous page load: ${e}`),this._setWindowIdInStorage(e),this._setPrimaryWindowExists(!0),e;{const e=bc();return Mc(`Creating new windowId: ${e} (new window/tab detected)`),this._setWindowIdInStorage(e),this._setPrimaryWindowExists(!0),e}}setupWindowUnloadListener(){Yc&&window.addEventListener("beforeunload",()=>{this._canUseSessionStorage()&&(this._setPrimaryWindowExists(!1),Mc("Cleared primary_window_exists flag on beforeunload"))},{capture:!1})}setCookie(e,t,s){if(Yc)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),Mc(`Set cookie and localStorage: ${e}`)}catch(s){try{localStorage.setItem(e,t),Mc(`Cookie blocked, using localStorage: ${e}`)}catch(e){xc("Failed to store user ID in both cookie and localStorage:",e)}}}getCookie(e){if(!Yc)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 Mc(`Found cookie: ${e}`),s}}const r=localStorage.getItem(e);return r?(Mc(`Cookie not found, using localStorage: ${e}`),r):null}catch(t){try{const t=localStorage.getItem(e);if(t)return Mc(`Cookie access failed, using localStorage: ${e}`),t}catch(e){xc("Failed to access both cookie and localStorage:",e)}return null}}deleteCookie(e){if(Yc){try{document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; SameSite=Lax`,Mc(`Deleted cookie: ${e}`)}catch(t){xc(`Failed to delete cookie: ${e}`,t)}try{localStorage.removeItem(e),Mc(`Removed from localStorage: ${e}`)}catch(t){xc(`Failed to remove from localStorage: ${e}`,t)}}}logout(){if(Yc)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=bc(),this.setCookie("human_behavior_end_user_id",this.endUserId,365),this.sessionId=this.createNewSession(t),this.windowId=bc(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),Oc("User logged out - cleared all user data and started fresh session")}catch(e){xc("Error during logout:",e)}}async redact(e){await this.ensureInitialized(),Yc?this.redactionManager=new Bc(e):Tc("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(!Yc)return;const e="human_behavior_session",t=Date.now(),s=this.getStoredSession(e);if(!s||!s.sessionId)return this.createNewSession(e),this.windowId=bc(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),void Mc(`Created new session (no stored session): ${this.sessionId}`);this.updateSessionActivity(e,t,s.sessionId,s.sessionStartTimestamp)}getOrCreateSessionId(){if(!Yc)return bc();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){Mc(`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};{Mc("Session in memory expired: creating new session immediately");const t=this.sessionId;if(this.createNewSession(e),this.windowId=bc(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),Oc(`πŸ”„ 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){Mc(`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=bc(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),Oc(`πŸ”„ 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=bc(),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){Tc(`Failed to save session to localStorage: ${e}`)}return Mc(`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){Tc(`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(!Yc)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()}}Yc&&(window.HumanBehaviorTracker=qc);const Zc=(e,t,s)=>new qc(e,t,s);"undefined"!=typeof window&&(window.HumanBehaviorTracker=qc,window.humanbehavior={init:Zc});const Jc=()=>"undefined"!=typeof window,Xc=s.createContext(null),Qc=e=>({addEvent:t=>{e(t)},identifyUser:async({userProperties:t})=>(e({type:"identify",userProperties:t}),""),start:()=>{},stop:()=>{},logout:()=>{},viewLogs:()=>{Tc("Logs are not available until HumanBehaviorTracker is initialized")},setUnredactedFields:()=>{},hasUnredactedFields:()=>!1,getUnredactedFields:()=>[],trackPageView:()=>{}}),eh=()=>{const e=s.useContext(Xc);if(!e)throw new Error("useHumanBehavior must be used within a HumanBehaviorProvider");return e};function th(){const e=s.useContext(Xc);return s.useEffect(()=>{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}exports.HumanBehaviorProvider=({apiKey:e,client:r,children:n,options:i})=>{const[o,a]=s.useState(r||null),[l,c]=s.useState([]),[h,u]=s.useState(!1),[d,p]=s.useState(!1),m=s.useRef(e),f=s.useRef(r),g=s.useRef(l);s.useEffect(()=>{m.current=e,f.current=r},[e,r]),s.useEffect(()=>{g.current=l},[l]);const y=s.useCallback(e=>{c(t=>[...t,e])},[]);s.useEffect(()=>{u(!0)},[]),s.useEffect(()=>{if(Jc()){if(f.current)return a(f.current),void p(!0);if(m.current&&""!==m.current.trim()){if(null===o)try{const e=qc.init(m.current.trim(),{ingestionUrl:i?.ingestionUrl,logLevel:i?.logLevel,redactFields:i?.redactFields,redactionStrategy:i?.redactionStrategy,enableAutomaticTracking:i?.enableAutomaticTracking,suppressConsoleErrors:i?.suppressConsoleErrors,recordCanvas:i?.recordCanvas,enableAutomaticProperties:i?.enableAutomaticProperties,propertyDenylist:i?.propertyDenylist,automaticTrackingOptions:i?.automaticTrackingOptions,maxQueueSize:i?.maxQueueSize,enableConsoleTracking:i?.enableConsoleTracking,enableNetworkTracking:i?.enableNetworkTracking});a(e),p(!0),e.initializationPromise?.then(async()=>{e.isTrackerStarted||await e.start();const t=g.current;if(t.length>0){for(const s of t)if("identify"===s.type){Mc("Processing queued identify event",s);try{await e.identifyUser({userProperties:s.userProperties})}catch(e){xc("Failed to process queued user info:",e)}}else e.addEvent(s);c([])}}).catch(e=>{xc("Failed to initialize HumanBehaviorTracker:",e)})}catch(e){xc("Failed to create HumanBehaviorTracker:",e)}}else xc("An apiKey is required when no client is provided")}},[h]);const w=s.useMemo(()=>h&&d?o:Qc(y),[h,d,o,y]);return Jc()?t.jsxs(Xc.Provider,{value:w,children:[t.jsx(th,{}),n]}):t.jsx(t.Fragment,{children:n})},exports.HumanBehaviorTracker=qc,exports.useHumanBehavior=eh,exports.useRedaction=()=>{const e=eh();return{setUnredactedFields:s.useCallback(t=>{e.setUnredactedFields(t)},[e]),hasUnredactedFields:s.useCallback(()=>e.hasUnredactedFields(),[e]),getUnredactedFields:s.useCallback(()=>e.getUnredactedFields(),[e])}},exports.useUserTracking=()=>{const e=eh();return{identifyUser:s.useCallback(async({userProperties:t})=>{try{return await e.identifyUser({userProperties:t}),{success:!0}}catch(e){return xc("Failed to identify user:",e),{success:!1,error:e}}},[e])}};
1
+ "use strict";var e,t=require("react/jsx-runtime"),s=require("react"),r=Object.defineProperty,i=(e,t,s)=>((e,t,s)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s)(e,"symbol"!=typeof t?t+"":t,s),n=Object.defineProperty,o=(e,t,s)=>((e,t,s)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s)(e,"symbol"!=typeof t?t+"":t,s),a=(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))(a||{});const l={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},c={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},h={};function u(e){if(h[e])return h[e];const t=globalThis[e],s=t.prototype,r=e in l?l[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 c?c[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 h[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?h[e]=n:s}catch{return s}}const d={};function p(e,t,s){var r;const i=`${e}.${String(s)}`;if(d[i])return d[i].call(t);const n=u(e),o=null==(r=Object.getOwnPropertyDescriptor(n,s))?void 0:r.get;return o?(d[i]=o,o.call(t)):t[s]}const m={};function f(e,t,s){const r=`${e}.${String(s)}`;if(m[r])return m[r].bind(t);const i=u(e)[s];return"function"!=typeof i?t[s]:(m[r]=i,i.bind(t))}const g={ownerDocument:function(e){return p("Node",e,"ownerDocument")},childNodes:function(e){return p("Node",e,"childNodes")},parentNode:function(e){return p("Node",e,"parentNode")},parentElement:function(e){return p("Node",e,"parentElement")},textContent:function(e){return p("Node",e,"textContent")},contains:function(e,t){return f("Node",e,"contains")(t)},getRootNode:function(e){return f("Node",e,"getRootNode")()},host:function(e){return e&&"host"in e?p("ShadowRoot",e,"host"):null},styleSheets:function(e){return e.styleSheets},shadowRoot:function(e){return e&&"shadowRoot"in e?p("Element",e,"shadowRoot"):null},querySelector:function(e,t){return p("Element",e,"querySelector")(t)},querySelectorAll:function(e,t){return p("Element",e,"querySelectorAll")(t)},mutationObserver:function(){return u("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 y(e){return e.nodeType===e.ELEMENT_NODE}function w(e){const t=e&&"host"in e&&"mode"in e&&g.host(e)||null;return Boolean(t&&"shadowRoot"in t&&g.shadowRoot(t)===e)}function v(e){return"[object ShadowRoot]"===Object.prototype.toString.call(e)}function S(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=>b(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 b(e,t){if(function(e){return"styleSheet"in e}(e)){let t;try{t=S(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?R(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?R(s,t):s}}class C{constructor(){o(this,"idNodeMap",new Map),o(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 k({element:e,maskInputOptions:t,tagName:s,type:r,value:i,maskInputFn:n}){let o=i||"";const a=r&&I(r);return(t[s.toLowerCase()]||a&&t[a])&&(o=n?n(o,e):"*".repeat(o.length)),o}function I(e){return e.toLowerCase()}const E="__rrweb_original__";function T(e){const t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?I(t):null}function x(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 O=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,M=/^(?:[a-z+]+:)?\/\//i,_=/^www\..*/i,A=/^(data:)([^,]*),(.*)/i;function R(e,t){return(e||"").replace(O,(e,s,r,i,n,o)=>{const a=r||n||o,l=s||i||"";if(!a)return e;if(M.test(a)||_.test(a))return`url(${l}${a}${l})`;if(A.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 P(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function D(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=P(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=P(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=P(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=P(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 N=1;const L=new RegExp("[^a-z0-9-_:]");function F(){return N++}let U,B;const $=/^[^ \t\n\r\u000c]+/,z=/^[, \t\n\r\u000c]+/;const j=new WeakMap;function W(e,t){return t&&""!==t.trim()?V(e,t):t}function K(e){return Boolean("svg"===e.tagName||e.ownerSVGElement)}function V(e,t){let s=j.get(e);if(s||(s=e.createElement("a"),j.set(e,s)),t){if(t.startsWith("blob:")||t.startsWith("data:"))return t}else t="";return s.setAttribute("href",t),s.href}function G(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)?W(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(z),!(s>=t.length);){let n=r($);if(","===n.slice(-1))n=W(e,n.substring(0,n.length-1)),i.push(n);else{let r="";n=W(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(r,V(e)):"object"===t&&"data"===s?W(e,r):r:r}function H(e,t,s){return["video","audio"].includes(e)&&"autoplay"===t}function Y(e,t,s){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return!!s&&Y(g.parentNode(e),t,s);for(let s=e.classList.length;s--;){const r=e.classList[s];if(t.test(r))return!0}return!!s&&Y(g.parentNode(e),t,s)}function q(e,t,s,r){let i;if(y(e)){if(i=e,!g.childNodes(i).length)return!1}else{if(null===g.parentElement(e))return!1;i=g.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(Y(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 Z(e,t){const{doc:s,mirror:r,blockClass:i,blockSelector:n,needsMask:o,inlineStylesheet:l,maskInputOptions:c={},maskTextFn:h,maskInputFn:u,dataURLOptions:d={},inlineImages:p,recordCanvas:m,keepIframeSrcFn:f,newlyAddedElement:y=!1,cssCaptured:w=!1}=t,v=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:a.Document,childNodes:[],compatMode:e.compatMode}:{type:a.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:a.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:v};case e.ELEMENT_NODE:return function(e,t){const{doc:s,blockClass:r,blockSelector:i,inlineStylesheet:n,maskInputOptions:o={},maskInputFn:l,dataURLOptions:c={},inlineImages:h,recordCanvas:u,keepIframeSrcFn:d,newlyAddedElement:p=!1,rootId:m}=t,f=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=I(e.tagName);return L.test(t)?"div":t}(e);let y={};const w=e.attributes.length;for(let t=0;t<w;t++){const r=e.attributes[t];H(g,r.name,r.value)||(y[r.name]=G(s,g,I(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=S(t)),r&&(delete y.rel,delete y.href,y._cssText=r)}if("style"===g&&e.sheet){let t=S(e.sheet);t&&(e.childNodes.length>1&&(t=D(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=k({element:e,type:T(e),tagName:g,value:t,maskInputOptions:o,maskInputFn:l}):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&&u)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=E in i?i[E]: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(c.type,c.quality));else if(!("__context"in e)){const t=e.toDataURL(c.type,c.quality),r=s.createElement("canvas");r.width=e.width,r.height=e.height;t!==r.toDataURL(c.type,c.quality)&&(y.rr_dataURL=t)}if("img"===g&&h){U||(U=s.createElement("canvas"),B=U.getContext("2d"));const t=e,r=t.currentSrc||t.getAttribute("src")||"<unknown-src>",i=t.crossOrigin,n=()=>{t.removeEventListener("load",n);try{U.width=t.naturalWidth,U.height=t.naturalHeight,B.drawImage(t,0,0),y.rr_dataURL=U.toDataURL(c.type,c.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}p||(e.scrollLeft&&(y.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(y.rr_scrollTop=e.scrollTop));if(f){const{width:t,height:s}=e.getBoundingClientRect();y={class:y.class,rr_width:`${t}px`,rr_height:`${s}px`}}"iframe"!==g||d(y.src)||(e.contentDocument||(y.rr_src=y.src),delete y.src);let v;try{customElements.get(g)&&(v=!0)}catch(e){}return{type:a.Element,tagName:g,attributes:y,childNodes:[],isSVG:K(e)||void 0,needBlock:f,rootId:m,isCustom:v}}(e,{doc:s,blockClass:i,blockSelector:n,inlineStylesheet:l,maskInputOptions:c,maskInputFn:u,dataURLOptions:d,inlineImages:p,recordCanvas:m,keepIframeSrcFn:f,newlyAddedElement:y,rootId:v});case e.TEXT_NODE:return function(e,t){const{needsMask:s,maskTextFn:r,rootId:i,cssCaptured:n}=t,o=g.parentNode(e),l=o&&o.tagName;let c="";const h="STYLE"===l||void 0,u="SCRIPT"===l||void 0;u?c="SCRIPT_PLACEHOLDER":n||(c=g.textContent(e),h&&c&&(c=R(c,V(t.doc))));!h&&!u&&c&&s&&(c=r?r(c,g.parentElement(e)):c.replace(/[\S]/g,"*"));return{type:a.Text,textContent:c||"",rootId:i}}(e,{doc:s,needsMask:o,maskTextFn:h,rootId:v,cssCaptured:w});case e.CDATA_SECTION_NODE:return{type:a.CDATA,textContent:"",rootId:v};case e.COMMENT_NODE:return{type:a.Comment,textContent:g.textContent(e)||"",rootId:v};default:return!1}}function J(e){return null==e?"":e.toLowerCase()}function X(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 Q(e,t){const{doc:s,mirror:r,blockClass:i,blockSelector:n,maskTextClass:o,maskTextSelector:l,skipChild:c=!1,inlineStylesheet:h=!0,maskInputOptions:u={},maskTextFn:d,maskInputFn:p,slimDOMOptions:m,dataURLOptions:f={},inlineImages:S=!1,recordCanvas:b=!1,onSerialize:C,onIframeLoad:k,iframeLoadTimeout:I=5e3,onStylesheetLoad:E,stylesheetLoadTimeout:T=5e3,keepIframeSrcFn:O=()=>!1,newlyAddedElement:M=!1,cssCaptured:_=!1}=t;let{needsMask:A}=t,{preserveWhiteSpace:R=!0}=t;if(!A){A=q(e,o,l,void 0===A)}const P=Z(e,{doc:s,mirror:r,blockClass:i,blockSelector:n,needsMask:A,inlineStylesheet:h,maskInputOptions:u,maskTextFn:d,maskInputFn:p,dataURLOptions:f,inlineImages:S,recordCanvas:b,keepIframeSrcFn:O,newlyAddedElement:M,cssCaptured:_});if(!P)return console.warn(e,"not serialized"),null;let D;D=r.hasNode(e)?r.getId(e):function(e,t){if(t.comment&&e.type===a.Comment)return!0;if(e.type===a.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"===x(e.attributes.href)))return!0;if(t.headFavicon&&("link"===e.tagName&&"shortcut icon"===e.attributes.rel||"meta"===e.tagName&&(J(e.attributes.name).match(/^msapplication-tile(image|color)$/)||"application-name"===J(e.attributes.name)||"icon"===J(e.attributes.rel)||"apple-touch-icon"===J(e.attributes.rel)||"shortcut icon"===J(e.attributes.rel))))return!0;if("meta"===e.tagName){if(t.headMetaDescKeywords&&J(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(J(e.attributes.property).match(/^(og|twitter|fb):/)||J(e.attributes.name).match(/^(og|twitter):/)||"pinterest"===J(e.attributes.name)))return!0;if(t.headMetaRobots&&("robots"===J(e.attributes.name)||"googlebot"===J(e.attributes.name)||"bingbot"===J(e.attributes.name)))return!0;if(t.headMetaHttpEquiv&&void 0!==e.attributes["http-equiv"])return!0;if(t.headMetaAuthorship&&("author"===J(e.attributes.name)||"generator"===J(e.attributes.name)||"framework"===J(e.attributes.name)||"publisher"===J(e.attributes.name)||"progid"===J(e.attributes.name)||J(e.attributes.property).match(/^article:/)||J(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&("google-site-verification"===J(e.attributes.name)||"yandex-verification"===J(e.attributes.name)||"csrf-token"===J(e.attributes.name)||"p:domain_verify"===J(e.attributes.name)||"verify-v1"===J(e.attributes.name)||"verification"===J(e.attributes.name)||"shopify-checkout-api-token"===J(e.attributes.name)))return!0}}return!1}(P,m)||!R&&P.type===a.Text&&!P.textContent.replace(/^\s+|\s+$/gm,"").length?-2:F();const N=Object.assign(P,{id:D});if(r.add(e,N),-2===D)return null;C&&C(e);let L=!c;if(N.type===a.Element){L=L&&!N.needBlock,delete N.needBlock;const t=g.shadowRoot(e);t&&v(t)&&(N.isShadowHost=!0)}if((N.type===a.Document||N.type===a.Element)&&L){m.headWhitespace&&N.type===a.Element&&"head"===N.tagName&&(R=!1);const t={doc:s,mirror:r,blockClass:i,blockSelector:n,needsMask:A,maskTextClass:o,maskTextSelector:l,skipChild:c,inlineStylesheet:h,maskInputOptions:u,maskTextFn:d,maskInputFn:p,slimDOMOptions:m,dataURLOptions:f,inlineImages:S,recordCanvas:b,preserveWhiteSpace:R,onSerialize:C,onIframeLoad:k,iframeLoadTimeout:I,onStylesheetLoad:E,stylesheetLoadTimeout:T,keepIframeSrcFn:O,cssCaptured:!1};if(N.type===a.Element&&"textarea"===N.tagName&&void 0!==N.attributes.value);else{N.type===a.Element&&void 0!==N.attributes._cssText&&"string"==typeof N.attributes._cssText&&(t.cssCaptured=!0);for(const s of Array.from(g.childNodes(e))){const e=Q(s,t);e&&N.childNodes.push(e)}}let w=null;if(y(e)&&(w=g.shadowRoot(e)))for(const e of Array.from(g.childNodes(w))){const s=Q(e,t);s&&(v(w)&&(s.isShadow=!0),N.childNodes.push(s))}}const U=g.parentNode(e);return U&&w(U)&&v(U)&&(N.isShadow=!0),N.type===a.Element&&"iframe"===N.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&&k){const s=Q(t,{doc:t,mirror:r,blockClass:i,blockSelector:n,needsMask:A,maskTextClass:o,maskTextSelector:l,skipChild:!1,inlineStylesheet:h,maskInputOptions:u,maskTextFn:d,maskInputFn:p,slimDOMOptions:m,dataURLOptions:f,inlineImages:S,recordCanvas:b,preserveWhiteSpace:R,onSerialize:C,onIframeLoad:k,iframeLoadTimeout:I,onStylesheetLoad:E,stylesheetLoadTimeout:T,keepIframeSrcFn:O});s&&k(e,s)}},I),N.type===a.Element&&"link"===N.tagName&&"string"==typeof N.attributes.rel&&("stylesheet"===N.attributes.rel||"preload"===N.attributes.rel&&"string"==typeof N.attributes.href&&"css"===x(N.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(E){const t=Q(e,{doc:s,mirror:r,blockClass:i,blockSelector:n,needsMask:A,maskTextClass:o,maskTextSelector:l,skipChild:!1,inlineStylesheet:h,maskInputOptions:u,maskTextFn:d,maskInputFn:p,slimDOMOptions:m,dataURLOptions:f,inlineImages:S,recordCanvas:b,preserveWhiteSpace:R,onSerialize:C,onIframeLoad:k,iframeLoadTimeout:I,onStylesheetLoad:E,stylesheetLoadTimeout:T,keepIframeSrcFn:O});t&&E(e,t)}},T),N}function ee(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function te(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 se={exports:{}},re=String,ie=function(){return{isColorSupported:!1,reset:re,bold:re,dim:re,italic:re,underline:re,inverse:re,hidden:re,strikethrough:re,black:re,red:re,green:re,yellow:re,blue:re,magenta:re,cyan:re,white:re,gray:re,bgBlack:re,bgRed:re,bgGreen:re,bgYellow:re,bgBlue:re,bgMagenta:re,bgCyan:re,bgWhite:re}};se.exports=ie(),se.exports.createColors=ie;var ne=se.exports;const oe=te(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));let ae=ne,le=oe,ce=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=ae.isColorSupported),le&&e&&(t=le(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}=ae.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 he=ce;ce.default=ce;var ue={};ue.isClean=Symbol("isClean"),ue.my=Symbol("my");const de={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};let pe=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 de[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=de[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 me=pe;pe.default=pe;let fe=me;function ge(e,t){new fe(t).stringify(e)}var ye=ge;ge.default=ge;let{isClean:we,my:ve}=ue,Se=he,be=me,Ce=ye;function ke(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=>ke(e,s)):("object"===n&&null!==i&&(i=ke(i)),s[r]=i)}return s}let Ie=class{constructor(e={}){this.raws={},this[we]=!1,this[ve]=!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=ke(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 Se(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[we]){this[we]=!1;let e=this;for(;e=e.parent;)e[we]=!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 be).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=Ce){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 Ee=Ie;Ie.default=Ie;let Te=Ee,xe=class extends Te{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 Oe=xe;xe.default=xe;var Me={nanoid:(e=21)=>{let t="",s=e;for(;s--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t}};let{SourceMapConsumer:_e,SourceMapGenerator:Ae}=oe,{existsSync:Re,readFileSync:Pe}=oe,{dirname:De,join:Ne}=oe;let Le=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=De(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new _e(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=De(e),Re(e))return this.mapFile=e,Pe(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 _e)return Ae.fromSourceMap(t).toString();if(t instanceof Ae)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=Ne(De(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 Fe=Le;Le.default=Le;let{SourceMapConsumer:Ue,SourceMapGenerator:Be}=oe,{fileURLToPath:$e,pathToFileURL:ze}=oe,{isAbsolute:je,resolve:We}=oe,{nanoid:Ke}=Me,Ve=oe,Ge=he,He=Fe,Ye=Symbol("fromOffsetCache"),qe=Boolean(Ue&&Be),Ze=Boolean(We&&je),Je=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&&(!Ze||/^\w+:\/\//.test(t.from)||je(t.from)?this.file=t.from:this.file=We(t.from)),Ze&&qe){let e=new He(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 "+Ke(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 Ge(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 Ge(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&&(ze&&(i.input.url=ze(this.file).toString()),i.input.file=this.file),i}fromOffset(e){let t,s;if(this[Ye])s=this[Ye];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[Ye]=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:We(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=je(a.source)?ze(a.source):new URL(a.source,this.map.consumer().sourceRoot||ze(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(!$e)throw new Error("file: protocol is not available in this PostCSS build");l.file=$e(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 Xe=Je;Je.default=Je,Ve&&Ve.registerInput&&Ve.registerInput(Je);let{SourceMapConsumer:Qe,SourceMapGenerator:et}=oe,{dirname:tt,relative:st,resolve:rt,sep:it}=oe,{pathToFileURL:nt}=oe,ot=Xe,at=Boolean(Qe&&et),lt=Boolean(tt&&rt&&st&&it);var ct=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||tt(e.file);!1===this.mapOpts.sourcesContent?(t=new Qe(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(),lt&&at&&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=et.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new et({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 et({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?tt(this.opts.to):".";"string"==typeof this.mapOpts.annotation&&(s=tt(rt(s,this.mapOpts.annotation)));let r=st(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 ot(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(nt){let t=nt(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;"\\"===it&&(e=e.replace(/\\/g,"/"));let s=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,s),s}};let ht=Ee,ut=class extends ht{constructor(e){super(e),this.type="comment"}};var dt=ut;ut.default=ut;let pt,mt,ft,gt,{isClean:yt,my:wt}=ue,vt=Oe,St=dt,bt=Ee;function Ct(e){return e.map(e=>(e.nodes&&(e.nodes=Ct(e.nodes)),delete e.source,e))}function kt(e){if(e[yt]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)kt(t)}let It=class e extends bt{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=Ct(pt(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 vt(t)]}else if(t.selector)t=[new mt(t)];else if(t.name)t=[new ft(t)];else{if(!t.text)throw new Error("Unknown node type in node creation");t=[new St(t)]}return t.map(t=>(t[wt]||e.rebuild(t),(t=t.proxyOf).parent&&t.parent.removeChild(t),t[yt]&&kt(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]}};It.registerParse=e=>{pt=e},It.registerRule=e=>{mt=e},It.registerAtRule=e=>{ft=e},It.registerRoot=e=>{gt=e};var Et=It;It.default=It,It.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,ft.prototype):"rule"===e.type?Object.setPrototypeOf(e,mt.prototype):"decl"===e.type?Object.setPrototypeOf(e,vt.prototype):"comment"===e.type?Object.setPrototypeOf(e,St.prototype):"root"===e.type&&Object.setPrototypeOf(e,gt.prototype),e[wt]=!0,e.nodes&&e.nodes.forEach(e=>{It.rebuild(e)})};let Tt,xt,Ot=Et,Mt=class extends Ot{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new Tt(new xt,this,e).stringify()}};Mt.registerLazyResult=e=>{Tt=e},Mt.registerProcessor=e=>{xt=e};var _t=Mt;Mt.default=Mt;let At={};var Rt=function(e){At[e]||(At[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))};let Pt=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 Dt=Pt;Pt.default=Pt;let Nt=Dt,Lt=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 Nt(e,t);return this.messages.push(s),s}warnings(){return this.messages.filter(e=>"warning"===e.type)}get content(){return this.css}};var Ft=Lt;Lt.default=Lt;const Ut="'".charCodeAt(0),Bt='"'.charCodeAt(0),$t="\\".charCodeAt(0),zt="/".charCodeAt(0),jt="\n".charCodeAt(0),Wt=" ".charCodeAt(0),Kt="\f".charCodeAt(0),Vt="\t".charCodeAt(0),Gt="\r".charCodeAt(0),Ht="[".charCodeAt(0),Yt="]".charCodeAt(0),qt="(".charCodeAt(0),Zt=")".charCodeAt(0),Jt="{".charCodeAt(0),Xt="}".charCodeAt(0),Qt=";".charCodeAt(0),es="*".charCodeAt(0),ts=":".charCodeAt(0),ss="@".charCodeAt(0),rs=/[\t\n\f\r "#'()/;[\\\]{}]/g,is=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,ns=/.[\r\n"'(/\\]/,os=/[\da-f]/i;let as=Et,ls=class extends as{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 cs=ls;ls.default=ls,as.registerAtRule(ls);let hs,us,ds=Et,ps=class extends ds{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 hs(new us,this,e).stringify()}};ps.registerLazyResult=e=>{hs=e},ps.registerProcessor=e=>{us=e};var ms=ps;ps.default=ps,ds.registerRoot(ps);let fs={comma:e=>fs.split(e,[","],!0),space:e=>fs.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 gs=fs;fs.default=fs;let ys=Et,ws=gs,vs=class extends ys{constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return ws.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 Ss=vs;vs.default=vs,ys.registerRule(vs);let bs=Oe,Cs=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 jt:case Wt:case Vt:case Gt:case Kt:r=f;do{r+=1,s=d.charCodeAt(r)}while(s===Wt||s===jt||s===Vt||s===Gt||s===Kt);u=["space",d.slice(f,r)],f=r-1;break;case Ht:case Yt:case Jt:case Xt:case ts:case Qt:case Zt:{let e=String.fromCharCode(s);u=[e,e,f];break}case qt:if(c=g.length?g.pop()[1]:"",h=d.charCodeAt(f+1),"url"===c&&h!==Ut&&h!==Bt&&h!==Wt&&h!==jt&&h!==Vt&&h!==Kt&&h!==Gt){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)===$t;)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||ns.test(n)?u=["(","(",f]:(u=["brackets",n,f,r],f=r);break;case Ut:case Bt:i=s===Ut?"'":'"',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)===$t;)l-=1,a=!a}while(a);u=["string",d.slice(f,r+1),f,r],f=r;break;case ss:rs.lastIndex=f+1,rs.test(d),r=0===rs.lastIndex?d.length-1:rs.lastIndex-2,u=["at-word",d.slice(f,r+1),f,r],f=r;break;case $t:for(r=f,o=!0;d.charCodeAt(r+1)===$t;)r+=1,o=!o;if(s=d.charCodeAt(r+1),o&&s!==zt&&s!==Wt&&s!==jt&&s!==Vt&&s!==Gt&&s!==Kt&&(r+=1,os.test(d.charAt(r)))){for(;os.test(d.charAt(r+1));)r+=1;d.charCodeAt(r+1)===Wt&&(r+=1)}u=["word",d.slice(f,r+1),f,r],f=r;break;default:s===zt&&d.charCodeAt(f+1)===es?(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):(is.lastIndex=f+1,is.test(d),r=0===is.lastIndex?d.length-1:is.lastIndex-2,u=["word",d.slice(f,r+1),f,r],g.push(u),f=r)}return f++,u},position:function(){return f}}},ks=dt,Is=cs,Es=ms,Ts=Ss;const xs={empty:!0,space:!0};let Os=Et,Ms=class{constructor(e){this.input=e,this.root=new Es,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 Is;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 ks;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=Cs(this.input)}decl(e,t){let s=new bs;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 Ts;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",xs[a]||xs[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 Ts;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})}},_s=Xe;function As(e,t){let s=new _s(e,t),r=new Ms(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 Rs=As;As.default=As,Os.registerParse(As);let{isClean:Ps,my:Ds}=ue,Ns=ct,Ls=ye,Fs=Et,Us=_t,Bs=Rt,$s=Ft,zs=Rs,js=ms;const Ws={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Ks={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},Vs={Once:!0,postcssPlugin:!0,prepare:!0};function Gs(e){return"object"==typeof e&&"function"==typeof e.then}function Hs(e){let t=!1,s=Ws[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 Ys(e){let t;return t="document"===e.type?["Document",0,"DocumentExit"]:"root"===e.type?["Root",0,"RootExit"]:Hs(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function qs(e){return e[Ps]=!1,e.nodes&&e.nodes.forEach(e=>qs(e)),e}let Zs={},Js=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 $s)i=qs(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{i=e(s,r)}catch(e){this.processed=!0,this.error=e}i&&!i[Ds]&&Fs.rebuild(i)}else i=qs(s);this.result=new $s(t,i,r),this.helpers={...Zs,postcss:Zs,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(!Ks[s]&&/^[A-Z]/.test(s))throw new Error(`Unknown event ${s} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Vs[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(Gs(s))try{await s}catch(e){throw this.handleError(e)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Ps];){e[Ps]=!0;let t=[Ys(e)];for(;t.length>0;){let e=this.visitTick(t);if(Gs(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 Gs(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=Ls;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let s=new Ns(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(Gs(this.runOnRoot(e)))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Ps];)e[Ps]=!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||Bs("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(Gs(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[Ps])return r[Ps]=!0,void e.push(Ys(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[Ps]=!0,t.iterator=s.getIterator()));if(this.listeners[e])return void(t.visitors=this.listeners[e])}e.pop()}walkSync(e){e[Ps]=!0;let t=Hs(e);for(let s of t)if(0===s)e.nodes&&e.each(e=>{e[Ps]||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"}};Js.registerPostcss=e=>{Zs=e};var Xs=Js;Js.default=Js,js.registerLazyResult(Js),Us.registerLazyResult(Js);let Qs=ct,er=ye,tr=Rt,sr=Rs;const rr=Ft;let ir=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=er;this.result=new rr(this._processor,r,this._opts),this.result.css=t;let n=this;Object.defineProperty(this.result,"root",{get:()=>n.root});let o=new Qs(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||tr("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=sr;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 nr=ir;ir.default=ir;let or=nr,ar=Xs,lr=_t,cr=ms,hr=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 ar(this,e,t):new or(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};var ur=hr;hr.default=hr,cr.registerProcessor(hr),lr.registerProcessor(hr);let dr=Oe,pr=Fe,mr=dt,fr=cs,gr=Xe,yr=ms,wr=Ss;function vr(e,t){if(Array.isArray(e))return e.map(e=>vr(e));let{inputs:s,...r}=e;if(s){t=[];for(let e of s){let s={...e,__proto__:gr.prototype};s.map&&(s.map={...s.map,__proto__:pr.prototype}),t.push(s)}}if(r.nodes&&(r.nodes=e.nodes.map(e=>vr(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 yr(r);if("decl"===r.type)return new dr(r);if("rule"===r.type)return new wr(r);if("comment"===r.type)return new mr(r);if("atrule"===r.type)return new fr(r);throw new Error("Unknown node type: "+e.type)}var Sr=vr;vr.default=vr;let br=he,Cr=Oe,kr=Xs,Ir=Et,Er=ur,Tr=ye,xr=Sr,Or=_t,Mr=Dt,_r=dt,Ar=cs,Rr=Ft,Pr=Xe,Dr=Rs,Nr=gs,Lr=Ss,Fr=ms,Ur=Ee;function Br(...e){return 1===e.length&&Array.isArray(e[0])&&(e=e[0]),new Er(e)}Br.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 Er).version,i}return Object.defineProperty(i,"postcss",{get:()=>(s||(s=i()),s)}),i.process=function(e,t,s){return Br([i(s)]).process(e,t)},i},Br.stringify=Tr,Br.parse=Dr,Br.fromJSON=xr,Br.list=Nr,Br.comment=e=>new _r(e),Br.atRule=e=>new Ar(e),Br.decl=e=>new Cr(e),Br.rule=e=>new Lr(e),Br.root=e=>new Fr(e),Br.document=e=>new Or(e),Br.CssSyntaxError=br,Br.Declaration=Cr,Br.Container=Ir,Br.Processor=Er,Br.Document=Or,Br.Comment=_r,Br.Warning=Mr,Br.AtRule=Ar,Br.Result=Rr,Br.Input=Pr,Br.Rule=Lr,Br.Root=Fr,Br.Node=Ur,kr.registerPostcss(Br);var $r=Br;Br.default=Br;const zr=ee($r);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 jr=Object.defineProperty,Wr=(e,t,s)=>((e,t,s)=>t in e?jr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s)(e,"symbol"!=typeof t?t+"":t,s);function Kr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Vr(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 Gr={exports:{}},Hr=String,Yr=function(){return{isColorSupported:!1,reset:Hr,bold:Hr,dim:Hr,italic:Hr,underline:Hr,inverse:Hr,hidden:Hr,strikethrough:Hr,black:Hr,red:Hr,green:Hr,yellow:Hr,blue:Hr,magenta:Hr,cyan:Hr,white:Hr,gray:Hr,bgBlack:Hr,bgRed:Hr,bgGreen:Hr,bgYellow:Hr,bgBlue:Hr,bgMagenta:Hr,bgCyan:Hr,bgWhite:Hr}};Gr.exports=Yr(),Gr.exports.createColors=Yr;var qr=Gr.exports;const Zr=Vr(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));let Jr=qr,Xr=Zr,Qr=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=Jr.isColorSupported),Xr&&e&&(t=Xr(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}=Jr.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 ei=Qr;Qr.default=Qr;var ti={};ti.isClean=Symbol("isClean"),ti.my=Symbol("my");const si={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};let ri=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 si[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=si[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 ii=ri;ri.default=ri;let ni=ii;function oi(e,t){new ni(t).stringify(e)}var ai=oi;oi.default=oi;let{isClean:li,my:ci}=ti,hi=ei,ui=ii,di=ai;function pi(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=>pi(e,s)):("object"===n&&null!==i&&(i=pi(i)),s[r]=i)}return s}let mi=class{constructor(e={}){this.raws={},this[li]=!1,this[ci]=!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=pi(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 hi(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[li]){this[li]=!1;let e=this;for(;e=e.parent;)e[li]=!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 ui).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=di){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 fi=mi;mi.default=mi;let gi=fi,yi=class extends gi{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 wi=yi;yi.default=yi;var vi={nanoid:(e=21)=>{let t="",s=e;for(;s--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t}};let{SourceMapConsumer:Si,SourceMapGenerator:bi}=Zr,{existsSync:Ci,readFileSync:ki}=Zr,{dirname:Ii,join:Ei}=Zr;let Ti=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=Ii(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new Si(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=Ii(e),Ci(e))return this.mapFile=e,ki(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 Si)return bi.fromSourceMap(t).toString();if(t instanceof bi)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=Ei(Ii(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 xi=Ti;Ti.default=Ti;let{SourceMapConsumer:Oi,SourceMapGenerator:Mi}=Zr,{fileURLToPath:_i,pathToFileURL:Ai}=Zr,{isAbsolute:Ri,resolve:Pi}=Zr,{nanoid:Di}=vi,Ni=Zr,Li=ei,Fi=xi,Ui=Symbol("fromOffsetCache"),Bi=Boolean(Oi&&Mi),$i=Boolean(Pi&&Ri),zi=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&&(!$i||/^\w+:\/\//.test(t.from)||Ri(t.from)?this.file=t.from:this.file=Pi(t.from)),$i&&Bi){let e=new Fi(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 "+Di(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 Li(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 Li(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&&(Ai&&(i.input.url=Ai(this.file).toString()),i.input.file=this.file),i}fromOffset(e){let t,s;if(this[Ui])s=this[Ui];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[Ui]=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:Pi(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=Ri(a.source)?Ai(a.source):new URL(a.source,this.map.consumer().sourceRoot||Ai(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(!_i)throw new Error("file: protocol is not available in this PostCSS build");l.file=_i(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 ji=zi;zi.default=zi,Ni&&Ni.registerInput&&Ni.registerInput(zi);let{SourceMapConsumer:Wi,SourceMapGenerator:Ki}=Zr,{dirname:Vi,relative:Gi,resolve:Hi,sep:Yi}=Zr,{pathToFileURL:qi}=Zr,Zi=ji,Ji=Boolean(Wi&&Ki),Xi=Boolean(Vi&&Hi&&Gi&&Yi);var Qi=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||Vi(e.file);!1===this.mapOpts.sourcesContent?(t=new Wi(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(),Xi&&Ji&&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=Ki.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new Ki({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 Ki({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?Vi(this.opts.to):".";"string"==typeof this.mapOpts.annotation&&(s=Vi(Hi(s,this.mapOpts.annotation)));let r=Gi(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 Zi(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(qi){let t=qi(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;"\\"===Yi&&(e=e.replace(/\\/g,"/"));let s=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,s),s}};let en=fi,tn=class extends en{constructor(e){super(e),this.type="comment"}};var sn=tn;tn.default=tn;let rn,nn,on,an,{isClean:ln,my:cn}=ti,hn=wi,un=sn,dn=fi;function pn(e){return e.map(e=>(e.nodes&&(e.nodes=pn(e.nodes)),delete e.source,e))}function mn(e){if(e[ln]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)mn(t)}let fn=class e extends dn{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=pn(rn(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 hn(t)]}else if(t.selector)t=[new nn(t)];else if(t.name)t=[new on(t)];else{if(!t.text)throw new Error("Unknown node type in node creation");t=[new un(t)]}return t.map(t=>(t[cn]||e.rebuild(t),(t=t.proxyOf).parent&&t.parent.removeChild(t),t[ln]&&mn(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]}};fn.registerParse=e=>{rn=e},fn.registerRule=e=>{nn=e},fn.registerAtRule=e=>{on=e},fn.registerRoot=e=>{an=e};var gn=fn;fn.default=fn,fn.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,on.prototype):"rule"===e.type?Object.setPrototypeOf(e,nn.prototype):"decl"===e.type?Object.setPrototypeOf(e,hn.prototype):"comment"===e.type?Object.setPrototypeOf(e,un.prototype):"root"===e.type&&Object.setPrototypeOf(e,an.prototype),e[cn]=!0,e.nodes&&e.nodes.forEach(e=>{fn.rebuild(e)})};let yn,wn,vn=gn,Sn=class extends vn{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new yn(new wn,this,e).stringify()}};Sn.registerLazyResult=e=>{yn=e},Sn.registerProcessor=e=>{wn=e};var bn=Sn;Sn.default=Sn;let Cn={};var kn=function(e){Cn[e]||(Cn[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))};let In=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 En=In;In.default=In;let Tn=En,xn=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 Tn(e,t);return this.messages.push(s),s}warnings(){return this.messages.filter(e=>"warning"===e.type)}get content(){return this.css}};var On=xn;xn.default=xn;const Mn="'".charCodeAt(0),_n='"'.charCodeAt(0),An="\\".charCodeAt(0),Rn="/".charCodeAt(0),Pn="\n".charCodeAt(0),Dn=" ".charCodeAt(0),Nn="\f".charCodeAt(0),Ln="\t".charCodeAt(0),Fn="\r".charCodeAt(0),Un="[".charCodeAt(0),Bn="]".charCodeAt(0),$n="(".charCodeAt(0),zn=")".charCodeAt(0),jn="{".charCodeAt(0),Wn="}".charCodeAt(0),Kn=";".charCodeAt(0),Vn="*".charCodeAt(0),Gn=":".charCodeAt(0),Hn="@".charCodeAt(0),Yn=/[\t\n\f\r "#'()/;[\\\]{}]/g,qn=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,Zn=/.[\r\n"'(/\\]/,Jn=/[\da-f]/i;let Xn=gn,Qn=class extends Xn{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 eo=Qn;Qn.default=Qn,Xn.registerAtRule(Qn);let to,so,ro=gn,io=class extends ro{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 to(new so,this,e).stringify()}};io.registerLazyResult=e=>{to=e},io.registerProcessor=e=>{so=e};var no=io;io.default=io,ro.registerRoot(io);let oo={comma:e=>oo.split(e,[","],!0),space:e=>oo.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 ao=oo;oo.default=oo;let lo=gn,co=ao,ho=class extends lo{constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return co.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 uo=ho;ho.default=ho,lo.registerRule(ho);let po=wi,mo=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 Pn:case Dn:case Ln:case Fn:case Nn:r=f;do{r+=1,s=d.charCodeAt(r)}while(s===Dn||s===Pn||s===Ln||s===Fn||s===Nn);u=["space",d.slice(f,r)],f=r-1;break;case Un:case Bn:case jn:case Wn:case Gn:case Kn:case zn:{let e=String.fromCharCode(s);u=[e,e,f];break}case $n:if(c=g.length?g.pop()[1]:"",h=d.charCodeAt(f+1),"url"===c&&h!==Mn&&h!==_n&&h!==Dn&&h!==Pn&&h!==Ln&&h!==Nn&&h!==Fn){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)===An;)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||Zn.test(n)?u=["(","(",f]:(u=["brackets",n,f,r],f=r);break;case Mn:case _n:i=s===Mn?"'":'"',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)===An;)l-=1,a=!a}while(a);u=["string",d.slice(f,r+1),f,r],f=r;break;case Hn:Yn.lastIndex=f+1,Yn.test(d),r=0===Yn.lastIndex?d.length-1:Yn.lastIndex-2,u=["at-word",d.slice(f,r+1),f,r],f=r;break;case An:for(r=f,o=!0;d.charCodeAt(r+1)===An;)r+=1,o=!o;if(s=d.charCodeAt(r+1),o&&s!==Rn&&s!==Dn&&s!==Pn&&s!==Ln&&s!==Fn&&s!==Nn&&(r+=1,Jn.test(d.charAt(r)))){for(;Jn.test(d.charAt(r+1));)r+=1;d.charCodeAt(r+1)===Dn&&(r+=1)}u=["word",d.slice(f,r+1),f,r],f=r;break;default:s===Rn&&d.charCodeAt(f+1)===Vn?(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):(qn.lastIndex=f+1,qn.test(d),r=0===qn.lastIndex?d.length-1:qn.lastIndex-2,u=["word",d.slice(f,r+1),f,r],g.push(u),f=r)}return f++,u},position:function(){return f}}},fo=sn,go=eo,yo=no,wo=uo;const vo={empty:!0,space:!0};let So=gn,bo=class{constructor(e){this.input=e,this.root=new yo,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 go;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 fo;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=mo(this.input)}decl(e,t){let s=new po;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 wo;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",vo[a]||vo[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 wo;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})}},Co=ji;function ko(e,t){let s=new Co(e,t),r=new bo(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 Io=ko;ko.default=ko,So.registerParse(ko);let{isClean:Eo,my:To}=ti,xo=Qi,Oo=ai,Mo=gn,_o=bn,Ao=kn,Ro=On,Po=Io,Do=no;const No={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Lo={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},Fo={Once:!0,postcssPlugin:!0,prepare:!0};function Uo(e){return"object"==typeof e&&"function"==typeof e.then}function Bo(e){let t=!1,s=No[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 $o(e){let t;return t="document"===e.type?["Document",0,"DocumentExit"]:"root"===e.type?["Root",0,"RootExit"]:Bo(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function zo(e){return e[Eo]=!1,e.nodes&&e.nodes.forEach(e=>zo(e)),e}let jo={},Wo=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 Ro)i=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=Po;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[To]&&Mo.rebuild(i)}else i=zo(s);this.result=new Ro(t,i,r),this.helpers={...jo,postcss:jo,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(!Lo[s]&&/^[A-Z]/.test(s))throw new Error(`Unknown event ${s} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Fo[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(Uo(s))try{await s}catch(e){throw this.handleError(e)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Eo];){e[Eo]=!0;let t=[$o(e)];for(;t.length>0;){let e=this.visitTick(t);if(Uo(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 Uo(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=Oo;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let s=new xo(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(Uo(this.runOnRoot(e)))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Eo];)e[Eo]=!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||Ao("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(Uo(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[Eo])return r[Eo]=!0,void e.push($o(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[Eo]=!0,t.iterator=s.getIterator()));if(this.listeners[e])return void(t.visitors=this.listeners[e])}e.pop()}walkSync(e){e[Eo]=!0;let t=Bo(e);for(let s of t)if(0===s)e.nodes&&e.each(e=>{e[Eo]||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"}};Wo.registerPostcss=e=>{jo=e};var Ko=Wo;Wo.default=Wo,Do.registerLazyResult(Wo),_o.registerLazyResult(Wo);let Vo=Qi,Go=ai,Ho=kn,Yo=Io;const qo=On;let Zo=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=Go;this.result=new qo(this._processor,r,this._opts),this.result.css=t;let n=this;Object.defineProperty(this.result,"root",{get:()=>n.root});let o=new Vo(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||Ho("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=Yo;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 Jo=Zo;Zo.default=Zo;let Xo=Jo,Qo=Ko,ea=bn,ta=no,sa=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 Qo(this,e,t):new Xo(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};var ra=sa;sa.default=sa,ta.registerProcessor(sa),ea.registerProcessor(sa);let ia=wi,na=xi,oa=sn,aa=eo,la=ji,ca=no,ha=uo;function ua(e,t){if(Array.isArray(e))return e.map(e=>ua(e));let{inputs:s,...r}=e;if(s){t=[];for(let e of s){let s={...e,__proto__:la.prototype};s.map&&(s.map={...s.map,__proto__:na.prototype}),t.push(s)}}if(r.nodes&&(r.nodes=e.nodes.map(e=>ua(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 ca(r);if("decl"===r.type)return new ia(r);if("rule"===r.type)return new ha(r);if("comment"===r.type)return new oa(r);if("atrule"===r.type)return new aa(r);throw new Error("Unknown node type: "+e.type)}var da=ua;ua.default=ua;let pa=ei,ma=wi,fa=Ko,ga=gn,ya=ra,wa=ai,va=da,Sa=bn,ba=En,Ca=sn,ka=eo,Ia=On,Ea=ji,Ta=Io,xa=ao,Oa=uo,Ma=no,_a=fi;function Aa(...e){return 1===e.length&&Array.isArray(e[0])&&(e=e[0]),new ya(e)}Aa.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 ya).version,i}return Object.defineProperty(i,"postcss",{get:()=>(s||(s=i()),s)}),i.process=function(e,t,s){return Aa([i(s)]).process(e,t)},i},Aa.stringify=wa,Aa.parse=Ta,Aa.fromJSON=va,Aa.list=xa,Aa.comment=e=>new Ca(e),Aa.atRule=e=>new ka(e),Aa.decl=e=>new ma(e),Aa.rule=e=>new Oa(e),Aa.root=e=>new Ma(e),Aa.document=e=>new Sa(e),Aa.CssSyntaxError=pa,Aa.Declaration=ma,Aa.Container=ga,Aa.Processor=ya,Aa.Document=Sa,Aa.Comment=Ca,Aa.Warning=ba,Aa.AtRule=ka,Aa.Result=Ia,Aa.Input=Ea,Aa.Rule=Oa,Aa.Root=Ma,Aa.Node=_a,fa.registerPostcss(Aa);var Ra=Aa;Aa.default=Aa;const Pa=Kr(Ra);Pa.stringify,Pa.fromJSON,Pa.plugin,Pa.parse,Pa.list,Pa.document,Pa.comment,Pa.atRule,Pa.rule,Pa.decl,Pa.root,Pa.CssSyntaxError,Pa.Declaration,Pa.Container,Pa.Processor,Pa.Document,Pa.Comment,Pa.Warning,Pa.AtRule,Pa.Result,Pa.Input,Pa.Rule,Pa.Root,Pa.Node;class Da{constructor(...e){Wr(this,"parentElement",null),Wr(this,"parentNode",null),Wr(this,"ownerDocument"),Wr(this,"firstChild",null),Wr(this,"lastChild",null),Wr(this,"previousSibling",null),Wr(this,"nextSibling",null),Wr(this,"ELEMENT_NODE",1),Wr(this,"TEXT_NODE",3),Wr(this,"nodeType"),Wr(this,"nodeName"),Wr(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 Da))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 Na={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},La={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Fa={};function Ua(e){if(Fa[e])return Fa[e];const t=globalThis[e],s=t.prototype,r=e in Na?Na[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 La?La[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 Fa[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?Fa[e]=n:s}catch{return s}}const Ba={};function $a(e,t,s){var r;const i=`${e}.${String(s)}`;if(Ba[i])return Ba[i].call(t);const n=Ua(e),o=null==(r=Object.getOwnPropertyDescriptor(n,s))?void 0:r.get;return o?(Ba[i]=o,o.call(t)):t[s]}const za={};function ja(e,t,s){const r=`${e}.${String(s)}`;if(za[r])return za[r].bind(t);const i=Ua(e)[s];return"function"!=typeof i?t[s]:(za[r]=i,i.bind(t))}function Wa(){return Ua("MutationObserver").constructor}function Ka(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 Va={ownerDocument:function(e){return $a("Node",e,"ownerDocument")},childNodes:function(e){return $a("Node",e,"childNodes")},parentNode:function(e){return $a("Node",e,"parentNode")},parentElement:function(e){return $a("Node",e,"parentElement")},textContent:function(e){return $a("Node",e,"textContent")},contains:function(e,t){return ja("Node",e,"contains")(t)},getRootNode:function(e){return ja("Node",e,"getRootNode")()},host:function(e){return e&&"host"in e?$a("ShadowRoot",e,"host"):null},styleSheets:function(e){return e.styleSheets},shadowRoot:function(e){return e&&"shadowRoot"in e?$a("Element",e,"shadowRoot"):null},querySelector:function(e,t){return $a("Element",e,"querySelector")(t)},querySelectorAll:function(e,t){return $a("Element",e,"querySelectorAll")(t)},mutationObserver:Wa,patch:Ka};function Ga(e,t,s=document){const r={capture:!0,passive:!0};return s.addEventListener(e,t,r),()=>s.removeEventListener(e,t,r)}const Ha="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 Ya={map:{},getId:()=>(console.error(Ha),-1),getNode:()=>(console.error(Ha),null),removeNodeFromMap(){console.error(Ha)},has:()=>(console.error(Ha),!1),reset(){console.error(Ha)}};function qa(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 Za(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)}}),()=>Za(e,t,n||{},!0)}"undefined"!=typeof window&&window.Proxy&&window.Reflect&&(Ya=new Proxy(Ya,{get:(e,t,s)=>("map"===t&&console.error(Ha),Reflect.get(e,t,s))}));let Ja=Date.now;function Xa(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=Va.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=Va.parentElement(n.body))?void 0:r.scrollTop)||(null==(i=null==n?void 0:n.body)?void 0:i.scrollTop)||0}}function Qa(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function el(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function tl(e){if(!e)return null;return e.nodeType===e.ELEMENT_NODE?e:Va.parentElement(e)}function sl(e,t,s,r){if(!e)return!1;const i=tl(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(Y(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 rl(e,t,s){return!("TITLE"!==e.tagName||!s.headTitleMutations)||-2===t.getId(e)}function il(e,t){if(w(e))return!1;const s=t.getId(e);if(!t.has(s))return!0;const r=Va.parentNode(e);return(!r||r.nodeType!==e.DOCUMENT_NODE)&&(!r||il(r,t))}function nl(e){return Boolean(e.changedTouches)}function ol(e,t){return Boolean("IFRAME"===e.nodeName&&t.getMeta(e))}function al(e,t){return Boolean("LINK"===e.nodeName&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&"stylesheet"===e.getAttribute("rel")&&t.getMeta(e))}function ll(e){return!!e&&(e instanceof Da&&"shadowRoot"in e?Boolean(e.shadowRoot):Boolean(Va.shadowRoot(e)))}/[1-9][0-9]{12}/.test(Date.now().toString())||(Ja=()=>(new Date).getTime());class cl{constructor(){i(this,"id",1),i(this,"styleIDMap",new WeakMap),i(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 hl(e){var t;let s=null;return"getRootNode"in e&&(null==(t=Va.getRootNode(e))?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&Va.host(Va.getRootNode(e))&&(s=Va.host(Va.getRootNode(e))),s}function ul(e){const t=Va.ownerDocument(e);if(!t)return!1;const s=function(e){let t,s=e;for(;t=hl(s);)s=t;return s}(e);return Va.contains(t,s)}function dl(e){const t=Va.ownerDocument(e);return!!t&&(Va.contains(t,e)||ul(e))}var pl=(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))(pl||{}),ml=(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))(ml||{}),fl=(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))(fl||{}),gl=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(gl||{}),yl=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(yl||{}),wl=(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))(wl||{}),vl=(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))(vl||{});function Sl(e){return"__ln"in e}class bl{constructor(){i(this,"length",0),i(this,"head",null),i(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&&Sl(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&&Sl(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 Cl=(e,t)=>`${e}@${t}`;class kl{constructor(){i(this,"frozen",!1),i(this,"locked",!1),i(this,"texts",[]),i(this,"attributes",[]),i(this,"attributeMap",new WeakMap),i(this,"removes",[]),i(this,"mapRemoves",[]),i(this,"movedMap",{}),i(this,"addedSet",new Set),i(this,"movedSet",new Set),i(this,"droppedSet",new Set),i(this,"removesSubTreeCache",new Set),i(this,"mutationCb"),i(this,"blockClass"),i(this,"blockSelector"),i(this,"maskTextClass"),i(this,"maskTextSelector"),i(this,"inlineStylesheet"),i(this,"maskInputOptions"),i(this,"maskTextFn"),i(this,"maskInputFn"),i(this,"keepIframeSrcFn"),i(this,"recordCanvas"),i(this,"inlineImages"),i(this,"slimDOMOptions"),i(this,"dataURLOptions"),i(this,"doc"),i(this,"mirror"),i(this,"iframeManager"),i(this,"stylesheetManager"),i(this,"shadowDomManager"),i(this,"canvasManager"),i(this,"processedNodeManager"),i(this,"unattachedDoc"),i(this,"processMutations",e=>{e.forEach(this.processMutation),this.emit()}),i(this,"emit",()=>{if(this.frozen||this.locked)return;const e=[],t=new Set,s=new bl,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=Va.parentNode(i);if(!n||!dl(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=w(n)?this.mirror.getId(hl(i)):this.mirror.getId(n),l=r(i);if(-1===a||-1===l)return s.addNode(i);const c=Q(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=>{ol(e,this.mirror)&&this.iframeManager.addIframe(e),al(e,this.mirror)&&this.stylesheetManager.trackLinkElement(e),ll(i)&&this.shadowDomManager.addShadowRoot(Va.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)El(this.removesSubTreeCache,e,this.mirror)&&!this.movedSet.has(Va.parentNode(e))||i(e);for(const e of this.addedSet)Tl(this.droppedSet,e)||El(this.removesSubTreeCache,e,this.mirror)?Tl(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(Va.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(Va.parentNode(s.value));if(-1===r(s.value))continue;if(-1!==t){e=s;break}{const t=s.value,r=Va.parentNode(t);if(r&&r.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const t=Va.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=Va.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))}),i(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(Va.childNodes(e),e=>Va.textContent(e)||"").join("");t.attributes.value=k({element:e,maskInputOptions:this.maskInputOptions,tagName:e.tagName,type:T(e),value:s,maskInputFn:this.maskInputFn})}),i(this,"processMutation",e=>{if(!rl(e.target,this.mirror,this.slimDOMOptions))switch(e.type){case"characterData":{const t=Va.textContent(e.target);sl(e.target,this.blockClass,this.blockSelector,!1)||t===e.oldValue||this.texts.push({value:q(e.target,this.maskTextClass,this.maskTextSelector,!0)&&t?this.maskTextFn?this.maskTextFn(t,tl(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=T(t);r=k({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:e,value:r,maskInputFn:this.maskInputFn})}if(sl(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"),!H(t.tagName,s))if(i.attributes[s]=G(this.doc,I(t.tagName),I(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(sl(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=w(e.target)?this.mirror.getId(Va.host(e.target)):this.mirror.getId(e.target);sl(e.target,this.blockClass,this.blockSelector,!1)||rl(t,this.mirror,this.slimDOMOptions)||!function(e,t){return-1!==t.getId(e)}(t,this.mirror)||(this.addedSet.has(t)?(Il(this.addedSet,t),this.droppedSet.add(t)):this.addedSet.has(e.target)&&-1===s||il(e.target,this.mirror)||(this.movedSet.has(t)&&this.movedMap[Cl(s,r)]?Il(this.movedSet,t):(this.removes.push({parentId:r,id:s,isShadow:!(!w(e.target)||!v(e.target))||void 0}),function(e,t){const s=[e];for(;s.length;){const e=s.pop();t.has(e)||(t.add(e),Va.childNodes(e).forEach(e=>s.push(e)))}}(t,this.removesSubTreeCache))),this.mapRemoves.push(t))})}}),i(this,"genAdds",(e,t)=>{if(!this.processedNodeManager.inOtherBuffer(e,this)&&!this.addedSet.has(e)&&!this.movedSet.has(e)){if(this.mirror.hasNode(e)){if(rl(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[Cl(this.mirror.getId(e),s)]=!0)}else this.addedSet.add(e),this.droppedSet.delete(e);sl(e,this.blockClass,this.blockSelector,!1)||(Va.childNodes(e).forEach(e=>this.genAdds(e)),ll(e)&&Va.childNodes(Va.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 Il(e,t){e.delete(t),Va.childNodes(t).forEach(t=>Il(e,t))}function El(e,t,s){return 0!==e.size&&function(e,t){const s=Va.parentNode(t);return!!s&&e.has(s)}(e,t)}function Tl(e,t){return 0!==e.size&&xl(e,t)}function xl(e,t){const s=Va.parentNode(t);return!!s&&(!!e.has(s)||xl(e,s))}let Ol;const Ml=e=>{if(!Ol)return e;return(...t)=>{try{return e(...t)}catch(e){if(Ol&&!0===Ol(e))return;throw e}}},_l=[];function Al(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 Rl(e,t){const s=new kl;_l.push(s),s.init(e);const r=new(Wa())(Ml(s.processMutations.bind(s)));return r.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),r}function Pl({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(fl).filter(e=>Number.isNaN(Number(e))&&!e.endsWith("_Departed")&&!1!==o[e]).forEach(n=>{let o=I(n);const c=(t=>n=>{const o=Al(n);if(sl(o,r,i,!0))return;let a=null,c=t;if("pointerType"in n){switch(n.pointerType){case"mouse":a=gl.Mouse;break;case"touch":a=gl.Touch;break;case"pen":a=gl.Pen}a===gl.Touch?fl[t]===fl.MouseDown?c="TouchStart":fl[t]===fl.MouseUp&&(c="TouchEnd"):gl.Pen}else nl(n)&&(a=gl.Touch);null!==a?(l=a,(c.startsWith("Touch")&&a===gl.Touch||c.startsWith("Mouse")&&a===gl.Mouse)&&(a=null)):fl[t]===fl.Click&&(a=l,l=null);const h=nl(n)?n.changedTouches[0]:n;if(!h)return;const u=s.getId(o),{clientX:d,clientY:p}=h;Ml(e)({type:fl[c],id:u,x:d,y:p,...null!==a&&{pointerType:a}})})(n);if(window.PointerEvent)switch(fl[n]){case fl.MouseDown:case fl.MouseUp:o=o.replace("mouse","pointer");break;case fl.TouchStart:case fl.TouchEnd:return}a.push(Ga(o,c,t))}),Ml(()=>{a.forEach(e=>e())})}function Dl({scrollCb:e,doc:t,mirror:s,blockClass:r,blockSelector:i,sampling:n}){return Ga("scroll",Ml(qa(Ml(n=>{const o=Al(n);if(!o||sl(o,r,i,!0))return;const a=s.getId(o);if(o===t&&t.defaultView){const s=Xa(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 Nl=["INPUT","TEXTAREA","SELECT"],Ll=new WeakMap;function Fl(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 Ul(e,t,s){let r,i;return e?(e.ownerNode?r=t.getId(e.ownerNode):i=s.getId(e),{styleId:i,id:r}):{}}function Bl({mirror:e,stylesheetManager:t},s){var r,i,n;let o=null;o="#document"===s.nodeName?e.getId(s):e.getId(Va.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}}),Ml(()=>{Object.defineProperty(s,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get:l.get,set:l.set})})):()=>{}}function $l(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=Rl(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=qa(Ml(t=>{const s=Date.now()-o;e(a.map(e=>(e.timeOffset-=s,e)),t),a=[],o=null}),n),c=Ml(qa(Ml(e=>{const t=Al(e),{clientX:s,clientY:i}=nl(e)?e.changedTouches[0]:e;o||(o=Ja()),a.push({x:s,y:i,id:r.getId(t),timeOffset:Ja()-o}),l("undefined"!=typeof DragEvent&&e instanceof DragEvent?ml.Drag:e instanceof MouseEvent?ml.MouseMove:ml.TouchMove)}),i,{trailing:!1})),h=[Ga("mousemove",c,s),Ga("touchmove",c,s),Ga("drag",c,s)];return Ml(()=>{h.forEach(e=>e())})}(e),n=Pl(e),o=Dl(e),a=function({viewportResizeCb:e},{win:t}){let s=-1,r=-1;return Ga("resize",Ml(qa(Ml(()=>{const t=Qa(),i=el();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=Al(e);const c=e.isTrusted,u=s&&s.tagName;if(s&&"OPTION"===u&&(s=Va.parentElement(s)),!s||!u||Nl.indexOf(u)<0||sl(s,r,i,!0))return;if(s.classList.contains(n)||o&&s.matches(o))return;let p=s.value,m=!1;const f=T(s)||"";"radio"===f||"checkbox"===f?m=s.checked:(a[u.toLowerCase()]||a[f])&&(p=k({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=Ll.get(t);if(!i||i.text!==r.text||i.isChecked!==r.isChecked){Ll.set(t,r);const i=s.getId(t);Ml(e)({...r,id:i})}}const p=("last"===c.input?["change"]:["input","change"]).map(e=>Ga(e,Ml(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=>Za(e[0],e[1],{set(){Ml(u)({target:this,isTrusted:!1})}},!1,m))),Ml(()=>{p.forEach(e=>e())})}(e),c=function({mediaInteractionCb:e,blockClass:t,blockSelector:s,mirror:r,sampling:i,doc:n}){const o=Ml(n=>qa(Ml(i=>{const o=Al(i);if(!o||sl(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=[Ga("play",o(wl.Play),n),Ga("pause",o(wl.Pause),n),Ga("seeked",o(wl.Seeked),n),Ga("volumechange",o(wl.VolumeChange),n),Ga("ratechange",o(wl.RateChange),n)];return Ml(()=>{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:Ml((r,i,n)=>{const[o,a]=n,{id:l,styleId:c}=Ul(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:Ml((r,i,n)=>{const[o]=n,{id:a,styleId:l}=Ul(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:Ml((r,i,n)=>{const[o]=n,{id:a,styleId:l}=Ul(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:Ml((r,i,n)=>{const[o]=n,{id:a,styleId:l}=Ul(i,t,s.styleMirror);return(a&&-1!==a||l&&-1!==l)&&e({id:a,styleId:l,replaceSync:o}),r.apply(i,n)})}));const l={};jl("CSSGroupingRule")?l.CSSGroupingRule=r.CSSGroupingRule:(jl("CSSMediaRule")&&(l.CSSMediaRule=r.CSSMediaRule),jl("CSSConditionRule")&&(l.CSSConditionRule=r.CSSConditionRule),jl("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:Ml((r,i,n)=>{const[o,a]=n,{id:l,styleId:c}=Ul(i.parentStyleSheet,t,s.styleMirror);return(l&&-1!==l||c&&-1!==c)&&e({id:l,styleId:c,adds:[{rule:o,index:[...Fl(i),a||0]}]}),r.apply(i,n)})}),i.prototype.deleteRule=new Proxy(c[r].deleteRule,{apply:Ml((r,i,n)=>{const[o]=n,{id:a,styleId:l}=Ul(i.parentStyleSheet,t,s.styleMirror);return(a&&-1!==a||l&&-1!==l)&&e({id:a,styleId:l,removes:[{index:[...Fl(i),o]}]}),r.apply(i,n)})})}),Ml(()=>{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=Bl(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:Ml((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}=Ul(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:Fl(o.parentRule)}),i.apply(o,a)})});const o=i.CSSStyleDeclaration.prototype.removeProperty;return i.CSSStyleDeclaration.prototype.removeProperty=new Proxy(o,{apply:Ml((i,n,a)=>{var l;const[c]=a;if(s.has(c))return o.apply(n,[c]);const{id:h,styleId:u}=Ul(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:Fl(n.parentRule)}),i.apply(n,a)})}),Ml(()=>{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=Ka(t.fonts,"add",function(t){return function(s){return setTimeout(Ml(()=>{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),Ml(()=>{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=Ml(()=>{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;sl(o,r,i,!0)||sl(c,r,i,!0)||a.push({start:s.getId(o),startOffset:l,end:s.getId(c),endOffset:h})}n({ranges:a})});return a(),Ga("selectionchange",a)}(e),f=function({doc:e,customElementCb:t}){const s=e.defaultView;return s&&s.customElements?Ka(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 Ml(()=>{_l.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 zl(e){return void 0!==window[e]}function jl(e){return Boolean(void 0!==window[e]&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}class Wl{constructor(e){i(this,"iframeIdToRemoteIdMap",new WeakMap),i(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 Kl{constructor(e){i(this,"iframes",new WeakMap),i(this,"crossOriginIframeMap",new WeakMap),i(this,"crossOriginIframeMirror",new Wl(F)),i(this,"crossOriginIframeStyleMirror"),i(this,"crossOriginIframeRootIdMap",new WeakMap),i(this,"mirror"),i(this,"mutationCb"),i(this,"wrappedEmit"),i(this,"loadListener"),i(this,"stylesheetManager"),i(this,"recordCrossOriginIframes"),this.mutationCb=e.mutationCb,this.wrappedEmit=e.wrappedEmit,this.stylesheetManager=e.stylesheetManager,this.recordCrossOriginIframes=e.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Wl(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 pl.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:pl.IncrementalSnapshot,data:{source:ml.Mutation,adds:[{parentId:this.mirror.getId(e),nextId:null,node:t.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case pl.Meta:case pl.Load:case pl.DomContentLoaded:return!1;case pl.Plugin:return t;case pl.Custom:return this.replaceIds(t.data.payload,e,["id","parentId","previousId","nextId"]),t;case pl.IncrementalSnapshot:switch(t.data.source){case ml.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 ml.Drag:case ml.TouchMove:case ml.MouseMove:return t.data.positions.forEach(t=>{this.replaceIds(t,e,["id"])}),t;case ml.ViewportResize:return!1;case ml.MediaInteraction:case ml.MouseInteraction:case ml.Scroll:case ml.CanvasMutation:case ml.Input:return this.replaceIds(t.data,e,["id"]),t;case ml.StyleSheetRule:case ml.StyleDeclaration:return this.replaceIds(t.data,e,["id"]),this.replaceStyleIds(t.data,e,["styleId"]),t;case ml.Font:return t;case ml.Selection:return t.data.ranges.forEach(t=>{this.replaceIds(t,e,["start","end"])}),t;case ml.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===vl.Document||e.rootId||(e.rootId=t),"childNodes"in e&&e.childNodes.forEach(e=>{this.patchRootIdOnNode(e,t)})}}class Vl{constructor(e){i(this,"shadowDoms",new WeakSet),i(this,"mutationCb"),i(this,"scrollCb"),i(this,"bypassOptions"),i(this,"mirror"),i(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(!v(e))return;if(this.shadowDoms.has(e))return;this.shadowDoms.add(e);const s=Rl({...this.bypassOptions,doc:t,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},e);this.restoreHandlers.push(()=>s.disconnect()),this.restoreHandlers.push(Dl({...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(Va.host(e))),this.restoreHandlers.push(Bl({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(Ka(e.prototype,"attachShadow",function(e){return function(r){const i=e.call(this,r),n=Va.shadowRoot(this);return n&&dl(this)&&s.addShadowRoot(n,t),i}}))}reset(){this.restoreHandlers.forEach(e=>{try{e()}catch(e){}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}}for(var Gl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Hl="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Yl=0;Yl<64;Yl++)Hl[Gl.charCodeAt(Yl)]=Yl;const ql=new Map;const Zl=(e,t,s)=>{if(!e||!Ql(e,t)&&"object"!=typeof e)return;const r=function(e,t){let s=ql.get(e);return s||(s=new Map,ql.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 Jl(e,t,s){if(e instanceof Array)return e.map(e=>Jl(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+=Gl[s[t]>>2],i+=Gl[(3&s[t])<<4|s[t+1]>>4],i+=Gl[(15&s[t+1])<<2|s[t+2]>>6],i+=Gl[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:[Jl(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:[Jl(e.data,t,s),e.width,e.height]}}if(Ql(e,t)||"object"==typeof e){return{rr_type:e.constructor.name,index:Zl(e,t,s)}}return e}const Xl=(e,t,s)=>e.map(e=>Jl(e,t,s)),Ql=(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 ec(e,t,s,r){const i=[];try{const n=Ka(e.HTMLCanvasElement.prototype,"getContext",function(e){return function(i,...n){if(!sl(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 tc(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=Ka(e,l,function(e){return function(...o){const a=e.apply(this,o);if(Zl(a,n,this),"tagName"in this.canvas&&!sl(this.canvas,r,i,!0)){const e=Xl(o,n,this),r={type:t,property:l,args:e};s(this.canvas,r)}return a}});o.push(a)}catch{const r=Za(e,l,{set(e){s(this.canvas,{type:t,property:l,args:[e],setter:!0})}});o.push(r)}return o}const sc="KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=",rc="undefined"!=typeof window&&window.Blob&&new Blob([(ic=sc,Uint8Array.from(atob(ic),e=>e.charCodeAt(0)))],{type:"text/javascript;charset=utf-8"});var ic;function nc(e){let t;try{if(t=rc&&(window.URL||window.webkitURL).createObjectURL(rc),!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,"+sc,{name:null==e?void 0:e.name})}finally{t&&(window.URL||window.webkitURL).revokeObjectURL(t)}}class oc{constructor(e){i(this,"pendingCanvasMutations",new Map),i(this,"rafStamps",{latestId:0,invokeId:null}),i(this,"mirror"),i(this,"mutationCb"),i(this,"resetObservers"),i(this,"frozen",!1),i(this,"locked",!1),i(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:o,dataURLOptions:a}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,o&&"all"===t&&this.initCanvasMutationObserver(s,r,n),o&&"number"==typeof t&&this.initCanvasFPSObserver(t,s,r,n,{dataURLOptions:a})}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=ec(t,s,r,!0),o=new Map,a=new nc;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:yl["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=>{sl(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=ec(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=Ka(t.CanvasRenderingContext2D.prototype,o,function(i){return function(...n){return sl(this.canvas,s,r,!0)||setTimeout(()=>{const s=Xl(n,t,this);e(this.canvas,{type:yl["2D"],property:o,args:s})},0),i.apply(this,n)}});i.push(n)}catch{const s=Za(t.CanvasRenderingContext2D.prototype,o,{set(t){e(this.canvas,{type:yl["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(...tc(t.WebGLRenderingContext.prototype,yl.WebGL,e,s,r,t)),void 0!==t.WebGL2RenderingContext&&i.push(...tc(t.WebGL2RenderingContext.prototype,yl.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 ac{constructor(e){i(this,"trackedLinkElements",new WeakSet),i(this,"mutationCb"),i(this,"adoptedStyleSheetCb"),i(this,"styleMirror",new cl),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:b(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 lc{constructor(){i(this,"nodeMap",new WeakMap),i(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 cc,hc,uc,dc=!1;try{if(2!==Array.from([1],e=>2*e)[0]){const t=document.createElement("iframe");document.body.appendChild(t),Array.from=(null==(e=t.contentWindow)?void 0:e.Array.from)||Array.from,document.body.removeChild(t)}}catch(e){console.debug("Unable to override Array.from",e)}const pc=new C;function mc(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:k=!1,recordCrossOriginIframes:I=!1,recordAfter:E=("DOMContentLoaded"===e.recordAfter?e.recordAfter:"load"),userTriggeredOnInput:T=!1,collectFonts:x=!1,inlineImages:O=!1,plugins:M,keepIframeSrcFn:_=()=>!1,ignoreCSSAttributes:A=new Set([]),errorHandler:R}=e;Ol=R;const P=!I||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),pc.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=X(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};cc=(e,i)=>{var n;const o=e;if(o.timestamp=Ja(),!(null==(n=_l[0])?void 0:n.isFrozen())||o.type===pl.FullSnapshot||o.type===pl.IncrementalSnapshot&&o.data.source===ml.Mutation||_l.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===pl.FullSnapshot)F=o,U=0;else if(o.type===pl.IncrementalSnapshot){if(o.data.source===ml.Mutation&&o.data.isAttachIframe)return;U++;const e=r&&U>=r,t=s&&o.timestamp-F.timestamp>s;(e||t)&&hc(!0)}};const $=e=>{cc({type:pl.IncrementalSnapshot,data:{source:ml.Mutation,...e}})},z=e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.Scroll,...e}}),j=e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.CanvasMutation,...e}}),W=new ac({mutationCb:$,adoptedStyleSheetCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.AdoptedStyleSheet,...e}})}),K=new Kl({mirror:pc,mutationCb:$,stylesheetManager:W,recordCrossOriginIframes:I,wrappedEmit:cc});for(const e of M||[])e.getMirror&&e.getMirror({nodeMirror:pc,crossOriginIframeMirror:K.crossOriginIframeMirror,crossOriginIframeStyleMirror:K.crossOriginIframeStyleMirror});const V=new lc;uc=new oc({recordCanvas:k,mutationCb:j,win:window,blockClass:i,blockSelector:n,mirror:pc,sampling:w.canvas,dataURLOptions:v});const G=new Vl({mutationCb:$,scrollCb:z,bypassOptions:{blockClass:i,blockSelector:n,maskTextClass:l,maskTextSelector:c,inlineStylesheet:h,maskInputOptions:N,dataURLOptions:v,maskTextFn:f,maskInputFn:m,recordCanvas:k,inlineImages:O,sampling:w,slimDOMOptions:L,iframeManager:K,stylesheetManager:W,canvasManager:uc,keepIframeSrcFn:_,processedNodeManager:V},mirror:pc});hc=(e=!1)=>{if(!b)return;cc({type:pl.Meta,data:{href:window.location.href,width:el(),height:Qa()}},e),W.reset(),G.init(),_l.forEach(e=>e.lock());const t=function(e,t){const{mirror:s=new C,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 Q(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:X(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:pc,blockClass:i,blockSelector:n,maskTextClass:l,maskTextSelector:c,inlineStylesheet:h,maskAllInputs:N,maskTextFn:f,maskInputFn:m,slimDOM:L,dataURLOptions:v,recordCanvas:k,inlineImages:O,onSerialize:e=>{ol(e,pc)&&K.addIframe(e),al(e,pc)&&W.trackLinkElement(e),ll(e)&&G.addShadowRoot(Va.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");cc({type:pl.FullSnapshot,data:{node:t,initialOffset:Xa(window)}},e),_l.forEach(e=>e.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&W.adoptStyleSheets(document.adoptedStyleSheets,pc.getId(document))};try{const e=[],t=e=>{var t;return Ml($l)({mutationCb:$,mousemoveCb:(e,t)=>cc({type:pl.IncrementalSnapshot,data:{source:t,positions:e}}),mouseInteractionCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.MouseInteraction,...e}}),scrollCb:z,viewportResizeCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.ViewportResize,...e}}),inputCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.Input,...e}}),mediaInteractionCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.MediaInteraction,...e}}),styleSheetRuleCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.StyleSheetRule,...e}}),styleDeclarationCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.StyleDeclaration,...e}}),canvasMutationCb:j,fontCb:e=>cc({type:pl.IncrementalSnapshot,data:{source:ml.Font,...e}}),selectionCb:e=>{cc({type:pl.IncrementalSnapshot,data:{source:ml.Selection,...e}})},customElementCb:e=>{cc({type:pl.IncrementalSnapshot,data:{source:ml.CustomElement,...e}})},blockClass:i,ignoreClass:o,ignoreSelector:a,maskTextClass:l,maskTextSelector:c,maskInputOptions:N,inlineStylesheet:h,sampling:w,recordDOM:b,recordCanvas:k,inlineImages:O,userTriggeredOnInput:T,collectFonts:x,doc:e,maskInputFn:m,maskTextFn:f,keepIframeSrcFn:_,blockSelector:n,slimDOMOptions:L,dataURLOptions:v,mirror:pc,iframeManager:K,stylesheetManager:W,shadowDomManager:G,processedNodeManager:V,canvasManager:uc,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=>cc({type:pl.Plugin,data:{plugin:e.name,payload:t}})})))||[]},g)};K.addLoadListener(s=>{try{e.push(t(s.contentDocument))}catch(e){console.warn(e)}});const s=()=>{hc(),e.push(t(document)),dc=!0};return["interactive","complete"].includes(document.readyState)?s():(e.push(Ga("DOMContentLoaded",()=>{cc({type:pl.DomContentLoaded,data:{}}),"DOMContentLoaded"===E&&s()})),e.push(Ga("load",()=>{cc({type:pl.Load,data:{}}),"load"===E&&s()},window))),()=>{e.forEach(e=>{try{e()}catch(e){String(e).toLowerCase().includes("cross-origin")||console.warn(e)}}),V.destroy(),dc=!1,Ol=void 0}}catch(e){console.warn(e)}}var fc,gc;mc.addCustomEvent=(e,t)=>{if(!dc)throw new Error("please add custom event after start recording");cc({type:pl.Custom,data:{tag:e,payload:t}})},mc.freezePage=()=>{_l.forEach(e=>e.freeze())},mc.takeFullSnapshot=e=>{if(!dc)throw new Error("please take full snapshot after start recording");hc(e)},mc.mirror=pc,(gc=fc||(fc={}))[gc.NotStarted=0]="NotStarted",gc[gc.Running=1]="Running",gc[gc.Stopped=2]="Stopped";const yc=[];for(let e=0;e<256;++e)yc.push((e+256).toString(16).slice(1));let wc;const vc=new Uint8Array(16);const Sc={};function bc(e,t,s){let r;{const e=Date.now(),i=function(){if(!wc){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");wc=crypto.getRandomValues.bind(crypto)}return wc(vc)}();!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}(Sc,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,Sc.msecs,Sc.nsecs,Sc.clockseq,Sc.node,t,s)}return t??function(e,t=0){return(yc[e[t+0]]+yc[e[t+1]]+yc[e[t+2]]+yc[e[t+3]]+"-"+yc[e[t+4]]+yc[e[t+5]]+"-"+yc[e[t+6]]+yc[e[t+7]]+"-"+yc[e[t+8]]+yc[e[t+9]]+"-"+yc[e[t+10]]+yc[e[t+11]]+yc[e[t+12]]+yc[e[t+13]]+yc[e[t+14]]+yc[e[t+15]]).toLowerCase()}(r)}var Cc,kc;(kc=Cc||(Cc={}))[kc.NONE=0]="NONE",kc[kc.ERROR=1]="ERROR",kc[kc.WARN=2]="WARN",kc[kc.INFO=3]="INFO",kc[kc.DEBUG=4]="DEBUG";const Ic=new class{constructor(e){this.config={level:Cc.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(Cc.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(Cc.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(Cc.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(Cc.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 Ec=!1;const Tc=(e,...t)=>{Ec=!0;try{Ic.error(e,...t)}finally{Ec=!1}},xc=(e,...t)=>{Ec=!0;try{Ic.warn(e,...t)}finally{Ec=!1}},Oc=(e,...t)=>{Ec=!0;try{Ic.info(e,...t)}finally{Ec=!1}},Mc=(e,...t)=>{Ec=!0;try{Ic.debug(e,...t)}finally{Ec=!1}};class _c{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)"),xc(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=>{Tc("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){Tc("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)||xc("sendBeacon returned false for unload request")}catch(e){Tc("Error sending beacon request:",e)}}}class Ac{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 xc("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)),Mc(`Persisted ${t.length} events to storage`)}catch(t){if("QuotaExceededError"===t.name||22===t.code){xc("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){xc("Failed to save smaller queue, clearing storage"),this.clearQueue()}}else xc("Failed to persist queue:",t)}}addToQueue(e){const t=this.getQueue();t.push(e),t.length>this.maxQueueSize&&(t.shift(),Mc("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){xc("Failed to clear persisted queue:",e)}}getQueueLength(){return this.getQueue().length}}const Rc="0.7.0",Pc=1048576,Dc=52428.8;function Nc(e,t,s){return(new TextEncoder).encode(Lc({sessionId:s,events:[...e,t]})).length>Pc}function Lc(e){return JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString():t)}function Fc(e,t){if(!e||"object"!=typeof e)return[];if((new TextEncoder).encode(Lc({sessionId:t,events:[e]})).length<=Pc)return[e];const s={...e},r=["screenshot","html","dom","fullText","innerHTML","outerHTML"];return r.forEach(e=>{s[e]&&delete s[e]}),(new TextEncoder).encode(Lc({sessionId:t,events:[s]})).length<=Pc?[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 Uc{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 Ac(e),this.retryQueue=new _c(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){Mc(`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){xc("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<Dc,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),Oc("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:Lc({sessionId:e,endUserId:t,entryURL:s,referrer:r,sdkVersion:Rc})});if(Oc("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 Tc("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,Oc("Monthly limit reached detected from server response")),Oc("API init success:",n),{sessionId:n.sessionId,endUserId:n.endUserId}}catch(e){throw Tc("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:Lc({sessionId:t,events:r,endUserId:s,sdkVersion:Rc})});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,Oc("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(Nc(o,a,t)){if(o.length>0){Mc(`[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:Lc({sessionId:t,events:o,endUserId:s,windowId:r,automaticProperties:i,sdkVersion:Rc})});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,Oc("Monthly limit reached detected from chunked events response")),n.push(a),o=[]}o=Fc(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 Tc("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=Lc({sessionId:t,events:e.slice(o,o+n),endUserId:s,windowId:r,automaticProperties:i,sdkVersion:Rc}),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){xc(`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,Oc("Monthly limit reached detected from chunked events response")),o+=n,o>=e.length)return h}catch(n){return xc("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};Mc("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:Lc(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 Mc("Server response:",n),n}catch(e){throw Tc("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:Lc({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 Tc("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([Lc(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([Lc(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:Rc,apiKey:this.apiKey},a=new Blob([Lc(o)],{type:"application/json"});return navigator.sendBeacon(`${this.baseUrl}/api/ingestion/events`,a)}async sendCustomEvent(e,t,s,r){Oc("[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:Lc({sessionId:e,eventName:t,eventProperties:s||{},endUserId:r||null})});if(Oc("[SDK] Custom event response",{status:i.status,statusText:i.statusText}),!i.ok){const e=await i.text();throw Tc("[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 Mc("[SDK] Custom event success",n),n}catch(r){throw Tc("[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:Lc({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 Tc("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([Lc(r)],{type:"application/json"});return navigator.sendBeacon(`${this.baseUrl}/api/ingestion/customEvent/batch`,i)}catch{return!1}}async sendLog(e){try{if(Mc("[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:Lc(e)});t.ok?Mc("[SDK] Log sent successfully"):xc("[SDK] Failed to send log to server:",t.status,t.statusText)}catch(e){xc("[SDK] Failed to send log to server:",e)}}async sendNetworkError(e){try{if(Mc("[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:Lc(e)});t.ok?Mc("[SDK] Network error sent successfully"):xc("[SDK] Failed to send network error to server:",t.status,t.statusText)}catch(e){xc("[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:Lc({sessionId:e,endUserId:t,ipDetectionMethod:"server_header"})});s.ok||xc("[SDK] Failed to send ip-info:",s.status,s.statusText)}catch(e){xc("[SDK] Failed to send ip-info:",e)}}async trackedFetch(e,t,s){const r=Date.now(),i=bc(),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<Dc,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,xc("[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 xc("[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=Lc(t.body),s=t.body}if(e.includes("/api/ingestion/"))if(s&&"object"==typeof s)s.apiKey=this.apiKey,r=Lc(s);else if(r)try{const e=JSON.parse(r);e.apiKey=this.apiKey,r=Lc(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)?(Mc("[SDK] Successfully sent request via sendBeacon (CSP fallback)"),new Response(null,{status:200,statusText:"OK",headers:new Headers})):(xc("[SDK] sendBeacon returned false - browser may be throttling"),new Response(null,{status:200,statusText:"OK (sendBeacon best-effort)",headers:new Headers}))}catch(e){return Tc("[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 Bc{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?Mc(`Redaction: Active for ${this.redactedFields.size} field(s):`,Array.from(this.redactedFields)):Mc("Redaction: No fields to redact"),this.applyRedactionClasses()}setFieldsToUnredact(e){this.unredactedFields.clear();const t=e.filter(e=>!this.isPasswordSelector(e)||(xc(`Cannot unredact password field: ${e} - Password fields are always protected`),!1));t.forEach(e=>this.unredactedFields.add(e)),t.length>0?Mc(`Unredaction: Active for ${t.length} field(s):`,t):Mc("Unredaction: No valid fields to unredact"),this.applyUnredactionClasses()}redactFields(e){e.forEach(e=>{this.unredactedFields.delete(e)}),this.unredactedFields.size>0?Mc(`Unredaction: Removed ${e.length} field(s), ${this.unredactedFields.size} remaining:`,Array.from(this.unredactedFields)):Mc("Unredaction: All fields redacted"),this.applyUnredactionClasses()}clearUnredactedFields(){this.unredactedFields.clear(),Mc("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")}),Mc(`Added rr-mask class to ${t.length} element(s) for selector: ${e}`)}catch(t){xc(`Invalid selector: ${e}`)}}):Mc("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")}),Mc(`Removed rr-mask class from ${t.length} element(s) for selector: ${e}`)}catch(t){xc(`Invalid selector: ${e}`)}}):Mc("DOM not ready, deferring unredaction class application"))}removeUnredactionClasses(){Mc("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){xc(`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){xc(`Invalid selector: ${t}`)}return!0}}new Bc;const $c="undefined"!=typeof window;function zc(){if(!$c)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 jc(e){try{return new URL(e).hostname}catch{return""}}function Wc(){if(!$c)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(!$c)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(!$c)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 Kc(){if(!$c)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:jc(t),initial_referrer:t,initial_referrer_domain:jc(t),initial_host:window.location.hostname,...s}}function Vc(){return{...Wc(),...Kc()}}function Gc(){if(!$c)return{};const e=Kc();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 Hc{constructor(e={}){this.sessionProperties={},this.userProperties={},this.initialProperties={},this.isInitialized=!1,this.config={enableAutomaticProperties:!0,enableSessionProperties:!0,enableUserProperties:!0,propertyDenylist:[],...e},this.automaticProperties=Vc(),this.initialize()}initialize(){this.isInitialized||(this.initialProperties=function(){if(!$c)return{};const e=Kc();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,...Gc()}}getAutomaticPropertiesWithGeoIP(e={}){return{...this.automaticProperties,...Gc(),...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=Vc()}getAllProperties(){return{automatic:this.getAutomaticProperties(),session:{...this.sessionProperties},user:{...this.userProperties},initial:{...this.initialProperties}}}}const Yc="undefined"!=typeof window;class qc{get isTrackerStarted(){return this.isStarted}setupDomReadyHandler(){if(Yc)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,Mc("🎯 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(Mc("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:xc("Unknown request type:",e.type)}}registerDomReadyHandler(e){this.isDomReady?e():this.domReadyHandlers.push(e)}static init(e,t){if(Yc&&!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(Yc&&window.__humanBehaviorGlobalTracker)return Mc("Tracker already initialized, returning existing instance"),window.__humanBehaviorGlobalTracker;t?.logLevel&&this.configureLogging({level:t.logLevel});const s=new qc(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.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=18e5,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 Uc({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 Bc({redactionStrategy:s?.redactionStrategy,legacyRedactFields:s?.redactFields}),this.propertyManager=new Hc({enableAutomaticProperties:!1!==s?.enableAutomaticProperties,propertyDenylist:s?.propertyDenylist||[]}),Yc){const e="human_behavior_end_user_id",t=this.getCookie(e);this.endUserId=t||bc(),t?Mc(`Reusing existing endUserId: ${this.endUserId}`):(this.setCookie(e,this.endUserId,365),Mc(`Generated new endUserId: ${this.endUserId}`))}else this.endUserId=bc();if(Yc){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=bc(),this.windowId=bc();this.api.setTrackingContext(this.sessionId,this.endUserId),this.initializationPromise=this.init().catch(e=>{Tc("Initialization failed:",e)})}async init(){try{this.initialized=!0,Yc?(this.setupPageUnloadHandler(),this.setupNavigationTracking()):Oc("HumanBehaviorTracker initialized in server environment. Session tracking is disabled."),Oc(`HumanBehaviorTracker initialized with sessionId: ${this.sessionId}, endUserId: ${this.endUserId}`)}catch(e){Tc("Failed to initialize HumanBehaviorTracker:",e),this.initialized=!0}}async ensureInitialized(){this.initializationPromise&&await this.initializationPromise}setupNavigationTracking(){if(!Yc||this.navigationTrackingEnabled)return;this.navigationTrackingEnabled=!0,Mc("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),this.takeFullSnapshot()},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),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=()=>{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)}),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){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)}Mc(`Navigation tracked: ${e} from ${t} to ${s}`)}catch(e){Tc("Failed to track navigation event:",e)}else Mc(`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()}),Mc(`Pageview tracked: ${t.url}`)}catch(e){Tc("Failed to track pageview event:",e)}}}async customEvent(e,t){if(null==e||"string"!=typeof e||""===e.trim())return void xc("customEvent() called with empty or invalid name; skipping");this.endUserId||(xc(`endUserId not available, using anonymous ID for event: ${e}`),this.endUserId=bc()),Yc&&this.checkAndRefreshSession();const s=this.propertyManager.getEventProperties(t);if(this.shouldSkipDueToMinimumDuration())return Mc(`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),Mc(`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 Mc(`Custom event batch flushed: ${e.length} event(s)`)}catch(e){Tc("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){Tc("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:Yc?window.location.href:"",pathname:Yc?window.location.pathname:""}},timestamp:Date.now()})}catch(e){Tc("Failed to add custom event to event stream as fallback:",e)}}}setupAutomaticTracking(e){if(!Yc)return;const t={trackButtons:!1!==e?.trackButtons,trackLinks:!1,trackForms:!1!==e?.trackForms,includeText:!1!==e?.includeText,includeClasses:e?.includeClasses||!1};Mc("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(){Yc&&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(){Yc&&(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(){Yc&&(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(){Yc&&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(){Yc&&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(!Yc)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,Mc("Navigation tracking cleaned up"))}static logToStorage(e){Oc(e)}static configureLogging(e){Ic.setConfig({level:{none:0,error:1,warn:2,info:3,debug:4}[e.level||"error"],enableConsole:!1!==e.enableConsole,enableStorage:e.enableStorage||!1})}enableConsoleTracking(){Yc&&!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,Mc("Console tracking enabled"))}enableNetworkTracking(){Yc&&!this.networkTrackingEnabled&&"undefined"!=typeof fetch&&(this.originalFetch=window.fetch.bind(window),window.fetch=async(e,t)=>{const s=Date.now(),r=bc(),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()?(Mc("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 Mc("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 Mc("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,Mc("Network tracking enabled"))}async flushPendingCustomEvents(){if(0===this.pendingCustomEvents.length)return;const e=[...this.pendingCustomEvents];this.pendingCustomEvents=[],Mc(`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=[],Mc(`Flushing ${e.length} pending logs`);for(const{logData:t}of e)try{await this.api.sendLog(t)}catch(e){Tc("Failed to flush pending log:",e)}}async flushPendingNetworkErrors(){if(0===this.pendingNetworkErrors.length)return;const e=[...this.pendingNetworkErrors];this.pendingNetworkErrors=[],Mc(`Flushing ${e.length} pending network errors`);for(const{errorData:t}of e)try{await this.api.sendNetworkError(t)}catch(e){Tc("Failed to flush pending network error:",e)}}enablePageLoadTracking(){Yc&&"undefined"!=typeof window&&("complete"===document.readyState?this.trackPageLoad():window.addEventListener("load",()=>{this.trackPageLoad()}),Mc("Page load tracking enabled"))}trackPageLoad(){if(Yc&&"undefined"!=typeof performance)try{const e=performance.getEntriesByType("navigation")[0];if(!e)return;const t=e.loadEventEnd-e.fetchStart;if(t>3e3){const s=bc(),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 Mc("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){xc("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(){Yc&&this.consoleTrackingEnabled&&(this.originalConsole&&(console.log=this.originalConsole.log,console.warn=this.originalConsole.warn,console.error=this.originalConsole.error),this.consoleTrackingEnabled=!1,Mc("Console tracking disabled"))}trackConsoleEvent(e,t){if(this.initialized)if("log"!==e)try{if(Ec)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:Yc?window.location.href:"",userAgent:Yc?navigator.userAgent:"",stack:s,sessionId:this.sessionId,endUserId:this.endUserId,automaticProperties:this.propertyManager.getAutomaticProperties()};if(this.shouldSkipDueToMinimumDuration())return Mc(`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){Tc("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(!Yc)return;const e="__humanBehaviorUnloadAttached";if(window[e])return Mc("Page unload handlers already attached on window β€” skipping re-attach"),void(window.__humanBehaviorActiveTracker=this);window[e]=!0,window.__humanBehaviorActiveTracker=this,Mc("Setting up page unload handler"),window.addEventListener("visibilitychange",()=>{const e="hidden"===document.visibilityState?"hidden":"visible";this.emitVisibilityMarker(e),"hidden"===document.visibilityState?(Mc("Page hidden - sending pending events"),this.flushEvents()):"visible"===document.visibilityState&&(Mc("Page visible - taking full snapshot for multi-window replay"),this.takeFullSnapshot())}),this.setupWindowFocusTracking();const t="onpagehide"in window?"pagehide":"beforeunload";window.addEventListener(t,()=>{Mc("Page unloading - sending final events via sendBeacon");let e=!1;const t=()=>{if(!e){e=!0;try{this.api?.sendSessionEndBeacon(this.sessionId,this.endUserId)}catch{}}};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 s=this.minimumDurationMilliseconds,r=this.getSessionDuration();if(null!==r&&r>=0&&r<s)return Mc(`Session duration (${r}ms) below minimum (${s}ms), not sending on unload`),void t();const i=[...this.eventQueue];if(Yc&&window.__hb_pending_snapshots){const e=window.__hb_pending_snapshots;Array.isArray(e)&&e.length>0&&(Mc("Including pending FullSnapshot(s) in sendBeacon for short session"),i.unshift(...e),delete window.__hb_pending_snapshots)}if(i.length>0&&this.api)try{const e=this.propertyManager.getAutomaticProperties();this.api.sendBeaconEvents(i,this.sessionId,this.endUserId||void 0,this.windowId,e),this.eventQueue=[]}catch(e){xc("Failed to send events via sendBeacon on unload:",e)}this.api&&this.api.unload(),t()});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=Ic.getLogs();Oc("HumanBehavior Logs:",e),Ic.clearLogs()}catch(e){Tc("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{}Mc("Identifying user:",{userProperties:t,originalEndUserId:s,sessionId:this.sessionId}),!Yc||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),Yc)try{localStorage.setItem(r,t)}catch(e){Mc("Failed to set canonical endUserId in localStorage:",e)}Mc(`πŸ”— 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(!Yc)return;if(this.isStarted)return void Mc("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 Mc("🎯 Recording already started, skipping duplicate start");Mc("🎯 DOM ready, starting session recording"),this.rrwebRecord=mc;const e=mc({emit:e=>{this.addRecordingEvent(e),2===e.type&&Mc(`🎯 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(Mc(`🎯 DOM ready state: ${document.readyState}`),"complete"===document.readyState||"interactive"===document.readyState)Mc(`🎯 DOM ready (${document.readyState}), starting recording immediately`),e();else{Mc("🎯 DOM not ready, waiting for DOMContentLoaded event");const t=()=>("interactive"===document.readyState||"complete"===document.readyState)&&(Mc(`🎯 DOM ready (${document.readyState}), starting recording`),e(),!0);if(t())return;document.addEventListener("DOMContentLoaded",()=>{Mc("🎯 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(Yc){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(){Yc&&(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(Yc&&(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(),Mc("βœ… FullSnapshot taken (delayed for animations)")):xc("⚠️ takeFullSnapshot not available on record function")}catch(e){Tc("❌ Failed to take FullSnapshot:",e)}})})},1e3)}async stop(){await this.ensureInitialized(),Yc&&(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(Yc&&this.checkAndRefreshSession(),e&&"object"==typeof e){if(2===e.type){const t=!!e.data,s=!(!e.data||!e.data.node);Mc(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(),Mc("Queue is full, the oldest event is dropped.")),this.eventQueue.push(e),2===e.type?(Mc("FullSnapshot added, triggering immediate flush"),this.flushEvents()):this.eventQueue.length>=.8*this.MAX_QUEUE_SIZE&&(Mc(`Queue at ${this.eventQueue.length}/${this.MAX_QUEUE_SIZE}, triggering immediate flush`),this.flushEvents())}else Mc("⚠️ 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)&&(Mc(`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 Mc(`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&&Yc&&(window.__hb_pending_snapshots=s,setTimeout(()=>{delete window.__hb_pending_snapshots},5e3)),t.length>0){Mc("Flushing events:",t);const s=t.filter(e=>2===e.type);s.length>0&&Mc(`[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"))xc("Session expired, events will be lost");else if(e.message?.includes("413")||e.message?.includes("Content Too Large"))xc("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;xc("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?(Mc("βœ… User activity detected, exiting idle state"),this._isIdle=!1,this.rrwebRecord&&"function"==typeof this.rrwebRecord.takeFullSnapshot&&(this.rrwebRecord.takeFullSnapshot(),Mc("βœ… 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&&(Mc(`⏸️ Session idle detected (${Math.round(e/1e3)}s since last activity) - stopping background event recording`),Mc(`ℹ️ 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(Yc&&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);Mc(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(),Mc("Queue is full, the oldest event is dropped.")),this.eventQueue.push(e),2===e.type?(Mc("FullSnapshot added, triggering immediate flush"),this.flushEvents()):!0!==this._isIdle&&this.eventQueue.length>=.8*this.MAX_QUEUE_SIZE&&(Mc(`Queue at ${this.eventQueue.length}/${this.MAX_QUEUE_SIZE}, triggering immediate flush`),this.flushEvents())}}else Mc("⚠️ Skipping invalid recording event:",e)}_canUseSessionStorage(){if(!Yc)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),Mc(`Stored windowId in sessionStorage: ${e}`)}catch(e){xc("Failed to store windowId in sessionStorage:",e)}}_removeWindowIdFromStorage(){if(this._canUseSessionStorage())try{sessionStorage.removeItem(this._window_id_storage_key)}catch(e){xc("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){xc("Failed to set primary_window_exists flag:",e)}}getOrCreateWindowId(){if(!Yc)return bc();const e=this._getWindowIdFromStorage(),t=this._getPrimaryWindowExists();if(e&&!t)return Mc(`Reusing windowId from previous page load: ${e}`),this._setWindowIdInStorage(e),this._setPrimaryWindowExists(!0),e;{const e=bc();return Mc(`Creating new windowId: ${e} (new window/tab detected)`),this._setWindowIdInStorage(e),this._setPrimaryWindowExists(!0),e}}setupWindowUnloadListener(){Yc&&window.addEventListener("beforeunload",()=>{this._canUseSessionStorage()&&(this._setPrimaryWindowExists(!1),Mc("Cleared primary_window_exists flag on beforeunload"))},{capture:!1})}setCookie(e,t,s){if(Yc)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),Mc(`Set cookie and localStorage: ${e}`)}catch(s){try{localStorage.setItem(e,t),Mc(`Cookie blocked, using localStorage: ${e}`)}catch(e){Tc("Failed to store user ID in both cookie and localStorage:",e)}}}getCookie(e){if(!Yc)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 Mc(`Found cookie: ${e}`),s}}const r=localStorage.getItem(e);return r?(Mc(`Cookie not found, using localStorage: ${e}`),r):null}catch(t){try{const t=localStorage.getItem(e);if(t)return Mc(`Cookie access failed, using localStorage: ${e}`),t}catch(e){Tc("Failed to access both cookie and localStorage:",e)}return null}}deleteCookie(e){if(Yc){try{document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; SameSite=Lax`,Mc(`Deleted cookie: ${e}`)}catch(t){Tc(`Failed to delete cookie: ${e}`,t)}try{localStorage.removeItem(e),Mc(`Removed from localStorage: ${e}`)}catch(t){Tc(`Failed to remove from localStorage: ${e}`,t)}}}logout(){if(Yc)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=bc(),this.setCookie("human_behavior_end_user_id",this.endUserId,365),this.sessionId=this.createNewSession(t),this.windowId=bc(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),Oc("User logged out - cleared all user data and started fresh session")}catch(e){Tc("Error during logout:",e)}}async redact(e){await this.ensureInitialized(),Yc?this.redactionManager=new Bc(e):xc("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(!Yc)return;const e="human_behavior_session",t=Date.now(),s=this.getStoredSession(e);if(!s||!s.sessionId)return this.createNewSession(e),this.windowId=bc(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),void Mc(`Created new session (no stored session): ${this.sessionId}`);this.updateSessionActivity(e,t,s.sessionId,s.sessionStartTimestamp)}getOrCreateSessionId(){if(!Yc)return bc();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){Mc(`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};{Mc("Session in memory expired: creating new session immediately");const t=this.sessionId;if(this.createNewSession(e),this.windowId=bc(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),Oc(`πŸ”„ 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){Mc(`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=bc(),this._setWindowIdInStorage(this.windowId),this.api.setTrackingContext(this.sessionId,this.endUserId),this.takeFullSnapshot(),Oc(`πŸ”„ 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=bc(),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){xc(`Failed to save session to localStorage: ${e}`)}return Mc(`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){xc(`Failed to update session in localStorage: ${e}`)}}getSessionId(){return this.sessionId}getCurrentUrl(){return Yc&&"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(!Yc)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()}}Yc&&(window.HumanBehaviorTracker=qc);const Zc=(e,t,s)=>new qc(e,t,s);"undefined"!=typeof window&&(window.HumanBehaviorTracker=qc,window.humanbehavior={init:Zc});const Jc=()=>"undefined"!=typeof window,Xc=s.createContext(null),Qc=e=>({addEvent:t=>{e(t)},identifyUser:async({userProperties:t})=>(e({type:"identify",userProperties:t}),""),start:()=>{},stop:()=>{},logout:()=>{},viewLogs:()=>{xc("Logs are not available until HumanBehaviorTracker is initialized")},setUnredactedFields:()=>{},hasUnredactedFields:()=>!1,getUnredactedFields:()=>[],trackPageView:()=>{}}),eh=()=>{const e=s.useContext(Xc);if(!e)throw new Error("useHumanBehavior must be used within a HumanBehaviorProvider");return e};function th(){const e=s.useContext(Xc);return s.useEffect(()=>{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}exports.HumanBehaviorProvider=({apiKey:e,client:r,children:i,options:n})=>{const[o,a]=s.useState(r||null),[l,c]=s.useState([]),[h,u]=s.useState(!1),[d,p]=s.useState(!1),m=s.useRef(e),f=s.useRef(r),g=s.useRef(l);s.useEffect(()=>{m.current=e,f.current=r},[e,r]),s.useEffect(()=>{g.current=l},[l]);const y=s.useCallback(e=>{c(t=>[...t,e])},[]);s.useEffect(()=>{u(!0)},[]),s.useEffect(()=>{if(Jc()){if(f.current)return a(f.current),void p(!0);if(m.current&&""!==m.current.trim()){if(null===o)try{const e=qc.init(m.current.trim(),{ingestionUrl:n?.ingestionUrl,logLevel:n?.logLevel,redactFields:n?.redactFields,redactionStrategy:n?.redactionStrategy,enableAutomaticTracking:n?.enableAutomaticTracking,suppressConsoleErrors:n?.suppressConsoleErrors,recordCanvas:n?.recordCanvas,enableAutomaticProperties:n?.enableAutomaticProperties,propertyDenylist:n?.propertyDenylist,automaticTrackingOptions:n?.automaticTrackingOptions,maxQueueSize:n?.maxQueueSize,enableConsoleTracking:n?.enableConsoleTracking,enableNetworkTracking:n?.enableNetworkTracking});a(e),p(!0),e.initializationPromise?.then(async()=>{e.isTrackerStarted||await e.start();const t=g.current;if(t.length>0){for(const s of t)if("identify"===s.type){Mc("Processing queued identify event",s);try{await e.identifyUser({userProperties:s.userProperties})}catch(e){Tc("Failed to process queued user info:",e)}}else e.addEvent(s);c([])}}).catch(e=>{Tc("Failed to initialize HumanBehaviorTracker:",e)})}catch(e){Tc("Failed to create HumanBehaviorTracker:",e)}}else Tc("An apiKey is required when no client is provided")}},[h]);const w=s.useMemo(()=>h&&d?o:Qc(y),[h,d,o,y]);return Jc()?t.jsxs(Xc.Provider,{value:w,children:[t.jsx(th,{}),i]}):t.jsx(t.Fragment,{children:i})},exports.HumanBehaviorTracker=qc,exports.useHumanBehavior=eh,exports.useRedaction=()=>{const e=eh();return{setUnredactedFields:s.useCallback(t=>{e.setUnredactedFields(t)},[e]),hasUnredactedFields:s.useCallback(()=>e.hasUnredactedFields(),[e]),getUnredactedFields:s.useCallback(()=>e.getUnredactedFields(),[e])}},exports.useUserTracking=()=>{const e=eh();return{identifyUser:s.useCallback(async({userProperties:t})=>{try{return await e.identifyUser({userProperties:t}),{success:!0}}catch(e){return Tc("Failed to identify user:",e),{success:!1,error:e}}},[e])}};
2
2
  //# sourceMappingURL=index.js.map