@zumer/snapdom 2.24.18 → 3.0.0-beta.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.
- package/README.md +219 -257
- package/dist/snapdom.js +35 -10
- package/dist/snapdom.mjs +35 -10
- package/package.json +20 -14
- package/types/snapdom.d.ts +339 -165
- package/dist/plugins.mjs +0 -7
- package/dist/preCache.mjs +0 -10
package/dist/snapdom.js
CHANGED
|
@@ -1,14 +1,39 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* SnapDOM
|
|
3
|
-
*
|
|
4
|
-
* Author: Juan Martin Muda
|
|
3
|
+
* v3.0.0-beta.1
|
|
5
4
|
* License: MIT
|
|
6
5
|
*/
|
|
7
|
-
"use strict";(()=>{var ri=Object.defineProperty;var ot=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(o){throw n=[o],o}};var Kt=(t,e)=>{for(var n in e)ri(t,n,{get:e[n],enumerable:!0})};function zn(t){if(t===!0)return"soft";if(t===!1)return"disabled";if(typeof t=="string"){let e=t.toLowerCase().trim();if(e==="auto")return"auto";if(e==="full")return"full";if(e==="soft"||e==="disabled")return e}return"soft"}function Se(t="soft"){switch(t){case"auto":{C.session.styleMap=new Map,C.session.nodeMap=new Map;return}case"soft":{C.session.styleMap=new Map,C.session.nodeMap=new Map,C.session.styleCache=new WeakMap;return}case"full":return;case"disabled":{C.session.styleMap=new Map,C.session.nodeMap=new Map,C.session.styleCache=new WeakMap,C.computedStyle=new WeakMap,C.measureHints=new WeakMap,C.baseStyle=new Y(50),C.defaultStyle=new Y(30),C.image=new Y(100),C.background=new Y(100),C.resource=new Y(150),C.compress=new Y(50),C.font=new Set;return}default:{C.session.styleMap=new Map,C.session.nodeMap=new Map,C.session.styleCache=new WeakMap;return}}}var Y,C,nt=ot(()=>{"use strict";Y=class extends Map{constructor(e=100,...n){super(...n),this._maxSize=e}set(e,n){if(this.size>=this._maxSize&&!this.has(e)){let o=this.keys().next().value;o!==void 0&&this.delete(o)}return super.set(e,n)}},C={image:new Y(100),background:new Y(100),resource:new Y(150),defaultStyle:new Y(30),baseStyle:new Y(50),compress:new Y(50),computedStyle:new WeakMap,measureHints:new WeakMap,burstAdvice:new WeakMap,warnedReconcile:!1,font:new Set,session:{styleMap:new Map,styleCache:new WeakMap,nodeMap:new Map}}});function Et(t){let e=t.match(/url\((['"]?)(.*?)(\1)\)/);if(!e)return null;let n=e[2].trim();return n.startsWith("#")?null:n}function Qt(t,e=1){let n=t.match(/^\s*-?(?:webkit-)?image-set\(([\s\S]*)\)\s*$/i);if(!n)return null;let o=[];for(let s of n[1].split(",")){let i=s.match(/url\((['"]?)(.*?)(\1)\)/);if(!i)continue;let a=s.match(/type\(\s*["']([^"']+)["']\s*\)/i);if(a&&!ii.test(a[1].trim()))continue;let c=s.match(/(\d+(?:\.\d+)?)\s*(x|dpi|dppx)/i),f=1;if(c){let l=parseFloat(c[1]);f=/dpi/i.test(c[2])?l/96:l}o.push({url:i[2].trim(),dppx:f})}return o.length?(o.sort((s,i)=>s.dppx-i.dppx),(o.find(s=>s.dppx>=e)||o[o.length-1]).url):null}function Ye(t){if(!t||t==="none")return"";let e=t.replace(/translate[XY]?\([^)]*\)/g,"");return e=e.replace(/matrix\(([^)]+)\)/g,(n,o)=>{let r=o.split(",").map(s=>s.trim());return r.length!==6?`matrix(${o})`:(r[4]="0",r[5]="0",`matrix(${r.join(", ")})`)}),e=e.replace(/matrix3d\(([^)]+)\)/g,(n,o)=>{let r=o.split(",").map(s=>s.trim());return r.length!==16?`matrix3d(${o})`:(r[12]="0",r[13]="0",`matrix3d(${r.join(", ")})`)}),e.trim().replace(/\s{2,}/g," ")}function Ct(t){if(/%[0-9A-Fa-f]{2}/.test(t))return t;try{return encodeURI(t)}catch{return t}}function Ke(t,e){if(!t||/^(data|blob|about|#)/i.test(t.trim()))return t;try{let n=e||typeof document<"u"&&(document.baseURI||document.location?.href)||"http://localhost/";return new URL(t,n).href}catch{return t}}var ii,Zt=ot(()=>{"use strict";ii=/^image\/(jpeg|jpg|png|gif|webp|avif|apng|svg\+xml|bmp|x-icon|vnd\.microsoft\.icon)\s*(;|$)/i});function si(t="[snapDOM]",{ttlMs:e=5*6e4,maxEntries:n=12}={}){let o=new Map,r=0;function s(i,a,c){if(r>=n)return;let f=Date.now();(o.get(a)||0)>f||(o.set(a,f+e),r++,i==="warn"&&console&&console.warn?console.warn(`${t} ${c}`):console&&console.error&&console.error(`${t} ${c}`))}return{warnOnce(i,a){s("warn",i,a)},errorOnce(i,a){s("error",i,a)},reset(){o.clear(),r=0}}}function ai(t){return/^data:|^blob:|^about:blank$/i.test(t)}function ci(t,e){try{let n=typeof location<"u"&&location.href?location.href:"http://localhost/",o=e.includes("{url}")?e.split("{url}")[0]:e,r=new URL(o||".",n),s=new URL(t,n);if(s.origin===r.origin)return!0;let i=s.searchParams;if(i&&(i.has("url")||i.has("target")))return!0}catch{}return!1}function li(t,e){if(!e||ai(t)||ci(t,e))return!1;try{let n=typeof location<"u"&&location.href?location.href:"http://localhost/",o=new URL(t,n);return typeof location<"u"?o.origin!==location.origin:!0}catch{return!!e}}function fi(t,e){if(!e)return t;if(e.includes("{url}"))return e.replace("{urlRaw}",Ct(t)).replace("{url}",encodeURIComponent(t));if(/[?&]url=?$/.test(e))return`${e}${encodeURIComponent(t)}`;if(e.endsWith("?"))return`${e}url=${encodeURIComponent(t)}`;if(e.endsWith("/"))return`${e}${Ct(t)}`;let n=e.includes("?")?"&":"?";return`${e}${n}url=${encodeURIComponent(t)}`}function jn(t){return new Promise((e,n)=>{let o=new FileReader;o.onload=()=>e(String(o.result||"")),o.onerror=()=>n(new Error("read_failed")),o.readAsDataURL(t)})}function ui(t,e){return[e.as||"blob",e.timeout??3e3,e.useProxy||"",e.errorTTL??8e3,t].join("|")}async function X(t,e={}){let n=e.as??"blob",o=e.timeout??3e3,r=e.useProxy||"",s=e.errorTTL??8e3,i=e.headers||{},a=!!e.silent;if(/^data:/i.test(t))try{if(n==="text")return{ok:!0,data:String(t),status:200,url:t,fromCache:!1};if(n==="dataURL")return{ok:!0,data:String(t),status:200,url:t,fromCache:!1,mime:String(t).slice(5).split(";")[0]||""};let[,y="",b=""]=String(t).match(/^data:([^,]*),(.*)$/)||[],S=/;base64/i.test(y)?atob(b):decodeURIComponent(b),g=new Uint8Array([...S].map(v=>v.charCodeAt(0))),x=new Blob([g],{type:(y||"").split(";")[0]||""});return{ok:!0,data:x,status:200,url:t,fromCache:!1,mime:x.type||""}}catch{return{ok:!1,data:null,status:0,url:t,fromCache:!1,reason:"special_url_error"}}if(/^blob:/i.test(t))try{let y=await fetch(t);if(!y.ok)return{ok:!1,data:null,status:y.status,url:t,fromCache:!1,reason:"http_error"};let b=await y.blob(),w=b.type||y.headers.get("content-type")||"";return n==="dataURL"?{ok:!0,data:await jn(b),status:y.status,url:t,fromCache:!1,mime:w}:n==="text"?{ok:!0,data:await b.text(),status:y.status,url:t,fromCache:!1,mime:w}:{ok:!0,data:b,status:y.status,url:t,fromCache:!1,mime:w}}catch{return{ok:!1,data:null,status:0,url:t,fromCache:!1,reason:"network"}}if(/^about:blank$/i.test(t))return n==="dataURL"?{ok:!0,data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==",status:200,url:t,fromCache:!1,mime:"image/png"}:{ok:!0,data:n==="text"?"":new Blob([]),status:200,url:t,fromCache:!1};let c=ui(t,{as:n,timeout:o,useProxy:r,errorTTL:s}),f=ve.get(c);if(f&&f.until>Date.now())return{...f.result,fromCache:!0};f&&ve.delete(c);let l=Qe.get(c);if(l)return l;let d=li(t,r)?fi(t,r):t,u=e.credentials;if(!u)try{let y=typeof location<"u"&&location.href?location.href:"http://localhost/",b=new URL(t,y);u=typeof location<"u"&&b.origin===location.origin?"include":"omit"}catch{u="omit"}let p=new AbortController,m=setTimeout(()=>p.abort("timeout"),o),h=(async()=>{try{let y=await fetch(d,{signal:p.signal,credentials:u,headers:i});if(!y.ok){let S={ok:!1,data:null,status:y.status,url:d,fromCache:!1,reason:"http_error"};if(s>0&&ve.set(c,{until:Date.now()+s,result:S}),!a){let g=`${y.status} ${y.statusText||""}`.trim();Vn.warnOnce(`http:${y.status}:${n}:${new URL(t,location?.href??"http://localhost/").origin}`,`HTTP error ${g} while fetching ${n} ${t}`)}return e.onError&&e.onError(S),S}if(n==="text")return{ok:!0,data:await y.text(),status:y.status,url:d,fromCache:!1};let b=await y.blob(),w=b.type||y.headers.get("content-type")||"";return n==="dataURL"?{ok:!0,data:await jn(b),status:y.status,url:d,fromCache:!1,mime:w}:{ok:!0,data:b,status:y.status,url:d,fromCache:!1,mime:w}}catch(y){let b=y&&typeof y=="object"&&"name"in y&&y.name==="AbortError"?String(y.message||"").includes("timeout")?"timeout":"abort":"network",w={ok:!1,data:null,status:0,url:d,fromCache:!1,reason:b};if(!/^blob:/i.test(t)&&s>0&&ve.set(c,{until:Date.now()+s,result:w}),!a){let S=`${b}:${n}:${new URL(t,location?.href??"http://localhost/").origin}`,g=b==="timeout"?`Timeout after ${o}ms. Consider increasing timeout or using a proxy for ${t}`:b==="abort"?`Request aborted while fetching ${n} ${t}`:`Network/CORS issue while fetching ${n} ${t}. A proxy may be required`;Vn.errorOnce(S,g)}return e.onError&&e.onError(w),w}finally{clearTimeout(m),Qe.delete(c)}})();return Qe.set(c,h),h}var Vn,Qe,ve,At=ot(()=>{"use strict";Zt();Vn=si("[snapDOM]",{ttlMs:3*6e4,maxEntries:10}),Qe=new Map,ve=new Map});async function Pt(t,e={}){if(/^((repeating-)?(linear|radial|conic)-gradient)\(/i.test(t)||t.trim()==="none")return t;let o=Qt(t,typeof devicePixelRatio<"u"&&devicePixelRatio||1)??Et(t);if(!o)return t;let r=Ke(o),s=Ct(r),i=(e.useProxy||"")+"|"+s;if(C.background.has(i)){let a=C.background.get(i);return a?`url("${a}")`:"none"}try{let a=await X(s,{as:"dataURL",useProxy:e.useProxy});return a.ok?(C.background.set(i,a.data),`url("${a.data}")`):(C.background.set(i,null),"none")}catch{return C.background.set(i,null),"none"}}var qn=ot(()=>{"use strict";nt();Zt();At()});function Ze(){for(let t of di){let e=String(t).toLowerCase();Ce.has(e)||Ae.has(e)||ke(e)}}function ke(t){if(t=String(t).toLowerCase(),Ae.has(t)){let s={};return C.defaultStyle.set(t,s),s}if(C.defaultStyle.has(t))return C.defaultStyle.get(t);let e=document.getElementById("snapdom-sandbox");e||(e=document.createElement("div"),e.id="snapdom-sandbox",e.setAttribute("data-snapdom-sandbox","true"),e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.left="-9999px",e.style.top="-9999px",e.style.width="0px",e.style.height="0px",e.style.overflow="hidden",document.body.appendChild(e));let n=document.createElement(t);n.style.all="initial",e.appendChild(n);let o=getComputedStyle(n),r={};for(let s of o){if(Jt(s))continue;let i=o.getPropertyValue(s);r[s]=i}return e.removeChild(n),C.defaultStyle.set(t,r),r}function Jt(t){let e=Xn.get(t);if(e===void 0){let n=String(t).toLowerCase();e=mi.has(n)||hi.test(n)||pi.test(n),Xn.set(t,e)}return e}function Me(t,e){return!yi.has(t)&&(e==="inline"||gi.has(t)||Gn.has(t))}function Je(t,e,n){let o=(e.display||"").toLowerCase();if(o==="inline"||Gn.has(t))return!1;if(n)return!0;if((e.float||"none").toLowerCase()!=="none")return!1;let s=(e.position||"static").toLowerCase();return s==="absolute"||s==="fixed"?!1:!Si.has(o)}function Ot(t,e,n=!0,o=!1){if(e=String(e||"").toLowerCase(),Ae.has(e))return"";let r=[],s=ke(e),i=(t.display||"").toLowerCase(),a=i==="inline",c=Me(e,i),f=t["text-wrap-mode"]||t["white-space"]||"",l=f==="nowrap"||f==="pre",u=c&&n&&!(c&&n&&!a&&l),p=!1;for(let m in t){if(Jt(m))continue;let h=t[m];if(u){if(bi.has(m))continue;if(wi.has(m)){h&&h!==s[m]&&(r.push(`${m}:${h}`),h!=="auto"&&(p=!0));continue}}if(h&&h!==s[m]){if(!l&&(m==="width"||m==="inline-size")&&h.endsWith("px")&&h.includes(".")){let y=parseFloat(h);if(Number.isFinite(y)){r.push(`${m}:${(y+xi).toFixed(3)}px`);continue}}r.push(`${m}:${h}`)}}if(u&&!a&&!o&&!p){let m=t.width;m&&m!=="auto"&&m!==s.width&&r.push(`min-width:${m}`)}return r.sort(),r.join(";")}function tn(t){let e=new Set;return t.nodeType!==Node.ELEMENT_NODE&&t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE?[]:(t.tagName&&e.add(t.tagName.toLowerCase()),typeof t.querySelectorAll=="function"&&t.querySelectorAll("*").forEach(n=>e.add(n.tagName.toLowerCase())),Array.from(e))}function en(t){let e=new Map;for(let o of t){let r=ke(o);if(!r)continue;let s=Object.entries(r).map(([i,a])=>`${i}:${a};`).sort().join("");s&&(e.has(s)||e.set(s,[]),e.get(s).push(o))}let n="";for(let[o,r]of e.entries())n+=`${r.join(",")} { ${o} }
|
|
8
|
-
`;return n}function nn(t){let e=Array.from(new Set(t.values())).filter(Boolean).sort(),n=new Map,o=1;for(let r of e)n.set(r,`c${o++}`);return n}function vi(t){try{let e=t?.ownerDocument;if(!e)return typeof window<"u"?window:null;let n=e.defaultView;if(n&&typeof n.getComputedStyle=="function")return n;if(typeof window<"u"&&window.frames)for(let o=0;o<window.frames.length;o++)try{if(window.frames[o]?.document===e)return window.frames[o]}catch{}}catch{}return typeof window<"u"?window:null}function T(t,e=null){let n=()=>{let s={length:0,getPropertyValue:()=>"",item:()=>""};return s[Symbol.iterator]=function*(){},s};if(t?.nodeType!==1){let s=typeof window<"u"?window:null;if(s&&typeof s.getComputedStyle=="function")try{return s.getComputedStyle(t,e)||n()}catch{return n()}return n()}let o=C.computedStyle.get(t);o||(o=new Map,C.computedStyle.set(t,o));let r=o.get(e);if(!r){let s=vi(t),i=null;try{i=s&&typeof s.getComputedStyle=="function"?s.getComputedStyle(t,e):null}catch{}if(!i&&typeof window<"u"&&typeof window.getComputedStyle=="function")try{t.ownerDocument===document&&(i=window.getComputedStyle(t,e))}catch{}r=i||n(),o.set(e,r)}return r}function Fe(t){let e={};for(let n of t)e[n]=t.getPropertyValue(n);for(let n of Ci){let o=e[`border-${n}-style`],r=e[`border-${n}-width`];(o==="none"||o==="hidden"||r==="0px")&&(delete e[`border-${n}-style`],delete e[`border-${n}-width`],delete e[`border-${n}-color`])}return e}function Bt(t){let e=[],n=0,o=0;for(let r=0;r<t.length;r++){let s=t[r];s==="("&&n++,s===")"&&n--,s===","&&n===0&&(e.push(t.slice(o,r).trim()),o=r+1)}return e.push(t.slice(o).trim()),e}var Ce,Ae,di,pi,hi,mi,Xn,gi,Gn,yi,bi,wi,xi,Si,Ci,te=ot(()=>{"use strict";nt();Ce=new Set(["meta","script","noscript","title","link","template"]),Ae=new Set(["meta","link","style","title","noscript","script","template","g","defs","use","marker","mask","clipPath","pattern","symbol","path","polygon","polyline","line","circle","ellipse","rect","filter","lineargradient","radialgradient","stop"]),di=["div","span","p","a","img","ul","li","button","input","select","textarea","label","section","article","header","footer","nav","main","aside","h1","h2","h3","h4","h5","h6","table","thead","tbody","tr","td","th"];pi=/(?:^|-)(animation|transition)(?:-|$)/i,hi=/^(--.+|view-timeline|scroll-timeline|animation-trigger|offset-|position-try|app-region|interactivity|overlay|view-transition|-webkit-locale|-webkit-user-(?:drag|modify)|-webkit-tap-highlight-color|-webkit-text-security)$/i,mi=new Set(["cursor","pointer-events","touch-action","user-select","print-color-adjust","speak","reading-flow","reading-order","anchor-name","anchor-scope","container-name","container-type","timeline-scope","zoom","stroke-color"]),Xn=new Map;gi=new Set(["span","small","em","strong","b","i","u","s","code","cite","mark","sub","sup"]),Gn=new Set(["table","thead","tbody","tfoot","tr","td","th"]),yi=new Set(["img","video","canvas","svg","iframe","embed","object","input","textarea","select"]),bi=new Set(["width","max-width","inline-size","max-inline-size"]),wi=new Set(["min-width","min-inline-size"]),xi=.001;Si=new Set(["inline-block","inline-flex","inline-grid","inline-table","inline-flow-root","table"]);Ci=["top","right","bottom","left"]});function Nt(t,{fast:e=!1}={}){if(e)return t();"requestIdleCallback"in window?requestIdleCallback(t,{timeout:50}):setTimeout(t,1)}function mt(t=1e3){return typeof requestAnimationFrame!="function"||typeof document<"u"&&document.visibilityState==="hidden"?Promise.resolve():new Promise(e=>{let n=!1,o=()=>{n||(n=!0,e())};try{requestAnimationFrame(o)}catch{o();return}setTimeout(o,t)})}function on(){if(typeof navigator>"u")return!1;if(navigator.userAgentData)return navigator.userAgentData.platform==="iOS";let t=navigator.userAgent||"",e=/iPhone|iPad|iPod/.test(t),n=navigator.maxTouchPoints>2&&/Macintosh/.test(t);return e||n}function K(){if(typeof navigator>"u")return!1;let t=navigator.userAgent||"",e=t.toLowerCase(),n=e.includes("safari")&&!e.includes("chrome")&&!e.includes("crios")&&!e.includes("fxios")&&!e.includes("android"),o=/applewebkit/i.test(t),r=/mobile/i.test(t),s=!/safari/i.test(t),i=o&&r&&s,a=/(micromessenger|wxwork|wecom|windowswechat|macwechat)/i.test(t),c=/(baiduboxapp|baidubrowser|baidusearch|baiduboxlite)/i.test(e),f=/ipad|iphone|ipod/.test(e)&&o;return n||i||a||c||f}function Yn(){if(typeof navigator>"u")return!1;let t=(navigator.userAgent||"").toLowerCase();return t.includes("firefox")||t.includes("fxios")}var kt=ot(()=>{"use strict"});function W(t,e,n){let o=t&&typeof t=="object"&&(t.options||t);o&&o.debug&&(n!==void 0?console.warn("[snapdom]",e,n):console.warn("[snapdom]",e))}var rn=ot(()=>{"use strict"});var ct=ot(()=>{"use strict";qn();te();kt();Zt();rn()});var Vr={};Kt(Vr,{decodeSvgFromDataURL:()=>je,encodeSvgToDataURL:()=>qe,fixSafariShadows:()=>Xe,toCanvas:()=>Lt});function Ta(t){try{let e=t.match(/<svg\b[^>]*>/i);if(!e)return t;let n=e[0],o=parseFloat((n.match(/\bwidth="([\d.]+)/i)||[])[1]),r=parseFloat((n.match(/\bheight="([\d.]+)/i)||[])[1]);if(!Number.isFinite(o)||!Number.isFinite(r)||o<=0||r<=0)return t;let s=Math.min(1,Mt/o,Mt/r,Math.sqrt($n/(o*r)));if(s>=1)return t;let i=Math.max(1,Math.floor(o*s)),a=Math.max(1,Math.floor(r*s));return console.warn(`[snapDOM] Capture ${Math.round(o)}\xD7${Math.round(r)}px exceeds the browser image-decode limit (${Mt}px/side); downscaling to ${i}\xD7${a}px. Lower \`scale\` or set \`width\`/\`height\` to control output size.`),t.replace(n,n.replace(/(\bwidth=")[\d.]+/i,`$1${i}`).replace(/(\bheight=")[\d.]+/i,`$1${a}`))}catch{return t}}function La(t,e){let n=["x","y","width","height"].map(v=>Number(e?.[v]));if(!n.every(Number.isFinite)||n[2]<=0||n[3]<=0)throw new RangeError("[snapdom] canvas crop requires finite x/y and positive width/height");let o=t.match(/<svg\b[^>]*>/i);if(!o)throw new Error("[snapdom] cannot crop a non-SVG capture");let r=o[0],s=(r.match(/\bviewBox="([^"]+)"/i)||[])[1],i=String(s||"").trim().split(/[\s,]+/).map(Number);if(i.length!==4||!i.every(Number.isFinite)||i[2]<=0||i[3]<=0)throw new Error("[snapdom] cannot crop an SVG without a finite viewBox");let[a,c,f,l]=i,d=Math.max(a,n[0]),u=Math.max(c,n[1]),p=Math.min(a+f,n[0]+n[2]),m=Math.min(c+l,n[1]+n[3]);if(!(p>d)||!(m>u))throw new RangeError("[snapdom] canvas crop does not intersect the SVG viewBox");let h=parseFloat((r.match(/\bwidth="([\d.]+)/i)||[])[1]),y=parseFloat((r.match(/\bheight="([\d.]+)/i)||[])[1]),b=Number.isFinite(h)&&h>0?h/f:1,w=Number.isFinite(y)&&y>0?y/l:1,S=Math.max(1,(p-d)*b),g=Math.max(1,(m-u)*w),x=r.replace(/(\bwidth=")[^"]*/i,`$1${S}`).replace(/(\bheight=")[^"]*/i,`$1${g}`).replace(/(\bviewBox=")[^"]*/i,`$1${d} ${u} ${p-d} ${m-u}`);return t.replace(r,x)}function Dr(t){return typeof t=="string"&&/^data:image\/svg\+xml/i.test(t)}function je(t){let e=t.indexOf(",");return e>=0?decodeURIComponent(t.slice(e+1)):""}function Ia(t){let e=t.indexOf(",");if(e<0)return"";let n=t.slice(e+1,e+1201).replace(/%[0-9A-Fa-f]?$/,"");try{return decodeURIComponent(n)}catch{return""}}function qe(t){return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`}function Hr(t){let e=[],n="",o=0;for(let r=0;r<t.length;r++){let s=t[r];s==="("&&o++,s===")"&&(o=Math.max(0,o-1)),s===";"&&o===0?(e.push(n),n=""):n+=s}return n.trim()&&e.push(n),e.map(r=>r.trim()).filter(Boolean)}function _a(t){let e=[],n="",o=0;for(let s=0;s<t.length;s++){let i=t[s];i==="("&&o++,i===")"&&(o=Math.max(0,o-1)),i===","&&o===0?(e.push(n.trim()),n=""):n+=i}n.trim()&&e.push(n.trim());let r=[];for(let s of e){if(/\binset\b/i.test(s))continue;let i=s.match(/-?\d+(?:\.\d+)?px/gi)||[],[a="0px",c="0px",f="0px"]=i;f=`${parseFloat(f)/2}px`;let l=s.replace(/-?\d+(?:\.\d+)?px/gi,"").replace(/\binset\b/ig,"").trim().replace(/\s{2,}/g," "),d=!!l&&l!==",";r.push(`drop-shadow(${a} ${c} ${f}${d?` ${l}`:""})`)}return r.join(" ")}function zr(t){let e=Hr(t),n=null,o=null,r=null,s=[];for(let a of e){let c=a.indexOf(":");if(c<0)continue;let f=a.slice(0,c).trim().toLowerCase(),l=a.slice(c+1).trim();f==="box-shadow"?r=l:f==="filter"?n=l:f==="-webkit-filter"?o=l:s.push([f,l])}if(r){let a=_a(r);a&&(n=n?`${n} ${a}`:a,o=o?`${o} ${a}`:a)}let i=[...s];return n&&i.push(["filter",n]),o&&i.push(["-webkit-filter",o]),i.map(([a,c])=>`${a}:${c}`).join(";")}function Wa(t){return t.replace(/([^{}]+)\{([^}]*)\}/g,(e,n,o)=>`${n}{${zr(o)}}`)}function Oa(t){return t=t.replace(/<style[^>]*>([\s\S]*?)<\/style>/gi,(e,n)=>e.replace(n,Wa(n))),t=t.replace(/style=(['"])([\s\S]*?)\1/gi,(e,n,o)=>`style=${n}${zr(o)}${n}`),t}function Ba(){return Ve||(Ve=(async()=>{try{let t='<svg xmlns="http://www.w3.org/2000/svg" width="8" height="20"><foreignObject width="8" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="width:4px;height:4px;margin-top:8px;background:#000;box-shadow:0 8px 0 0 #000"></div></foreignObject></svg>',e=new Image;e.decoding="sync",e.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`,await e.decode();let n=document.createElement("canvas");n.width=8,n.height=20;let o=n.getContext("2d",{willReadFrequently:!0});o.drawImage(e,0,0);let r=o.getImageData(2,18,1,1).data[3]>128,s=o.getImageData(2,2,1,1).data[3]>128;return{native:r||s,flippedY:s&&!r}}catch{return{native:!1,flippedY:!1}}})(),Ve)}function Ua(t){let e=[],n=0,o=0;for(let r=0;r<t.length;r++){let s=t[r];s==="("?n++:s===")"?n=Math.max(0,n-1):s===","&&n===0&&(e.push(t.slice(o,r)),o=r+1)}return e.push(t.slice(o)),e.map(r=>{let s=0,i=0,a="",c=0;for(;c<r.length;){let f=r[c];if(f==="("?s++:f===")"&&(s=Math.max(0,s-1)),s===0&&(c===0||r[c-1]===" ")){let l=/^-?\d*\.?\d+px/.exec(r.slice(c));if(l){i++,a+=i===2?`${-parseFloat(l[0])}px`:l[0],c+=l[0].length;continue}}a+=f,c++}return a}).join(",")}function Da(t,e){let n=o=>Hr(o).map(r=>{let s=r.indexOf(":");if(s<0)return r;let i=r.slice(0,s).trim().toLowerCase();return i==="text-shadow"||e&&i==="box-shadow"?`${i}:${Ua(r.slice(s+1))}`:r}).join(";");return t=t.replace(/<style[^>]*>([\s\S]*?)<\/style>/gi,(o,r)=>o.replace(r,r.replace(/([^{}]+)\{([^}]*)\}/g,(s,i,a)=>`${i}{${n(a)}}`))),t=t.replace(/style=(['"])([\s\S]*?)\1/gi,(o,r,s)=>`style=${r}${n(s)}${r}`),t}async function Xe(t){if(!/(?:box-shadow|text-shadow)\s*:[^;"}]*px/i.test(t))return{svg:t,naturalOnly:!1};let{native:n,flippedY:o}=await Ba();try{let r=t;return n||(r=Oa(r)),o&&(r=Da(r,n)),{svg:r,naturalOnly:!0}}catch{return{svg:t,naturalOnly:!0}}}async function Ha(t,e){t.setAttribute("data-snapdom-internal",""),t.style.cssText="position:fixed;left:-99999px;top:-99999px;pointer-events:none",document.body.appendChild(t);try{let n=document.createElement("canvas");n.width=16,n.height=16;let o=()=>new Promise(i=>{requestAnimationFrame(i),setTimeout(i,50)}),r=n.getContext("2d",{willReadFrequently:!0});if(!r){await o(),await o();return}let s=performance.now()+(e?600:150);for(;;){r.clearRect(0,0,16,16);try{r.drawImage(t,0,0,16,16)}catch{return}let i=r.getImageData(0,0,16,16).data,a=!1;for(let c=3;c<i.length;c+=4)if(i[c]>0){a=!0;break}if(a||performance.now()>s)return;await o()}}finally{try{t.remove()}catch{}}}async function Lt(t,e){let{width:n,height:o,scale:r=1,dpr:s=1,meta:i={},backgroundColor:a,crop:c=null}=e,f=t,l=!1,d=!1;if(c&&!Dr(t))throw new RangeError("[snapdom] canvas crop requires an SVG capture payload");if(Dr(t)){let F=(Ia(t).match(/<svg\b[^>]*>/i)||[])[0]||"",R=parseFloat((F.match(/\bwidth="([\d.]+)/i)||[])[1]),E=parseFloat((F.match(/\bheight="([\d.]+)/i)||[])[1]),O=Number.isFinite(R)&&Number.isFinite(E)&&R>0&&E>0&&Math.min(1,Mt/R,Mt/E,Math.sqrt($n/(R*E)))<1;if(c||O||K())try{let P=je(t);if(c&&(P=La(P,c)),K()){let L=await Xe(P);P=L.svg,l=L.naturalOnly,d=/@font-face|data:image\//i.test(P)}(O||c)&&(P=Ta(P)),f=qe(P)}catch(P){if(c)throw P;f=t}}let u=new Image;u.loading="eager",u.decoding="sync",u.crossOrigin="anonymous",u.src=f,await u.decode(),K()&&await Ha(u,d);let p=u.naturalWidth,m=u.naturalHeight,h=c?p:Number.isFinite(i.vbW)?i.vbW:Number.isFinite(i.w0)?i.w0:p,y=c?m:Number.isFinite(i.vbH)?i.vbH:Number.isFinite(i.h0)?i.h0:m,b,w,S=Number.isFinite(n),g=Number.isFinite(o);if(S&&g)b=Math.max(1,n),w=Math.max(1,o);else if(S){let F=n/Math.max(1,h);b=n,w=y*F}else if(g){let F=o/Math.max(1,y);w=o,b=h*F}else b=p,w=m;b=b*r,w=w*r;let x=b*s,v=w*s,k=Math.max(x/Mt,v/Mt,Math.sqrt(x*v/$n));k>1&&(console.warn(`[snapDOM] Output ${Math.round(x)}\xD7${Math.round(v)}px exceeds the browser canvas limit (${Mt}px/side); downscaling. Lower \`scale\`/\`dpr\` or set \`width\`/\`height\`.`),b/=k,w/=k);let A=document.createElement("canvas");A.width=b*s,A.height=w*s,A.style.width=`${b}px`,A.style.height=`${w}px`;let M=A.getContext("2d");if(s!==1&&M.scale(s,s),a&&(M.save(),M.fillStyle=a,M.fillRect(0,0,b,w),M.restore()),l&&(Math.round(b*s)!==p||Math.round(w*s)!==m)){let F=document.createElement("canvas");F.width=p,F.height=m,F.getContext("2d").drawImage(u,0,0),M.drawImage(F,0,0,b,w)}else M.drawImage(u,0,0,b,w);return A}var Mt,$n,Ve,Gt=ot(()=>{"use strict";kt();Mt=16384,$n=16384*16384;Ve=null});var Ge={};Kt(Ge,{rasterize:()=>En});async function En(t,e){let n=await Lt(t,e),o=await new Promise(s=>{let i=()=>s(n.toDataURL(`image/${e.format}`,e.quality));try{n.toBlob(a=>{if(!a)return i();let c=new FileReader;c.onload=()=>s(String(c.result||"")),c.onerror=i,c.readAsDataURL(a)},`image/${e.format}`,e.quality)}catch{i()}}),r=new Image;return r.src=o,await r.decode(),r.style.width=`${n.width/e.dpr}px`,r.style.height=`${n.height/e.dpr}px`,r}var de=ot(()=>{"use strict";Gt()});var Pn={};Kt(Pn,{toImg:()=>za,toSvg:()=>za});async function za(t,e){let{scale:n=1,width:o,height:r,meta:s={}}=e,i=Number.isFinite(o),a=Number.isFinite(r),c=Number.isFinite(n)&&n!==1||i||a;if(K()&&c)try{let{svg:l}=await Xe(je(t)),d=(l.match(/<svg\b[^>]*>/i)||[])[0]||"",u=parseFloat((d.match(/\bwidth="([\d.]+)/i)||[])[1]),p=parseFloat((d.match(/\bheight="([\d.]+)/i)||[])[1]);if(!Number.isFinite(u)||!Number.isFinite(p))throw new Error("svg without dimensions");let m=Number.isFinite(s.vbW)?s.vbW:Number.isFinite(s.w0)?s.w0:u,h=Number.isFinite(s.vbH)?s.vbH:Number.isFinite(s.h0)?s.h0:p,y,b;i&&a?(y=o,b=r):i?(y=o,b=Math.round(h*(o/Math.max(1,m)))):a?(b=r,y=Math.round(m*(r/Math.max(1,h)))):(y=Math.round(u*n),b=Math.round(p*n));let w=l.replace(/width="[^"]*"/,`width="${y}"`).replace(/height="[^"]*"/,`height="${b}"`),S=new Image;return S.decoding="sync",S.loading="eager",S.src=qe(w),await S.decode(),S.style.width=`${y}px`,S.style.height=`${b}px`,S}catch(l){return W(e,"safari vector toImg failed, falling back to PNG",l),En(t,{...e,format:"png",quality:1,meta:s})}let f=new Image;if(f.decoding="sync",f.loading="eager",f.src=t,await f.decode(),i&&a)f.style.width=`${o}px`,f.style.height=`${r}px`;else if(i){let l=Number.isFinite(s.vbW)?s.vbW:Number.isFinite(s.w0)?s.w0:f.naturalWidth,d=Number.isFinite(s.vbH)?s.vbH:Number.isFinite(s.h0)?s.h0:f.naturalHeight,u=o/Math.max(1,l);f.style.width=`${o}px`,f.style.height=`${Math.round(d*u)}px`}else if(a){let l=Number.isFinite(s.vbW)?s.vbW:Number.isFinite(s.w0)?s.w0:f.naturalWidth,d=Number.isFinite(s.vbH)?s.vbH:Number.isFinite(s.h0)?s.h0:f.naturalHeight,u=r/Math.max(1,d);f.style.height=`${r}px`,f.style.width=`${Math.round(l*u)}px`}else{let l=Math.round(f.naturalWidth*n),d=Math.round(f.naturalHeight*n);if(f.style.width=`${l}px`,f.style.height=`${d}px`,typeof t=="string"&&t.startsWith("data:image/svg+xml"))try{let p=decodeURIComponent(t.split(",")[1]).replace(/width="[^"]*"/,`width="${l}"`).replace(/height="[^"]*"/,`height="${d}"`);t=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(p)}`,f.src=t}catch(u){W(e,"SVG width/height patch in toImg failed",u)}}return f}var Nn=ot(()=>{"use strict";ct();de();Gt()});var jr={};Kt(jr,{toBlob:()=>Tn});async function Tn(t,e){let n=e.type;if(n==="svg"){let r=decodeURIComponent(t.split(",")[1]);return new Blob([r],{type:"image/svg+xml"})}let o=await Lt(t,e);return new Promise(r=>o.toBlob(s=>r(s),`image/${n}`,e.quality))}var Ln=ot(()=>{"use strict";Gt()});var Xr={};Kt(Xr,{download:()=>Va});async function qr(t,e){let n=new File([t],e,{type:t.type});if(!navigator.canShare?.({files:[n]}))return!1;try{await navigator.share({files:[n],title:e})}catch(o){if(o.name!=="AbortError")return!1}return!0}async function Va(t,e){let n=new Set(["png","jpeg","jpg","webp","svg"]),o=(e?.type||"").toLowerCase(),r=n.has(o)?o:"",s=(e?.format||r||"").toLowerCase(),i=s==="jpg"?"jpeg":s||"png",a=e?.filename||`snapdom.${i}`,c={...e||{},format:i,type:i};c.dpr=1;let f=on();if(i==="svg"){let u=await Tn(t,{...c,type:"svg"});if(f&&await qr(u,a))return;let p=URL.createObjectURL(u),m=document.createElement("a");m.href=p,m.download=a,document.body.appendChild(m),m.click(),URL.revokeObjectURL(p),m.remove();return}let l=await Lt(t,c);if(f){let u=`image/${i}`,p=await new Promise(m=>l.toBlob(m,u,e?.quality));if(p&&await qr(p,a))return}let d=document.createElement("a");d.href=l.toDataURL(`image/${i}`,e?.quality),d.download=a,document.body.appendChild(d),d.click(),d.remove()}var Gr=ot(()=>{"use strict";Ln();Gt();kt()});ct();ct();nt();var ee="http://www.w3.org/1999/xhtml",Ai="http://www.w3.org/2000/svg";function Ut(t){return!!t&&t.nodeType===1&&t.namespaceURI===ee}function rt(t,...e){return Ut(t)&&e.includes(t.localName)}function ne(t){return!!t&&t.nodeType===1&&t.namespaceURI===Ai}function Kn(t){return ne(t)&&t.localName==="svg"}function oe(t){return!!t&&t.nodeType===11&&!!t.host}function Qn(t){return!!t&&t.nodeType===9}function Zn(t){return!!t&&typeof t.nodeType=="number"&&typeof t.nodeName=="string"}var an=new WeakMap,re=new Map,ki=2e3,$e=0;function Re(){$e++,re.size>ki&&re.clear()}var Mi="[data-snapdom-sandbox],[data-snapdom-internal],[data-snapdom]";function sn(t){let e=t&&(t.nodeType===1?t:t.parentElement);return!!(e&&e.closest&&e.closest(Mi))}function cn(t){for(let e of t)if(!sn(e.target)){if(e.type==="childList"){let n=!0;for(let o of e.addedNodes)if(!sn(o)){n=!1;break}if(n){for(let o of e.removedNodes)if(!sn(o)){n=!1;break}}if(n)continue}return!0}return!1}var Jn=!1;function Fi(t=document.documentElement){if(Jn)return;Jn=!0;let e=n=>{cn(n)&&Re()};try{new MutationObserver(e).observe(t,{subtree:!0,childList:!0,characterData:!0,attributes:!0})}catch{}try{new MutationObserver(e).observe(document.head,{subtree:!0,childList:!0,characterData:!0,attributes:!0})}catch{}try{let n=document.fonts;n&&(n.addEventListener?.("loadingdone",Re),n.ready?.then(()=>Re()).catch(()=>{}))}catch{}}var Ri=["mask","mask-image","-webkit-mask","-webkit-mask-image","mask-source","mask-box-image-source","mask-border-source","-webkit-mask-box-image-source","border-image","border-image-source"];function ln(t){let e=an.get(t);if(e&&e.epoch===$e){let n=e.snapshot&&e.snapshot.__needsBgInline;if(n!==void 0)return n}return!0}function $i(t,e={}){let n={},o=e.excludeStyleProps;for(let d=0;d<t.length;d++){let u=t[d];if(Jt(u)||o&&(o instanceof RegExp&&o.test(u)||typeof o=="function"&&o(u)))continue;let p=t.getPropertyValue(u);(u==="background-image"||u==="content")&&p.includes("url(")&&!p.includes("data:")&&(p="none"),n[u]=p}let r=["text-decoration-line","text-decoration-color","text-decoration-style","text-decoration-thickness","text-underline-offset","text-decoration-skip-ink"];for(let d of r)if(!n[d])try{let u=t.getPropertyValue(d);u&&(n[d]=u)}catch{}let s=["-webkit-text-stroke","-webkit-text-stroke-width","-webkit-text-stroke-color","paint-order"];for(let d of s)if(!n[d])try{let u=t.getPropertyValue(d);u&&(n[d]=u)}catch{}if(e.embedFonts){let d=["font-feature-settings","font-variation-settings","font-kerning","font-variant","font-variant-ligatures","font-optical-sizing"];for(let u of d)if(!n[u])try{let p=t.getPropertyValue(u);p&&(n[u]=p)}catch{}}try{(n["content-visibility"]||t.getPropertyValue("content-visibility"))==="hidden"&&(n["content-visibility"]="hidden")}catch{}let i=!1;{let d=t.getPropertyValue("background-image");if(d&&d!=="none"&&(i=!0),!i){let u=t.getPropertyValue("background-color");u&&u!=="rgba(0, 0, 0, 0)"&&u!=="transparent"&&(i=!0)}if(!i)for(let u of Ri){let p=t.getPropertyValue(u);if(p&&p!=="none"){i=!0;break}}if(!i){let u=t.getPropertyValue("background");u&&/url\s*\(/i.test(u)&&(i=!0)}}Object.defineProperty(n,"__needsBgInline",{value:i,enumerable:!1});let a=parseFloat(t.getPropertyValue("border-top-width")||0)||0,c=parseFloat(t.getPropertyValue("border-right-width")||0)||0,f=parseFloat(t.getPropertyValue("border-bottom-width")||0)||0,l=parseFloat(t.getPropertyValue("border-left-width")||0)||0;if(a===0&&c===0&&f===0&&l===0){let d=(t.getPropertyValue("border-image-source")||"").trim(),u=d&&d!=="none",p=["border","border-top","border-right","border-bottom","border-left","border-width","border-style","border-color","border-top-width","border-top-style","border-top-color","border-right-width","border-right-style","border-right-color","border-bottom-width","border-bottom-style","border-bottom-color","border-left-width","border-left-style","border-left-color","border-block","border-block-width","border-block-style","border-block-color","border-inline","border-inline-width","border-inline-style","border-inline-color"];for(let m of p)delete n[m];u||(n.border="none")}return n}function Ei(t){for(let e=t.firstChild;e;e=e.nextSibling){if(e.nodeType===3&&/\S/.test(e.nodeValue||""))return!0;if(e.nodeType===1){let n=T(e).position;if(n!=="absolute"&&n!=="fixed")return!0}}return!1}function Pi(t,e,n){try{if(typeof t.computedStyleMap=="function"){let r=t.computedStyleMap().get("width");if(r!=null)return!to(String(r).trim().toLowerCase())}}catch{}let o=t.style&&(t.style.width||t.style.inlineSize);return o&&!to(String(o).trim().toLowerCase())?!0:Ti(t,e)?n||Li(t,e):!1}var Ni=new Set(["auto","min-content","max-content","stretch","fill-available","-webkit-fill-available"]);function to(t){return Ni.has(t)||t.startsWith("fit-content")}function Ti(t,e){let n=t.getBoundingClientRect().width-(parseFloat(e.paddingLeft)||0)-(parseFloat(e.paddingRight)||0)-(parseFloat(e.borderLeftWidth)||0)-(parseFloat(e.borderRightWidth)||0);if(!(n>0))return!1;let o=1/0,r=-1/0,s=null;for(let i=t.firstChild;i;i=i.nextSibling){let a;if(i.nodeType===3){if(!/\S/.test(i.nodeValue||"")||(s=s||document.createRange(),s.selectNode(i),a=s.getBoundingClientRect(),!a.width&&!a.height))continue}else if(i.nodeType===1){let c=T(i);if(c.display==="none"||c.position==="absolute"||c.position==="fixed")continue;a=i.getBoundingClientRect()}else continue;a.left<o&&(o=a.left),a.right>r&&(r=a.right)}return r===-1/0?!1:r-o<n-.5}function Li(t,e){let n=t.parentElement;if(!n)return!1;let o=T(n),r=n.getBoundingClientRect().width-(parseFloat(o.paddingLeft)||0)-(parseFloat(o.paddingRight)||0)-(parseFloat(o.borderLeftWidth)||0)-(parseFloat(o.borderRightWidth)||0)-(parseFloat(e.marginLeft)||0)-(parseFloat(e.marginRight)||0);return r>0?Math.abs(t.getBoundingClientRect().width-r)>.5:!1}var eo=new WeakMap;function Ii(t){let e=eo.get(t);return e||(e=Object.entries(t).sort((o,r)=>o[0]<r[0]?-1:o[0]>r[0]?1:0).map(([o,r])=>`${o}:${r}`).join(";"),eo.set(t,e),e)}function _i(t,e=null,n={}){let o=an.get(t),r=!!(n&&n.embedFonts),s=n&&n.excludeStyleProps||null;if(o&&o.epoch===$e&&o.embedFonts===r&&o.excludeStyleProps===s)return o.snapshot;let i=e||getComputedStyle(t),a=$i(i,n);return zi(t,i,a),an.set(t,{epoch:$e,snapshot:a,embedFonts:r,excludeStyleProps:s}),a}function Wi(t,e){return t&&t.session&&t.persist?t:t&&(t.styleMap||t.styleCache||t.nodeMap)?{session:t,persist:{snapshotKeyCache:re,defaultStyle:C.defaultStyle,baseStyle:C.baseStyle,image:C.image,resource:C.resource,background:C.background,font:C.font},options:e||{}}:{session:C.session,persist:{snapshotKeyCache:re,defaultStyle:C.defaultStyle,baseStyle:C.baseStyle,image:C.image,resource:C.resource,background:C.background,font:C.font},options:t||e||{}}}function Oi(t,e,n){if(!(!t.style||t.style.length===0))for(let o=0;o<t.style.length;o++){let r=t.style[o],s=n.getPropertyValue(r);s&&e.style.setProperty(r,s)}}async function lt(t,e,n,o){if(t.tagName==="STYLE")return;let r=Wi(n,o),s=r.options&&r.options.cache||"auto";s!=="disabled"&&Fi(document.documentElement),s==="disabled"&&!r.session.__bumpedForDisabled&&(Re(),re.clear(),r.session.__bumpedForDisabled=!0);let{session:i,persist:a}=r;if(!i.styleCache.has(t)){let y=null;try{y=getComputedStyle(t)}catch{}i.styleCache.set(t,y||getComputedStyle(document.documentElement))}let c=i.styleCache.get(t);t.getAttribute?.("style")&&Oi(t,e,c);let f=c.getPropertyValue("animation-name");e&&e.style&&f&&f!=="none"&&e.style.setProperty("animation","none","important");let l=_i(t,c,r.options);Bi(t,c,l);let d=no(t);if(d){let y=c.getPropertyValue("min-width");(!y||y==="auto"||y==="0px")&&(l["min-width"]="0px")}let u=t.tagName?.toLowerCase()||"div",p=Ii(l),m=!0;if(Me(u,(l.display||"").toLowerCase())){m=Ei(t),m&&Je(u,l,d)&&Pi(t,c,d)&&(m=!1),p=`${p}|${u}${m?"|c":""}${d?"|f":""}`;let y=l["text-wrap-mode"]||l["white-space"]||"";m&&y!=="nowrap"&&y!=="pre"&&(i.reconcileRisk=(i.reconcileRisk||0)+1)}let h=a.snapshotKeyCache.get(p);h===void 0&&(h=Ot(l,u,m,d),a.snapshotKeyCache.set(p,h)),i.styleMap.set(e,h)}function Bi(t,e,n){let o=e.getPropertyValue("overflow-x"),r=e.getPropertyValue("overflow-y");if((o==="visible"||!o)&&(r==="visible"||!r)||e.getPropertyValue("box-sizing")==="border-box"||typeof t.clientWidth!="number"||!t.offsetWidth)return;let s=f=>parseFloat(f)||0,i=t.offsetWidth-t.clientWidth-s(e.getPropertyValue("border-left-width"))-s(e.getPropertyValue("border-right-width")),a=t.offsetHeight-t.clientHeight-s(e.getPropertyValue("border-top-width"))-s(e.getPropertyValue("border-bottom-width")),c=(f,l)=>{let d=n[f];if(!d||!d.endsWith("px"))return;let u=parseFloat(d);Number.isFinite(u)&&(n[f]=`${Math.round((u+l)*1e3)/1e3}px`)};i>.5&&(c("width",i),c("inline-size",i)),a>.5&&(c("height",a),c("block-size",a))}function Ui(t){return t.backgroundImage&&t.backgroundImage!=="none"||t.backgroundColor&&t.backgroundColor!=="rgba(0, 0, 0, 0)"&&t.backgroundColor!=="transparent"||(parseFloat(t.borderTopWidth)||0)>0||(parseFloat(t.borderBottomWidth)||0)>0||(parseFloat(t.paddingTop)||0)>0||(parseFloat(t.paddingBottom)||0)>0?!0:(t.overflowBlock||t.overflowY||"visible")!=="visible"}function no(t){let e=t.parentElement;if(!e)return!1;let n=T(e).display||"";return n.includes("flex")||n.includes("grid")}function Di(t){for(let o=t.firstChild;o;o=o.nextSibling)if(o.nodeType===3&&/\S/.test(o.nodeValue))return!0;let e=t.firstElementChild,n=t.lastElementChild;if(e&&e.tagName==="BR"||n&&n.tagName==="BR")return!0;for(let o=t.firstElementChild;o;o=o.nextElementSibling){let r=T(o);if(r.display==="none")continue;let s=r.position;if(s!=="absolute"&&s!=="fixed")return!0}return!1}function Hi(t){let e=t.getBoundingClientRect().top,n=-1/0,o=null;for(let r=t.firstChild;r;r=r.nextSibling){if(r.nodeType===3){if(!/\S/.test(r.nodeValue||""))continue;o=o||document.createRange(),o.selectNode(r);let a=o.getBoundingClientRect();(a.width||a.height)&&(n=Math.max(n,a.bottom));continue}if(r.nodeType!==1)continue;let s=T(r);if(s.display==="none")continue;let i=s.position;i==="absolute"||i==="fixed"||s.float&&s.float!=="none"||(n=Math.max(n,r.getBoundingClientRect().bottom))}return n===-1/0?NaN:n-e}function zi(t,e,n){if(Ut(t)&&t.style&&t.style.height)return;let o=t.tagName&&t.tagName.toLowerCase();if(!o||!["div","section","article","main","aside","header","footer","nav"].includes(o)||e.aspectRatio&&e.aspectRatio!=="none"&&e.aspectRatio!=="auto")return;let s=e.display||"";if(s.includes("flex")||s.includes("grid"))return;let i=e.position;if(i==="absolute"||i==="fixed"||i==="sticky"||e.transform!=="none"||Ui(e)||no(t))return;let a=e.overflowX||e.overflow||"visible",c=e.overflowY||e.overflow||"visible";if(a!=="visible"||c!=="visible")return;let f=e.clip;if(f&&f!=="auto"&&f!=="rect(auto, auto, auto, auto)"||e.visibility==="hidden"||e.opacity==="0"||!Di(t))return;let l=parseFloat(e.height),d=Hi(t);Number.isFinite(l)&&Number.isFinite(d)&&Math.abs(l-d)>2||(delete n.height,delete n["block-size"])}te();var ro=["fill","stroke","color","background-color","stop-color"],Vi=new Set(["symbol","defs","pattern","marker","linearGradient","radialGradient","filter"]);function Ee(t){let e=t;for(;e&&e.nodeType===1;){if(e.namespaceURI==="http://www.w3.org/2000/svg"){if(e.localName==="mask"||e.localName==="clipPath")return!1;if(Vi.has(e.localName))return!0}e=e.parentNode}return!1}var oo=new Map;function ji(t,e){let n=e+"::"+t.toLowerCase(),o=oo.get(n);if(o)return o;let r=document,s=e==="http://www.w3.org/2000/svg"?r.createElementNS(e,t):r.createElement(t),i=r.createElement("div");i.setAttribute("data-snapdom-internal",""),i.style.cssText="position:absolute;left:-99999px;top:-99999px;contain:strict;display:block;",i.appendChild(s),r.documentElement.appendChild(i);let a=getComputedStyle(s),c={};for(let f of ro)c[f]=a.getPropertyValue(f)||"";return i.remove(),oo.set(n,c),c}function io(t,e){if(t?.nodeType!==1||e?.nodeType!==1||Ee(t))return;let n=t.getAttribute?.("style"),o=!!(n&&n.includes("var("));if(!o&&t.attributes?.length){let s=t.attributes;for(let i=0;i<s.length;i++){let a=s[i];if(a&&typeof a.value=="string"&&a.value.includes("var(")){o=!0;break}}}let r=null;if(o)try{r=getComputedStyle(t)}catch{}if(o){let s=t.style;if(s&&s.length){let i=new Set;for(let a=0;a<s.length;a++){let c=s[a];if(i.has(c))continue;i.add(c);let f=s.getPropertyValue(c);if(!f||!f.includes("var("))continue;let l=r&&r.getPropertyValue(c);if(l)try{e.style.setProperty(c,l.trim(),s.getPropertyPriority(c))}catch{}}}}if(o&&t.attributes?.length){let s=t.attributes;for(let i=0;i<s.length;i++){let a=s[i];if(!a||typeof a.value!="string"||!a.value.includes("var("))continue;let c=a.name,f=r&&r.getPropertyValue(c);if(f)try{e.style.setProperty(c,f.trim())}catch{}}}if(!o){if(!r)try{r=getComputedStyle(t)}catch{r=null}if(!r)return;let s=t.namespaceURI||"html",i=ji(t.tagName,s);for(let a of ro){let c=r.getPropertyValue(a)||"",f=i[a]||"";if(c&&c!==f)try{e.style.setProperty(a,c.trim())}catch{}}}}ct();ct();nt();At();At();function Tt(t){return!!(!t||t.startsWith("data:")||t.startsWith("blob:")||/^data:image\/(gif|png|svg)/.test(t)&&t.length<200)}var so="img[data-src], img[data-lazy-src], img[data-original], img[data-hi-res-src], img[data-srcset], img[data-lazy-srcset]";function qi(t,e){return!t||t?.nodeType!==1?!1:t.matches?.("picture")||t.querySelector("picture")?!0:e?!!(t.matches?.(so)||t.querySelector(so)):!1}var Xi=/^image\/(jpeg|jpg|png|gif|webp|avif|apng|svg\+xml|bmp|x-icon|vnd\.microsoft\.icon)\s*(;|$)/i;function Dt(t,e){if(!t)return null;let n=0;try{n=e?e.getBoundingClientRect().width||e.width:0}catch{}n||(n=window.innerWidth||1e3);let o=[];for(let s of t.split(",")){let i=s.trim().split(/\s+/);if(!i[0])continue;let a=i[1]||"",c=1;/^\d*\.?\d+x$/i.test(a)?c=parseFloat(a):/^\d+w$/i.test(a)&&(c=parseInt(a,10)/n),o.push({url:i[0],d:c})}if(!o.length)return null;o.sort((s,i)=>s.d-i.d);let r=window.devicePixelRatio||1;return(o.find(s=>s.d>=r)||o[o.length-1]).url}function fn(t,e){let n=t.currentSrc||"";if(n&&!Tt(n))return n;let o=e.querySelectorAll("source[srcset]"),r=null;for(let s of o){let i=s.getAttribute("srcset");if(!i||Tt(i))continue;let a=s.getAttribute("type");if(a&&!Xi.test(a.trim()))continue;let c=s.getAttribute("media");if(c)try{if(window.matchMedia(c).matches)return Dt(i,t)}catch{}r||(r=Dt(i,t))}return r}function Gi(t){let e=[t.getAttribute("data-src"),t.getAttribute("data-lazy-src"),t.getAttribute("data-original"),t.getAttribute("data-hi-res-src")];for(let o of e)if(o&&!Tt(o))return o;let n=t.getAttribute("data-srcset")||t.getAttribute("data-lazy-srcset");if(n){let o=n.split(",")[0].trim().split(/\s+/)[0];if(o&&!Tt(o))return o}return null}function Yi(t={}){let e=t.pictureResolver&&typeof t.pictureResolver=="object"?t.pictureResolver:{};return{timeout:e.timeout??5e3,concurrency:e.concurrency??4,resolveLazySrc:e.resolveLazySrc!==!1,silent:e.silent??!1,useProxy:typeof t.useProxy=="string"?t.useProxy:""}}async function ao(t,e={}){if(!t||t?.nodeType!==1||e.resolvePicturePlaceholders===!1)return null;let{timeout:n,concurrency:o,resolveLazySrc:r,silent:s,useProxy:i}=Yi(e);if(!qi(t,r))return null;let a=[],c=[];async function f(u){let p=await X(u,{as:"dataURL",timeout:n,useProxy:i,silent:!0});return p.ok?p.data:null}async function l(u){for(let p=0;p<u.length;p+=o){let m=u.slice(p,p+o);await Promise.allSettled(m.map(h=>h()))}}let d=Array.from(t.querySelectorAll("picture"));t.matches?.("picture")&&d.unshift(t);for(let u of d){let p=u.querySelector("img");if(!p)continue;let m=p.getAttribute("src")||"";if(!Tt(m))continue;let h=fn(p,u);h&&c.push(async()=>{let y=await f(h);if(!y){s||console.warn(`[snapdom:picture-resolver] Failed to fetch: ${h.slice(0,60)}`);return}let b=p.getAttribute("src"),w=p.getAttribute("srcset"),S=p.getAttribute("sizes"),g=[];p.src=y,p.setAttribute("src",y),p.removeAttribute("srcset"),p.removeAttribute("sizes");let x=u.querySelectorAll("source");for(let v of x)g.push({el:v,parent:v.parentElement,next:v.nextSibling}),v.remove();a.push(()=>{b!==null?p.setAttribute("src",b):p.removeAttribute("src"),w!==null&&p.setAttribute("srcset",w),S!==null&&p.setAttribute("sizes",S);for(let{el:v,parent:k,next:A}of g)k&&k.insertBefore(v,A)})})}if(r){let u=Array.from(t.querySelectorAll("img"));t.localName==="img"&&u.unshift(t);for(let p of u){if(p.closest("picture")&&Tt(p.getAttribute("src")||""))continue;let m=p.getAttribute("src")||"",h=Gi(p);h&&Tt(m)&&c.push(async()=>{let y=await f(h);if(!y)return;let b=p.getAttribute("src");p.src=y,p.setAttribute("src",y),p.removeAttribute("srcset"),p.removeAttribute("sizes"),a.push(()=>{b!==null?p.setAttribute("src",b):p.removeAttribute("src")})})}}return c.length===0?null:(await l(c),async function(){for(let p of a)try{p()}catch{}})}function Te(t,e,n){return n?Promise.all(t.map(o=>new Promise(r=>e(o,r)))):Promise.all(t.map(o=>new Promise(r=>{function s(){Nt(i=>{(i&&typeof i.timeRemaining=="function"?i.timeRemaining()>0:!0)?e(o,r):s()},{fast:n})}s()})))}function Ki(t,e){if(t=t.trim(),!t)return t;let n=e?`[data-sd-slotted~="${e}"]`:"[data-sd-slotted]";return t.endsWith(":not([data-sd-slotted])")||t.endsWith(`:not(${n})`)?t:`${t}:not(${n})`}function Qi(t,e,n=!0,o){return t.split(",").map(r=>r.trim()).filter(Boolean).map(r=>{if(r.startsWith(":where(")||r.startsWith("@"))return r;let s=n?Ki(r,o):r;return`:where(${e} ${s})`}).join(", ")}function lo(t,e,n){return t?(t=t.replace(/:host\(([^)]+)\)/g,(o,r)=>`:where(${e}:is(${r.trim()}))`),t=t.replace(/:host\b/g,`:where(${e})`),t=t.replace(/:host-context\(([^)]+)\)/g,(o,r)=>`:where(:where(${r.trim()}) ${e})`),t=t.replace(/::slotted\(([^)]+)\)/g,(o,r)=>`:where(${e} ${r.trim()})`),t=t.replace(/(^|})(\s*)([^@}{]+){/g,(o,r,s,i)=>{let a=Qi(i,e,!0,n);return`${r}${s}${a}{`}),t):""}function fo(t){return t.shadowScopeSeq=(t.shadowScopeSeq||0)+1,`s${t.shadowScopeSeq}`}function uo(t){let e="";try{t.querySelectorAll("style").forEach(o=>{e+=(o.textContent||"")+`
|
|
9
|
-
`});let n=t.adoptedStyleSheets||[];for(let o of n)try{if(o&&o.cssRules)for(let r of o.cssRules)e+=r.cssText+`
|
|
10
|
-
|
|
11
|
-
`:""}function yo(t,e){if(!t)return;let n=o=>{let r=o.getAttribute("data-sd-slotted")||"";e?` ${r} `.includes(` ${e} `)||o.setAttribute("data-sd-slotted",r?`${r} ${e}`:e):o.setAttribute("data-sd-slotted",r)};t.nodeType===Node.ELEMENT_NODE&&n(t),t.querySelectorAll?.("*").forEach(n)}async function Ji(t,e=3){let n=()=>{try{return t.contentDocument||t.contentWindow?.document||null}catch{return null}},o=n(),r=0;for(;r<e&&(!o||!o.body&&!o.documentElement);)await new Promise(s=>setTimeout(s,0)),o=n(),r++;return o&&(o.body||o.documentElement)?o:null}function ts(t){let e=t.getBoundingClientRect(),n=0,o=0,r=0,s=0;try{let c=getComputedStyle(t);n=parseFloat(c.borderLeftWidth)||0,o=parseFloat(c.borderRightWidth)||0,r=parseFloat(c.borderTopWidth)||0,s=parseFloat(c.borderBottomWidth)||0}catch{}let i=Math.max(0,Math.round(e.width-(n+o))),a=Math.max(0,Math.round(e.height-(r+s)));return{contentWidth:i,contentHeight:a,rect:e}}function dt(t){let e=0,n=0;if(t.offsetWidth>0&&(e=t.offsetWidth),t.offsetHeight>0&&(n=t.offsetHeight),e===0||n===0)try{let o=getComputedStyle(t);if(e===0){let r=parseFloat(o.width);!isNaN(r)&&r>0&&(e=r)}if(n===0){let r=parseFloat(o.height);!isNaN(r)&&r>0&&(n=r)}}catch{}if(e===0||n===0)try{if(e===0){let o=parseFloat(t.getAttribute("width"));!isNaN(o)&&o>0&&(e=o)}if(n===0){let o=parseFloat(t.getAttribute("height"));!isNaN(o)&&o>0&&(n=o)}}catch{}if((e===0||n===0)&&(t.naturalWidth||t.naturalHeight))try{e===0&&t.naturalWidth>0&&(e=t.naturalWidth),n===0&&t.naturalHeight>0&&(n=t.naturalHeight)}catch{}return{width:e,height:n}}function es(t,e,n){let o=t.defaultView,r=o?o.scrollX:0,s=o?o.scrollY:0,i=t.body?t.body.scrollLeft:0,a=t.body?t.body.scrollTop:0,c=t.documentElement?t.documentElement.scrollLeft:0,f=t.documentElement?t.documentElement.scrollTop:0,l=0,d=0,u=0,p=0;try{let h=o&&t.body?o.getComputedStyle(t.body):null;h&&(l=(parseFloat(h.marginTop)||0)+(parseFloat(h.paddingTop)||0),d=(parseFloat(h.marginRight)||0)+(parseFloat(h.paddingRight)||0),u=(parseFloat(h.marginBottom)||0)+(parseFloat(h.paddingBottom)||0),p=(parseFloat(h.marginLeft)||0)+(parseFloat(h.paddingLeft)||0))}catch{}try{t.documentElement.setAttribute("data-sd-pinned","")}catch{}let m=t.createElement("style");return m.setAttribute("data-sd-iframe-pin",""),m.textContent=`html {margin: 0 !important;padding: 0 !important;width: ${e}px !important;height: ${n}px !important;min-width: ${e}px !important;min-height: ${n}px !important;box-sizing: border-box !important;overflow: hidden !important;background-clip: border-box !important;}body {margin: 0 !important;padding: ${l}px ${d}px ${u}px ${p}px !important;width: ${e}px !important;height: ${n}px !important;min-width: ${e}px !important;min-height: ${n}px !important;box-sizing: border-box !important;overflow: hidden !important;background-clip: border-box !important;}`,(t.head||t.documentElement).appendChild(m),()=>{try{m.remove()}catch{}try{t.documentElement.removeAttribute("data-sd-pinned")}catch{}try{o&&typeof o.scrollTo=="function"&&o.scrollTo(r,s),t.body&&(t.body.scrollLeft=i,t.body.scrollTop=a),t.documentElement&&(t.documentElement.scrollLeft=c,t.documentElement.scrollTop=f)}catch{}}}async function bo(t,e,n){let o=await Ji(t,3);if(!o)throw new Error("iframe document not accessible/ready");let{contentWidth:r,contentHeight:s,rect:i}=ts(t),a=n?.snap;if(!a&&typeof window<"u"&&window.snapdom&&(a=window.snapdom),!a||typeof a.toPng!="function")throw new Error("[snapdom] iframe capture requires snapdom.toPng. Use snapdom(el) or pass options.snap. With ESM, assign window.snapdom = snapdom after import if using iframes.");let c={...n,scale:1,clip:null},f=es(o,r,s),l=C.session.nodeMap,d=C.session.styleMap,u=C.session.styleCache,p;try{p=await a.toPng(o.documentElement,c)}finally{f(),C.session.nodeMap=l,C.session.styleMap=d,C.session.styleCache=u}p.style.display="block",p.style.width=`${r}px`,p.style.height=`${s}px`;let m=document.createElement("div");return e.nodeMap.set(m,t),lt(t,m,e,n),m.style.overflow="hidden",m.style.display="block",m.style.width||(m.style.width=`${Math.round(i.width)}px`),m.style.height||(m.style.height=`${Math.round(i.height)}px`),m.appendChild(p),m}function wo(t){let{width:e,height:n}=dt(t),o=t.getBoundingClientRect(),r;try{r=window.getComputedStyle(t)}catch{}let s=r?parseFloat(r.width):NaN,i=r?parseFloat(r.height):NaN,a=Math.round(e||o.width||0),c=Math.round(n||o.height||0),f=Number.isFinite(s)&&s>0?Math.round(s):Math.max(12,a||16),l=Number.isFinite(i)&&i>0?Math.round(i):Math.max(12,c||16),d=(t.type||"text").toLowerCase()==="checkbox",u=!!t.checked,p=!!t.indeterminate,h=Math.max(Math.min(f,l),12),y="middle";try{r&&r.verticalAlign&&(y=r.verticalAlign)}catch{}let b=document.createElement("div");b.setAttribute("data-snapdom-input-replacement",t.type||"checkbox"),b.style.cssText=`display:inline-block;width:${h}px;height:${h}px;vertical-align:${y};flex-shrink:0;line-height:0;`;let w=document.createElementNS("http://www.w3.org/2000/svg","svg");w.setAttribute("width",String(h)),w.setAttribute("height",String(h)),w.setAttribute("viewBox",`0 0 ${h} ${h}`),b.appendChild(w);function S(){let g="#0a6ed1";try{r&&(g=r.accentColor||r.color||g)}catch{}let x=2,v=x/2,k=h-x;if(w.innerHTML="",d){let A=document.createElementNS("http://www.w3.org/2000/svg","rect");if(A.setAttribute("x",String(v)),A.setAttribute("y",String(v)),A.setAttribute("width",String(k)),A.setAttribute("height",String(k)),A.setAttribute("rx","2"),A.setAttribute("ry","2"),A.setAttribute("fill",u?g:"none"),A.setAttribute("stroke",g),A.setAttribute("stroke-width",String(x)),w.appendChild(A),u){let M=document.createElementNS("http://www.w3.org/2000/svg","path");M.setAttribute("d",`M ${v+2} ${h/2} L ${h/2-1} ${h-v-2} L ${h-v-2} ${v+2}`),M.setAttribute("stroke","white"),M.setAttribute("stroke-width",String(Math.max(1.5,x))),M.setAttribute("fill","none"),M.setAttribute("stroke-linecap","round"),M.setAttribute("stroke-linejoin","round"),w.appendChild(M)}else if(p){let M=document.createElementNS("http://www.w3.org/2000/svg","rect"),F=Math.max(6,k-4);M.setAttribute("x",String((h-F)/2)),M.setAttribute("y",String((h-x)/2)),M.setAttribute("width",String(F)),M.setAttribute("height",String(x)),M.setAttribute("fill",g),M.setAttribute("rx","1"),w.appendChild(M)}}else{let A=document.createElementNS("http://www.w3.org/2000/svg","circle");if(A.setAttribute("cx",String(h/2)),A.setAttribute("cy",String(h/2)),A.setAttribute("r",String((h-x)/2)),A.setAttribute("fill",u?g:"none"),A.setAttribute("stroke",g),A.setAttribute("stroke-width",String(x)),w.appendChild(A),u){let M=document.createElementNS("http://www.w3.org/2000/svg","circle"),F=Math.max(2,(h-x*2)*.35);M.setAttribute("cx",String(h/2)),M.setAttribute("cy",String(h/2)),M.setAttribute("r",String(F)),M.setAttribute("fill","white"),w.appendChild(M)}}b.style.setProperty("width",`${h}px`,"important"),b.style.setProperty("height",`${h}px`,"important"),b.style.setProperty("min-width",`${h}px`,"important"),b.style.setProperty("min-height",`${h}px`,"important")}return S(),{el:b,applyVisual:S}}var ie=new Y(80);async function se(t){if(C.resource?.has(t))return C.resource.get(t);if(ie.has(t))return ie.get(t);let e=(async()=>{let n=await X(t,{as:"dataURL",silent:!0});if(!n.ok||typeof n.data!="string")throw new Error(`[snapDOM] Failed to read blob URL: ${t}`);return C.resource?.set(t,n.data),n.data})();ie.set(t,e);try{let n=await e;return ie.set(t,n),n}catch(n){throw ie.delete(t),n}}var ns=/\bblob:[^)"'\s]+/g;async function co(t){if(!t||t.indexOf("blob:")===-1)return t;let e=Array.from(new Set(t.match(ns)||[]));if(e.length===0)return t;let n=t;for(let o of e)try{let r=await se(o);n=n.split(o).join(r)}catch{}return n}function Pe(t){return typeof t=="string"&&t.startsWith("blob:")}function os(t){return(t||"").split(",").map(e=>e.trim()).filter(Boolean).map(e=>{let n=e.match(/^(\S+)(\s+.+)?$/);return n?{url:n[1],desc:n[2]||""}:null}).filter(Boolean)}function rs(t){return t.map(e=>e.desc?`${e.url} ${e.desc.trim()}`:e.url).join(", ")}function Ne(t,e){let n=t.querySelectorAll?Array.from(t.querySelectorAll(e)):[];return t.matches?.(e)&&n.unshift(t),n}async function xo(t,e=null){if(!t)return;let n=e,o=Ne(t,"img");for(let c of o)try{let l=c.getAttribute("src")||c.currentSrc||"";if(Pe(l)){let u=await se(l);c.setAttribute("src",u)}let d=c.getAttribute("srcset");if(d&&d.includes("blob:")){let u=os(d),p=!1;for(let m of u)if(Pe(m.url))try{m.url=await se(m.url),p=!0}catch(h){W(n,"blobUrlToDataUrl for srcset item failed",h)}p&&c.setAttribute("srcset",rs(u))}}catch(f){W(n,"resolveBlobUrls for img failed",f)}let r=Ne(t,"image");for(let c of r)try{let f="http://www.w3.org/1999/xlink",l=c.getAttribute("href")||c.getAttributeNS?.(f,"href");if(Pe(l)){let d=await se(l);c.setAttribute("href",d),c.removeAttributeNS?.(f,"href")}}catch(f){W(n,"resolveBlobUrls for SVG image href failed",f)}let s=Ne(t,"[style*='blob:']");for(let c of s)try{let f=c.getAttribute("style");if(f&&f.includes("blob:")){let l=await co(f);c.setAttribute("style",l)}}catch(f){W(n,"replaceBlobUrls in inline style failed",f)}let i=t.querySelectorAll?t.querySelectorAll("style"):[];for(let c of i)try{let f=c.textContent||"";f.includes("blob:")&&(c.textContent=await co(f))}catch(f){W(n,"replaceBlobUrls in style tag failed",f)}let a=["poster"];for(let c of a){let f=Ne(t,`[${c}^='blob:']`);for(let l of f)try{let d=l.getAttribute(c);Pe(d)&&l.setAttribute(c,await se(d))}catch(d){W(n,`resolveBlobUrls for ${c} failed`,d)}}}kt();var dn=new Map,So=new Set(["IFRAME"]);function Ie(t,e){dn.set(String(t).toUpperCase(),e)}function un(t){let{width:e,height:n}=dt(t),o=e,r=n;if(!o||!r){let i=t.getBoundingClientRect();o=o||i.width||0,r=r||i.height||0}let s=document.createElement("div");return s.style.cssText=`display:inline-block;width:${o}px;height:${r}px;visibility:hidden;`,s}var Le=200,is=new Set(["img","canvas","video","iframe","object","embed"]);function vo(t,e){return t.right>=e.left-Le&&t.left<=e.right+Le&&t.bottom>=e.top-Le&&t.top<=e.bottom+Le}function ss(t,e){if(t===e.root)return!1;let n;try{n=t.getBoundingClientRect()}catch{return!1}if(n.width===0&&n.height===0)return!1;let o=T(t);if(o.display==="inline"&&!is.has((t.localName||"").toLowerCase()))return!1;let r=e.rect,s=t.scrollWidth||0,i=t.scrollHeight||0,a={left:o.direction==="rtl"?Math.min(n.left,n.right-s):n.left,top:n.top,right:Math.max(n.right,n.left+s),bottom:Math.max(n.bottom,n.top+i)},c=o.writingMode||"";if((c.startsWith("vertical")||c.startsWith("sideways"))&&(a.top=Math.min(n.top,n.bottom-i),a.left=Math.min(a.left,n.right-s)),vo(a,r))return!1;let f=(t.ownerDocument||document).createTreeWalker(t,NodeFilter.SHOW_ELEMENT);for(;f.nextNode();){let l=f.currentNode.getBoundingClientRect();if((l.width>0||l.height>0)&&vo(l,r))return!1}return!0}function as(t,e,n){let o=t.cloneNode(!1);t.tagName==="IMG"&&(o.removeAttribute("src"),o.removeAttribute("srcset"),o.removeAttribute("sizes")),lt(t,o,e,n);let{width:r,height:s}=dt(t);return r>0&&(o.style.width=`${r}px`,o.style.minWidth=`${r}px`,o.style.maxWidth=`${r}px`),s>0&&(o.style.height=`${s}px`,o.style.minHeight=`${s}px`,o.style.maxHeight=`${s}px`),o.style.visibility="hidden",o.style.overflow="hidden",o.style.boxSizing="border-box",o}async function ae(t,e,n){if(!t)throw new Error("Invalid node");let o=new Set,r=null,s=null;if(t.nodeType===Node.ELEMENT_NODE){let l=(t.localName||t.tagName||"").toLowerCase();if(t.id==="snapdom-sandbox"||t.hasAttribute("data-snapdom-sandbox")||Ce.has(l))return null;if(l==="foreignobject"&&t.parentElement?.closest?.("foreignObject"))return W(e,"Nested <foreignObject> skipped (SVG spec limitation \u2014 not rendered by browsers)"),null;if(l==="source"&&t.parentElement?.localName==="picture")return null}if(t.nodeType===Node.TEXT_NODE||t.nodeType!==Node.ELEMENT_NODE)return t.cloneNode(!0);if(t.getAttribute("data-capture")==="exclude"){if(n.excludeMode==="hide")return un(t);if(n.excludeMode==="remove")return null}if(n.exclude&&Array.isArray(n.exclude))for(let l of n.exclude)try{if(t.matches?.(l)){if(n.excludeMode==="hide")return un(t);if(n.excludeMode==="remove")return null}}catch(d){console.warn(`Invalid selector in exclude option: ${l}`,d)}if(typeof n.filter=="function")try{if(!n.filter(t)){if(n.filterMode==="hide")return un(t);if(n.filterMode==="remove")return null}}catch(l){console.warn("Error in filter function:",l)}if(e.clip&&ss(t,e.clip))return as(t,e,n);if(n.__resolveNodeHooks)for(let l of n.__resolveNodeHooks){let d;try{d=await l(t,n)}catch(u){W(e,"resolveNode plugin hook failed",u)}if(d===null)return null;if(Zn(d))return d.nodeType===Node.ELEMENT_NODE&&(e.nodeMap.set(d,t),lt(t,d,e,n)),d}{let l=So.has(t.tagName)&&dn.get(t.tagName);if(l){let d=await l(t,e,n);if(d!==void 0)return d}}if(t.getAttribute("data-capture")==="placeholder"){let l=t.cloneNode(!1);e.nodeMap.set(l,t),lt(t,l,e,n);let d=document.createElement("div");return d.textContent=t.getAttribute("data-placeholder-text")||"",d.style.cssText="color:#666;font-size:12px;text-align:center;line-height:1.4;padding:0.5em;box-sizing:border-box;",l.appendChild(d),l}{let l=!So.has(t.tagName)&&dn.get(t.tagName);if(l){let d=await l(t,e,n);if(d!==void 0)return d}}let i;try{if(i=t.cloneNode(!1),i.attributes?.length)try{for(let l of i.attributes)/[\x00-\x08\x0B\x0C\x0E-\x1F\uFFFE\uFFFF]/.test(l.value)&&i.setAttribute(l.name,l.value.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\uFFFE\uFFFF]/g,""))}catch{}if(io(t,i),e.nodeMap.set(i,t),t.tagName==="IMG"){ho(t,i);try{let l=window.getComputedStyle(t),d=parseFloat(l.width),u=parseFloat(l.height);if(!(d>0)||!(u>0)){let h=dt(t);d>0||(d=h.width),u>0||(u=h.height)}let p=Math.round((d||0)*1e3)/1e3,m=Math.round((u||0)*1e3)/1e3;p&&(i.dataset.snapdomWidth=String(p)),m&&(i.dataset.snapdomHeight=String(m))}catch(l){W(e,"getUnscaledDimensions for IMG failed",l)}try{let l=t.getAttribute("style")||"",d=window.getComputedStyle(t),u=S=>{let g=l.match(new RegExp(`${S}\\s*:\\s*([^;]+)`,"i")),x=g?g[1].trim():d.getPropertyValue(S);return/%|auto/i.test(String(x||""))},p=parseFloat(i.dataset.snapdomWidth||"0")||0,m=parseFloat(i.dataset.snapdomHeight||"0")||0,h=u("width")||!p,y=u("height")||!m;h&&p&&(i.style.width=`${p}px`),y&&m&&(i.style.height=`${m}px`);let b=d.getPropertyValue("object-fit"),w=d.getPropertyValue("object-position");b&&b!=="fill"?(i.style.objectFit=b,w&&(i.style.objectPosition=w)):(p&&(i.style.minWidth=`${p}px`),m&&(i.style.minHeight=`${m}px`))}catch(l){W(e,"IMG dimension freeze failed",l)}}}catch(l){throw console.error("[Snapdom] Failed to clone node:",t,l),l}let a=null;if(rt(t,"textarea")){let{width:l,height:d}=dt(t),u=l||t.getBoundingClientRect().width||0,p=d||t.getBoundingClientRect().height||0;u&&(i.style.width=`${u}px`),p&&(i.style.height=`${p}px`)}if(rt(t,"input")){let l=(t.type||"text").toLowerCase();if((l==="checkbox"||l==="radio")&&Yn()){let{el:u,applyVisual:p}=wo(t);e.nodeMap.set(u,t),a=p,i=u}else i.value=t.value,i.setAttribute("value",t.value),t.checked!==void 0&&(i.checked=t.checked,t.checked&&i.setAttribute("checked",""),t.indeterminate&&(i.indeterminate=t.indeterminate))}if(rt(t,"input","textarea")&&!t.value&&t.placeholder)try{let l=window.getComputedStyle(t,"::placeholder"),d=l&&l.color;if(d&&d!=="rgba(0, 0, 0, 0)"){let u="snapdom-ph-"+(Math.random()*1e6|0);i.classList.add(u);let p=document.createElement("style");p.textContent=`.${u}::placeholder{color:${d}!important;opacity:${l.opacity||"1"}!important;-webkit-text-fill-color:${d}!important;}`,i.prepend(p)}}catch{}if(rt(t,"select")&&(r=t.value),rt(t,"textarea")&&(s=t.value),rt(t,"input","textarea","select")){t.disabled&&i.setAttribute("disabled",""),t.required&&i.setAttribute("required",""),t.readOnly&&i.setAttribute("readonly","");let l=t;l.min!==void 0&&l.min!==""&&i.setAttribute("min",l.min),l.max!==void 0&&l.max!==""&&i.setAttribute("max",l.max),l.pattern!==void 0&&l.pattern!==""&&i.setAttribute("pattern",l.pattern);let d=t.getAttribute("aria-invalid");d!==null&&i.setAttribute("aria-invalid",d)}if(Ee(t)||lt(t,i,e,n),a&&a(),ne(t)&&!Ee(t)){let l=["fill","stroke","stroke-width","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","opacity","fill-opacity","stroke-opacity","fill-rule","clip-rule","marker","marker-start","marker-mid","marker-end","visibility","display"];try{let d=window.getComputedStyle(t);for(let u of l){let p=d.getPropertyValue(u);p&&i.style.setProperty(u,p)}}catch{}}if(t.shadowRoot){try{let S=t.shadowRoot.querySelectorAll("slot");for(let g of S){let x=g.assignedNodes?.()||[];for(let v of x)o.add(v)}}catch{}let l=fo(e),d=`[data-sd="${l}"]`;e.shadowScopes||(e.shadowScopes=new WeakMap),e.shadowScopes.set(t.shadowRoot,l);try{i.setAttribute("data-sd",l)}catch{}let u=uo(t.shadowRoot),p=lo(u,d,l),m=mo(u),h=go(t,m,d);po(i,h+p,l);let y=document.createDocumentFragment(),b=(S,g)=>{if(S.nodeType===Node.ELEMENT_NODE&&S.tagName==="STYLE")return g(null);ae(S,e,n).then(x=>{g(x||null)}).catch(()=>{g(null)})},w=await Te(Array.from(t.shadowRoot.childNodes),b,n.fast);y.append(...w.filter(S=>!!S)),i.appendChild(y)}if(t.tagName==="SLOT"){let l=e.shadowScopes?.get(t.getRootNode()),d=t.assignedNodes?.()||[],u=d.length?t.assignedNodes?.({flatten:!0})||d:[],p=u.length?u:Array.from(t.childNodes),m=document.createDocumentFragment(),h=(b,w)=>{ae(b,e,n).then(S=>{S&&d.length&&yo(S,l),w(S||null)}).catch(()=>{w(null)})},y=await Te(Array.from(p),h,n.fast);return m.append(...y.filter(b=>!!b)),m}function c(l,d){if(o.has(l)||t.shadowRoot&&!l.assignedSlot)return d(null);ae(l,e,n).then(u=>{d(u||null)}).catch(()=>{d(null)})}let f=await Te(Array.from(t.childNodes),c,n.fast);if(i.append(...f.filter(l=>!!l)),r!==null&&rt(i,"select")){i.value=r;for(let l of i.options)l.value===r?l.setAttribute("selected",""):l.removeAttribute("selected")}return s!==null&&rt(i,"textarea")&&(i.textContent=s),i}async function cs(t,e,n){let o=!1;try{o=!!(t.contentDocument||t.contentWindow?.document)}catch(r){W(e,"iframe same-origin probe failed",r)}if(o)try{return await bo(t,e,n)}catch(r){console.warn("[SnapDOM] iframe rasterization failed, fallback:",r)}if(o||console.warn("[snapdom] cross-origin <iframe> skipped (its document cannot be read). Captured as a placeholder that keeps the frame's box; pass { placeholders: false } for an invisible spacer.",t),n.placeholders){let{width:r,height:s}=dt(t),i=document.createElement("div");return i.style.cssText=`width:${r}px;height:${s}px;background-image:repeating-linear-gradient(45deg,#ddd,#ddd 5px,#f9f9f9 5px,#f9f9f9 10px);display:flex;align-items:center;justify-content:center;font-size:12px;color:#555;border:1px solid #aaa;`,lt(t,i,e,n),i}else{let{width:r,height:s}=dt(t),i=document.createElement("div");return i.style.cssText=`display:inline-block;width:${r}px;height:${s}px;visibility:hidden;`,lt(t,i,e,n),i}}function ls(t){try{let e=Math.max(1,Math.min(32,t.width)),n=Math.max(1,Math.min(32,t.height)),o=document.createElement("canvas");o.width=e,o.height=n;let r=o.getContext("2d",{willReadFrequently:!0});if(!r)return!1;r.drawImage(t,0,0,e,n);let s=r.getImageData(0,0,e,n).data;for(let i=3;i<s.length;i+=4)if(s[i]!==0)return!1;return!0}catch{return!1}}async function fs(t,e,n){let o="";try{let a=t.getContext("2d",{willReadFrequently:!0});try{a&&a.getImageData(0,0,1,1)}catch{}if((K()||!a)&&await mt(),o=t.toDataURL("image/png"),!o||o==="data:,"){try{a&&a.getImageData(0,0,1,1)}catch{}if(await mt(),o=t.toDataURL("image/png"),!o||o==="data:,"){let c=document.createElement("canvas");c.width=t.width,c.height=t.height;let f=c.getContext("2d");f&&(f.drawImage(t,0,0),o=c.toDataURL("image/png"))}}}catch(a){W(e,"Canvas toDataURL failed, using empty/fallback",a)}n&&n.debug&&o&&ls(t)&&W(e,"canvas is empty at capture time \u2014 capture it after its first frame is drawn",t);let r=document.createElement("img");try{r.decoding="sync",r.loading="eager"}catch(a){W(e,"img decoding/loading hints failed",a)}o&&(r.src=o),r.width=t.width,r.height=t.height;let{width:s,height:i}=dt(t);return s>0&&(r.style.width=`${s}px`),i>0&&(r.style.height=`${i}px`),e.nodeMap.set(r,t),lt(t,r,e,n),r}async function us(t,e,n){let o="";try{let a=document.createElement("canvas");a.width=t.videoWidth||t.offsetWidth||320,a.height=t.videoHeight||t.offsetHeight||240;let c=a.getContext("2d");c&&(c.drawImage(t,0,0,a.width,a.height),o=a.toDataURL("image/png"),(!o||o==="data:,")&&(o=""))}catch(a){W(e,"Video frame capture failed, using poster fallback",a)}let r=document.createElement("img");try{r.decoding="sync",r.loading="eager"}catch{}o?r.src=o:t.poster&&(r.src=t.poster),r.width=t.videoWidth||t.offsetWidth||0,r.height=t.videoHeight||t.offsetHeight||0;let{width:s,height:i}=dt(t);return s>0&&(r.style.width=`${s}px`),i>0&&(r.style.height=`${i}px`),r.style.objectFit="contain",e.nodeMap.set(r,t),lt(t,r,e,n),r}async function ds(t,e,n){if(!t.controls)return;let{width:o,height:r}=dt(t),s=Math.round(o||t.offsetWidth||300),i=Math.round(r||t.offsetHeight||54),a=i/2,c=Math.max(4,i*.16),f=i*.34,l=s-i*.34,d=f+c+i*.55,u=Math.max(0,l-i*.7-d),p=Math.max(9,Math.round(i*.24)),m=`<svg xmlns="http://www.w3.org/2000/svg" width="${s}" height="${i}" viewBox="0 0 ${s} ${i}"><rect width="${s}" height="${i}" rx="${Math.min(i/2,10)}" fill="#f1f3f4"/><path d="M ${f} ${a-c} L ${f+c} ${a} L ${f} ${a+c} Z" fill="#5f6368"/><rect x="${d}" y="${a-1.5}" width="${u}" height="3" rx="1.5" fill="#bdc1c6"/><circle cx="${d}" cy="${a}" r="${Math.max(3,i*.09)}" fill="#5f6368"/><text x="${l}" y="${a}" fill="#5f6368" font-family="sans-serif" font-size="${p}" text-anchor="end" dominant-baseline="central">0:00</text></svg>`,h=document.createElement("img");try{h.decoding="sync",h.loading="eager"}catch{}return h.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(m)}`,h.width=s,h.height=i,h.style.width=`${s}px`,h.style.height=`${i}px`,e.nodeMap.set(h,t),lt(t,h,e,n),h}Ie("IFRAME",cs);Ie("CANVAS",fs);Ie("VIDEO",us);Ie("AUDIO",ds);ct();Zt();te();nt();nt();var ps=[/font\s*awesome/i,/material\s*icons/i,/ionicons/i,/glyphicons/i,/feather/i,/bootstrap\s*icons/i,/remix\s*icons/i,/heroicons/i,/layui/i,/lucide/i],Ht=Object.assign({materialIconsFilled:"https://fonts.gstatic.com/s/materialicons/v48/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2",materialIconsOutlined:"https://fonts.gstatic.com/s/materialiconsoutlined/v110/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUcel5euIg.woff2",materialIconsRound:"https://fonts.gstatic.com/s/materialiconsround/v109/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmPq_HTTw.woff2",materialIconsSharp:"https://fonts.gstatic.com/s/materialiconssharp/v110/oPWQ_lt5nv4pWNJpghLP75WiFR4kLh3kvmvRImcycg.woff2"},typeof window<"u"&&window.__SNAPDOM_ICON_FONTS__||{}),ko=[],Co=new Set;function hs(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Mo(t){let e=Array.isArray(t)?t:[t];for(let n of e){let o;if(n instanceof RegExp)o=n;else if(typeof n=="string")o=new RegExp(hs(n),"i");else{console.warn("[snapdom] Ignored invalid iconFont value:",n);continue}let r=`${o.source}/${o.flags}`;Co.has(r)||(Co.add(r),ko.push(o))}}function pt(t){let e=typeof t=="string"?t:"",n=[...ps,...ko];for(let o of n)if(o instanceof RegExp&&o.test(e))return!0;return!!(/icon/i.test(e)||/glyph/i.test(e)||/symbols/i.test(e)||/feather/i.test(e)||/fontawesome/i.test(e))}function pn(t){if(typeof t!="string"||!t)return!1;let e;try{e=new URL(t,typeof location<"u"?location.href:void 0)}catch{return pt(t)}let n=e.searchParams.getAll("family").flatMap(o=>o.split("|")).map(o=>o.split(":")[0].trim()).filter(Boolean);return n.length?n.every(o=>pt(o)):pt(t)}function ms(t=""){let e=String(t).toLowerCase();return/\bmaterial\s*icons\b/.test(e)||/\bmaterial\s*symbols\b/.test(e)}var Ao=new Map;function gs(t=""){let e=Object.create(null),n=String(t||""),o=/['"]?\s*([A-Za-z]{3,4})\s*['"]?\s*([+-]?\d+(?:\.\d+)?)\s*/g,r;for(;r=o.exec(n);)e[r[1].toUpperCase()]=Number(r[2]);return e}async function ys(t,e,n){let o=String(t||""),r=o.toLowerCase(),s=String(e||"").toLowerCase();if(/\bmaterial\s*icons\b/.test(r)&&!/\bsymbols\b/.test(r))return{familyForMeasure:o,familyForCanvas:o};if(!/\bmaterial\s*symbols\b/.test(r))return{familyForMeasure:o,familyForCanvas:o};let a=n&&(n.FILL??n.fill),c="outlined";/\brounded\b/.test(s)||/\bround\b/.test(s)?c="rounded":/\bsharp\b/.test(s)?c="sharp":/\boutlined\b/.test(s)&&(c="outlined");let f=a===1,l=null;if(f&&(c==="outlined"&&Ht.materialIconsFilled?l={url:Ht.materialIconsFilled,alias:"snapdom-mi-filled"}:c==="rounded"&&Ht.materialIconsRound?l={url:Ht.materialIconsRound,alias:"snapdom-mi-round"}:c==="sharp"&&Ht.materialIconsSharp&&(l={url:Ht.materialIconsSharp,alias:"snapdom-mi-sharp"})),!l)return{familyForMeasure:o,familyForCanvas:o};if(!Ao.has(l.alias))try{let u=new FontFace(l.alias,`url(${l.url})`,{style:"normal",weight:"400"});document.fonts.add(u),await u.load(),Ao.set(l.alias,!0)}catch{return{familyForMeasure:o,familyForCanvas:o}}let d=`"${l.alias}"`;return{familyForMeasure:d,familyForCanvas:d}}async function bs(t="Material Icons",e=24){try{await Promise.all([document.fonts.load(`400 ${e}px "${String(t).replace(/["']/g,"")}"`),document.fonts.ready])}catch{}}function ws(t){let e=t.getPropertyValue("-webkit-text-fill-color")?.trim()||"",n=/^transparent$/i.test(e)||/rgba?\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(e);if(e&&!n&&e.toLowerCase()!=="currentcolor")return e;let o=t.color?.trim();return o&&o!=="inherit"?o:"#000"}async function xs(t,{family:e="Material Icons",weight:n="normal",fontSize:o=32,color:r="#000",variation:s="",className:i=""}={}){let a=String(e||"").replace(/^['"]+|['"]+$/g,""),c=window.devicePixelRatio||1,f=gs(s),{familyForMeasure:l,familyForCanvas:d}=await ys(a,i,f);await bs(d.replace(/^["']+|["']+$/g,""),o);let u=document.createElement("span");u.setAttribute("data-snapdom-internal",""),u.textContent=t,u.style.position="absolute",u.style.visibility="hidden",u.style.left="-99999px",u.style.whiteSpace="nowrap",u.style.fontFamily=l,u.style.fontWeight=String(n||"normal"),u.style.fontSize=`${o}px`,u.style.lineHeight="1",u.style.margin="0",u.style.padding="0",u.style.fontFeatureSettings="'liga' 1",u.style.fontVariantLigatures="normal",u.style.color=r,document.body.appendChild(u);let p=u.getBoundingClientRect(),m=Math.max(1,Math.ceil(p.width)),h=Math.max(1,Math.ceil(p.height));document.body.removeChild(u);let y=document.createElement("canvas");y.width=m*c,y.height=h*c;let b=y.getContext("2d");b.scale(c,c),b.font=`${n?`${n} `:""}${o}px ${d}`,b.textAlign="left",b.textBaseline="top",b.fillStyle=r;try{b.fontKerning="normal"}catch{}return b.fillText(t,0,0),{dataUrl:y.toDataURL(),width:m,height:h}}async function Fo(t,e,n=C.session.nodeMap){if(t?.nodeType!==1)return 0;let o='.material-icons, [class*="material-symbols"]',r=Array.from(t.querySelectorAll(o)).filter(a=>a&&a.textContent&&a.textContent.trim());if(t.matches?.(o)&&t.textContent&&t.textContent.trim()&&r.unshift(t),r.length===0)return 0;let s=e?.nodeType===1?Array.from(e.querySelectorAll(o)).filter(a=>a&&a.textContent&&a.textContent.trim()):[];e?.nodeType===1&&e.matches?.(o)&&e.textContent&&e.textContent.trim()&&s.unshift(e);let i=0;for(let a=0;a<r.length;a++){let c=r[a],f=n&&n.get(c)||s[a]||null;try{let l=getComputedStyle(f||c),d=l.fontFamily||"Material Icons";if(!ms(d))continue;let u=(f||c).textContent.trim();if(!u)continue;let p=parseInt(l.fontSize,10)||24,m=l.fontWeight&&l.fontWeight!=="normal"?l.fontWeight:"normal",h=ws(l),y=l.fontVariationSettings&&l.fontVariationSettings!=="normal"?l.fontVariationSettings:"",b=(f||c).className||"",{dataUrl:w,width:S,height:g}=await xs(u,{family:d,weight:m,fontSize:p,color:h,variation:y,className:b});c.textContent="";let x=c.ownerDocument.createElement("img");x.src=w,x.alt=u,x.style.height=`${p}px`,x.style.width=`${Math.max(1,Math.round(S/g*p))}px`,x.style.objectFit="contain",x.style.verticalAlign=getComputedStyle(c).verticalAlign||"baseline",c.appendChild(x),i++}catch{}}return i}At();kt();async function Po(t,e,n,o=32,r="#000",s="normal"){e=e.replace(/^['"]+|['"]+$/g,"");let i=window.devicePixelRatio||1;try{await document.fonts.ready}catch{}let a=document.createElement("span");a.setAttribute("data-snapdom-internal",""),a.textContent=t,a.style.position="absolute",a.style.visibility="hidden",a.style.fontFamily=`"${e}"`,a.style.fontWeight=n||"normal",a.style.fontStyle=s||"normal",a.style.fontSize=`${o}px`,a.style.lineHeight="1",a.style.whiteSpace="nowrap",a.style.padding="0",a.style.margin="0",document.body.appendChild(a);let c=a.getBoundingClientRect(),f=Math.ceil(c.width),l=Math.ceil(c.height);document.body.removeChild(a);let d=document.createElement("canvas");d.width=Math.max(1,f*i),d.height=Math.max(1,l*i);let u=d.getContext("2d");return u.scale(i,i),u.font=`${s||"normal"} ${n||"normal"} ${o}px "${e}"`,u.textAlign="left",u.textBaseline="top",u.fillStyle=r,u.fillText(t,0,0),{dataUrl:d.toDataURL(),width:f,height:l}}var No=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","emoji","math","fangsong","ui-serif","ui-sans-serif","ui-monospace","ui-rounded"]),Ss=["katex","mathjax","mathml"];function gn(t){if(!t)return"";for(let e of t.split(",")){let n=e.trim().replace(/^['"]+|['"]+$/g,"");if(n&&!No.has(n.toLowerCase()))return n}return""}function vs(t){if(!t)return[];let e=[];for(let n of t.split(",")){let o=n.trim().replace(/^['"]+|['"]+$/g,"");o&&(No.has(o.toLowerCase())||e.push(o))}return e}function _e(t){let e=String(t??"400").trim().toLowerCase();if(e==="normal")return 400;if(e==="bold")return 700;let n=parseInt(e,10);return Number.isFinite(n)?Math.min(900,Math.max(100,n)):400}function We(t){let e=String(t??"normal").trim().toLowerCase();return e.startsWith("italic")?"italic":e.startsWith("oblique")?"oblique":"normal"}function Cs(t){let e=String(t??"100%").match(/(\d+(?:\.\d+)?)\s*%/);return e?Math.max(50,Math.min(200,parseFloat(e[1]))):100}function As(t){let e=String(t||"400").trim(),n=e.match(/^(\d{2,3})\s+(\d{2,3})$/);if(n){let r=_e(n[1]),s=_e(n[2]);return{min:Math.min(r,s),max:Math.max(r,s)}}let o=_e(e);return{min:o,max:o}}function ks(t){let e=String(t||"normal").trim().toLowerCase();return e==="italic"?{kind:"italic"}:e.startsWith("oblique")?{kind:"oblique"}:{kind:"normal"}}function Ms(t){let e=String(t||"100%").trim(),n=e.match(/(\d+(?:\.\d+)?)\s*%\s+(\d+(?:\.\d+)?)\s*%/);if(n){let s=parseFloat(n[1]),i=parseFloat(n[2]);return{min:Math.min(s,i),max:Math.max(s,i)}}let o=e.match(/(\d+(?:\.\d+)?)\s*%/),r=o?parseFloat(o[1]):100;return{min:r,max:r}}function Fs(t){return!t||typeof t!="string"?"":t.replace(/\s+(variable|vf|v[0-9]+)$/i,"").trim().toLowerCase().replace(/\s+/g,"-")}function Rs(t,e,n=[]){if(!t)return!1;try{let o=new URL(t,location.href);if(o.origin===location.origin)return!0;let s=o.host.toLowerCase();if(["fonts.googleapis.com","fonts.gstatic.com","use.typekit.net","p.typekit.net","kit.fontawesome.com","use.fontawesome.com","cdn.jsdelivr.net","unpkg.com","cdnjs.cloudflare.com","esm.sh"].some(c=>s.endsWith(c))||n.some(c=>s===c.toLowerCase()||s.endsWith("."+c.toLowerCase())))return!0;let a=(o.pathname+o.search).toLowerCase();if(/\bfont(s)?\b/.test(a)||/\.woff2?(\b|$)/.test(a)||Ss.some(c=>a.includes(c)))return!0;for(let c of e){let f=c.toLowerCase().replace(/\s+/g,"+"),l=c.toLowerCase().replace(/\s+/g,"-"),d=Fs(c);if(a.includes(f)||a.includes(l)||d&&a.includes(d))return!0}return!1}catch{return!1}}function $s(t){let e=new Set;for(let n of t||[]){let o=String(n).split("__")[0]?.trim();o&&e.add(o)}return e}function Ro(t,e){return t&&t.replace(/url\(\s*(['"]?)([^)'"]+)\1\s*\)/g,(n,o,r)=>{let s=(r||"").trim();if(!s||/^data:|^blob:|^https?:|^file:|^about:/i.test(s))return n;let i=s;try{i=new URL(s,e||location.href).href}catch{}return`url("${i}")`})}var hn=/@import\s+(?:url\(\s*(['"]?)([^)"']+)\1\s*\)|(['"])([^"']+)\3)([^;]*);/g,Oe=4;async function Es(t,e,n){if(!t)return t;let o=new Set;function r(a,c){try{return new URL(a,c||location.href).href}catch{return a}}async function s(a,c,f=0){if(f>Oe)return console.warn(`[snapDOM] @import depth exceeded (${Oe}) at ${c}`),a;let l="",d=0,u;for(;u=hn.exec(a);){l+=a.slice(d,u.index),d=hn.lastIndex;let p=(u[2]||u[4]||"").trim(),m=r(p,c);if(o.has(m)){console.warn(`[snapDOM] Skipping circular @import: ${m}`);continue}o.add(m);let h="";try{let y=await X(m,{as:"text",useProxy:n,silent:!0});y.ok&&typeof y.data=="string"&&(h=y.data)}catch{}h?(h=Ro(h,m),h=await s(h,m,f+1),l+=`
|
|
12
|
-
/* inlined: ${m} */
|
|
13
|
-
${h}
|
|
14
|
-
`):l+=u[0]}return l+=a.slice(d),l}let i=Ro(t,e||location.href);return i=await s(i,e||location.href,0),i}var To=/url\((["']?)([^"')]+)\1\)/g,Ps=/@font-face[^{}]*\{[^}]*\}/g;function ft(t,e,n=""){return(t.match(new RegExp(`${e}\\s*:\\s*([^;}]+)[;}]`,"i"))?.[1]||n).trim()}function Lo(t){if(!t)return[];let e=[],n=t.split(",").map(o=>o.trim()).filter(Boolean);for(let o of n){let r=o.match(/^U\+([0-9A-Fa-f?]+)(?:-([0-9A-Fa-f?]+))?$/);if(!r)continue;let s=r[1],i=r[2],a=c=>{if(!c.includes("?"))return parseInt(c,16);let f=parseInt(c.replace(/\?/g,"0"),16),l=parseInt(c.replace(/\?/g,"F"),16);return[f,l]};if(i){let c=a(s),f=a(i),l=Array.isArray(c)?c[0]:c,d=Array.isArray(f)?f[1]:f;e.push([Math.min(l,d),Math.max(l,d)])}else{let c=a(s);Array.isArray(c)?e.push([c[0],c[1]]):e.push([c,c])}}return e}function Io(t,e){if(!e.length||!t||t.size===0)return!0;for(let n of t)for(let[o,r]of e)if(n>=o&&n<=r)return!0;return!1}function yn(t,e){let n=[];if(!t)return n;for(let o of t.matchAll(To)){let r=(o[2]||"").trim();if(!(!r||r.startsWith("data:"))){if(!/^https?:/i.test(r))try{r=new URL(r,e||location.href).href}catch{}n.push(r)}}return n}async function mn(t,e,n=""){let o=t;for(let r of t.matchAll(To)){let s=Et(r[0]);if(!s)continue;let i=s;if(!i.startsWith("http")&&!i.startsWith("data:"))try{i=new URL(i,e||location.href).href}catch{}if(!pt(i)){if(C.resource?.has(i)){C.font?.add(i),o=o.replace(r[0],`url(${C.resource.get(i)})`);continue}try{let a=await X(i,{as:"dataURL",useProxy:n,silent:!0});if(a.ok&&typeof a.data=="string"){let c=a.data;C.resource?.set(i,c),C.font?.add(i),o=o.replace(r[0],`url(${c})`)}}catch{console.warn("[snapDOM] Failed to fetch font resource:",i)}}}return o}function Ns(t){if(!t.length)return null;let e=(a,c)=>t.some(([f,l])=>!(l<a||f>c)),n=e(0,255)||e(305,305),o=e(256,591)||e(7680,7935),r=e(880,1023),s=e(1024,1279);return e(7840,7929)||e(258,259)||e(416,417)||e(431,432)?"vietnamese":s?"cyrillic":r?"greek":o?"latin-ext":n?"latin":null}function $o(t={}){let e=new Set((t.families||[]).map(r=>String(r).toLowerCase())),n=new Set((t.domains||[]).map(r=>String(r).toLowerCase())),o=new Set((t.subsets||[]).map(r=>String(r).toLowerCase()));return(r,s)=>{if(e.size&&e.has(r.family.toLowerCase()))return!0;if(n.size)for(let i of r.srcUrls)try{if(n.has(new URL(i).host.toLowerCase()))return!0}catch{}if(o.size){let i=Ns(s);if(i&&o.has(i))return!0}return!1}}function Ts(t){if(!t)return t;let e=/@font-face[^{}]*\{[^}]*\}/gi,n=new Set,o=[];for(let s of t.match(e)||[]){let i=ft(s,"font-family"),a=gn(i),c=ft(s,"font-weight","400"),f=ft(s,"font-style","normal"),l=ft(s,"font-stretch","100%"),d=ft(s,"unicode-range"),u=ft(s,"src"),p=yn(u,location.href),m=p.length?p.map(y=>String(y).toLowerCase()).sort().join("|"):u.toLowerCase(),h=[String(a||"").toLowerCase(),c,f,l,d.toLowerCase(),m].join("|");n.has(h)||(n.add(h),o.push(s))}if(o.length===0)return t;let r=0;return t.replace(e,()=>o[r++]||"")}var Eo=new WeakMap,Ls=0;function Is(t){let e=Eo.get(t);return e===void 0&&(e=Ls++,Eo.set(t,e)),e}function _s(t,e,n,o,r,s){let i=Array.from(t||[]).sort().join("|"),a=e?JSON.stringify({families:(e.families||[]).map(u=>String(u).toLowerCase()).sort(),domains:(e.domains||[]).map(u=>String(u).toLowerCase()).sort(),subsets:(e.subsets||[]).map(u=>String(u).toLowerCase()).sort()}):"",c=(n||[]).map(u=>`${(u.family||"").toLowerCase()}::${u.weight||"normal"}::${u.style||"normal"}::${u.src||""}`).sort().join("|"),f=o||"",l=(r||[]).map(u=>String(u).toLowerCase()).sort().join("|"),d=Is(s||document);return`fonts-embed-css::req=${i}::ex=${a}::lf=${c}::px=${f}::fd=${l}::doc=${d}`}async function _o(t,e,n,o){let r;try{r=t.cssRules||[]}catch{return}let s=(i,a)=>{try{return new URL(i,a||location.href).href}catch{return i}};for(let i of r){if(i.type===CSSRule.IMPORT_RULE&&i.styleSheet){let a=i.href?s(i.href,e):e;if(o.depth>=Oe){console.warn(`[snapDOM] CSSOM import depth exceeded (${Oe}) at ${a}`);continue}if(a&&o.visitedSheets.has(a)){console.warn(`[snapDOM] Skipping circular CSSOM import: ${a}`);continue}a&&o.visitedSheets.add(a);let c={...o,depth:(o.depth||0)+1};await _o(i.styleSheet,a,n,c);continue}if(i.type===CSSRule.FONT_FACE_RULE){let a=(i.style.getPropertyValue("font-family")||"").trim(),c=gn(a);if(!c||pt(c))continue;let f=(i.style.getPropertyValue("font-weight")||"").trim(),l=(i.style.getPropertyValue("font-style")||"").trim(),d=(i.style.getPropertyValue("font-stretch")||"").trim(),u=(i.style.getPropertyValue("font-variation-settings")||"").trim(),p=(i.style.getPropertyValue("src")||"").trim(),m=(i.style.getPropertyValue("unicode-range")||"").trim(),h=f||"400",y=l||"normal",b=d||"100%",w=(l?`font-style:${l};`:"")+(f?`font-weight:${f};`:"")+(d?`font-stretch:${d};`:"")+(u?`font-variation-settings:${u};`:"")+(m?`unicode-range:${m};`:""),S=o.faceMatchesRequired(c,y,h,b);if(!S&&!o.requiredIndex.has(c.toLowerCase()))continue;let g=Lo(m);if(!Io(o.usedCodepoints,g))continue;let x={family:c,weightSpec:h,styleSpec:y,stretchSpec:b,unicodeRange:m,srcRaw:p,srcUrls:yn(p,e||location.href),href:e||location.href};if(o.simpleExcluder&&o.simpleExcluder(x,g))continue;if(!S){o.provisionalFaces.push({family:c.toLowerCase(),block:`@font-face{font-family:${c};src:${p};${w}}`,srcRaw:p,baseHref:e||location.href});continue}if(o.coveredFamilies.add(c.toLowerCase()),/url\(/i.test(p)){let v=await mn(p,e||location.href,o.useProxy);await n(`@font-face{font-family:${c};src:${v};${w}}`)}else await n(`@font-face{font-family:${c};src:${p};${w}}`)}}}async function Be({required:t,usedCodepoints:e,exclude:n=void 0,localFonts:o=[],useProxy:r="",fontStylesheetDomains:s=[],doc:i=document}={}){t instanceof Set||(t=new Set),e instanceof Set||(e=new Set);let a=new Map;for(let g of t){let[x,v,k,A]=String(g).split("__");if(!x)continue;let M=x.toLowerCase(),F=a.get(M)||[];F.push({w:parseInt(v,10),s:k,st:parseInt(A,10)}),a.set(M,F)}function c(g,x,v,k){let A=String(g).toLowerCase();if(!a.has(A))return!1;let M=a.get(A),F=As(v),R=ks(x),E=Ms(k),O=F.min!==F.max,P=F.min,L=D=>R.kind==="normal"&&D==="normal"||R.kind!=="normal"&&(D==="italic"||D==="oblique"),U=!1;for(let D of M){let G=O?D.w>=F.min&&D.w<=F.max:D.w===P,z=L(We(D.s)),V=D.st>=E.min&&D.st<=E.max;if(G&&z&&V){U=!0;break}}if(U)return!0;if(!O)for(let D of M){let G=L(We(D.s)),z=D.st>=E.min&&D.st<=E.max;if(Math.abs(P-D.w)<=300&&G&&z)return!0}if(!O&&R.kind==="normal"&&M.some(G=>We(G.s)!=="normal"))for(let G of M){let z=Math.abs(P-G.w)<=300,V=G.st>=E.min&&G.st<=E.max;if(z&&V)return!0}return!1}let f=$o(n),l=_s(t,n,o,r,s,i);if(C.resource?.has(l))return C.resource.get(l);let d=$s(t),u=[],p=hn;for(let g of i.querySelectorAll("style")){let x=g.textContent||"";for(let v of x.matchAll(p)){let k=(v[2]||v[4]||"").trim();if(!k||pn(k))continue;i.querySelector(`link[rel="stylesheet"][href="${k}"]`)||u.push(k)}}let m=[];u.length&&await Promise.all(u.map(g=>new Promise(x=>{if(i.querySelector(`link[rel="stylesheet"][href="${g}"]`))return x(null);let v=i.createElement("link");v.rel="stylesheet",v.href=g,v.setAttribute("data-snapdom","injected-import"),v.onload=()=>x(v),v.onerror=()=>x(null),i.head.appendChild(v),m.push(v)})));let h="",y=new Set,b=[],w=Array.from(i.querySelectorAll('link[rel="stylesheet"]')).filter(g=>!!g.href);for(let g of m)try{g.remove()}catch{}for(let g of w)try{if(pn(g.href))continue;let x="",v=!1;try{v=new URL(g.href,location.href).origin===location.origin}catch{}if(!v){let A=Array.isArray(s)?s:[];if(!Rs(g.href,d,A))continue}if(v){let A=Array.from(i.styleSheets).find(M=>M.href===g.href);if(A)try{let M=A.cssRules||[];x=Array.from(M).map(F=>F.cssText).join("")}catch{}}if(!x){let A=await X(g.href,{as:"text",useProxy:r});A?.ok&&typeof A.data=="string"&&(x=A.data)}x=await Es(x,g.href,r);let k="";for(let A of x.match(Ps)||[]){let M=ft(A,"font-family"),F=gn(M);if(!F||pt(F))continue;let R=ft(A,"font-weight","400"),E=ft(A,"font-style","normal"),O=ft(A,"font-stretch","100%"),P=ft(A,"unicode-range"),L=ft(A,"src"),U=yn(L,g.href),D=c(F,E,R,O);if(!D&&!a.has(F.toLowerCase()))continue;let G=Lo(P);if(!Io(e,G))continue;let z={family:F,weightSpec:R,styleSpec:E,stretchSpec:O,unicodeRange:P,srcRaw:L,srcUrls:U,href:g.href};if(n&&f(z,G))continue;if(!D){b.push({family:F.toLowerCase(),block:A,srcRaw:L,baseHref:g.href});continue}y.add(F.toLowerCase());let V=/url\(/i.test(L)?await mn(A,g.href,r):A;k+=V}k.trim()&&(h+=k)}catch{console.warn("[snapDOM] Failed to process stylesheet:",g.href)}let S={requiredIndex:a,usedCodepoints:e,faceMatchesRequired:c,coveredFamilies:y,provisionalFaces:b,simpleExcluder:n?$o(n):null,useProxy:r,visitedSheets:new Set,depth:0};for(let g of i.styleSheets)if(!(g.href&&w.some(x=>x.href===g.href)))try{let x=g.href||location.origin+"/";x&&S.visitedSheets.add(x),await _o(g,x,async v=>{h+=v},S)}catch{}for(let g of b)y.has(g.family)||(h+=/url\(/i.test(g.srcRaw)?await mn(g.block,g.baseHref,r):g.block);try{for(let g of i.fonts||[]){if(!g||!g.family||g.status!=="loaded"||!g._snapdomSrc)continue;let x=String(g.family).replace(/^['"]+|['"]+$/g,"");if(pt(x)||!a.has(x.toLowerCase())||n?.families&&n.families.some(k=>String(k).toLowerCase()===x.toLowerCase()))continue;let v=g._snapdomSrc;if(!String(v).startsWith("data:")){if(C.resource?.has(g._snapdomSrc))v=C.resource.get(g._snapdomSrc),C.font?.add(g._snapdomSrc);else if(!C.font?.has(g._snapdomSrc))try{let k=await X(g._snapdomSrc,{as:"dataURL",useProxy:r,silent:!0});if(k.ok&&typeof k.data=="string")v=k.data,C.resource?.set(g._snapdomSrc,v),C.font?.add(g._snapdomSrc);else continue}catch{console.warn("[snapDOM] Failed to fetch dynamic font src:",g._snapdomSrc);continue}}h+=`@font-face{font-family:'${x}';src:url(${v});font-style:${g.style||"normal"};font-weight:${g.weight||"normal"};}`}}catch{}for(let g of o){if(!g||typeof g!="object")continue;let x=String(g.family||"").replace(/^['"]+|['"]+$/g,"");if(!x||pt(x)||!a.has(x.toLowerCase())||n?.families&&n.families.some(R=>String(R).toLowerCase()===x.toLowerCase()))continue;let v=g.weight!=null?String(g.weight):"normal",k=g.style!=null?String(g.style):"normal",A=g.stretchPct!=null?`${g.stretchPct}%`:"100%",M=String(g.src||""),F=M;if(!F.startsWith("data:")){if(C.resource?.has(M))F=C.resource.get(M),C.font?.add(M);else if(!C.font?.has(M))try{let R=await X(M,{as:"dataURL",useProxy:r,silent:!0});if(R.ok&&typeof R.data=="string")F=R.data,C.resource?.set(M,F),C.font?.add(M);else continue}catch{console.warn("[snapDOM] Failed to fetch localFonts src:",M);continue}}h+=`@font-face{font-family:'${x}';src:url(${F});font-style:${k};font-weight:${v};font-stretch:${A};}`}return h&&(h=Ts(h),C.resource?.set(l,h)),h}function ce(t,e){let n=new Set,o=new Set;if(!t)return{required:n,usedCodepoints:o};let r=c=>{if(c)for(let f of c)o.add(f.codePointAt(0))},s=c=>{let f=vs(c.fontFamily);if(f.length)for(let l of f)n.add(`${l}__${_e(c.fontWeight)}__${We(c.fontStyle)}__${Cs(c.fontStretch)}`)},i=c=>{s(T(c));for(let f of["::before","::after"]){let l=T(c,f),d=l&&l.content;if(!(!d||d==="none"||d==="normal"))if(s(l),/^["']/.test(d))r(d.slice(1,-1));else{let u=d.match(/\\[0-9A-Fa-f]{1,6}/g);if(u)for(let p of u)try{o.add(parseInt(p.slice(1),16))}catch{}}}};i(t);let a=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,null);for(;a.nextNode();){let c=a.currentNode;if(c.nodeType===Node.TEXT_NODE){if(e&&c.parentElement&&!e(c.parentElement))continue;r(c.nodeValue||"")}else{if(e&&!e(c))continue;i(c)}}return{required:n,usedCodepoints:o}}function Wo(t,e){return ce(t,e).required}async function zt(t,e=2,n=document){try{await n.fonts.ready}catch{}let o=Array.from(t||[]).filter(Boolean);if(o.length===0)return;let r=()=>{let s=n.createElement("div");s.setAttribute("data-snapdom-internal",""),s.style.cssText="position:absolute!important;left:-9999px!important;top:0!important;opacity:0!important;pointer-events:none!important;contain:layout size style;";for(let i of o){let a=n.createElement("span");a.textContent="AaBbGg1234\xC1\xC9\xCD\xD3\xDA\xE7\xF1\u2014\u221E",a.style.fontFamily=`"${i}"`,a.style.fontWeight="700",a.style.fontStyle="italic",a.style.fontSize="32px",a.style.lineHeight="1",a.style.whiteSpace="nowrap",a.style.margin="0",a.style.padding="0",s.appendChild(a)}n.body.appendChild(s),s.offsetWidth,n.body.removeChild(s)};for(let s=0;s<Math.max(1,e);s++)r(),await mt(),await mt()}function Do(t){return/\bcounter\s*\(|\bcounters\s*\(/.test(t||"")}function Oo(t,e=!1){let n="",o=Math.max(1,t);for(;o>0;)o--,n=String.fromCharCode(97+o%26)+n,o=Math.floor(o/26);return e?n.toUpperCase():n}function Bo(t,e=!0){let n=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]],o=Math.max(1,Math.min(3999,t)),r="";for(let[s,i]of n)for(;o>=s;)r+=i,o-=s;return e?r:r.toLowerCase()}function Uo(t,e){switch((e||"decimal").toLowerCase()){case"decimal":return String(t);case"decimal-leading-zero":{let n=Math.abs(t);return(t<0?"-":"")+(n<10?"0":"")+String(n)}case"lower-alpha":return Oo(t,!1);case"upper-alpha":return Oo(t,!0);case"lower-roman":return Bo(t,!1);case"upper-roman":return Bo(t,!0);default:return String(t)}}function Ho(t){let e=new WeakMap,n=Qn(t)?t.documentElement:t,o=f=>f&&f.tagName==="LI",r=f=>{let l=0,d=f?.parentElement;if(!d)return 0;for(let u of d.children){if(u===f)break;u.tagName==="LI"&&l++}return l},s=f=>{let l=new Map;for(let[d,u]of f)l.set(d,u.slice());return l},i=(f,l,d)=>{let u=s(f),p;try{p=d.style?.counterReset||getComputedStyle(d).counterReset}catch{}if(p&&p!=="none")for(let y of p.split(",")){let b=y.trim().split(/\s+/),w=b[0],S=Number.isFinite(Number(b[1]))?Number(b[1]):0;if(!w)continue;let g=l.get(w);if(g&&g.length){let x=g.slice();x.push(S),u.set(w,x)}else u.set(w,[S])}let m;try{m=d.style?.counterSet||getComputedStyle(d).counterSet}catch{}if(m&&m!=="none")for(let y of m.split(",")){let b=y.trim().split(/\s+/),w=b[0],S=Number.isFinite(Number(b[1]))?Number(b[1]):0;if(!w)continue;let g=u.get(w)||[];g.length===0&&g.push(0),g[g.length-1]=S,u.set(w,g)}let h;try{h=d.style?.counterIncrement||getComputedStyle(d).counterIncrement}catch{}if(h&&h!=="none")for(let y of h.split(",")){let b=y.trim().split(/\s+/),w=b[0],S=Number.isFinite(Number(b[1]))?Number(b[1]):1;if(!w)continue;let g=u.get(w)||[];g.length===0&&g.push(0),g[g.length-1]+=S,u.set(w,g)}try{if(getComputedStyle(d).display==="list-item"&&o(d)){let b=d.parentElement,w=1;if(b&&b.tagName==="OL"){let g=b.getAttribute("start"),x=Number.isFinite(Number(g))?Number(g):1,v=r(d),k=d.getAttribute("value");w=Number.isFinite(Number(k))?Number(k):x+v}else w=1+r(d);let S=u.get("list-item")||[];S.length===0&&S.push(0),S[S.length-1]=w,u.set("list-item",S)}}catch{}return u},a=(f,l,d)=>{let u=i(d,l,f);e.set(f,u);let p=u;for(let h of f.children)p=a(h,u,p);let m=new Map;for(let[h,y]of d){let b=y.length,w=p.get(h);m.set(h,w&&w.length?w.slice(0,b):y.slice())}for(let[h,y]of p)!m.has(h)&&y.length&&!l.has(h)&&m.set(h,y.slice(0,1));return m},c=new Map;return a(n,c,c),{get(f,l){let d=e.get(f)?.get(l);return d&&d.length?d[d.length-1]:0},getStack(f,l){let d=e.get(f)?.get(l);return d?d.slice():[]}}}function zo(t,e,n){if(!t||t==="none")return t;try{let o=/\b(counter|counters)\s*\(([^)]+)\)/g;return t.replace(o,(r,s,i)=>{let a=String(i).split(",").map(c=>c.trim());if(s==="counter"){let c=a[0]?.replace(/^["']|["']$/g,""),f=(a[1]||"decimal").toLowerCase(),l=n.get(e,c);return Uo(l,f)}else{let c=a[0]?.replace(/^["']|["']$/g,""),f=a[1]?.replace(/^["']|["']$/g,"")??"",l=(a[2]||"decimal").toLowerCase(),d=n.getStack(e,c);return d.length?d.map(p=>Uo(p,l)).join(f):""}})}catch{return"- "}}At();var Vt=new WeakMap,Vo=1e3;function Ws(t,e){let n=Go(t);return e?(e.__pseudoPreflightFp!==n&&(e.__pseudoPreflight=qo(t,n),e.__pseudoPreflightFp=n),!!e.__pseudoPreflight):qo(t,n)}function bn(t){try{return t&&t.cssRules?t.cssRules:null}catch{return null}}function Go(t){let e=t.querySelectorAll('style,link[rel~="stylesheet"]'),n=`n:${e.length}|`,o=0;for(let s=0;s<e.length;s++){let i=e[s];if(i.tagName==="STYLE"){let a=i.textContent?i.textContent.length:0;n+=`S${a}|`;let c=i.sheet,f=c?bn(c):null;f&&(o+=f.length)}else{let a=i.getAttribute("href")||"",c=i.getAttribute("media")||"all";n+=`L${a}|m:${c}|`;let f=i.sheet,l=f?bn(f):null;l&&(o+=l.length)}}let r=t.adoptedStyleSheets;return n+=`ass:${Array.isArray(r)?r.length:0}|tr:${o}`,n}function jo(t,e,n){let o=bn(t);if(!o)return!1;for(let r=0;r<o.length;r++){if(n.budget<=0)return!1;let s=o[r],i=s&&s.cssText?s.cssText:"";n.budget--;for(let a of e)if(i.includes(a))return!0;if(s&&s.cssRules&&s.cssRules.length)for(let a=0;a<s.cssRules.length&&n.budget>0;a++){let c=s.cssRules[a],f=c&&c.cssText?c.cssText:"";n.budget--;for(let l of e)if(f.includes(l))return!0}if(n.budget<=0)return!1}return!1}function qo(t=document,e=Go(t)){let n=Vt.get(t);if(n&&n.fingerprint===e)return n.result;let o=["::before","::after","::first-letter",":before",":after",":first-letter","counter(","counters(","counter-increment","counter-reset"],r=t.querySelectorAll("style");for(let i=0;i<r.length;i++){let a=r[i].textContent||"";for(let c of o)if(a.includes(c))return Vt.set(t,{fingerprint:e,result:!0}),!0}let s=t.adoptedStyleSheets;if(Array.isArray(s)&&s.length){let i={budget:Vo};try{for(let a of s)if(jo(a,o,i))return Vt.set(t,{fingerprint:e,result:!0}),!0}catch{}}{let i=t.querySelectorAll('style,link[rel~="stylesheet"]'),a={budget:Vo};for(let c=0;c<i.length&&a.budget>0;c++){let f=i[c],l=null;if(f.tagName,l=f.sheet||null,l&&jo(l,o,a))return Vt.set(t,{fingerprint:e,result:!0}),!0}}return t.querySelector('[style*="counter("], [style*="counters("]')?(Vt.set(t,{fingerprint:e,result:!0}),!0):(Vt.set(t,{fingerprint:e,result:!1}),!1)}function Xo(t){for(let e of["Top","Right","Bottom","Left"]){let n=parseFloat(t[`border${e}Width`])||0,o=t[`border${e}Style`];if(n>0&&o&&o!=="none"&&o!=="hidden")return!0}return!1}function Os(t,e){let n=null,o=()=>{if(!n)try{n=Ho(t)}catch(r){W(e,"buildCounterContext failed",r),n={get:()=>0,getStack:()=>[]}}return n};return{get(r,s){return o().get(r,s)},getStack(r,s){return o().getStack(r,s)}}}function Bs(t){let e=!1;for(let n=0;n<t.length;n++){let o=t[n];if(o==='"')e=!e;else if(o==="/"&&!e)return t.slice(0,n).trim()}return t}function Us(t){if(!t)return"";let e=[],n=/"([^"]*)"/g,o=0,r;for(;r=n.exec(t);){let i=t.slice(o,r.index).trim();i&&e.push(i),e.push(r[1]),o=n.lastIndex}let s=t.slice(o).trim();return s&&e.push(s),e.join("")}function wn(t,e,n){let o=t.parentElement,r=o&&n?n.get(o):null;return r?{get(s,i){let a=e.get(s,i),c=r.get(i);return typeof c=="number"?Math.max(a,c):a},getStack(s,i){let a=e.getStack(s,i);if(!a.length)return a;let c=r.get(i);if(typeof c=="number"){let f=a.slice();return f[f.length-1]=Math.max(f[f.length-1],c),f}return a}}:e}function xn(t,e,n){let o=new Map;function r(f){let l=[];if(!f||f==="none")return l;for(let d of String(f).split(",")){let u=d.trim().split(/\s+/),p=u[0],m=Number.isFinite(Number(u[1]))?Number(u[1]):void 0;p&&l.push({name:p,num:m})}return l}let s=r(e?.counterReset),i=r(e?.counterSet),a=r(e?.counterIncrement);function c(f){if(o.has(f))return o.get(f).slice();let l=n.getStack(t,f);l=l.length?l.slice():[];let d=s.find(m=>m.name===f);if(d){let m=Number.isFinite(d.num)?d.num:0;l=l.length?[...l,m]:[m]}let u=i.find(m=>m.name===f);if(u){let m=Number.isFinite(u.num)?u.num:0;l.length===0&&(l=[0]),l[l.length-1]=m}let p=a.find(m=>m.name===f);if(p){let m=Number.isFinite(p.num)?p.num:1;l.length===0&&(l=[0]),l[l.length-1]+=m}return o.set(f,l.slice()),l}return{get(f,l){let d=c(l);return d.length?d[d.length-1]:0},getStack(f,l){return c(l)},__incs:a}}function Ds(t,e,n,o){let r;try{r=T(t,e)}catch{}let s=r?.content;if(!s||s==="none"||s==="normal")return{text:"",incs:[]};s=Bs(s);let i=wn(t,n,o),a=xn(t,r,i),c=Do(s)?zo(s,t,a):s;return{text:Us(c),incs:a.__incs||[]}}async function Ue(t,e,n,o){if(t?.nodeType!==1||e?.nodeType!==1||t.tagName==="TEXTAREA")return;let r=t.ownerDocument||document;if(!Ws(r,n))return;n.__siblingCounters||(n.__siblingCounters=new WeakMap),n.__counterCtx||(n.__counterCtx=Os(t.ownerDocument||document,n));let s=n.__counterCtx;for(let a of["::before","::after","::first-letter"])try{let c=T(t,a);if(!c||c.content==="none"&&c.backgroundImage==="none"&&(c.backgroundColor==="transparent"||c.backgroundColor==="rgba(0, 0, 0, 0)")&&!Xo(c)&&(!c.transform||c.transform==="none")&&c.display==="inline")continue;if(c.display==="none"||a!=="::first-letter"&&(c.content==="none"||c.content==="normal")){a==="::before"&&(e.dataset.snapdomHasBefore="1"),a==="::after"&&(e.dataset.snapdomHasAfter="1");continue}if(a==="::first-letter"){let N=T(t),B=(N?.display||"").toLowerCase();if(B.includes("flex")||B.includes("grid"))continue;let _=xt=>c[xt]!==N[xt]&&(parseFloat(c[xt])||0)!==0;if(!(c.color!==N.color||c.fontSize!==N.fontSize||c.fontWeight!==N.fontWeight||c.fontFamily!==N.fontFamily||c.fontStyle!==N.fontStyle||c.textTransform!==N.textTransform||c.float!==N.float&&c.float!=="none"||_("paddingTop")||_("paddingRight")||_("paddingBottom")||_("paddingLeft")||_("marginTop")||_("marginRight")||_("marginBottom")||_("marginLeft")))continue;let at=Array.from(e.childNodes).find(xt=>xt.nodeType===Node.TEXT_NODE&&xt.textContent?.trim().length>0);if(!at)continue;let Ft=at.textContent,bt=Ft.match(/^([^\p{L}\p{N}\s]*[\p{L}\p{N}](?:['’])?)/u)?.[0],_t=Ft.slice(bt?.length||0);if(!bt||/[\uD800-\uDFFF]/.test(bt))continue;let wt=document.createElement("span");wt.textContent=bt,wt.dataset.snapdomPseudo="::first-letter";let pe=Fe(c),he=Ot(pe,"span");n.styleMap.set(wt,he);let me=document.createTextNode(_t);e.replaceChild(me,at),e.insertBefore(wt,me);continue}let d=c.content??"",u=d===""||d==="none"||d==="normal",{text:p,incs:m}=Ds(t,a,s,n.__siblingCounters),h=c.backgroundImage,y=c.backgroundColor,b=c.fontFamily,w=parseInt(c.fontSize)||32,S=parseInt(c.fontWeight)||!1,g=c.fontStyle||"normal",x=c.color||"#000",v=c.transform,k=pt(b),A=!u&&p!=="",M=h&&h!=="none",F=y&&y!=="transparent"&&y!=="rgba(0, 0, 0, 0)",R=Xo(c),E=v&&v!=="none",O=d!=="none"&&d!=="normal",P=/^inline-/.test(c.display||""),L=O&&((parseFloat(c.width)||0)>0||(parseFloat(c.height)||0)>0||P),U=O&&c.boxShadow&&c.boxShadow!=="none",D=O&&c.outlineStyle&&c.outlineStyle!=="none"&&(parseFloat(c.outlineWidth)||0)>0;if(!(A||M||F||R||E||L||U||D)){if(m&&m.length&&t.parentElement){let N=n.__siblingCounters.get(t.parentElement)||new Map;for(let{name:B}of m){if(!B)continue;let _=wn(t,s,n.__siblingCounters),at=xn(t,T(t,a),_).get(t,B);N.set(B,at)}n.__siblingCounters.set(t.parentElement,N)}continue}let z=p.startsWith("url(")||/^-?(?:webkit-)?image-set\(/i.test(p),V=!1;if(A&&!k&&p.length>1&&!z){let N=T(t),B=parseFloat(N.fontSize)||16,_=parseFloat(N.lineHeight);Number.isFinite(_)||(_=B*1.5),t.getBoundingClientRect().height<_*1.6&&(e.style.whiteSpace="nowrap",V=!0)}let I=document.createElement("span");I.dataset.snapdomPseudo=a,I.style.pointerEvents="none",V&&(I.style.whiteSpace="nowrap");let Q=Fe(c),it=(T(t).display||"").toLowerCase(),st=it.includes("flex")||it.includes("grid");if(st){let N=Q["min-width"];(!N||N==="auto"||N==="0px")&&(Q["min-width"]="0px")}let ut=Ot(Q,"span",A,st);if(n.styleMap.set(I,ut),k&&p&&p.length===1){let{dataUrl:N,width:B,height:_}=await Po(p,b,S,w,x,g),j=document.createElement("img");j.src=N,j.style=`height:${w}px;width:${B/_*w}px;object-fit:contain;`,I.appendChild(j),e.dataset.snapdomHasIcon="true"}else if(p&&z){let N=Qt(p,typeof devicePixelRatio<"u"&&devicePixelRatio||1)??Et(p);if(N?.trim())try{let B=await X(Ct(N),{as:"dataURL",useProxy:o.useProxy});if(B?.ok&&typeof B.data=="string"){let _=document.createElement("img");_.src=B.data,_.style=`width:${w}px;height:auto;object-fit:contain;`,I.appendChild(_)}}catch(B){console.error(`[snapdom] Error in pseudo ${a} for`,t,B)}}else!k&&A&&(I.textContent=p);I.style.backgroundImage="none","maskImage"in I.style&&(I.style.maskImage="none"),"webkitMaskImage"in I.style&&(I.style.webkitMaskImage="none");try{I.style.backgroundRepeat=c.backgroundRepeat,I.style.backgroundSize=c.backgroundSize,c.backgroundPositionX&&c.backgroundPositionY?(I.style.backgroundPositionX=c.backgroundPositionX,I.style.backgroundPositionY=c.backgroundPositionY):I.style.backgroundPosition=c.backgroundPosition,I.style.backgroundOrigin=c.backgroundOrigin,I.style.backgroundClip=c.backgroundClip,I.style.backgroundAttachment=c.backgroundAttachment,I.style.backgroundBlendMode=c.backgroundBlendMode}catch{}if(M)try{let N=Bt(h),B=await Promise.all(N.map(Pt));I.style.backgroundImage=B.join(", ")}catch(N){console.warn(`[snapdom] Failed to inline background-image for ${a}`,N)}F&&(I.style.backgroundColor=y);let It=I.childNodes.length>0||I.textContent?.trim()!==""||M||F||R||E||L||U||D;if(m&&m.length&&t.parentElement){let N=n.__siblingCounters.get(t.parentElement)||new Map,B=wn(t,s,n.__siblingCounters),_=xn(t,T(t,a),B);for(let{name:j}of m){if(!j)continue;let at=_.get(t,j);N.set(j,at)}n.__siblingCounters.set(t.parentElement,N)}if(!It)continue;a==="::before"?(e.dataset.snapdomHasBefore="1",e.insertBefore(I,e.firstChild)):(e.dataset.snapdomHasAfter="1",e.appendChild(I))}catch(c){console.warn(`[snapdom] Failed to capture ${a} for`,t,c)}let i=Array.from(e.children).filter(a=>!a.dataset.snapdomPseudo);if(n.nodeMap)for(let a of i){let c=n.nodeMap.get(a);c?.nodeType===1&&await Ue(c,a,n,o)}else{let a=Array.from(t.children);for(let c=0;c<Math.min(a.length,i.length);c++)await Ue(a[c],i[c],n,o)}}function Yo(t,e){if(!t||t?.nodeType!==1)return;let n=t.ownerDocument||document,o=e||n,r=Kn(t)?[t]:Array.from(t.querySelectorAll("svg"));if(r.length===0)return;let s=/url\(\s*#([^)]+)\)/g,i=["fill","stroke","filter","clip-path","mask","marker","marker-start","marker-mid","marker-end"],a=g=>window.CSS&&CSS.escape?CSS.escape(g):g.replace(/[^a-zA-Z0-9_-]/g,"\\$&"),c="http://www.w3.org/1999/xlink",f=g=>{if(!g||!g.getAttribute)return null;let x=g.getAttribute("href")||g.getAttribute("xlink:href")||(typeof g.getAttributeNS=="function"?g.getAttributeNS(c,"href"):null);if(x)return x;let v=g.attributes;if(!v)return null;for(let k=0;k<v.length;k++){let A=v[k];if(!A||!A.name)continue;if(A.name==="href")return A.value;let M=A.name.indexOf(":");if(M!==-1&&A.name.slice(M+1)==="href")return A.value}return null},l=new Set(Array.from(t.querySelectorAll("[id]")).map(g=>g.id)),d=new Set,u=!1,p=(g,x=null)=>{if(!g)return;s.lastIndex=0;let v;for(;v=s.exec(g);){u=!0;let k=(v[1]||"").trim();k&&(l.has(k)||(d.add(k),x&&!x.has(k)&&x.add(k)))}},m=g=>{let x=g.querySelectorAll("use");for(let A of x){let M=f(A);if(!M||!M.startsWith("#"))continue;u=!0;let F=M.slice(1).trim();F&&!l.has(F)&&d.add(F)}let v='*[style*="url("],*[fill^="url("], *[stroke^="url("],*[filter^="url("],*[clip-path^="url("],*[mask^="url("],*[marker^="url("],*[marker-start^="url("],*[marker-mid^="url("],*[marker-end^="url("]';p(g.getAttribute("style")||"");for(let A of i)p(g.getAttribute(A));let k=g.querySelectorAll(v);for(let A of k){p(A.getAttribute("style")||"");for(let M of i)p(A.getAttribute(M))}};for(let g of r)m(g);if(!u)return;let h=t.querySelector("svg.inline-defs-container");h||(h=n.createElementNS("http://www.w3.org/2000/svg","svg"),h.classList.add("inline-defs-container"),h.setAttribute("aria-hidden","true"),h.setAttribute("style","position:absolute;width:0;height:0;overflow:hidden"),t.insertBefore(h,t.firstChild||null));let y=h.querySelector("defs")||null,b=g=>{if(!g||l.has(g))return null;let x=a(g),v=k=>{let A=o.querySelector(k);return A&&!t.contains(A)?A:null};return v(`svg defs > *#${x}`)||v(`svg > symbol#${x}`)||v(`*#${x}`)};if(!d.size)return;let w=new Set(d),S=new Set;for(;w.size;){let g=w.values().next().value;if(w.delete(g),!g||l.has(g)||S.has(g))continue;let x=b(g);if(!x){S.add(g);continue}y||(y=n.createElementNS("http://www.w3.org/2000/svg","defs"),h.appendChild(y));let v=x.cloneNode(!0);v.id||v.setAttribute("id",g),y.appendChild(v),S.add(g),l.add(g);let k=[v,...v.querySelectorAll("*")];for(let A of k){let M=f(A);if(M&&M.startsWith("#")){let R=M.slice(1).trim();R&&!l.has(R)&&!S.has(R)&&w.add(R)}let F=A.getAttribute?.("style")||"";F&&p(F,w);for(let R of i){let E=A.getAttribute?.(R);E&&p(E,w)}}}}nt();function Ko(t){let e=getComputedStyle(t),n=e.outlineStyle,o=e.outlineWidth,r=e.borderStyle,s=e.borderWidth,i=n!=="none"&&parseFloat(o)>0,a=r==="none"||parseFloat(s)===0;if(i&&a){let c=t.style.border;return t.style.border=`${o} solid transparent`,()=>{t.style.border=c}}return()=>{}}function Qo(t){let e=[];try{let n=t.querySelectorAll("*");for(let o of n){if(!Ut(o))continue;let r=o.style.contentVisibility||"",s=getComputedStyle(o);(s.contentVisibility||s.getPropertyValue("content-visibility")||"")==="auto"&&(e.push({el:o,original:r}),o.style.contentVisibility="visible")}if(Ut(t)){let o=getComputedStyle(t);(o.contentVisibility||o.getPropertyValue("content-visibility")||"")==="auto"&&(e.push({el:t,original:t.style.contentVisibility||""}),t.style.contentVisibility="visible")}}catch{}return()=>{for(let{el:n,original:o}of e)try{n.style.contentVisibility=o}catch{}}}ct();te();function Zo(t){return tr(t.boxShadow)}function Jo(t){return tr(t.textShadow)}function tr(t){if(!t||t==="none")return{top:0,right:0,bottom:0,left:0};let e=[],n="",o=0;for(let c=0;c<t.length;c++){let f=t[c];f==="("?o++:f===")"&&(o=Math.max(0,o-1)),f===","&&o===0?(e.push(n),n=""):n+=f}n.trim()&&e.push(n);let r=0,s=0,i=0,a=0;for(let c of e){if(/\binset\b/i.test(c))continue;let f=c.match(/-?\d+(\.\d+)?px/g)?.map(y=>parseFloat(y))||[];if(f.length<2)continue;let[l,d,u=0,p=0]=f,m=Math.abs(l)+u+p,h=Math.abs(d)+u+p;s=Math.max(s,m+Math.max(l,0)),a=Math.max(a,m+Math.max(-l,0)),i=Math.max(i,h+Math.max(d,0)),r=Math.max(r,h+Math.max(-d,0))}return{top:Math.ceil(r),right:Math.ceil(s),bottom:Math.ceil(i),left:Math.ceil(a)}}function er(t){let e=t.filter&&t.filter!=="none"?t.filter:t.webkitFilter||"",n=/blur\(\s*([0-9.]+)px\s*\)/gi,o=0,r;for(;r=n.exec(e);)o+=parseFloat(r[1])||0;let s=Math.ceil(o);return{top:s,right:s,bottom:s,left:s}}function nr(t){if((t.outlineStyle||"none")==="none")return{top:0,right:0,bottom:0,left:0};let e=Math.ceil(parseFloat(t.outlineWidth||"0")||0),n=parseFloat(t.outlineOffset||"0")||0,o=e+Math.max(0,Math.ceil(n));return{top:o,right:o,bottom:o,left:o}}function or(t){let e=`${t.filter||""} ${t.webkitFilter||""}`.trim();if(!e||e==="none")return{bleed:{top:0,right:0,bottom:0,left:0},has:!1};let n=e.match(/drop-shadow\((?:[^()]|\([^()]*\))*\)/gi)||[],o=0,r=0,s=0,i=0,a=!1;for(let c of n){a=!0;let f=c.match(/-?\d+(?:\.\d+)?px/gi)?.map(h=>parseFloat(h))||[],[l=0,d=0,u=0]=f,p=Math.abs(l)+u,m=Math.abs(d)+u;r=Math.max(r,p+Math.max(l,0)),i=Math.max(i,p+Math.max(-l,0)),s=Math.max(s,m+Math.max(d,0)),o=Math.max(o,m+Math.max(-d,0))}return{bleed:{top:$(o),right:$(r),bottom:$(s),left:$(i)},has:a}}function rr(t,e){if(!t||!e||!e.style)return null;let n=getComputedStyle(t);try{e.style.transformOrigin="0 0"}catch{}try{"translate"in e.style&&(e.style.translate="none"),"rotate"in e.style&&(e.style.rotate="none")}catch{}let o=n.transform||"none";if(!o||o==="none"){let a=null;try{a=qt(t).scale}catch{}try{e.style.transform="none"}catch{}if(!a)return{a:1,b:0,c:0,d:1};let c=a.trim().split(/\s+/).map(parseFloat),f=Number.isFinite(c[0])?c[0]:1,l=Number.isFinite(c[1])?c[1]:f;return{a:f,b:0,c:0,d:l}}function r(a,c,f,l){let d=Math.sqrt(a*a+c*c)||0,u=0,p=0;if(d>0){let m=a/d,h=c/d;u=m*f+h*l;let y=f-m*u,b=l-h*u;p=Math.sqrt(y*y+b*b)||0,p>0?u=u/p:u=0}return{a:d,b:0,c:u*p,d:p}}let s=o.match(/^matrix\(\s*([^)]+)\)$/i);if(s){let a=s[1].split(",").map(c=>parseFloat(c.trim()));if(a.length===6&&a.every(Number.isFinite)){let[c,f,l,d]=a,u=r(c,f,l,d);try{e.style.transform=`matrix(${u.a}, ${u.b}, ${u.c}, ${u.d}, 0, 0)`}catch{}return u}}let i=o.match(/^matrix3d\(\s*([^)]+)\)$/i);if(i){let a=i[1].split(",").map(c=>parseFloat(c.trim()));if(a.length===16&&a.every(Number.isFinite)){let c=a[0],f=a[1],l=a[4],d=a[5],u=r(c,f,l,d);try{e.style.transform=`matrix(${u.a}, ${u.b}, ${u.c}, ${u.d}, 0, 0)`}catch{}return u}}try{let a=new DOMMatrix(o),c=r(a.a,a.b,a.c,a.d);try{e.style.transform=`matrix(${c.a}, ${c.b}, ${c.c}, ${c.d}, 0, 0)`}catch{}return c}catch{return null}}function jt(t,e,n,o,r){let s=n.a,i=n.b,a=n.c,c=n.d,f=n.e||0,l=n.f||0;function d(b,w){let S=b-o,g=w-r,x=s*S+a*g,v=i*S+c*g;return x+=o+f,v+=r+l,[x,v]}let u=[d(0,0),d(t,0),d(0,e),d(t,e)],p=1/0,m=1/0,h=-1/0,y=-1/0;for(let[b,w]of u)b<p&&(p=b),w<m&&(m=w),b>h&&(h=b),w>y&&(y=w);return{minX:p,minY:m,maxX:h,maxY:y,width:h-p,height:y-m}}function le(t,e,n){let o=(t.transformOrigin||"0 0").trim().split(/\s+/),[r,s]=[o[0]||"0",o[1]||"0"],i=(a,c)=>{let f=a.toLowerCase();return f==="left"||f==="top"?0:f==="center"?c/2:f==="right"||f==="bottom"?c:f.endsWith("px")?parseFloat(f)||0:f.endsWith("%")?(parseFloat(f)||0)*c/100:/^-?\d+(\.\d+)?$/.test(f)&&parseFloat(f)||0};return{ox:i(r,e),oy:i(s,n)}}function qt(t){let e={rotate:"0deg",scale:null,translate:null},n=typeof t.computedStyleMap=="function"?t.computedStyleMap():null;if(n){let r=c=>{try{return typeof n.has=="function"&&!n.has(c)||typeof n.get!="function"?null:n.get(c)}catch{return null}},s=r("rotate");if(s)if(s.angle){let c=s.angle;e.rotate=c.unit==="rad"?c.value*180/Math.PI+"deg":c.value+c.unit}else s.unit?e.rotate=s.unit==="rad"?s.value*180/Math.PI+"deg":s.value+s.unit:e.rotate=String(s);else{let c=getComputedStyle(t);e.rotate=c.rotate&&c.rotate!=="none"?c.rotate:"0deg"}let i=r("scale");if(i){let c="x"in i&&i.x?.value!=null?i.x.value:Array.isArray(i)?i[0]?.value:Number(i)||1,f="y"in i&&i.y?.value!=null?i.y.value:Array.isArray(i)?i[1]?.value:c;e.scale=`${c} ${f}`}else{let c=getComputedStyle(t);e.scale=c.scale&&c.scale!=="none"?c.scale:null}let a=r("translate");if(a){let c="x"in a&&"value"in a.x?a.x.value:Array.isArray(a)?a[0]?.value:0,f="y"in a&&"value"in a.y?a.y.value:Array.isArray(a)?a[1]?.value:0,l="x"in a&&a.x?.unit?a.x.unit:"px",d="y"in a&&a.y?.unit?a.y.unit:"px";e.translate=`${c}${l} ${f}${d}`}else{let c=getComputedStyle(t);e.translate=c.translate&&c.translate!=="none"?c.translate:null}return e}let o=getComputedStyle(t);return e.rotate=o.rotate&&o.rotate!=="none"?o.rotate:"0deg",e.scale=o.scale&&o.scale!=="none"?o.scale:null,e.translate=o.translate&&o.translate!=="none"?o.translate:null,e}var Sn=null;function Hs(){if(Sn)return Sn;let t=document.createElement("div");return t.id="snapdom-measure-slot",t.setAttribute("aria-hidden","true"),Object.assign(t.style,{position:"absolute",left:"-99999px",top:"0px",width:"0px",height:"0px",overflow:"hidden",opacity:"0",pointerEvents:"none",contain:"size layout style"}),document.documentElement.appendChild(t),Sn=t,t}function ir(t){let e=Hs(),n=document.createElement("div");n.style.transformOrigin="0 0",t.baseTransform&&(n.style.transform=t.baseTransform),t.rotate&&(n.style.rotate=t.rotate),t.scale&&(n.style.scale=t.scale),t.translate&&(n.style.translate=t.translate),e.appendChild(n);let o=zs(n);return e.removeChild(n),o}function sr(t){let e=T(t),n=e.transform||"none";if(n!=="none"&&!/^matrix\(\s*1\s*,\s*0\s*,\s*0\s*,\s*1\s*,\s*0\s*,\s*0\s*\)$/i.test(n))return!0;let r=e.rotate&&e.rotate!=="none"&&e.rotate!=="0deg",s=e.scale&&e.scale!=="none"&&e.scale!=="1",i=e.translate&&e.translate!=="none"&&e.translate!=="0px 0px";return!!(r||s||i)}function zs(t){let e=getComputedStyle(t).transform;if(!e||e==="none")return new DOMMatrix;try{return new DOMMatrix(e)}catch{return new WebKitCSSMatrix(e)}}var fr=new WeakSet;function De(t,e){if(!e)return null;let n=t.ownerDocument||document,o=n.defaultView||window,r,s,i,a;if(e==="viewport")r=0,s=0,i=n.documentElement?.clientWidth||o.innerWidth,a=n.documentElement?.clientHeight||o.innerHeight;else if(typeof e=="object")r=(Number(e.x)||0)-(o.scrollX||0),s=(Number(e.y)||0)-(o.scrollY||0),i=Number(e.width),a=Number(e.height);else return null;return i>0&&a>0?{left:r,top:s,width:i,height:a,right:r+i,bottom:s+a}:null}function vn(t){if(t.parentElement)return t.parentElement;let e=t.getRootNode&&t.getRootNode();return oe(e)?e.host:null}function Vs(t,e){for(let n=e;n;n=vn(n))if(n===t)return!0;return!1}function js(t,e){for(let n=vn(t);n&&n!==e&&n?.nodeType===1;n=vn(n)){let o=T(n);if(o.position!=="static"||o.transform&&o.transform!=="none"||o.filter&&o.filter!=="none"||o.backdropFilter&&o.backdropFilter!=="none"||o.perspective&&o.perspective!=="none"||/transform|perspective|filter/.test(o.willChange||"")||/layout|paint|strict|content/.test(o.contain||""))return n}return null}function An(t,e){try{let n=new DOMMatrix;if(e&&e.rotate&&e.rotate!=="0deg"&&(n=n.multiply(new DOMMatrix(`rotate(${e.rotate})`))),e&&e.scale){let o=String(e.scale).trim().split(/\s+/).filter(Boolean);o.length&&o.every(r=>Number.isFinite(Number(r)))&&(n=n.multiply(new DOMMatrix(`scale(${o.join(",")})`)))}return t&&(n=n.multiply(new DOMMatrix(t))),n}catch{return null}}function ur(t,e,n,o,r){let s=t.getBoundingClientRect();e?.nodeType===1&&e.namespaceURI===ee&&T(t).position==="static"&&(e.style.position="relative");let i=[];for(let[a,c]of n){if(a?.nodeType!==1||a.namespaceURI!==ee||c?.nodeType!==1||c===t||!Vs(t,c))continue;let f=o.get(c)||T(c),l=f.position;if(l!=="fixed"&&l!=="sticky"&&l!=="-webkit-sticky"||a.style.position==="absolute")continue;let d=c.getBoundingClientRect();if(!(d.width>0&&d.height>0))continue;fr.add(a);let u=f.transform&&f.transform!=="none"?f.transform:"",p=qt(c),m=!!(u||p.rotate!=="0deg"||p.scale||p.translate),h=m?An(u,p):null,y=!h||!h.is2D||h.a===1&&h.b===0&&h.c===0&&h.d===1,b=d.width,w=d.height;y||(b=c.offsetWidth||d.width,w=c.offsetHeight||d.height);let S=c.getRootNode&&oe(c.getRootNode()),g=s,x=t.clientLeft||0,v=t.clientTop||0;if(S){let R=js(c,t);R&&(g=R.getBoundingClientRect(),x=R.clientLeft||0,v=R.clientTop||0)}let k=d.left-g.left-x,A=d.top-g.top-v;if(m)if(a.style.translate="none",a.style.rotate="none",a.style.scale="none",y)a.style.transform="none";else{a.style.transform=`matrix(${h.a},${h.b},${h.c},${h.d},0,0)`;let{ox:R,oy:E}=le(f,b,w),O=jt(b,w,{a:h.a,b:h.b,c:h.c,d:h.d,e:0,f:0},R,E);k-=O.minX,A-=O.minY}if(l!=="fixed"){let R=a.cloneNode(!1);R.setAttribute("data-snap-ph","1"),R.style.position="static",R.style.visibility="hidden",R.style.width=`${b}px`,R.style.height=`${w}px`,R.style.boxSizing="border-box",a.parentElement?.insertBefore(R,a)}let M=b+2,F=w;r&&(Math.abs(A-r.y)<.5&&(A-=1,F+=1),Math.abs(k-r.x)<.5&&(k-=1,M+=1)),a.style.position="absolute",a.style.left=`${k}px`,a.style.top=`${A}px`,a.style.right="auto",a.style.bottom="auto",a.style.margin="0",a.style.width=`${M}px`,a.style.height=`${F}px`,a.style.boxSizing="border-box",S||i.push(a)}for(let a of i)e.appendChild(a)}function dr(t,e,n={}){if(!t||!e||!e.style)return;let o=getComputedStyle(t);try{e.style.boxShadow="none"}catch(i){W(n,"stripRootShadows boxShadow",i)}try{e.style.textShadow="none"}catch(i){W(n,"stripRootShadows textShadow",i)}try{e.style.outline="none"}catch(i){W(n,"stripRootShadows outline",i)}let s=(o.filter||"").replace(/\bdrop-shadow\((?:[^()]|\([^()]*\))*\)\s*/gi,"").trim().replace(/\s+/g," ");try{e.style.filter=s.length?s:"none"}catch(i){W(n,"stripRootShadows filter",i)}}function pr(t,e){if(!t||!e||!e.style)return;let n=1;try{n=parseFloat(getComputedStyle(t).zoom)}catch{return}if(!(!e.style.getPropertyValue("zoom")&&(!Number.isFinite(n)||n===1)))try{e.style.setProperty("zoom","1","important")}catch{}}function ar(t){let e=t.display||"";if(e.includes("flex")||e.includes("grid")||e.startsWith("table")||e==="inline-block"||e==="flow-root"||t.position==="absolute"||t.position==="fixed"||t.float&&t.float!=="none")return!0;let n=t.overflowX||t.overflow||"visible",o=t.overflowY||t.overflow||"visible";return!!(n!=="visible"||o!=="visible"||t.contain&&/\b(layout|content|paint|strict)\b/.test(t.contain))}function qs(t,e){let n=Array.from(t.childNodes),o=e==="top"?n:n.reverse();for(let r of o){if(r.nodeType===Node.TEXT_NODE){if(/\S/.test(r.textContent||""))return null;continue}if(r.nodeType!==Node.ELEMENT_NODE)continue;let s=getComputedStyle(r),i=String(s.display||"");if(!(i==="none"||i==="contents")&&!(s.position==="absolute"||s.position==="fixed"))return s.float&&s.float!=="none"||i.startsWith("inline")?null:r}return null}function hr(t,e,n){if(!t||!e||!e.style)return;let o=getComputedStyle(t);if(!ar(o))for(let r of["top","bottom"]){let s=r==="top"?"Top":"Bottom";if((parseFloat(o[`border${s}Width`])||0)>0||(parseFloat(o[`padding${s}`])||0)>0)continue;let i=t,a=e;for(;i&&a;){let c=qs(i,r);if(!c)break;let f=n?Array.from(a.children).find(u=>n.get(u)===c)||null:a.children[Array.from(i.children).indexOf(c)]||null,l=getComputedStyle(c),d=parseFloat(l[`margin${s}`])||0;if(f&&f.style&&d>0&&(f.style[`margin${s}`]="0px"),ar(l)||(parseFloat(l[`border${s}Width`])||0)>0||(parseFloat(l[`padding${s}`])||0)>0)break;i=c,a=f}}}function Xs(t){let e=document.createTreeWalker(t,NodeFilter.SHOW_COMMENT),n=[];for(;e.nextNode();)n.push(e.currentNode);for(let o of n)o.remove()}function Gs(t,e={}){let{stripFrameworkDirectives:n=!0}=e,o=new Set(["xml","xlink"]),r=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT);for(;r.nextNode();){let s=r.currentNode;for(let i of Array.from(s.attributes)){let a=i.name;if(a.startsWith("*")){s.removeAttribute(a);continue}if(a.includes("@")){s.removeAttribute(a);continue}if(a.includes(":")){let c=a.split(":",1)[0];if(!o.has(c)){s.removeAttribute(a);continue}}if(n&&(a.startsWith("x-")||a.startsWith("v-")||a.startsWith(":")||a.startsWith("on:")||a.startsWith("bind:")||a.startsWith("let:")||a.startsWith("class:"))){s.removeAttribute(a);continue}}}}var cr=/[\x00-\x08\x0B\x0C\x0E-\x1F\uFFFE\uFFFF]/g;function Ys(t){if(!t)return;let e=r=>{if(r.nodeType===Node.ELEMENT_NODE){if(r.attributes)for(let s of Array.from(r.attributes)){let i=s.value.replace(cr,"");if(i!==s.value)try{r.setAttribute(s.name,i)}catch{}}}else if(r.nodeType===Node.TEXT_NODE||r.nodeType===Node.CDATA_SECTION_NODE){let s=r.data.replace(cr,"");s!==r.data&&(r.data=s)}};e(t);let n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT),o;for(;o=n.nextNode();)e(o)}function mr(t,e={}){t&&(Gs(t,e),Xs(t),Ys(t))}function Ks(t){try{let e=t.getAttribute?.("style")||"";return/\b(height|width|block-size|inline-size)\s*:/.test(e)}catch{return!1}}function Qs(t){return rt(t,"img","canvas","video","iframe","object","embed")||ne(t)}function Zs(t,e){if(t?.nodeType!==1||Ks(t)||Qs(t))return!1;let n=e.position;if(n==="absolute"||n==="fixed"||n==="sticky")return!1;let o=e.display||"";return!(o.includes("flex")||o.includes("grid")||o.startsWith("table")||e.transform&&e.transform!=="none")}function gr(t,e,n=new Map){function o(r,s){if(r?.nodeType!==1||s?.nodeType!==1)return;let i=r.childElementCount>s.childElementCount,a=n.get(r)||getComputedStyle(r);if(n.has(r)||n.set(r,a),i&&Zs(r,a)){s.style.height||(s.style.height="auto"),s.style.width||(s.style.width="auto"),s.style.removeProperty("block-size"),s.style.removeProperty("inline-size"),s.style.minHeight||(s.style.minHeight="0"),s.style.minWidth||(s.style.minWidth="0"),s.style.maxHeight||(s.style.maxHeight="none"),s.style.maxWidth||(s.style.maxWidth="none");let l=a.overflowY||a.overflowBlock||"visible",d=a.overflowX||a.overflowInline||"visible";(l!=="visible"||d!=="visible")&&(s.style.overflow="visible")}let c=Array.from(r.children),f=Array.from(s.children);for(let l=0;l<Math.min(c.length,f.length);l++)o(c[l],f[l])}o(t,e)}function Js(t){let e=getComputedStyle(t);return!(e.display==="none"||e.position==="absolute"||e.position==="fixed")}function ta(t,e){if(t?.nodeType!==1)return!1;if(t.getAttribute("data-capture")==="exclude"&&e?.excludeMode==="remove")return!0;if(Array.isArray(e?.exclude))for(let n of e.exclude)try{if(t.matches(n))return e.excludeMode==="remove"}catch(o){W(e,"exclude selector match failed",o)}if(typeof e?.filter=="function"&&e.filterMode==="remove")try{if(!e.filter(t))return!0}catch(n){W(e,"filter function failed",n)}return!1}function yr(t,e){let n=getComputedStyle(t),o=t.getBoundingClientRect(),r=1/0,s=-1/0,i=!1,a=Array.from(t.children);for(let p of a){if(ta(p,e)||!Js(p))continue;let m=p.getBoundingClientRect(),h=m.top-o.top,y=m.bottom-o.top;y<=h||(h<r&&(r=h),y>s&&(s=y),i=!0)}let c=i?Math.max(0,s-r):0,f=parseFloat(n.borderTopWidth)||0,l=parseFloat(n.borderBottomWidth)||0,d=parseFloat(n.paddingTop)||0,u=parseFloat(n.paddingBottom)||0;return f+l+d+u+c}var $=(t,e=3)=>Number.isFinite(t)?Math.round(t*10**e)/10**e:t,Xt=.75;function br(t,e,n,o,r,s){let i=t.ownerDocument||document,a=t.getBoundingClientRect(),c=r>0&&a.width>0?a.width/r:1,f=s>0&&a.height>0?a.height/s:1;if(Math.abs(c-f)>.02)return 0;let l=i.createElement("div");l.setAttribute("data-snapdom-internal",""),l.style.cssText="position:absolute!important;left:-9999px!important;top:0!important;width:"+r+"px!important;overflow:visible!important;visibility:hidden!important;";let d=l.attachShadow({mode:"open"}),u=i.createElement("style");u.textContent=n,d.appendChild(u);let p=e.cloneNode(!0);d.appendChild(p),i.body.appendChild(l);let m=0,h=(y,b,w)=>{let S=T(y),g=S.boxSizing==="border-box",x=(v,k,...A)=>{let M=parseFloat(v);if(!Number.isFinite(M))return k;let F=M+(g?0:A.reduce((R,E)=>R+(parseFloat(E)||0),0));return Math.abs(F-k)<=.51?F:k};return{width:x(S.width,b,S.paddingLeft,S.paddingRight,S.borderLeftWidth,S.borderRightWidth),height:x(S.height,w,S.paddingTop,S.paddingBottom,S.borderTopWidth,S.borderBottomWidth)}};try{let y=p.getBoundingClientRect(),b=p.offsetWidth||r,w=p.offsetHeight||s,S=b>0&&y.width>0?y.width/b:1,g=w>0&&y.height>0?y.height/w:1,x=(v,k,A=!1)=>{let M=v.children,F=k.children,R=Math.min(M.length,F.length);for(let E=0;E<R;E++){let O=M[E],P=F[E],L=o.get(O),U=A||fr.has(O);if(L?.nodeType===1&&O?.namespaceURI===ee&&O.style&&L.isConnected){let D=L.getBoundingClientRect();if(D.width>0&&D.height>0){let G=P.getBoundingClientRect(),z=D.width/c,V=D.height/f,I=G.width,Q=G.height,it=L.offsetWidth||z,st=L.offsetHeight||V,ut=P.offsetWidth||I,ht=P.offsetHeight||Q,It=Math.abs(z-it)>Xt||Math.abs(V-st)>Xt||Math.abs(I-ut)>Xt||Math.abs(Q-ht)>Xt;if(U){let _=h(P,ut,ht);z=I>0?z*S*_.width/I:z,V=Q>0?V*g*_.height/Q:V,I=_.width,Q=_.height}else if(It){let _=h(L,it,st),j=h(P,ut,ht);z=_.width,V=_.height,I=j.width,Q=j.height}let N=I-z,B=Q-V;(Math.abs(N)>Xt||Math.abs(B)>Xt)&&(O.style.boxSizing="border-box",O.style.width=`${$(z)}px`,O.style.height=`${$(V)}px`,m++)}}x(O,P,U)}};x(e,p)}finally{l.remove()}return m}var ea=/::-webkit-scrollbar(-[a-z]+)?\b/i;function Cn(t,e=new Set){let n="";if(!t)return n;for(let o=0;o<t.length;o++){let r=t[o];try{if(r.type===CSSRule.IMPORT_RULE&&r.styleSheet){n+=Cn(r.styleSheet.cssRules,e);continue}if(r.type===CSSRule.MEDIA_RULE&&r.cssRules){let s=Cn(r.cssRules,e);s&&(n+=`@media ${r.conditionText}{${s}}`);continue}if(r.type===CSSRule.STYLE_RULE){let s=r.selectorText||"";if(ea.test(s)){let i=r.cssText;i&&!e.has(i)&&(e.add(i),n+=i)}}}catch{}}return n}var lr=new WeakMap;function na(t){let e="";for(let n of t.styleSheets){let o=-1;try{o=n.cssRules?n.cssRules.length:-1}catch{}e+=(n.href||"inline")+":"+o+"|"}return e}function wr(t){if(!t||!t.styleSheets)return"";let e=na(t),n=lr.get(t);if(n&&n.fp===e)return n.css;let o=new Set,r="";for(let s of Array.from(t.styleSheets))try{let i=s.cssRules;i&&(r+=Cn(i,o))}catch{}return lr.set(t,{fp:e,css:r}),r}kt();var He=new Set;async function xr(t,e={}){let n=e.__session||C.session,o={styleMap:n.styleMap,styleCache:n.styleCache,nodeMap:n.nodeMap,options:e},r=null;if(e.clip){let u=De(t,e.clip);if(u){o.clip={rect:u,root:t};let p=t.getBoundingClientRect();r={x:u.left-p.left,y:u.top-p.top,width:u.width,height:u.height}}}let s,i="",a="";if(He.size){let u=(p,m)=>{for(let h=m;h;h=h.assignedSlot||h.parentElement||h.getRootNode()?.host)if(h===p)return!0;return!1};for(;;){let p=[...He].filter(({root:m})=>u(m,t)||u(t,m)).map(({promise:m})=>m.catch(()=>{}));if(!p.length)break;await Promise.all(p)}}if(!o.clip&&t.isConnected&&t.ownerDocument?.visibilityState!=="hidden")try{let u=t.getBoundingClientRect(),p=t.ownerDocument?.defaultView||window,m=u.right<=0||u.bottom<=0||u.left>=p.innerWidth||u.top>=p.innerHeight,h=[];if(m&&(()=>{let b=[];t.shadowRoot&&b.push(t.shadowRoot);for(let w of t.querySelectorAll("*"))w.shadowRoot&&b.push(w.shadowRoot);for(;b.length;){let w=b.pop(),S=w.host?.localName==="calcite-icon";for(let g of w.querySelectorAll("*")){if(g.shadowRoot&&b.push(g.shadowRoot),!S||g.localName!=="svg")continue;let x=g.querySelectorAll("path");if(!x.length||[...x].some(k=>k.getAttribute("d")?.trim()))continue;let v=g.getBoundingClientRect();v.width&&v.height&&h.push(g)}}})(),h.length){let b=(async()=>{let S=t.style,g=t.hasAttribute("style"),x=new Map,v=(k,A)=>{x.has(k)||x.set(k,{value:S.getPropertyValue(k),priority:S.getPropertyPriority(k)}),S.setProperty(k,A,"important");let M=x.get(k);M.forcedValue=S.getPropertyValue(k),M.forcedPriority=S.getPropertyPriority(k)};try{v("left","0"),v("top","0"),v("right","auto"),v("bottom","auto"),v("margin-top","0"),v("margin-right","0"),v("margin-bottom","0"),v("margin-left","0"),v("transform","none"),v("translate","none"),v("opacity","0"),v("pointer-events","none");let k=t.getBoundingClientRect();if(k.right<=0||k.bottom<=0||k.left>=p.innerWidth||k.top>=p.innerHeight){let F=t.parentElement?.getBoundingClientRect(),R=F&&F.right>0&&F.left<p.innerWidth?Math.max(0,F.left):0,E=F&&F.bottom>0&&F.top<p.innerHeight?Math.max(0,F.top):0;v("position","fixed"),v("left",`${R}px`),v("top",`${E}px`)}await mt(100);let A=Date.now()+1500,M=()=>h.some(F=>{if([...F.querySelectorAll("path")].some(E=>E.getAttribute("d")?.trim()))return!1;let R=F.getBoundingClientRect();return R.width&&R.height&&R.right>0&&R.bottom>0&&R.left<p.innerWidth&&R.top<p.innerHeight});for(;Date.now()<A&&M();)await new Promise(F=>setTimeout(F,25));await mt(100)}finally{for(let[k,A]of x)S.getPropertyValue(k)!==A.forcedValue||S.getPropertyPriority(k)!==A.forcedPriority||(A.value?S.setProperty(k,A.value,A.priority):S.removeProperty(k));!g&&!S.length&&t.removeAttribute("style"),await mt(100)}})(),w={root:t,promise:b};He.add(w);try{await b}finally{He.delete(w)}}}catch{}let c=Ko(t),f=o.clip?()=>{}:Qo(t);try{s=await ae(t,o,e)}catch(u){throw console.warn("deepClone failed:",u),u}finally{f(),c()}try{Yo(s)}catch(u){console.warn("inlineExternal defs or symbol failed:",u)}try{await Ue(t,s,o,e)}catch(u){console.warn("inlinePseudoElements failed:",u)}await xo(s,o);try{let u=s.querySelectorAll("style[data-sd]");for(let p of u)a+=p.textContent||"",p.remove()}catch(u){W(o,"Failed to extract shadow CSS from style[data-sd]",u)}let l=nn(o.styleMap);i=Array.from(l.entries()).map(([u,p])=>`.${p}{${u}}`).join(""),i=a+"[data-snapdom-has-after]::after,[data-snapdom-has-before]::before{content:none!important;display:none!important}"+i;for(let[u,p]of o.styleMap.entries()){if(u.tagName==="STYLE")continue;if(u.getRootNode&&oe(u.getRootNode())){u.setAttribute("style",p.replace(/;/g,"; "));continue}let m=l.get(p);m&&u.classList.add(m);let h=u.style?.backgroundImage,y=u.dataset?.snapdomHasIcon;h&&h!=="none"&&(u.style.backgroundImage=h),y&&(u.style.verticalAlign="middle",u.style.display="inline")}if((o.clip||t.scrollTop||t.scrollLeft)&&s?.nodeType===1)try{let u=o.clip&&r?{x:r.x,y:r.y}:{x:0,y:0};ur(t,s,o.nodeMap,o.styleCache,u)}catch(u){W(o,"freezeViewportPositioned failed",u)}for(let[u,p]of o.nodeMap.entries()){if(o.clip&&p===t)continue;let m=p.scrollLeft,h=p.scrollTop;if((m||h)&&u?.nodeType===1&&u.namespaceURI==="http://www.w3.org/1999/xhtml"){u.style.overflow="hidden",u.style.scrollbarWidth="none",u.style.msOverflowStyle="none";try{let w=u.querySelectorAll("*");for(let S of w){if(S.nodeType!==1||S.namespaceURI!=="http://www.w3.org/1999/xhtml")continue;let g=S.style.position;if(g==="fixed"||g==="absolute"){let x=parseFloat(S.style.top)||0,v=parseFloat(S.style.left)||0;S.style.top=`${x+h}px`,S.style.left=`${v+m}px`,g==="fixed"&&(S.style.position="absolute")}}}catch{}let b=document.createElement("div");for(b.style.all="unset",b.style.transform=`translate(${-m}px, ${-h}px)`,b.style.willChange="transform",b.style.display="inline-block",b.style.width="100%";u.firstChild;)b.appendChild(u.firstChild);u.appendChild(b)}}if(t===o.nodeMap.get(s)){let u=o.styleCache.get(t)||T(t);o.styleCache.set(t,u);let p=Ye(u.transform);s.style.margin="0",s.style.top="auto",s.style.left="auto",s.style.right="auto",s.style.bottom="auto",s.style.animation="none",s.style.transition="none",s.style.willChange="auto",s.style.float="none",s.style.clear="none",s.style.transform=p||""}for(let[u,p]of o.nodeMap.entries())p.tagName==="PRE"&&(u.style.marginTop="0",u.style.marginBlockStart="0");return{clone:s,classCSS:i,styleCache:o.styleCache,nodeMap:o.nodeMap,reconcileRisk:o.reconcileRisk||0,clipWindow:r}}At();nt();var Sr="http://www.w3.org/1999/xlink";function oa(t){return t.getAttribute("href")||t.getAttribute("xlink:href")||(typeof t.getAttributeNS=="function"?t.getAttributeNS(Sr,"href"):null)}function ra(t){let e=parseFloat(t.dataset?.snapdomWidth||"")||0,n=parseFloat(t.dataset?.snapdomHeight||"")||0,o=parseInt(t.getAttribute("width")||"",10)||0,r=parseInt(t.getAttribute("height")||"",10)||0,s=parseFloat(t.style?.width||"")||0,i=parseFloat(t.style?.height||"")||0,a=e||s||o||t.width||t.naturalWidth||100,c=n||i||r||t.height||t.naturalHeight||100;return{width:a,height:c}}async function vr(t,e={}){let n=Array.from(t.querySelectorAll("img"));t.tagName==="IMG"&&n.unshift(t);let o=async a=>{if(!a.getAttribute("src")){let m=a.currentSrc||a.src||Dt(a.getAttribute("srcset"),a)||"";m&&a.setAttribute("src",m)}a.removeAttribute("srcset"),a.removeAttribute("sizes");let c=a.src||"";if(!c)return;let f=C.image?.get(c);if(f){a.src=f,a.width||(a.width=a.naturalWidth||100),a.height||(a.height=a.naturalHeight||100);return}let l=await X(c,{as:"dataURL",useProxy:e.useProxy});if(l.ok&&typeof l.data=="string"&&l.data.startsWith("data:")){C.image?.set(c,l.data),a.src=l.data,a.width||(a.width=a.naturalWidth||100),a.height||(a.height=a.naturalHeight||100);return}let{width:d,height:u}=ra(a),{fallbackURL:p}=e||{};if(p)try{let m=typeof p=="function"?await p({width:d,height:u,src:c,element:a}):p;if(m){let h=await X(m,{as:"dataURL",useProxy:e.useProxy});if(h?.ok&&typeof h.data=="string"){a.src=h.data,a.width||(a.width=d),a.height||(a.height=u);return}}}catch{}if(e.placeholders!==!1){let m=document.createElement("div");m.style.cssText=[`width:${d}px`,`height:${u}px`,"background:#ccc","display:inline-block","text-align:center",`line-height:${u}px`,"color:#666","font-size:12px","overflow:hidden"].join(";"),m.textContent="img",a.replaceWith(m)}else{let m=document.createElement("div");m.style.cssText=`display:inline-block;width:${d}px;height:${u}px;visibility:hidden;`,a.replaceWith(m)}},r=6;for(let a=0;a<n.length;a+=r){let c=n.slice(a,a+r).map(o);await Promise.allSettled(c)}let s=Array.from(t.querySelectorAll("image"));t.localName==="image"&&s.unshift(t);let i=async a=>{let c=oa(a);if(!c||c.startsWith("data:")||c.startsWith("blob:"))return;let f=await X(c,{as:"dataURL",useProxy:e.useProxy});f.ok&&typeof f.data=="string"&&f.data.startsWith("data:")&&(a.setAttribute("href",f.data),a.removeAttribute("xlink:href"),typeof a.removeAttributeNS=="function"&&a.removeAttributeNS(Sr,"href"))};for(let a=0;a<s.length;a+=r){let c=s.slice(a,a+r).map(i);await Promise.allSettled(c)}}ct();nt();var kn=["background-image","mask","mask-image","-webkit-mask","-webkit-mask-image","mask-source","mask-box-image-source","mask-border-source","-webkit-mask-box-image-source","border-image","border-image-source"],ia=["mask-position","mask-size","mask-repeat","mask-mode","mask-composite","-webkit-mask-position","-webkit-mask-size","-webkit-mask-repeat","-webkit-mask-composite","mask-origin","mask-clip","-webkit-mask-origin","-webkit-mask-clip","-webkit-mask-position-x","-webkit-mask-position-y"],sa=["background-position","background-position-x","background-position-y","background-size","background-repeat","background-origin","background-clip","background-attachment","background-blend-mode"],aa=["border-image-slice","border-image-width","border-image-outset","border-image-repeat"];async function ca(t,e,n,o){let r=n.get(t)||T(t);n.has(t)||n.set(t,r);let s=r.getPropertyValue("border-image"),i=r.getPropertyValue("border-image-source"),a=s&&s!=="none"||i&&i!=="none",c=r.getPropertyValue("background-image"),f=r.getPropertyValue("background-color");if(c&&c!=="none"||f&&f!=="rgba(0, 0, 0, 0)"&&f!=="transparent"||/url\s*\(|gradient\s*\(/i.test(r.getPropertyValue("background")||""))for(let d of sa){let u=r.getPropertyValue(d);u&&e.style.setProperty(d,u)}for(let d of kn){let u=r.getPropertyValue(d);if(d==="background-image"&&(!u||u==="none")){let h=r.getPropertyValue("background");h&&/url\s*\(/.test(h)&&(u=Bt(h).filter(y=>/url\s*\(/.test(y)).join(", ")||u)}if(!u||u==="none")continue;let p=Bt(u),m=await Promise.all(p.map(h=>Pt(h,o)));m.some(h=>h&&h!=="none"&&!/^url\(undefined/.test(h))&&e.style.setProperty(d,m.join(", "))}for(let d of ia){let u=r.getPropertyValue(d);!u||u==="initial"||e.style.setProperty(d,u)}if(a)for(let d of aa){let u=r.getPropertyValue(d);!u||u==="initial"||e.style.setProperty(d,u)}}async function Cr(t,e,n,o={},r=C.session.nodeMap){if(!e)return;let s=[];t&&ln(t)&&s.push([t,e]);let i=[e];for(;i.length;){let c=i.pop();if(c.children)for(let f of c.children){if(f.tagName==="STYLE")continue;let l=r.get(f);l&&ln(l)&&s.push([l,f]),i.push(f)}}let a=6;for(let c=0;c<s.length;c+=a)await Promise.allSettled(s.slice(c,c+a).map(([f,l])=>ca(f,l,n,o)))}nt();ct();function kr(t,e,n=C.session.nodeMap){let o=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT);for(let a=r.currentNode;a;a=r.nextNode()){let c=n.get(a);if(c?.nodeType!==1)continue;let f=T(c),l=f.getPropertyValue("backdrop-filter")||f.getPropertyValue("-webkit-backdrop-filter");l&&l!=="none"&&a!==e&&o.push({cloneEl:a,orig:c,bf:l,path:ua(e,a)})}if(!o.length)return;let s=t.getBoundingClientRect(),i=o.map((a,c)=>{let f=e.cloneNode(!0);fa(f,e,a.orig.getBoundingClientRect(),n),da(Ar(f,a.path));for(let l=0;l<c;l++){let d=Ar(f,o[l].path);d&&(d.style.setProperty("backdrop-filter","none","important"),d.style.setProperty("-webkit-backdrop-filter","none","important"))}return{...a,copy:f}});for(let{cloneEl:a,orig:c,bf:f,copy:l}of i)la(a,c,f,l,s)}function la(t,e,n,o,r){let s=e.getBoundingClientRect();if(!s.width||!s.height)return;let i=T(e),a=e.offsetWidth?s.width/e.offsetWidth:1,c=Math.abs(a-1)>.001?1/a:1;o.style.position="absolute",o.style.left=`${(r.left-s.left)*c}px`,o.style.top=`${(r.top-s.top)*c}px`,o.style.width=`${r.width}px`,o.style.height=`${r.height}px`,o.style.margin="0",o.style.filter=n,c!==1&&(o.style.transform=`scale(${c})`,o.style.transformOrigin="top left");let f=document.createElement("div");f.style.cssText="position:absolute;inset:0;overflow:hidden;border-radius:inherit;z-index:-2",f.appendChild(o);let l=document.createElement("div");l.style.cssText="position:absolute;inset:0;border-radius:inherit;z-index:-1",l.style.backgroundColor=i.backgroundColor,l.style.backgroundImage=t.style.backgroundImage||i.backgroundImage;for(let d of["background-size","background-position","background-repeat","background-origin","background-clip"])l.style.setProperty(d,i.getPropertyValue(d));t.style.setProperty("background-color","transparent","important"),t.style.setProperty("background-image","none","important"),t.style.setProperty("backdrop-filter","none","important"),t.style.setProperty("-webkit-backdrop-filter","none","important"),i.position==="static"&&(t.style.position="relative"),t.style.isolation="isolate",t.prepend(l),t.prepend(f)}var ze=128;function fa(t,e,n,o){let r=[[t,e]];for(;r.length;){let[s,i]=r.pop(),a=o.get(i);if(a?.nodeType===1){let l=a.getBoundingClientRect();(l.left>n.right+ze||l.right<n.left-ze||l.top>n.bottom+ze||l.bottom<n.top-ze)&&(s.tagName==="IMG"&&s.setAttribute("src","data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="),s.style&&(s.style.backgroundImage="none"))}let c=s.children,f=i.children;for(let l=0;l<c.length;l++)r.push([c[l],f[l]])}}function ua(t,e){let n=[];for(let o=e;o!==t;o=o.parentElement){if(!o?.parentElement)return null;n.push([...o.parentElement.children].indexOf(o))}return n.reverse()}function Ar(t,e){if(!e)return null;let n=t;for(let o of e)if(n=n.children[o],!n)return null;return n}function da(t){if(t)for(let e=t;e&&e.parentNode;){let n=e.parentNode;for(;e.nextSibling;)e.nextSibling.remove();e===t&&e.remove(),e=n}}ct();nt();function Mr(t,e){if(!t)return()=>{};let n=[],o=200;function r(s){if(e){let f=s.getBoundingClientRect();if(f.width>0||f.height>0){let l=Math.max(f.right,f.left+(s.scrollWidth||0)),d=Math.max(f.bottom,f.top+(s.scrollHeight||0));if(l<e.left-o||f.left>e.right+o||d<e.top-o||f.top>e.bottom+o)return}}let i=getComputedStyle(s),a=pa(s,i);a&&n.push(a);let c=ha(s,i);c&&n.push(c);for(let f of s.children||[])r(f)}return r(t),()=>n.forEach(s=>s())}function pa(t,e){if(!t)return()=>{};e=e||getComputedStyle(t);let n=ma(e);if(n<=0)return()=>{};if(!Rr(t))return()=>{};let o=Fr(t),r=o.text,s=ya(e);o.write("X");let i=t.scrollHeight-s;o.restore();let a=i>0?i:ga(e),c=Math.round(a*n+s);if(t.scrollHeight<=c+.5)return()=>{};let f=0,l=r.length,d=-1;for(;f<=l;){let u=f+l>>1;o.write(r.slice(0,u)+"\u2026"),t.scrollHeight<=c+.5?(d=u,f=u+1):l=u-1}return o.write((d>=0?r.slice(0,d):"")+"\u2026"),()=>{o.restore()}}function ha(t,e){if(!t)return()=>{};if(e=e||getComputedStyle(t),e.textOverflow!=="ellipsis")return()=>{};if(e.whiteSpace!=="nowrap"&&e.whiteSpace!=="pre")return()=>{};if(e.overflowX!=="hidden"&&e.overflowX!=="clip")return()=>{};if(!Rr(t))return()=>{};if(t.scrollWidth<=t.clientWidth+.5)return()=>{};let n=Fr(t),o=n.text,r=0,s=o.length,i=-1;for(;r<=s;){let a=r+s>>1;n.write(o.slice(0,a)+"\u2026"),t.scrollWidth<=t.clientWidth+.5?(i=a,r=a+1):s=a-1}return n.write((i>=0?o.slice(0,i):"")+"\u2026"),()=>{n.restore()}}function Fr(t){let e=[];for(let o=t.firstChild;o;o=o.nextSibling)o.nodeType===Node.TEXT_NODE&&e.push(o);let n=e.map(o=>o.data);return{text:n.join(""),write(o){e[0].data=o;for(let r=1;r<e.length;r++)e[r].data=""},restore(){for(let o=0;o<e.length;o++)e[o].data=n[o]}}}function ma(t){let e=t.getPropertyValue("-webkit-line-clamp")||t.getPropertyValue("line-clamp");e=(e||"").trim();let n=parseInt(e,10);return Number.isFinite(n)&&n>0?n:0}function ga(t){let e=(t.lineHeight||"").trim(),n=parseFloat(t.fontSize)||16;return!e||e==="normal"?Math.round(n*1.2):e.endsWith("px")?parseFloat(e):/^\d+(\.\d+)?$/.test(e)?Math.round(parseFloat(e)*n):e.endsWith("%")?Math.round(parseFloat(e)/100*n):Math.round(n*1.2)}function ya(t){return(parseFloat(t.paddingTop)||0)+(parseFloat(t.paddingBottom)||0)}function Rr(t){return t.childElementCount>0?!1:Array.from(t.childNodes).some(e=>e.nodeType===Node.TEXT_NODE)}var fe=[];function ue(t){if(!t)return null;if(Array.isArray(t)){let[e,n]=t;return typeof e=="function"?e(n):e}if(typeof t=="object"&&"plugin"in t){let{plugin:e,options:n}=t;return typeof e=="function"?e(n):e}return typeof t=="function"?t():t}function $r(...t){let e=t.flat();for(let n of e){let o=ue(n);o&&(fe.some(r=>r&&r.name&&o.name&&r.name===o.name)||fe.push(o))}}function Er(t){return t&&Array.isArray(t.plugins)?t.plugins:fe}async function gt(t,e,n){let o=n,r=Er(e);for(let s of r){let i=s&&typeof s[t]=="function"?s[t]:null;if(!i)continue;let a=await i(e,o);typeof a<"u"&&(o=a)}return o}async function Pr(t,e,n){let o=[],r=Er(e);for(let s of r){let i=s&&typeof s[t]=="function"?s[t]:null;if(!i)continue;let a=await i(e,n);typeof a<"u"&&o.push(a)}return o}function ba(t){let e=[];if(Array.isArray(t))for(let n of t){let o=ue(n);if(!o||!o.name)continue;let r=e.findIndex(s=>s&&s.name===o.name);r>=0&&e.splice(r,1),e.push(o)}for(let n of fe)n&&n.name&&!e.some(o=>o.name===n.name)&&e.push(n);return Object.freeze(e)}function Nr(t,e,n=!1){return!t||t.plugins&&!n||(t.plugins=ba(e)),t}function Mn(){return fe.slice()}nt();var wa=.92,xa=.95;async function Sa(t){let e=new Image;if(e.decoding="sync",e.src=t,typeof e.decode=="function")try{return await e.decode(),e}catch{}return await new Promise((n,o)=>{e.onload=()=>n(),e.onerror=o}),e}function va(t){let e=/^data:([^;,]+)/.exec(t);return e?e[1]:""}async function Fn(t,e,n){if(typeof t!="string"||!t.startsWith("data:image")||t.startsWith("data:image/svg"))return null;let o=t.length+":"+t.slice(0,64)+t.slice(-64)+":"+Math.round(e)+"x"+Math.round(n);if(C.compress.has(o))return C.compress.get(o);let r=await(async()=>{let s;try{s=await Sa(t)}catch{return null}let i=s.naturalWidth||s.width,a=s.naturalHeight||s.height;if(!i||!a)return null;let c=Math.min(1,Math.max(e/i,n/a));if(!(c>0)||c>=.95)return null;let f=c*xa,l=Math.max(1,Math.round(i*f)),d=Math.max(1,Math.round(a*f)),u=document.createElement("canvas");u.width=l,u.height=d;let p=u.getContext("2d");if(!p)return null;p.imageSmoothingEnabled=!0,p.imageSmoothingQuality="high",p.drawImage(s,0,0,l,d);let m=va(t),h=m==="image/jpeg"?"image/jpeg":m==="image/webp"?"image/webp":"image/png";try{let y=u.toDataURL(h,wa);if(typeof y=="string"&&y.startsWith("data:image")&&y.length<t.length)return y}catch{}return null})();return C.compress.set(o,r),r}async function Ca(t,e){if(!e.compress)return{count:0,before:0,after:0};let n=(e.scale||1)*(e.dpr||1),o=Array.from(t.querySelectorAll("img"));t.tagName==="IMG"&&o.unshift(t);let r=0,s=0,i=0,a=async f=>{let l=f.getAttribute("src")||"";if(!l.startsWith("data:image")||l.startsWith("data:image/svg"))return;let d=parseFloat(f.dataset.snapdomWidth)||parseFloat(f.style.width)||f.width||0,u=parseFloat(f.dataset.snapdomHeight)||parseFloat(f.style.height)||f.height||0;if(!d||!u)return;let p=await Fn(l,d*n,u*n);p&&(r++,s+=l.length,i+=p.length,f.setAttribute("src",p))},c=6;for(let f=0;f<o.length;f+=c)await Promise.allSettled(o.slice(f,f+c).map(a));return{count:r,before:s,after:i}}function Aa(t){let e=t.offsetWidth||t.getBoundingClientRect().width||0,n=t.offsetHeight||t.getBoundingClientRect().height||0;return{w:e,h:n}}async function ka(t,e,n=C.session.nodeMap){if(!e.compress)return{count:0};let o=(e.scale||1)*(e.dpr||1),r=[],s=[t,...t.querySelectorAll("*")];for(let f of s){let l=f.style&&f.style.backgroundImage;l&&l.includes("data:image")&&r.push(f)}let i=0,a=async f=>{let l=n.get(f);if(!l||!l.isConnected)return;let d;try{d=getComputedStyle(l)}catch{return}if((d.backgroundRepeat||"repeat").toLowerCase().split(",").some(g=>g.trim()!=="no-repeat"))return;let{w:p,h:m}=Aa(l);if(!p||!m)return;let h=p*o,y=m*o,b=f.style.backgroundImage,w=[...b.matchAll(/url\((['"]?)(data:image\/[^)'"]+)\1\)/gi)],S=b;for(let g of w){let x=g[2];if(x.startsWith("data:image/svg"))continue;let v=await Fn(x,h,y);v&&(S=S.split(x).join(v),i++)}S!==b&&(f.style.backgroundImage=S)},c=6;for(let f=0;f<r.length;f+=c)await Promise.allSettled(r.slice(f,f+c).map(a));return{count:i}}async function Ma(t,e){if(!e.compress)return{count:0};let n=(e.scale||1)*(e.dpr||1),o=Array.from(t.querySelectorAll("image"));t.localName==="image"&&o.unshift(t);let r=0,s=async a=>{let c=a.getAttribute("href")||(typeof a.getAttributeNS=="function"?a.getAttributeNS("http://www.w3.org/1999/xlink","href"):null);if(!c||!c.startsWith("data:image")||c.startsWith("data:image/svg"))return;let f=parseFloat(a.getAttribute("width"))||0,l=parseFloat(a.getAttribute("height"))||0;if(!f||!l)return;let d=await Fn(c,f*n,l*n);d&&(a.setAttribute("href",d),a.hasAttribute("xlink:href")&&a.setAttribute("xlink:href",d),r++)},i=6;for(let a=0;a<o.length;a+=i)await Promise.allSettled(o.slice(a,a+i).map(s));return{count:r}}async function Tr(t,e,n){e.compress&&(await Ca(t,e),await ka(t,e,n),await Ma(t,e))}function Fa(t){if(Array.isArray(t.plugins)){for(let e of t.plugins)if(ue(e)?.name==="picture-resolver")return!0}return Mn().some(e=>e?.name==="picture-resolver")}function Ra(t){let e=Array.isArray(t.plugins)?t.plugins:Mn(),n=[];for(let o of e){let r=ue(o);r&&typeof r.resolveNode=="function"&&n.push(r.resolveNode.bind(r))}return n.length?n:null}var $a=2e3,Ea=3;function Pa(t){let e=Date.now(),n=C.burstAdvice.get(t);if(!n||e-n.firstTs>$a){C.burstAdvice.set(t,{count:1,firstTs:e,warned:!1});return}n.count++,n.count>=Ea&&!n.warned&&(n.warned=!0,console.warn("[snapdom] Captured this element multiple times. Pass { burst: true } to increase the speed."))}async function Lr(t,e){if(!t)throw new Error("Element cannot be null or undefined");Se(e.cache),e.__session={styleMap:C.session.styleMap,styleCache:C.session.styleCache,nodeMap:C.session.nodeMap},e.burst||Pa(t),e.__resolveNodeHooks=Ra(e);let n=e.fast,o=e.outerTransforms!==!1,r=!!e.outerShadows,s=e.clip?De(t,e.clip):null,i={element:t,options:e,plugins:e.plugins},a,c,f,l,d,u,p="",m="",h,y,b=null;await gt("beforeSnap",i);let w=null;e.resolvePicturePlaceholders!==!1&&!Fa(e)&&(w=await ao(i.element,i.options)),await gt("beforeClone",i);let S=Mr(i.element,s);try{({clone:a,classCSS:c,styleCache:f,nodeMap:l,reconcileRisk:d,clipWindow:u}=await xr(i.element,i.options)),d>0&&!e.reconcile&&!C.warnedReconcile&&(C.warnedReconcile=!0,console.warn("[snapdom] Text in inline/table-cell elements kept its natural width and may re-wrap under font-fallback rasterization. Pass { reconcile: true } for pixel-exact layout (roughly doubles capture time).")),!o&&a&&(b=rr(i.element,a)),!r&&a&&dr(i.element,a,i.options),a&&(hr(i.element,a,l),pr(i.element,a))}finally{S()}if(i={clone:a,classCSS:c,styleCache:f,nodeMap:l,...i},await gt("afterClone",i),w&&await w(),mr(i.clone),i.options?.excludeMode==="remove"||i.options?.filterMode==="remove")try{gr(i.element,i.clone,i.styleCache)}catch(R){console.warn("[snapdom] shrink pass failed:",R)}try{await Fo(i.clone,i.element,i.nodeMap)}catch{}let g=R=>new Promise((E,O)=>{Nt(()=>{Promise.resolve().then(R).then(E,O)},{fast:n})}),x=(async()=>{await Promise.all([g(()=>vr(i.clone,i.options)),g(()=>Cr(i.element,i.clone,i.styleCache,i.options,i.nodeMap))]);try{kr(i.element,i.clone,i.nodeMap)}catch(R){console.warn("[snapdom] backdrop-filter emulation failed:",R)}e.compress&&await g(()=>Tr(i.clone,i.options,i.nodeMap))})(),v=Promise.resolve();e.embedFonts&&(v=g(async()=>{let R=i.element.ownerDocument||document,E=s?L=>{try{let U=L.getBoundingClientRect();return U.right>=s.left-200&&U.left<=s.right+200&&U.bottom>=s.top-200&&U.top<=s.bottom+200}catch{return!0}}:null,{required:O,usedCodepoints:P}=ce(i.element,E);if(K()){let L=new Set(Array.from(O).map(U=>String(U).split("__")[0]).filter(Boolean));await zt(L,1,R)}p=await Be({required:O,usedCodepoints:P,preCached:!1,exclude:i.options.excludeFonts,localFonts:i.options.localFonts,useProxy:i.options.useProxy,fontStylesheetDomains:i.options.fontStylesheetDomains,doc:R})})),await Promise.all([x,v]);let k=tn(i.clone).sort(),A=k.join(",");C.baseStyle.has(A)?m=C.baseStyle.get(A):await new Promise(R=>{Nt(()=>{m=en(k),C.baseStyle.set(A,m),R()},{fast:n})});let M=wr(i.element?.ownerDocument||document);i={fontsCSS:p,baseCSS:m,scrollbarCSS:M,...i},await gt("beforeRender",i),await new Promise(R=>{Nt(()=>{let E=T(i.element),O=i.element.getBoundingClientRect(),P=Math.max(1,$(i.element.offsetWidth||parseFloat(E.width)||O.width||1)),L=Math.max(1,$(i.element.offsetHeight||parseFloat(E.height)||O.height||1)),U=i.element.ownerDocument||document;if(!u&&(i.element===U.body||i.element===U.documentElement)&&!U.documentElement.hasAttribute("data-sd-pinned")){let q=Math.max(i.element.scrollHeight||0,U.documentElement?.scrollHeight||0,U.body?.scrollHeight||0),tt=Math.max(i.element.scrollWidth||0,U.documentElement?.scrollWidth||0,U.body?.scrollWidth||0);q>0&&(L=Math.max(L,$(q))),tt>0&&(P=Math.max(P,$(tt)));try{let Z=(i.scrollbarCSS||"").length+(i.baseCSS||"").length+(i.fontsCSS||"").length+(i.classCSS||"").length,et=C.measureHints.get(i.element);if(et&&et.cssLen===Z&&et.w0===P)et.csh>0&&(L=Math.max(L,$(et.csh))),et.csw>0&&(P=Math.max(P,$(et.csw)));else{let J=U.createElement("div");J.setAttribute("data-snapdom-internal",""),J.style.cssText="position:absolute!important;left:-9999px!important;top:0!important;width:"+P+"px!important;overflow:visible!important;visibility:hidden!important;";let Rt=J.attachShadow({mode:"open"}),$t=U.createElement("style");$t.textContent=(i.scrollbarCSS||"")+i.baseCSS+"svg{overflow:visible;} foreignObject{overflow:visible;}"+i.classCSS,Rt.appendChild($t),Rt.appendChild(i.clone.cloneNode(!0)),U.body.appendChild(J);let Yt=J.scrollHeight,vt=J.scrollWidth;U.body.removeChild(J),C.measureHints.set(i.element,{cssLen:Z,w0:P,csh:Yt,csw:vt}),Yt>0&&(L=Math.max(L,$(Yt))),vt>0&&(P=Math.max(P,$(vt)))}}catch{}}if(i.options?.excludeMode==="remove"||i.options?.filterMode==="remove"){let q=yr(i.element,i.options);Number.isFinite(q)&&q>0&&(L=Math.max(1,Math.min(L,$(q+1))))}if(i.options?.reconcile)try{let q=(i.scrollbarCSS||"")+i.baseCSS+"svg{overflow:visible;} foreignObject{overflow:visible;}"+i.classCSS;br(i.element,i.clone,q,i.nodeMap,P,L)}catch(q){console.warn("[snapdom] reconcile pass failed:",q)}let G=(q,tt=NaN)=>{let Z=typeof q=="string"?parseFloat(q):q;return Number.isFinite(Z)?Z:tt},z=G(i.options.width),V=G(i.options.height),I=u?$(u.width):P,Q=u?$(u.height):L,it=I,st=Q,ut=Number.isFinite(z),ht=Number.isFinite(V),It=Q>0?I/Q:1;ut&&ht?(it=Math.max(1,$(z)),st=Math.max(1,$(V))):ut?(it=Math.max(1,$(z)),st=Math.max(1,$(it/(It||1)))):ht&&(st=Math.max(1,$(V)),it=Math.max(1,$(st*(It||1))));let N=0,B=0,_=P,j=L;if(u){let q=0,tt=0;if(Rn(i.element)){let Z=null;if(!o&&b&&Number.isFinite(b.a))Z={a:b.a,b:b.b||0,c:b.c||0,d:b.d||1,e:0,f:0};else{let et=qt(i.element),J=An(E.transform&&E.transform!=="none"?E.transform:"",et);J&&J.is2D&&(Z={a:J.a,b:J.b,c:J.c,d:J.d,e:0,f:0})}if(Z&&!(Z.a===1&&Z.b===0&&Z.c===0&&Z.d===1)){let{ox:et,oy:J}=le(E,P,L),Rt=jt(P,L,Z,et,J);q=Rt.minX,tt=Rt.minY}}N=$(u.x+q),B=$(u.y+tt),_=$(N+u.width),j=$(B+u.height)}else if(!o&&b&&Number.isFinite(b.a)){let q={a:b.a,b:b.b||0,c:b.c||0,d:b.d||1,e:0,f:0},tt=jt(P,L,q,0,0);N=$(tt.minX),B=$(tt.minY),_=$(tt.maxX),j=$(tt.maxY)}else if(o&&Rn(i.element)){let tt=E.transform&&E.transform!=="none"?E.transform:"",Z=qt(i.element),et=ir({baseTransform:tt,rotate:Z.rotate||"0deg",scale:Z.scale,translate:Z.translate}),{ox:J,oy:Rt}=le(E,P,L),$t=et.is2D?et:new DOMMatrix(et.toString()),Yt={a:$t.a,b:$t.b,c:$t.c,d:$t.d,e:0,f:0},vt=jt(P,L,Yt,J,Rt);N=$(vt.minX),B=$(vt.minY),_=$(vt.maxX),j=$(vt.maxY)}let at=Zo(E),Ft=Jo(E),yt=er(E),bt=nr(E),_t=or(E),wt=u?{top:0,right:0,bottom:0,left:0}:r?{top:$(Math.max(at.top,Ft.top)+yt.top+bt.top+_t.bleed.top),right:$(Math.max(at.right,Ft.right)+yt.right+bt.right+_t.bleed.right),bottom:$(Math.max(at.bottom,Ft.bottom)+yt.bottom+bt.bottom+_t.bleed.bottom),left:$(Math.max(at.left,Ft.left)+yt.left+bt.left+_t.bleed.left)}:{top:yt.top,right:yt.right,bottom:yt.bottom,left:yt.left};N=$(N-wt.left),B=$(B-wt.top),_=$(_+wt.right),j=$(j+wt.bottom);let pe=Math.max(1,$(_-N)),he=Math.max(1,$(j-B)),me=ut||ht?$(it/I):1,xt=ht||ut?$(st/Q):1,Yr=Math.max(1,$(pe*me)),Kr=Math.max(1,$(he*xt)),_n="http://www.w3.org/2000/svg",Qr=Rn(i.element)?2:0,Wt=$(Qr+(o?0:1)),ge=Math.ceil(pe+Wt*2),ye=Math.ceil(he+Wt*2),be=$(-($(N)-Wt)),we=$(-($(B)-Wt)),Wn=Math.max(0,be),On=Math.max(0,we),Bn=$(ge-Math.min(0,be)),Un=$(ye-Math.min(0,we)),St=document.createElementNS(_n,"foreignObject");St.setAttribute("x",String(Math.min(0,be))),St.setAttribute("y",String(Math.min(0,we))),St.setAttribute("width",String(Bn)),St.setAttribute("height",String(Un)),St.style.overflow="visible";let Dn=document.createElement("style"),Zr="svg{overflow:visible;} foreignObject{overflow:visible;} foreignObject>div{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;}";Dn.textContent=(i.scrollbarCSS||"")+i.baseCSS+i.fontsCSS+Zr+i.classCSS,St.appendChild(Dn);let xe=document.createElement("div");xe.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),xe.style.cssText=`all:initial;box-sizing:border-box;display:block;overflow:visible;width:${Bn}px;height:${Un}px`+(Wn!==0||On!==0?`;padding:${On}px 0 0 ${Wn}px !important`:""),xe.appendChild(i.clone),St.appendChild(xe);let Jr=new XMLSerializer().serializeToString(St),Hn=ut||ht,ti=Object.freeze({w0:I,h0:Q,vbW:ge,vbH:ye,targetW:it,targetH:st,contentX:$(be+(u?N:0)),contentY:$(we+(u?B:0)),clip:u?Object.freeze({x:$(N),y:$(B),width:I,height:Q}):null});Object.defineProperty(e,"meta",{value:ti,enumerable:!0,writable:!1,configurable:!0});let ei=!Hn||K()?ge:$(Yr+Wt*2),ni=!Hn||K()?ye:$(Kr+Wt*2),oi=parseFloat(T(U.documentElement)?.fontSize)||16;y=`<svg xmlns="${_n}" width="${ei}" height="${ni}" viewBox="0 0 ${ge} ${ye}" font-size="${oi}px">`+Jr+"</svg>",h=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(y)}`,i={svgString:y,dataURL:h,...i},R()},{fast:n})}),await gt("afterRender",i);let F=document.getElementById("snapdom-sandbox");return F&&F.style.position==="absolute"&&F.remove(),i.dataURL}function Rn(t){return sr(t)}nt();function Ir(t={}){let e=t.format??"png";e==="jpg"&&(e="jpeg");let n=zn(t.cache);return{debug:t.debug??!1,fast:t.fast??!0,scale:t.scale??1,exclude:t.exclude??[],excludeMode:t.excludeMode??"hide",filter:t.filter??null,filterMode:t.filterMode??"hide",placeholders:t.placeholders!==!1,embedFonts:t.embedFonts??!1,iconFonts:Array.isArray(t.iconFonts)?t.iconFonts:t.iconFonts?[t.iconFonts]:[],localFonts:Array.isArray(t.localFonts)?t.localFonts:[],excludeFonts:t.excludeFonts??void 0,fontStylesheetDomains:Array.isArray(t.fontStylesheetDomains)?t.fontStylesheetDomains:[],fallbackURL:t.fallbackURL??void 0,cache:n,useProxy:typeof t.useProxy=="string"?t.useProxy:"",width:t.width??null,height:t.height??null,format:e,type:t.type??"svg",quality:t.quality??.92,dpr:t.dpr??(window.devicePixelRatio||1),backgroundColor:t.backgroundColor??(["jpeg","webp"].includes(e)?"#ffffff":null),filename:t.filename??"snapDOM",outerTransforms:t.outerTransforms??!0,outerShadows:t.outerShadows??!1,reconcile:t.reconcile??!1,burst:t.burst??!1,invalidate:t.invalidate??!1,clip:t.clip??null,compress:t.compress!==!1,excludeStyleProps:t.excludeStyleProps??null,resolvePicturePlaceholders:t.resolvePicturePlaceholders!==!1,pictureResolver:t.pictureResolver&&typeof t.pictureResolver=="object"?t.pictureResolver:{}}}kt();rn();var _r=new WeakMap;function Or(t,e,n){let o=new Set;if(rt(t,"video")&&o.add(t),t.querySelectorAll)for(let r of t.querySelectorAll("video"))o.add(r);for(let r of e.trackedVideos)o.has(r)||(r.removeEventListener("timeupdate",n),r.removeEventListener("seeked",n),e.trackedVideos.delete(r));for(let r of o)e.trackedVideos.has(r)||(r.addEventListener("timeupdate",n),r.addEventListener("seeked",n),e.trackedVideos.add(r))}function Na(t){let e={dirty:!0,capturing:!1,last:null,inflight:Promise.resolve(),observers:[],trackedVideos:new Set},n=s=>{e.capturing||cn(s)&&(e.dirty=!0)},o=()=>{e.capturing||(e.dirty=!0)},r=t.ownerDocument||document;try{let s=new MutationObserver(n);s.observe(t,{subtree:!0,childList:!0,attributes:!0,characterData:!0}),e.observers.push(s)}catch{}try{if(r.head){let s=new MutationObserver(n);s.observe(r.head,{subtree:!0,childList:!0,characterData:!0,attributes:!0}),e.observers.push(s)}}catch{}return e.markDirty=n,e.onMediaDirty=o,Or(t,e,o),e}function Wr(t){let{burst:e,invalidate:n,...o}=t||{};try{return JSON.stringify(o,Object.keys(o).sort())}catch{return null}}function Br(t,e,n,o){let r=_r.get(t);r||(r=Na(t),r.baselineSignature=Wr(e),_r.set(t,r));let s=Wr(e),i=s===null||s!==r.baselineSignature,a=async()=>{for(let f of r.observers)r.markDirty(f.takeRecords());if(n.invalidate&&(r.dirty=!0),!i&&!r.dirty&&r.last)return r.last;r.capturing=!0,i||(r.dirty=!1);try{let f=await o();return i||(r.last=f),f}finally{for(let f of r.observers)f.takeRecords();r.capturing=!1,Or(t,r,r.onMediaDirty)}},c=r.inflight.then(a,a);return r.inflight=c.catch(()=>{}),c}ct();At();nt();async function Ur(t=document,e={}){let{embedFonts:n=!0,useProxy:o=""}=e,r=e.cache??e.cacheOpt??"full";Se(r);try{await document.fonts?.ready}catch{}try{Ze()}catch{}C.session=C.session||{},C.session.styleCache||(C.session.styleCache=new WeakMap),C.image=C.image||new Y(100),C.background=C.background||new Y(100);let s=[],i=[];try{if(t&&t.nodeType===1){let c=t.querySelectorAll?Array.from(t.querySelectorAll("*")):[];i=[t,...c],s=[],t.tagName==="IMG"&&t.getAttribute("src")&&s.push(t),s.push(...Array.from(t.querySelectorAll?.("img[src]")||[]))}else t?.querySelectorAll&&(s=Array.from(t.querySelectorAll("img[src]")),i=Array.from(t.querySelectorAll("*")))}catch{}let a=[];for(let c of s){let f=c?.currentSrc||c?.src;if(f&&!C.image.has(f)){let l=Promise.resolve().then(async()=>{let d=await X(f,{as:"dataURL",useProxy:o});d?.ok&&typeof d.data=="string"&&C.image.set(f,d.data)}).catch(()=>{});a.push(l)}}for(let c of i){let f=new Set;for(let l of kn){let d="";try{d=l==="background-image"&&c?.style?.backgroundImage||T(c).getPropertyValue(l)||""}catch{}if(!d||d==="none")continue;let u=d.match(/url\((?:[^()"']+|"(?:[^"]*)"|'(?:[^']*)')\)/gi)||[];for(let p of u){if(f.has(p))continue;f.add(p);let m=Promise.resolve().then(()=>Pt(p,{...e,useProxy:o})).catch(()=>{});a.push(m)}}}if(n)try{let{required:c,usedCodepoints:f}=ce(t);if(typeof K=="function"?K():!!K){let d=new Set(Array.from(c).map(u=>String(u).split("__")[0]).filter(Boolean));await zt(d,3)}await Be({required:c,usedCodepoints:f,exclude:e.excludeFonts,localFonts:e.localFonts,useProxy:e.useProxy??o,fontStylesheetDomains:e.fontStylesheetDomains})}catch{}await Promise.allSettled(a)}function ja(...t){return $r(...t),H}var H=Object.assign(Xa,{plugins:ja}),In=Symbol("snapdom.internal"),qa=Symbol("snapdom.internal.silent");async function Xa(t,e){if(!t)throw new Error("Element cannot be null or undefined");let n=Ir(e);if(Nr(n,e&&e.plugins),K()){if(n.embedFonts===!0)try{let r=Wo(t),s=new Set([...r].map(i=>String(i).split("__")[0]).filter(Boolean));await zt(s,1)}catch{}let o=Array.from(t.querySelectorAll("canvas"));t.tagName==="CANVAS"&&o.unshift(t);for(let r of o)try{let s=r.getContext("2d",{willReadFrequently:!0});s&&s.getImageData(0,0,1,1)}catch(s){W(e,"safari canvas poke failed",s)}}return n.iconFonts&&n.iconFonts.length>0&&Mo(n.iconFonts),n.snap||(n.snap={toPng:(o,r)=>H.toPng(o,r),toSvg:(o,r)=>H.toSvg(o,r)}),n.burst?Br(t,e,n,()=>H.capture(t,n,In)):H.capture(t,n,In)}H.capture=async(t,e,n)=>{if(n!==In)throw new Error("[snapdom.capture] is internal. Use snapdom(...) instead.");e.element=t;let o=await Lr(t,e),r={img:async(h,y)=>{let{toImg:b}=await Promise.resolve().then(()=>(Nn(),Pn));return b(o,{...h,...y||{}})},svg:async(h,y)=>{let{toSvg:b}=await Promise.resolve().then(()=>(Nn(),Pn));return b(o,{...h,...y||{}})},canvas:async(h,y)=>{let{toCanvas:b}=await Promise.resolve().then(()=>(Gt(),Vr));return b(o,{...h,...y||{}})},blob:async(h,y)=>{let{toBlob:b}=await Promise.resolve().then(()=>(Ln(),jr));return b(o,{...h,...y||{}})},png:async(h,y)=>{let{rasterize:b}=await Promise.resolve().then(()=>(de(),Ge));return b(o,{...h,...y||{},format:"png"})},jpeg:async(h,y)=>{let{rasterize:b}=await Promise.resolve().then(()=>(de(),Ge));return b(o,{...h,...y||{},format:"jpeg"})},webp:async(h,y)=>{let{rasterize:b}=await Promise.resolve().then(()=>(de(),Ge));return b(o,{...h,...y||{},format:"webp"})},download:async(h,y)=>{let{download:b}=await Promise.resolve().then(()=>(Gr(),Xr));return b(o,{...h,...y||{}})}},s={};for(let h of["img","svg","canvas","blob","png","jpeg","webp"])s[h]=async y=>r[h](e,{...y||{},[qa]:!0});s.jpg=s.jpeg;let i={...e,export:{url:o},exports:s},a=await Pr("defineExports",i),c=Object.assign({},...a.filter(h=>h&&typeof h=="object").reverse()),f={...r,...c};f.jpeg&&!f.jpg&&(f.jpg=(h,y)=>f.jpeg(h,y));function l(h,y){let b={...e,...y||{}},w=g=>g==="jpeg"||g==="jpg"||g==="webp";return[h,b.format,b.type].map(g=>typeof g=="string"?g.toLowerCase():"").find(w)&&(b.backgroundColor==null||b.backgroundColor==="transparent")&&(b.backgroundColor="#ffffff"),b}let d=!1,u=Promise.resolve();async function p(h,y){let b=Object.freeze(y&&typeof y=="object"?{...y}:{}),w=async()=>{let g=f[h];if(!g)throw new Error(`[snapdom] Unknown export type: ${h}`);let x=l(h,b),v={...e,export:{type:h,options:x,requestedOptions:b,url:o}};await gt("beforeExport",v,{format:h,options:x});let k=await g(v,x);return await gt("afterExport",v,{format:h,options:x,result:k}),d||(d=!0,await gt("afterSnap",e)),k},S=u.then(w);return u=S.catch(()=>{}),S}let m={url:o,toRaw:()=>o,to:(h,y)=>p(h,y),toImg:h=>p("img",h),toSvg:h=>p("svg",h),toCanvas:h=>p("canvas",h),toBlob:h=>p("blob",h),toPng:h=>p("png",h),toJpg:h=>p("jpg",h),toWebp:h=>p("webp",h),download:h=>p("download",h)};Object.defineProperty(m,"meta",{value:e.meta,enumerable:!0,writable:!1,configurable:!1});for(let h of Object.keys(f)){let y="to"+h.charAt(0).toUpperCase()+h.slice(1);m[y]||(m[y]=b=>p(h,b))}return m};H.toRaw=(t,e)=>H(t,e).then(n=>n.toRaw());H.toImg=(t,e)=>H(t,e).then(n=>n.toImg());H.toSvg=(t,e)=>H(t,e).then(n=>n.toSvg());H.toCanvas=(t,e)=>H(t,e).then(n=>n.toCanvas());H.toBlob=(t,e)=>H(t,e).then(n=>n.toBlob());H.toPng=(t,e)=>H(t,{...e,format:"png"}).then(n=>n.toPng());H.toJpg=(t,e)=>H(t,{...e,format:"jpeg"}).then(n=>n.toJpg());H.toWebp=(t,e)=>H(t,{...e,format:"webp"}).then(n=>n.toWebp());H.download=(t,e)=>H(t,e).then(n=>n.download());typeof window<"u"&&(window.snapdom=H,window.preCache=Ur);})();
|
|
6
|
+
"use strict";(()=>{var Ia=Object.defineProperty;var it=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var De=(t,e)=>{for(var n in e)Ia(t,n,{get:e[n],enumerable:!0})};function Oo(t){return t===!1||typeof t=="string"&&t.toLowerCase().trim()==="disabled"?"disabled":"soft"}function Do(t="soft"){t==="disabled"&&(P.computedStyle=new WeakMap,P.measureHints=new WeakMap,P.baseStyle=new rt(50),P.defaultStyle=new rt(64),P.image=new rt(100),P.background=new rt(100),P.resource=new rt(150),P.compress=new rt(50))}var rt,P,lt=it(()=>{"use strict";rt=class extends Map{constructor(e=100,...n){super(...n),this._maxSize=e}set(e,n){if(this.size>=this._maxSize&&!this.has(e)){let r=this.keys().next().value;r!==void 0&&this.delete(r)}return super.set(e,n)}},P={image:new rt(100),background:new rt(100),resource:new rt(150),defaultStyle:new rt(64),baseStyle:new rt(50),compress:new rt(50),computedStyle:new WeakMap,measureHints:new WeakMap,warnedReconcile:!1}});function Gt(t){let e=t.match(/url\((['"]?)(.*?)(\1)\)/);if(!e)return null;let n=e[2].trim();return n.startsWith("#")?null:n}function Oa(t){let e=[],n=0,r=0,i="";for(let o=0;o<t.length;o++){let s=t[o];if(s==="\\"){o++;continue}i?s===i&&(i=""):s==='"'||s==="'"?i=s:s==="("?r++:s===")"?r--:s===","&&r===0&&(e.push(t.slice(n,o)),n=o+1)}return e.push(t.slice(n)),e}function Be(t,e=1){let n=t.match(/^\s*-?(?:webkit-)?image-set\(([\s\S]*)\)\s*$/i);if(!n)return null;let r=[];for(let o of Oa(n[1])){let s=o.match(/url\((['"]?)(.*?)(\1)\)/);if(!s)continue;let a=o.match(/type\(\s*["']([^"']+)["']\s*\)/i);if(a&&!Wa.test(a[1].trim()))continue;let c=o.replace(/url\((['"]?)[\s\S]*?\1\)/," ").match(/(\d+(?:\.\d+)?)\s*(x|dpi|dppx)\b/i),f=1;if(c){let l=parseFloat(c[1]);f=/dpi/i.test(c[2])?l/96:l}r.push({url:s[2].trim(),dppx:f})}return r.length?(r.sort((o,s)=>o.dppx-s.dppx),(r.find(o=>o.dppx>=e)||r[r.length-1]).url):null}function dr(t){if(!t||t==="none")return"";let e=t.replace(/translate[XY]?\([^)]*\)/g,"");return e=e.replace(/matrix\(([^)]+)\)/g,(n,r)=>{let i=r.split(",").map(o=>o.trim());return i.length!==6?`matrix(${r})`:(i[4]="0",i[5]="0",`matrix(${i.join(", ")})`)}),e=e.replace(/matrix3d\(([^)]+)\)/g,(n,r)=>{let i=r.split(",").map(o=>o.trim());return i.length!==16?`matrix3d(${r})`:(i[12]="0",i[13]="0",`matrix3d(${i.join(", ")})`)}),e.trim().replace(/\s{2,}/g," ")}function It(t){if(/%[0-9A-Fa-f]{2}/.test(t))return t;try{return encodeURI(t)}catch{return t}}function pr(t,e){if(!t||/^(data|blob|about|#)/i.test(t.trim()))return t;try{let n=e||typeof document<"u"&&(document.baseURI||document.location?.href)||"http://localhost/";return new URL(t,n).href}catch{return t}}function Ue(t){return!!t&&t.tagName==="INPUT"&&(t.getAttribute("type")||"").toLowerCase()==="password"}function hr(t){return"\u2022".repeat(String(t??"").length)}function nt(t,e){return t?.nodeType===1&&t.localName===e}function xt(t){return t?.nodeType===1&&t.namespaceURI===Da}function Wt(t){return t?.nodeType===1&&t.namespaceURI===Ba}function ue(t){return t?.nodeType===11&&!!t.host}function mr(t){return t?.nodeType===9}var ur,Wa,Da,Ba,mt=it(()=>{"use strict";ur=/^image\/(jpeg|jpg|png|gif|webp|avif|apng|svg\+xml|bmp|x-icon|vnd\.microsoft\.icon)\s*(;|$)/i,Wa=ur;Da="http://www.w3.org/1999/xhtml",Ba="http://www.w3.org/2000/svg"});function Ua(t="[snapDOM]",{ttlMs:e=5*6e4,maxEntries:n=12}={}){let r=new Map,i=0;function o(s,a,c){if(i>=n)return;let f=Date.now();(r.get(a)||0)>f||(r.set(a,f+e),i++,s==="warn"&&console&&console.warn?console.warn(`${t} ${c}`):console&&console.error&&console.error(`${t} ${c}`))}return{warnOnce(s,a){o("warn",s,a)},errorOnce(s,a){o("error",s,a)},reset(){r.clear(),i=0}}}function Ho(t,e,n){if($t.size>=Uo){let r=Date.now();for(let[i,o]of $t)o.until<=r&&$t.delete(i);for(;$t.size>=Uo;)$t.delete($t.keys().next().value)}$t.set(t,{until:Date.now()+n,result:e})}function Ha(t){return/^data:|^blob:|^about:blank$/i.test(t)}function za(t,e){try{let n=typeof location<"u"&&location.href?location.href:"http://localhost/",r=e.split(/\{url(?:Raw)?\}/)[0],i=new URL(r||".",n);if(new URL(t,n).origin===i.origin)return!0}catch{}return!1}function ja(t,e){if(!e||Ha(t)||za(t,e))return!1;try{let n=typeof location<"u"&&location.href?location.href:"http://localhost/",r=new URL(t,n);return typeof location<"u"?r.origin!==location.origin:!0}catch{return!!e}}function Va(t,e){if(!e)return t;if(/\{url(?:Raw)?\}/.test(e))return e.replace("{urlRaw}",()=>It(t)).replace("{url}",()=>encodeURIComponent(t));if(/[?&]url=?$/.test(e))return`${e}${encodeURIComponent(t)}`;if(e.endsWith("?"))return`${e}url=${encodeURIComponent(t)}`;if(e.endsWith("/"))return`${e}${It(t)}`;let n=e.includes("?")?"&":"?";return`${e}${n}url=${encodeURIComponent(t)}`}function zo(t){return new Promise((e,n)=>{let r=new FileReader;r.onload=()=>e(String(r.result||"")),r.onerror=()=>n(new Error("read_failed")),r.readAsDataURL(t)})}function qa(t,e){return new Headers(e.headers||{}).keys().next().done?JSON.stringify([e.as||"blob",e.timeout??3e3,e.useProxy||"",e.errorTTL??8e3,e.credentials||"",t]):null}function jo(t){try{return new URL(t,globalThis.location?.href||"http://localhost/").origin}catch{return"invalid-url"}}function yr(t,e){try{t.onError?.(e)}catch{}}async function ot(t,e={}){let n=e.as??"blob",r=e.timeout??3e3,i=e.useProxy||"",o=e.errorTTL??8e3,s=e.headers||{},a=!!e.silent;if(/^data:/i.test(t))try{if(n==="text")return{ok:!0,data:String(t),status:200,url:t,fromCache:!1};if(n==="dataURL")return{ok:!0,data:String(t),status:200,url:t,fromCache:!1,mime:String(t).slice(5).split(";")[0]||""};let[,g="",y=""]=String(t).match(/^data:([^,]*),(.*)$/)||[],w=/;base64/i.test(g)?atob(y):decodeURIComponent(y),C=new Uint8Array([...w].map(S=>S.charCodeAt(0))),x=new Blob([C],{type:(g||"").split(";")[0]||""});return{ok:!0,data:x,status:200,url:t,fromCache:!1,mime:x.type||""}}catch{return{ok:!1,data:null,status:0,url:t,fromCache:!1,reason:"special_url_error"}}if(/^blob:/i.test(t))try{let g=await fetch(t);if(!g.ok)return{ok:!1,data:null,status:g.status,url:t,fromCache:!1,reason:"http_error"};let y=await g.blob(),b=y.type||g.headers.get("content-type")||"";return n==="dataURL"?{ok:!0,data:await zo(y),blob:y,status:g.status,url:t,fromCache:!1,mime:b}:n==="text"?{ok:!0,data:await y.text(),status:g.status,url:t,fromCache:!1,mime:b}:{ok:!0,data:y,status:g.status,url:t,fromCache:!1,mime:b}}catch{return{ok:!1,data:null,status:0,url:t,fromCache:!1,reason:"network"}}if(/^about:blank$/i.test(t))return n==="dataURL"?{ok:!0,data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==",status:200,url:t,fromCache:!1,mime:"image/png"}:{ok:!0,data:n==="text"?"":new Blob([]),status:200,url:t,fromCache:!1};let c;try{c=qa(t,{as:n,timeout:r,useProxy:i,errorTTL:o,credentials:e.credentials,headers:s})}catch{let g={ok:!1,data:null,status:0,url:t,fromCache:!1,reason:"network"};return yr(e,g),g}let f=$t.get(c);if(f&&f.until>Date.now())return{...f.result,fromCache:!0};f&&$t.delete(c);let l=gr.get(c);if(l)return l;let u=ja(t,i)?Va(t,i):t,p=e.credentials;if(!p)try{let g=typeof location<"u"&&location.href?location.href:"http://localhost/",y=new URL(t,g);p=typeof location<"u"&&y.origin===location.origin?"include":"omit"}catch{p="omit"}let m=new AbortController,d=setTimeout(()=>m.abort("timeout"),r),h=(async()=>{try{let g=await fetch(u,{signal:m.signal,credentials:p,headers:s});if(!g.ok){let w={ok:!1,data:null,status:g.status,url:u,fromCache:!1,reason:"http_error"};if(c!==null&&o>0&&Ho(c,w,o),!a){let C=`${g.status} ${g.statusText||""}`.trim();Bo.warnOnce(`http:${g.status}:${n}:${jo(t)}`,`HTTP error ${C} while fetching ${n} ${t}`)}return yr(e,w),w}if(n==="text")return{ok:!0,data:await g.text(),status:g.status,url:u,fromCache:!1};let y=await g.blob(),b=y.type||g.headers.get("content-type")||"";return n==="dataURL"?{ok:!0,data:await zo(y),blob:y,status:g.status,url:u,fromCache:!1,mime:b}:{ok:!0,data:y,status:g.status,url:u,fromCache:!1,mime:b}}catch(g){let y=m.signal.aborted?m.signal.reason==="timeout"?"timeout":"abort":g&&typeof g=="object"&&g.name==="AbortError"?"abort":"network",b={ok:!1,data:null,status:0,url:u,fromCache:!1,reason:y};if(c!==null&&!/^blob:/i.test(t)&&o>0&&Ho(c,b,o),!a){let w=`${y}:${n}:${jo(t)}`,C=y==="timeout"?`Timeout after ${r}ms. Consider increasing timeout or using a proxy for ${t}`:y==="abort"?`Request aborted while fetching ${n} ${t}`:`Network/CORS issue while fetching ${n} ${t}. A proxy may be required`;Bo.errorOnce(w,C)}return yr(e,b),b}finally{clearTimeout(d),gr.delete(c)}})();return c!==null&&gr.set(c,h),h}var Bo,gr,Uo,$t,de=it(()=>{"use strict";mt();Bo=Ua("[snapDOM]",{ttlMs:3*6e4,maxEntries:10}),gr=new Map,Uo=50,$t=new Map});async function pe(t,e={}){if(/^((repeating-)?(linear|radial|conic)-gradient)\(/i.test(t)||t.trim()==="none")return t;let r=Be(t,typeof devicePixelRatio<"u"&&devicePixelRatio||1)??Gt(t);if(!r)return t;let i=pr(r),o=It(i),s=(e.useProxy||"")+"|"+o;if(P.background.has(s)){let a=P.background.get(s);return a?`url("${a}")`:"none"}try{let a=await ot(o,{as:"dataURL",useProxy:e.useProxy});return a.ok?(P.background.set(s,a.data),`url("${a.data}")`):(P.background.set(s,null),"none")}catch{return P.background.set(s,null),"none"}}var Vo=it(()=>{"use strict";lt();mt();de()});function Ja(t){let e=t.replace(Qa,"").trim();return e?e.replace(/(^|,)(\s*)(?=,|$)/g,"$1$2*"):"*"}function Xo(t,e,n,r){for(let i=0;i<t.length;i++){if(--r.budget<0)return!1;let o=t[i],s=o.style;if(s){let c=!!o.selectorText&&Ya.test(o.selectorText);for(let f=0;f<s.length;f++){let l=s[f];if(e.add(l),c&&r.pseudoProps.add(l),s.getPropertyPriority(l)&&r.importantProps.add(l),l.length>5&&(l[0]==="m"||l[0]==="p")){let u=l.startsWith("margin")?"marginUnstable":l.startsWith("padding")?"paddingUnstable":null;u&&!r[u]&&Ka.test(s.getPropertyValue(l))&&(r[u]=!0)}}}let a=o.selectorText;if(a&&a.includes(":has(")&&(r.usesHas=!0),a&&a.includes("&"))for(let c=o.parentRule;c&&a.includes("&");c=c.parentRule)c.selectorText&&(a=a.replace(/&/g,`:is(${c.selectorText})`));if(a&&(r.inContainer||Go.test(a)||a.includes("+")||a.includes("~")))for(let c of Za(a,",")){let f=c.trim();f&&(r.inContainer||Go.test(f)||f.includes("+")||f.includes("~"))&&r.shareUnsafeSels.add(f)}if(a&&a.includes(":"))for(let c in qo)qo[c].test(a)&&n[c].push(Ja(a));if(o.styleSheet){if(!br(o.styleSheet,e,n,r))return!1}else if(o.cssRules&&o.cssRules.length){let c=o.constructor?.name==="CSSContainerRule";c&&r.inContainer++;let f=Xo(o.cssRules,e,n,r);if(c&&r.inContainer--,!f)return!1}}return!0}function br(t,e,n,r){let i;try{i=t.cssRules}catch{return!1}return i?Xo(i,e,n,r):!1}function Za(t,e){let n=[],r=0,i=null,o=0;for(let s=0;s<t.length;s++){let a=t[s];if(i){a===i&&t[s-1]!=="\\"&&(i=null);continue}a==='"'||a==="'"?i=a:a==="("||a==="["?r++:a===")"||a==="]"?r--:r===0&&a===e&&(n.push(t.slice(o,s)),o=s+1)}return n.push(t.slice(o)),n}function tc(t){let e=0,n=null,r=0;for(let l=0;l<t.length;l++){let u=t[l];if(n){u===n&&t[l-1]!=="\\"&&(n=null);continue}u==='"'||u==="'"?n=u:u==="("||u==="["?e++:u===")"||u==="]"?e--:e===0&&(u===" "||u===">"||u==="+"||u==="~")&&(r=l+1)}let i="",o=0;for(let l of t.slice(r))l==="("||l==="["?o++:l===")"||l==="]"?o--:o===0&&(i+=l);let s=l=>!l||/\\[0-9a-fA-F]/.test(l)?null:l.replace(/\\(.)/g,"$1"),a=s((i.match(/\.((?:\\.|[\w-])+)/)||[])[1]);if(a)return"c"+a;let c=s((i.match(/#((?:\\.|[\w-])+)/)||[])[1]);if(c)return"i"+c;let f=(i.match(/^([a-zA-Z][\w-]*)/)||[])[1];return f?"t"+f.toLowerCase():null}function Yo(t,e){if(!e.length)return"";if(e.some(r=>r.includes("&")))return null;let n=e.join(",");try{return t.matches(n),n}catch{return null}}function ec(t,e){let n=t.createElement("div"),r={};for(let i in e){let o=e[i];(i==="before"||i==="after")&&o.push("q"),r[i]=Yo(n,o)}return r}function Ko(t){let e={universe:null,pseudoUniverse:null,usesHas:!0,shareGate:null,marginUnstable:!0,paddingUnstable:!0,importantProps:null,pseudoGates:{before:null,after:null,firstLetter:null,marker:null,firstLine:null}};try{let n=new Set(wr),r={before:[],after:[],firstLetter:[],marker:[],firstLine:[]},i={budget:2e4,usesHas:!1,shareUnsafeSels:new Set,inContainer:0,marginUnstable:!1,paddingUnstable:!1,importantProps:new Set,pseudoProps:new Set};for(let f of t.styleSheets)if(!br(f,n,r,i))return e;let o=t.adoptedStyleSheets;if(Array.isArray(o)){for(let f of o)if(!br(f,n,r,i))return e}if(typeof t.getAnimations=="function")for(let f of t.getAnimations()){let l=f.effect?.getKeyframes?.()||[];for(let u of l)for(let p of Object.keys(u))p==="offset"||p==="easing"||p==="composite"||p==="computedOffset"||n.add(p.replace(/[A-Z]/g,m=>"-"+m.toLowerCase()))}let s=Array.from(i.shareUnsafeSels),a=Yo(t.createElement("div"),s)===null?null:s.map(f=>({sel:f,key:tc(f)})),c=new Set(Xa);for(let f of Ga)n.has(f)&&c.add(f);for(let f of i.pseudoProps)c.add(f);return{universe:n,pseudoUniverse:c,pseudoGates:ec(t,r),usesHas:i.usesHas,shareGate:a,marginUnstable:i.marginUnstable,paddingUnstable:i.paddingUnstable,importantProps:i.importantProps}}catch{return e}}var wr,Ga,Xa,Ya,Ka,qo,Qa,Go,Sr=it(()=>{"use strict";wr=["display","position","top","right","bottom","left","float","clear","z-index","box-sizing","width","height","min-width","min-height","max-width","max-height","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","overflow-x","overflow-y","visibility","opacity","content-visibility","vertical-align","border-top-width","border-right-width","border-bottom-width","border-left-width","border-top-style","border-right-style","border-bottom-style","border-left-style","border-top-color","border-right-color","border-bottom-color","border-left-color","border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius","flex-direction","flex-wrap","flex-grow","flex-shrink","flex-basis","order","align-items","align-self","align-content","justify-content","justify-items","justify-self","row-gap","column-gap","grid-template-columns","grid-template-rows","grid-auto-flow","grid-auto-columns","grid-auto-rows","grid-column-start","grid-column-end","grid-row-start","grid-row-end","color","font-family","font-size","font-weight","font-style","font-stretch","line-height","letter-spacing","word-spacing","white-space","text-align","text-transform","text-indent","text-overflow","text-shadow","direction","unicode-bidi","writing-mode","text-orientation","word-break","overflow-wrap","tab-size","list-style-type","list-style-position","list-style-image","counter-reset","counter-increment","counter-set","background-color","background-image","background-size","background-position","background-repeat","background-clip","background-origin","background-attachment","box-shadow","outline-width","outline-style","outline-color","outline-offset","transform","transform-origin","rotate","scale","translate","filter","mix-blend-mode","clip-path","object-fit","object-position","border-collapse","border-spacing","table-layout","caption-side","empty-cells"],Ga=["color","font-family","font-size","font-weight","font-style","font-stretch","font-variant","font-kerning","font-feature-settings","font-variation-settings","line-height","letter-spacing","word-spacing","white-space","text-align","text-align-last","text-indent","text-transform","text-shadow","text-rendering","direction","unicode-bidi","word-break","overflow-wrap","writing-mode","text-orientation","hyphens","tab-size","visibility","list-style-type","list-style-position","list-style-image","border-collapse","border-spacing","caption-side","empty-cells","quotes","color-scheme","-webkit-text-fill-color","-webkit-font-smoothing","image-rendering"],Xa=["display","width","height","min-width","min-height"],Ya=/::?(?:before|after|first-letter|first-line|marker)/,Ka=/%|\bauto\b|calc\(|var\(/i,qo={before:/::?before\b/,after:/::?after\b/,firstLetter:/::?first-letter\b/,marker:/::marker\b/,firstLine:/::?first-line\b/},Qa=/::?(?:before|after|first-letter|first-line|marker)\b/g;Go=/:(nth-|first-child|last-child|only-|first-of-type|last-of-type|empty|hover|focus|active|target|checked|indeterminate|disabled|enabled|read-only|read-write|placeholder-shown|autofill|valid|invalid|user-valid|user-invalid|in-range|out-of-range|required|optional|default|link|any-link|scope|defined|modal|fullscreen|picture-in-picture|playing|paused|dir\(|lang\(|has\()/});function Q(t){return Qo.add(t),t.setAttribute("data-snapdom-internal",""),t}function Ot(t){return Qo.has(t)}var Qo,gt=it(()=>{"use strict";Qo=new WeakSet});function vr(t){if(t=String(t).toLowerCase(),He.has(t)){let o={};return P.defaultStyle.set(t,o),o}if(P.defaultStyle.has(t))return P.defaultStyle.get(t);let e=[...document.querySelectorAll("#snapdom-sandbox")].find(Ot);e||(e=document.createElement("div"),Q(e),e.id="snapdom-sandbox",e.setAttribute("data-snapdom-sandbox","true"),e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.left="-9999px",e.style.top="-9999px",e.style.width="0px",e.style.height="0px",e.style.overflow="hidden",document.body.appendChild(e));let n=document.createElement(t);n.style.all="initial",e.appendChild(n);let r=getComputedStyle(n),i={};for(let o of r){if(he(o))continue;let s=r.getPropertyValue(o);i[o]=s}for(let o of wr)!(o in i)&&!he(o)&&(i[o]=r.getPropertyValue(o));return e.removeChild(n),P.defaultStyle.set(t,i),i}function he(t){let e=Jo.get(t);if(e===void 0){let n=String(t).toLowerCase();e=oc.has(n)||rc.test(n)||nc.test(n),Jo.set(t,e)}return e}function ti(t,e){let n=lc.get(t);if(n===void 0||e[n]!==e[t])return!1;let r=e["writing-mode"];if(r&&r!=="horizontal-tb")return!1;let i=e.direction;return!(i&&i!=="ltr")}function un(t,e){return!sc.has(t)&&(e==="inline"||ic.has(t)||Zo.has(t))}function kr(t,e,n){let r=(e.display||"").toLowerCase();if(r==="inline"||Zo.has(t))return!1;if(n)return!0;if((e.float||"none").toLowerCase()!=="none")return!1;let o=(e.position||"static").toLowerCase();return o==="absolute"||o==="fixed"?!1:!uc.has(r)}function me(t,e,n=!0,r=!1){if(e=String(e||"").toLowerCase(),He.has(e))return"";let i=[],o=vr(e),s=(t.display||"").toLowerCase(),a=s==="inline",c=un(e,s),f=t["text-wrap-mode"]||t["white-space"]||"",l=f==="nowrap"||f==="pre",p=c&&n&&!(c&&n&&!a&&l),m=!1;for(let d in t){if(he(d)||ti(d,t))continue;let h=t[d];if(p){if(ac.has(d))continue;if(cc.has(d)){h&&h!==o[d]&&(i.push(`${d}:${h}`),h!=="auto"&&(m=!0));continue}}if(h&&h!==o[d]){if(!l&&(d==="width"||d==="inline-size")&&h.endsWith("px")&&h.includes(".")){let g=parseFloat(h);if(Number.isFinite(g)){i.push(`${d}:${(g+fc).toFixed(3)}px`);continue}}i.push(`${d}:${h}`)}}if(p&&!a&&!r&&!m){let d=t.width;d&&d!=="auto"&&d!==o.width&&i.push(`min-width:${d}`)}return i.sort(),i.join(";")}function Cr(t){let e=new Set;return t.nodeType!==Node.ELEMENT_NODE&&t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE?[]:(t.tagName&&e.add(t.tagName.toLowerCase()),typeof t.querySelectorAll=="function"&&t.querySelectorAll("*").forEach(n=>e.add(n.tagName.toLowerCase())),Array.from(e))}function Ar(t,e=null){let n=new Map;for(let s of t){let a=vr(s);if(!a)continue;let l=(e?Object.entries(a).filter(([p])=>e.has(p)):Object.entries(a)).filter(([p])=>!ti(p,a)).map(([p,m])=>`${p}:${m};`).sort(),u=l.join("");u&&(n.has(u)||n.set(u,{tagList:[],declarations:l}),n.get(u).tagList.push(s))}let r=[...n.values()],i=null;for(let{declarations:s}of r){let a=new Set(s);if(!i){i=a;continue}for(let c of i)a.has(c)||i.delete(c)}i??(i=new Set);let o="";if(i.size&&r.length>1){let s=r.flatMap(a=>a.tagList);o+=`${s.join(",")} { ${[...i].join("")} }
|
|
7
|
+
`}for(let{tagList:s,declarations:a}of r){let c=r.length>1?a.filter(l=>!i.has(l)):a;if(!c.length)continue;let f=c.join("");o+=`${s.join(",")} { ${f} }
|
|
8
|
+
`}return o}function ze(t){let e=Array.from(new Set(t.values())).filter(Boolean).sort(),n=new Map,r=1;for(let i of e)n.set(i,`c${r++}`);return n}function dc(t){try{let e=t?.ownerDocument;if(!e)return typeof window<"u"?window:null;let n=e.defaultView;if(n&&typeof n.getComputedStyle=="function")return n;if(typeof window<"u"&&window.frames)for(let r=0;r<window.frames.length;r++)try{if(window.frames[r]?.document===e)return window.frames[r]}catch{}}catch{}return typeof window<"u"?window:null}function O(t,e=null){let n=()=>{let o={length:0,getPropertyValue:()=>"",item:()=>""};return o[Symbol.iterator]=function*(){},o};if(t?.nodeType!==1){let o=typeof window<"u"?window:null;if(o&&typeof o.getComputedStyle=="function")try{return o.getComputedStyle(t,e)||n()}catch{return n()}return n()}let r=P.computedStyle.get(t);r||(r=new Map,P.computedStyle.set(t,r));let i=r.get(e);if(!i){let o=dc(t),s=null;try{s=o&&typeof o.getComputedStyle=="function"?o.getComputedStyle(t,e):null}catch{}if(!s&&typeof window<"u"&&typeof window.getComputedStyle=="function")try{t.ownerDocument===document&&(s=window.getComputedStyle(t,e))}catch{}i=s||n(),r.set(e,i)}return i}function ge(t,e=null){let n={};for(let r of e||t){let i=t.getPropertyValue(r);i&&(n[r]=i)}for(let r of pc){let i=n[`border-${r}-style`],o=n[`border-${r}-width`];(i==="none"||i==="hidden"||o==="0px")&&(delete n[`border-${r}-style`],delete n[`border-${r}-width`],delete n[`border-${r}-color`])}return n}function Dt(t){let e=[],n=0,r=0;for(let i=0;i<t.length;i++){let o=t[i];o==="("&&n++,o===")"&&n--,o===","&&n===0&&(e.push(t.slice(r,i).trim()),r=i+1)}return e.push(t.slice(r).trim()),e}var xr,He,nc,rc,oc,Jo,ic,Zo,sc,ac,cc,lc,fc,uc,pc,ye=it(()=>{"use strict";lt();Sr();gt();xr=new Set(["meta","script","noscript","title","link","template"]),He=new Set(["meta","link","style","title","noscript","script","template","g","defs","use","marker","mask","clipPath","pattern","symbol","path","polygon","polyline","line","circle","ellipse","rect","filter","lineargradient","radialgradient","stop"]);nc=/(?:^|-)(animation|transition)(?:-|$)/i,rc=/^(--.+|view-timeline|scroll-timeline|animation-trigger|offset-|position-try|app-region|interactivity|overlay|view-transition|-webkit-locale|-webkit-user-(?:drag|modify)|-webkit-tap-highlight-color|-webkit-text-security)$/i,oc=new Set(["cursor","pointer-events","touch-action","user-select","print-color-adjust","speak","reading-flow","reading-order","anchor-name","anchor-scope","container-name","container-type","timeline-scope","zoom","stroke-color"]),Jo=new Map;ic=new Set(["span","small","em","strong","b","i","u","s","code","cite","mark","sub","sup"]),Zo=new Set(["table","thead","tbody","tfoot","tr","td","th"]),sc=new Set(["img","video","canvas","svg","iframe","embed","object","input","textarea","select"]),ac=new Set(["width","max-width","inline-size","max-inline-size"]),cc=new Set(["min-width","min-inline-size"]),lc=new Map(Object.entries({"block-size":"height","inline-size":"width","min-block-size":"min-height","min-inline-size":"min-width","max-block-size":"max-height","max-inline-size":"max-width","margin-block-start":"margin-top","margin-block-end":"margin-bottom","margin-inline-start":"margin-left","margin-inline-end":"margin-right","padding-block-start":"padding-top","padding-block-end":"padding-bottom","padding-inline-start":"padding-left","padding-inline-end":"padding-right","inset-block-start":"top","inset-block-end":"bottom","inset-inline-start":"left","inset-inline-end":"right","border-block-start-width":"border-top-width","border-block-start-style":"border-top-style","border-block-start-color":"border-top-color","border-block-end-width":"border-bottom-width","border-block-end-style":"border-bottom-style","border-block-end-color":"border-bottom-color","border-inline-start-width":"border-left-width","border-inline-start-style":"border-left-style","border-inline-start-color":"border-left-color","border-inline-end-width":"border-right-width","border-inline-end-style":"border-right-style","border-inline-end-color":"border-right-color","border-start-start-radius":"border-top-left-radius","border-start-end-radius":"border-top-right-radius","border-end-start-radius":"border-bottom-left-radius","border-end-end-radius":"border-bottom-right-radius","overflow-block":"overflow-y","overflow-inline":"overflow-x","overscroll-behavior-block":"overscroll-behavior-y","overscroll-behavior-inline":"overscroll-behavior-x","contain-intrinsic-block-size":"contain-intrinsic-height","contain-intrinsic-inline-size":"contain-intrinsic-width"}));fc=.001;uc=new Set(["inline-block","inline-flex","inline-grid","inline-table","inline-flow-root","table"]);pc=["top","right","bottom","left"]});function ft(t=1e3){return typeof requestAnimationFrame!="function"||typeof document<"u"&&document.visibilityState==="hidden"?Promise.resolve():new Promise(e=>{let n=!1,r=()=>{n||(n=!0,e())};try{requestAnimationFrame(r)}catch{r();return}setTimeout(r,t)})}function je(){if(typeof navigator>"u")return!1;if(navigator.userAgentData)return navigator.userAgentData.platform==="iOS";let t=navigator.userAgent||"",e=/iPhone|iPad|iPod/.test(t),n=navigator.maxTouchPoints>2&&/Macintosh/.test(t);return e||n}function X(){if(typeof navigator>"u")return!1;let t=navigator.userAgent||"",e=t.toLowerCase(),n=e.includes("safari")&&!e.includes("chrome")&&!e.includes("crios")&&!e.includes("fxios")&&!e.includes("android"),r=/applewebkit/i.test(t),i=/mobile/i.test(t),o=!/safari/i.test(t),s=r&&i&&o,a=/(micromessenger|wxwork|wecom|windowswechat|macwechat)/i.test(t),c=/(baiduboxapp|baidubrowser|baidusearch|baiduboxlite)/i.test(e),f=/ipad|iphone|ipod/.test(e)&&r;return n||s||a||c||f}function Bt(){return typeof navigator>"u"?!1:(navigator.userAgent||"").toLowerCase().includes("firefox")}var vt=it(()=>{"use strict"});function U(t,e,n){let r=t&&typeof t=="object"&&(t.options||t);r&&r.debug&&(n!==void 0?console.warn("[snapdom]",e,n):console.warn("[snapdom]",e))}function yt(t,e,n,r){let i=t&&t.warnings;i&&i.length<hc&&i.push(r===void 0?{code:e,message:n}:{code:e,message:n,detail:r})}var hc,Xt=it(()=>{"use strict";hc=50});var ut=it(()=>{"use strict";Vo();ye();vt();mt();Xt()});var Ea={};De(Ea,{decodeSvgFromDataURL:()=>sn,encodeSvgToDataURL:()=>an,fixSafariShadows:()=>ar,toCanvas:()=>se});function Pu(t,e){try{let n=t.match(/<svg\b[^>]*>/i);if(!n)return t;let r=n[0],i=parseFloat((r.match(/\bwidth="([\d.]+)/i)||[])[1]),o=parseFloat((r.match(/\bheight="([\d.]+)/i)||[])[1]);if(!Number.isFinite(i)||!Number.isFinite(o)||i<=0||o<=0)return t;let s=Math.min(1,jt/i,jt/o,Math.sqrt(Fo/(i*o)));if(s>=1)return t;let a=Math.max(1,Math.floor(i*s)),c=Math.max(1,Math.floor(o*s));return yt(e,"raster-clamp",`capture ${Math.round(i)}x${Math.round(o)}px exceeds decode limits; downscaled to ${a}x${c}px`),console.warn(`[snapDOM] Capture ${Math.round(i)}\xD7${Math.round(o)}px exceeds the browser image-decode limit (${jt}px/side); downscaling to ${a}\xD7${c}px. Lower \`scale\` or set \`width\`/\`height\` to control output size.`),t.replace(r,r.replace(/(\bwidth=")[\d.]+/i,`$1${a}`).replace(/(\bheight=")[\d.]+/i,`$1${c}`))}catch{return t}}function Nu(t,e){let n=["x","y","width","height"].map(S=>Number(e?.[S]));if(!n.every(Number.isFinite)||n[2]<=0||n[3]<=0)throw new RangeError("[snapdom] canvas crop requires finite x/y and positive width/height");let r=t.match(/<svg\b[^>]*>/i);if(!r)throw new Error("[snapdom] cannot crop a non-SVG capture");let i=r[0],o=(i.match(/\bviewBox="([^"]+)"/i)||[])[1],s=String(o||"").trim().split(/[\s,]+/).map(Number);if(s.length!==4||!s.every(Number.isFinite)||s[2]<=0||s[3]<=0)throw new Error("[snapdom] cannot crop an SVG without a finite viewBox");let[a,c,f,l]=s,u=Math.max(a,n[0]),p=Math.max(c,n[1]),m=Math.min(a+f,n[0]+n[2]),d=Math.min(c+l,n[1]+n[3]);if(!(m>u)||!(d>p))throw new RangeError("[snapdom] canvas crop does not intersect the SVG viewBox");let h=parseFloat((i.match(/\bwidth="([\d.]+)/i)||[])[1]),g=parseFloat((i.match(/\bheight="([\d.]+)/i)||[])[1]),y=Number.isFinite(h)&&h>0?h/f:1,b=Number.isFinite(g)&&g>0?g/l:1,w=Math.max(1,(m-u)*y),C=Math.max(1,(d-p)*b),x=i.replace(/(\bwidth=")[^"]*/i,`$1${w}`).replace(/(\bheight=")[^"]*/i,`$1${C}`).replace(/(\bviewBox=")[^"]*/i,`$1${u} ${p} ${m-u} ${d-p}`);return t.replace(i,x)}function xa(t){return typeof t=="string"&&/^data:image\/svg\+xml/i.test(t)}function sn(t){let e=t.indexOf(",");return e>=0?decodeURIComponent(t.slice(e+1)):""}function Lu(t){let e=t.indexOf(",");if(e<0)return"";let n=t.slice(e+1,e+1201).replace(/%[0-9A-Fa-f]?$/,"");try{return decodeURIComponent(n)}catch{return""}}function an(t){return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`}function Aa(t){let e=[],n="",r=0;for(let i=0;i<t.length;i++){let o=t[i];o==="("&&r++,o===")"&&(r=Math.max(0,r-1)),o===";"&&r===0?(e.push(n),n=""):n+=o}return n.trim()&&e.push(n),e.map(i=>i.trim()).filter(Boolean)}function Iu(t){let e=[],n="",r=0;for(let o=0;o<t.length;o++){let s=t[o];s==="("&&r++,s===")"&&(r=Math.max(0,r-1)),s===","&&r===0?(e.push(n.trim()),n=""):n+=s}n.trim()&&e.push(n.trim());let i=[];for(let o of e){if(/\binset\b/i.test(o))continue;let s=o.match(/-?\d+(?:\.\d+)?px/gi)||[],[a="0px",c="0px",f="0px"]=s;f=`${parseFloat(f)/2}px`;let l=o.replace(/-?\d+(?:\.\d+)?px/gi,"").replace(/\binset\b/ig,"").trim().replace(/\s{2,}/g," "),u=!!l&&l!==",";i.push(`drop-shadow(${a} ${c} ${f}${u?` ${l}`:""})`)}return i.join(" ")}function Ma(t){let e=Aa(t),n=null,r=null,i=null,o=[];for(let a of e){let c=a.indexOf(":");if(c<0)continue;let f=a.slice(0,c).trim().toLowerCase(),l=a.slice(c+1).trim();f==="box-shadow"?i=l:f==="filter"?n=l:f==="-webkit-filter"?r=l:o.push([f,l])}if(i){let a=Iu(i);a&&(n=n?`${n} ${a}`:a,r=r?`${r} ${a}`:a)}let s=[...o];return n&&s.push(["filter",n]),r&&s.push(["-webkit-filter",r]),s.map(([a,c])=>`${a}:${c}`).join(";")}function Wu(t){return t.replace(/([^{}]+)\{([^}]*)\}/g,(e,n,r)=>`${n}{${Ma(r)}}`)}function Ou(t){return t=t.replace(/<style[^>]*>([\s\S]*?)<\/style>/gi,(e,n)=>e.replace(n,Wu(n))),t=t.replace(/style=(['"])([\s\S]*?)\1/gi,(e,n,r)=>`style=${n}${Ma(r)}${n}`),t}function Du(){return or||(or=(async()=>{try{let t='<svg xmlns="http://www.w3.org/2000/svg" width="8" height="20"><foreignObject width="8" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="width:4px;height:4px;margin-top:8px;background:#000;box-shadow:0 8px 0 0 #000"></div></foreignObject></svg>',e=new Image;e.decoding="sync",e.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`,await e.decode();let n=document.createElement("canvas");n.width=8,n.height=20;let r=n.getContext("2d",{willReadFrequently:!0});r.drawImage(e,0,0);let i=r.getImageData(2,18,1,1).data[3]>128,o=r.getImageData(2,2,1,1).data[3]>128;return{native:i||o,flippedY:o&&!i}}catch{return{native:!1,flippedY:!1}}})(),or)}function Bu(t){let e=[],n=0,r=0;for(let i=0;i<t.length;i++){let o=t[i];o==="("?n++:o===")"?n=Math.max(0,n-1):o===","&&n===0&&(e.push(t.slice(r,i)),r=i+1)}return e.push(t.slice(r)),e.map(i=>{let o=0,s=0,a="",c=0;for(;c<i.length;){let f=i[c];if(f==="("?o++:f===")"&&(o=Math.max(0,o-1)),o===0&&(c===0||i[c-1]===" ")){let l=/^-?\d*\.?\d+px/.exec(i.slice(c));if(l){s++,a+=s===2?`${-parseFloat(l[0])}px`:l[0],c+=l[0].length;continue}}a+=f,c++}return a}).join(",")}function Uu(t,e){let n=r=>Aa(r).map(i=>{let o=i.indexOf(":");if(o<0)return i;let s=i.slice(0,o).trim().toLowerCase();return s==="text-shadow"||e&&s==="box-shadow"?`${s}:${Bu(i.slice(o+1))}`:i}).join(";");return t=t.replace(/<style[^>]*>([\s\S]*?)<\/style>/gi,(r,i)=>r.replace(i,i.replace(/([^{}]+)\{([^}]*)\}/g,(o,s,a)=>`${s}{${n(a)}}`))),t=t.replace(/style=(['"])([\s\S]*?)\1/gi,(r,i,o)=>`style=${i}${n(o)}${i}`),t}async function ar(t){if(!/(?:box-shadow|text-shadow)\s*:[^;"}]*px/i.test(t))return{svg:t,naturalOnly:!1};let{native:n,flippedY:r}=await Du();try{let i=t;return n||(i=Ou(i)),r&&(i=Uu(i,n)),{svg:i,naturalOnly:!0}}catch{return{svg:t,naturalOnly:!0}}}function Hu(){let t=document.createElement("canvas");t.width=16,t.height=16;let e=t.getContext("2d",{willReadFrequently:!0});return e?n=>{e.clearRect(0,0,16,16),e.drawImage(n,0,0,16,16);let r=e.getImageData(0,0,16,16).data;for(let i=3;i<r.length;i+=4)if(r[i]>0)return!0;return!1}:null}async function zu(t,e,n){Q(t),t.style.cssText="position:fixed;left:-99999px;top:-99999px;pointer-events:none",document.body.appendChild(t);try{if(!n)return await ir(),await ir(),!1;let r=performance.now()+(e?600:150);for(;;){let i;try{i=n(t)}catch{return!1}if(i)return!0;if(performance.now()>r)return!1;await ir()}}finally{try{t.remove()}catch{}}}function va(t){if(typeof document>"u"||!document.body)return new Image;if(Rt&&!Rt.contentDocument){try{Rt.remove()}catch{}Rt=null}if(Rt&&_o>ju&&sr===0){try{Rt.remove()}catch{}Rt=null}if(!Rt){let n=document.createElement("iframe");Q(n),n.setAttribute("aria-hidden","true"),n.style.cssText="position:absolute;left:-9999px;top:0;width:0;height:0;border:0;visibility:hidden;pointer-events:none";try{document.body.appendChild(n)}catch{}if(n.contentDocument)Rt=n,_o=0;else{try{n.remove()}catch{}return new Image}}_o+=t.length,sr+=1;let e=Rt.contentDocument.createElement("img");return e.__snapdomDecodeFrame=!0,e}function Ro(t){!t||!t.__snapdomDecodeFrame||(t.__snapdomDecodeFrame=!1,sr=Math.max(0,sr-1))}function ka(t,e){return t.loading="eager",t.decoding="sync",t.crossOrigin="anonymous",t.src=e,t.decode()}function Yu(t){if(typeof t!="string")return!1;let e=t.indexOf(",")+1,n=Math.max(48,Math.floor((t.length-e)/200)),r=0,i=0;for(let o=e;o+48<=t.length;o+=n){let s=t.slice(o,o+48);r++,Xu.some(a=>s.includes(a))||i++}return i*2>r}function Ca(t,e,n,r,i){if(!e.naturalWidth){t.drawImage(e,0,0,n,r);return}let o=n*r,s=o>Vu&&!Yu(i)?Math.min(Gu,Math.ceil(o/qu)):1;if(s===1){t.drawImage(e,0,0,n,r);return}let a=e.naturalWidth,c=e.naturalHeight/r;for(let f=0;f<s;f++){let l=Math.round(f*r/s),u=f===s-1?r:Math.round((f+1)*r/s);t.drawImage(e,0,l*c,a,(u-l)*c,0,l,n,u-l)}}async function se(t,e){let{width:n,height:r,scale:i=1,dpr:o=1,meta:s={},backgroundColor:a,crop:c=null}=e,f=typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement?t:null,l=t,u=!1,p=!1;if(c&&!xa(t))throw new RangeError("[snapdom] canvas crop requires an SVG capture payload");if(xa(t)){let d=(Lu(t).match(/<svg\b[^>]*>/i)||[])[0]||"",h=parseFloat((d.match(/\bwidth="([\d.]+)/i)||[])[1]),g=parseFloat((d.match(/\bheight="([\d.]+)/i)||[])[1]),y=Number.isFinite(h)&&Number.isFinite(g)&&h>0&&g>0&&Math.min(1,jt/h,jt/g,Math.sqrt(Fo/(h*g)))<1;if(c||y||X())try{let b=sn(t);if(c&&(b=Nu(b,c)),X()){let w=await ar(b);b=w.svg,u=w.naturalOnly,p=/@font-face|data:image\//i.test(b)}(y||c)&&(b=Pu(b,e.__session)),l=an(b)}catch(b){if(c)throw b;l=t}}let m=f||va(l);try{f||await ka(m,l)}catch(d){if(!m.__snapdomDecodeFrame)throw d;Ro(m),m=va(l);try{await ka(m,l)}catch(h){throw Ro(m),h}}try{let d=X()&&!f?Hu():null,h=!1;d&&(h=await zu(m,p,d));let g=f?f.width:m.naturalWidth,y=f?f.height:m.naturalHeight,b=c?g:Number.isFinite(s.vbW)?s.vbW:Number.isFinite(s.w0)?s.w0:g,w=c?y:Number.isFinite(s.vbH)?s.vbH:Number.isFinite(s.h0)?s.h0:y,C,x,S=Number.isFinite(n),A=Number.isFinite(r);if(S&&A)C=Math.max(1,n),x=Math.max(1,r);else if(S){let N=n/Math.max(1,b);C=n,x=w*N}else if(A){let N=r/Math.max(1,w);x=r,C=b*N}else{let N=f&&Number.isFinite(s.vbW)&&Number.isFinite(s.vbH);C=N?s.vbW:g,x=N?s.vbH:y}!S&&!A&&(C=C*i,x=x*i);let v=C*o,M=x*o,k=Math.max(v/jt,M/jt,Math.sqrt(v*M/Fo));k>1&&(yt(e.__session,"canvas-clamp",`output ${Math.round(v)}x${Math.round(M)}px exceeds canvas limits; downscaled`),console.warn(`[snapDOM] Output ${Math.round(v)}\xD7${Math.round(M)}px exceeds the browser canvas limit (${jt}px/side); downscaling. Lower \`scale\`/\`dpr\` or set \`width\`/\`height\`.`),C/=k,x/=k);let R=xt(e.canvas)&&nt(e.canvas,"canvas")?e.canvas:document.createElement("canvas");R.width=Math.max(1,C*o),R.height=Math.max(1,x*o),R.style.width=`${C}px`,R.style.height=`${x}px`;let E=R.getContext("2d");if(!E)throw new Error("[snapdom] toCanvas: the target canvas has no 2d context");let T=()=>{if(o!==1&&E.scale(o,o),a&&(E.save(),E.fillStyle=a,E.fillRect(0,0,C,x),E.restore()),u&&(Math.round(C*o)!==g||Math.round(x*o)!==y)){let N=document.createElement("canvas");N.width=g,N.height=y,Ca(N.getContext("2d"),m,g,y,l),E.drawImage(N,0,0,C,x)}else E.save(),E.setTransform(1,0,0,1,0,0),Ca(E,m,C*o,x*o,l),E.restore()};if(T(),d&&h&&p){let N=!0;try{N=d(m)}catch{}if(!N){let B=performance.now()+600;do{await ir();try{N=d(m)}catch{break}}while(!N&&performance.now()<B);R.width=R.width,T()}}return R}finally{Ro(m)}}var jt,Fo,or,ir,ju,Rt,_o,sr,Vu,qu,Gu,Xu,Le=it(()=>{"use strict";vt();Xt();mt();gt();jt=X()?16384:32767,Fo=16384*16384;or=null;ir=()=>new Promise(t=>{requestAnimationFrame(t),setTimeout(t,50)});ju=24*1024*1024,Rt=null,_o=0,sr=0;Vu=4e6,qu=2e6,Gu=8,Xu=["%3C","%3E","%20","%7B","%7D","%3B"]});var cn={};De(cn,{rasterize:()=>To});async function To(t,e){let n=await se(t,e),o=n.width*n.height<=2e6?n.toDataURL(`image/${e.format}`,e.quality):await new Promise(a=>{let c=()=>a(n.toDataURL(`image/${e.format}`,e.quality));try{n.toBlob(f=>{if(!f)return c();let l=new FileReader;l.onload=()=>a(String(l.result||"")),l.onerror=c,l.readAsDataURL(f)},`image/${e.format}`,e.quality)}catch{c()}}),s=new Image;return s.src=o,X()?await s.decode():await new Promise((a,c)=>{if(s.complete&&s.naturalWidth)return a();s.onload=a,s.onerror=c}),s.style.width=`${n.width/e.dpr}px`,s.style.height=`${n.height/e.dpr}px`,s}var Ie=it(()=>{"use strict";Le();vt()});var $o={};De($o,{toImg:()=>Ku,toSvg:()=>Ku});async function Ku(t,e){let{scale:n=1,width:r,height:i,meta:o={}}=e,s=Number.isFinite(r),a=Number.isFinite(i),c=Number.isFinite(n)&&n!==1||s||a;if(X()&&c)try{let{svg:p}=await ar(sn(t)),m=(p.match(/<svg\b[^>]*>/i)||[])[0]||"",d=parseFloat((m.match(/\bwidth="([\d.]+)/i)||[])[1]),h=parseFloat((m.match(/\bheight="([\d.]+)/i)||[])[1]);if(!Number.isFinite(d)||!Number.isFinite(h))throw new Error("svg without dimensions");let g=Number.isFinite(o.vbW)?o.vbW:Number.isFinite(o.w0)?o.w0:d,y=Number.isFinite(o.vbH)?o.vbH:Number.isFinite(o.h0)?o.h0:h,b,w;s&&a?(b=r,w=i):s?(b=r,w=Math.max(1,Math.round(y*(r/Math.max(1,g))))):a?(w=i,b=Math.max(1,Math.round(g*(i/Math.max(1,y))))):(b=Math.max(1,Math.round(d*n)),w=Math.max(1,Math.round(h*n)));let C=p.replace(/width="[^"]*"/,`width="${b}"`).replace(/height="[^"]*"/,`height="${w}"`),x=new Image;return x.decoding="sync",x.loading="eager",x.src=an(C),await x.decode(),x.style.width=`${b}px`,x.style.height=`${w}px`,x}catch(p){return yt(e.__session,"safari-png-fallback","safari vector toImg failed, falling back to PNG raster",p),U(e,"safari vector toImg failed, falling back to PNG",p),To(t,{...e,format:"png",quality:1,meta:o})}let f=t,l=!1;if(!s&&!a&&n!==1&&typeof t=="string"&&t.startsWith("data:image/svg+xml"))try{let p=sn(t),m=(p.match(/<svg\b[^>]*>/i)||[])[0]||"",d=Number((m.match(/\bwidth="([\d.]+)"/i)||[])[1]),h=Number((m.match(/\bheight="([\d.]+)"/i)||[])[1]);if(d>0&&h>0){let g=m.replace(/\bwidth="[^"]*"/i,`width="${Math.max(1,Math.round(d*n))}"`).replace(/\bheight="[^"]*"/i,`height="${Math.max(1,Math.round(h*n))}"`);f=an(p.replace(m,g)),l=!0}}catch{}let u=new Image;u.decoding="sync",u.loading="eager",u.src=f;try{await u.decode()}catch(p){if(!l)throw p;u.src=t,l=!1,await u.decode()}if(s&&a)u.style.width=`${r}px`,u.style.height=`${i}px`;else if(s){let p=Number.isFinite(o.vbW)?o.vbW:Number.isFinite(o.w0)?o.w0:u.naturalWidth,m=Number.isFinite(o.vbH)?o.vbH:Number.isFinite(o.h0)?o.h0:u.naturalHeight,d=r/Math.max(1,p);u.style.width=`${r}px`,u.style.height=`${Math.max(1,Math.round(m*d))}px`}else if(a){let p=Number.isFinite(o.vbW)?o.vbW:Number.isFinite(o.w0)?o.w0:u.naturalWidth,m=Number.isFinite(o.vbH)?o.vbH:Number.isFinite(o.h0)?o.h0:u.naturalHeight,d=i/Math.max(1,m);u.style.height=`${i}px`,u.style.width=`${Math.max(1,Math.round(p*d))}px`}else{let p=Math.max(1,Math.round(u.naturalWidth*(l?1:n))),m=Math.max(1,Math.round(u.naturalHeight*(l?1:n)));if(u.style.width=`${p}px`,u.style.height=`${m}px`,!l&&n!==1&&typeof t=="string"&&t.startsWith("data:image/svg+xml"))try{let h=decodeURIComponent(t.split(",")[1]).replace(/width="[^"]*"/,`width="${p}"`).replace(/height="[^"]*"/,`height="${m}"`);u.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(h)}`,await u.decode()}catch(d){U(e,"SVG width/height patch in toImg failed",d),u.src!==t&&(u.src=t,await u.decode().catch(()=>{}))}}return u}var Po=it(()=>{"use strict";ut();Xt();Ie();Le()});var _a={};De(_a,{toBlob:()=>No});async function No(t,e){let n=e.format||e.type||"svg";if(n==="svg"){if(typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement)throw new Error("[snapdom] toBlob: engine:'html-in-canvas' produces a raster capture; ask for png/jpeg/webp");let i=decodeURIComponent(t.split(",")[1]);return new Blob([i],{type:"image/svg+xml"})}let r=await se(t,e);return new Promise(i=>r.toBlob(o=>i(o),`image/${n==="jpg"?"jpeg":n}`,e.quality))}var Lo=it(()=>{"use strict";Le()});var Fa={};De(Fa,{download:()=>Qu});async function Ra(t,e){let n=new File([t],e,{type:t.type});if(!navigator.canShare?.({files:[n]}))return!1;try{await navigator.share({files:[n],title:e})}catch(r){if(r.name!=="AbortError")return!1}return!0}async function Qu(t,e){let n=new Set(["png","jpeg","jpg","webp","svg"]),r=(e?.type||"").toLowerCase(),i=n.has(r)?r:"",o=(e?.format||i||"").toLowerCase(),s=o==="jpg"?"jpeg":o||"png",a=e?.filename||"snapdom",c=/\.(png|jpe?g|webp|svg)$/i.test(a)?a:`${a}.${s}`,f={...e||{},format:s,type:s};f.dpr=1;let l=je();if(s==="svg"){let m=await No(t,{...f,type:"svg"});if(l&&await Ra(m,c))return;let d=URL.createObjectURL(m),h=document.createElement("a");h.href=d,h.download=c,document.body.appendChild(h),h.click(),URL.revokeObjectURL(d),h.remove();return}let u=await se(t,f);if(l){let m=`image/${s}`,d=await new Promise(h=>u.toBlob(h,m,e?.quality));if(d&&await Ra(d,c))return}let p=document.createElement("a");p.href=u.toDataURL(`image/${s}`,e?.quality),p.download=c,document.body.appendChild(p),p.click(),p.remove()}var Ta=it(()=>{"use strict";Lo();Le();vt()});ut();ut();vt();lt();Sr();gt();var Yt=new WeakMap,ei=["margin-top","margin-right","margin-bottom","margin-left","margin-block-start","margin-block-end","margin-inline-start","margin-inline-end"],Mr=new Map,mc=2e3,pn=0;function Mt(){pn++}function dn(t){let e=t&&(t.nodeType===1?t:t.parentElement);for(;e;){if(Ot(e))return!0;if(e.parentElement)e=e.parentElement;else{let n=e.getRootNode?.();e=n&&n.host?n.host:null}}return!1}function mn(t){for(let e of t)if(Qt(e))return!0;return!1}function Qt(t){if(dn(t.target))return!1;if(t.type==="childList"){let e=!0;for(let n of t.addedNodes)if(!dn(n)){e=!1;break}if(e){for(let n of t.removedNodes)if(!dn(n)){e=!1;break}}if(e)return!1}return!0}var be=new WeakMap;function si(t){for(let e of t){if(!Qt(e))continue;let n=e.target.ownerDocument||document;be.set(n,(be.get(n)||0)+1);let r=e.target.nodeType===1?e.target:e.target.parentElement||e.target.host;for(;r;r=r.parentElement||r.getRootNode?.()?.host)be.set(r,(be.get(r)||0)+1)}}function gn(t){let e=t.ownerDocument||document;return xe(e),(be.get(e)||0)-(be.get(t)||0)}var kt=0;function we(t=document){return xe(t),kt}function Jt(){return xe(),pn}function Xe(t){return t?(xe(t.ownerDocument||document),yn(t,Pr(t))):0}function Se(){Mt(),kt++}var Kt=new WeakMap,Ut=0,Ht=0;function gc(t){Kt.set(t,++Ut)}function Tr(t){if(!t||t.nodeType!==1)return;Ut++,Kt.set(t,Ut);let e=t.querySelectorAll("*");for(let n=0;n<e.length;n++)Kt.set(e[n],Ut)}function $r(t){Tr(t.parentElement||t);for(let e=t.parentElement;e;e=e.parentElement)gc(e)}function yn(t,e=null){let n=Kt.get(t)||0;if(e)for(let r of e)n=Math.max(n,Kt.get(r)||0);return Ht*1e9+n}function Pr(t){let e=t.getRootNode?.();if(!e?.host)return null;let n=[];for(;e?.host;)e.mode==="open"&&Lr(e),n.push(e.host),e=e.host.getRootNode?.();return n}var Er=new WeakMap;function Nr(t){t=t||document;let e=Er.get(t);if(!e||e.env!==kt){let n=!0;try{n=te(t).usesHas}catch{}e={env:kt,usesHas:n},Er.set(t,e)}return!e.usesHas}function yc(t){let e=n=>n?.nodeType===1&&(n.matches?.("style,link")||n.querySelector?.("style,link"));for(let n of t){let r=n.target,i=r&&(r.nodeType===1?r:r.parentElement);if(i&&(i.tagName==="STYLE"||i.tagName==="LINK"))return i.ownerDocument||document;for(let o of n.addedNodes)if(e(o))return o.ownerDocument||document;for(let o of n.removedNodes)if(e(o))return o.ownerDocument||r&&r.ownerDocument||document}return null}var _r=new WeakSet,Ve=[];function ai(t){if(!mn(t))return;si(t),Mt();let e=new Set;for(let n of t){if(!Qt(n))continue;let r=n.target.getRootNode&&n.target.getRootNode();if(!r||r.nodeType!==11||e.has(r))continue;e.add(r),r.host?Tr(r.host):Ut++;let i=r.querySelectorAll("*");for(let o=0;o<i.length;o++)Kt.set(i[o],Ut)}}function Lr(t){if(!(!t||_r.has(t))){_r.add(t);try{let e=new MutationObserver(ai);e.observe(t,{subtree:!0,childList:!0,characterData:!0,attributes:!0}),Ve.push({o:e,root:t})}catch{}}}function ci(t){if(!mn(t))return;si(t),Mt();let e=yc(t);if(e){Er.delete(e),kt++,Ht++;return}let n=new Set;for(let r of t){if(!Qt(r))continue;let i=r.target.nodeType===1?r.target:r.target.parentElement;if(!i)continue;let o=i.ownerDocument||document;if(!Nr(o)){Ht++;return}if(i===o.documentElement||i===o.body){Ht++;return}let s=i.parentElement||i;n.has(s)||(n.add(s),$r(i))}}var Rr=new WeakSet,qe=null,Ge=[];function xe(t=document){if(t===qe||!t||t.nodeType!==9)return;if(Rr.has(t)){qe=t;return}Rr.add(t),qe=t;let e=t.defaultView,n=i=>{mn(i)&&(Mt(),kt++)},r=()=>{Mt(),kt++};try{let i=new MutationObserver(ci);i.observe(t.documentElement,{subtree:!0,childList:!0,characterData:!0,attributes:!0}),Ge.push({o:i,env:!1,doc:t})}catch{}try{let i=new MutationObserver(n);i.observe(t.head,{subtree:!0,childList:!0,characterData:!0,attributes:!0}),Ge.push({o:i,env:!0,doc:t})}catch{}try{e?.addEventListener("resize",r,{passive:!0})}catch{}try{let i=o=>{Mt();let s=o.composedPath?.()[0]||o.target;s&&s.nodeType===1&&!dn(s)&&Nr(s.ownerDocument||t)?$r(s):Ht++};t.addEventListener("focusin",i,{capture:!0,passive:!0}),t.addEventListener("focusout",i,{capture:!0,passive:!0}),t.addEventListener("change",i,{capture:!0,passive:!0}),t.addEventListener("pointerdown",i,{capture:!0,passive:!0}),t.addEventListener("pointerup",i,{capture:!0,passive:!0}),t.addEventListener("pointercancel",i,{capture:!0,passive:!0}),t.addEventListener("keydown",i,{capture:!0,passive:!0}),t.addEventListener("keyup",i,{capture:!0,passive:!0}),t.addEventListener("beforetoggle",i,{capture:!0,passive:!0}),t.addEventListener("toggle",i,{capture:!0,passive:!0}),e?.addEventListener("hashchange",()=>{Mt(),Ht++},{passive:!0})}catch{}try{let i=t.fonts;i&&(i.addEventListener?.("loadingdone",r),i.status==="loading"&&i.ready?.then(r).catch(()=>{}))}catch{}}var ni=new WeakMap;function ri(t,e){if(!t?.querySelectorAll)return;let n;try{n=Array.from(t.querySelectorAll(":hover"))}catch{return}let r=ni.get(t)||[];if(r.length===n.length&&r.every((o,s)=>o===n[s]))return;if(ni.set(t,n),Mt(),t.nodeType===11){t.host?Tr(t.host):Ut++;for(let o of t.querySelectorAll("*"))Kt.set(o,Ut);return}let i=r.filter(o=>!n.includes(o)).concat(n.filter(o=>!r.includes(o)));for(let o of i)if(o.isConnected)if(Nr(e))$r(o);else{Ht++;return}}function bn(t,e=null){if(!t)return;ri(t,t);let n=e||Ve.filter(({root:r})=>r.host?.isConnected).map(({root:r})=>r);for(let r of n)ri(r,t)}function Et(){xe();try{for(let t=Ge.length-1;t>=0;t--){let{o:e,env:n,doc:r}=Ge[t];if(r!==document&&!r.defaultView){try{e.disconnect()}catch{}Rr.delete(r),qe===r&&(qe=null),Ge.splice(t,1);continue}let i=e.takeRecords();i.length&&(n?mn(i)&&(Mt(),kt++):ci(i))}for(let t=Ve.length-1;t>=0;t--){let{o:e,root:n}=Ve[t];if(!n.host||!n.host.isConnected){try{e.disconnect()}catch{}_r.delete(n),Ve.splice(t,1);continue}let r=e.takeRecords();r.length&&ai(r)}}catch{}}function Zt(t){if(!(!t||t.nodeType!==1)){Yt.delete(t);try{let e=(t.ownerDocument||document).createTreeWalker(t,NodeFilter.SHOW_ELEMENT);for(;e.nextNode();)Yt.delete(e.currentNode)}catch{}}}var bc=["mask","mask-image","-webkit-mask","-webkit-mask-image","mask-source","mask-box-image-source","mask-border-source","-webkit-mask-box-image-source","border-image","border-image-source"];function Ir(t){let e=Yt.get(t);if(e&&Wr(e,t)){let n=e.snapshot&&e.snapshot.__needsBgInline;if(n!==void 0)return n}return!0}function li(t){let e=Yt.get(t);if(!e||!Wr(e,t))return null;let n=e.snapshot;return!n||n.__bgClipTextFix?null:n}var oi=new WeakMap;function te(t){let e=oi.get(t);return(!e||e.epoch!==pn)&&(e={epoch:pn,...Ko(t)},oi.set(t,e)),e}function fi(t){try{let e=te(t.ownerDocument||document).shareGate;if(e===null)return!1;if(!e.length)return!0;let n=new Set,r=s=>{n.add("t"+s.localName),s.id&&n.add("i"+s.id);let a=s.classList;for(let c=0;c<a.length;c++)n.add("c"+a[c])};r(t);for(let s of t.querySelectorAll("*"))r(s);let i=[];for(let{sel:s,key:a}of e)(a===null||n.has(a))&&i.push(s);if(!i.length)return!0;let o=i.join(",");return!t.matches(o)&&t.querySelector(o)===null}catch{return!1}}function wc(t){let e=t.ownerDocument||document;return t.getRootNode&&t.getRootNode()!==e?null:te(e).importantProps}function Ye(t){let e=t.ownerDocument||document;return t.getRootNode&&t.getRootNode()!==e?null:te(e).universe}function hn(t){let e=t.ownerDocument||document;return t.getRootNode&&t.getRootNode()!==e?null:te(e).pseudoUniverse}var Sc={before:null,after:null,firstLetter:null,marker:null,firstLine:null};function ve(t){let e=t.ownerDocument||document;return t.getRootNode&&t.getRootNode()!==e?Sc:te(e).pseudoGates}function xc(t,e={},n=null,r=null){let i={},o=e.excludeStyleProps,s=m=>{if(i[m]!==void 0||he(m)||o&&(o instanceof RegExp&&o.test(m)||typeof o=="function"&&o(m)))return;let d=t.getPropertyValue(m);d&&((m==="background-image"||m==="content")&&d.includes("url(")&&!d.includes("data:")&&(d="none"),i[m]=d)};if(r){for(let d of r)s(d);let m=n&&n.style;if(m&&m.length)for(let d=0;d<m.length;d++)s(m[d])}else for(let m=0;m<t.length;m++)s(t[m]);let a=["text-decoration-line","text-decoration-color","text-decoration-style","text-decoration-thickness","text-underline-offset","text-decoration-skip-ink"];for(let m of a)if(!i[m])try{let d=t.getPropertyValue(m);d&&(i[m]=d)}catch{}let c=["-webkit-text-stroke","-webkit-text-stroke-width","-webkit-text-stroke-color","paint-order"];for(let m of c)if(!i[m])try{let d=t.getPropertyValue(m);d&&(i[m]=d)}catch{}if(e.embedFonts){let m=["font-feature-settings","font-variation-settings","font-kerning","font-variant","font-variant-ligatures","font-optical-sizing"];for(let d of m)if(!i[d])try{let h=t.getPropertyValue(d);h&&(i[d]=h)}catch{}}try{(i["content-visibility"]||t.getPropertyValue("content-visibility"))==="hidden"&&(i["content-visibility"]="hidden")}catch{}Object.defineProperty(i,"__needsBgInline",{value:ui(t),enumerable:!1});let f=parseFloat(t.getPropertyValue("border-top-width")||0)||0,l=parseFloat(t.getPropertyValue("border-right-width")||0)||0,u=parseFloat(t.getPropertyValue("border-bottom-width")||0)||0,p=parseFloat(t.getPropertyValue("border-left-width")||0)||0;if(f===0&&l===0&&u===0&&p===0){let m=(t.getPropertyValue("border-image-source")||"").trim(),d=m&&m!=="none",h=["border","border-top","border-right","border-bottom","border-left","border-width","border-style","border-color","border-top-width","border-top-style","border-top-color","border-right-width","border-right-style","border-right-color","border-bottom-width","border-bottom-style","border-bottom-color","border-left-width","border-left-style","border-left-color","border-block","border-block-width","border-block-style","border-block-color","border-inline","border-inline-width","border-inline-style","border-inline-color","border-block-start","border-block-start-width","border-block-start-style","border-block-start-color","border-block-end","border-block-end-width","border-block-end-style","border-block-end-color","border-inline-start","border-inline-start-width","border-inline-start-style","border-inline-start-color","border-inline-end","border-inline-end-width","border-inline-end-style","border-inline-end-color"];for(let g of h)delete i[g];d||(i.border="none")}return vc(i),i}function vc(t){if(!Bt())return;let e=t["background-clip"]||t["-webkit-background-clip"];if(!e||!e.includes("text"))return;let n=o=>o==="transparent"||o==="rgba(0, 0, 0, 0)",r=t["-webkit-text-fill-color"];if(!n(r!==void 0?r:t.color))return;let i=kc(t["background-image"],t["background-color"]);i&&(n(t.color)&&(t.color=i),r!==void 0&&(t["-webkit-text-fill-color"]=i),t["background-image"]="none",t["background-color"]="transparent",delete t["background-clip"],delete t["-webkit-background-clip"],Object.defineProperty(t,"__bgClipTextFix",{value:i,enumerable:!1}))}function kc(t,e){let n=o=>{let s=[],a=/rgba?\(\s*(\d+)[,\s]+(\d+)[,\s]+(\d+)(?:[,\s/]+([\d.]+%?))?\s*\)/g,c;for(;c=a.exec(o||"");){let f=c[4];(f===void 0?1:parseFloat(f)/(f.endsWith("%")?100:1))>.05&&s.push([+c[1],+c[2],+c[3]])}return s},r=n(t);if(r.length||(r=n(e)),!r.length)return null;let i=[0,0,0];for(let[o,s,a]of r)i[0]+=o,i[1]+=s,i[2]+=a;return`rgb(${i.map(o=>Math.round(o/r.length)).join(", ")})`}function ui(t){let e=t.getPropertyValue("background-image");if(e&&e!=="none")return!0;let n=t.getPropertyValue("background-color");if(n&&n!=="rgba(0, 0, 0, 0)"&&n!=="transparent")return!0;for(let i of bc){let o=t.getPropertyValue(i);if(o&&o!=="none")return!0}let r=t.getPropertyValue("background");return!!(r&&/url\s*\(/i.test(r))}function Cc(t){for(let e=t.firstChild;e;e=e.nextSibling){if(e.nodeType===3&&/\S/.test(e.nodeValue||""))return!0;if(e.nodeType===1){let n=O(e).position;if(n!=="absolute"&&n!=="fixed")return!0}}return!1}function Ac(t,e,n){try{if(typeof t.computedStyleMap=="function"){let i=t.computedStyleMap().get("width");if(i!=null)return!ii(String(i).trim().toLowerCase())}}catch{}let r=t.style&&(t.style.width||t.style.inlineSize);return r&&!ii(String(r).trim().toLowerCase())?!0:Ec(t,e)?n||_c(t,e):!1}var Mc=new Set(["auto","min-content","max-content","stretch","fill-available","-webkit-fill-available"]);function ii(t){return Mc.has(t)||t.startsWith("fit-content")}function Ec(t,e){let n=t.getBoundingClientRect().width-(parseFloat(e.paddingLeft)||0)-(parseFloat(e.paddingRight)||0)-(parseFloat(e.borderLeftWidth)||0)-(parseFloat(e.borderRightWidth)||0);if(!(n>0))return!1;let r=1/0,i=-1/0,o=null;for(let s=t.firstChild;s;s=s.nextSibling){let a;if(s.nodeType===3){if(!/\S/.test(s.nodeValue||"")||(o=o||document.createRange(),o.selectNode(s),a=o.getBoundingClientRect(),!a.width&&!a.height))continue}else if(s.nodeType===1){let c=O(s);if(c.display==="none"||c.position==="absolute"||c.position==="fixed")continue;a=s.getBoundingClientRect()}else continue;a.left<r&&(r=a.left),a.right>i&&(i=a.right)}return i===-1/0?!1:i-r<n-.5}function _c(t,e){let n=t.parentElement;if(!n)return!1;let r=O(n),i=n.getBoundingClientRect().width-(parseFloat(r.paddingLeft)||0)-(parseFloat(r.paddingRight)||0)-(parseFloat(r.borderLeftWidth)||0)-(parseFloat(r.borderRightWidth)||0)-(parseFloat(e.marginLeft)||0)-(parseFloat(e.marginRight)||0);return i>0?Math.abs(t.getBoundingClientRect().width-i)>.5:!1}var Fr=new WeakMap;function Rc(t){let e=Fr.get(t);if(e)return e;let n=[];for(let r in t)n.push(r,t[r]);return e=n.join(""),Fr.set(t,e),e}function Wr(t,e){return t.env===kt&&t.stamp===yn(e,t.hosts)}var Fc=/^(width|height|inline-size|block-size|top|right|bottom|left|transform-origin|perspective-origin)$|^inset-/,Tc=/(margin|padding)[a-z-]*\s*:[^;]*(%|\bauto\b|calc\(|var\()/i,$c=new Set(["INPUT","TEXTAREA","SELECT","OPTION","OPTGROUP","PROGRESS","METER","BUTTON","DATALIST"]);function Pc(t){let e=t.__styleShare;return e||(e=t.__styleShare={ids:new WeakMap,intern:new Map,snaps:new Map,rootSeen:!1}),e}function Nc(t,e){let n=e.ids.get(t);if(n!==void 0)return n;let r=t.parentElement,i;if(!r)i="R";else if(i=e.ids.get(r),i===void 0){if(e.rootSeen)return e.ids.set(t,-1),-1;i="R"}if(e.rootSeen=!0,i===-1)return e.ids.set(t,-1),-1;let o="",s=t.attributes;if(s&&s.length)if(s.length===1)o=s[0].name+"="+s[0].value;else{let c=[];for(let f=0;f<s.length;f++)c.push(s[f].name+"="+s[f].value);c.sort(),o=c.join("")}let a=i+"|"+t.tagName+"|"+o;return n=e.intern.get(a),n===void 0&&(n=e.intern.size,e.intern.set(a,n)),e.ids.set(t,n),n}function di(t,e){let n=t.snap,r=t.snap={...n};Object.defineProperty(r,"__needsBgInline",{value:n.__needsBgInline,enumerable:!1}),n.__bgClipTextFix!==void 0&&Object.defineProperty(r,"__bgClipTextFix",{value:n.__bgClipTextFix,enumerable:!1});let i=te(e.ownerDocument||document),o=e.getAttribute&&e.getAttribute("style")||"",s=o&&Tc.test(o),a=!!i.marginUnstable||s&&/margin/i.test(o),c=!!i.paddingUnstable||s&&/padding/i.test(o),f=r.display!==void 0&&r.display.includes("grid"),l=r.transform!==void 0&&r.transform!=="none",u=[];for(let d in r)(Fc.test(d)||f&&(d==="grid-template-columns"||d==="grid-template-rows")||l&&d==="transform"||a&&d.charCodeAt(0)===109&&d.startsWith("margin-")||c&&d.charCodeAt(0)===112&&d.startsWith("padding-"))&&u.push(d);t.h&&!("height"in r)&&u.push("height"),t.b&&!("block-size"in r)&&u.push("block-size");let p=new Set(u),m=[];for(let d in r)p.has(d)||m.push(d,r[d]);return t.rr=u,t.sig=m.join("")+""+u.join(""),u}function pi(t,e,n,r,i){let o=i&&i.__styleShare?r&&r.__styleShare:null,s=o?o.ids.get(t):void 0;if(s===void 0||s===-1||t.shadowRoot||t.assignedSlot)return ge(n,hn(t));let a=s+e,c=o.pseudo||(o.pseudo=new Map),f=c.get(a);if(f){let u={...f.snap},p=f.rr||di(f,t);for(let m=0;m<p.length;m++){let d=n.getPropertyValue(p[m]);d?u[p[m]]=d:delete u[p[m]]}return u}let l=ge(n,hn(t));return c.set(a,{snap:l,rr:null,sig:null,h:"height"in l,b:"block-size"in l}),l}function Lc(t,e=null,n={},r=null){let i=Yt.get(t),o=!!(n&&n.embedFonts),s=n&&n.excludeStyleProps||null;if(typeof s!="function"&&i&&Wr(i,t)&&i.embedFonts===o&&i.excludeStyleProps===s)return i.snapshot;let a=e||getComputedStyle(t),c,f=null,l=r&&r.st.snaps.get(r.id);if(l){c={...l.snap};let m=l.rr||di(l,t);f=[];for(let d=0;d<m.length;d++){let h=m[d],g=a.getPropertyValue(h);g?c[h]=g:delete c[h],f.push(g)}Object.defineProperty(c,"__needsBgInline",{value:l.snap.__needsBgInline,enumerable:!1}),l.snap.__bgClipTextFix!==void 0&&Object.defineProperty(c,"__bgClipTextFix",{value:l.snap.__bgClipTextFix,enumerable:!1})}else c=xc(a,n,t,Ye(t)),r&&r.st.snaps.set(r.id,{snap:c,rr:null,sig:null,h:"height"in c,b:"block-size"in c});let u=!1;if(typeof t.computedStyleMap=="function"){let m;for(let d of ei)if(c[d]==="0px")try{m||(m=t.computedStyleMap()),m.get(d)?.toString()==="auto"&&(c[d]="auto",u=!0)}catch{}}jc(t,a,c),f!==null&&(u&&f.push("",...ei.map(m=>c[m])),Fr.set(c,l.sig+""+f.join("")+("height"in c?"":"")+("block-size"in c?"":"")));let p=Pr(t);return Yt.set(t,{env:kt,stamp:yn(t,p),hosts:p,snapshot:c,embedFonts:o,excludeStyleProps:s}),c}function Ic(t,e){if(t&&t.session&&t.persist)return t;if(t&&(t.styleMap||t.styleCache||t.nodeMap)){let n=t.__ctx;return(!n||t.__ctxOpts!==e)&&(n={session:t,persist:{snapshotKeyCache:Mr,defaultStyle:P.defaultStyle,baseStyle:P.baseStyle,image:P.image,resource:P.resource,background:P.background},options:e||{}},t.__ctx=n,t.__ctxOpts=e),n}return{session:{styleMap:new Map,styleCache:new WeakMap,nodeMap:new Map},persist:{snapshotKeyCache:Mr,defaultStyle:P.defaultStyle,baseStyle:P.baseStyle,image:P.image,resource:P.resource,background:P.background},options:t||e||{}}}var Wc=/%|[\d.](?:em|rem|ex|ch|cap|ic|lh|rlh|v[whib]|vmin|vmax|cq[whbi]|cqmin|cqmax)\b|\b(?:calc|var|min|max|clamp|env|attr)\(|\b(?:auto|inherit|initial|unset|revert|currentcolor|-webkit-fill-available|fit-content|min-content|max-content)\b/i,Oc=t=>t.tagName==="INPUT"||t.tagName==="TEXTAREA";function Dc(t,e,n){if(!t.style||t.style.length===0)return;let r=wc(t),i=r!=null&&!Wc.test(t.getAttribute("style")||"");for(let o=0;o<t.style.length;o++){let s=t.style[o];if(i&&!r.has(s)&&!(s.startsWith("background")&&Oc(t)))continue;let a=n.getPropertyValue(s);a&&e.style.setProperty(s,a,t.style.getPropertyPriority(s))}}function st(t,e,n,r){if(t.tagName==="STYLE")return;let i=Ic(n,r),o=i.options&&i.options.cache||"soft";o!=="disabled"&&xe(t.ownerDocument),o==="disabled"&&!i.session.__bumpedForDisabled&&(Mt(),Mr.clear(),i.session.__bumpedForDisabled=!0);let{session:s,persist:a}=i;if(!s.styleCache.has(t)){let y=null;try{y=getComputedStyle(t)}catch{}s.styleCache.set(t,y||getComputedStyle((t.ownerDocument||document).documentElement))}let c=s.styleCache.get(t);t.getAttribute?.("style")&&Dc(t,e,c);let f=c.getPropertyValue("animation-name");e&&e.style&&f&&f!=="none"&&e.style.setProperty("animation","none","important");let l=t.tagName?.toLowerCase()||"div";if(He.has(l)){let y={};Object.defineProperty(y,"__needsBgInline",{value:ui(c),enumerable:!1});let b=Pr(t);Yt.set(t,{env:kt,stamp:yn(t,b),hosts:b,snapshot:y,embedFonts:!!(i.options&&i.options.embedFonts),excludeStyleProps:i.options&&i.options.excludeStyleProps||null}),s.styleMap.set(e,"");return}let u=null;if(i.options&&i.options.__styleShare&&s.styleMap){let y=Pc(s),b=Nc(t,y),w=t.ownerDocument||document,C=w.activeElement;b!==-1&&!$c.has(t.tagName)&&!(C&&C!==w.body&&C!==w.documentElement&&C===t)&&(!t.getRootNode||t.getRootNode()===w)&&!t.shadowRoot&&!t.assignedSlot&&(u={st:y,id:b})}let p=Lc(t,c,i.options,u);if(t.getAttribute?.("style"))for(let y of["top","right","bottom","left"]){let b=`margin-${y}`;p[b]==="auto"&&e.style.setProperty(b,"auto","important")}p.__bgClipTextFix&&e&&e.style&&(e.style.setProperty("background-image","none","important"),e.style.setProperty("background-color","transparent","important"),e.style.setProperty("color",p.__bgClipTextFix,"important"),e.style.setProperty("-webkit-text-fill-color",p.__bgClipTextFix,"important")),Bc(t,c,p);let m=hi(t);if(m){let y=c.getPropertyValue("min-width");(!y||y==="auto"||y==="0px")&&(p["min-width"]="0px")}let d=Rc(p),h=!0;if(un(l,(p.display||"").toLowerCase())){h=Cc(t),h&&kr(l,p,m)&&Ac(t,c,m)&&(h=!1),d=`${d}|${l}${h?"|c":""}${m?"|f":""}`;let y=p["text-wrap-mode"]||p["white-space"]||"";h&&y!=="nowrap"&&y!=="pre"&&(s.reconcileRisk=(s.reconcileRisk||0)+1)}let g=a.snapshotKeyCache.get(d);g===void 0&&(g=me(p,l,h,m),a.snapshotKeyCache.size>=mc&&a.snapshotKeyCache.delete(a.snapshotKeyCache.keys().next().value),a.snapshotKeyCache.set(d,g)),s.styleMap.set(e,g)}function Bc(t,e,n){let r=e.getPropertyValue("overflow-x"),i=e.getPropertyValue("overflow-y");if((r==="visible"||!r)&&(i==="visible"||!i)||e.getPropertyValue("box-sizing")==="border-box"||typeof t.clientWidth!="number"||!t.offsetWidth)return;let o=f=>parseFloat(f)||0,s=t.offsetWidth-t.clientWidth-o(e.getPropertyValue("border-left-width"))-o(e.getPropertyValue("border-right-width")),a=t.offsetHeight-t.clientHeight-o(e.getPropertyValue("border-top-width"))-o(e.getPropertyValue("border-bottom-width")),c=(f,l)=>{let u=n[f];if(!u||!u.endsWith("px"))return;let p=parseFloat(u);Number.isFinite(p)&&(n[f]=`${Math.round((p+l)*1e3)/1e3}px`)};s>.5&&(c("width",s),c("inline-size",s)),a>.5&&(c("height",a),c("block-size",a))}function Uc(t){return t.backgroundImage&&t.backgroundImage!=="none"||t.backgroundColor&&t.backgroundColor!=="rgba(0, 0, 0, 0)"&&t.backgroundColor!=="transparent"||(parseFloat(t.borderTopWidth)||0)>0||(parseFloat(t.borderBottomWidth)||0)>0||(parseFloat(t.paddingTop)||0)>0||(parseFloat(t.paddingBottom)||0)>0?!0:(t.overflowBlock||t.overflowY||"visible")!=="visible"}function hi(t){let e=t.parentElement;if(!e)return!1;let n=O(e).display||"";return n.includes("flex")||n.includes("grid")}function Hc(t){for(let r=t.firstChild;r;r=r.nextSibling)if(r.nodeType===3&&/\S/.test(r.nodeValue))return!0;let e=t.firstElementChild,n=t.lastElementChild;if(e&&e.tagName==="BR"||n&&n.tagName==="BR")return!0;for(let r=t.firstElementChild;r;r=r.nextElementSibling){let i=O(r);if(i.display==="none")continue;let o=i.position;if(o!=="absolute"&&o!=="fixed")return!0}return!1}function zc(t){let e=t.getBoundingClientRect().top,n=-1/0,r=null;for(let i=t.firstChild;i;i=i.nextSibling){if(i.nodeType===3){if(!/\S/.test(i.nodeValue||""))continue;r=r||document.createRange(),r.selectNode(i);let a=r.getBoundingClientRect();(a.width||a.height)&&(n=Math.max(n,a.bottom));continue}if(i.nodeType!==1)continue;let o=O(i);if(o.display==="none")continue;let s=o.position;s==="absolute"||s==="fixed"||o.float&&o.float!=="none"||(n=Math.max(n,i.getBoundingClientRect().bottom))}return n===-1/0?NaN:n-e}function jc(t,e,n){if(xt(t)&&t.style&&t.style.height)return;let r=t.tagName&&t.tagName.toLowerCase();if(!r||!["div","section","article","main","aside","header","footer","nav"].includes(r)||e.aspectRatio&&e.aspectRatio!=="none"&&e.aspectRatio!=="auto")return;let o=e.display||"";if(o.includes("flex")||o.includes("grid"))return;let s=e.position;if(s==="absolute"||s==="fixed"||s==="sticky"||e.transform!=="none"||Uc(e)||hi(t))return;let a=e.overflowX||e.overflow||"visible",c=e.overflowY||e.overflow||"visible";if(a!=="visible"||c!=="visible")return;let f=e.clip;if(f&&f!=="auto"&&f!=="rect(auto, auto, auto, auto)"||e.visibility==="hidden"||e.opacity==="0"||!Hc(t))return;let l=parseFloat(e.height),u=zc(t);Number.isFinite(l)&&Number.isFinite(u)&&Math.abs(l-u)>2||(delete n.height,delete n["block-size"])}ye();var Vc=new Set(["symbol","defs","pattern","marker","linearGradient","radialGradient","filter"]),Or=new WeakMap,mi=-1;function wn(t){let e=Jt();return e!==mi&&(Or=new WeakMap,mi=e),gi(t)}function gi(t){let e=Or.get(t);if(e!==void 0)return e;let n;if(t.namespaceURI==="http://www.w3.org/2000/svg"&&(t.localName==="mask"||t.localName==="clipPath"?n=!1:Vc.has(t.localName)&&(n=!0)),n===void 0){let r=t.parentNode;n=!!(r&&r.nodeType===1)&&gi(r)}return Or.set(t,n),n}function yi(t,e){if(t?.nodeType!==1||e?.nodeType!==1||wn(t))return;let n=t.getAttribute?.("style"),r=!!(n&&n.includes("var("));if(!r&&t.attributes?.length){let o=t.attributes;for(let s=0;s<o.length;s++){let a=o[s];if(a&&typeof a.value=="string"&&!a.value.startsWith("data:")&&a.value.includes("var(")){r=!0;break}}}let i=null;if(r)try{i=getComputedStyle(t)}catch{}if(r){let o=t.style;if(o&&o.length){let s=new Set;for(let a=0;a<o.length;a++){let c=o[a];if(s.has(c))continue;s.add(c);let f=o.getPropertyValue(c);if(!f||!f.includes("var("))continue;let l=i&&i.getPropertyValue(c);if(l)try{e.style.setProperty(c,l.trim(),o.getPropertyPriority(c))}catch{}}}}if(r&&t.attributes?.length){let o=t.attributes;for(let s=0;s<o.length;s++){let a=o[s];if(!a||typeof a.value!="string"||a.value.startsWith("data:")||!a.value.includes("var("))continue;let c=a.name,f=i&&i.getPropertyValue(c);if(f)try{e.style.setProperty(c,f.trim())}catch{}}}}ut();ut();lt();de();mt();function ke(t){return!!(!t||t.startsWith("data:")||t.startsWith("blob:"))}function Ce(t,e){if(!t)return null;let n=0;try{n=e?e.getBoundingClientRect().width||e.width:0}catch{}n||(n=window.innerWidth||1e3);let r=[];for(let o of t.split(",")){let s=o.trim().split(/\s+/);if(!s[0])continue;let a=s[1]||"",c=1;/^\d*\.?\d+x$/i.test(a)?c=parseFloat(a):/^\d+w$/i.test(a)&&(c=parseInt(a,10)/n),r.push({url:s[0],d:c})}if(!r.length)return null;r.sort((o,s)=>o.d-s.d);let i=window.devicePixelRatio||1;return(r.find(o=>o.d>=i)||r[r.length-1]).url}function bi(t,e){let n=t.currentSrc||"";if(n&&!ke(n))return n;let r=e.querySelectorAll("source[srcset]"),i=null;for(let o of r){let s=o.getAttribute("srcset");if(!s||ke(s))continue;let a=o.getAttribute("type");if(a&&!ur.test(a.trim()))continue;let c=o.getAttribute("media");if(c)try{if(window.matchMedia(c).matches)return Ce(s,t)}catch{}i||(i=Ce(s,t))}return i}function wi(t){let e=[t.getAttribute("data-src"),t.getAttribute("data-lazy-src"),t.getAttribute("data-original"),t.getAttribute("data-hi-res-src")];for(let r of e)if(r&&!ke(r))return r;let n=t.getAttribute("data-srcset")||t.getAttribute("data-lazy-srcset");if(n){let r=n.split(",")[0].trim().split(/\s+/)[0];if(r&&!ke(r))return r}return null}gt();function qc(t,e){if(t=t.trim(),!t)return t;let n=e?`[data-sd-slotted~="${e}"]`:"[data-sd-slotted]";return t.endsWith(":not([data-sd-slotted])")||t.endsWith(`:not(${n})`)?t:`${t}:not(${n})`}var Gc=/::[a-zA-Z-]+(?:\([^)]*\))?$|:(?:before|after|first-letter|first-line)$/,Xc=/^::?(?:before|after|first-letter)$/;function Yc(t,e,n=!0,r){return t.split(",").map(i=>i.trim()).filter(Boolean).map(i=>{if(i.startsWith(":where(")&&i.includes("data-sd")||i.startsWith("@"))return i;let o=i.match(Gc);if(o&&Xc.test(o[0]))return":not(*)";let s=o?i.slice(0,o.index).trim():i,a=n?qc(s,r):s;return`:where(${e} ${a})${o?o[0]:""}`}).join(", ")}function xi(t,e,n){return t?(t=t.replace(/:host-context\(([^)]+)\)/g,(r,i)=>`:where(:where(${i.trim()}) ${e})`),t=t.replace(/:host\(([^)]+)\)/g,(r,i)=>`:where(${e}:is(${i.trim()}))`),t=t.replace(/:host\b/g,`:where(${e})`),t=t.replace(/::slotted\(([^)]+)\)/g,(r,i)=>`:where(${e} ${i.trim()})`),t=t.replace(/(^|})(\s*)([^@}{]+){/g,(r,i,o,s)=>{let a=Yc(s,e,!0,n);return`${i}${o}${a}{`}),t):""}function vi(t){return t.shadowScopeSeq=(t.shadowScopeSeq||0)+1,`s${t.shadowScopeSeq}`}function ee(t){let e="";for(let n of t)if(n.media&&n.cssRules){let r=!1;try{r=window.matchMedia(n.conditionText||n.media.mediaText).matches}catch{}r&&(e+=ee(n.cssRules))}else if(n.constructor?.name==="CSSSupportsRule")e+=`@supports ${n.conditionText}{${ee(n.cssRules)}}`;else if(n.cssRules&&n.cssRules.length&&/@media/i.test(n.cssText)){let r=n.cssText.slice(0,n.cssText.indexOf("{")+1);e+=r+(n.style?n.style.cssText:"")+ee(n.cssRules)+"}"}else e+=n.cssText+`
|
|
9
|
+
`;return e}function ki(t){let e="";try{t.querySelectorAll("style").forEach(r=>{let i=null;try{i=r.sheet&&r.sheet.cssRules}catch{}e+=(i?ee(i):r.textContent||"")+`
|
|
10
|
+
`});let n=t.adoptedStyleSheets||[];for(let r of n)try{r&&r.cssRules&&(e+=ee(r.cssRules))}catch{}}catch{}return e}function Ci(t,e,n){if(!e)return;let r=document.createElement("style");r.setAttribute("data-sd",n),r.textContent=e,t.insertBefore(r,t.firstChild||null)}function Ai(t,e,n={}){try{let r=null,i=O(t).content;if(i&&i.includes("url(")){let f=i.match(/url\(["']?([^"')]+)["']?\)/);f&&(r=f[1])}let o=t.closest?.("picture"),s=t.getAttribute("src")||"",a=t.getAttribute("srcset")||"",c=r||(o?bi(t,o):!a.trim()&&s.startsWith("data:")?s:t.currentSrc)||Ce(a,t)||t.src||"";if((!c||ke(c))&&n.resolvePicturePlaceholders!==!1){let f=wi(t);f&&(c=f)}if(!c)return;e.getAttribute("src")!==c&&e.setAttribute("src",c),e.removeAttribute("srcset"),e.removeAttribute("sizes"),e.loading="eager",e.decoding="sync"}catch{}}function Mi(t){let e=new Set;if(!t)return e;let n=/var\(\s*(--[A-Za-z0-9_-]+)\b/g,r;for(;r=n.exec(t);)e.add(r[1]);return e}function Kc(t,e){try{let r=getComputedStyle(t).getPropertyValue(e).trim();if(r)return r}catch{}try{let r=getComputedStyle(document.documentElement).getPropertyValue(e).trim();if(r)return r}catch{}return""}function Ei(t,e,n){let r=[];for(let i of e){let o=Kc(t,i);o&&r.push(`${i}: ${o};`)}return r.length?`${n}{${r.join("")}}
|
|
11
|
+
`:""}function _i(t,e){if(!t)return;let n=r=>{let i=r.getAttribute("data-sd-slotted")||"";e?` ${i} `.includes(` ${e} `)||r.setAttribute("data-sd-slotted",i?`${i} ${e}`:e):r.setAttribute("data-sd-slotted",i)};t.nodeType===Node.ELEMENT_NODE&&n(t),t.querySelectorAll?.("*").forEach(n)}async function Qc(t,e=3){let n=()=>{try{return t.contentDocument||t.contentWindow?.document||null}catch{return null}},r=n(),i=0;for(;i<e&&(!r||!r.body&&!r.documentElement);)await new Promise(o=>setTimeout(o,0)),r=n(),i++;return r&&(r.body||r.documentElement)?r:null}function Jc(t){let e=t.getBoundingClientRect(),n=0,r=0,i=0,o=0;try{let c=getComputedStyle(t);n=parseFloat(c.borderLeftWidth)||0,r=parseFloat(c.borderRightWidth)||0,i=parseFloat(c.borderTopWidth)||0,o=parseFloat(c.borderBottomWidth)||0}catch{}let s=Math.max(0,Math.round(e.width-(n+r))),a=Math.max(0,Math.round(e.height-(i+o)));return{contentWidth:s,contentHeight:a,rect:e}}function dt(t){let e=0,n=0;if(t.offsetWidth>0&&(e=t.offsetWidth),t.offsetHeight>0&&(n=t.offsetHeight),e===0||n===0)try{let r=getComputedStyle(t);if(e===0){let i=parseFloat(r.width);!isNaN(i)&&i>0&&(e=i)}if(n===0){let i=parseFloat(r.height);!isNaN(i)&&i>0&&(n=i)}}catch{}if(e===0||n===0)try{if(e===0){let r=parseFloat(t.getAttribute("width"));!isNaN(r)&&r>0&&(e=r)}if(n===0){let r=parseFloat(t.getAttribute("height"));!isNaN(r)&&r>0&&(n=r)}}catch{}if((e===0||n===0)&&(t.naturalWidth||t.naturalHeight))try{e===0&&t.naturalWidth>0&&(e=t.naturalWidth),n===0&&t.naturalHeight>0&&(n=t.naturalHeight)}catch{}return{width:e,height:n}}function Zc(t,e,n){let r=t.defaultView,i=r?r.scrollX:0,o=r?r.scrollY:0,s=t.body?t.body.scrollLeft:0,a=t.body?t.body.scrollTop:0,c=t.documentElement?t.documentElement.scrollLeft:0,f=t.documentElement?t.documentElement.scrollTop:0,l=0,u=0,p=0,m=0;try{let h=r&&t.body?r.getComputedStyle(t.body):null;h&&(l=(parseFloat(h.marginTop)||0)+(parseFloat(h.paddingTop)||0),u=(parseFloat(h.marginRight)||0)+(parseFloat(h.paddingRight)||0),p=(parseFloat(h.marginBottom)||0)+(parseFloat(h.paddingBottom)||0),m=(parseFloat(h.marginLeft)||0)+(parseFloat(h.paddingLeft)||0))}catch{}let d=t.createElement("style");if(d.setAttribute("data-sd-iframe-pin",""),Q(d),d.textContent=`html {margin: 0 !important;padding: 0 !important;width: ${e}px !important;height: ${n}px !important;min-width: ${e}px !important;min-height: ${n}px !important;box-sizing: border-box !important;overflow: hidden !important;background-clip: border-box !important;}body {margin: 0 !important;padding: ${l}px ${u}px ${p}px ${m}px !important;width: ${e}px !important;height: ${n}px !important;min-width: ${e}px !important;min-height: ${n}px !important;box-sizing: border-box !important;overflow: hidden !important;background-clip: border-box !important;}`,(t.head||t.documentElement).appendChild(d),Zt(t.documentElement),i||o)try{t.body&&(t.body.scrollLeft=i,t.body.scrollTop=o),t.documentElement&&(t.documentElement.scrollLeft||(t.documentElement.scrollLeft=i),t.documentElement.scrollTop||(t.documentElement.scrollTop=o))}catch{}return()=>{try{d.remove()}catch{}try{r&&typeof r.scrollTo=="function"&&r.scrollTo(i,o),t.body&&(t.body.scrollLeft=s,t.body.scrollTop=a),t.documentElement&&(t.documentElement.scrollLeft=c,t.documentElement.scrollTop=f)}catch{}Zt(t.documentElement)}}async function Dr(t,e,n){let r=await Qc(t,3);if(!r)throw new Error("iframe document not accessible/ready");let{contentWidth:i,contentHeight:o,rect:s}=Jc(t),a=n?.snap;if(!a||typeof a.toPng!="function")throw new Error("[snapdom] iframe capture requires the snapdom entrypoints on options.snap \u2014 capture through snapdom(el) (set automatically) or pass options.snap.");let c={...n,scale:1,clip:null,__pinned:!0},f=Zc(r,i,o),l;try{l=await a.toPng(r.documentElement,c)}finally{f()}l.style.display="block",l.style.width=`${i}px`,l.style.height=`${o}px`;let u=document.createElement("div");return e.nodeMap.set(u,t),st(t,u,e,n),u.style.overflow="hidden",u.style.display="block",u.style.width||(u.style.width=`${Math.round(s.width)}px`),u.style.height||(u.style.height=`${Math.round(s.height)}px`),u.appendChild(l),u}function Ri(t){try{let e=t&&t.accentColor;if(e&&e!=="auto"&&e!=="none")return e;let n=t&&t.color;if(n)return n}catch{}return"#0a6ed1"}function Fi(t){let{width:e,height:n}=dt(t),r=t.getBoundingClientRect(),i;try{i=window.getComputedStyle(t)}catch{}let o=i?parseFloat(i.width):NaN,s=i?parseFloat(i.height):NaN,a=Number.isFinite(o)&&o>0?o:e||r.width||128,c=Number.isFinite(s)&&s>0?s:n||r.height||16,f=Number.parseFloat(t.min)||0,l=Number.isFinite(Number.parseFloat(t.max))?Number.parseFloat(t.max):100,u=Number.parseFloat(t.value),p=l-f,m=p>0&&Number.isFinite(u)?Math.min(1,Math.max(0,(u-f)/p)):.5,d="middle";try{i&&i.verticalAlign&&(d=i.verticalAlign)}catch{}let h=document.createElement("div");h.setAttribute("data-snapdom-input-replacement","range"),h.style.cssText=`display:inline-block;width:${a}px;height:${c}px;vertical-align:${d};flex-shrink:0;line-height:0;`;let g=document.createElementNS("http://www.w3.org/2000/svg","svg");g.setAttribute("width",String(a)),g.setAttribute("height",String(c)),g.setAttribute("viewBox",`0 0 ${a} ${c}`),g.style.overflow="visible",h.appendChild(g);function y(){let b=Ri(i),w=!!t.disabled,C=Math.max(2,Math.min(4,c)),x=(c-C)/2,S=Math.max(10,Math.min(14,Math.max(c,10))),A=S/2,v=A+m*Math.max(0,a-S);g.innerHTML="";let M=(R,E,T,N)=>{let B=document.createElementNS("http://www.w3.org/2000/svg","rect");B.setAttribute("x",String(R)),B.setAttribute("y",String(x)),B.setAttribute("width",String(Math.max(0,E))),B.setAttribute("height",String(C)),B.setAttribute("rx",String(C/2)),B.setAttribute("fill",T),N&&B.setAttribute("fill-opacity",N),g.appendChild(B)};M(0,a,"#808080","0.4"),M(0,v,b);let k=document.createElementNS("http://www.w3.org/2000/svg","circle");k.setAttribute("cx",String(v)),k.setAttribute("cy",String(c/2)),k.setAttribute("r",String(A)),k.setAttribute("fill",b),g.appendChild(k),w&&g.setAttribute("opacity","0.5"),h.style.setProperty("width",`${a}px`,"important"),h.style.setProperty("height",`${c}px`,"important"),h.style.setProperty("min-width",`${a}px`,"important"),h.style.setProperty("min-height",`${c}px`,"important")}return y(),{el:h,applyVisual:y}}function Ti(t){let{width:e,height:n}=dt(t),r=t.getBoundingClientRect(),i;try{i=window.getComputedStyle(t)}catch{}let o=i?parseFloat(i.width):NaN,s=i?parseFloat(i.height):NaN,a=Math.round(e||r.width||0),c=Math.round(n||r.height||0),f=Number.isFinite(o)&&o>0?Math.round(o):Math.max(12,a||16),l=Number.isFinite(s)&&s>0?Math.round(s):Math.max(12,c||16),u=(t.type||"text").toLowerCase()==="checkbox",p=!!t.checked,m=!!t.indeterminate,h=Math.max(Math.min(f,l),12),g="middle";try{i&&i.verticalAlign&&(g=i.verticalAlign)}catch{}let y=document.createElement("div");y.setAttribute("data-snapdom-input-replacement",t.type||"checkbox"),y.style.cssText=`display:inline-block;width:${h}px;height:${h}px;vertical-align:${g};flex-shrink:0;line-height:0;`;let b=document.createElementNS("http://www.w3.org/2000/svg","svg");b.setAttribute("width",String(h)),b.setAttribute("height",String(h)),b.setAttribute("viewBox",`0 0 ${h} ${h}`),y.appendChild(b);function w(){let C=Ri(i),x=2,S=x/2,A=h-x;if(b.innerHTML="",u){let v=document.createElementNS("http://www.w3.org/2000/svg","rect");if(v.setAttribute("x",String(S)),v.setAttribute("y",String(S)),v.setAttribute("width",String(A)),v.setAttribute("height",String(A)),v.setAttribute("rx","2"),v.setAttribute("ry","2"),v.setAttribute("fill",p?C:"none"),v.setAttribute("stroke",C),v.setAttribute("stroke-width",String(x)),b.appendChild(v),p){let M=document.createElementNS("http://www.w3.org/2000/svg","path");M.setAttribute("d",`M ${S+2} ${h/2} L ${h/2-1} ${h-S-2} L ${h-S-2} ${S+2}`),M.setAttribute("stroke","white"),M.setAttribute("stroke-width",String(Math.max(1.5,x))),M.setAttribute("fill","none"),M.setAttribute("stroke-linecap","round"),M.setAttribute("stroke-linejoin","round"),b.appendChild(M)}else if(m){let M=document.createElementNS("http://www.w3.org/2000/svg","rect"),k=Math.max(6,A-4);M.setAttribute("x",String((h-k)/2)),M.setAttribute("y",String((h-x)/2)),M.setAttribute("width",String(k)),M.setAttribute("height",String(x)),M.setAttribute("fill",C),M.setAttribute("rx","1"),b.appendChild(M)}}else{let v=document.createElementNS("http://www.w3.org/2000/svg","circle");if(v.setAttribute("cx",String(h/2)),v.setAttribute("cy",String(h/2)),v.setAttribute("r",String((h-x)/2)),v.setAttribute("fill",p?C:"none"),v.setAttribute("stroke",C),v.setAttribute("stroke-width",String(x)),b.appendChild(v),p){let M=document.createElementNS("http://www.w3.org/2000/svg","circle"),k=Math.max(2,(h-x*2)*.35);M.setAttribute("cx",String(h/2)),M.setAttribute("cy",String(h/2)),M.setAttribute("r",String(k)),M.setAttribute("fill","white"),b.appendChild(M)}}y.style.setProperty("width",`${h}px`,"important"),y.style.setProperty("height",`${h}px`,"important"),y.style.setProperty("min-width",`${h}px`,"important"),y.style.setProperty("min-height",`${h}px`,"important")}return w(),{el:y,applyVisual:w}}var Ke=new rt(80);async function tl(t){if(P.resource?.has(t))return P.resource.get(t);if(Ke.has(t))return Ke.get(t);let e=(async()=>{let n=await ot(t,{as:"dataURL",silent:!0});if(!n.ok||typeof n.data!="string")throw new Error(`[snapDOM] Failed to read blob URL: ${t}`);return P.resource?.set(t,n.data),n.data})();Ke.set(t,e);try{let n=await e;return Ke.set(t,n),n}catch(n){throw Ke.delete(t),n}}var Si=/\bblob:[^)"'\s]+/g;function Sn(t){return typeof t=="string"&&t.startsWith("blob:")}function el(t){return(t||"").split(",").map(e=>e.trim()).filter(Boolean).map(e=>{let n=e.match(/^(\S+)(\s+.+)?$/);return n?{url:n[1],desc:n[2]||""}:null}).filter(Boolean)}function nl(t){return t.map(e=>e.desc?`${e.url} ${e.desc.trim()}`:e.url).join(", ")}function Qe(t,e){let n=t.querySelectorAll?Array.from(t.querySelectorAll(e)):[];return t.matches?.(e)&&n.unshift(t),n}async function xn(t,e=null){if(!t)return;let n=e,r=new Set,i=[],o=new Map,s=(h,g,y,b)=>{r.add(y),i.push(()=>{o.has(y)&&(h.setAttribute(g,o.get(y)),b?.())})},a=(h,g)=>{if(!h||!h.includes("blob:"))return;let y=h.match(Si)||[];if(y.length){for(let b of y)r.add(b);i.push(()=>{let b=h.replace(Si,w=>o.get(w)||w);b!==h&&g(b)})}},c=Qe(t,"img");for(let h of c)try{let y=h.getAttribute("src")||h.currentSrc||"";Sn(y)&&s(h,"src",y);let b=h.getAttribute("srcset");if(b&&b.includes("blob:")){let w=el(b);for(let C of w)Sn(C.url)&&r.add(C.url);i.push(()=>{let C=!1;for(let x of w)o.has(x.url)&&(x.url=o.get(x.url),C=!0);C&&h.setAttribute("srcset",nl(w))})}}catch(g){U(n,"resolveBlobUrls for img failed",g)}let f=Qe(t,"image");for(let h of f)try{let g="http://www.w3.org/1999/xlink",y=h.getAttribute("href")||h.getAttributeNS?.(g,"href");Sn(y)&&s(h,"href",y,()=>h.removeAttributeNS?.(g,"href"))}catch(g){U(n,"resolveBlobUrls for SVG image href failed",g)}let l=Qe(t,"[style*='blob:']");for(let h of l)try{let g=h.getAttribute("style");a(g,y=>h.setAttribute("style",y))}catch(g){U(n,"replaceBlobUrls in inline style failed",g)}let u=Qe(t,"style");for(let h of u)try{let g=h.textContent||"";a(g,y=>{h.textContent=y})}catch(g){U(n,"replaceBlobUrls in style tag failed",g)}let p=["poster"];for(let h of p){let g=Qe(t,`[${h}^='blob:']`);for(let y of g)try{let b=y.getAttribute(h);Sn(b)&&s(y,h,b)}catch(b){U(n,`resolveBlobUrls for ${h} failed`,b)}}if(!r.size)return;let m=[...r],d=0;await Promise.all(Array.from({length:Math.min(4,m.length)},async()=>{for(;d<m.length;){let h=m[d++];try{o.set(h,await tl(h))}catch(g){U(n,"blobUrlToDataUrl failed; keeping original URL",g)}}}));for(let h of i)try{h()}catch(g){U(n,"resolved blob URL write failed",g)}}vt();var $i=new Set(["rgba(0, 0, 0, 0)","transparent"]),Br="Highlight";function Pi(t){let n=(t.ownerDocument||document).getSelection?.();if(!n||n.isCollapsed||n.rangeCount===0)return null;let r=[];for(let i=0;i<n.rangeCount;i+=1){let o=n.getRangeAt(i);if(!o.collapsed)try{o.intersectsNode(t)&&r.push(o)}catch{}}return r.length?{ranges:r,styles:new Map}:null}function rl(t,e){if(e.styles.has(t))return e.styles.get(t);let n;try{let r=getComputedStyle(t);if(r.userSelect==="none"||r.webkitUserSelect==="none"||r.getPropertyValue("-webkit-user-select")==="none")return e.styles.set(t,null),null;let i=getComputedStyle(t,"::selection"),o=[],s=i.backgroundColor,a=s&&!$i.has(s)&&s!==r.backgroundColor;o.push(`background-color:${a?s:Br}`),i.color&&i.color!==r.color&&o.push(`color:${i.color}`,`-webkit-text-fill-color:${i.color}`),i.textShadow&&i.textShadow!==r.textShadow&&o.push(`text-shadow:${i.textShadow}`),i.textDecorationLine&&i.textDecorationLine!=="none"&&i.textDecorationLine!==r.textDecorationLine&&o.push(`text-decoration:${i.textDecorationLine} ${i.textDecorationStyle||"solid"} ${i.textDecorationColor||"currentcolor"}`),n=o.join(";")}catch{n=`background-color:${Br}`}return e.styles.set(t,n),n}function Ni(t,e){let n=t.data;if(!n)return null;let r=t.parentElement;if(!r)return null;let i=[];for(let f of e.ranges){let l=!1;try{l=f.intersectsNode(t)}catch{}if(!l)continue;let u=f.startContainer===t?f.startOffset:0,p=f.endContainer===t?f.endOffset:n.length;p>u&&i.push([u,p])}if(i.length===0)return null;let o=rl(r,e);if(!o)return null;i.sort((f,l)=>f[0]-l[0]);let s=t.ownerDocument||document,a=s.createDocumentFragment(),c=0;for(let[f,l]of i){f>c&&a.append(s.createTextNode(n.slice(c,f)));let u=s.createElement("span");u.setAttribute("data-snapdom-selection",""),u.setAttribute("style",`all:unset;${o}`),u.textContent=n.slice(f,l),a.append(u),c=l}return c<n.length&&a.append(s.createTextNode(n.slice(c))),a}var vn=t=>Number.parseFloat(t)||0,ol=["font-family","font-size","font-weight","font-style","font-variant","font-stretch","letter-spacing","word-spacing","text-transform","text-indent","text-align","line-height","tab-size","direction"];function il(t,e){try{let r=getComputedStyle(t,"::selection").backgroundColor;if(r&&!$i.has(r)&&r!==e.backgroundColor)return r}catch{}return Br}function Li(t,e){let n=t.ownerDocument||document;if(n.activeElement!==t)return;let r=null,i=null;try{r=t.selectionStart,i=t.selectionEnd}catch{return}if(r==null||i==null||r===i)return;let o=t.value||"";if(t.localName==="input"&&t.type==="password"&&(o="\u2022".repeat(o.length)),!o)return;let s=getComputedStyle(t),a=t.localName==="textarea",c=vn(s.paddingLeft),f=vn(s.paddingTop),l=t.clientWidth-c-vn(s.paddingRight),u=t.clientHeight-f-vn(s.paddingBottom),p=n.createElement("div");p.style.cssText="position:absolute;top:0;left:-99999px;visibility:hidden;margin:0;border:0;padding:0;box-sizing:content-box;";for(let g of ol)p.style.setProperty(g,s.getPropertyValue(g));a?(p.style.whiteSpace="pre-wrap",p.style.overflowWrap="break-word",p.style.width=`${Math.max(0,l)}px`):p.style.whiteSpace="pre";let m=n.createElement("span");m.textContent=o.slice(r,i),p.append(n.createTextNode(o.slice(0,r)),m,n.createTextNode(o.slice(i))),n.body.appendChild(p);let d=[];try{let g=p.getBoundingClientRect(),y=-t.scrollLeft,b=-t.scrollTop;if(!a){b+=Math.max(0,(u-g.height)/2);let w=s.direction==="rtl",C=s.textAlign;C==="start"?C=w?"right":"left":C==="end"&&(C=w?"left":"right");let x=l-g.width;x>0&&(C==="right"?y+=x:C==="center"&&(y+=x/2))}for(let w of m.getClientRects())w.width<=0||w.height<=0||d.push({x:c+(w.left-g.left)+y,y:f+(w.top-g.top)+b,width:w.width,height:w.height})}finally{p.remove()}if(d.length===0)return;let h=il(t,s);e.__snapdomFieldSelection={images:d.map(()=>`linear-gradient(${h},${h})`),positions:d.map(g=>`${g.x}px ${g.y}px`),sizes:d.map(g=>`${g.width}px ${g.height}px`),repeats:d.map(()=>"no-repeat"),origins:d.map(()=>"padding-box"),clips:d.map(()=>"padding-box"),base:{image:s.backgroundImage,position:s.backgroundPosition,size:s.backgroundSize,repeat:s.backgroundRepeat,origin:s.backgroundOrigin,clip:s.backgroundClip}}}function Ii(t){for(let e of t.keys()){let n=e.__snapdomFieldSelection;if(!n)continue;delete e.__snapdomFieldSelection;let{images:r,positions:i,sizes:o,repeats:s,origins:a,clips:c,base:f}=n,l=e.style.backgroundImage||f.image;l&&l!=="none"?(r.push(l),i.push(e.style.backgroundPosition||f.position),o.push(e.style.backgroundSize||f.size),s.push(e.style.backgroundRepeat||f.repeat),a.push(e.style.backgroundOrigin||f.origin),c.push(e.style.backgroundClip||f.clip)):(r.push("linear-gradient(transparent,transparent)"),i.push("0% 0%"),o.push("auto"),s.push("repeat"),a.push(f.origin||"padding-box"),c.push(f.clip||"border-box")),e.style.backgroundImage=r.join(","),e.style.backgroundPosition=i.join(","),e.style.backgroundSize=o.join(","),e.style.backgroundRepeat=s.join(","),e.style.backgroundOrigin=a.join(","),e.style.backgroundClip=c.join(",")}}gt();var Ur=new Map,Wi=new Set(["IFRAME"]);function Ae(t,e){Ur.set(String(t).toUpperCase(),e)}function kn(t){let e=O(t),n=e.display;if(n==="none")return null;let r=/^(block|inline-block|flow-root|flex|inline-flex|grid|inline-grid|list-item)$/.test(n),i=m=>parseFloat(m)||0,o=(m,d,h,g,y)=>{if(!r||!m?.endsWith("px"))return null;let b=parseFloat(m);if(!Number.isFinite(b)||b<0)return null;if(e.boxSizing==="border-box")return b;let w=g-y-h;return b+d+h+(w>0&&b+d<y+w/2?w:0)},[s,a,c,f]=/scroll|auto/.test(e.overflow)?[t.offsetWidth,t.clientWidth,t.offsetHeight,t.clientHeight]:[0,0,0,0],l=o(e.width,i(e.paddingLeft)+i(e.paddingRight),i(e.borderLeftWidth)+i(e.borderRightWidth),s,a),u=o(e.height,i(e.paddingTop)+i(e.paddingBottom),i(e.borderTopWidth)+i(e.borderBottomWidth),c,f);if(l===null||u===null){let{width:m,height:d}=dt(t),h=m,g=d;if(l===null&&!h||u===null&&!g){let y=t.getBoundingClientRect();h||(h=y.width||0),g||(g=y.height||0)}l??(l=h),u??(u=g)}let p=document.createElement("div");return p.style.cssText=`display:${n==="inline"?"inline-block":n};box-sizing:border-box;width:${l}px;height:${u}px;visibility:hidden;`,p}var Cn=200,sl=new Set(["img","canvas","video","iframe","object","embed"]);function Oi(t,e){return t.right>=e.left-Cn&&t.left<=e.right+Cn&&t.bottom>=e.top-Cn&&t.top<=e.bottom+Cn}function al(t,e){if(t===e.root)return!1;let n;try{n=t.getBoundingClientRect()}catch{return!1}if(n.width===0&&n.height===0)return!1;let r=O(t);if(r.display==="inline"&&!sl.has((t.localName||"").toLowerCase()))return!1;let i=e.rect,o=t.scrollWidth||0,s=t.scrollHeight||0,a={left:r.direction==="rtl"?Math.min(n.left,n.right-o):n.left,top:n.top,right:Math.max(n.right,n.left+o),bottom:Math.max(n.bottom,n.top+s)},c=r.writingMode||"";if((c.startsWith("vertical")||c.startsWith("sideways"))&&(a.top=Math.min(n.top,n.bottom-s),a.left=Math.min(a.left,n.right-o)),Oi(a,i))return!1;let f=(t.ownerDocument||document).createTreeWalker(t,NodeFilter.SHOW_ELEMENT);for(;f.nextNode();){let l=f.currentNode.getBoundingClientRect();if((l.width>0||l.height>0)&&Oi(l,i))return!1}return!0}function cl(t,e,n){let r=t.cloneNode(!1);t.tagName==="IMG"&&(r.removeAttribute("src"),r.removeAttribute("srcset"),r.removeAttribute("sizes")),st(t,r,e,n);let{width:i,height:o}=dt(t);i>0&&(r.style.width=`${i}px`,r.style.minWidth=`${i}px`,r.style.maxWidth=`${i}px`),o>0&&(r.style.height=`${o}px`,r.style.minHeight=`${o}px`,r.style.maxHeight=`${o}px`),r.style.visibility="hidden";let s=t.parentElement?O(t.parentElement).display:"",a=O(t).position;if(!/flex|grid|table/.test(s)&&(a==="static"||a==="relative")){let c=p=>{let m=O(p);return m.display!=="none"&&m.position!=="absolute"&&m.position!=="fixed"},f=t.getBoundingClientRect(),l=t.previousElementSibling;for(;l&&!c(l);)l=l.previousElementSibling;if(l){let p=f.top-l.getBoundingClientRect().bottom;p>=0&&(r.style.marginTop=`${p}px`)}let u=t.nextElementSibling;for(;u&&!c(u);)u=u.nextElementSibling;if(u){let p=u.getBoundingClientRect().top-f.bottom;p>=0&&(r.style.marginBottom=`${p}px`)}}return r.style.boxSizing="border-box",r}async function ne(t,e,n){if(!t)throw new Error("Invalid node");let r=new Set,i=null,o=null;if(t.nodeType===Node.ELEMENT_NODE){let l=(t.localName||t.tagName||"").toLowerCase(),u=Ot(t);if(u&&(t.id==="snapdom-sandbox"||t.hasAttribute("data-snapdom-sandbox"))||t!==n.element&&u||xr.has(l))return null;if(l==="foreignobject"&&t.parentElement?.closest?.("foreignObject"))return U(e,"Nested <foreignObject> skipped (SVG spec limitation \u2014 not rendered by browsers)"),null;if(l==="source"&&t.parentElement?.localName==="picture")return null}if(t.nodeType===Node.TEXT_NODE){if(e.selection){let l=Ni(t,e.selection);if(l)return l}return t.cloneNode(!0)}if(t.nodeType!==Node.ELEMENT_NODE)return t.cloneNode(!0);if(t.getAttribute("data-capture")==="exclude"){if(n.excludeMode==="hide")return kn(t);if(n.excludeMode==="remove")return null}if(n.exclude&&Array.isArray(n.exclude))for(let l of n.exclude)try{if(t.matches?.(l)){if(n.excludeMode==="hide")return kn(t);if(n.excludeMode==="remove")return null}}catch(u){console.warn(`Invalid selector in exclude option: ${l}`,u)}if(n.excludePredicates)for(let l of n.excludePredicates)try{if(l(t))return n.excludeMode==="remove"?null:kn(t)}catch(u){console.warn("Error in exclude predicate:",u)}if(typeof n.filter=="function")try{if(!n.filter(t)){if(n.filterMode==="hide")return kn(t);if(n.filterMode==="remove")return null}}catch(l){console.warn("Error in filter function:",l)}if(e.clip&&al(t,e.clip))return cl(t,e,n);if(n.__resolveNodeHooks)for(let l of n.__resolveNodeHooks){let u;try{u=await l(t,n)}catch(p){U(e,"resolveNode plugin hook failed",p)}if(u===null)return null;if(u?.nodeType)return u.nodeType===Node.ELEMENT_NODE&&(e.nodeMap.set(u,t),st(t,u,e,n)),u}{let l=Wi.has(t.tagName)&&Ur.get(t.tagName);if(l){let u=await l(t,e,n);if(u!==void 0)return u}}if(t.getAttribute("data-capture")==="placeholder"){let l=t.cloneNode(!1);e.nodeMap.set(l,t),st(t,l,e,n);let u=document.createElement("div");return u.textContent=t.getAttribute("data-placeholder-text")||"",u.style.cssText="color:#666;font-size:12px;text-align:center;line-height:1.4;padding:0.5em;box-sizing:border-box;",l.appendChild(u),l}{let l=!Wi.has(t.tagName)&&Ur.get(t.tagName);if(l){let u=await l(t,e,n);if(u!==void 0)return u}}let s;try{if(s=t.cloneNode(!1),yi(t,s),e.nodeMap.set(s,t),t.tagName==="IMG"){Ai(t,s,n);try{let l=window.getComputedStyle(t),u=parseFloat(l.width),p=parseFloat(l.height);if(!(u>0)||!(p>0)){let h=dt(t),g=b=>parseFloat(l.getPropertyValue(b))||0,y=l.getPropertyValue("box-sizing")==="border-box";u>0||(u=h.width-(y?0:g("padding-left")+g("padding-right")+g("border-left-width")+g("border-right-width"))),p>0||(p=h.height-(y?0:g("padding-top")+g("padding-bottom")+g("border-top-width")+g("border-bottom-width")))}let m=Math.round((u||0)*1e3)/1e3,d=Math.round((p||0)*1e3)/1e3;m&&(s.dataset.snapdomWidth=String(m)),d&&(s.dataset.snapdomHeight=String(d))}catch(l){U(e,"getUnscaledDimensions for IMG failed",l)}try{let l=t.getAttribute("style")||"",u=window.getComputedStyle(t),p=w=>{let C=l.match(new RegExp(`${w}\\s*:\\s*([^;]+)`,"i")),x=C?C[1].trim():u.getPropertyValue(w);return/%|auto/i.test(String(x||""))},m=parseFloat(s.dataset.snapdomWidth||"0")||0,d=parseFloat(s.dataset.snapdomHeight||"0")||0,h=p("width")||!(m>0),g=p("height")||!(d>0);h&&m>0&&(s.style.width=`${m}px`),g&&d>0&&(s.style.height=`${d}px`);let y=u.getPropertyValue("object-fit"),b=u.getPropertyValue("object-position");y&&y!=="fill"?(s.style.objectFit=y,b&&(s.style.objectPosition=b)):(m>0&&(s.style.minWidth=`${m}px`),d>0&&(s.style.minHeight=`${d}px`))}catch(l){U(e,"IMG dimension freeze failed",l)}}}catch(l){throw console.error("[Snapdom] Failed to clone node:",t,l),l}let a=null;if(nt(t,"textarea")){let{width:l,height:u}=dt(t),p=l||t.getBoundingClientRect().width||0,m=u||t.getBoundingClientRect().height||0;p&&(s.style.width=`${p}px`),m&&(s.style.height=`${m}px`)}if(nt(t,"input")){let l=(t.type||"text").toLowerCase();if((l==="checkbox"||l==="radio")&&(Bt()||t.indeterminate)){let{el:p,applyVisual:m}=Ti(t);e.nodeMap.set(p,t),a=m,s=p}else if(l==="range"&&(Bt()||X())){let{el:p,applyVisual:m}=Fi(t);e.nodeMap.set(p,t),a=m,s=p}else if(l==="color"&&X()){let p=s,m=t.value||"#000000";a=()=>{p.style.setProperty("background-color",m,"important"),p.style.setProperty("color","transparent","important"),p.style.setProperty("-webkit-text-fill-color","transparent","important"),p.style.setProperty("appearance","none","important"),p.style.setProperty("-webkit-appearance","none","important")},p.removeAttribute("value")}else if((l==="date"||l==="time"||l==="datetime-local")&&(Bt()||X())){s.setAttribute("type","text");let p=t.value;l==="date"&&t.valueAsDate&&(p=t.valueAsDate.toLocaleDateString(void 0,{timeZone:"UTC"})),s.value=p,s.setAttribute("value",p)}else{let p=Ue(t)?hr(t.value):t.value;s.value=p,s.setAttribute("value",p),t.checked!==void 0&&(s.checked=t.checked,t.checked?s.setAttribute("checked",""):s.removeAttribute("checked"),t.indeterminate&&(s.indeterminate=t.indeterminate))}}if((nt(t,"input")||nt(t,"textarea"))&&!t.value&&t.placeholder)try{let l=window.getComputedStyle(t,"::placeholder"),u=l&&l.color;if(u&&u!=="rgba(0, 0, 0, 0)"){let p="snapdom-ph-"+(Math.random()*1e6|0);s.classList.add(p);let m=document.createElement("style");m.textContent=`.${p}::placeholder{color:${u}!important;opacity:${l.opacity||"1"}!important;-webkit-text-fill-color:${u}!important;}`,s.prepend(m)}}catch{}if(nt(t,"select")&&(i=new Set(Array.from(t.options).filter(l=>l.selected))),nt(t,"textarea")&&(o=t.value),nt(t,"input")||nt(t,"textarea")||nt(t,"select")){t.disabled&&s.setAttribute("disabled",""),t.required&&s.setAttribute("required",""),t.readOnly&&s.setAttribute("readonly","");let l=t;l.min!==void 0&&l.min!==""&&s.setAttribute("min",l.min),l.max!==void 0&&l.max!==""&&s.setAttribute("max",l.max),l.pattern!==void 0&&l.pattern!==""&&s.setAttribute("pattern",l.pattern);let u=t.getAttribute("aria-invalid");u!==null&&s.setAttribute("aria-invalid",u)}if(wn(t)||st(t,s,e,n),a&&a(),n.captureSelection&&(nt(t,"input")||nt(t,"textarea")))try{Li(t,s)}catch(l){U(e,"inlineTextFieldSelection failed",l)}if(Wt(t)&&!wn(t)){let l=["fill","stroke","stroke-width","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","opacity","fill-opacity","stroke-opacity","fill-rule","clip-rule","marker","marker-start","marker-mid","marker-end","visibility","display","color"];try{let u=window.getComputedStyle(t);for(let p of l){let m=u.getPropertyValue(p);m&&s.style.setProperty(p,m)}}catch{}}if(t.shadowRoot){Lr(t.shadowRoot);try{let b=t.shadowRoot.querySelectorAll("slot");for(let w of b){let C=w.assignedNodes?.()||[];for(let x of C)r.add(x)}}catch{}let l=vi(e),u=`[data-sd="${l}"]`;e.shadowScopes||(e.shadowScopes=new WeakMap),e.shadowScopes.set(t.shadowRoot,l);try{s.setAttribute("data-sd",l)}catch{}let p=ki(t.shadowRoot);!e.__shadowPseudo&&/::?(?:before|after|first-l|marker)|counter/.test(p)&&(e.__shadowPseudo=!0);let m=xi(p,u,l),d=Mi(p),h=Ei(t,d,u);Ci(s,h+m,l);let g=document.createDocumentFragment(),y=await Promise.all(Array.from(t.shadowRoot.childNodes).map(b=>b.nodeType===Node.ELEMENT_NODE&&b.tagName==="STYLE"?null:ne(b,e,n).catch(()=>null)));g.append(...y.filter(b=>!!b)),s.appendChild(g)}if(t.tagName==="SLOT"){let l=e.shadowScopes?.get(t.getRootNode()),u=t.assignedNodes?.()||[],p=u.length?t.assignedNodes?.({flatten:!0})||u:[],m=p.length?p:Array.from(t.childNodes),d=document.createDocumentFragment(),h=await Promise.all(m.map(g=>ne(g,e,n).then(y=>(y&&u.length&&_i(y,l),y||null)).catch(()=>null)));return d.append(...h.filter(g=>!!g)),d}let c=l=>r.has(l)||t.shadowRoot&&!l.assignedSlot,f=await Promise.all(Array.from(t.childNodes).map(l=>c(l)?null:ne(l,e,n).catch(()=>null)));if(s.append(...f.filter(l=>!!l)),i&&nt(s,"select")){let l=!1;for(let u of s.options){let p=i.has(e.nodeMap.get(u));u.selected=p,p?u.setAttribute("selected",""):u.removeAttribute("selected"),l||(l=p)}if(!l&&!s.multiple){let u=s.ownerDocument.createElement("option");u.hidden=!0,u.style.setProperty("display","none","important"),u.setAttribute("selected",""),u.value="",s.appendChild(u)}}return o!==null&&nt(s,"textarea")&&(s.textContent=o),s}async function ll(t,e,n){let r=!1;try{r=!!(t.contentDocument||t.contentWindow?.document)}catch(i){U(e,"iframe same-origin probe failed",i)}if(r)try{return await Dr(t,e,n)}catch(i){console.warn("[SnapDOM] iframe rasterization failed, fallback:",i)}if(r||console.warn("[snapdom] cross-origin <iframe> skipped (its document cannot be read). Captured as a placeholder that keeps the frame's box; pass { placeholders: false } for an invisible spacer.",t),n.placeholders){let{width:i,height:o}=dt(t),s=document.createElement("div");return s.style.cssText=`width:${i}px;height:${o}px;background-image:repeating-linear-gradient(45deg,#ddd,#ddd 5px,#f9f9f9 5px,#f9f9f9 10px);display:flex;align-items:center;justify-content:center;font-size:12px;color:#555;border:1px solid #aaa;`,st(t,s,e,n),s}else{let{width:i,height:o}=dt(t),s=document.createElement("div");return s.style.cssText=`display:inline-block;width:${i}px;height:${o}px;visibility:hidden;`,st(t,s,e,n),s}}function Je(t){try{let e=Math.max(1,Math.min(32,t.width)),n=Math.max(1,Math.min(32,t.height)),r=document.createElement("canvas");r.width=e,r.height=n;let i=r.getContext("2d",{willReadFrequently:!0});if(!i)return!1;i.drawImage(t,0,0,e,n);let o=i.getImageData(0,0,e,n).data;for(let s=3;s<o.length;s+=4)if(o[s]!==0)return!1;return!0}catch{return!1}}var fl=.95;function ul(t,e,n){try{let r=t.getImageData(0,0,e,n).data;for(let i=3;i<r.length;i+=4)if(r[i]!==255)return!1;return!0}catch{return!1}}async function dl(t,e,n){let r="";try{let a=Je(t);a&&(await ft(),a=Je(t));let c=null;if(!a){c=t.getContext("2d",{willReadFrequently:!0});try{c&&c.getImageData(0,0,1,1)}catch{}X()&&await ft()}if(r=t.toDataURL("image/png"),!r||r==="data:,"){try{c&&c.getImageData(0,0,1,1)}catch{}if(await ft(),r=t.toDataURL("image/png"),!r||r==="data:,"){let f=document.createElement("canvas");f.width=t.width,f.height=t.height;let l=f.getContext("2d");l&&(l.drawImage(t,0,0),r=f.toDataURL("image/png"))}}}catch(a){U(e,"Canvas toDataURL failed, using empty/fallback",a)}n&&n.debug&&r&&Je(t)&&U(e,"canvas is empty at capture time \u2014 capture it after its first frame is drawn",t);let i=document.createElement("img");try{i.decoding="sync",i.loading="eager"}catch(a){U(e,"img decoding/loading hints failed",a)}r&&(i.src=r),i.width=t.width,i.height=t.height;let{width:o,height:s}=dt(t);return o>0&&(i.style.width=`${o}px`),s>0&&(i.style.height=`${s}px`),e.nodeMap.set(i,t),st(t,i,e,n),i}async function pl(t,e,n){let r="",i=t.poster&&t.paused&&!t.currentTime&&!t.played.length,o=document.createElement("img");try{o.decoding="sync",o.loading="eager"}catch{}if(!i)try{let c=document.createElement("canvas");c.width=t.videoWidth||t.offsetWidth||320,c.height=t.videoHeight||t.offsetHeight||240;let f=c.getContext("2d");f&&(f.drawImage(t,0,0,c.width,c.height),r=c.toDataURL(ul(f,c.width,c.height)?"image/jpeg":"image/png",fl),(!r||r==="data:,")&&(r=""))}catch(c){U(e,"Video frame capture failed, using poster fallback",c)}r?o.src=r:t.poster&&(o.src=t.poster),o.width=t.videoWidth||t.offsetWidth||0,o.height=t.videoHeight||t.offsetHeight||0;let{width:s,height:a}=dt(t);return s>0&&(o.style.width=`${s}px`),a>0&&(o.style.height=`${a}px`),o.style.objectFit="contain",e.nodeMap.set(o,t),st(t,o,e,n),o}async function hl(t,e,n){if(!t.controls)return;let{width:r,height:i}=dt(t),o=Math.round(r||t.offsetWidth||300),s=Math.round(i||t.offsetHeight||54),a=s/2,c=Math.max(4,s*.16),f=s*.34,l=o-s*.34,u=f+c+s*.55,p=Math.max(0,l-s*.7-u),m=Math.max(9,Math.round(s*.24)),d=`<svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${s}" viewBox="0 0 ${o} ${s}"><rect width="${o}" height="${s}" rx="${Math.min(s/2,10)}" fill="#f1f3f4"/><path d="M ${f} ${a-c} L ${f+c} ${a} L ${f} ${a+c} Z" fill="#5f6368"/><rect x="${u}" y="${a-1.5}" width="${p}" height="3" rx="1.5" fill="#bdc1c6"/><circle cx="${u}" cy="${a}" r="${Math.max(3,s*.09)}" fill="#5f6368"/><text x="${l}" y="${a}" fill="#5f6368" font-family="sans-serif" font-size="${m}" text-anchor="end" dominant-baseline="central">0:00</text></svg>`,h=document.createElement("img");try{h.decoding="sync",h.loading="eager"}catch{}return h.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(d)}`,h.width=o,h.height=s,h.style.width=`${o}px`,h.style.height=`${s}px`,e.nodeMap.set(h,t),st(t,h,e,n),h}async function Di(t,e,n){let r=t.getAttribute("data")||t.getAttribute("src")||"",i=(t.getAttribute("type")||"").toLowerCase(),o=/^image\//.test(i)||/\.(png|jpe?g|gif|webp|avif|bmp|ico|svg)(\?|#|$)/i.test(r);if(r&&o){let a=document.createElement("img");try{a.decoding="sync",a.loading="eager"}catch{}a.src=r;let{width:c,height:f}=dt(t);return c>0&&(a.style.width=`${c}px`),f>0&&(a.style.height=`${f}px`),e.nodeMap.set(a,t),st(t,a,e,n),a}let s=null;try{s=t.contentDocument}catch{}if(s)try{let a=await Dr(t,e,n);if(a)return a}catch{}r&&console.warn(`[snapdom] <${t.localName}> content could not be captured (${i||"unknown type"}): rendering its fallback children`)}Ae("IFRAME",ll);Ae("CANVAS",dl);Ae("VIDEO",pl);Ae("AUDIO",hl);Ae("OBJECT",Di);Ae("EMBED",Di);ut();mt();ye();lt();gt();var ml=[/font\s*awesome/i,/material\s*icons/i,/ionicons/i,/glyphicons/i,/feather/i,/bootstrap\s*icons/i,/remix\s*icons/i,/heroicons/i,/layui/i,/lucide/i],Me=Object.assign({materialIconsFilled:"https://fonts.gstatic.com/s/materialicons/v48/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2",materialIconsOutlined:"https://fonts.gstatic.com/s/materialiconsoutlined/v110/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUcel5euIg.woff2",materialIconsRound:"https://fonts.gstatic.com/s/materialiconsround/v109/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmPq_HTTw.woff2",materialIconsSharp:"https://fonts.gstatic.com/s/materialiconssharp/v110/oPWQ_lt5nv4pWNJpghLP75WiFR4kLh3kvmvRImcycg.woff2"},typeof window<"u"&&window.__SNAPDOM_ICON_FONTS__||{});function gl(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Bi(t){let e=Array.isArray(t)?t:t?[t]:[],n=[];for(let r of e)r instanceof RegExp?n.push(r):typeof r=="string"?n.push(new RegExp(gl(r),"i")):console.warn("[snapdom] Ignored invalid iconFont value:",r);return n}function Ct(t,e){let n=typeof t=="string"?t:"";for(let r of ml)if(r.test(n))return!0;if(e){for(let r of e)if(r instanceof RegExp&&r.test(n))return!0}return!!(/icon/i.test(n)||/glyph/i.test(n)||/symbols/i.test(n)||/feather/i.test(n)||/fontawesome/i.test(n))}function Hr(t,e){if(typeof t!="string"||!t)return!1;let n;try{n=new URL(t,typeof location<"u"?location.href:void 0)}catch{return Ct(t,e)}let r=n.searchParams.getAll("family").flatMap(i=>i.split("|")).map(i=>i.split(":")[0].trim()).filter(Boolean);return r.length?r.every(i=>Ct(i,e)):Ct(t,e)}function yl(t=""){let e=String(t).toLowerCase();return/\bmaterial\s*icons\b/.test(e)||/\bmaterial\s*symbols\b/.test(e)}var An=new Map;function bl(t=""){let e=Object.create(null),n=String(t||""),r=/['"]?\s*([A-Za-z]{3,4})\s*['"]?\s*([+-]?\d+(?:\.\d+)?)\s*/g,i;for(;i=r.exec(n);)e[i[1].toUpperCase()]=Number(i[2]);return e}async function wl(t,e,n){let r=String(t||""),i=r.toLowerCase(),o=String(e||"").toLowerCase();if(/\bmaterial\s*icons\b/.test(i)&&!/\bsymbols\b/.test(i))return{familyForMeasure:r,familyForCanvas:r};if(!/\bmaterial\s*symbols\b/.test(i))return{familyForMeasure:r,familyForCanvas:r};let a=n&&(n.FILL??n.fill),c="outlined";/\brounded\b/.test(o)||/\bround\b/.test(o)?c="rounded":/\bsharp\b/.test(o)?c="sharp":/\boutlined\b/.test(o)&&(c="outlined");let f=a===1,l=null;if(f&&(c==="outlined"&&Me.materialIconsFilled?l={url:Me.materialIconsFilled,alias:"snapdom-mi-filled"}:c==="rounded"&&Me.materialIconsRound?l={url:Me.materialIconsRound,alias:"snapdom-mi-round"}:c==="sharp"&&Me.materialIconsSharp&&(l={url:Me.materialIconsSharp,alias:"snapdom-mi-sharp"})),!l)return{familyForMeasure:r,familyForCanvas:r};if(!An.has(l.alias))try{let p=new FontFace(l.alias,`url(${l.url})`,{style:"normal",weight:"400"});await p.load(),document.fonts.add(p),An.set(l.alias,!0)}catch{return An.set(l.alias,!1),{familyForMeasure:r,familyForCanvas:r}}if(An.get(l.alias)===!1)return{familyForMeasure:r,familyForCanvas:r};let u=`"${l.alias}"`;return{familyForMeasure:u,familyForCanvas:u}}async function Sl(t="Material Icons",e=24){try{await Promise.all([document.fonts.load(`400 ${e}px "${String(t).replace(/["']/g,"")}"`),document.fonts.ready])}catch{}}function xl(t){let e=t.getPropertyValue("-webkit-text-fill-color")?.trim()||"",n=/^transparent$/i.test(e)||/rgba?\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(e);if(e&&!n&&e.toLowerCase()!=="currentcolor")return e;let r=t.color?.trim();return r&&r!=="inherit"?r:"#000"}async function vl(t,{family:e="Material Icons",weight:n="normal",fontSize:r=32,color:i="#000",variation:o="",className:s=""}={}){let a=String(e||"").replace(/^['"]+|['"]+$/g,""),c=window.devicePixelRatio||1,f=bl(o),{familyForMeasure:l,familyForCanvas:u}=await wl(a,s,f);await Sl(u.replace(/^["']+|["']+$/g,""),r);let p=document.createElement("span");Q(p),p.textContent=t,p.style.position="absolute",p.style.visibility="hidden",p.style.left="-99999px",p.style.whiteSpace="nowrap",p.style.fontFamily=l,p.style.fontWeight=String(n||"normal"),p.style.fontSize=`${r}px`,p.style.lineHeight="1",p.style.margin="0",p.style.padding="0",p.style.fontFeatureSettings="'liga' 1",p.style.fontVariantLigatures="normal",p.style.color=i,document.body.appendChild(p);let m=p.getBoundingClientRect(),d=Math.max(1,Math.ceil(m.width)),h=Math.max(1,Math.ceil(m.height));document.body.removeChild(p);let g=document.createElement("canvas");g.width=d*c,g.height=h*c;let y=g.getContext("2d");y.scale(c,c),y.font=`${n?`${n} `:""}${r}px ${u}`,y.textAlign="left",y.textBaseline="top",y.fillStyle=i;try{y.fontKerning="normal"}catch{}return y.fillText(t,0,0),{dataUrl:g.toDataURL(),width:d,height:h}}async function Mn(t,e,n=new Map){if(t?.nodeType!==1)return 0;let r='.material-icons, [class*="material-symbols"]',i=Array.from(t.querySelectorAll(r)).filter(a=>a&&a.textContent&&a.textContent.trim());if(t.matches?.(r)&&t.textContent&&t.textContent.trim()&&i.unshift(t),i.length===0)return 0;let o=e?.nodeType===1?Array.from(e.querySelectorAll(r)).filter(a=>a&&a.textContent&&a.textContent.trim()):[];e?.nodeType===1&&e.matches?.(r)&&e.textContent&&e.textContent.trim()&&o.unshift(e);let s=0;for(let a=0;a<i.length;a++){let c=i[a],f=n&&n.get(c)||o[a]||null;try{let l=getComputedStyle(f||c),u=l.fontFamily||"Material Icons";if(!yl(u))continue;let p=(f||c).textContent.trim();if(!p)continue;let m=parseInt(l.fontSize,10)||24,d=l.fontWeight&&l.fontWeight!=="normal"?l.fontWeight:"normal",h=xl(l),g=l.fontVariationSettings&&l.fontVariationSettings!=="normal"?l.fontVariationSettings:"",y=(f||c).className||"",{dataUrl:b,width:w,height:C}=await vl(p,{family:u,weight:d,fontSize:m,color:h,variation:g,className:y});c.textContent="";let x=c.ownerDocument.createElement("img");x.src=b,x.alt=p,x.style.height=`${m}px`,x.style.width=`${Math.max(1,Math.round(w/C*m))}px`,x.style.objectFit="contain",x.style.verticalAlign=getComputedStyle(c).verticalAlign||"baseline",c.appendChild(x),s++}catch{}}return s}de();vt();gt();async function ji(t,e,n,r=32,i="#000"){e=e.replace(/^['"]+|['"]+$/g,"");let o=window.devicePixelRatio||1;try{await document.fonts.ready}catch{}let s=document.createElement("span");Q(s),s.textContent=t,s.style.position="absolute",s.style.visibility="hidden",s.style.fontFamily=`"${e}"`,s.style.fontWeight=n||"normal",s.style.fontSize=`${r}px`,s.style.lineHeight="1",s.style.whiteSpace="nowrap",s.style.padding="0",s.style.margin="0",document.body.appendChild(s);let a=s.getBoundingClientRect(),c=Math.ceil(a.width),f=Math.ceil(a.height);document.body.removeChild(s);let l=document.createElement("canvas");l.width=Math.max(1,c*o),l.height=Math.max(1,f*o);let u=l.getContext("2d");return u.scale(o,o),u.font=n?`${n} ${r}px "${e}"`:`${r}px "${e}"`,u.textAlign="left",u.textBaseline="top",u.fillStyle=i,u.fillText(t,0,0),{dataUrl:l.toDataURL(),width:c,height:f}}var Vi=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","emoji","math","fangsong","ui-serif","ui-sans-serif","ui-monospace","ui-rounded"]),kl=["katex","mathjax","mathml"];function Vr(t){if(!t)return"";for(let e of t.split(",")){let n=e.trim().replace(/^['"]+|['"]+$/g,"");if(n&&!Vi.has(n.toLowerCase()))return n}return""}function Cl(t){if(!t)return[];let e=[];for(let n of t.split(",")){let r=n.trim().replace(/^['"]+|['"]+$/g,"");r&&(Vi.has(r.toLowerCase())||e.push(r))}return e}function En(t){let e=String(t??"400").trim().toLowerCase();if(e==="normal")return 400;if(e==="bold")return 700;let n=parseInt(e,10);return Number.isFinite(n)?Math.min(900,Math.max(100,n)):400}function _n(t){let e=String(t??"normal").trim().toLowerCase();return e.startsWith("italic")?"italic":e.startsWith("oblique")?"oblique":"normal"}function Al(t){let e=String(t??"100%").match(/(\d+(?:\.\d+)?)\s*%/);return e?Math.max(50,Math.min(200,parseFloat(e[1]))):100}function Ml(t){let e=String(t||"400").trim(),n=e.match(/^(\d{2,3})\s+(\d{2,3})$/);if(n){let i=En(n[1]),o=En(n[2]);return{min:Math.min(i,o),max:Math.max(i,o)}}let r=En(e);return{min:r,max:r}}function El(t){let e=String(t||"normal").trim().toLowerCase();return e==="italic"?{kind:"italic"}:e.startsWith("oblique")?{kind:"oblique"}:{kind:"normal"}}function _l(t){let e=String(t||"100%").trim(),n=e.match(/(\d+(?:\.\d+)?)\s*%\s+(\d+(?:\.\d+)?)\s*%/);if(n){let o=parseFloat(n[1]),s=parseFloat(n[2]);return{min:Math.min(o,s),max:Math.max(o,s)}}let r=e.match(/(\d+(?:\.\d+)?)\s*%/),i=r?parseFloat(r[1]):100;return{min:i,max:i}}function Rl(t){return!t||typeof t!="string"?"":t.replace(/\s+(variable|vf|v[0-9]+)$/i,"").trim().toLowerCase().replace(/\s+/g,"-")}function Fl(t,e,n=[]){if(!t)return!1;try{let r=new URL(t,location.href);if(r.origin===location.origin)return!0;let o=r.host.toLowerCase();if(["fonts.googleapis.com","fonts.gstatic.com","use.typekit.net","p.typekit.net","kit.fontawesome.com","use.fontawesome.com","cdn.jsdelivr.net","unpkg.com","cdnjs.cloudflare.com","esm.sh"].some(c=>o.endsWith(c))||n.some(c=>o===c.toLowerCase()||o.endsWith("."+c.toLowerCase())))return!0;let a=(r.pathname+r.search).toLowerCase();if(/\bfont(s)?\b/.test(a)||/\.woff2?(\b|$)/.test(a)||kl.some(c=>a.includes(c)))return!0;for(let c of e){let f=c.toLowerCase().replace(/\s+/g,"+"),l=c.toLowerCase().replace(/\s+/g,"-"),u=Rl(c);if(a.includes(f)||a.includes(l)||u&&a.includes(u))return!0}return!1}catch{return!1}}function Tl(t){let e=new Set;for(let n of t||[]){let r=String(n).split("__")[0]?.trim();r&&e.add(r)}return e}function Ui(t,e){return t&&t.replace(/url\(\s*(['"]?)([^)'"]+)\1\s*\)/g,(n,r,i)=>{let o=(i||"").trim();if(!o||/^data:|^blob:|^https?:|^file:|^about:/i.test(o))return n;let s=o;try{s=new URL(o,e||location.href).href}catch{}return`url("${s}")`})}var qi=/@import\s+(?:url\(\s*(['"]?)([^)"']+)\1\s*\)|(['"])([^"']+)\3)([^;]*);/g,Rn=4;async function $l(t,e,n){if(!t)return t;let r=new Set;function i(a,c){try{return new URL(a,c||location.href).href}catch{return a}}async function o(a,c,f=0){if(f>Rn)return console.warn(`[snapDOM] @import depth exceeded (${Rn}) at ${c}`),a;let l="",u=0,p,m=new RegExp(qi.source,"g");for(;p=m.exec(a);){l+=a.slice(u,p.index),u=m.lastIndex;let d=(p[2]||p[4]||"").trim(),h=i(d,c);if(r.has(h)){console.warn(`[snapDOM] Skipping circular @import: ${h}`);continue}r.add(h);let g="";try{let y=await ot(h,{as:"text",useProxy:n,silent:!0});y.ok&&typeof y.data=="string"&&(g=y.data)}catch{}g?(g=Ui(g,h),g=await o(g,h,f+1),l+=`
|
|
12
|
+
/* inlined: ${h} */
|
|
13
|
+
${g}
|
|
14
|
+
`):l+=p[0]}return l+=a.slice(u),l}let s=Ui(t,e||location.href);return s=await o(s,e||location.href,0),s}var Gi=/url\((["']?)([^"')]+)\1\)/g,Pl=/@font-face[^{}]*\{[^}]*\}/g;function bt(t,e,n=""){return(t.match(new RegExp(`${e}\\s*:\\s*([^;}]+)[;}]`,"i"))?.[1]||n).trim()}function Xi(t){if(!t)return[];let e=[],n=t.split(",").map(r=>r.trim()).filter(Boolean);for(let r of n){let i=r.match(/^U\+([0-9A-Fa-f?]+)(?:-([0-9A-Fa-f?]+))?$/);if(!i)continue;let o=i[1],s=i[2],a=c=>{if(!c.includes("?"))return parseInt(c,16);let f=parseInt(c.replace(/\?/g,"0"),16),l=parseInt(c.replace(/\?/g,"F"),16);return[f,l]};if(s){let c=a(o),f=a(s),l=Array.isArray(c)?c[0]:c,u=Array.isArray(f)?f[1]:f;e.push([Math.min(l,u),Math.max(l,u)])}else{let c=a(o);Array.isArray(c)?e.push([c[0],c[1]]):e.push([c,c])}}return e}function Yi(t,e){if(!e.length||!t||t.size===0)return!0;for(let n of t)for(let[r,i]of e)if(n>=r&&n<=i)return!0;return!1}function qr(t,e){let n=[];if(!t)return n;for(let r of t.matchAll(Gi)){let i=(r[2]||"").trim();if(!(!i||i.startsWith("data:"))){if(!/^https?:/i.test(i))try{i=new URL(i,e||location.href).href}catch{}n.push(i)}}return n}async function zr(t,e,n="",r){let i=t;for(let o of t.matchAll(Gi)){let s=Gt(o[0]);if(!s)continue;let a=s;if(!a.startsWith("http")&&!a.startsWith("data:"))try{a=new URL(a,e||location.href).href}catch{}if(!Ct(a,r)){if(P.resource?.has(a)){i=i.replace(o[0],`url(${P.resource.get(a)})`);continue}try{let c=await ot(a,{as:"dataURL",useProxy:n,silent:!0});if(c.ok&&typeof c.data=="string"){let f=c.data;P.resource?.set(a,f),i=i.replace(o[0],`url(${f})`)}}catch{console.warn("[snapDOM] Failed to fetch font resource:",a)}}}return i}function Nl(t){if(!t.length)return null;let e=(a,c)=>t.some(([f,l])=>!(l<a||f>c)),n=e(0,255)||e(305,305),r=e(256,591)||e(7680,7935),i=e(880,1023),o=e(1024,1279);return e(7840,7929)||e(258,259)||e(416,417)||e(431,432)?"vietnamese":o?"cyrillic":i?"greek":r?"latin-ext":n?"latin":null}function Hi(t={}){let e=new Set((t.families||[]).map(i=>String(i).toLowerCase())),n=new Set((t.domains||[]).map(i=>String(i).toLowerCase())),r=new Set((t.subsets||[]).map(i=>String(i).toLowerCase()));return(i,o)=>{if(e.size&&e.has(i.family.toLowerCase()))return!0;if(n.size)for(let s of i.srcUrls)try{if(n.has(new URL(s).host.toLowerCase()))return!0}catch{}if(r.size){let s=Nl(o);if(s&&r.has(s))return!0}return!1}}function Ll(t){if(!t)return t;let e=/@font-face[^{}]*\{[^}]*\}/gi,n=new Set,r=[];for(let o of t.match(e)||[]){let s=bt(o,"font-family"),a=Vr(s),c=bt(o,"font-weight","400"),f=bt(o,"font-style","normal"),l=bt(o,"font-stretch","100%"),u=bt(o,"unicode-range"),p=bt(o,"src"),m=qr(p,location.href),d=m.length?m.map(g=>String(g).toLowerCase()).sort().join("|"):p.toLowerCase(),h=[String(a||"").toLowerCase(),c,f,l,u.toLowerCase(),d].join("|");n.has(h)||(n.add(h),r.push(o))}if(r.length===0)return t;let i=0;return t.replace(e,()=>r[i++]||"")}var zi=new WeakMap,Il=0;function Wl(t){let e=zi.get(t);return e===void 0&&(e=Il++,zi.set(t,e)),e}function Ol(t,e,n,r,i,o,s,a,c){let f=Array.from(t||[]).sort().join("|"),l=0,u=0;for(let b of s||[]){let w=Math.imul(b,2654435761);w^=w>>>15,w=Math.imul(w,2246822507),w^=w>>>13,l=l+w|0,u++}let p=e?JSON.stringify({families:(e.families||[]).map(b=>String(b).toLowerCase()).sort(),domains:(e.domains||[]).map(b=>String(b).toLowerCase()).sort(),subsets:(e.subsets||[]).map(b=>String(b).toLowerCase()).sort()}):"",m=(n||[]).map(b=>`${(b.family||"").toLowerCase()}::${b.weight||"normal"}::${b.style||"normal"}::${b.stretchPct??100}::${b.src||""}`).sort().join("|"),d=r||"",h=(i||[]).map(b=>String(b).toLowerCase()).sort().join("|"),g=Wl(o||document),y=(a||[]).map(b=>String(b)).sort().join("|");return`fonts-embed-css::req=${f}::ex=${p}::lf=${m}::px=${d}::fd=${h}::doc=${g}::cp=${l}::n=${u}::ic=${y}::env=${c}`}async function jr(t,e,n,r){let i=r.doc?.defaultView||window;if(t.disabled||t.media?.mediaText&&!i.matchMedia(t.media.mediaText).matches)return;let o;try{o=t.cssRules||[]}catch{return}let s=(a,c)=>{try{return new URL(a,c||location.href).href}catch{return a}};for(let a of o){if(a.type===CSSRule.IMPORT_RULE&&a.styleSheet){let c=a.href?s(a.href,e):e;if(r.depth>=Rn){console.warn(`[snapDOM] CSSOM import depth exceeded (${Rn}) at ${c}`);continue}if(c&&r.visitedSheets.has(c)){console.warn(`[snapDOM] Skipping circular CSSOM import: ${c}`);continue}c&&r.visitedSheets.add(c);let f={...r,depth:(r.depth||0)+1};await jr(a.styleSheet,c,n,f);continue}if(a.cssRules?.length){if(a.type===CSSRule.MEDIA_RULE&&!i.matchMedia(a.conditionText).matches||a.type===CSSRule.SUPPORTS_RULE&&!i.CSS.supports(a.conditionText))continue;await jr(a,e,n,r);continue}if(a.type===CSSRule.FONT_FACE_RULE){let c=(a.style.getPropertyValue("font-family")||"").trim(),f=Vr(c);if(!f||Ct(f,r.iconMatchers))continue;let l=(a.style.getPropertyValue("font-weight")||"").trim(),u=(a.style.getPropertyValue("font-style")||"").trim(),p=(a.style.getPropertyValue("font-stretch")||"").trim(),m=(a.style.getPropertyValue("font-variation-settings")||"").trim(),d=(a.style.getPropertyValue("src")||"").trim(),h=(a.style.getPropertyValue("unicode-range")||"").trim(),g=l||"400",y=u||"normal",b=p||"100%",w=(u?`font-style:${u};`:"")+(l?`font-weight:${l};`:"")+(p?`font-stretch:${p};`:"")+(m?`font-variation-settings:${m};`:"")+(h?`unicode-range:${h};`:""),C=r.faceMatchesRequired(f,y,g,b);if(!C&&!r.requiredIndex.has(f.toLowerCase()))continue;let x=Xi(h);if(!Yi(r.usedCodepoints,x))continue;let S={family:f,weightSpec:g,styleSpec:y,stretchSpec:b,unicodeRange:h,srcRaw:d,srcUrls:qr(d,e||location.href),href:e||location.href};if(r.simpleExcluder&&r.simpleExcluder(S,x))continue;if(!C){r.provisionalFaces.push({family:f.toLowerCase(),block:`@font-face{font-family:${f};src:${d};${w}}`,srcRaw:d,baseHref:e||location.href});continue}r.coveredFamilies.add(f.toLowerCase());let A=`"${String(f).replace(/^\s*["']|["']\s*$/g,"").replace(/(["\\])/g,"\\$1")}"`;if(/url\(/i.test(d)){let v=await zr(d,e||location.href,r.useProxy,r.iconMatchers);await n(`@font-face{font-family:${A};src:${v};${w}}`)}else await n(`@font-face{font-family:${A};src:${d};${w}}`)}}}async function Ki({required:t,usedCodepoints:e,exclude:n=void 0,localFonts:r=[],useProxy:i="",fontStylesheetDomains:o=[],iconMatchers:s=[],doc:a=document}={}){t instanceof Set||(t=new Set),e instanceof Set||(e=new Set);let c=new Map;for(let S of t){let[A,v,M,k]=String(S).split("__");if(!A)continue;let R=A.toLowerCase(),E=c.get(R)||[];E.push({w:parseInt(v,10),s:M,st:parseInt(k,10)}),c.set(R,E)}function f(S,A,v,M){let k=String(S).toLowerCase();if(!c.has(k))return!1;let R=c.get(k),E=Ml(v),T=El(A),N=_l(M),B=E.min!==E.max,H=E.min,_=$=>T.kind==="normal"&&$==="normal"||T.kind!=="normal"&&($==="italic"||$==="oblique"),L=!1;for(let $ of R){let F=B?$.w>=E.min&&$.w<=E.max:$.w===H,j=_(_n($.s)),I=$.st>=N.min&&$.st<=N.max;if(F&&j&&I){L=!0;break}}if(L)return!0;if(!B)for(let $ of R){let F=_(_n($.s)),j=$.st>=N.min&&$.st<=N.max;if(Math.abs(H-$.w)<=300&&F&&j)return!0}if(!B&&T.kind==="normal"&&R.some(F=>_n(F.s)!=="normal"))for(let F of R){let j=Math.abs(H-F.w)<=300,I=F.st>=N.min&&F.st<=N.max;if(j&&I)return!0}return!1}let l=Hi(n);we(a),Et();let u=Ol(t,n,r,i,o,a,e,s,we(a));if(P.resource?.has(u))return P.resource.get(u);let p=Tl(t),m=[],d=qi;for(let S of a.querySelectorAll("style")){let A=S.textContent||"";for(let v of A.matchAll(d)){let M=(v[2]||v[4]||"").trim();if(!M||Hr(M,s))continue;a.querySelector(`link[rel="stylesheet"][href="${M}"]`)||m.push(M)}}let h=[];m.length&&await Promise.all(m.map(S=>new Promise(A=>{if(a.querySelector(`link[rel="stylesheet"][href="${S}"]`))return A(null);let v=a.createElement("link");v.rel="stylesheet",v.href=S,Q(v),v.setAttribute("data-snapdom","injected-import");let M=setTimeout(()=>A(null),3e3),k=R=>{clearTimeout(M),A(R)};v.onload=()=>k(v),v.onerror=()=>k(null),a.head.appendChild(v),h.push(v)})));let g="",y=new Set,b=[],w=Array.from(a.querySelectorAll('link[rel="stylesheet"]')).filter(S=>!!S.href);for(let S of h)try{S.remove()}catch{}for(let S of w)try{if(Hr(S.href,s))continue;let A="",v=!1;try{v=new URL(S.href,location.href).origin===location.origin}catch{}if(!v){let k=Array.isArray(o)?o:[];if(!Fl(S.href,p,k))continue}if(v){let k=Array.from(a.styleSheets).find(R=>R.href===S.href);if(k)try{let R=k.cssRules||[];A=Array.from(R).map(E=>E.cssText).join("")}catch{}}if(!A){let k=await ot(S.href,{as:"text",useProxy:i});k?.ok&&typeof k.data=="string"&&(A=k.data)}A=await $l(A,S.href,i);let M="";for(let k of A.match(Pl)||[]){let R=bt(k,"font-family"),E=Vr(R);if(!E||Ct(E,s))continue;let T=bt(k,"font-weight","400"),N=bt(k,"font-style","normal"),B=bt(k,"font-stretch","100%"),H=bt(k,"unicode-range"),_=bt(k,"src"),L=qr(_,S.href),$=f(E,N,T,B);if(!$&&!c.has(E.toLowerCase()))continue;let F=Xi(H);if(!Yi(e,F))continue;let j={family:E,weightSpec:T,styleSpec:N,stretchSpec:B,unicodeRange:H,srcRaw:_,srcUrls:L,href:S.href};if(n&&l(j,F))continue;if(!$){b.push({family:E.toLowerCase(),block:k,srcRaw:_,baseHref:S.href});continue}y.add(E.toLowerCase());let I=/url\(/i.test(_)?await zr(k,S.href,i,s):k;M+=I}M.trim()&&(g+=M)}catch{console.warn("[snapDOM] Failed to process stylesheet:",S.href)}let C={doc:a,requiredIndex:c,usedCodepoints:e,faceMatchesRequired:f,coveredFamilies:y,provisionalFaces:b,simpleExcluder:n?Hi(n):null,useProxy:i,iconMatchers:s,visitedSheets:new Set,depth:0},x=new Set([...a.styleSheets,...a.adoptedStyleSheets||[]]);for(let S of x)if(!(S.href&&w.some(A=>A.href===S.href)))try{let A=S.href||a.baseURI||location.origin+"/";A&&C.visitedSheets.add(A),await jr(S,A,async v=>{g+=v},C)}catch{}for(let S of b)y.has(S.family)||(g+=/url\(/i.test(S.srcRaw)?await zr(S.block,S.baseHref,i,s):S.block);try{for(let S of a.fonts||[]){if(!S||!S.family||S.status!=="loaded"||!S._snapdomSrc)continue;let A=String(S.family).replace(/^['"]+|['"]+$/g,"");if(Ct(A,s)||!c.has(A.toLowerCase())||n?.families&&n.families.some(M=>String(M).toLowerCase()===A.toLowerCase()))continue;let v=S._snapdomSrc;if(!String(v).startsWith("data:"))if(P.resource?.has(S._snapdomSrc))v=P.resource.get(S._snapdomSrc);else try{let M=await ot(S._snapdomSrc,{as:"dataURL",useProxy:i,silent:!0});if(M.ok&&typeof M.data=="string")v=M.data,P.resource?.set(S._snapdomSrc,v);else continue}catch{console.warn("[snapDOM] Failed to fetch dynamic font src:",S._snapdomSrc);continue}g+=`@font-face{font-family:'${A}';src:url(${v});font-style:${S.style||"normal"};font-weight:${S.weight||"normal"};}`}}catch{}for(let S of r){if(!S||typeof S!="object")continue;let A=String(S.family||"").replace(/^['"]+|['"]+$/g,"");if(!A||Ct(A,s)||!c.has(A.toLowerCase())||n?.families&&n.families.some(T=>String(T).toLowerCase()===A.toLowerCase()))continue;let v=S.weight!=null?String(S.weight):"normal",M=S.style!=null?String(S.style):"normal",k=S.stretchPct!=null?`${S.stretchPct}%`:"100%",R=String(S.src||""),E=R;if(!E.startsWith("data:"))if(P.resource?.has(R))E=P.resource.get(R);else try{let T=await ot(R,{as:"dataURL",useProxy:i,silent:!0});if(T.ok&&typeof T.data=="string")E=T.data,P.resource?.set(R,E);else continue}catch{console.warn("[snapDOM] Failed to fetch localFonts src:",R);continue}g+=`@font-face{font-family:'${A}';src:url(${E});font-style:${M};font-weight:${v};font-stretch:${k};}`}return g&&(g=Ll(g),P.resource?.set(u,g)),g}function Fn(t,e){let n=new Set,r=new Set;if(!t)return{required:n,usedCodepoints:r};let i=l=>{if(l)for(let u of l)r.add(u.codePointAt(0))},o=l=>{let u=Cl(l.fontFamily);if(u.length)for(let p of u)n.add(`${p}__${En(l.fontWeight)}__${_n(l.fontStyle)}__${Al(l.fontStretch)}`)},s=ve(t),a=t.getRootNode(),c=l=>{o(O(l));let u=l.getRootNode()===a?s:ve(l);for(let p of["::before","::after"]){let m=p==="::before"?u.before:u.after;if(m!==null){if(m==="")continue;try{if(!l.matches(m))continue}catch{}}let d=O(l,p),h=d&&d.content;if(!(!h||h==="none"||h==="normal"))if(o(d),/^["']/.test(h))i(h.slice(1,-1));else{let g=h.match(/\\[0-9A-Fa-f]{1,6}/g);if(g)for(let y of g)try{r.add(parseInt(y.slice(1),16))}catch{}}}},f=[t];for(let l=0;l<f.length;l++){let u=f[l];u.nodeType===Node.ELEMENT_NODE&&c(u),u.shadowRoot&&f.push(u.shadowRoot);let p=(t.ownerDocument||document).createTreeWalker(u,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,null);for(;p.nextNode();){let m=p.currentNode;if(m.nodeType===Node.TEXT_NODE){if(e&&m.parentElement&&!e(m.parentElement))continue;i(m.nodeValue||"")}else{if(e&&!e(m))continue;c(m),m.shadowRoot&&f.push(m.shadowRoot)}}}return{required:n,usedCodepoints:r}}async function Tn(t,e=2,n=document){try{await n.fonts.ready}catch{}let r=Array.from(t||[]).filter(Boolean);if(r.length===0)return;let i=()=>{let o=n.createElement("div");Q(o),o.style.cssText="position:absolute!important;left:-9999px!important;top:0!important;opacity:0!important;pointer-events:none!important;contain:layout size style;";for(let s of r){let a=n.createElement("span");a.textContent="AaBbGg1234\xC1\xC9\xCD\xD3\xDA\xE7\xF1\u2014\u221E",a.style.fontFamily=`"${s}"`,a.style.fontWeight="700",a.style.fontStyle="italic",a.style.fontSize="32px",a.style.lineHeight="1",a.style.whiteSpace="nowrap",a.style.margin="0",a.style.padding="0",o.appendChild(a)}n.body.appendChild(o),o.offsetWidth,n.body.removeChild(o)};for(let o=0;o<Math.max(1,e);o++)i(),await ft(),await ft()}mt();function ts(t){return/\bcounter\s*\(|\bcounters\s*\(/.test(t||"")}function Qi(t,e=!1){let n="",r=Math.max(1,t);for(;r>0;)r--,n=String.fromCharCode(97+r%26)+n,r=Math.floor(r/26);return e?n.toUpperCase():n}function Ji(t,e=!0){let n=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]],r=Math.max(1,Math.min(3999,t)),i="";for(let[o,s]of n)for(;r>=o;)i+=s,r-=o;return e?i:i.toLowerCase()}function Zi(t,e){switch((e||"decimal").toLowerCase()){case"decimal":return String(t);case"decimal-leading-zero":{let n=Math.abs(t);return(t<0?"-":"")+(n<10?"0":"")+String(n)}case"lower-alpha":case"lower-latin":return Qi(t,!1);case"upper-alpha":case"upper-latin":return Qi(t,!0);case"lower-roman":return Ji(t,!1);case"upper-roman":return Ji(t,!0);default:return String(t)}}function Ze(t,e){let n=(t||"").trim().split(/[\s,]+/).filter(Boolean),r=[];for(let i=0;i<n.length;i++){let o=n[i];if(o==="none")continue;let s=n[i+1],a=s!==void 0&&Number.isFinite(Number(s));r.push([o,a?Number(s):e]),a&&i++}return r}function es(t){let e=new WeakMap,n=mr(t)?t.documentElement:t,r=f=>f&&f.tagName==="LI",i=new WeakMap,o=f=>{let l=new Map;for(let[u,p]of f)l.set(u,p.slice());return l},s=(f,l,u)=>{let p=o(f),m;try{m=getComputedStyle(u)}catch{m=u.style}let d;try{d=m?.counterReset}catch{}if(d&&d!=="none")for(let[y,b]of Ze(d,0)){let w=l.get(y);if(w&&w.length){let C=w.slice();C.push(b),p.set(y,C)}else p.set(y,[b])}let h;try{h=m?.counterSet}catch{}if(h&&h!=="none")for(let[y,b]of Ze(h,0)){let w=p.get(y)||[];w.length===0&&w.push(0),w[w.length-1]=b,p.set(y,w)}let g;try{g=m?.counterIncrement}catch{}if(g&&g!=="none")for(let[y,b]of Ze(g,1)){let w=p.get(y)||[];w.length===0&&w.push(0),w[w.length-1]+=b,p.set(y,w)}try{if(m?.display==="list-item"&&r(u)){let y=u.parentElement,b=y&&i.get(y),w=y?.tagName==="OL"?parseInt(y.getAttribute("start"),10):NaN,C=b===void 0?Number.isFinite(w)?w:1:b+1,x=y?.tagName==="OL"?parseInt(u.getAttribute("value"),10):NaN;Number.isFinite(x)&&(C=x),y&&i.set(y,C);let S=p.get("list-item")||[];S.length===0&&S.push(0),S[S.length-1]=C,p.set("list-item",S)}}catch{}return p},a=(f,l,u)=>{let p=s(u,l,f);e.set(f,p);let m=p;for(let h of f.children)m=a(h,p,m);let d=new Map;for(let[h,g]of u){let y=g.length,b=m.get(h);d.set(h,b&&b.length?b.slice(0,y):g.slice())}for(let[h,g]of m)!d.has(h)&&g.length&&!l.has(h)&&d.set(h,g.slice(0,1));return d},c=new Map;return a(n,c,c),{get(f,l){let u=e.get(f)?.get(l);return u&&u.length?u[u.length-1]:0},getStack(f,l){let u=e.get(f)?.get(l);return u?u.slice():[]}}}function ns(t,e,n){if(!t||t==="none")return t;try{let r=/\b(counter|counters)\s*\(([^)]+)\)/g;return t.replace(r,(i,o,s)=>{let a=String(s).split(",").map(c=>c.trim());if(o==="counter"){let c=a[0]?.replace(/^["']|["']$/g,""),f=(a[1]||"decimal").toLowerCase(),l=n.get(e,c);return Zi(l,f)}else{let c=a[0]?.replace(/^["']|["']$/g,""),f=a[1]?.replace(/^["']|["']$/g,"")??"",l=(a[2]||"decimal").toLowerCase(),u=n.getStack(e,c);return u.length?u.map(m=>Zi(m,l)).join(f):""}})}catch{return"- "}}de();var Ee=new WeakMap,rs=1e3;function Dl(t,e){let n=as(t);return e?(e.__pseudoPreflightFp!==n&&(Et(),e.__pseudoPreflight=os(t,n),e.__pseudoPreflightFp=n),!!e.__pseudoPreflight):(Et(),os(t,n))}function $n(t){try{return t&&t.cssRules?t.cssRules:null}catch{return null}}function as(t){let e=t.querySelectorAll('style,link[rel~="stylesheet"]'),n=`n:${e.length}|`,r=0;for(let s=0;s<e.length;s++){let a=e[s];if(a.tagName==="STYLE"){let c=a.textContent?a.textContent.length:0;n+=`S${c}|`;let f=a.sheet,l=f?$n(f):null;l&&(r+=l.length)}else{let c=a.getAttribute("href")||"",f=a.getAttribute("media")||"all";n+=`L${c}|m:${f}|`;let l=a.sheet,u=l?$n(l):null;u&&(r+=u.length)}}let i=t.adoptedStyleSheets,o=0;if(Array.isArray(i))for(let s of i){let a=$n(s);a&&(o+=a.length)}return n+=`ass:${Array.isArray(i)?i.length:0}/${o}|tr:${r}`,n}function Gr(t,e,n){let r=$n(t);if(!r)return!1;for(let i=0;i<r.length;i++){if(n.budget<=0)return!1;let o=r[i],s=o&&o.cssText?o.cssText:"";n.budget--;for(let a of e)if(s.includes(a))return!0;if(o&&o.styleSheet&&Gr(o.styleSheet,e,n))return!0;if(o&&o.cssRules&&o.cssRules.length)for(let a=0;a<o.cssRules.length&&n.budget>0;a++){let c=o.cssRules[a],f=c&&c.cssText?c.cssText:"";n.budget--;for(let l of e)if(f.includes(l))return!0}if(n.budget<=0)return!1}return!1}function os(t=document,e=as(t)){let n=Ee.get(t);if(n&&n.fingerprint===e)return n.result;let r=a=>(a.match(/\|ass:[^|]*/)||[""])[0];n&&r(e)!==r(n.fingerprint)&&Se();let i=["::before","::after","::first-letter","::marker","::first-line",":before",":after",":first-letter",":first-line","counter(","counters(","counter-increment","counter-reset"],o=t.querySelectorAll("style");for(let a=0;a<o.length;a++){let c=o[a].textContent||"";for(let f of i)if(c.includes(f))return Ee.set(t,{fingerprint:e,result:!0}),!0}let s=t.adoptedStyleSheets;if(Array.isArray(s)&&s.length){let a={budget:rs};try{for(let c of s)if(Gr(c,i,a))return Ee.set(t,{fingerprint:e,result:!0}),!0}catch{}}{let a=t.querySelectorAll('style,link[rel~="stylesheet"]'),c={budget:rs};for(let f=0;f<a.length&&c.budget>0;f++){let l=a[f],u=null;if(l.tagName,u=l.sheet||null,u&&Gr(u,i,c))return Ee.set(t,{fingerprint:e,result:!0}),!0}}return t.querySelector('[style*="counter("], [style*="counters("]')?(Ee.set(t,{fingerprint:e,result:!0}),!0):(Ee.set(t,{fingerprint:e,result:!1}),!1)}function is(t){for(let e of["Top","Right","Bottom","Left"]){let n=parseFloat(t[`border${e}Width`])||0,r=t[`border${e}Style`];if(n>0&&r&&r!=="none"&&r!=="hidden")return!0}return!1}function Bl(t,e){let n=null,r=()=>{if(!n)try{n=es(t)}catch(i){U(e,"buildCounterContext failed",i),n={get:()=>0,getStack:()=>[]}}return n};return{get(i,o){return r().get(i,o)},getStack(i,o){return r().getStack(i,o)}}}function Ul(t){let e=!1;for(let n=0;n<t.length;n++){let r=t[n];if(r==='"')e=!e;else if(r==="/"&&!e)return t.slice(0,n).trim()}return t}function Hl(t){return t.replace(/\\(?:([0-9a-fA-F]{1,6})[ \t\n]?|([\s\S]))/g,(e,n,r)=>{if(n){let i=parseInt(n,16);return i===0||i>1114111?"\uFFFD":String.fromCodePoint(i)}return r===`
|
|
15
|
+
`?"":r})}function zl(t){if(!t)return"";let e=[],n=/"((?:\\[\s\S]|[^"\\])*)"|'((?:\\[\s\S]|[^'\\])*)'/g,r=0,i;for(;i=n.exec(t);){let s=t.slice(r,i.index).trim();s&&e.push(s),e.push(Hl(i[1]!==void 0?i[1]:i[2])),r=n.lastIndex}let o=t.slice(r).trim();return o&&e.push(o),e.join("")}function Xr(t,e,n){let r=t.parentElement,i=r&&n?n.get(r):null;return i?{get(o,s){let a=e.get(o,s),c=i.get(s);return typeof c=="number"?Math.max(a,c):a},getStack(o,s){let a=e.getStack(o,s);if(!a.length)return a;let c=i.get(s);if(typeof c=="number"){let f=a.slice();return f[f.length-1]=Math.max(f[f.length-1],c),f}return a}}:e}function Yr(t,e,n){let r=new Map,i=(f,l)=>Ze(f,l).map(([u,p])=>({name:u,num:p})),o=i(e?.counterReset,0),s=i(e?.counterSet,0),a=i(e?.counterIncrement,1);function c(f){if(r.has(f))return r.get(f).slice();let l=n.getStack(t,f);l=l.length?l.slice():[];let u=o.find(d=>d.name===f);if(u){let d=Number.isFinite(u.num)?u.num:0;l=l.length?[...l,d]:[d]}let p=s.find(d=>d.name===f);if(p){let d=Number.isFinite(p.num)?p.num:0;l.length===0&&(l=[0]),l[l.length-1]=d}let m=a.find(d=>d.name===f);if(m){let d=Number.isFinite(m.num)?m.num:1;l.length===0&&(l=[0]),l[l.length-1]+=d}return r.set(f,l.slice()),l}return{get(f,l){let u=c(l);return u.length?u[u.length-1]:0},getStack(f,l){return c(l)},__incs:a}}var jl=["color","-webkit-text-fill-color","font-family","font-size","font-weight","font-style","letter-spacing","line-height"],Vl=["color","-webkit-text-fill-color","font-family","font-size","font-weight","font-style","font-variant","letter-spacing","word-spacing","text-transform","text-decoration-line","text-decoration-color","text-decoration-style","line-height","background-color","vertical-align"];function ss(t,e,n,r,i,o){try{if(r===null){if(t.getRootNode()!==(t.ownerDocument||document))return;let u=O(t).display||"";if(i==="::marker"?!u.includes("list-item"):!(u==="block"||u==="flow-root"||u==="list-item"||u==="inline-block"||u==="table-cell"||u==="table-caption"))return}else if(!t.matches(r))return;if(i==="::marker"&&!(O(t).display||"").includes("list-item"))return;let s=O(t,i),a=O(t);if(!s)return;let c="";for(let u of o){let p=s.getPropertyValue(u);p&&p!==a.getPropertyValue(u)&&!(u==="background-color"&&p==="rgba(0, 0, 0, 0)")&&!(u==="vertical-align"&&p==="baseline")&&(c+=`${u}:${p};`)}if(i==="::marker"){let u=s.getPropertyValue("content");u&&u!=="normal"&&u!=="none"&&(c+=`content:${u};`)}if(!c)return;let l=`data-sd-p${n.__pseudoRuleSeq=(n.__pseudoRuleSeq||0)+1}`;e.setAttribute(l,""),n.__pseudoCSS=(n.__pseudoCSS||"")+`[${l}]${i}{${c}}`}catch{}}function ql(t,e){if(!/\b(?:no-)?(?:open|close)-quote\b/.test(t))return t;let n="\u201C",r="\u201D";try{let i=O(e).quotes;if(i==="none")n="",r="";else if(i&&i!=="auto"){let o=i.match(/"[^"]*"|'[^']*'/g);o&&o.length>=2&&(n=o[0].slice(1,-1),r=o[1].slice(1,-1))}}catch{}return n=n.replace(/"/g,""),r=r.replace(/"/g,""),t.replace(/"[^"]*"|\b(no-open-quote|no-close-quote|open-quote|close-quote)\b/g,(i,o)=>o?o==="open-quote"?`"${n}"`:o==="close-quote"?`"${r}"`:'""':i)}function Gl(t,e,n,r){let i;try{i=O(t,e)}catch{}let o=i?.content;if(!o||o==="none"||o==="normal")return{text:"",incs:[]};o=Ul(o),o=ql(o,t);let s=Xr(t,n,r),a=Yr(t,i,s),c=ts(o)?ns(o,t,a):o;return{text:zl(c),incs:a.__incs||[]}}function Xl(t,e){if(e.__shadowPseudo)return!1;let n=ve(t),r=[];for(let o of["before","after","firstLetter","marker","firstLine"]){let s=n[o];if(s===null)return!1;s&&r.push(s)}if(!r.length)return!0;let i=r.join(",");try{return!t.matches(i)&&t.querySelector(i)===null}catch{return!1}}async function _e(t,e,n,r,i=!1){if(t?.nodeType!==1||e?.nodeType!==1||t.tagName==="TEXTAREA")return;let o=t.ownerDocument||document;if(!i&&!Dl(o,n)&&!n.__shadowPseudo||!i&&Xl(t,n))return;n.__siblingCounters||(n.__siblingCounters=new WeakMap),n.__counterCtx||(n.__counterCtx=Bl(t.ownerDocument||document,n));let s=n.__counterCtx,a=ve(t);a.marker!==""&&ss(t,e,n,a.marker,"::marker",jl),a.firstLine!==""&&ss(t,e,n,a.firstLine,"::first-line",Vl);for(let f of["::before","::after","::first-letter"]){let l=a[f==="::before"?"before":f==="::after"?"after":"firstLetter"];if(l!==null){if(l==="")continue;try{if(!t.matches(l))continue}catch{}}try{let u=O(t,f);if(!u||u.content==="none"&&u.backgroundImage==="none"&&u.backgroundColor==="transparent"&&!is(u)&&(!u.transform||u.transform==="none")&&u.display==="inline")continue;if(f==="::first-letter"){let D=O(t),q=(D?.display||"").toLowerCase();if(q.includes("flex")||q.includes("grid"))continue;let z=Nt=>u[Nt]!==D[Nt]&&(parseFloat(u[Nt])||0)!==0;if(!(u.color!==D.color||u.fontSize!==D.fontSize||u.fontWeight!==D.fontWeight||u.fontFamily!==D.fontFamily||u.fontStyle!==D.fontStyle||u.textTransform!==D.textTransform||u.float!==D.float&&u.float!=="none"||z("paddingTop")||z("paddingRight")||z("paddingBottom")||z("paddingLeft")||z("marginTop")||z("marginRight")||z("marginBottom")||z("marginLeft")))continue;let At=Array.from(e.childNodes).find(Nt=>Nt.nodeType===Node.TEXT_NODE&&Nt.textContent?.trim().length>0);if(!At)continue;let We=At.textContent,ae=/^\s*/.exec(We)[0],ht=We.slice(ae.length),ce=ht.match(/^([^\p{L}\p{N}\s]*[\p{L}\p{N}](?:['’])?)/u)?.[0],le=ht.slice(ce?.length||0);if(!ce||/[\uD800-\uDFFF]/.test(ce))continue;let fe=document.createElement("span");fe.textContent=ce,fe.dataset.snapdomPseudo="::first-letter";let lr=ge(u,hn(t)),ln=me(lr,"span");n.styleMap.set(fe,ln);let fn=document.createTextNode(le);e.replaceChild(fn,At),e.insertBefore(fe,fn),ae&&e.insertBefore(document.createTextNode(ae),fe);continue}let m=u.content??"",d=m===""||m==="none"||m==="normal",{text:h,incs:g}=Gl(t,f,s,n.__siblingCounters),y=u.backgroundImage,b=u.backgroundColor,w=u.fontFamily,C=parseInt(u.fontSize)||32,x=parseInt(u.fontWeight)||!1,S=u.color||"#000",A=u.transform,v=Ct(w,r?.__iconMatchers),M=!d&&h!=="",k=y&&y!=="none",R=b&&b!=="transparent"&&b!=="rgba(0, 0, 0, 0)",E=is(u),T=A&&A!=="none",N=m!=="none"&&m!=="normal",B=/^inline-/.test(u.display||""),H=N&&((parseFloat(u.width)||0)>0||(parseFloat(u.height)||0)>0||B),_=N&&u.boxShadow&&u.boxShadow!=="none",L=N&&u.outlineStyle&&u.outlineStyle!=="none"&&(parseFloat(u.outlineWidth)||0)>0;if(!(M||k||R||E||T||H||_||L)){if(g&&g.length&&t.parentElement){let D=n.__siblingCounters.get(t.parentElement)||new Map;for(let{name:q}of g){if(!q)continue;let z=Xr(t,s,n.__siblingCounters),At=Yr(t,O(t,f),z).get(t,q);D.set(q,At)}n.__siblingCounters.set(t.parentElement,D)}continue}let F=h.startsWith("url(")||/^-?(?:webkit-)?image-set\(/i.test(h),j=!1;if(M&&!v&&h.length>1&&!F){let D=O(t),q=parseFloat(D.fontSize)||16,z=parseFloat(D.lineHeight);Number.isFinite(z)||(z=q*1.5),t.getBoundingClientRect().height<z*1.6&&(e.style.whiteSpace="nowrap",j=!0)}let I=document.createElement("span");I.dataset.snapdomPseudo=f,I.style.pointerEvents="none",j&&(I.style.whiteSpace="nowrap");let V=pi(t,f,u,n,r),pt=(O(t).display||"").toLowerCase(),Z=pt.includes("flex")||pt.includes("grid");if(Z){let D=V["min-width"];(!D||D==="auto"||D==="0px")&&(V["min-width"]="0px")}let Ft=me(V,"span",M,Z);if(n.styleMap.set(I,Ft),v&&h&&h.length===1){let{dataUrl:D,width:q,height:z}=await ji(h,w,x,C,S),ct=document.createElement("img");ct.src=D,ct.style=`height:${C}px;width:${q/z*C}px;object-fit:contain;`,I.appendChild(ct),e.dataset.snapdomHasIcon="true"}else if(h&&F){let D=Be(h,typeof devicePixelRatio<"u"&&devicePixelRatio||1)??Gt(h);if(D?.trim())try{let q=await ot(It(D),{as:"dataURL",useProxy:r.useProxy});if(q?.ok&&typeof q.data=="string"){let z=document.createElement("img");z.src=q.data,z.style=`width:${C}px;height:auto;object-fit:contain;`,I.appendChild(z)}}catch(q){console.error(`[snapdom] Error in pseudo ${f} for`,t,q)}}else!v&&M&&(I.textContent=h);I.style.backgroundImage="none","maskImage"in I.style&&(I.style.maskImage="none"),"webkitMaskImage"in I.style&&(I.style.webkitMaskImage="none");try{I.style.backgroundRepeat=u.backgroundRepeat,I.style.backgroundSize=u.backgroundSize,u.backgroundPositionX&&u.backgroundPositionY?(I.style.backgroundPositionX=u.backgroundPositionX,I.style.backgroundPositionY=u.backgroundPositionY):I.style.backgroundPosition=u.backgroundPosition,I.style.backgroundOrigin=u.backgroundOrigin,I.style.backgroundClip=u.backgroundClip,I.style.backgroundAttachment=u.backgroundAttachment,I.style.backgroundBlendMode=u.backgroundBlendMode}catch{}if(k)try{let D=Dt(y),q=await Promise.all(D.map(z=>pe(z,r)));I.style.backgroundImage=q.join(", ")}catch(D){console.warn(`[snapdom] Failed to inline background-image for ${f}`,D)}R&&(I.style.backgroundColor=b);let Tt=u.maskImage||u.webkitMaskImage;if(Tt&&Tt!=="none")try{let q=(await Promise.all(Dt(Tt).map(z=>pe(z,r)))).join(", ");I.style.maskImage=q,I.style.webkitMaskImage=q;for(let z of["maskSize","maskRepeat","maskPosition","maskMode","maskComposite","maskOrigin","maskClip"])u[z]&&(I.style[z]=u[z])}catch(D){console.warn(`[snapdom] Failed to inline mask-image for ${f}`,D)}let at=I.childNodes.length>0||I.textContent?.trim()!==""||k||R||E||T||H||_||L;if(g&&g.length&&t.parentElement){let D=n.__siblingCounters.get(t.parentElement)||new Map,q=Xr(t,s,n.__siblingCounters),z=Yr(t,O(t,f),q);for(let{name:ct}of g){if(!ct)continue;let At=z.get(t,ct);D.set(ct,At)}n.__siblingCounters.set(t.parentElement,D)}if(!at)continue;f==="::before"?(e.dataset.snapdomHasBefore="1",e.insertBefore(I,e.firstChild)):(e.dataset.snapdomHasAfter="1",e.appendChild(I))}catch(u){console.warn(`[snapdom] Failed to capture ${f} for`,t,u)}}let c=Array.from(e.children).filter(f=>!f.dataset.snapdomPseudo);if(n.nodeMap)for(let f of c){let l=n.nodeMap.get(f);l?.nodeType===1&&await _e(l,f,n,r,!0)}else{let f=Array.from(t.children);for(let l=0;l<Math.min(f.length,c.length);l++)await _e(f[l],c[l],n,r,!0)}}mt();function cs(t,e,n){if(!t||t?.nodeType!==1)return;let r=t.ownerDocument||document,i=e||r,o=Wt(t)&&t.localName==="svg"?[t]:Array.from(t.querySelectorAll("svg")),s=/url\(\s*["']?\s*#([^)"']+)/g,a=["fill","stroke","filter","clip-path","mask","marker","marker-start","marker-mid","marker-end"],c=S=>window.CSS&&CSS.escape?CSS.escape(S):S.replace(/[^a-zA-Z0-9_-]/g,"\\$&"),f="http://www.w3.org/1999/xlink",l=S=>{if(!S||!S.getAttribute)return null;let A=S.getAttribute("href")||S.getAttribute("xlink:href")||(typeof S.getAttributeNS=="function"?S.getAttributeNS(f,"href"):null);if(A)return A;let v=S.attributes;if(!v)return null;for(let M=0;M<v.length;M++){let k=v[M];if(!k||!k.name)continue;if(k.name==="href")return k.value;let R=k.name.indexOf(":");if(R!==-1&&k.name.slice(R+1)==="href")return k.value}return null},u=new Set(Array.from(t.querySelectorAll("[id]")).map(S=>S.id)),p=new Set,m=!1,d=(S,A=null)=>{if(!S)return;s.lastIndex=0;let v;for(;v=s.exec(S);){m=!0;let M=(v[1]||"").trim();M&&(u.has(M)||(p.add(M),A&&!A.has(M)&&A.add(M)))}},h=S=>{let A=S.querySelectorAll("use");for(let k of A){let R=l(k);if(!R||!R.startsWith("#"))continue;m=!0;let E=R.slice(1).trim();E&&!u.has(E)&&p.add(E)}let v='*[style*="url("],*[fill^="url("], *[stroke^="url("],*[filter^="url("],*[clip-path^="url("],*[mask^="url("],*[marker^="url("],*[marker-start^="url("],*[marker-mid^="url("],*[marker-end^="url("]';d(S.getAttribute("style")||"");for(let k of a)d(S.getAttribute(k));let M=S.querySelectorAll(v);for(let k of M){d(k.getAttribute("style")||"");for(let R of a)d(k.getAttribute(R))}},g=S=>{if(!S||S.nodeType!==1||!S.querySelectorAll)return;let A="filter[id],clipPath[id],mask[id],linearGradient[id],radialGradient[id],pattern[id]",v=!1;try{v=!!(i.querySelector&&i.querySelector(A))}catch{return}if(!v)return;let M=["filter","clipPath","mask","maskImage","webkitMaskImage"],k=R=>{if(Wt(R))return;let E;try{E=getComputedStyle(R)}catch{return}for(let T of M){let N=E[T];N&&N.includes("url(")&&d(N)}};k(S);for(let R of S.querySelectorAll("*"))k(R)};for(let S of o)h(S);if(g(n),!m)return;let y=t.querySelector("svg.inline-defs-container");y||(y=r.createElementNS("http://www.w3.org/2000/svg","svg"),y.classList.add("inline-defs-container"),y.setAttribute("aria-hidden","true"),y.setAttribute("style","position:absolute;width:0;height:0;overflow:hidden"),t.insertBefore(y,t.firstChild||null));let b=y.querySelector("defs")||null,w=S=>{if(!S||u.has(S))return null;let A=c(S),v=M=>{let k=i.querySelector(M);return k&&!t.contains(k)?k:null};return v(`svg defs > *#${A}`)||v(`svg > symbol#${A}`)||v(`*#${A}`)};if(!p.size)return;let C=new Set(p),x=new Set;for(;C.size;){let S=C.values().next().value;if(C.delete(S),!S||u.has(S)||x.has(S))continue;let A=w(S);if(!A){x.add(S);continue}b||(b=r.createElementNS("http://www.w3.org/2000/svg","defs"),y.appendChild(b));let v=A.cloneNode(!0);v.id||v.setAttribute("id",S),b.appendChild(v),x.add(S),u.add(S);let M=[v,...v.querySelectorAll("*")];for(let k of M){let R=l(k);if(R&&R.startsWith("#")){let T=R.slice(1).trim();T&&!u.has(T)&&!x.has(T)&&C.add(T)}let E=k.getAttribute?.("style")||"";E&&d(E,C);for(let T of a){let N=k.getAttribute?.(T);N&&d(N,C)}}}}mt();var Kr=new WeakMap,Qr=new WeakMap;function Pn(t,e,n){let r=n.get(t),i=t.style;if(!r){let s=i.cssText,a=t.hasAttribute("style");r={users:0,saved:e.map(([f,l])=>{let u={property:f,value:i.getPropertyValue(f),priority:i.getPropertyPriority(f)};return i.setProperty(f,l,"important"),u.forcedValue=i.getPropertyValue(f),u}),originalCSS:s,forcedCSS:i.cssText,hadStyle:a},n.set(t,r)}r.users++;let o=!1;return()=>{if(!o&&(o=!0,!--r.users)){if(n.delete(t),i.cssText===r.forcedCSS)i.cssText=r.originalCSS;else for(let s of r.saved)i.getPropertyValue(s.property)!==s.forcedValue||i.getPropertyPriority(s.property)!=="important"||(s.value?i.setProperty(s.property,s.value,s.priority):i.removeProperty(s.property));!r.hadStyle&&!i.length&&(t.getAttribute("style"),t.removeAttribute("style"))}}}function ls(t){if(Kr.has(t))return Pn(t,[],Kr);let e=getComputedStyle(t),n=e.outlineStyle,r=e.outlineWidth,i=n!=="none"&&parseFloat(r)>0,o=parseFloat(e.borderTopWidth)===0&&parseFloat(e.borderRightWidth)===0&&parseFloat(e.borderBottomWidth)===0&&parseFloat(e.borderLeftWidth)===0;if(i&&o){let s=[];for(let a of["top","right","bottom","left"])s.push([`border-${a}-width`,r],[`border-${a}-style`,"solid"],[`border-${a}-color`,"transparent"]);return Pn(t,s,Kr)}return()=>{}}function Nn(t,e=null){let n=[],r=i=>{if(!xt(i))return;if(Qr.has(i)){n.push(Pn(i,[],Qr));return}let o=getComputedStyle(i);(o.contentVisibility||o.getPropertyValue("content-visibility")||"")==="auto"&&n.push(Pn(i,[["content-visibility","visible"]],Qr))};try{if(e){let o=s=>{let a;try{a=s.getBoundingClientRect()}catch{return}if(!((a.width>0||a.height>0)&&(a.right<e.left-200||a.left>e.right+200||a.bottom<e.top-200||a.top>e.bottom+200))){r(s);for(let c=s.firstElementChild;c;c=c.nextElementSibling)o(c)}};o(t)}else{for(let i of t.querySelectorAll("*"))r(i);r(t)}}catch{}return()=>{for(let i of n)try{i()}catch{}}}ut();lt();gt();ye();gt();function Zr(t){return us(t.boxShadow)}function to(t){return us(t.textShadow)}function us(t){if(!t||t==="none")return{top:0,right:0,bottom:0,left:0};let e=[],n="",r=0;for(let c=0;c<t.length;c++){let f=t[c];f==="("?r++:f===")"&&(r=Math.max(0,r-1)),f===","&&r===0?(e.push(n),n=""):n+=f}n.trim()&&e.push(n);let i=0,o=0,s=0,a=0;for(let c of e){if(/\binset\b/i.test(c))continue;let f=c.match(/-?\d+(\.\d+)?px/g)?.map(g=>parseFloat(g))||[];if(f.length<2)continue;let[l,u,p=0,m=0]=f,d=Math.abs(l)+p+m,h=Math.abs(u)+p+m;o=Math.max(o,d+Math.max(l,0)),a=Math.max(a,d+Math.max(-l,0)),s=Math.max(s,h+Math.max(u,0)),i=Math.max(i,h+Math.max(-u,0))}return{top:Math.ceil(i),right:Math.ceil(o),bottom:Math.ceil(s),left:Math.ceil(a)}}function eo(t){let e=t.filter&&t.filter!=="none"?t.filter:t.webkitFilter||"",n=/blur\(\s*([0-9.]+)px\s*\)/gi,r=0,i;for(;i=n.exec(e);)r+=parseFloat(i[1])||0;let o=Math.ceil(r*2);return{top:o,right:o,bottom:o,left:o}}function no(t){if((t.outlineStyle||"none")==="none")return{top:0,right:0,bottom:0,left:0};let e=Math.ceil(parseFloat(t.outlineWidth||"0")||0),n=parseFloat(t.outlineOffset||"0")||0,r=e+Math.max(0,Math.ceil(n));return{top:r,right:r,bottom:r,left:r}}function ro(t){let e=`${t.filter||""} ${t.webkitFilter||""}`.trim();if(!e||e==="none")return{bleed:{top:0,right:0,bottom:0,left:0},has:!1};let n=e.match(/drop-shadow\((?:[^()]|\([^()]*\))*\)/gi)||[],r=0,i=0,o=0,s=0,a=!1;for(let c of n){a=!0;let f=c.match(/-?\d+(?:\.\d+)?px/gi)?.map(h=>parseFloat(h))||[],[l=0,u=0,p=0]=f,m=Math.abs(l)+p,d=Math.abs(u)+p;i=Math.max(i,m+Math.max(l,0)),s=Math.max(s,m+Math.max(-l,0)),o=Math.max(o,d+Math.max(u,0)),r=Math.max(r,d+Math.max(-u,0))}return{bleed:{top:W(r),right:W(i),bottom:W(o),left:W(s)},has:a}}function Yl(t){let e=Zr(t),n=to(t),r=eo(t),i=no(t),o=ro(t);return{top:Math.max(e.top,n.top)+r.top+i.top+o.bleed.top,right:Math.max(e.right,n.right)+r.right+i.right+o.bleed.right,bottom:Math.max(e.bottom,n.bottom)+r.bottom+i.bottom+o.bleed.bottom,left:Math.max(e.left,n.left)+r.left+i.left+o.bleed.left}}function Kl(t){return t.boxShadow&&t.boxShadow!=="none"||t.textShadow&&t.textShadow!=="none"||(t.outlineStyle||"none")!=="none"||t.filter&&t.filter!=="none"?!0:!!t.webkitFilter&&t.webkitFilter!=="none"}function fs(t){let e=t.overflowX||t.overflow||"visible",n=t.overflowY||t.overflow||"visible",r=!!t.contain&&/\b(paint|content|strict)\b/.test(t.contain)||!!t.clipPath&&t.clipPath!=="none";return{x:r||e!=="visible",y:r||n!=="visible"}}function ds(t,e,n,r=1,i=1){let o=0,s=0,a=0,c=0,f=fs(n.get(t)||O(t));if(f.x&&f.y)return{top:0,right:0,bottom:0,left:0};let l=t.getBoundingClientRect();for(let u of e.values()){if(u===t||u.nodeType!==1||u.ownerDocument!==t.ownerDocument)continue;let p=n.get(u);if(!p||!Kl(p))continue;let m=Yl(p);if(!(m.top||m.right||m.bottom||m.left))continue;let d=u.getBoundingClientRect(),h={left:d.left-m.left/r,top:d.top-m.top/i,right:d.right+m.right/r,bottom:d.bottom+m.bottom/i};for(let g=u.parentElement;g;g=g.parentElement){let y=fs(n.get(g)||O(g));if(y.x||y.y){let b=g.getBoundingClientRect();y.x&&(h.left=Math.max(h.left,b.left),h.right=Math.min(h.right,b.right)),y.y&&(h.top=Math.max(h.top,b.top),h.bottom=Math.min(h.bottom,b.bottom))}if(g===t)break}f.x||(c=Math.max(c,(l.left-h.left)*r),s=Math.max(s,(h.right-l.right)*r)),f.y||(o=Math.max(o,(l.top-h.top)*i),a=Math.max(a,(h.bottom-l.bottom)*i))}return{top:Math.max(0,Math.ceil(o)),right:Math.max(0,Math.ceil(s)),bottom:Math.max(0,Math.ceil(a)),left:Math.max(0,Math.ceil(c))}}function ps(t,e){if(!t||!e||!e.style)return null;let n=getComputedStyle(t);try{e.style.transformOrigin="0 0"}catch{}try{"translate"in e.style&&(e.style.translate="none"),"rotate"in e.style&&(e.style.rotate="none")}catch{}let r=n.transform||"none";if(!r||r==="none"){let c=null;try{c=re(t).scale}catch{}try{e.style.transform="none"}catch{}if(!c)return{a:1,b:0,c:0,d:1};let f=zt({scale:c});return{a:f.a,b:f.b,c:f.c,d:f.d}}function i(c,f,l,u){let p=Math.sqrt(c*c+f*f)||0,m=0,d=0;if(p>0){let h=c/p,g=f/p;m=h*l+g*u;let y=l-h*m,b=u-g*m;d=Math.sqrt(y*y+b*b)||0,d>0?m=m/d:m=0}return{a:p,b:0,c:m*d,d}}let o=c=>{let f=re(t).scale;if(!f)return c;let l=zt({scale:f,baseTransform:`matrix(${c.a},${c.b},${c.c},${c.d},0,0)`});return{a:l.a,b:l.b,c:l.c,d:l.d}},s=r.match(/^matrix\(\s*([^)]+)\)$/i);if(s){let c=s[1].split(",").map(f=>parseFloat(f.trim()));if(c.length===6&&c.every(Number.isFinite)){let[f,l,u,p]=c,m=i(f,l,u,p);try{e.style.transform=`matrix(${m.a}, ${m.b}, ${m.c}, ${m.d}, 0, 0)`}catch{}return o(m)}}let a=r.match(/^matrix3d\(\s*([^)]+)\)$/i);if(a){let c=a[1].split(",").map(f=>parseFloat(f.trim()));if(c.length===16&&c.every(Number.isFinite)){let f=c[0],l=c[1],u=c[4],p=c[5],m=i(f,l,u,p);try{e.style.transform=`matrix(${m.a}, ${m.b}, ${m.c}, ${m.d}, 0, 0)`}catch{}return o(m)}}try{let c=new DOMMatrix(r),f=i(c.a,c.b,c.c,c.d);try{e.style.transform=`matrix(${f.a}, ${f.b}, ${f.c}, ${f.d}, 0, 0)`}catch{}return o(f)}catch{return null}}function Re(t,e,n,r,i){let o=n.a,s=n.b,a=n.c,c=n.d,f=n.e||0,l=n.f||0;function u(y,b){let w=y-r,C=b-i,x=o*w+a*C,S=s*w+c*C;return x+=r+f,S+=i+l,[x,S]}let p=[u(0,0),u(t,0),u(0,e),u(t,e)],m=1/0,d=1/0,h=-1/0,g=-1/0;for(let[y,b]of p)y<m&&(m=y),b<d&&(d=b),y>h&&(h=y),b>g&&(g=b);return{minX:m,minY:d,maxX:h,maxY:g,width:h-m,height:g-d}}function tn(t,e,n){let r=(t.transformOrigin||"0 0").trim().split(/\s+/),[i,o]=[r[0]||"0",r[1]||"0"],s=(a,c)=>{let f=a.toLowerCase();return f==="left"||f==="top"?0:f==="center"?c/2:f==="right"||f==="bottom"?c:f.endsWith("px")?parseFloat(f)||0:f.endsWith("%")?(parseFloat(f)||0)*c/100:/^-?\d+(\.\d+)?$/.test(f)&&parseFloat(f)||0};return{ox:s(i,e),oy:s(o,n)}}function re(t){let e={rotate:"0deg",scale:null,translate:null},n=null;try{n=typeof t.computedStyleMap=="function"?t.computedStyleMap():null}catch{}if(n){let i=c=>{try{return typeof n.has=="function"&&!n.has(c)||typeof n.get!="function"?null:n.get(c)}catch{return null}},o=i("rotate");if(o)if(o.angle){let c=o.angle;e.rotate=c.unit==="rad"?c.value*180/Math.PI+"deg":c.value+c.unit,o.is2D===!1&&o.x&&o.y&&o.z&&(e.rotate=`${o.x.value} ${o.y.value} ${o.z.value} ${e.rotate}`)}else o.unit?e.rotate=o.unit==="rad"?o.value*180/Math.PI+"deg":o.value+o.unit:e.rotate=String(o);else{let c=getComputedStyle(t);e.rotate=c.rotate&&c.rotate!=="none"?c.rotate:"0deg"}let s=i("scale");if(s){let c=f=>f&&f.value!=null?`${f.value}${f.unit==="percent"?"%":""}`:null;"x"in s&&s.x?.value!=null?e.scale=[c(s.x),c(s.y)??c(s.x),...s.is2D===!1?[c(s.z)??"1"]:[]].join(" "):Array.isArray(s)?e.scale=s.map(c).join(" "):e.scale=String(s)}else{let c=getComputedStyle(t);e.scale=c.scale&&c.scale!=="none"?c.scale:null}let a=i("translate");if(a){let c=f=>f&&f.value!=null?`${f.value}${f.unit==="percent"?"%":f.unit||"px"}`:null;"x"in a&&a.x?.value!=null?e.translate=[c(a.x),c(a.y)??"0px",...a.is2D===!1?[c(a.z)??"0px"]:[]].join(" "):Array.isArray(a)?e.translate=a.map(c).join(" "):e.translate=String(a)}else{let c=getComputedStyle(t);e.translate=c.translate&&c.translate!=="none"?c.translate:null}return(!e.rotate||e.rotate==="none")&&(e.rotate="0deg"),(!e.scale||e.scale==="none")&&(e.scale=null),(!e.translate||e.translate==="none")&&(e.translate=null),e}let r=getComputedStyle(t);return e.rotate=r.rotate&&r.rotate!=="none"?r.rotate:"0deg",e.scale=r.scale&&r.scale!=="none"?r.scale:null,e.translate=r.translate&&r.translate!=="none"?r.translate:null,e}var Jr=null;function Ql(){if(Jr?.isConnected)return Jr;let t=document.createElement("div");return t.id="snapdom-measure-slot",t.setAttribute("aria-hidden","true"),Q(t),Object.assign(t.style,{position:"absolute",left:"-99999px",top:"0px",width:"0px",height:"0px",overflow:"hidden",opacity:"0",pointerEvents:"none",contain:"size layout style"}),document.documentElement.appendChild(t),Jr=t,t}function zt(t){let e=o=>{let s=[],a=0,c=0,f=String(o).trim();for(let l=0;l<f.length;l++)f[l]==="("?a++:f[l]===")"?a--:/\s/.test(f[l])&&!a&&(l>c&&s.push(f.slice(c,l)),c=l+1);return c<f.length&&s.push(f.slice(c)),s},n=o=>o&&o!=="none",r=[];if(n(t.translate)){let o=e(t.translate);for(let s=0;s<2&&s<o.length;s++){let a=s===0?t.width:t.height;/^[+-]?(?:\d*\.)?\d+%$/.test(o[s])&&Number.isFinite(a)&&(o[s]=`${parseFloat(o[s])*a/100}px`)}r.push(o.length>2?`translate3d(${o.join(",")})`:`translate(${o.join(",")})`)}if(n(t.rotate)&&t.rotate!=="0deg"){let o=e(t.rotate);o.length===4?r.push(`rotate3d(${o.join(",")})`):o.length===2&&/^[xyz]$/i.test(o[0])?r.push(`rotate${o[0].toUpperCase()}(${o[1]})`):r.push(`rotate(${o.join(" ")})`)}if(n(t.scale)){let o=e(t.scale).map(s=>/%$/.test(s)?String(parseFloat(s)/100):s);r.push(o.length>2?`scale3d(${o.join(",")})`:`scale(${o.join(",")})`)}if(n(t.baseTransform)&&r.push(t.baseTransform),!r.length)return new DOMMatrix;let i=r.join(" ");try{if(i.includes("%"))throw new Error("Transform needs a reference box");return new DOMMatrix(i)}catch{let o=Ql(),s=document.createElement("div");if(s.style.cssText="all:initial!important;display:block!important;transform-origin:0 0!important",s.style.setProperty("width",`${Number.isFinite(t.width)?t.width:0}px`,"important"),s.style.setProperty("height",`${Number.isFinite(t.height)?t.height:0}px`,"important"),s.style.setProperty("transform",i,"important"),!s.style.transform)throw new Error("Invalid transform composition");o.appendChild(s);try{return Jl(s)}finally{s.remove()}}}function hs(t){let e=O(t),n=e.transform||"none";if(n!=="none"&&!/^matrix\(\s*1\s*,\s*0\s*,\s*0\s*,\s*1\s*,\s*0\s*,\s*0\s*\)$/i.test(n))return!0;let i=e.rotate&&e.rotate!=="none"&&e.rotate!=="0deg",o=e.scale&&e.scale!=="none"&&e.scale!=="1",s=e.translate&&e.translate!=="none"&&e.translate!=="0px 0px";return!!(i||o||s)}function Jl(t){let e=getComputedStyle(t).transform;if(!e||e==="none")return new DOMMatrix;try{return new DOMMatrix(e)}catch{return new WebKitCSSMatrix(e)}}var bs=new WeakSet;function Ln(t,e){if(!e)return null;let n=t.ownerDocument||document,r=n.defaultView||window,i,o,s,a;if(e==="viewport")i=0,o=0,s=n.documentElement?.clientWidth||r.innerWidth,a=n.documentElement?.clientHeight||r.innerHeight;else if(typeof e=="object")i=(Number(e.x)||0)-(r.scrollX||0),o=(Number(e.y)||0)-(r.scrollY||0),s=Number(e.width),a=Number(e.height);else return null;return s>0&&a>0?{left:i,top:o,width:s,height:a,right:i+s,bottom:o+a}:null}function oo(t){if(t.parentElement)return t.parentElement;let e=t.getRootNode&&t.getRootNode();return ue(e)?e.host:null}function Zl(t,e){for(let n=e;n;n=oo(n))if(n===t)return!0;return!1}function tf(t,e){for(let n=oo(t);n&&n!==e&&n?.nodeType===1;n=oo(n)){let r=O(n);if(r.position!=="static"||r.transform&&r.transform!=="none"||r.filter&&r.filter!=="none"||r.backdropFilter&&r.backdropFilter!=="none"||r.perspective&&r.perspective!=="none"||/transform|perspective|filter/.test(r.willChange||"")||/layout|paint|strict|content/.test(r.contain||""))return n}return null}function so(t,e){try{return zt({baseTransform:t,rotate:e?.rotate,scale:e?.scale})}catch{return null}}function ws(t,e,n,r,i){let o=t.getBoundingClientRect();xt(e)&&O(t).position==="static"&&(e.style.position="relative");let s=[];for(let[a,c]of n){if(!xt(a)||c?.nodeType!==1||c===t||!Zl(t,c))continue;let f=r.get(c)||O(c),l=f.position;if(l!=="fixed"&&l!=="sticky"&&l!=="-webkit-sticky"||a.style.position==="absolute")continue;let u=c.getBoundingClientRect();if(!(u.width>0&&u.height>0))continue;bs.add(a);let p=f.transform&&f.transform!=="none"?f.transform:"",m=re(c),d=!!(p||m.rotate!=="0deg"||m.scale||m.translate),h=d?so(p,m):null,g=!h||!h.is2D||h.a===1&&h.b===0&&h.c===0&&h.d===1,y=u.width,b=u.height;g||(y=c.offsetWidth||u.width,b=c.offsetHeight||u.height);let w=c.getRootNode&&ue(c.getRootNode()),C=o,x=t.clientLeft||0,S=t.clientTop||0;if(w){let R=tf(c,t);R&&(C=R.getBoundingClientRect(),x=R.clientLeft||0,S=R.clientTop||0)}let A=u.left-C.left-x,v=u.top-C.top-S;if(d)if(a.style.translate="none",a.style.rotate="none",a.style.scale="none",g)a.style.transform="none";else{a.style.transform=`matrix(${h.a},${h.b},${h.c},${h.d},0,0)`;let{ox:R,oy:E}=tn(f,y,b),T=Re(y,b,{a:h.a,b:h.b,c:h.c,d:h.d,e:0,f:0},R,E);A-=T.minX,v-=T.minY}if(l!=="fixed"){let R=a.cloneNode(!1);R.setAttribute("data-snap-ph","1"),R.style.position="static",R.style.visibility="hidden",R.style.width=`${y}px`,R.style.height=`${b}px`,R.style.boxSizing="border-box",a.parentElement?.insertBefore(R,a)}let M=y+2,k=b;i&&(Math.abs(v-i.y)<.5&&(v-=1,k+=1),Math.abs(A-i.x)<.5&&(A-=1,M+=1)),a.style.position="absolute",a.style.left=`${A}px`,a.style.top=`${v}px`,a.style.right="auto",a.style.bottom="auto",a.style.margin="0",a.style.width=`${M}px`,a.style.height=`${k}px`,a.style.boxSizing="border-box",w||s.push(a)}for(let a of s)e.appendChild(a)}function Ss(t,e,n={}){if(!t||!e||!e.style)return;let r=getComputedStyle(t);try{e.style.boxShadow="none"}catch(s){U(n,"stripRootShadows boxShadow",s)}try{e.style.textShadow="none"}catch(s){U(n,"stripRootShadows textShadow",s)}try{e.style.outline="none"}catch(s){U(n,"stripRootShadows outline",s)}let o=(r.filter||"").replace(/\bdrop-shadow\((?:[^()]|\([^()]*\))*\)\s*/gi,"").trim().replace(/\s+/g," ");try{e.style.filter=o.length?o:"none"}catch(s){U(n,"stripRootShadows filter",s)}}function xs(t,e){if(!t||!e||!e.style)return;let n=1;try{n=parseFloat(getComputedStyle(t).zoom)}catch{return}if(!(!e.style.getPropertyValue("zoom")&&(!Number.isFinite(n)||n===1)))try{e.style.setProperty("zoom","1","important")}catch{}}function ms(t){let e=t.display||"";if(e.includes("flex")||e.includes("grid")||e.startsWith("table")||e==="inline-block"||e==="flow-root"||t.position==="absolute"||t.position==="fixed"||t.float&&t.float!=="none")return!0;let n=t.overflowX||t.overflow||"visible",r=t.overflowY||t.overflow||"visible";return!!(n!=="visible"||r!=="visible"||t.contain&&/\b(layout|content|paint|strict)\b/.test(t.contain))}function ef(t,e){let n=Array.from(t.childNodes),r=e==="top"?n:n.reverse();for(let i of r){if(i.nodeType===Node.TEXT_NODE){if(/\S/.test(i.textContent||""))return null;continue}if(i.nodeType!==Node.ELEMENT_NODE)continue;let o=getComputedStyle(i),s=String(o.display||"");if(!(s==="none"||s==="contents")&&!(o.position==="absolute"||o.position==="fixed"))return o.float&&o.float!=="none"||s.startsWith("inline")?null:i}return null}function vs(t,e,n){if(!t||!e||!e.style)return;let r=getComputedStyle(t);if(!ms(r))for(let i of["top","bottom"]){let o=i==="top"?"Top":"Bottom";if((parseFloat(r[`border${o}Width`])||0)>0||(parseFloat(r[`padding${o}`])||0)>0)continue;let s=t,a=e;for(;s&&a;){let c=ef(s,i);if(!c)break;let f=n?Array.from(a.children).find(p=>n.get(p)===c)||null:a.children[Array.from(s.children).indexOf(c)]||null,l=getComputedStyle(c),u=parseFloat(l[`margin${o}`])||0;if(f&&f.style&&u>0&&(f.style[`margin${o}`]="0px"),ms(l)||(parseFloat(l[`border${o}Width`])||0)>0||(parseFloat(l[`padding${o}`])||0)>0)break;s=c,a=f}}}var nf=new Set(["xml","xlink"]);function rf(t,e){if(t.startsWith("*")||t.includes("@"))return!0;if(t.includes(":")){let n=t.split(":",1)[0];if(!nf.has(n))return!0}return e?t.startsWith("x-")||t.startsWith("v-")||t.startsWith(":")||t.startsWith("on:")||t.startsWith("bind:")||t.startsWith("let:")||t.startsWith("class:"):!1}var of=/[\uD800-\uDBFF][\uDC00-\uDFFF]|[\x00-\x08\x0B\x0C\x0E-\x1F\uD800-\uDFFF\uFFFE\uFFFF]/g,gs=t=>t.replace(of,e=>e.length===2?e:""),sf=/^data:[^,]{0,120};base64,/;function In(t,e={}){if(!t)return;let{stripFrameworkDirectives:n=!0}=e,r=a=>{for(let c of Array.from(a.attributes)){if(rf(c.name,n)){a.removeAttribute(c.name);continue}if(sf.test(c.value))continue;let f=gs(c.value);if(f!==c.value)try{a.setAttribute(c.name,f)}catch{}}};t.nodeType===Node.ELEMENT_NODE&&r(t);let i=[],o=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT|NodeFilter.SHOW_COMMENT),s;for(;s=o.nextNode();)if(s.nodeType===Node.ELEMENT_NODE)r(s);else if(s.nodeType===Node.COMMENT_NODE)i.push(s);else{let a=gs(s.data);a!==s.data&&(s.data=a)}for(let a of i)a.remove()}function af(t){try{let e=t.getAttribute?.("style")||"";return/\b(height|width|block-size|inline-size)\s*:/.test(e)}catch{return!1}}var cf=new Set(["img","canvas","video","iframe","object","embed"]);function lf(t){return Wt(t)||cf.has(t?.localName)}function ff(t,e){if(t?.nodeType!==1||af(t)||lf(t))return!1;let n=e.position;if(n==="absolute"||n==="fixed"||n==="sticky")return!1;let r=e.display||"";return!(r.includes("flex")||r.includes("grid")||r.startsWith("table")||e.transform&&e.transform!=="none")}function ks(t,e,n=new Map,r=null){function i(o,s){if(o?.nodeType!==1||s?.nodeType!==1)return;let a=o.childElementCount>s.childElementCount,c=n.get(o)||getComputedStyle(o);if(n.has(o)||n.set(o,c),a&&ff(o,c)){s.style.height||(s.style.height="auto"),s.style.width||(s.style.width="auto"),s.style.removeProperty("block-size"),s.style.removeProperty("inline-size"),s.style.minHeight||(s.style.minHeight="0"),s.style.minWidth||(s.style.minWidth="0"),s.style.maxHeight||(s.style.maxHeight="none"),s.style.maxWidth||(s.style.maxWidth="none");let l=c.overflowY||c.overflowBlock||"visible",u=c.overflowX||c.overflowInline||"visible";(l!=="visible"||u!=="visible")&&(s.style.overflow="visible")}let f=Array.from(s.children);if(r)for(let l of f){let u=r.get(l);u&&u.nodeType===1&&i(u,l)}else{let l=Array.from(o.children);for(let u=0;u<Math.min(l.length,f.length);u++)i(l[u],f[u])}}i(t,e)}function uf(t){let e=getComputedStyle(t);return!(e.display==="none"||e.position==="absolute"||e.position==="fixed")}function df(t,e){if(t?.nodeType!==1)return!1;if(t.getAttribute("data-capture")==="exclude")return e?.excludeMode==="remove";if(Array.isArray(e?.exclude))for(let n of e.exclude)try{if(t.matches(n))return e.excludeMode==="remove"}catch(r){U(e,"exclude selector match failed",r)}if(Array.isArray(e?.excludePredicates))for(let n of e.excludePredicates)try{if(n(t))return e.excludeMode==="remove"}catch(r){U(e,"exclude predicate failed",r)}if(typeof e?.filter=="function"&&e.filterMode==="remove")try{if(!e.filter(t))return!0}catch(n){U(e,"filter function failed",n)}return!1}function ao(t,e){let n=getComputedStyle(t),r=t.getBoundingClientRect(),i=1/0,o=-1/0,s=!1,a=Array.from(t.children);for(let m of a){if(df(m,e)||!uf(m))continue;let d=m.getBoundingClientRect(),h=d.top-r.top,g=d.bottom-r.top;g<=h||(h<i&&(i=h),g>o&&(o=g),s=!0)}let c=s?Math.max(0,o-i):0,f=parseFloat(n.borderTopWidth)||0,l=parseFloat(n.borderBottomWidth)||0,u=parseFloat(n.paddingTop)||0,p=parseFloat(n.paddingBottom)||0;return f+l+u+p+c}var W=(t,e=3)=>Number.isFinite(t)?Math.round(t*10**e)/10**e:t,Fe=.75;function Cs(t,e,n,r,i,o){let s=t.ownerDocument||document,a=t.getBoundingClientRect(),c=i>0&&a.width>0?a.width/i:1,f=o>0&&a.height>0?a.height/o:1;if(Math.abs(c-f)>.02)return 0;let l=s.createElement("div");Q(l),l.style.cssText="position:absolute!important;left:-9999px!important;top:0!important;width:"+i+"px!important;overflow:visible!important;visibility:hidden!important;";let u=l.attachShadow({mode:"open"}),p=s.createElement("style");p.textContent=n,u.appendChild(p);let m=e.cloneNode(!0);u.appendChild(m),s.body.appendChild(l);let d=0,h=(g,y,b)=>{let w=O(g),C=w.boxSizing==="border-box",x=(S,A,...v)=>{let M=parseFloat(S);if(!Number.isFinite(M))return A;let k=M+(C?0:v.reduce((R,E)=>R+(parseFloat(E)||0),0));return Math.abs(k-A)<=.51?k:A};return{width:x(w.width,y,w.paddingLeft,w.paddingRight,w.borderLeftWidth,w.borderRightWidth),height:x(w.height,b,w.paddingTop,w.paddingBottom,w.borderTopWidth,w.borderBottomWidth)}};try{let g=m.getBoundingClientRect(),y=m.offsetWidth||i,b=m.offsetHeight||o,w=y>0&&g.width>0?g.width/y:1,C=b>0&&g.height>0?g.height/b:1,x=(S,A,v=!1)=>{let M=S.children,k=A.children,R=Math.min(M.length,k.length);for(let E=0;E<R;E++){let T=M[E],N=k[E],B=r.get(T),H=v||bs.has(T);if(B?.nodeType===1&&xt(T)&&T.style&&B.isConnected){let _=B.getBoundingClientRect();if(_.width>0&&_.height>0){let L=N.getBoundingClientRect(),$=_.width/c,F=_.height/f,j=L.width,I=L.height,V=B.offsetWidth||$,pt=B.offsetHeight||F,Z=N.offsetWidth||j,Ft=N.offsetHeight||I,Tt=Math.abs($-V)>Fe||Math.abs(F-pt)>Fe||Math.abs(j-Z)>Fe||Math.abs(I-Ft)>Fe;if(H){let D=h(N,Z,Ft);$=j>0?$*w*D.width/j:$,F=I>0?F*C*D.height/I:F,j=D.width,I=D.height}else if(Tt){let D=h(B,V,pt),q=h(N,Z,Ft);$=D.width,F=D.height,j=q.width,I=q.height}let St=j-$,at=I-F;(Math.abs(St)>Fe||Math.abs(at)>Fe)&&(T.style.boxSizing="border-box",T.style.width=`${W($)}px`,T.style.height=`${W(F)}px`,d++)}}x(T,N,H)}};x(e,m)}finally{l.remove()}return d}var pf=/::-webkit-scrollbar(-[a-z]+)?\b/i;function io(t,e=new Set){let n="";if(!t)return n;for(let r=0;r<t.length;r++){let i=t[r];try{if(i.type===CSSRule.IMPORT_RULE&&i.styleSheet){n+=io(i.styleSheet.cssRules,e);continue}if(i.type===CSSRule.MEDIA_RULE&&i.cssRules){let o=io(i.cssRules,e);o&&(n+=`@media ${i.conditionText}{${o}}`);continue}if(i.type===CSSRule.STYLE_RULE){let o=i.selectorText||"";if(pf.test(o)){let s=i.cssText;s&&!e.has(s)&&(e.add(s),n+=s)}}}catch{}}return n}var ys=new WeakMap;function hf(t){let e="";for(let n of t.styleSheets){let r=-1;try{r=n.cssRules?n.cssRules.length:-1}catch{}e+=(n.href||"inline")+":"+r+"|"}return e}function mf(t){if(!t||!t.styleSheets)return"";let e=hf(t),n=ys.get(t);if(n&&n.fp===e)return n.css;let r=new Set,i="";for(let o of Array.from(t.styleSheets))try{let s=o.cssRules;s&&(i+=io(s,r))}catch{}return ys.set(t,{fp:e,css:i}),i}function As(t,e){let n=Cr(t.clone).sort(),r=n.join(","),i;P.baseStyle.has(r)?i=P.baseStyle.get(r):(i=Ar(n,Ye(t.element)),P.baseStyle.set(r,i));let o=mf(t.element?.ownerDocument||document);return t.fontsCSS=e,t.baseCSS=i,t.scrollbarCSS=o,{baseCSS:i,scrollbarCSS:o,fontsCSS:e}}vt();var Wn=new Set;async function Ms(t,e={}){Et(),bn(t.ownerDocument||document);let n=e.__session||{styleMap:new Map,styleCache:new WeakMap,nodeMap:new Map},r={styleMap:n.styleMap,styleCache:n.styleCache,nodeMap:n.nodeMap,options:e},i=null,o=null;if(e.clip&&(o=Ln(t,e.clip),o&&(r.clip={rect:o,root:t})),e.captureSelection)try{r.selection=Pi(t)}catch(d){U(r,"prepareSelectionContext failed",d)}let s,a="",c="";if(Wn.size){let d=(h,g)=>{for(let y=g;y;y=y.assignedSlot||y.parentElement||y.getRootNode()?.host)if(y===h)return!0;return!1};for(;;){let h=[...Wn].filter(({root:g})=>d(g,t)||d(t,g)).map(({promise:g})=>g.catch(()=>{}));if(!h.length)break;await Promise.all(h)}}if(!r.clip&&t.isConnected&&t.ownerDocument?.visibilityState!=="hidden")try{let d=t.getBoundingClientRect(),h=t.ownerDocument?.defaultView||window,g=d.right<=0||d.bottom<=0||d.left>=h.innerWidth||d.top>=h.innerHeight,y=[];if(g&&(()=>{let w=[];t.shadowRoot&&w.push(t.shadowRoot);for(let C of t.querySelectorAll("*"))C.shadowRoot&&w.push(C.shadowRoot);for(;w.length;){let C=w.pop(),x=C.host?.localName==="calcite-icon";for(let S of C.querySelectorAll("*")){if(S.shadowRoot&&w.push(S.shadowRoot),!x||S.localName!=="svg")continue;let A=S.querySelectorAll("path");if(!A.length||[...A].some(M=>M.getAttribute("d")?.trim()))continue;let v=S.getBoundingClientRect();v.width&&v.height&&y.push(S)}}})(),y.length){let w=(async()=>{let x=t.style,S=t.hasAttribute("style"),A=new Map,v=(M,k)=>{A.has(M)||A.set(M,{value:x.getPropertyValue(M),priority:x.getPropertyPriority(M)}),x.setProperty(M,k,"important");let R=A.get(M);R.forcedValue=x.getPropertyValue(M),R.forcedPriority=x.getPropertyPriority(M)};try{v("left","0"),v("top","0"),v("right","auto"),v("bottom","auto"),v("margin-top","0"),v("margin-right","0"),v("margin-bottom","0"),v("margin-left","0"),v("transform","none"),v("translate","none"),v("opacity","0"),v("pointer-events","none");let M=t.getBoundingClientRect();if(M.right<=0||M.bottom<=0||M.left>=h.innerWidth||M.top>=h.innerHeight){let E=t.parentElement?.getBoundingClientRect(),T=E&&E.right>0&&E.left<h.innerWidth?Math.max(0,E.left):0,N=E&&E.bottom>0&&E.top<h.innerHeight?Math.max(0,E.top):0;v("position","fixed"),v("left",`${T}px`),v("top",`${N}px`)}await ft(100);let k=Date.now()+1500,R=()=>y.some(E=>{if([...E.querySelectorAll("path")].some(N=>N.getAttribute("d")?.trim()))return!1;let T=E.getBoundingClientRect();return T.width&&T.height&&T.right>0&&T.bottom>0&&T.left<h.innerWidth&&T.top<h.innerHeight});for(;Date.now()<k&&R();)await new Promise(E=>setTimeout(E,25));await ft(100)}finally{for(let[M,k]of A)x.getPropertyValue(M)!==k.forcedValue||x.getPropertyPriority(M)!==k.forcedPriority||(k.value?x.setProperty(M,k.value,k.priority):x.removeProperty(M));!S&&!x.length&&t.removeAttribute("style"),await ft(100)}})(),C={root:t,promise:w};Wn.add(C);try{await w}finally{Wn.delete(C)}}}catch{}let f=ls(t),l=Nn(t,o);if(o){let d=t.getBoundingClientRect(),h=t.offsetWidth||d.width,g=t.offsetHeight||d.height,y=d.width&&Math.abs(h-d.width)>=1?h/d.width:1,b=d.height&&Math.abs(g-d.height)>=1?g/d.height:1;i={x:(o.left-d.left)*y,y:(o.top-d.top)*b,width:o.width*y,height:o.height*b}}try{s=await ne(t,r,e)}catch(d){throw console.warn("deepClone failed:",d),d}finally{l(),f()}try{cs(s,void 0,t)}catch(d){console.warn("inlineExternal defs or symbol failed:",d)}try{await _e(t,s,r,e)}catch(d){console.warn("inlinePseudoElements failed:",d)}await xn(s,r);for(let[d,h]of r.nodeMap.entries())if(h?.tagName==="STYLE"&&d?.tagName==="STYLE"&&!d.hasAttribute("data-sd"))try{let g=h.sheet&&h.sheet.cssRules;g&&/@media/i.test(d.textContent||"")&&(d.textContent=ee(g))}catch{}try{let d=s.querySelectorAll("style[data-sd]");for(let h of d)c+=h.textContent||"",h.remove()}catch(d){U(r,"Failed to extract shadow CSS from style[data-sd]",d)}let u=ze(r.styleMap);a=Array.from(u.entries()).map(([d,h])=>`.${h}{${d}}`).join("");let m=c+"[data-snapdom-has-after]::after,[data-snapdom-has-before]::before{content:none!important;display:none!important}"+(r.__pseudoCSS||"");a=m+a;for(let[d,h]of r.styleMap.entries())co(d,h,u);try{gf(t,s,r.nodeMap)}catch(d){U(r,"top-layer lift failed",d)}if((r.clip||t.scrollTop||t.scrollLeft)&&s?.nodeType===1)try{let d=r.clip&&i?{x:i.x,y:i.y}:{x:0,y:0};ws(t,s,r.nodeMap,r.styleCache,d)}catch(d){U(r,"freezeViewportPositioned failed",d)}for(let[d,h]of r.nodeMap.entries())r.clip&&h===t||lo(d,h);if(t===r.nodeMap.get(s)){let d=r.styleCache.get(t)||O(t);r.styleCache.set(t,d);let h=dr(d.transform);s.style.margin="0",s.style.top="auto",s.style.left="auto",s.style.right="auto",s.style.bottom="auto",s.style.animation="none",s.style.transition="none",s.style.willChange="auto",s.style.float="none",s.style.clear="none",s.style.transform=h||"",s.style.translate="none"}for(let[d,h]of r.nodeMap.entries())h.tagName==="PRE"&&(d.style.marginTop="0",d.style.marginBlockStart="0");return{clone:s,classCSS:a,classPrefixCSS:m,styleCache:r.styleCache,nodeMap:r.nodeMap,reconcileRisk:r.reconcileRisk||0,clipWindow:i}}function gf(t,e,n){let r=[];for(let s of[":modal",":popover-open"])try{r.push(...t.querySelectorAll(s))}catch{}if(!r.length)return;let i=new Map;for(let[s,a]of n.entries())i.set(a,s);let o=214748e4;for(let s of r){let a=i.get(s);if(!(!a||a===e||a.parentNode==null)){try{let c=getComputedStyle(s,"::backdrop"),f=c.backgroundColor,l=c.backgroundImage;if(f&&f!=="rgba(0, 0, 0, 0)"&&f!=="transparent"||l&&l!=="none"){let p=document.createElement("div");p.setAttribute("data-sd-backdrop",""),p.style.cssText=`position:fixed;inset:0;z-index:${o};background-color:${f};`+(l&&l!=="none"&&l.includes("data:")?`background-image:${l};`:""),e.appendChild(p)}}catch{}o+=1,a.style.zIndex=String(o),e.appendChild(a),o+=1}}}function co(t,e,n){if(t.tagName==="STYLE")return;if(t.getRootNode&&ue(t.getRootNode())){t.setAttribute("style",e.replace(/;/g,"; "));return}let r=n.get(e);r&&t.classList.add(r);let i=t.style?.backgroundImage,o=t.dataset?.snapdomHasIcon;i&&i!=="none"&&(t.style.backgroundImage=i),o&&(t.style.verticalAlign="middle",t.style.display="inline")}function lo(t,e){let n=e.scrollLeft,r=e.scrollTop;if(!(n||r)||t?.nodeType!==1||t.namespaceURI!=="http://www.w3.org/1999/xhtml")return;t.style.overflow="hidden",t.style.scrollbarWidth="none",t.style.msOverflowStyle="none";try{let s=t.querySelectorAll("*");for(let a of s){if(a.nodeType!==1||a.namespaceURI!=="http://www.w3.org/1999/xhtml")continue;let c=a.style.position;if(c==="fixed"||c==="absolute"){let f=parseFloat(a.style.top)||0,l=parseFloat(a.style.left)||0;a.style.top=`${f+r}px`,a.style.left=`${l+n}px`,c==="fixed"&&(a.style.position="absolute")}}}catch{}let o=document.createElement("div");for(o.style.all="unset",o.style.transform=`translate(${-n}px, ${-r}px)`,o.style.willChange="transform",o.style.display="inline-block",o.style.width="100%";t.firstChild;)o.appendChild(t.firstChild);t.appendChild(o)}de();Xt();lt();var Es="http://www.w3.org/1999/xlink";function yf(t){return t.getAttribute("href")||t.getAttribute("xlink:href")||(typeof t.getAttributeNS=="function"?t.getAttributeNS(Es,"href"):null)}function bf(t){let e=parseFloat(t.dataset?.snapdomWidth||"")||0,n=parseFloat(t.dataset?.snapdomHeight||"")||0,r=parseInt(t.getAttribute("width")||"",10)||0,i=parseInt(t.getAttribute("height")||"",10)||0,o=parseFloat(t.style?.width||"")||0,s=parseFloat(t.style?.height||"")||0,a=e||o||r||t.width||t.naturalWidth||100,c=n||s||i||t.height||t.naturalHeight||100;return{width:a,height:c}}async function On(t,e={}){let n=Array.from(t.querySelectorAll("img"));t.tagName==="IMG"&&n.unshift(t);let r=async a=>{if(!a.getAttribute("src")){let d=a.currentSrc||a.src||Ce(a.getAttribute("srcset"),a)||"";d&&a.setAttribute("src",d)}if(a.removeAttribute("srcset"),a.removeAttribute("sizes"),(a.getAttribute("src")||"").startsWith("data:")){a.width||(a.width=a.naturalWidth||100),a.height||(a.height=a.naturalHeight||100);return}let c=a.src||"";if(!c)return;let f=P.image?.get(c);if(f){a.src=f,a.width||(a.width=a.naturalWidth||100),a.height||(a.height=a.naturalHeight||100);return}let l=await ot(c,{as:"dataURL",useProxy:e.useProxy});if(l.ok&&typeof l.data=="string"&&l.data.startsWith("data:")){P.image?.set(c,l.data),a.src=l.data,l.blob&&(a.__snapdomBlob=l.blob),a.width||(a.width=a.naturalWidth||100),a.height||(a.height=a.naturalHeight||100);return}let{width:u,height:p}=bf(a),{fallbackURL:m}=e||{};if(m)try{let d=typeof m=="function"?await m({width:u,height:p,src:c,element:a}):m;if(d){let h=await ot(d,{as:"dataURL",useProxy:e.useProxy});if(h?.ok&&typeof h.data=="string"){a.src=h.data,a.width||(a.width=u),a.height||(a.height=p);return}}}catch{}if(e.placeholders!==!1){yt(e.__session,"image-fallback",`image failed to inline, using placeholder: ${c}`);let d=document.createElement("div");d.style.cssText=[`width:${u}px`,`height:${p}px`,"background:#ccc","display:inline-block","text-align:center",`line-height:${p}px`,"color:#666","font-size:12px","overflow:hidden"].join(";"),d.textContent="img",a.replaceWith(d)}else{let d=document.createElement("div");d.style.cssText=`display:inline-block;width:${u}px;height:${p}px;visibility:hidden;`,a.replaceWith(d)}},i=6;for(let a=0;a<n.length;a+=i){let c=n.slice(a,a+i).map(r);await Promise.allSettled(c)}let o=Array.from(t.querySelectorAll("image"));t.localName==="image"&&o.unshift(t);let s=async a=>{let c=yf(a);if(!c||c.startsWith("data:")||c.startsWith("blob:"))return;let f=await ot(c,{as:"dataURL",useProxy:e.useProxy});f.ok&&typeof f.data=="string"&&f.data.startsWith("data:")&&(a.setAttribute("href",f.data),a.removeAttribute("xlink:href"),typeof a.removeAttributeNS=="function"&&a.removeAttributeNS(Es,"href"))};for(let a=0;a<o.length;a+=i){let c=o.slice(a,a+i).map(s);await Promise.allSettled(c)}}vt();ut();var wf=["background-image","mask","mask-image","-webkit-mask","-webkit-mask-image","mask-source","mask-box-image-source","mask-border-source","-webkit-mask-box-image-source","border-image","border-image-source"],Sf=["mask-position","mask-size","mask-repeat","mask-mode","mask-composite","-webkit-mask-position","-webkit-mask-size","-webkit-mask-repeat","-webkit-mask-composite","mask-origin","mask-clip","-webkit-mask-origin","-webkit-mask-clip","-webkit-mask-position-x","-webkit-mask-position-y"],xf=["background-position","background-position-x","background-position-y","background-size","background-repeat","background-origin","background-clip","background-attachment","background-blend-mode"],vf=["border-image-slice","border-image-width","border-image-outset","border-image-repeat"];async function kf(t,e,n,r){let i=n.get(t)||O(t);n.has(t)||n.set(t,i);let o=li(t),s=o?d=>d in o?o[d]:"":d=>i.getPropertyValue(d),a=s("border-image"),c=s("border-image-source"),f=a&&a!=="none"||c&&c!=="none",l=i.getPropertyValue("background-image"),u=s("background-color"),p=l&&l!=="none"||u&&u!=="rgba(0, 0, 0, 0)"&&u!=="transparent"||/url\s*\(|gradient\s*\(/i.test(i.getPropertyValue("background")||""),m=Bt()&&(s("background-clip")||s("-webkit-background-clip")||"").includes("text");if(p&&!m)for(let d of xf){let h=s(d);h&&e.style.setProperty(d,h)}for(let d of wf){if(m&&d==="background-image")continue;let h=i.getPropertyValue(d);if(d==="background-image"&&(!h||h==="none")){let b=i.getPropertyValue("background");b&&/url\s*\(/.test(b)&&(h=Dt(b).filter(w=>/url\s*\(/.test(w)).join(", ")||h)}if(!h||h==="none")continue;let g=Dt(h),y=await Promise.all(g.map(b=>pe(b,r)));y.some(b=>b&&b!=="none"&&!/^url\(undefined/.test(b))&&e.style.setProperty(d,y.join(", "))}for(let d of Sf){let h=s(d);!h||h==="initial"||e.style.setProperty(d,h)}if(f)for(let d of vf){let h=s(d);!h||h==="initial"||e.style.setProperty(d,h)}if(p&&/fixed/.test(s("background-attachment")||""))try{await Af(t,e,i)}catch{}}function Cf(t,e,n,r,i){let o=(t||"auto").trim();if(o==="cover"||o==="contain"){if(!e||!n)return{w:r,h:i};let p=o==="cover"?Math.max(r/e,i/n):Math.min(r/e,i/n);return{w:e*p,h:n*p}}let s=o.split(/\s+/),a=(p,m)=>{if(p==="auto"||p===void 0)return null;if(p.endsWith("px"))return parseFloat(p);if(p.endsWith("%"))return m*parseFloat(p)/100},c=a(s[0],r),f=a(s[1],i);if(c===void 0||f===void 0)return null;let l=c,u=f;return l==null&&u==null?(l=e||r,u=n||i):l==null?l=e&&n?u*(e/n):r:u==null&&(u=e&&n?l*(n/e):i),!l||!u?null:{w:l,h:u}}async function Af(t,e,n){let r=(n.getPropertyValue("background-attachment")||"").split(",").map(d=>d.trim()),i=je();if(!i)for(let d=t.parentElement;d&&!i;d=d.parentElement){let h=O(d);(h.transform&&h.transform!=="none"||h.filter&&h.filter!=="none")&&(i=!0)}if(i){e.style.setProperty("background-attachment",r.map(()=>"scroll").join(", "));return}let o=t.getBoundingClientRect(),s=t.ownerDocument?.defaultView||window,a=s.innerWidth,c=s.innerHeight,f=Dt(e.style.backgroundImage||n.getPropertyValue("background-image")||""),l=(e.style.backgroundSize||n.getPropertyValue("background-size")||"auto").split(",").map(d=>d.trim()),u=(e.style.backgroundPosition||n.getPropertyValue("background-position")||"0% 0%").split(",").map(d=>d.trim()),p=[],m=[];for(let d=0;d<f.length;d++){let h=r[d%r.length]||"scroll",g=l[d%l.length],y=u[d%u.length];if(h!=="fixed"){p.push(g),m.push(y);continue}let b=0,w=0,C=f[d]&&f[d].match(/url\(["']?([^"')]+)["']?\)/);if(C)try{let k=new Image;k.src=C[1],await k.decode(),b=k.naturalWidth,w=k.naturalHeight}catch{p.push(g),m.push(y);continue}let x=Cf(g,b,w,a,c);if(!x){p.push(g),m.push(y);continue}let S=y.split(/\s+/),A=(k,R,E)=>{if(!k)return 0;if(k.endsWith("px"))return parseFloat(k);if(k.endsWith("%"))return(R-E)*parseFloat(k)/100},v=A(S[0]||"0%",a,x.w),M=A(S[1]||S[0]||"0%",c,x.h);if(v===void 0||M===void 0){p.push(g),m.push(y);continue}p.push(`${Dn(x.w)}px ${Dn(x.h)}px`),m.push(`${Dn(v-o.left)}px ${Dn(M-o.top)}px`)}e.style.setProperty("background-size",p.join(", ")),e.style.setProperty("background-position",m.join(", ")),e.style.setProperty("background-attachment",r.map(()=>"scroll").join(", "))}var Dn=t=>Math.round(t*100)/100;async function Bn(t,e,n,r={},i=new Map){if(!e)return;let o=[];t&&Ir(t)&&o.push([t,e]);let s=[e];for(;s.length;){let c=s.pop();if(c.children)for(let f of c.children){if(f.tagName==="STYLE")continue;let l=i.get(f);l&&Ir(l)&&o.push([l,f]),s.push(f)}}let a=6;for(let c=0;c<o.length;c+=a)await Promise.allSettled(o.slice(c,c+a).map(([f,l])=>kf(f,l,n,r)))}ut();function Rs(t,e,n=new Map){let r=[],i=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT);for(let a=i.currentNode;a;a=i.nextNode()){let c=n.get(a);if(c?.nodeType!==1)continue;let f=O(c),l=f.getPropertyValue("backdrop-filter")||f.getPropertyValue("-webkit-backdrop-filter");l&&l!=="none"&&a!==e&&r.push({cloneEl:a,orig:c,bf:l,path:Rf(e,a)})}if(!r.length)return;let o=t.getBoundingClientRect(),s=r.map((a,c)=>{let f=e.cloneNode(!0);_f(f,e,a.orig.getBoundingClientRect(),n),Ff(_s(f,a.path));for(let l=0;l<c;l++){let u=_s(f,r[l].path);u&&(u.style.setProperty("backdrop-filter","none","important"),u.style.setProperty("-webkit-backdrop-filter","none","important"))}return{...a,copy:f}});for(let{cloneEl:a,orig:c,bf:f,copy:l}of s)Mf.has(a.tagName)||Ef(a,c,f,l,o)}var Mf=new Set(["IMG","INPUT","TEXTAREA","SELECT","CANVAS","VIDEO","AUDIO","IFRAME","EMBED","OBJECT","PROGRESS","METER","HR","BR"]);function Ef(t,e,n,r,i){let o=e.getBoundingClientRect();if(!o.width||!o.height)return;let s=O(e),a=e.offsetWidth?o.width/e.offsetWidth:1,c=Math.abs(a-1)>.001?1/a:1;r.style.position="absolute",r.style.left=`${(i.left-o.left)*c}px`,r.style.top=`${(i.top-o.top)*c}px`,r.style.width=`${i.width}px`,r.style.height=`${i.height}px`,r.style.margin="0",r.style.filter=n,c!==1&&(r.style.transform=`scale(${c})`,r.style.transformOrigin="top left");let f=document.createElement("div");f.style.cssText="position:absolute;inset:0;overflow:hidden;border-radius:inherit;z-index:-2",f.appendChild(r);let l=document.createElement("div");l.style.cssText="position:absolute;inset:0;border-radius:inherit;z-index:-1",l.style.backgroundColor=s.backgroundColor,l.style.backgroundImage=t.style.backgroundImage||s.backgroundImage;for(let u of["background-size","background-position","background-repeat","background-origin","background-clip"])l.style.setProperty(u,s.getPropertyValue(u));t.style.setProperty("background-color","transparent","important"),t.style.setProperty("background-image","none","important"),t.style.setProperty("backdrop-filter","none","important"),t.style.setProperty("-webkit-backdrop-filter","none","important"),s.position==="static"&&(t.style.position="relative"),t.style.isolation="isolate",t.prepend(l),t.prepend(f)}var Un=128;function _f(t,e,n,r){let i=[[t,e]];for(;i.length;){let[o,s]=i.pop(),a=r.get(s);if(a?.nodeType===1){let l=a.getBoundingClientRect();(l.left>n.right+Un||l.right<n.left-Un||l.top>n.bottom+Un||l.bottom<n.top-Un)&&(o.tagName==="IMG"&&o.setAttribute("src","data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA="),o.style&&(o.style.backgroundImage="none"))}let c=o.children,f=s.children;for(let l=0;l<c.length;l++)i.push([c[l],f[l]])}}function Rf(t,e){let n=[];for(let r=e;r!==t;r=r.parentElement){if(!r?.parentElement)return null;n.push([...r.parentElement.children].indexOf(r))}return n.reverse()}function _s(t,e){if(!e)return null;let n=t;for(let r of e)if(n=n.children[r],!n)return null;return n}function Ff(t){if(t)for(let e=t;e&&e.parentNode;){let n=e.parentNode;for(;e.nextSibling;)e.nextSibling.remove();e===t&&e.remove(),e=n}}ut();lt();lt();function Fs(t){return Do(t),{styleMap:new Map,styleCache:new WeakMap,nodeMap:new Map,warnings:[]}}Xt();function zn(t,e){if(!t)return()=>{};let n=[],r=200;function i(o){if(e){let f=o.getBoundingClientRect();if(f.width>0||f.height>0){let l=Math.max(f.right,f.left+(o.scrollWidth||0)),u=Math.max(f.bottom,f.top+(o.scrollHeight||0));if(l<e.left-r||f.left>e.right+r||u<e.top-r||f.top>e.bottom+r)return}}let s=getComputedStyle(o),a=Tf(o,s);a&&n.push(a);let c=$f(o,s);c&&n.push(c);for(let f of o.children||[])i(f)}return i(t),()=>n.forEach(o=>o())}function Tf(t,e){if(!t)return()=>{};e=e||getComputedStyle(t);let n=Pf(e);if(n<=0)return()=>{};if(!Ps(t))return()=>{};let r=$s(t),i=r.text,o=Lf(e);r.write("X");let s=t.scrollHeight-o;r.restore();let a=s>0?s:Nf(e),c=Math.round(a*n+o);if(t.scrollHeight<=c+.5)return()=>{};let f=0,l=i.length,u=-1;for(;f<=l;){let m=f+l>>1;r.write(i.slice(0,Hn(i,m))+"\u2026"),t.scrollHeight<=c+.5?(u=m,f=m+1):l=m-1}let p=(u>=0?i.slice(0,Hn(i,u)):"")+"\u2026";return r.write(p),Ts(t,p,r)}function $f(t,e){if(!t)return()=>{};if(e=e||getComputedStyle(t),e.textOverflow!=="ellipsis")return()=>{};if(e.whiteSpace!=="nowrap"&&e.whiteSpace!=="pre")return()=>{};if(e.overflowX!=="hidden"&&e.overflowX!=="clip")return()=>{};if(!Ps(t))return()=>{};if(t.scrollWidth<=t.clientWidth+.5)return()=>{};let n=$s(t),r=n.text,i=0,o=r.length,s=-1;for(;i<=o;){let c=i+o>>1;n.write(r.slice(0,Hn(r,c))+"\u2026"),t.scrollWidth<=t.clientWidth+.5?(s=c,i=c+1):o=c-1}let a=(s>=0?r.slice(0,Hn(r,s)):"")+"\u2026";return n.write(a),Ts(t,a,n)}function Ts(t,e,n){return()=>{t.textContent===e&&n.restore()}}function $s(t){let e=[];for(let r=t.firstChild;r;r=r.nextSibling)r.nodeType===Node.TEXT_NODE&&e.push(r);let n=e.map(r=>r.data);return{text:n.join(""),write(r){e[0].data=r;for(let i=1;i<e.length;i++)e[i].data=""},restore(){for(let r=0;r<e.length;r++)e[r].data=n[r]}}}function Hn(t,e){if(e<=0||e>=t.length)return e;let n=t.charCodeAt(e-1);return n>=55296&&n<=56319?e-1:e}function Pf(t){let e=t.getPropertyValue("-webkit-line-clamp")||t.getPropertyValue("line-clamp");e=(e||"").trim();let n=parseInt(e,10);return Number.isFinite(n)&&n>0?n:0}function Nf(t){let e=(t.lineHeight||"").trim(),n=parseFloat(t.fontSize)||16;return!e||e==="normal"?Math.round(n*1.2):e.endsWith("px")?parseFloat(e):/^\d+(\.\d+)?$/.test(e)?Math.round(parseFloat(e)*n):e.endsWith("%")?Math.round(parseFloat(e)/100*n):Math.round(n*1.2)}function Lf(t){return(parseFloat(t.paddingTop)||0)+(parseFloat(t.paddingBottom)||0)}function Ps(t){return t.childElementCount>0?!1:Array.from(t.childNodes).some(e=>e.nodeType===Node.TEXT_NODE)}var Ns=["clone","render"],jn={clone:0,render:1},wt="render";function Ls(t){let e=Array.isArray(t&&t.plugins)?t.plugins:[];if(!e.length)return{stage:wt,loweredBy:[]};let n=-1,r=[];for(let o of e){if(!o||typeof o!="object")continue;let s=o.needs===void 0?wt:o.needs;if(!Object.prototype.hasOwnProperty.call(jn,s))throw new Error(`[snapdom] plugin '${o.name||"(unnamed)"}' declares needs: ${JSON.stringify(s)}, expected one of ${Ns.join(", ")}`);r.push({name:o.name||"(unnamed)",needs:s}),n=Math.max(n,jn[s])}if(n<0)return{stage:wt,loweredBy:[]};let i=Ns[n];return{loweredBy:i===wt?[]:r.filter(o=>o.needs===i).map(o=>o.name),stage:i}}function Te(t,e){return jn[t]>=jn[e]}function Is(t,e,n){let r=e.length?e.map(i=>`'${i}'`).join(", "):"the attached plugins";return new Error(`[snapdom] no ${n}: this capture stopped at '${t}' because ${r} declared needs: '${t}' (result.needs says so too). It is not re-captured on demand \u2014 that would be a different instant. Ask the plugin for needs: 'render', or capture without it.`)}var en=[];function nn(t){if(!t)return null;if(Array.isArray(t)){let[e,n]=t;return typeof e=="function"?e(n):e}if(typeof t=="object"&&"plugin"in t){let{plugin:e,options:n}=t;return typeof e=="function"?e(n):e}return typeof t=="function"?t():t}function Ws(...t){let e=t.flat();for(let n of e){let r=nn(n);if(r){if(r.needs!==void 0&&r.needs!==wt)throw new Error(`[snapdom] global plugin '${r.name||"(unnamed)"}' declares needs: ${JSON.stringify(r.needs)}. A global plugin must run to '${wt}': lowering it here would stop EVERY capture in the app short of pixels. Pass it per capture instead: snapdom(el, { plugins: [<plugin>] }).`);en.some(i=>i&&i.name&&r.name&&i.name===r.name)||en.push(r)}}}function Os(t){return t&&Array.isArray(t.plugins)?t.plugins:en}async function Pt(t,e,n){let r=n,i=Os(e);for(let o of i){let s=o&&typeof o[t]=="function"?o[t]:null;if(!s)continue;let a=await s(e,r);typeof a<"u"&&(r=a)}return r}async function Vn(t,e,n){let r=[],i=Os(e);for(let o of i){let s=o&&typeof o[t]=="function"?o[t]:null;if(!s)continue;let a=await s(e,n);typeof a<"u"&&r.push(a)}return r}var If=0;function Wf(t){let e=[];if(Array.isArray(t))for(let n of t){let r=nn(n);if(!r)continue;r.name||(r.name=`anonymous-${++If}`);let i=e.findIndex(o=>o&&o.name===r.name);i>=0&&e.splice(i,1),e.push(r)}for(let n of en)n&&n.name&&!e.some(r=>r.name===n.name)&&e.push(n);return Object.freeze(e)}function Ds(t,e,n=!1){return!t||t.plugins&&!n||(t.plugins=Wf(e)),t}function Bs(){return en.slice()}var Of=["resolveNode","beforeSnap","beforeClone","afterClone","beforeRender","afterRender"];function qn(t){let e=Array.isArray(t&&t.plugins)?t.plugins:[];for(let n of e){let r=nn(n);if(!(!r||r.pure===!0)){for(let i of Of)if(typeof r[i]=="function")return!0}}return!1}lt();ye();var ie="data-snapdom-asset",js="http://www.w3.org/1999/xlink",Df=0;function Xn(t,e,n,r,i,o){let s=o.__compressedAssets||(o.__compressedAssets=new WeakMap),a=s.get(t);a||(a={token:String(++Df),properties:[]},s.set(t,a),t.setAttribute(ie,a.token));let c=a.properties.find(f=>f.kind===e&&f.name===n);c?(c.compressed!==r&&(c.original=r),c.compressed=i):a.properties.push({kind:e,name:n,original:r,compressed:i})}var Vs=(t,e)=>e.kind==="style"?t.style?.getPropertyValue(e.name):t.getAttribute(e.name);function Yn(t,e){let n=new Map;if(!t||!e)return n;let r=[t,...t.querySelectorAll(`[${ie}]`)];for(let i of r){let o=e.get(i);if(!o||i.getAttribute(ie)!==o.token)continue;let s=o.properties.filter(a=>Vs(i,a)===a.compressed).map(a=>Object.freeze({...a}));s.length&&n.set(o.token,Object.freeze(s))}return n}function Kn(t,e){if(!t||!e)return;let n=0;for(let r of[t,...t.querySelectorAll(`[${ie}]`)]){let i=e.get(r);i&&(i.token=String(++n),r.setAttribute(ie,i.token))}}function qs(t,e){if(!e?.size||typeof t!="string"||!t.startsWith("data:image/svg+xml"))return t;let n=t.indexOf(","),r=new DOMParser().parseFromString(decodeURIComponent(t.slice(n+1)),"image/svg+xml");if(r.querySelector("parsererror"))return t;let i=!1;for(let o of r.querySelectorAll(`[${ie}]`))for(let s of e.get(o.getAttribute(ie))||[])Vs(o,s)===s.compressed&&(s.kind==="style"?o.style.setProperty(s.name,s.original,o.style.getPropertyPriority(s.name)):s.name==="xlink:href"?o.setAttributeNS(js,s.name,s.original):o.setAttribute(s.name,s.original),i=!0);return i?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(new XMLSerializer().serializeToString(r))}`:t}function Us(t){if(t.is2D===!1)return 1/0;let e=t.a*t.a+t.b*t.b+t.c*t.c+t.d*t.d,n=t.a*t.d-t.b*t.c;return Math.sqrt((e+Math.sqrt(Math.max(0,e*e-4*n*n)))/2)}function fo(t,e){let n=e.element||t,r=n.isConnected?O(n):n.style,i=e.__compressionClip,o=(m,d)=>{try{return m[d]?.baseVal?.value||0}catch{return 0}},s=i?.width||n.offsetWidth||parseFloat(r?.width)||o(n,"width"),a=i?.height||n.offsetHeight||parseFloat(r?.height)||o(n,"height"),c=Number.isFinite(e.width),f=Number.isFinite(e.height);if(!i&&(c||f)&&s&&a)try{let m=e.outerTransforms===!1&&e.__compressionRootTransform?e.__compressionRootTransform:zt({baseTransform:r?.transform,rotate:r?.rotate,scale:r?.scale,width:s,height:a});if(m.is2D===!1)s=0,a=0;else{let d=Math.abs(m.a)*s+Math.abs(m.c)*a,h=Math.abs(m.b)*s+Math.abs(m.d)*a;s=Math.min(s,d),a=Math.min(a,h)}}catch{s=0,a=0}let l=(c||f?Math.max(c?s?e.width/s:1/0:0,f?a?e.height/a:1/0:0):e.scale||1)*(e.dpr||1);e.__compressionDensity=l;let u=new WeakMap,p=m=>{if(!m||m.nodeType!==1)return 1;if(u.has(m))return u.get(m);let d=m.isConnected?O(m):m.style,h=1;try{d?.perspective&&d.perspective!=="none"&&(h=1/0);let g=d?.transform;if(g&&g!=="none")h*=Us(new DOMMatrix(g));else if(m.transform?.baseVal?.numberOfItems){let y=new DOMMatrix;for(let b=0;b<m.transform.baseVal.numberOfItems;b++){let w=m.transform.baseVal.getItem(b).matrix;y=y.multiply(new DOMMatrix([w.a,w.b,w.c,w.d,w.e,w.f]))}h*=Us(y)}if(d?.scale&&d.scale!=="none"){let y=d.scale.trim().split(/\s+/).map(b=>parseFloat(b)/(b.endsWith("%")?100:1));h*=Math.max(...y.map(Math.abs))}if(m!==n&&d?.zoom&&d.zoom!=="normal"&&(h*=parseFloat(d.zoom)||1),m.localName==="svg"&&m.viewBox?.baseVal?.width>0&&m.viewBox.baseVal.height>0){let y=m.viewBox.baseVal,b=x=>/^\d+(?:\.\d+)?px$/.test(d?.[x]||"")?parseFloat(d[x]):o(m,x),w=b("width"),C=b("height");h*=w>0&&C>0?Math.max(w/y.width,C/y.height):1/0}}catch{h=1/0}return Number.isFinite(h)||(h=1/0),m!==n&&(h*=p(m.parentElement||m.getRootNode?.().host)),u.set(m,h),h};return{density:l,stretch:p}}var Gs=.92,Xs=1;async function Bf(t){let e=new Image;return e.decoding="sync",e.src=t,typeof e.decode=="function"?(await e.decode(),e):(await new Promise((n,r)=>{e.onload=()=>n(),e.onerror=r}),e)}function Uf(t){let e=/^data:([^;,]+)/.exec(t);return e?e[1]:""}var Hf=64*1024,Hs=32*1024*1024,Gn=new Map;function zf(t,e,n,r){if(n.length+(r?.length||0)>Hs)return;t.set(e,{source:n,result:r});let i=0;for(let o of t.values())i+=o.source.length+(o.result?.length||0);for(;i>Hs;){let o=t.keys().next().value,s=t.get(o);i-=s.source.length+(s.result?.length||0),t.delete(o)}}function jf(t,e){let n=t.indexOf(",");if(n<0||!/;base64/i.test(t.slice(0,n)))return null;let r=Math.ceil(e/3)*4,i=t.length-n-1,o=Math.min(i,r);try{let s=atob(t.slice(n+1,n+1+o-o%4)),a=new Uint8Array(s.length);for(let c=0;c<s.length;c++)a[c]=s.charCodeAt(c);return a}catch{return null}}function Vf(t){let e=jf(t,4096);if(!e||e.length<16)return null;let n=r=>e[r]<<8|e[r+1];if(e[0]===137&&e[1]===80&&e.length>=24)return{w:(e[16]<<24|e[17]<<16|e[18]<<8|e[19])>>>0,h:(e[20]<<24|e[21]<<16|e[22]<<8|e[23])>>>0};if(e[0]===71&&e[1]===73&&e[2]===70)return{w:e[6]|e[7]<<8,h:e[8]|e[9]<<8};if(e[0]===82&&e[1]===73&&e[8]===87&&e.length>=30){let r=e[15];if(r===32&&e[23]===157)return{w:(e[26]|e[27]<<8)&16383,h:(e[28]|e[29]<<8)&16383};if(r===76)return{w:(e[21]|(e[22]&63)<<8)+1,h:((e[22]>>6|e[23]<<2|(e[24]&15)<<10)&16383)+1};if(r===88)return{w:(e[24]|e[25]<<8|e[26]<<16)+1,h:(e[27]|e[28]<<8|e[29]<<16)+1}}if(e[0]===255&&e[1]===216){let r=2;for(;r+9<e.length;){if(e[r]!==255){r++;continue}let i=e[r+1];if(i===216||i===1||i>=208&&i<=215){r+=2;continue}if(i>=192&&i<=207&&i!==196&&i!==200&&i!==204)return{h:n(r+5),w:n(r+7)};let o=n(r+2);if(o<2)break;r+=2+o}}return null}function zs(t,e,n,r){let i=Math.min(1,Math.max(n/t,r/e));return!(i>0)||i>=.95?0:i}var qf=`self.onmessage = async (e) => {
|
|
16
|
+
const { id, dataURL, blob: given, srcLength, targetW, targetH, resFactor, quality, mime } = e.data
|
|
17
|
+
try {
|
|
18
|
+
const blob = given || await (await fetch(dataURL)).blob()
|
|
19
|
+
const bmp = await createImageBitmap(blob)
|
|
20
|
+
const nw = bmp.width, nh = bmp.height
|
|
21
|
+
if (!nw || !nh) { bmp.close(); self.postMessage({ id, url: null }); return }
|
|
22
|
+
const raw = Math.min(1, Math.max(targetW / nw, targetH / nh))
|
|
23
|
+
if (!(raw > 0) || raw >= 0.95) { bmp.close(); self.postMessage({ id, url: null }); return }
|
|
24
|
+
const factor = raw * resFactor
|
|
25
|
+
const ow = Math.max(1, Math.round(nw * factor))
|
|
26
|
+
const oh = Math.max(1, Math.round(nh * factor))
|
|
27
|
+
const canvas = new OffscreenCanvas(ow, oh)
|
|
28
|
+
const ctx = canvas.getContext('2d')
|
|
29
|
+
ctx.imageSmoothingEnabled = true
|
|
30
|
+
ctx.imageSmoothingQuality = 'high'
|
|
31
|
+
ctx.drawImage(bmp, 0, 0, ow, oh)
|
|
32
|
+
bmp.close()
|
|
33
|
+
const out = await canvas.convertToBlob({ type: mime, quality })
|
|
34
|
+
const url = new FileReaderSync().readAsDataURL(out)
|
|
35
|
+
self.postMessage({ id, url: (url && url.length < srcLength) ? url : null })
|
|
36
|
+
} catch (err) {
|
|
37
|
+
self.postMessage({ id, error: String(err) })
|
|
38
|
+
}
|
|
39
|
+
}`,Gf=Math.max(1,Math.min(4,(typeof navigator<"u"&&navigator.hardwareConcurrency||2)-1)),_t=null,Xf=0,Yf=0,oe=new Map;function Ys(){for(let t of oe.values())t(void 0);if(oe.clear(),Array.isArray(_t))for(let t of _t)try{t?.terminate()}catch{}_t=!1}function Kf(){let t,e=null;try{t=URL.createObjectURL(new Blob([qf],{type:"text/javascript"})),e=new Worker(t),e.onmessage=n=>{let r=oe.get(n.data.id);r&&(oe.delete(n.data.id),r(n.data.error?void 0:n.data.url??null))},e.onerror=Ys}catch{e=null}return t&&URL.revokeObjectURL(t),e}function Qf(){if(_t===!1)return!1;if(_t===null){if(typeof Worker>"u"||typeof OffscreenCanvas>"u")return _t=!1;_t=[]}let t=Xf++%Gf;if(!_t[t]){let e=Kf();if(!e)return Ys(),!1;_t[t]=e}return _t[t]}var Jf=5e3;function Zf(t,e,n,r,i){let o=Qf();return o?new Promise(s=>{let a=++Yf,c=setTimeout(()=>{oe.delete(a),s(void 0)},Jf);oe.set(a,f=>{clearTimeout(c),s(f)});try{o.postMessage({id:a,dataURL:i?"":t,blob:i,srcLength:t.length,targetW:e,targetH:n,resFactor:Xs,quality:Gs,mime:r})}catch{clearTimeout(c),oe.delete(a),s(void 0)}}):Promise.resolve(void 0)}async function uo(t,e,n,r){if(typeof t!="string"||!t.startsWith("data:image")||t.startsWith("data:image/svg"))return null;e=Math.ceil(e),n=Math.ceil(n);let i=t.length+":"+t.slice(0,64)+t.slice(-64)+":"+e+"x"+n,o=P.compress,s=o.get(i);if(s?.source===t)return s.result;let a=Gn.get(i);if(a?.source===t&&a.cache===o)return a.promise;let c=(async()=>{let l=Uf(t),u=l==="image/jpeg"?"image/jpeg":l==="image/webp"?"image/webp":"image/png",p=Vf(t);if(p&&p.w>0&&p.h>0&&!zs(p.w,p.h,e,n))return null;if(t.length>=Hf){let S=await Zf(t,e,n,u,r);if(S!==void 0)return S}let m;try{m=await Bf(t)}catch{return null}let d=m.naturalWidth||m.width,h=m.naturalHeight||m.height;if(!d||!h)return null;let g=zs(d,h,e,n);if(!g)return null;let y=g*Xs,b=Math.max(1,Math.round(d*y)),w=Math.max(1,Math.round(h*y)),C=document.createElement("canvas");C.width=b,C.height=w;let x=C.getContext("2d");if(!x)return null;x.imageSmoothingEnabled=!0,x.imageSmoothingQuality="high",x.drawImage(m,0,0,b,w);try{let S=C.toDataURL(u,Gs);if(typeof S=="string"&&S.startsWith("data:image")&&S.length<t.length)return S}catch{}return null})(),f={source:t,promise:c,cache:o};Gn.set(i,f);try{let l=await c;return zf(o,i,t,l),l}finally{Gn.get(i)===f&&Gn.delete(i)}}async function tu(t,e,n=new Map,r={}){if(!e.compress)return{count:0,before:0,after:0};let i=Array.from(t.querySelectorAll("img"));t.tagName==="IMG"&&i.unshift(t);let o=0,s=0,a=0,c=async l=>{let u=l.getAttribute("src")||"";if(!u.startsWith("data:image")||u.startsWith("data:image/svg"))return;let p=parseFloat(l.dataset.snapdomWidth)||parseFloat(l.style.width)||l.width||0,m=parseFloat(l.dataset.snapdomHeight)||parseFloat(l.style.height)||l.height||0;if(!p||!m)return;let d=r.value||(r.value=fo(t,e)),h=d.density*d.stretch(n.get(l)||l),g=await uo(u,p*h,m*h,l.__snapdomBlob);g&&(o++,s+=u.length,a+=g.length,l.setAttribute("src",g),Xn(l,"attribute","src",u,g,e))},f=6;for(let l=0;l<i.length;l+=f)await Promise.allSettled(i.slice(l,l+f).map(c));return{count:o,before:s,after:a}}var eu=/^(cover|contain|(\d+(\.\d+)?%(\s+\d+(\.\d+)?%)?))$/;function nu(t){let e=t.offsetWidth||t.getBoundingClientRect().width||0,n=t.offsetHeight||t.getBoundingClientRect().height||0;return{w:e,h:n}}async function ru(t,e,n=new Map,r={}){if(!e.compress)return{count:0};let i=[],o=[t,...t.querySelectorAll("*")];for(let f of o){let l=f.style&&f.style.backgroundImage;l&&l.includes("data:image")&&i.push(f)}let s=0,a=async f=>{let l=n.get(f);if(!l||!l.isConnected)return;let u;try{u=getComputedStyle(l)}catch{return}if((u.backgroundRepeat||"repeat").toLowerCase().split(",").some(v=>v.trim()!=="no-repeat"))return;let m=(f.style.backgroundSize||u.backgroundSize||"auto").toLowerCase();if(m.split(",").some(v=>!eu.test(v.trim())))return;let{w:d,h}=nu(l);if(!d||!h)return;let g=Math.max(1,...(m.match(/\d+(?:\.\d+)?%/g)||[]).map(v=>parseFloat(v)/100)),y=r.value||(r.value=fo(t,e)),b=y.density*y.stretch(l)*g,w=d*b,C=h*b,x=f.style.backgroundImage,S=[...x.matchAll(/url\((['"]?)(data:image\/[^)'"]+)\1\)/gi)],A=x;for(let v of S){let M=v[2];if(M.startsWith("data:image/svg"))continue;let k=await uo(M,w,C);k&&(A=A.split(M).join(k),s++)}A!==x&&(f.style.setProperty("background-image",A,f.style.getPropertyPriority("background-image")),Xn(f,"style","background-image",x,f.style.backgroundImage,e))},c=6;for(let f=0;f<i.length;f+=c)await Promise.allSettled(i.slice(f,f+c).map(a));return{count:s}}async function ou(t,e,n=new Map,r={}){if(!e.compress)return{count:0};let i=Array.from(t.querySelectorAll("image"));t.localName==="image"&&i.unshift(t);let o=0,s=async c=>{let f=c.getAttribute("href")||(typeof c.getAttributeNS=="function"?c.getAttributeNS("http://www.w3.org/1999/xlink","href"):null);if(!f||!f.startsWith("data:image")||f.startsWith("data:image/svg"))return;let l=c.getAttribute("width")||"",u=c.getAttribute("height")||"";if(l.includes("%")||u.includes("%"))return;let p=n.get(c),m=p?O(p):c.style,d=(C,x)=>{if(/^\d+(?:\.\d+)?px$/.test(m?.[C]||""))return parseFloat(m[C]);if(/^\d+(?:\.\d+)?(?:px)?$/.test(x.trim()))return parseFloat(x);try{return p?.[C]?.baseVal?.value||0}catch{return 0}},h=d("width",l),g=d("height",u);if(!h||!g)return;let y=r.value||(r.value=fo(t,e)),b=y.density*y.stretch(p||c),w=await uo(f,h*b,g*b);w&&(c.setAttribute("href",w),Xn(c,"attribute","href",f,w,e),c.hasAttribute("xlink:href")&&(c.setAttributeNS(js,"xlink:href",w),Xn(c,"attribute","xlink:href",f,w,e)),o++)},a=6;for(let c=0;c<i.length;c+=a)await Promise.allSettled(i.slice(c,c+a).map(s));return{count:o}}async function Qn(t,e,n){if(!e.compress)return;let r={};await tu(t,e,n,r),await ru(t,e,n,r),await ou(t,e,n,r)}ut();lt();gt();function iu(t,e){if(X())return t;let n=t.indexOf("</style>");if(n===-1)return t;let r=/<style\b[^>]*>[\s\S]*?<\/style>/g,i=[],o=n,s;for(r.lastIndex=n;s=r.exec(t);)i.push({text:t.slice(o,s.index),intern:!0}),i.push({text:s[0],intern:!1}),o=r.lastIndex;i.push({text:t.slice(o),intern:!0});let a=new Map,c=/ style="([^"]*)"/g,f;for(let y of i)if(y.intern)for(c.lastIndex=0;f=c.exec(y.text);)a.set(f[1],(a.get(f[1])||0)+1);let l=0;for(let[y,b]of a)b>1&&(l+=(b-1)*y.length);if(l<2048||t.includes(" data-sdi="))return t;let u=su(e,i.some(y=>!y.intern),t.includes("data-snapdom-asset"));if(u===null)return t;let p=new Map,m=0,d=[],h=(y,b)=>{if((a.get(b)||0)<2||u.has(b))return y;let w=p.get(b);return w===void 0&&(w="i"+(m++).toString(36),p.set(b,w),d.push(`[data-sdi="${w}"]{${b}}`)),` data-sdi="${w}"`},g="";for(let y of i)g+=y.intern?y.text.replace(c,h):y.text;return t.slice(0,n)+d.join("")+g}function su(t,e,n){let r=new Set;if(!e&&!n)return r;if(!t||t.querySelector("[data-sdi]"))return null;let i=c=>{let f=c.getAttribute("style");f&&r.add(f)};if(n&&t.querySelectorAll("[data-snapdom-asset][style]").forEach(i),e)try{let c=f=>{for(let l of f){if(l.type===CSSRule.IMPORT_RULE||l.type===CSSRule.NAMESPACE_RULE)throw new Error("External or namespaced CSS");if(l.selectorText){if(/\[\s*style\b|data-sdi|\[[^\]]*\\|&/i.test(l.selectorText))throw new Error("Attribute-dependent or nested CSS");t.querySelectorAll(l.selectorText).forEach(i)}l.cssRules&&c(l.cssRules)}};for(let f of[...t.querySelectorAll("style")].slice(1)){let l=f.textContent||"";if(/@import\b/i.test(l))return null;let u=new CSSStyleSheet;u.replaceSync(l),c(u.cssRules)}}catch{return null}let o=new Set,s=document.createElement("div"),a=new XMLSerializer;for(let c of r){s.setAttribute("style",c);let f=a.serializeToString(s).match(/ style="([^"]*)"/);f&&o.add(f[1])}return o}async function Jn(t,e){let{clipWindow:n,outerTransforms:r,outerShadows:i,rootTransform2D:o,fontsCSS:s}=e,a=t.options;if(t!==a){let{options:Y,...J}=t;t=Object.assign(a,J),Object.defineProperty(t,"options",{value:t,configurable:!0})}let c,f;As(t,s),await Pt("beforeRender",t);let l=O(t.element),u=t.element.getBoundingClientRect(),p=Math.max(1,W(t.element.offsetWidth||parseFloat(l.width)||u.width||1)),m=Math.max(1,W(t.element.offsetHeight||parseFloat(l.height)||u.height||1)),d=t.element.ownerDocument||document;if(!n&&(t.element===d.body||t.element===d.documentElement)&&!t.__pinned){let Y=Math.max(t.element.scrollHeight||0,d.documentElement?.scrollHeight||0,d.body?.scrollHeight||0),J=Math.max(t.element.scrollWidth||0,d.documentElement?.scrollWidth||0,d.body?.scrollWidth||0);Y>0&&(m=Math.max(m,W(Y))),J>0&&(p=Math.max(p,W(J)));try{let K=(t.scrollbarCSS||"").length+(t.baseCSS||"").length+(t.fontsCSS||"").length+(t.classCSS||"").length,tt=P.measureHints.get(t.element);if(tt&&tt.cssLen===K&&tt.w0===p&&tt.docH===Y&&tt.docW===J)tt.csh>0&&(m=Math.max(m,W(tt.csh))),tt.csw>0&&(p=Math.max(p,W(tt.csw)));else{let et=d.createElement("div");Q(et),et.style.cssText="position:absolute!important;left:-9999px!important;top:0!important;width:"+p+"px!important;overflow:visible!important;visibility:hidden!important;";let Vt=et.attachShadow({mode:"open"}),qt=d.createElement("style");qt.textContent=(t.scrollbarCSS||"")+t.baseCSS+"svg{overflow:visible;} foreignObject{overflow:visible;}"+t.classCSS,Vt.appendChild(qt),Vt.appendChild(t.clone.cloneNode(!0)),d.body.appendChild(et);let Oe=et.scrollHeight,Lt=et.scrollWidth;d.body.removeChild(et),P.measureHints.set(t.element,{cssLen:K,w0:p,docH:Y,docW:J,csh:Oe,csw:Lt}),Oe>0&&(m=Math.max(m,W(Oe))),Lt>0&&(p=Math.max(p,W(Lt)))}}catch{}}if(t.options?.excludeMode==="remove"||typeof t.options?.filter=="function"&&t.options.filterMode==="remove"){let Y=ao(t.element,t.options),J=1,K=ao(t.element,{}),tt=Math.max(2,m*.15);Number.isFinite(K)&&K>=m-tt&&Number.isFinite(Y)&&Y>0&&(m=Math.max(1,Math.min(m,W(Y+J))))}if(t.options?.reconcile)try{let Y=(t.scrollbarCSS||"")+t.baseCSS+"svg{overflow:visible;} foreignObject{overflow:visible;}"+t.classCSS;Cs(t.element,t.clone,Y,t.nodeMap,p,m)}catch(Y){console.warn("[snapdom] reconcile pass failed:",Y)}let g=(Y,J=NaN)=>{let K=typeof Y=="string"?parseFloat(Y):Y;return Number.isFinite(K)?K:J},y=g(t.options.width),b=g(t.options.height),w=n?W(n.width):p,C=n?W(n.height):m,x=w,S=C,A=Number.isFinite(y),v=Number.isFinite(b),M=C>0?w/C:1;A&&v?(x=Math.max(1,W(y)),S=Math.max(1,W(b))):A?(x=Math.max(1,W(y)),S=Math.max(1,W(x/(M||1)))):v&&(S=Math.max(1,W(b)),x=Math.max(1,W(S*(M||1))));let k=0,R=0,E=p,T=m;if(n){let Y=0,J=0;if(po(t.element)){let K=null;if(!r&&o&&Number.isFinite(o.a))K={a:o.a,b:o.b||0,c:o.c||0,d:o.d||1,e:0,f:0};else{let tt=re(t.element),et=so(l.transform&&l.transform!=="none"?l.transform:"",tt);et&&et.is2D&&(K={a:et.a,b:et.b,c:et.c,d:et.d,e:0,f:0})}if(K&&!(K.a===1&&K.b===0&&K.c===0&&K.d===1)){let{ox:tt,oy:et}=tn(l,p,m),Vt=Re(p,m,K,tt,et);Y=Vt.minX,J=Vt.minY}}k=W(n.x+Y),R=W(n.y+J),E=W(k+n.width),T=W(R+n.height)}else if(!r&&o&&Number.isFinite(o.a)){let Y={a:o.a,b:o.b||0,c:o.c||0,d:o.d||1,e:0,f:0},J=Re(p,m,Y,0,0);k=W(J.minX),R=W(J.minY),E=W(J.maxX),T=W(J.maxY)}else if(r&&po(t.element)){let J=l.transform&&l.transform!=="none"?l.transform:"",K=re(t.element),tt=zt({baseTransform:J,rotate:K.rotate||"0deg",scale:K.scale,translate:K.translate,width:p,height:m}),{ox:et,oy:Vt}=tn(l,p,m),qt=tt.is2D?tt:new DOMMatrix(tt.toString()),Oe={a:qt.a,b:qt.b,c:qt.c,d:qt.d,e:0,f:0},Lt=Re(p,m,Oe,et,Vt);k=W(Lt.minX),R=W(Lt.minY),E=W(Lt.maxX),T=W(Lt.maxY)}let N=Zr(l),B=to(l),H=eo(l),_=no(l),L=ro(l),$=u.width>0?(E-k)/u.width:1,F=u.height>0?(T-R)/u.height:1,j=i==="subtree"&&!n?ds(t.element,t.nodeMap,t.styleCache,$,F):{top:0,right:0,bottom:0,left:0},I=n?{top:0,right:0,bottom:0,left:0}:i?{top:W(Math.max(N.top,B.top,j.top)+H.top+_.top+L.bleed.top),right:W(Math.max(N.right,B.right,j.right)+H.right+_.right+L.bleed.right),bottom:W(Math.max(N.bottom,B.bottom,j.bottom)+H.bottom+_.bottom+L.bleed.bottom),left:W(Math.max(N.left,B.left,j.left)+H.left+_.left+L.bleed.left)}:{top:H.top,right:H.right,bottom:H.bottom,left:H.left};k=W(k-I.left),R=W(R-I.top),E=W(E+I.right),T=W(T+I.bottom);let V=Math.max(1,W(E-k)),pt=Math.max(1,W(T-R)),Z="http://www.w3.org/2000/svg",Ft=po(t.element)?2:0,St=W(Ft+(r?0:1)),at=Math.ceil(V+St*2),D=Math.ceil(pt+St*2),q=W(-(W(k)-St)),z=W(-(W(R)-St)),ct=Math.max(0,q),At=Math.max(0,z),We=W(at-Math.min(0,q)),ae=W(D-Math.min(0,z)),ht=document.createElementNS(Z,"foreignObject");ht.setAttribute("x",String(Math.min(0,q))),ht.setAttribute("y",String(Math.min(0,z))),ht.setAttribute("width",String(We)),ht.setAttribute("height",String(ae)),ht.style.overflow="visible";let cr=document.createElement("style"),ce="svg{overflow:visible;} foreignObject{overflow:visible;} foreignObject>div{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;}";cr.textContent=(t.scrollbarCSS||"")+t.baseCSS+t.fontsCSS+ce+t.classCSS,ht.appendChild(cr);let le=document.createElement("div");le.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),le.style.cssText=`all:initial;box-sizing:border-box;display:block;overflow:visible;width:${We}px;height:${ae}px`+(ct!==0||At!==0?`;padding:${At}px 0 0 ${ct}px !important`:""),le.appendChild(t.clone),ht.appendChild(le);let lr=new XMLSerializer().serializeToString(ht),ln=A||v,fn=Object.freeze({w0:w,h0:C,vbW:at,vbH:D,targetW:x,targetH:S,contentX:W(q+(n?k:0)),contentY:W(z+(n?R:0)),clip:n?Object.freeze({x:W(k),y:W(R),width:w,height:C}):null});Object.defineProperty(a,"meta",{value:fn,enumerable:!0,writable:!1,configurable:!0});let Nt=!ln||X()?at:A?x:W(at*(S/D)),Na=!ln||X()?D:v?S:W(D*(x/at)),La=parseFloat(O(d.documentElement)?.fontSize)||16;f=`<svg xmlns="${Z}" width="${Nt}" height="${Na}" viewBox="0 0 ${at} ${D}" font-size="${La}px">`+iu(lr,ht)+"</svg>",c=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(f)}`,t.svgString=f,t.dataURL=c,a.__artifacts={classCSS:t.classCSS||"",fontsCSS:t.fontsCSS||"",baseCSS:t.baseCSS||"",scrollbarCSS:t.scrollbarCSS||""},await Pt("afterRender",t),t.clone=t.nodeMap=t.styleCache=t.svgString=null;let fr=[...document.querySelectorAll("#snapdom-sandbox")].find(Ot);return fr&&fr.style.position==="absolute"&&fr.remove(),t.dataURL}function po(t){return hs(t)}function au(t){let e=Array.isArray(t.plugins)?t.plugins:Bs(),n=[];for(let r of e){let i=nn(r);i&&typeof i.resolveNode=="function"&&n.push(i.resolveNode.bind(i))}return n.length?n:null}async function Ks(t,e){if(!t)throw new Error("Element cannot be null or undefined");e.__session=Fs(e.cache),delete e.__compressedAssets,delete e.__compressedSnapshot,delete e.__compressionDensity,e.__resolveNodeHooks=au(e);let n=e;n.element=t,Object.defineProperty(n,"options",{value:n,configurable:!0});let r,i,o,s,a,c,f,l="",u=null,p=e.needs||wt,m=n.format,d=n.type;await Pt("beforeSnap",n);let h=n.format!==m&&/^(?:png|jpe?g|webp|svg)$/i.test(n.format),g=n.type!==d&&/^(?:png|jpe?g|webp|svg)$/i.test(n.type);if(h||g){let E=String(h?n.format:n.type).toLowerCase();n.format=E==="jpg"?"jpeg":E,n.type=n.format,n.__explicitFormat=n.format,/^(?:jpeg|webp)$/.test(n.format)&&(n.backgroundColor==null||n.backgroundColor==="transparent")&&(n.backgroundColor="#ffffff")}await Pt("beforeClone",n);let y=n.outerTransforms!==!1,b=n.outerShadows==="subtree"?"subtree":!!n.outerShadows,w=n.clip?Ln(n.element,n.clip):null;if(e.__styleShare===void 0)try{e.__styleShare=fi(n.element)&&(typeof n.element.getAnimations!="function"||n.element.getAnimations({subtree:!0}).length===0)}catch{e.__styleShare=!1}let C=zn(n.element,w);try{({clone:r,classCSS:i,classPrefixCSS:o,styleCache:s,nodeMap:a,reconcileRisk:c,clipWindow:f}=await Ms(n.element,n.options)),c>0&&!e.reconcile&&(yt(e.__session,"reconcile-risk","text in inline/table-cell elements kept natural width and may re-wrap; pass { reconcile: true } for pixel-exact layout"),P.warnedReconcile||(P.warnedReconcile=!0,console.warn("[snapdom] Text in inline/table-cell elements kept its natural width and may re-wrap under font-fallback rasterization. Pass { reconcile: true } for pixel-exact layout (roughly doubles capture time)."))),!y&&r&&(u=ps(n.element,r)),!b&&r&&Ss(n.element,r,n.options),r&&(vs(n.element,r,a),xs(n.element,r))}finally{C()}if(n.clone=r,n.classCSS=i,n.styleCache=s,n.nodeMap=a,await Pt("afterClone",n),!Te(p,"render"))return null;if(In(n.clone),n.options?.excludeMode==="remove"||typeof n.options?.filter=="function"&&n.options.filterMode==="remove")try{ks(n.element,n.clone,n.styleCache,n.nodeMap)}catch(E){yt(e.__session,"shrink-failed","shrink pass failed",E),console.warn("[snapdom] shrink pass failed:",E)}try{await Mn(n.clone,n.element,n.nodeMap)}catch{}let x=E=>Promise.resolve().then(E),S=(async()=>{await Promise.all([x(()=>On(n.clone,n.options)),x(()=>Bn(n.element,n.clone,n.styleCache,n.options,n.nodeMap))]);try{Rs(n.element,n.clone,n.nodeMap)}catch(E){yt(e.__session,"backdrop-filter-failed","backdrop-filter emulation failed",E),console.warn("[snapdom] backdrop-filter emulation failed:",E)}if(e.compress&&(e.__compressionClip=f,e.__compressionRootTransform=u,await x(()=>Qn(n.clone,n.options,n.nodeMap))),e.captureSelection)try{Ii(n.nodeMap)}catch(E){yt(e.__session,"selection-compose-failed","field selection compose failed",E)}})(),A=Promise.resolve();(e.embedFonts==="auto"?((n.element.ownerDocument||document).fonts?.size||0)>0:e.embedFonts)&&(A=x(async()=>{let E=n.element.ownerDocument||document,T=w?H=>{try{let _=H.getBoundingClientRect();return _.right>=w.left-200&&_.left<=w.right+200&&_.bottom>=w.top-200&&_.top<=w.bottom+200}catch{return!0}}:null,{required:N,usedCodepoints:B}=!w&&e.__fontUsage||Fn(n.element,T);if(e.embedFonts==="auto"){let H=new Set;try{for(let L of E.fonts)H.add(String(L.family).replace(/["']/g,"").toLowerCase())}catch{}if(!(H.size>0&&Array.from(N).some(L=>H.has(String(L).split("__")[0].toLowerCase()))))return}if(X()){let H=new Set(Array.from(N).map(_=>String(_).split("__")[0]).filter(Boolean));await Tn(H,1,E)}l=await Ki({required:N,usedCodepoints:B,exclude:n.options.excludeFonts,localFonts:n.options.localFonts,useProxy:n.options.useProxy,fontStylesheetDomains:n.options.fontStylesheetDomains,iconMatchers:n.options.__iconMatchers,doc:E})})),await Promise.all([S,A]);let M=(n.options.plugins||[]).some(E=>E&&(typeof E.beforeRender=="function"||typeof E.afterRender=="function"));n.options.engine;let k=n.clone;Kn(k,e.__compressedAssets);let R=await Jn(n,{clipWindow:f,outerTransforms:y,outerShadows:b,rootTransform2D:u,fontsCSS:l});if(e.__compressedSnapshot=Yn(k,e.__compressedAssets),typeof e.__retain=="function")try{e.__retain({clone:r,nodeMap:a,styleCache:s,styleMap:e.__session.styleMap,classPrefixCSS:o,fontsCSS:l,clipWindow:f,outerTransforms:y,outerShadows:b,rootTransform2D:u,__compressedAssets:e.__compressedAssets,__compressionDensity:e.__compressionDensity})}catch{}return R}lt();mt();var cu=new Set(["png","jpeg","jpg","webp","svg"]);function Qs(t={}){let e=typeof t.type=="string"&&cu.has(t.type.toLowerCase())?t.type.toLowerCase():null,n=t.format??e??"png";n==="jpg"&&(n="jpeg");let r=t.format!=null?n:e==="jpg"?"jpeg":e,i=Oo(t.cache),o=t.exclude==null?[]:Array.isArray(t.exclude)?t.exclude:[t.exclude],s=[],a=[];for(let u of o)typeof u=="string"?s.push(u):typeof u=="function"?a.push(u):u!=null&&console.warn("[snapdom] Ignored invalid exclude entry (expected selector string or predicate):",u);let c=t.excludeMode??"hide",f=u=>{if(!u||u.nodeType!==1)return!1;if(u.getAttribute("data-capture")==="exclude")return!0;for(let p of Array.isArray(l.exclude)?l.exclude:[])try{if(u.matches(p))return!0}catch{}for(let p of Array.isArray(l.excludePredicates)?l.excludePredicates:[])try{if(p(u))return!0}catch{}if(typeof l.filter=="function")try{if(!l.filter(u))return!0}catch{}return!1},l={debug:t.debug??!1,scale:t.scale??1,exclude:s,excludePredicates:a.length?a:null,excludeMode:c,filter:t.filter??null,filterMode:t.filterMode??"hide",shouldExclude:f,placeholders:t.placeholders!==!1,captureSelection:t.captureSelection??!1,canvas:nt(t.canvas,"canvas")?t.canvas:null,embedFonts:t.embedFonts??"auto",iconFonts:Array.isArray(t.iconFonts)?t.iconFonts:t.iconFonts?[t.iconFonts]:[],__iconMatchers:Bi(t.iconFonts),localFonts:Array.isArray(t.localFonts)?t.localFonts:[],excludeFonts:t.excludeFonts??void 0,fontStylesheetDomains:Array.isArray(t.fontStylesheetDomains)?t.fontStylesheetDomains:[],fallbackURL:t.fallbackURL??void 0,cache:i,__styleShare:t.__styleShare,useProxy:typeof t.useProxy=="string"?t.useProxy:"",width:t.width??null,height:t.height??null,format:n,__explicitFormat:r,type:n,quality:t.quality??.92,dpr:t.dpr??(window.devicePixelRatio||1),backgroundColor:t.backgroundColor??(["jpeg","webp"].includes(n)?"#ffffff":null),filename:t.filename??"snapDOM",outerTransforms:t.outerTransforms??!0,outerShadows:t.outerShadows??!1,reconcile:t.reconcile??!1,burst:t.burst,engine:t.engine,invalidate:t.invalidate??!1,__pinned:t.__pinned===!0,clip:t.clip??null,compress:t.compress!==!1,excludeStyleProps:t.excludeStyleProps??null,resolvePicturePlaceholders:t.resolvePicturePlaceholders!==!1};return l}vt();Xt();ut();var Js="svg,iframe,canvas,video,audio,object,embed,slot,template,picture,style,pre";function lu(t){try{return t.matches?.("dialog,[popover]")||!!t.querySelector?.("dialog,[popover]")}catch{return!0}}var fu=/(?:^|;)\s*(?:-webkit-)?backdrop-filter:\s*(?!none(?:\s*!important)?(?:;|$))[^;]+/i;function uu(t){if(t.__usesBackdropFilter!==void 0)return t.__usesBackdropFilter;let e=!1;for(let n of t.styleMap.values())if(fu.test(n)){e=!0;break}return t.__usesBackdropFilter=e,e}function du(t,e){let n=e.has("backdrop-filter")||e.has("-webkit-backdrop-filter");if(!n&&(n=(o=>/(?:^|;)\s*(?:-webkit-)?backdrop-filter\s*:/i.test(o.getAttribute?.("style")||""))(t),!n))try{n=!!t.querySelector?.('[style*="backdrop-filter" i]')}catch{n=!0}if(!n)return!1;let r=[t];t.querySelectorAll&&r.push(...t.querySelectorAll("*"));for(let i of r){let o=getComputedStyle(i),s=o.getPropertyValue("backdrop-filter")||o.getPropertyValue("-webkit-backdrop-filter");if(s&&s!=="none")return!0}return!1}var ho=new WeakMap;function pu(t,e){if(ho.has(e))return ho.get(e);let n=!1,r={budget:2e4},i=o=>{for(let s=0;s<o.length&&!n;s++){if(--r.budget<0){n=!0;return}let a=o[s],c=a.selectorText;if(c&&/[+~]|:has\(/.test(c)){n=!0;return}let f=a.style;if(f&&(f.counterReset||f.counterIncrement||f.counterSet||f.content&&f.content.includes("counter"))){n=!0;return}a.cssRules&&a.cssRules.length&&i(a.cssRules)}};try{for(let o of t.styleSheets){let s=null;try{s=o.cssRules}catch{n=!0}if(n)break;s&&i(s)}if(!n){let o=t.adoptedStyleSheets;if(Array.isArray(o))for(let s of o){if(n)break;try{i(s.cssRules)}catch{n=!0}}}}catch{n=!0}return ho.set(e,n),n}var hu=1/16;function mu(t,e){if(t===e)return!0;if(!t.endsWith("px")||!e.endsWith("px"))return!1;let n=parseFloat(t),r=parseFloat(e);return Number.isFinite(n)&&Number.isFinite(r)&&Math.abs(n-r)<=hu}var Zn=new Map,gu=["width","height","min-width","min-height"];function yu(t){let e=Zn.get(t);if(e===void 0){e=null;for(let n of gu){let r=t.match(new RegExp("(?:^|;)"+n+":([^;]+)"));r&&r[1].endsWith("px")&&((e||(e={}))[n]=r[1])}Zn.size>5e3&&Zn.clear(),Zn.set(t,e)}return e}function bu(t){if(!(!t.classList||!t.classList.length))for(let e of Array.from(t.classList))/^c\d+$/.test(e)&&t.classList.remove(e)}function wu(t,e){let n=[t];for(;n.length;){let r=n.pop();if(r.nodeType===1){let i=e.nodeMap.get(r);i!==void 0&&(e.nodeMap.delete(r),e.srcToClone.get(i)===r&&e.srcToClone.delete(i)),e.styleMap.delete(r)}for(let i=r.firstChild;i;i=i.nextSibling)n.push(i)}}var mo={attempts:0,served:0,reconciled:0};async function Zs(t,e,n){mo.attempts++;try{let r=await Su(t,e,n);return r&&mo.served++,r}catch{return null}}async function Su(t,e,n){let r=e.retained;if(!r||!r.clone||!r.styleMap||!r.srcToClone||n.reconcile||n.clip||n.captureSelection||r.clipWindow||t.scrollTop||t.scrollLeft||lu(t)||uu(r)||r.fontsCSS||qn(n))return null;for(let u of n.plugins||[])if(u&&(typeof u.beforeSnap=="function"||typeof u.beforeClone=="function"||typeof u.resolveNode=="function"||typeof u.afterClone=="function"))return null;if(r.classPrefixCSS&&(r.classPrefixCSS.includes("::marker")||r.classPrefixCSS.includes("::first-line"))||n.excludeMode==="remove")return null;let i=t.ownerDocument||document,o=Ye(t);if(!o||pu(i,o))return null;let s=[];t:for(let u of e.dirtyRoots){if(!u.isConnected||u===t||!t.contains(u))return null;for(let p of e.dirtyRoots)if(p!==u&&p!==t&&p.contains(u))continue t;s.push(u)}if(!s.length)return null;n.__compressedAssets=r.__compressedAssets,n.__compressionDensity=r.__compressionDensity,n.__compressionRootTransform=r.rootTransform2D;for(let u of s){if(u.parentElement===t||u.matches?.(Js)||u.querySelector?.(Js)||du(u,o))return null;let p=r.srcToClone.get(u);if(!p||!p.parentNode)return null;let m=new Map,d={styleMap:r.styleMap,styleCache:r.styleCache,nodeMap:m,options:n},h=zn(u,null),g=Nn(u),y;try{y=await ne(u,d,n)}finally{g(),h()}if(!y||y.nodeType!==1||y.querySelector?.("style[data-sd]")||(await _e(u,y,d,n),d.__pseudoCSS))return null;await xn(y,d),In(y);try{await Mn(y,u,m)}catch{}if(await Promise.all([On(y,n),Bn(u,y,r.styleCache,n,m)]),n.compress)try{await Qn(y,n,m)}catch{}for(let[b,w]of m.entries())lo(b,w);p.replaceWith(y),wu(p,r);for(let[b,w]of m.entries())r.nodeMap.set(b,w),r.srcToClone.set(w,b)}let a={styleMap:r.styleMap,styleCache:r.styleCache,nodeMap:r.nodeMap,options:n};for(let[u,p]of r.nodeMap.entries()){if(!p||p.nodeType!==1||!p.isConnected)continue;let m=r.styleMap.get(u);if(!m)continue;let d=yu(m);if(!d)continue;let h=null,g=!1;for(let y in d)if(h||(h=getComputedStyle(p)),!mu(h.getPropertyValue(y),d[y])){g=!0;break}if(g){if(n.__compressedAssets?.has(u))return null;mo.reconciled++,await st(p,u,a,n)}}let c=ze(r.styleMap);for(let[u,p]of r.styleMap.entries())bu(u),co(u,p,c);let f=(r.classPrefixCSS||"")+Array.from(c.entries()).map(([u,p])=>`.${p}{${u}}`).join("");Kn(r.clone,n.__compressedAssets);let l=await Jn({element:t,options:n,plugins:n.plugins,clone:r.clone,classCSS:f,styleCache:r.styleCache,nodeMap:r.nodeMap},{clipWindow:null,outerTransforms:r.outerTransforms,outerShadows:r.outerShadows,rootTransform2D:r.rootTransform2D,fontsCSS:r.fontsCSS||""});return n.__compressedSnapshot=Yn(r.clone,n.__compressedAssets),r.__compressedAssets=n.__compressedAssets,r.__compressionDensity=n.__compressionDensity,l}mt();var yo=new WeakMap,er=new WeakMap,la=new WeakSet,go=new WeakMap,xu=64,rn=new Map,fa=["scroll","input","change","focusin","focusout","pointerdown","pointerup","pointercancel","keydown","keyup","beforetoggle","toggle"],vu=["(prefers-color-scheme: dark)","(prefers-reduced-motion: reduce)","(prefers-contrast: more)","(forced-colors: active)","(inverted-colors: inverted)","(prefers-reduced-transparency: reduce)","(hover: hover)","(any-hover: hover)","(pointer: coarse)","(any-pointer: coarse)","(color-gamut: p3)","(dynamic-range: high)"];function ku(t){let e=t?.defaultView;return typeof e?.matchMedia!="function"?"":vu.map(n=>{try{return e.matchMedia(n).matches?"1":"0"}catch{return"?"}}).join("")}function ta(t){let e=[];for(let n=t;n;){try{let r=n.getBoundingClientRect();e.push(r.x,r.y,r.width,r.height)}catch{e.push("?")}n.parentElement?n=n.parentElement:n=n.getRootNode?.()?.host||null}return e.join("|")}function ea(t,e){if(e.disposed||(rn.delete(t),rn.set(t,e),rn.size<=xu))return;let[n,r]=rn.entries().next().value;ua(n,r)}function ua(t,e){e.disposed=!0,rn.delete(t),yo.delete(t);for(let n of e.observers)try{n.disconnect()}catch{}for(let n of fa)t.removeEventListener(n,e.onMediaDirty,!0);for(let n of e.trackedShadowRoots.keys())for(let r of wo)n.removeEventListener(r,e.onMediaDirty,!0);for(let[n,r]of e.trackedImages)n.removeEventListener("load",r),n.removeEventListener("error",r);e.trackedImages.clear(),e.trackedShadowRoots.clear(),e.images.length=0,e.controls.length=0,e.scrollNodes.length=0,e.observers.length=0,e.last=null,e.retained=null,e.retainedFrameDriven=!1}function da(t){if(la.has(t))return!1;er.delete(t);let e=[t],n=[],r=[];for(let i=0;i<e.length;i++){let o=e[i],s=[];o?.nodeType===1&&s.push(o);try{s.push(...o.querySelectorAll("*"))}catch{return!1}for(let a of s){a.shadowRoot&&e.push(a.shadowRoot);let c=String(a.localName||a.tagName||"").toLowerCase();if(/^(?:iframe|canvas|video|audio|object|embed|marquee|blink)$/.test(c)||c==="progress"&&!a.hasAttribute("value")||/^(?:animate|animatetransform|animatemotion|set)$/.test(c))return!1;let f="";if(c==="img"){r.push(a);try{f=a.currentSrc||a.src||""}catch{}}/^(?:input|textarea|select|option)$/.test(c)&&n.push(a);let l=a.getAttribute?.("style")||"",u=go.get(a);if(f||l){if((!u||u.src!==f||u.style!==l)&&(u={src:f,style:l,animated:Ne(f)||Ne(l)},go.set(a,u)),u.animated)return!1}else u&&go.delete(a)}}return er.set(t,{roots:e.slice(1),controls:n,images:r}),!0}function bo(t,e){if(!t.querySelectorAll)return!1;let n=er.get(t);er.delete(t);let r=new Set(n?.roots||[]);if(n&&(e.controls=n.controls,e.scannedImages=n.images),!n){let i=[t];for(let o=0;o<i.length;o++){let s=i[o];s.shadowRoot&&!r.has(s.shadowRoot)&&(r.add(s.shadowRoot),i.push(s.shadowRoot));for(let a of s.querySelectorAll("*"))a.shadowRoot&&!r.has(a.shadowRoot)&&(r.add(a.shadowRoot),i.push(a.shadowRoot))}}for(let[i,o]of e.trackedShadowRoots)if(!r.has(i)){try{o.disconnect()}catch{}for(let a of wo)i.removeEventListener(a,e.onMediaDirty,!0);e.trackedShadowRoots.delete(i);let s=e.observers.indexOf(o);s>=0&&e.observers.splice(s,1)}for(let i of r)if(!e.trackedShadowRoots.has(i))try{let o=new MutationObserver(e.markDirty);o.observe(i,{subtree:!0,childList:!0,attributes:!0,characterData:!0,attributeOldValue:!0,characterDataOldValue:!0}),o.__flush=e.markDirty,e.observers.push(o),e.trackedShadowRoots.set(i,o);for(let s of wo)i.addEventListener(s,e.onMediaDirty,{capture:!0,passive:!0});e.retained&&e.dirtyAll()}catch{}return!!n}var wo=["scroll","change","beforetoggle","toggle"];function nr(t,e){return[t,...e.trackedShadowRoots.keys()]}function So(t,e){let n=e.scannedImages;if(e.scannedImages=null,!n){n=[],t.tagName==="IMG"&&n.push(t);for(let r of nr(t,e))r.querySelectorAll&&n.push(...r.querySelectorAll("img"))}if(e.images=n,e.trackedImages.size){let r=new Set(n);for(let[i,o]of e.trackedImages)r.has(i)||(i.removeEventListener("load",o),i.removeEventListener("error",o),e.trackedImages.delete(i))}for(let r of n){if(r.complete||e.trackedImages.has(r))continue;let i=()=>{e.capturing&&(e.torn=!0),e.dirty=!0,e.dirtyRoots=null,r.removeEventListener("load",i),r.removeEventListener("error",i),e.trackedImages.delete(r)};e.trackedImages.set(r,i),r.addEventListener("load",i),r.addEventListener("error",i)}}function Cu(t){let e=new Map,n=new Map,r=new Map;for(let i of t)if(Qt(i))if(i.type==="attributes"){let o=e.get(i.target);o||e.set(i.target,o=new Map),o.has(i.attributeName)||o.set(i.attributeName,i.oldValue)}else if(i.type==="characterData")n.has(i.target)||n.set(i.target,i.oldValue);else if(i.type==="childList"){let o=r.get(i.target);o||r.set(i.target,o=new Map);for(let s of i.addedNodes){if(s.nodeType!==3)return!0;o.set(s.data,(o.get(s.data)||0)+1)}for(let s of i.removedNodes){if(s.nodeType!==3)return!0;o.set(s.data,(o.get(s.data)||0)-1)}}else return!0;for(let[i,o]of e)for(let[s,a]of o)if(i.getAttribute(s)!==a)return!0;for(let[i,o]of n)if(i.data!==o)return!0;for(let i of r.values())for(let o of i.values())if(o!==0)return!0;return!1}var Au=/(?:^data:image\/(?:gif|apng)|\.(?:gif|apng)(?=[?#)'"\s;]|$))/i,Pe=t=>t&&(typeof t=="object"||typeof t=="function")?tr(t):"-";function Mu(t,e=131072){if(t=String(t||"").trim(),!/^data:/i.test(t))return"";let n=t.indexOf(",");if(n<0)return"";let r=t.slice(0,n),i=t.slice(n+1);try{if(/;base64/i.test(r)){let o=Math.ceil(e/3)*4;return atob(i.slice(0,o-o%4))}return i.slice(0,e*3).replace(/%([0-9a-f]{2})/gi,(o,s)=>String.fromCharCode(parseInt(s,16))).slice(0,e)}catch{return""}}function Eu(t){let e=(t.match(/^data:([^;,]+)/i)?.[1]||"").toLowerCase();if(e==="image/gif"||e==="image/apng")return!0;if(!/image\/(?:png|webp|avif|svg\+xml)/.test(e))return!1;let n=Mu(t);return e==="image/png"?n.includes("acTL"):e==="image/webp"?n.includes("ANIM")||n.includes("ANMF")||n.includes("VP8X")&&!!(n.charCodeAt(n.indexOf("VP8X")+8)&2):e==="image/avif"?n.includes("avis"):/<(?:animate|animateTransform|animateMotion|set)\b|@keyframes\b|animation(?:-name)?\s*:/i.test(n)}function na(t){let e=String(t||"").trim();return e?Au.test(e)?!0:/^data:/i.test(e)?Eu(e):!1:!1}function Ne(t){let e=String(t||"");if(na(e))return!0;for(let n of e.matchAll(/url\(\s*(?:"((?:\\.|[^"\\])*)"|'((?:\\.|[^'\\])*)'|([^)]*))\s*\)/gi))if(na(n[1]??n[2]??n[3]))return!0;return!1}function ra(t,e=null){let n=t&&t.clone;if(!n)return!1;let r=e?e.map(i=>t.srcToClone?.get(i)).filter(Boolean):[n];for(let i of r)for(let o of pa(i))if(Ne(o.getAttribute?.("src"))||Ne(o.getAttribute?.("href"))||Ne(o.getAttribute?.("style"))||Ne(t.styleMap?.get(o)))return!0;return!1}function pa(t){let e=[];t&&t.nodeType===1&&e.push(t);try{e.push(...t.querySelectorAll("*"))}catch{}return e}function xo(t,e){let n=[],r=new Set,i=o=>{o&&!r.has(o)&&(r.add(o),n.push(o))};t.matches?.("input,textarea,select,option")&&i(t);for(let o of nr(t,e))try{for(let s of o.querySelectorAll("input,textarea,select,option"))i(s)}catch{}e.controls=n}function vo(t,e){let n=[],r=new Set,i=(o,s=!1)=>{if(!(!o||r.has(o))){r.add(o);try{(s||o.scrollLeft||o.scrollTop||o.scrollWidth>o.clientWidth||o.scrollHeight>o.clientHeight)&&n.push(o)}catch{}}};for(let o=t;o;o=o.parentElement)i(o,!0);for(let o of nr(t,e))for(let s of pa(o))i(s);e.scrollNodes=n}function oa(t,e){let n=t.ownerDocument||document,r=n.defaultView,i=[r?.location?.hash||"",ku(n),r?.innerWidth||0,r?.innerHeight||0,r?.devicePixelRatio||1,r?.screen?.orientation?.type||""];try{i.push(...[...n.adoptedStyleSheets||[]].map(Pe))}catch{}for(let l of e.trackedShadowRoots.keys())try{i.push("#shadow",...[...l.adoptedStyleSheets||[]].map(Pe))}catch{}let o=n.activeElement,s=n.fullscreenElement;(o?.contains(t)||t.contains(o))&&i.push(Pe(o)),(s?.contains(t)||t.contains(s))&&i.push(Pe(s));let a=[r?.scrollX||0,r?.scrollY||0];for(let l of e.scrollNodes)a.push(l.scrollLeft||0,l.scrollTop||0);let c=[];for(let l of e.controls){let u=String(l.localName||"").toLowerCase();u==="input"?c.push(l.type,Ue(l)?l.value.length:l.value,l.checked?1:0,l.indeterminate?1:0):u==="textarea"?c.push(l.value):u==="select"?c.push(l.selectedIndex,l.value):c.push(l.selected?1:0)}let f=[];for(let l of e.images){let u="";try{u=l.currentSrc||l.src||""}catch{}f.push(u,l.complete?1:0,l.naturalWidth||0,l.naturalHeight||0)}return{style:i.join("|"),scroll:a.join("|"),controls:c,images:f,frameDriven:e.retainedFrameDriven}}function $e(t,e,n){if(!t)return!1;let r=t[n],i=e[n];if(r===i)return!0;if(!Array.isArray(r)||r.length!==i.length)return!1;for(let o=0;o<r.length;o++)if(r[o]!==i[o])return!1;return!0}function ia(t,e){let n=new Set;for(let r of nr(t,e))try{let i=r.getAnimations?.(r.nodeType===1?{subtree:!0}:void 0)||[];for(let o of i)n.add(o)}catch{}return[...n]}function sa(t){return t.map(e=>[Pe(e),e.playState,Math.round((Number(e.currentTime)||0)*10),e.playbackRate].join(":")).join("|")}function _u(t,e,n){if(!n||n.nodeType!==1)return null;if(n===t||t.contains(n))return t;for(let r of e.trackedShadowRoots.keys())if(r.contains(n))return r;return null}function Ru(t){let e={dirty:!0,pending:[],torn:!1,dirtyRoots:new Set,retained:null,retainedFrameDriven:!1,disposed:!1,capturing:!1,last:null,inflight:Promise.resolve(),observers:[],trackedShadowRoots:new Map,trackedImages:new Map,images:[],scannedImages:null,scrollNodes:[],controls:[],envEpoch:we(),styleEpoch:Jt(),styleStamp:Xe(t),outsideMutations:gn(t),geometry:null,renderState:null},n=()=>{e.dirty=!0,e.dirtyRoots=null},r=a=>{if(!e.dirtyRoots)return;let c=a&&(a.nodeType===1?a:a.parentElement);if(!c||c===t||!t.contains(c)||e.dirtyRoots.size>=12){e.dirtyRoots=null;return}e.dirtyRoots.add(c)},i=a=>{if(e.capturing){for(let c of a)e.pending.push(c);return}for(let c of a)Qt(c)&&(e.dirty=!0,r(c.target))},o=()=>{if(e.capturing){e.torn=!0;return}n()};e.dirtyAll=n;try{let a=new MutationObserver(i);a.observe(t,{subtree:!0,childList:!0,attributes:!0,characterData:!0,attributeOldValue:!0,characterDataOldValue:!0}),a.__flush=i,e.observers.push(a)}catch{}e.markDirty=i,e.onMediaDirty=o;try{for(let a of fa)t.addEventListener(a,o,{capture:!0,passive:!0})}catch{}return bo(t,e)||xo(t,e),vo(t,e),So(t,e),e}var Fu=0,aa=new WeakMap;function tr(t){let e=aa.get(t);return e||(e="@"+ ++Fu,aa.set(t,e)),e}function ko(t,e){let n=typeof t;if(n==="undefined")return null;if(t===null||n==="boolean"||n==="number"||n==="string")return JSON.stringify(t);if(n==="function"||n==="symbol")return n==="symbol"?null:JSON.stringify(tr(t));if(n!=="object")return null;if(typeof t.nodeType=="number")return JSON.stringify(tr(t));if(e.has(t))return null;e.add(t);try{if(Array.isArray(t)){let o=[];for(let s of t){let a=ko(s,e);if(a===null)return null;o.push(a)}return"["+o.join(",")+"]"}let r=Object.getPrototypeOf(t);if(r!==Object.prototype&&r!==null)return JSON.stringify(tr(t));let i=[];for(let o of Object.keys(t).sort()){let s=t[o];if(s===void 0)continue;let a=ko(s,e);if(a===null)return null;i.push(JSON.stringify(o)+":"+a)}return"{"+i.join(",")+"}"}finally{e.delete(t)}}function ca(t,e){let{burst:n,invalidate:r,...i}=t||{};try{let o=ko(i,new Set);return o===null?null:`${(e||[]).map(Pe).join(",")}:${o}`}catch{return null}}function ha(t,e,n,r,i=null){let o=yo.get(t);o||(o=Ru(t),o.baselineSignature=ca(e,n.plugins),yo.set(t,o));let s=ca(e,n.plugins),a=async()=>{if(o.disposed)return r();let f=s===null||s!==o.baselineSignature;f&&s!==null?o.pendingSig===s?(o.baselineSignature=s,o.last=null,o.dirty=!0,o.dirtyRoots=null,o.pendingSig=null,f=!1):o.pendingSig=s:o.pendingSig=null,bo(t,o),So(t,o);for(let A of o.observers)A.__flush(A.takeRecords());Et();let l=gn(t);o.dirty&&o.outsideMutations!==l&&o.dirtyAll(),o.outsideMutations=l;let u=t.getRootNode?.(),p=[...o.trackedShadowRoots.keys()];u?.nodeType===11&&!p.includes(u)&&p.push(u),bn(t.ownerDocument||document,p);let m=Xe(t);o.styleStamp!==m&&(o.styleStamp=m,o.dirty||o.dirtyAll());let d=oa(t,o),h=ia(t,o);d.animation=sa(h),o.renderState&&(!$e(o.renderState,d,"style")&&(Se(),o.dirtyAll()),$e(o.renderState,d,"scroll")||o.dirtyAll(),$e(o.renderState,d,"controls")||(Zt(t),o.dirtyAll()),!$e(o.renderState,d,"images")&&!o.dirty&&o.dirtyAll());let g=we();o.envEpoch!==g&&(o.dirtyAll(),o.envEpoch=g);let y=Jt();if(o.styleEpoch!==y&&(o.styleEpoch=y,!o.dirty)){let A=ta(t);o.geometry!==null&&A!==o.geometry&&(Zt(t),o.dirtyAll()),o.geometry=A}n.invalidate&&o.dirtyAll();let b=!1,w=!!o.renderState&&!$e(o.renderState,d,"animation");try{let A=new Set;w&&h.length===0&&(A=null);for(let v of h){let M=v.playState==="running";if(!M&&!w)continue;M&&(b=!0),w=!0;let k=v.effect?.target;if(_u(t,o,k)===t)A.add(k);else{A=null;break}}if(w&&A&&A.size&&o.retained){o.dirty=!0;for(let v of A)o.dirtyRoots&&o.dirtyRoots.add(v),Zt(v)}else w&&!A&&o.dirtyAll()}catch{}let C=d.frameDriven,x=b||C;if(x&&(o.last=null),C&&o.dirtyAll(),!f&&!x&&!o.dirty&&o.last)return ea(t,o),o.last;o.capturing=!0;let S=null;try{let A=null,v=!1,M=null;if(!f&&o.dirty&&o.retained&&o.dirtyRoots&&o.dirtyRoots.size&&i){M=[...o.dirtyRoots];let k=await Zs(t,o,n);k&&(A=await i(k),v=!0)}if(A||(f||(n.__retain=k=>{let R=new Map;for(let[E,T]of k.nodeMap.entries())R.set(T,E);S={...k,srcToClone:R}}),A=await r()),!f&&!o.disposed){o.dirty=!1,o.dirtyRoots=new Set,S?(o.retained=S,o.retainedFrameDriven=ra(S),xo(t,o),vo(t,o)):v&&(o.retainedFrameDriven||(o.retainedFrameDriven=ra(o.retained,M)),xo(t,o),vo(t,o));let k=oa(t,o);k.animation=sa(ia(t,o));let R=["style","scroll","controls","images"];b||R.push("animation");let E=R.every(T=>$e(d,k,T));o.renderState=k,o.styleEpoch=Jt(),o.styleStamp=Xe(t),o.geometry=ta(t),o.renderState.frameDriven?(la.add(t),ua(t,o)):E?!x&&!o.renderState.frameDriven&&(o.last=A,ea(t,o)):(o.dirtyAll(),o.last=null)}return A}finally{n.__retain=void 0;for(let v of o.observers)for(let M of v.takeRecords())o.pending.push(M);Et();let A=gn(t);(o.torn||Cu(o.pending)||A!==l)&&(o.dirtyAll(),o.last=null),o.outsideMutations=A,o.styleEpoch=Jt(),o.styleStamp=Xe(t),o.pending.length=0,o.torn=!1,o.capturing=!1,o.disposed||(bo(t,o),So(t,o))}},c=o.inflight.then(a,a);return o.inflight=c.catch(()=>{}),c}var rr=null;function ya(t){rr=t}var Tu='button, a[href], [role="button"], input, select, summary, label, [tabindex]',Co=!1,on=null,Ao=new WeakMap,ma=!1;function ba(t,e){!Co||!on||e&&e.burst===!1||Ao.set(on.control,{element:t,options:e&&typeof e=="object"?{...e}:e})}function wa(t){let e={control:t};on=e,setTimeout(()=>{on===e&&(on=null)},0)}function Eo(t){let e=t.target,n=e&&(e.nodeType===1?e:e.parentElement);return n&&n.closest?n.closest(Tu):null}function ga(t){if(t.type==="keydown"&&t.key!=="Enter"&&t.key!==" ")return;let e=Eo(t);e&&(wa(e),Mo(t,!1))}function $u(t){let e=Eo(t);e&&wa(e)}function Mo(t,e=!0){if(!rr||document.visibilityState==="hidden")return;let n=Eo(t);if(!n||t.type==="pointerenter"&&t.target!==n)return;let r=Ao.get(n);if(r){if(!r.element.isConnected){Ao.delete(n);return}rr(r.element,r.options).catch(()=>{});return}e&&!ma&&(ma=!0,rr(document.body,{clip:"viewport",burst:!1}).catch(()=>{}))}function Sa(){if(Co||typeof document>"u"||typeof document.addEventListener!="function")return;Co=!0;let t={capture:!0,passive:!0};document.addEventListener("pointerdown",ga,t),document.addEventListener("keydown",ga,t),document.addEventListener("click",$u,t),document.addEventListener("pointerenter",Mo,t),document.addEventListener("focusin",Mo,t)}gt();function Ju(...t){return Ws(...t),G}async function Zu(t,e){if(typeof t!="string"||!t.trim())throw new Error("[snapdom.fromString] html string required");let n=document.createElement("div");Q(n),n.style.cssText="position:fixed;left:-99999px;top:0;pointer-events:none;",n.innerHTML=t,document.body.appendChild(n);try{await ft();let r=Array.from(n.childNodes).some(o=>o.nodeType===3&&o.textContent.trim()),i=n.children.length===1&&!r?n.firstElementChild:n;return await Wo(i,{...e||{},burst:!1})}finally{n.remove()}}var td="3.0.0-beta.1",G=Object.assign(Wo,{plugins:Ju,fromString:Zu,version:td,preCapture:Sa});ya(Wo);var Io=Symbol("snapdom.internal"),ed=Symbol("snapdom.internal.silent"),$a=new Set(["png","jpeg","jpg","webp","svg"]);async function Wo(t,e){if(!t)throw new Error("Element cannot be null or undefined");let n=Qs(e);n.element=t,n.invalidate&&Se(),Ds(n,e&&e.plugins);let{stage:r,loweredBy:i}=Ls(n);n.needs=r,n.__needsLoweredBy=i;let o=Te(r,"render"),s=n.burst===!0||!qn(n),a=typeof n.filter=="function"||!!n.excludePredicates||typeof n.excludeStyleProps=="function"||typeof n.fallbackURL=="function",f=o&&!n.captureSelection&&n.burst!==!1&&s&&!a&&da(t);return f&&ba(t,e),n.snap||(n.snap={toPng:(l,u)=>G.toPng(l,u),toSvg:(l,u)=>G.toSvg(l,u)}),f?ha(t,e,n,()=>G.capture(t,n,Io),l=>Pa(l,n)):G.capture(t,n,Io)}G.capture=async(t,e,n)=>{if(n!==Io)throw new Error("[snapdom.capture] is internal. Use snapdom(...) instead.");if(Te(e.needs||wt,"render")&&X()){if(e.embedFonts)try{let o=t.ownerDocument||document,s=new Set;if(e.embedFonts==="auto"){try{for(let l of o.fonts)s.add(String(l.family).replace(/["']/g,"").toLowerCase())}catch{}if(s.size===0)throw null}let a=Fn(t);e.clip||(e.__fontUsage=a);let c=a.required,f=new Set([...c].map(l=>String(l).split("__")[0]).filter(Boolean));if(e.embedFonts==="auto"&&(f=new Set([...f].filter(l=>s.has(l.toLowerCase()))),f.size===0))throw null;await Tn(f,1,o)}catch{}let i=Array.from(t.querySelectorAll("canvas"));t.tagName==="CANVAS"&&i.unshift(t);for(let o of i)try{if(Je(o))continue;let s=o.getContext("2d",{willReadFrequently:!0});s&&s.getImageData(0,0,1,1)}catch(s){U(e,"safari canvas poke failed",s)}}let r=await Ks(t,e);return Pa(r,e)};async function Pa(t,e){let n=e.needs||wt,r=Te(n,"render"),i=_=>Is(n,e.__needsLoweredBy||[],_),o=typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement?t:null,s=o?null:t,a=()=>s??(s=o.toDataURL()),c=o||t;o&&(t="");let f=e.__compressedSnapshot,l=e.__compressionDensity;delete e.__compressedSnapshot,delete e.__compressedAssets;let u,p=e.meta||{},d=(Number.isFinite(e.width)||Number.isFinite(e.height))&&!X(),h=d?Number.isFinite(e.width)?p.targetW/p.vbW:p.targetH/p.vbH:1,g=d?Number.isFinite(e.height)?p.targetH/p.vbH:p.targetW/p.vbW:1,y=_=>{if(o||!f?.size)return c;let L=p.vbW,$=p.vbH,F=_.crop;F&&(L=Math.max(1,Math.min(L,F.x+F.width)-Math.max(0,F.x)),$=Math.max(1,Math.min($,F.y+F.height)-Math.max(0,F.y)));let j=Number.isFinite(_.width),I=Number.isFinite(_.height);return(j&&I?Math.max(_.width/L,_.height/$):j?_.width/L*(F?Math.max(1,g/h):1):I?_.height/$*(F?Math.max(1,h/g):1):(_.scale||1)*Math.max(h,g))*(_.dpr||1)<=l?c:u??(u=qs(a(),f))},b=async(_,L)=>{let{rasterize:$}=await Promise.resolve().then(()=>(Ie(),cn));return $(c,{..._,...L||{},format:"png"})},w=()=>{if(!r)throw i("svgString");if(o)throw new Error("[snapdom] svgString: engine:'html-in-canvas' produces a raster capture; there is no serialized SVG");let _=t.indexOf(",");return _>=0?decodeURIComponent(t.slice(_+1)):""},C=_=>Object.defineProperty({..._||{},svgString:w},"url",r?{get:a,enumerable:!0}:{get(){throw i("export.url")},enumerable:!1,configurable:!0}),x={img:async(_,L)=>{if(o)return b(_,L);let{toImg:$}=await Promise.resolve().then(()=>(Po(),$o)),F={..._,...L||{}};return $(y(F),F)},svg:async(_,L)=>{if(o)return b(_,L);let{toSvg:$}=await Promise.resolve().then(()=>(Po(),$o)),F={..._,...L||{}};return $(y(F),F)},canvas:async(_,L)=>{let{toCanvas:$}=await Promise.resolve().then(()=>(Le(),Ea)),F={..._,...L||{}};return $(y(F),F)},blob:async(_,L)=>{let{toBlob:$}=await Promise.resolve().then(()=>(Lo(),_a)),F={..._,...L||{}};return $(y(F),F)},png:async(_,L)=>{let{rasterize:$}=await Promise.resolve().then(()=>(Ie(),cn)),F={..._,...L||{},format:"png"};return $(y(F),F)},jpeg:async(_,L)=>{let{rasterize:$}=await Promise.resolve().then(()=>(Ie(),cn)),F={..._,...L||{},format:"jpeg"};return $(y(F),F)},webp:async(_,L)=>{let{rasterize:$}=await Promise.resolve().then(()=>(Ie(),cn)),F={..._,...L||{},format:"webp"};return $(y(F),F)},download:async(_,L)=>{let{download:$}=await Promise.resolve().then(()=>(Ta(),Fa)),F={..._,...L||{}};return $(y(F),F)}};if(!r)for(let _ of Object.keys(x)){let L=_==="download"?"download()":`to${_.charAt(0).toUpperCase()}${_.slice(1)}()`;x[_]=async()=>{throw i(L)}}let S={};for(let _ of["img","svg","canvas","blob","png","jpeg","webp"])S[_]=async L=>x[_](e,{...E(_,L||{}),[ed]:!0});S.jpg=S.jpeg;let A=_=>Object.defineProperty({...e,..._},"options",{value:e,configurable:!0}),v=A({artifacts:e.__artifacts||null,export:C(),exports:S}),M=await Vn("defineExports",v),k=Object.assign({},...M.filter(_=>_&&typeof _=="object").reverse()),R={...x,...k};R.jpeg&&!R.jpg&&(R.jpg=(_,L)=>R.jpeg(_,L));function E(_,L){let $=L||{},F={...e,...$},j=typeof $.type=="string"?$.type.toLowerCase():"",I=typeof $.format=="string"?$.format.toLowerCase():$a.has(j)?j:"";I&&(F.format=I==="jpg"?"jpeg":I),F.__explicitFormat=I?F.format:e.__explicitFormat??null,_==="blob"&&!F.__explicitFormat&&(F.format=o?"png":"svg"),F.type=F.format;let V=Z=>Z==="jpeg"||Z==="jpg"||Z==="webp";return[_,F.format,j].map(Z=>typeof Z=="string"?Z.toLowerCase():"").find(V)&&(F.backgroundColor==null||F.backgroundColor==="transparent")&&(F.backgroundColor="#ffffff"),F.scale!==1&&(Number.isFinite(F.width)||Number.isFinite(F.height))&&U(F,"width/height define the output size \u2014 scale is ignored when either is set"),F}let T=!1,N=Promise.resolve();async function B(_,L){let $=Object.freeze(L&&typeof L=="object"?{...L}:{}),F=async()=>{let I=R[_];if(!I)throw new Error(`[snapdom] Unknown export type: ${_}`);let V=E(_,$),pt=A({artifacts:e.__artifacts||null,export:C({type:_,options:V,requestedOptions:$})}),Z=V.format,Ft=V.type;await Vn("beforeExport",pt,{format:_,options:V});let Tt=V.format!==Z?V.format:V.type!==Ft?V.type:"",St=typeof Tt=="string"?Tt.toLowerCase():"";$a.has(St)&&(V.format=St==="jpg"?"jpeg":St,V.type=V.format,V.__explicitFormat=V.format,/^(?:jpeg|webp)$/.test(V.format)&&(V.backgroundColor==null||V.backgroundColor==="transparent")&&(V.backgroundColor="#ffffff"));let at=await I(pt,V);return await Vn("afterExport",pt,{format:_,options:V,result:at}),T||(T=!0,await Pt("afterSnap",e)),at},j=N.then(F);return N=j.catch(()=>{}),j}let H={url:t,needs:n,warnings:e.__session&&e.__session.warnings||[],toRaw:()=>{if(!r)throw i("toRaw()");return a()},to:(_,L)=>B(_,L),toImg:_=>B("img",_),toSvg:_=>B("svg",_),toCanvas:_=>B("canvas",_),toBlob:_=>B("blob",_),toPng:_=>B("png",_),toJpg:_=>B("jpg",_),toWebp:_=>B("webp",_),download:_=>B("download",_)};r?o&&Object.defineProperty(H,"url",{get:a,enumerable:!0,configurable:!0}):Object.defineProperty(H,"url",{get(){throw i("url")},enumerable:!1,configurable:!0}),Object.defineProperty(H,"meta",r?{value:e.meta,enumerable:!0}:{get(){throw i("meta")},enumerable:!1,configurable:!0});for(let _ of Object.keys(R)){let L="to"+_.charAt(0).toUpperCase()+_.slice(1);H[L]||(H[L]=$=>B(_,$))}return H}G.toRaw=(t,e)=>G(t,e).then(n=>n.toRaw());G.toImg=(t,e)=>G(t,e).then(n=>n.toImg());G.toSvg=(t,e)=>G(t,e).then(n=>n.toSvg());G.toCanvas=(t,e)=>G(t,e).then(n=>n.toCanvas());G.toBlob=(t,e)=>G(t,e).then(n=>n.toBlob());G.toPng=(t,e)=>G(t,{...e,format:"png"}).then(n=>n.toPng());G.toJpg=(t,e)=>G(t,{...e,format:"jpeg"}).then(n=>n.toJpg());G.toWebp=(t,e)=>G(t,{...e,format:"webp"}).then(n=>n.toWebp());G.download=(t,e)=>G(t,e).then(n=>n.download());typeof window<"u"&&(window.snapdom=G);})();
|