hyperframes 0.7.53 → 0.7.55

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/dist/cli.js CHANGED
@@ -50,7 +50,7 @@ var VERSION;
50
50
  var init_version = __esm({
51
51
  "src/version.ts"() {
52
52
  "use strict";
53
- VERSION = true ? "0.7.53" : "0.0.0-dev";
53
+ VERSION = true ? "0.7.55" : "0.0.0-dev";
54
54
  }
55
55
  });
56
56
 
@@ -56524,7 +56524,7 @@ var RUNTIME_IIFE;
56524
56524
  var init_runtime_inline = __esm({
56525
56525
  "../core/dist/generated/runtime-inline.js"() {
56526
56526
  "use strict";
56527
- RUNTIME_IIFE = '"use strict";(()=>{var kl=Object.create;var ai=Object.defineProperty;var Dl=Object.getOwnPropertyDescriptor;var Il=Object.getOwnPropertyNames;var Pl=Object.getPrototypeOf,Ol=Object.prototype.hasOwnProperty;var Bl=(e,t,n)=>t in e?ai(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var te=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Hl=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Il(t))!Ol.call(e,r)&&r!==n&&ai(e,r,{get:()=>t[r],enumerable:!(i=Dl(t,r))||i.enumerable});return e};var Gl=(e,t,n)=>(n=e!=null?kl(Pl(e)):{},Hl(t||!e||!e.__esModule?ai(n,"default",{value:e,enumerable:!0}):n,e));var be=(e,t,n)=>Bl(e,typeof t!="symbol"?t+"":t,n);var To=te((Zp,vi)=>{var X=String,Mo=function(){return{isColorSupported:!1,reset:X,bold:X,dim:X,italic:X,underline:X,inverse:X,hidden:X,strikethrough:X,black:X,red:X,green:X,yellow:X,blue:X,magenta:X,cyan:X,white:X,gray:X,bgBlack:X,bgRed:X,bgGreen:X,bgYellow:X,bgBlue:X,bgMagenta:X,bgCyan:X,bgWhite:X,blackBright:X,redBright:X,greenBright:X,yellowBright:X,blueBright:X,magentaBright:X,cyanBright:X,whiteBright:X,bgBlackBright:X,bgRedBright:X,bgGreenBright:X,bgYellowBright:X,bgBlueBright:X,bgMagentaBright:X,bgCyanBright:X,bgWhiteBright:X}};vi.exports=Mo();vi.exports.createColors=Mo});var Mi=te(()=>{});var En=te((nh,Ro)=>{"use strict";var No=To(),Lo=Mi(),Gt=class e extends Error{constructor(t,n,i,r,o,s){super(t),this.name="CssSyntaxError",this.reason=t,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(t){if(!this.source)return"";let n=this.source;t==null&&(t=No.isColorSupported);let i=c=>c,r=c=>c,o=c=>c;if(t){let{bold:c,gray:m,red:f}=No.createColors(!0);r=x=>c(f(x)),i=x=>m(x),Lo&&(o=x=>Lo(x))}let s=n.split(/\\r?\\n/),l=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),u=String(a).length;return s.slice(l,a).map((c,m)=>{let f=l+1+m,x=" "+(" "+f).slice(-u)+" | ";if(f===this.line){if(c.length>160){let b=20,g=Math.max(0,this.column-b),A=Math.max(this.column+b,this.endColumn+b),_=c.slice(g,A),N=i(x.replace(/\\d/g," "))+c.slice(0,Math.min(this.column-1,b-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(_)+`\n `+N+r("^")}let S=i(x.replace(/\\d/g," "))+c.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(c)+`\n `+S+r("^")}return" "+i(x)+o(c)}).join(`\n`)}toString(){let t=this.showSourceCode();return t&&(t=`\n\n`+t+`\n`),this.name+": "+this.message+t}};Ro.exports=Gt;Gt.default=Gt});var Ti=te((ih,Do)=>{"use strict";var Du=/(<)(\\/?style\\b)/gi,Iu=/(<)(!--)/g;function Ye(e){return typeof e!="string"||!e.includes("<")?e:e.replace(Du,"\\\\3c $2").replace(Iu,"\\\\3c $2")}var ko={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Pu(e){return e[0].toUpperCase()+e.slice(1)}var Wt=class{constructor(t){this.builder=t}atrule(t,n){let i=t.raws,r="@"+t.name,o=t.params?this.rawValue(t,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),t.nodes)this.block(t,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(Ye(r+o+s),t)}}beforeAfter(t,n){let i;t.type==="decl"?i=this.raw(t,null,"beforeDecl"):t.type==="comment"?i=this.raw(t,null,"beforeComment"):n==="before"?i=this.raw(t,null,"beforeRule"):i=this.raw(t,null,"beforeClose");let r=t.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(t,null,"indent");if(s.length)for(let l=0;l<o;l++)i+=s}return i}block(t,n){let i=this.raw(t,"between","beforeOpen");this.builder(Ye(n+i)+"{",t,"start");let r;t.nodes&&t.nodes.length?(this.body(t),r=this.raw(t,"after")):r=this.raw(t,"after","emptyBody"),r&&this.builder(Ye(r)),this.builder("}",t,"end")}body(t){let n=t.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(t,"semicolon"),o=t.type==="document";for(let s=0;s<n.length;s++){let l=n[s],a=this.raw(l,"before");a&&this.builder(o?a:Ye(a)),this.stringify(l,i!==s||r)}}comment(t){let n=this.raw(t,"left","commentLeft"),i=this.raw(t,"right","commentRight");this.builder(Ye("/*"+n+t.text+i+"*/"),t)}decl(t,n){let i=t.raws,r=this.raw(t,"between","colon"),o=t.prop+r+this.rawValue(t,"value");t.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(Ye(o),t)}document(t){this.body(t)}raw(t,n,i){let r;if(i||(i=n),n&&(r=t.raws[n],typeof r<"u"))return r;let o=t.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return ko[i];let s=t.root(),l=s.rawCache||(s.rawCache={});if(typeof l[i]<"u")return l[i];if(i==="before"||i==="after")return this.beforeAfter(t,i);{let a="raw"+Pu(i);this[a]?r=this[a](s,t):s.walk(u=>{if(r=u.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=ko[i]),l[i]=r,r}rawBeforeClose(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(t,n){let i;return t.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(t,n){let i;return t.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(t){let n;return t.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(t){let n;return t.walk(i=>{if(i.nodes&&(i.parent!==t||t.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(t){let n;return t.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(t){if(t.raws.indent)return t.raws.indent;let n;return t.walk(i=>{let r=i.parent;if(r&&r!==t&&r.parent&&r.parent===t&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(t,n){let i=t[n],r=t.raws[n];return r&&r.value===i?r.raw:i}root(t){if(this.body(t),t.raws.after){let n=t.raws.after,i=t.parent&&t.parent.type==="document";this.builder(i?n:Ye(n))}}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(Ye(t.raws.ownSemicolon),t,"end")}stringify(t,n){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,n)}};Do.exports=Wt;Wt.default=Wt});var Ut=te((rh,Io)=>{"use strict";var Ou=Ti();function Ni(e,t){new Ou(t).stringify(e)}Io.exports=Ni;Ni.default=Ni});var An=te((oh,Li)=>{"use strict";Li.exports.isClean=Symbol("isClean");Li.exports.my=Symbol("my")});var jt=te((sh,Po)=>{"use strict";var Bu=En(),Hu=Ti(),Gu=Ut(),{isClean:Vt,my:Wu}=An();function Ri(e,t){let n=new e.constructor;for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i)||i==="proxyCache")continue;let r=e[i],o=typeof r;i==="parent"&&o==="object"?t&&(n[i]=t):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>Ri(s,n)):(o==="object"&&r!==null&&(r=Ri(r)),n[i]=r)}return n}function je(e,t){if(t&&typeof t.offset<"u")return t.offset;let n=1,i=1,r=0;for(let o=0;o<e.length;o++){if(i===t.line&&n===t.column){r=o;break}e[o]===`\n`?(n=1,i+=1):n+=1}return r}var zt=class{get proxyOf(){return this}constructor(t={}){this.raws={},this[Vt]=!1,this[Wu]=!0;for(let n in t)if(n==="nodes"){this.nodes=[];for(let i of t[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=t[n]}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\\n\\s{4}at /.test(t.stack)){let n=this.source;t.stack=t.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return t}after(t){return this.parent.insertAfter(this,t),this}assign(t={}){for(let n in t)this[n]=t[n];return this}before(t){return this.parent.insertBefore(this,t),this}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}clone(t={}){let n=Ri(this);for(let i in t)n[i]=t[i];return n}cloneAfter(t={}){let n=this.clone(t);return this.parent.insertAfter(this,n),n}cloneBefore(t={}){let n=this.clone(t);return this.parent.insertBefore(this,n),n}error(t,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(t,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new Bu(t)}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:n==="root"?()=>t.root().toProxy():t[n]},set(t,n,i){return t[n]===i||(t[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&t.markDirty()),!0}}}markClean(){this[Vt]=!0}markDirty(){if(this[Vt]){this[Vt]=!1;let t=this;for(;t=t.parent;)t[Vt]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(t={}){let n=this.source.start;if(t.index)n=this.positionInside(t.index);else if(t.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(je(i,this.source.start),je(i,this.source.end)).indexOf(t.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(t){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=je(r,this.source.start),s=o+t;for(let l=o;l<s;l++)r[l]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}rangeBy(t={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:je(n,this.source.start)},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:je(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(t.word){let s=n.slice(je(n,this.source.start),je(n,this.source.end)).indexOf(t.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+t.word.length))}else t.start?i={column:t.start.column,line:t.start.line,offset:je(n,t.start)}:t.index&&(i=this.positionInside(t.index)),t.end?r={column:t.end.column,line:t.end.line,offset:je(n,t.end)}:typeof t.endIndex=="number"?r=this.positionInside(t.endIndex):t.index&&(r=this.positionInside(t.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(t,n){return new Hu().raw(this,t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let n=this,i=!1;for(let r of t)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let l=this[s];if(Array.isArray(l))i[s]=l.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof l=="object"&&l.toJSON)i[s]=l.toJSON(null,n);else if(s==="source"){if(l==null)continue;let a=n.get(l.input);a==null&&(a=o,n.set(l.input,o),o++),i[s]={end:l.end,inputId:a,start:l.start}}else i[s]=l}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=Gu){t.stringify&&(t=t.stringify);let n="";return t(this,i=>{n+=i}),n}warn(t,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return t.warn(n,r)}};Po.exports=zt;zt.default=zt});var $t=te((ah,Oo)=>{"use strict";var Uu=jt(),qt=class extends Uu{constructor(t){super(t),this.type="comment"}};Oo.exports=qt;qt.default=qt});var Jt=te((lh,Bo)=>{"use strict";var Vu=jt(),Kt=class extends Vu{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(t){t&&typeof t.value<"u"&&typeof t.value!="string"&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}};Bo.exports=Kt;Kt.default=Kt});var Xe=te((uh,$o)=>{"use strict";var Ho=$t(),Go=Jt(),zu=jt(),{isClean:Wo,my:Uo}=An(),ki,Vo,zo,Di;function jo(e){return e.map(t=>(t.nodes&&(t.nodes=jo(t.nodes)),delete t.source,t))}function qo(e){if(e[Wo]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)qo(t)}var De=class e extends zu{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...t){for(let n of t){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let n of this.nodes)n.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=t(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:t[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>t[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>t[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>t.root().toProxy():n==="nodes"?t.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?t[n].toProxy():t[n]:t[n]},set(t,n,i){return t[n]===i||(t[n]=i,(n==="name"||n==="params"||n==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,n){let i=this.index(t),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(t);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(t,n){let i=this.index(t),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(t);for(let l of o)this.proxyOf.nodes.splice(i,0,l);let s;for(let l in this.indexes)s=this.indexes[l],i<=s&&(this.indexes[l]=s+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t=="string")t=jo(Vo(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let r of t)r.parent&&r.parent.removeChild(r,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let r of t)r.parent&&r.parent.removeChild(r,"ignore")}else if(t.type)t=[t];else if(t.prop){if(typeof t.value>"u")throw new Error("Value field is missed in node creation");typeof t.value!="string"&&(t.value=String(t.value)),t=[new Go(t)]}else if(t.selector||t.selectors)t=[new Di(t)];else if(t.name)t=[new ki(t)];else if(t.text)t=[new Ho(t)];else throw new Error("Unknown node type in node creation");return t.map(r=>(r[Uo]||e.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[Wo]&&qo(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...t){t=t.reverse();for(let n of t){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=t&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(t,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(t,i))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((n,i)=>{let r;try{r=t(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(t)),r})}walkAtRules(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&t.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(t){return this.walk((n,i)=>{if(n.type==="comment")return t(n,i)})}walkDecls(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&t.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&t.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};De.registerParse=e=>{Vo=e};De.registerRule=e=>{Di=e};De.registerAtRule=e=>{ki=e};De.registerRoot=e=>{zo=e};$o.exports=De;De.default=De;De.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,ki.prototype):e.type==="rule"?Object.setPrototypeOf(e,Di.prototype):e.type==="decl"?Object.setPrototypeOf(e,Go.prototype):e.type==="comment"?Object.setPrototypeOf(e,Ho.prototype):e.type==="root"&&Object.setPrototypeOf(e,zo.prototype),e[Uo]=!0,e.nodes&&e.nodes.forEach(t=>{De.rebuild(t)})}});var wn=te((ch,Jo)=>{"use strict";var Ko=Xe(),ht=class extends Ko{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}};Jo.exports=ht;ht.default=ht;Ko.registerAtRule(ht)});var Cn=te((dh,Qo)=>{"use strict";var ju=Xe(),Yo,Xo,ct=class extends ju{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new Yo(new Xo,this,t).stringify()}};ct.registerLazyResult=e=>{Yo=e};ct.registerProcessor=e=>{Xo=e};Qo.exports=ct;ct.default=ct});var es=te((fh,Zo)=>{var qu="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",$u=(e,t=21)=>(n=t)=>{let i="",r=n|0;for(;r--;)i+=e[Math.random()*e.length|0];return i},Ku=(e=21)=>{let t="",n=e|0;for(;n--;)t+=qu[Math.random()*64|0];return t};Zo.exports={nanoid:Ku,customAlphabet:$u}});var Fn=te(()=>{});var _n=te(()=>{});var Ii=te(()=>{});var ts=te(()=>{});var Oi=te((Eh,rs)=>{"use strict";var{existsSync:Ju,readFileSync:Yu}=ts(),{dirname:Pi,join:Xu}=Fn(),{SourceMapConsumer:ns,SourceMapGenerator:is}=_n();function Qu(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var Yt=class{constructor(t,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=Pi(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new ns(this.json||this.text)),this.consumerCache}decodeInline(t){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=t.match(r)||t.match(o);if(s)return decodeURIComponent(t.substr(s[0].length));let l=t.match(n)||t.match(i);if(l)return Qu(t.substr(l[0].length));let a=t.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(t){return t.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let n=t.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=t.lastIndexOf(n.pop()),r=t.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(t.substring(i,r)))}loadFile(t,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(t))&&(this.root=Pi(t),Ju(t)))return this.mapFile=t,Yu(t,"utf-8").toString().trim()}loadMap(t,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(t);if(i){let r=this.loadFile(i,t,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof ns)return is.fromSourceMap(n).toString();if(n instanceof is)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let i=this.annotation;t&&(i=Xu(Pi(t),i));let r=this.loadFile(i,t,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(t,n){return t?t.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};rs.exports=Yt;Yt.default=Yt});var Xt=te((Ah,us)=>{"use strict";var{nanoid:Zu}=es(),{isAbsolute:Gi,resolve:Wi}=Fn(),{SourceMapConsumer:ec,SourceMapGenerator:tc}=_n(),{fileURLToPath:os,pathToFileURL:vn}=Ii(),ss=En(),nc=Oi(),Bi=Mi(),Hi=Symbol("lineToIndexCache"),ic=!!(ec&&tc),as=!!(Wi&&Gi);function ls(e){if(e[Hi])return e[Hi];let t=e.css.split(`\n`),n=new Array(t.length),i=0;for(let r=0,o=t.length;r<o;r++)n[r]=i,i+=t[r].length+1;return e[Hi]=n,n}var gt=class{get from(){return this.file||this.id}constructor(t,n={}){if(t===null||typeof t>"u"||typeof t=="object"&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.toString(),this.css[0]==="\\uFEFF"||this.css[0]==="\\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!as||/^\\w+:\\/\\//.test(n.from)||Gi(n.from)?this.file=n.from:this.file=Wi(n.from)),as&&ic){let i=new nc(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Zu(6)+">"),this.map&&(this.map.file=this.from)}error(t,n,i,r={}){let o,s,l,a,u;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){l=f.offset;let x=this.fromOffset(l);s=x.line,o=x.col}else s=f.line,o=f.column,l=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let c=this.origin(n,i,s,o);return c?u=new ss(t,c.endLine===void 0?c.line:{column:c.column,line:c.line},c.endLine===void 0?c.column:{column:c.endColumn,line:c.endLine},c.source,c.file,r.plugin):u=new ss(t,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),u.input={column:i,endColumn:o,endLine:s,endOffset:l,line:n,offset:a,source:this.css},this.file&&(vn&&(u.input.url=vn(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(t,n){return ls(this)[t-1]+n-1}fromOffset(t){let n=ls(this),i=n[n.length-1],r=0;if(t>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),t<n[s])o=s-1;else if(t>=n[s+1])r=s+1;else{r=s;break}}return{col:t-n[r]+1,line:r+1}}mapResolve(t){return/^\\w+:\\/\\//.test(t)?t:Wi(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:t});if(!s.source)return!1;let l;typeof i=="number"&&(l=o.originalPositionFor({column:r,line:i}));let a;Gi(s.source)?a=vn(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||vn(this.map.mapFile));let u={column:s.column,endColumn:l&&l.column,endLine:l&&l.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(os)u.file=os(a);else throw new Error("file: protocol is not available in this PostCSS build");let c=o.sourceContentFor(s.source);return c&&(u.source=c),u}toJSON(){let t={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(t[n]=this[n]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}};us.exports=gt;gt.default=gt;Bi&&Bi.registerInput&&Bi.registerInput(gt)});var xt=te((wh,ms)=>{"use strict";var cs=Xe(),ds,fs,Qe=class extends cs{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,n,i){let r=super.normalize(t);if(n){if(i==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of r)o.raws.before=n.raws.before}return r}removeChild(t,n){let i=this.index(t);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(t)}toResult(t={}){return new ds(new fs,this,t).stringify()}};Qe.registerLazyResult=e=>{ds=e};Qe.registerProcessor=e=>{fs=e};ms.exports=Qe;Qe.default=Qe;cs.registerRoot(Qe)});var Ui=te((Ch,ps)=>{"use strict";var Qt={comma(e){return Qt.split(e,[","],!0)},space(e){let t=[" ",`\n`," "];return Qt.split(e,t)},split(e,t,n){let i=[],r="",o=!1,s=0,l=!1,a="",u=!1;for(let c of e)u?u=!1:c==="\\\\"?u=!0:l?c===a&&(l=!1):c===\'"\'||c==="\'"?(l=!0,a=c):c==="("?s+=1:c===")"?s>0&&(s-=1):s===0&&t.includes(c)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=c;return(n||r!=="")&&i.push(r.trim()),i}};ps.exports=Qt;Qt.default=Qt});var Mn=te((Fh,gs)=>{"use strict";var hs=Xe(),rc=Ui(),bt=class extends hs{get selectors(){return rc.comma(this.selector)}set selectors(t){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=t.join(i)}constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}};gs.exports=bt;bt.default=bt;hs.registerRule(bt)});var bs=te((_h,xs)=>{"use strict";var oc=wn(),sc=$t(),ac=Jt(),lc=Xt(),uc=Oi(),cc=xt(),dc=Mn();function Zt(e,t){if(Array.isArray(e))return e.map(r=>Zt(r));let{inputs:n,...i}=e;if(n){t=[];for(let r of n){let o={...r,__proto__:lc.prototype};o.map&&(o.map={...o.map,__proto__:uc.prototype}),t.push(o)}}if(i.nodes&&(i.nodes=e.nodes.map(r=>Zt(r,t))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=t[r])}if(i.type==="root")return new cc(i);if(i.type==="decl")return new ac(i);if(i.type==="rule")return new dc(i);if(i.type==="comment")return new sc(i);if(i.type==="atrule")return new oc(i);throw new Error("Unknown node type: "+e.type)}xs.exports=Zt;Zt.default=Zt});var zi=te((vh,Cs)=>{"use strict";var{dirname:Tn,relative:Ss,resolve:Es,sep:As}=Fn(),{SourceMapConsumer:ws,SourceMapGenerator:Nn}=_n(),{pathToFileURL:ys}=Ii(),fc=Xt(),mc=!!(ws&&Nn),pc=!!(Tn&&Es&&Ss&&As),Vi=class{constructor(t,n,i,r){this.stringify=t,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let t;this.isInline()?t="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?t=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?t=this.mapOpts.annotation(this.opts.to,this.root):t=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let n=this.toUrl(this.path(t.file)),i=t.root||Tn(t.file),r;this.mapOpts.sourcesContent===!1?(r=new ws(t.text),r.sourcesContent&&(r.sourcesContent=null)):r=t.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let t;for(let n=this.root.nodes.length-1;n>=0;n--)t=this.root.nodes[n],t.type==="comment"&&t.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let t;for(;(t=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",t+3);if(n===-1)break;for(;t>0&&this.css[t-1]===`\n`;)t--;this.css=this.css.slice(0,t)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),pc&&mc&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,n=>{t+=n}),[t]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=Nn.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new Nn({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new Nn({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(l,a,u)=>{if(this.css+=l,a&&u!=="end"&&(r.generated.line=t,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=l.match(/\\n/g),s?(t+=s.length,o=l.lastIndexOf(`\n`),n=l.length-o):n+=l.length,a&&u!=="start"){let c=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==c.last||c.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=t,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=t,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\\w+:\\/\\//.test(t))return t;let n=this.memoizedPaths.get(t);if(n)return n;let i=this.opts.to?Tn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=Tn(Es(i,this.mapOpts.annotation)));let r=Ss(i,t);return this.memoizedPaths.set(t,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(t=>{if(t.source&&t.source.input.map){let n=t.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let t=new fc(this.originalCSS,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}setSourcesContent(){let t={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!t[i]){t[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}toFileUrl(t){let n=this.memoizedFileURLs.get(t);if(n)return n;if(ys){let i=ys(t).toString();return this.memoizedFileURLs.set(t,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(t){let n=this.memoizedURLs.get(t);if(n)return n;As==="\\\\"&&(t=t.replace(/\\\\/g,"/"));let i=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,i),i}};Cs.exports=Vi});var vs=te((Mh,_s)=>{"use strict";var Ln=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,Rn=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,hc=/.[\\r\\n"\'(/\\\\]/,Fs=/[\\da-f]/i;_s.exports=function(t,n={}){let i=t.css.valueOf(),r=n.ignoreErrors,o,s,l,a,u,c,m,f,x,S,b=i.length,g=0,A=[],_=[],N=-1;function J(){return g}function B(v){throw t.error("Unclosed "+v,g)}function M(){return _.length===0&&g>=b}function E(v){if(_.length)return _.pop();if(g>=b)return;let T=v?v.ignoreUnclosed:!1;switch(o=i.charCodeAt(g),o){case 10:case 32:case 9:case 13:case 12:{a=g;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);c=["space",i.slice(g,a)],g=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let k=String.fromCharCode(o);c=[k,k,g];break}case 40:{if(S=A.length?A.pop()[1]:"",x=i.charCodeAt(g+1),S==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=g;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||T){a=g;break}else B("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["brackets",i.slice(g,a+1),g,a],g=a}else g<=N?c=["(","(",g]:(a=i.indexOf(")",g+1),s=i.slice(g,a+1),a===-1||hc.test(s)?(N=a===-1?b:a,c=["(","(",g]):(c=["brackets",s,g,a],g=a));break}case 39:case 34:{u=o===39?"\'":\'"\',a=g;do{if(m=!1,a=i.indexOf(u,a+1),a===-1)if(r||T){a=g+1;break}else B("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["string",i.slice(g,a+1),g,a],g=a;break}case 64:{Ln.lastIndex=g+1,Ln.test(i),Ln.lastIndex===0?a=i.length-1:a=Ln.lastIndex-2,c=["at-word",i.slice(g,a+1),g,a],g=a;break}case 92:{for(a=g,l=!0;i.charCodeAt(a+1)===92;)a+=1,l=!l;if(o=i.charCodeAt(a+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Fs.test(i.charAt(a)))){for(;Fs.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}c=["word",i.slice(g,a+1),g,a],g=a;break}default:{o===47&&i.charCodeAt(g+1)===42?(a=i.indexOf("*/",g+2)+1,a===0&&(r||T?a=i.length:B("comment")),c=["comment",i.slice(g,a+1),g,a],g=a):(Rn.lastIndex=g+1,Rn.test(i),Rn.lastIndex===0?a=i.length-1:a=Rn.lastIndex-2,c=["word",i.slice(g,a+1),g,a],A.push(c),g=a);break}}return g++,c}function F(v){_.push(v)}return{back:F,endOfFile:M,nextToken:E,position:J}}});var Ls=te((Th,Ns)=>{"use strict";var gc=wn(),xc=$t(),bc=Jt(),yc=xt(),Ms=Mn(),Sc=vs(),Ts={empty:!0,space:!0};function Ec(e){for(let t=e.length-1;t>=0;t--){let n=e[t],i=n[3]||n[2];if(i)return i}}var ji=class{constructor(t){this.input=t,this.root=new yc,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{column:1,line:1,offset:0}}}atrule(t){let n=new gc;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2]);let i,r,o,s=!1,l=!1,a=[],u=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),i=t[0],i==="("||i==="["?u.push(i==="("?")":"]"):i==="{"&&u.length>0?u.push("}"):i===u[u.length-1]&&u.pop(),u.length===0)if(i===";"){n.source.end=this.getPosition(t[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){l=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(t);break}else a.push(t);else a.push(t);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(t=a[a.length-1],n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),l&&(n.nodes=[],this.current=n)}checkMissedSemicolon(t){let n=this.colon(t);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=t[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(t){let n=0,i,r,o;for(let[s,l]of t.entries()){if(r=l,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(t){let n=new xc;this.init(n,t[2]),n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++;let i=t[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=Sc(this.input)}decl(t,n){let i=new bc;this.init(i,t[0][2]);let r=t[t.length-1];for(r[0]===";"&&(this.semicolon=!0,t.pop()),i.source.end=this.getPosition(r[3]||r[2]||Ec(t)),i.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),i.raws.before+=t.shift()[1];for(i.source.start=this.getPosition(t[0][2]),i.prop="";t.length;){let u=t[0][0];if(u===":"||u==="space"||u==="comment")break;i.prop+=t.shift()[1]}i.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],l;for(;t.length&&(l=t[0][0],!(l!=="space"&&l!=="comment"));)s.push(t.shift());this.precheckMissedSemicolon(t);for(let u=t.length-1;u>=0;u--){if(o=t[u],o[1].toLowerCase()==="!important"){i.important=!0;let c=this.stringFrom(t,u);c=this.spacesFromEnd(t)+c,c!==" !important"&&(i.raws.important=c);break}else if(o[1].toLowerCase()==="important"){let c=t.slice(0),m="";for(let f=u;f>0;f--){let x=c[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=c.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,t=c)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(u=>u[0]!=="space"&&u[0]!=="comment")&&(i.raws.between+=s.map(u=>u[1]).join(""),s=[]),this.raw(i,"value",s.concat(t),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let n=new Ms;this.init(n,t[2]),n.selector="",n.raws.between="",this.current=n}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(t[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(t){let n=this.input.fromOffset(t);return{column:n.col,line:n.line,offset:t}}init(t,n){this.current.push(t),t.source={input:this.input,start:this.getPosition(n)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let n=!1,i=null,r=!1,o=null,s=[],l=t[1].startsWith("--"),a=[],u=t;for(;u;){if(i=u[0],a.push(u),i==="("||i==="[")o||(o=u),s.push(i==="("?")":"]");else if(l&&r&&i==="{")o||(o=u),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,l);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!l)for(;a.length&&(u=a[a.length-1][0],!(u!=="space"&&u!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,l)}else this.unknownWord(a)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,n,i,r){let o,s,l=i.length,a="",u=!0,c,m;for(let f=0;f<l;f+=1)o=i[f],s=o[0],s==="space"&&f===l-1&&!r?u=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",c=i[f+1]?i[f+1][0]:"empty",!Ts[m]&&!Ts[c]?a.slice(-1)===","?u=!1:a+=o[1]:u=!1):a+=o[1];if(!u){let f=i.reduce((x,S)=>x+S[1],"");t.raws[n]={raw:f,value:a}}t[n]=a}rule(t){t.pop();let n=new Ms;this.init(n,t[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(n,"selector",t),this.current=n}spacesAndCommentsFromEnd(t){let n,i="";for(;t.length&&(n=t[t.length-1][0],!(n!=="space"&&n!=="comment"));)i=t.pop()[1]+i;return i}spacesAndCommentsFromStart(t){let n,i="";for(;t.length&&(n=t[0][0],!(n!=="space"&&n!=="comment"));)i+=t.shift()[1];return i}spacesFromEnd(t){let n,i="";for(;t.length&&(n=t[t.length-1][0],n==="space");)i=t.pop()[1]+i;return i}stringFrom(t,n){let i="";for(let r=n;r<t.length;r++)i+=t[r][1];return t.splice(n,t.length-n),i}unclosedBlock(){let t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)}unclosedBracket(t){throw this.input.error("Unclosed bracket",{offset:t[2]},{offset:t[2]+1})}unexpectedClose(t){throw this.input.error("Unexpected }",{offset:t[2]},{offset:t[2]+1})}unknownWord(t){throw this.input.error("Unknown word "+t[0][1],{offset:t[0][2]},{offset:t[0][2]+t[0][1].length})}unnamedAtrule(t,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};Ns.exports=ji});var Dn=te((Nh,Rs)=>{"use strict";var Ac=Xe(),wc=Xt(),Cc=Ls();function kn(e,t){let n=new wc(e,t),i=new Cc(n);try{i.parse()}catch(r){throw r}return i.root}Rs.exports=kn;kn.default=kn;Ac.registerParse(kn)});var qi=te((Lh,ks)=>{"use strict";var en=class{constructor(t,n={}){if(this.type="warning",this.text=t,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};ks.exports=en;en.default=en});var In=te((Rh,Ds)=>{"use strict";var Fc=qi(),tn=class{get content(){return this.css}constructor(t,n,i){this.processor=t,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(t,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new Fc(t,n);return this.messages.push(i),i}warnings(){return this.messages.filter(t=>t.type==="warning")}};Ds.exports=tn;tn.default=tn});var $i=te((kh,Ps)=>{"use strict";var Is={};Ps.exports=function(t){Is[t]||(Is[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var Yi=te((Ih,Gs)=>{"use strict";var _c=Xe(),vc=Cn(),Mc=zi(),Tc=Dn(),Os=In(),Nc=xt(),Lc=Ut(),{isClean:Ge,my:Rc}=An(),Dh=$i(),kc={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Dc={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Ic={Once:!0,postcssPlugin:!0,prepare:!0},yt=0;function nn(e){return typeof e=="object"&&typeof e.then=="function"}function Hs(e){let t=!1,n=kc[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+"-"+t,yt,n+"Exit",n+"Exit-"+t]:t?[n,n+"-"+t,n+"Exit",n+"Exit-"+t]:e.append?[n,yt,n+"Exit"]:[n,n+"Exit"]}function Bs(e){let t;return e.type==="document"?t=["Document",yt,"DocumentExit"]:e.type==="root"?t=["Root",yt,"RootExit"]:t=Hs(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function Ki(e){return e[Ge]=!1,e.nodes&&e.nodes.forEach(t=>Ki(t)),e}var Ji={},Ze=class e{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(t,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=Ki(n);else if(n instanceof e||n instanceof Os)r=Ki(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=Tc;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[Rc]&&_c.rebuild(r)}this.result=new Os(t,r,i),this.helpers={...Ji,postcss:Ji,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,n){let i=this.result.lastPlugin;try{n&&n.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin?(t.plugin=i.postcssPlugin,t.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return t}prepareVisitors(){this.listeners={};let t=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!Dc[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Ic[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?t(n,i,n[i][r]):t(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&t(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t<this.plugins.length;t++){let n=this.plugins[t],i=this.runOnRoot(n);if(nn(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ge];){t[Ge]=!0;let n=[Bs(t)];for(;n.length>0;){let i=this.visitTick(n);if(nn(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(t.type==="document"){let r=t.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(t,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(t){this.result.lastPlugin=t;try{if(typeof t=="object"&&t.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>t.Once(i,this.helpers));return nn(n[0])?Promise.all(n):n}return t.Once(this.result.root,this.helpers)}else if(typeof t=="function")return t(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let t=this.result.opts,n=Lc;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(t.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,l=>{s+=l}),this.result.css=s,this.result}let o=new Mc(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let t of this.plugins){let n=this.runOnRoot(t);if(nn(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ge];)t[Ge]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let n of t.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,n){return this.async().then(t,n)}toString(){return this.css}visitSync(t,n){for(let[i,r]of t){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(nn(o))throw this.getAsyncError()}}visitTick(t){let n=t[t.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){t.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,l]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return l(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,l;for(;l=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!l[Ge]){l[Ge]=!0,t.push(Bs(l));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===yt){i.nodes&&i.nodes.length&&(i[Ge]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}t.pop()}walkSync(t){t[Ge]=!0;let n=Hs(t);for(let i of n)if(i===yt)t.nodes&&t.each(r=>{r[Ge]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,t.toProxy()))return}}warnings(){return this.sync().warnings()}};Ze.registerPostcss=e=>{Ji=e};Gs.exports=Ze;Ze.default=Ze;Nc.registerLazyResult(Ze);vc.registerLazyResult(Ze)});var Us=te((Oh,Ws)=>{"use strict";var Pc=zi(),Oc=Dn(),Bc=In(),Hc=Ut(),Ph=$i(),rn=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let t,n=Oc;try{t=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(t,n,i){n=n.toString(),this.stringified=!1,this._processor=t,this._css=n,this._opts=i,this._map=void 0;let r=Hc;this.result=new Bc(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new Pc(r,void 0,this._opts,n);if(s.isMap()){let[l,a]=s.generate();l&&(this.result.css=l),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,n){return this.async().then(t,n)}toString(){return this._css}warnings(){return[]}};Ws.exports=rn;rn.default=rn});var zs=te((Bh,Vs)=>{"use strict";var Gc=Cn(),Wc=Yi(),Uc=Us(),Vc=xt(),dt=class{constructor(t=[]){this.version="8.5.14",this.plugins=this.normalize(t)}normalize(t){let n=[];for(let i of t)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(t,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new Uc(this,t,n):new Wc(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};Vs.exports=dt;dt.default=dt;Vc.registerProcessor(dt);Gc.registerProcessor(dt)});var Qs=te((Hh,Xs)=>{"use strict";var js=wn(),qs=$t(),zc=Xe(),jc=En(),$s=Jt(),Ks=Cn(),qc=bs(),$c=Xt(),Kc=Yi(),Jc=Ui(),Yc=jt(),Xc=Dn(),Xi=zs(),Qc=In(),Js=xt(),Ys=Mn(),Zc=Ut(),ed=qi();function le(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new Xi(e)}le.plugin=function(t,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(t+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(t+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let l=n(...s);return l.postcssPlugin=t,l.postcssVersion=new Xi().version,l}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,l,a){return le([r(a)]).process(s,l)},r};le.stringify=Zc;le.parse=Xc;le.fromJSON=qc;le.list=Jc;le.comment=e=>new qs(e);le.atRule=e=>new js(e);le.decl=e=>new $s(e);le.rule=e=>new Ys(e);le.root=e=>new Js(e);le.document=e=>new Ks(e);le.CssSyntaxError=jc;le.Declaration=$s;le.Container=zc;le.Processor=Xi;le.Document=Ks;le.Comment=qs;le.Warning=ed;le.AtRule=js;le.Result=Qc;le.Input=$c;le.Rule=Ys;le.Root=Js;le.Node=Yc;Kc.registerPostcss(le);Xs.exports=le;le.default=le});function pn(){return globalThis}function L(e,t){if(typeof window>"u")return;let n=pn(),i=n.__hf?.onSwallowed;if(i)try{i({label:e,error:t})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${e} swallowed:`,t)}function Ce(e){try{window.parent.postMessage(e,"*")}catch(t){L("bridge.postMessage",t)}}var Wl={play:(e,t)=>t.onPlay(),pause:(e,t)=>t.onPause(),"stop-media":(e,t)=>t.onStopMedia(),seek:(e,t)=>t.onSeek(Number(e.frame??0),e.seekMode??"commit"),tick:(e,t)=>t.onTick(),"set-muted":(e,t)=>t.onSetMuted(!!e.muted),"set-volume":(e,t)=>t.onSetVolume(Math.max(0,Math.min(1,Number(e.volume??1)))),"set-media-output-muted":(e,t)=>t.onSetMediaOutputMuted(!!e.muted),"set-native-media-sync-disabled":(e,t)=>t.onSetNativeMediaSyncDisabled(!!e.disabled),"set-web-audio-media-disabled":(e,t)=>t.onSetWebAudioMediaDisabled(!!e.disabled),"set-playback-rate":(e,t)=>t.onSetPlaybackRate(Number(e.playbackRate??1)),"set-root-duration":(e,t)=>t.onSetRootDuration(Number(e.durationSeconds??0)),"set-color-grading":(e,t)=>t.onSetColorGrading(e.target??null,e.grading??null),"set-color-grading-compare":(e,t)=>t.onSetColorGradingCompare(e.target??null,e.compare??null),"enable-pick-mode":(e,t)=>t.onEnablePickMode(),"disable-pick-mode":(e,t)=>t.onDisablePickMode(),"flash-elements":e=>Ul(e)};function Ul(e){let t=e.selectors,n=e.duration||800;t&&Vl(t,n)}function Or(e){let t=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=Wl[r];o&&o(i,e)};return window.addEventListener("message",t),Ce({source:"hf-preview",type:"ready"}),t}function Vl(e,t){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${t}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of e)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),t)})}catch(i){L("bridge.flashElements.querySelector",i)}}var li=null;function Br(e){li=e}function lt(e,t){if(li)try{li({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){L("runtime.analytics.site1",n)}}function zl(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-"),n=0,i=t.length;for(;n<i&&t[n]==="-";)n++;for(;i>n&&t[i-1]==="-";)i--;let r=t.slice(n,i);return r.length>0?r:"node"}function Tt(e){return`--${zl(e)}`}function Hr(e){let t=new Map;for(let n of e){let i=Tt(n),r=t.get(i);r?r.includes(n)||r.push(n):t.set(i,[n])}return[...t.values()].filter(n=>n.length>1)}function Gr(){if(typeof document>"u")return{};let e=new Set;document.documentElement?.hasAttribute("data-composition-variables")&&e.add(document.documentElement);for(let i of Array.from(document.querySelectorAll("[data-composition-variables]")))e.add(i);let t={};for(let i of e)Object.assign(t,Nt(i));let n=hn();return{...t,...n}}function Nt(e){if(!e)return{};let t=e.getAttribute("data-composition-variables");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}var ui="data-hf-css-vars";function ci(e){return"style"in e&&typeof e.style?.setProperty=="function"}function di(e,t){if(!ci(e))return;let n=[];for(let[i,r]of Object.entries(t))if(typeof r=="string"&&r!==""||typeof r=="number"){let o=Tt(i);e.style.setProperty(o,String(r)),n.push(o)}n.length>0&&e.setAttribute(ui,n.join(" "))}function Wr(e){if(!ci(e))return;let t=e.getAttribute(ui);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(ui)}}function Ur(e){let t=new Set;e.documentElement?.hasAttribute("data-composition-variables")&&t.add(e.documentElement);for(let r of Array.from(e.querySelectorAll("[data-composition-variables]")))t.add(r);let n=hn(),i=[];for(let r of t)i.push(...jl(r,n,e.defaultView));for(let r of Hr(i))console.warn(`composition variables ${r.join(", ")} collapse to the same CSS property ${Tt(r[0]??"")} \\u2014 rename one to avoid cross-talk`)}function jl(e,t,n){if(!ci(e))return[];let i=Nt(e),r={};for(let[o,s]of Object.entries(i)){if(o in t)continue;let l=Tt(o);(e.style.getPropertyValue(l)||(n?n.getComputedStyle(e).getPropertyValue(l):"")).trim()===""&&(r[o]=s)}for(let[o,s]of Object.entries(t))o in i&&(r[o]=s);return di(e,r),Object.keys(i)}function Vr(e){let t=e.getAttribute("data-variable-values");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function hn(){if(typeof window>"u")return{};let e=window.__hfVariables;return!e||typeof e!="object"||Array.isArray(e)?{}:e}function zr(e){let t=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},i=u=>e?.resolveStartSeconds?e.resolveStartSeconds(u):Number.parseFloat(u.getAttribute("data-start")??"0")||0,r=(u,c)=>{let m=null;try{m=u.effect?.getComputedTiming?.()??null}catch(x){L("runtime.adapters.css.site5",x)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:c+f/1e3}:{unbounded:!0}},o=(u,c)=>{for(let m of u){try{m.currentTime=c}catch(f){L("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){L("runtime.adapters.css.site2",f)}}},s=u=>{for(let c of u)try{c.play()}catch(m){L("runtime.adapters.css.site3",m)}},l=u=>{for(let c of u)try{c.pause()}catch(m){L("runtime.adapters.css.site4",m)}},a=u=>{u.baseDelay?u.el.style.animationDelay=u.baseDelay:u.el.style.removeProperty("animation-delay"),u.basePlayState?u.el.style.animationPlayState=u.basePlayState:u.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{t=[];let u=document.querySelectorAll("*");for(let c of u){if(!(c instanceof HTMLElement))continue;let m=window.getComputedStyle(c);!m.animationName||m.animationName==="none"||t.push({el:c,baseDelay:c.style.animationDelay||"",basePlayState:c.style.animationPlayState||"",animations:n(c)})}},getInferredDurationSeconds:()=>{let u=0;for(let c of t){if(!c.el.isConnected)continue;let m=i(c.el);for(let f of n(c.el)){let x=r(f,m);x.endSeconds!=null&&(u=Math.max(u,x.endSeconds))}}return u>0?u:null},seek:u=>{let c=Number(u.time)||0;for(let m of t){if(!m.el.isConnected)continue;let f=i(m.el),x=Math.max(0,c-f)*1e3,S=m.animations;if(S.length>0){o(S,x);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let u of t){if(!u.el.isConnected)continue;let c=u.animations;c.length>0&&l(c),a(u)}},play:()=>{for(let u of t)u.el.isConnected&&(a(u),s(u.animations))},revert:()=>{t=[]}}}function jr(e){return{name:"gsap",discover:()=>{},seek:t=>{let n=e.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(t.time)||0),r=t.suppressEvents===!0;typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,r)):n.seek(i,r)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function qr(){return{name:"animejs",discover:()=>{try{let e=window.anime;if(!e||typeof e.running>"u")return;let t=e.running;if(!Array.isArray(t)||t.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of t)i.has(r)||n.push(r);window.__hfAnime=n}catch(e){L("runtime.adapters.animejs.site1",e)}},seek:e=>{let t=Math.max(0,(Number(e.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(t)}catch(r){L("runtime.adapters.animejs.site2",r)}},pause:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.pause=="function"&&t.pause()}catch(n){L("runtime.adapters.animejs.site3",n)}},play:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.play=="function"&&t.play()}catch(n){L("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function Kr(){return{name:"lottie",discover:()=>{try{let e=window.lottie;if(e&&typeof e.getRegisteredAnimations=="function"){let t=e.getRegisteredAnimations();if(Array.isArray(t)&&t.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of t)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(e){L("runtime.adapters.lottie.site1",e)}},seek:e=>{let t=Math.max(0,Number(e.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if(fi(i))i.goToAndStop(t*1e3,!1);else if(mi(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=t*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,t/r*100);i.seek(o)}}}catch(r){L("runtime.adapters.lottie.site2",r)}},pause:()=>{let e=window.__hfLottie;if(!(!e||e.length===0))for(let t of e)try{(fi(t)||mi(t))&&t.pause()}catch(n){L("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let e=window.__hfLottie;if(!e||e.length===0)return null;let t=0,n=!1;for(let i of e){let r=null;try{r=ql(i)}catch(o){L("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,t=Math.max(t,r))}return n?t:null}}}function $r(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function ql(e){return fi(e)?$r(e.totalFrames,e.frameRate):mi(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:$r(e.totalFrames,e.frameRate):null}function fi(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function mi(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var pi=-1;function gn(e){if(e!==pi){pi=e;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:e}}))}catch(t){L("runtime.adapters.seek-dispatch.site1",t)}}}function Jr(e){pi=e;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:e}}))}catch(t){L("runtime.adapters.seek-dispatch.force",t)}}function Yr(){let e=null,t=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let c=window.THREE?.DefaultLoadingManager;return!c||typeof c!="object"||typeof c.itemsLoaded!="number"||typeof c.itemsTotal!="number"?null:c},l=u=>{o||u.itemsTotal<=u.itemsLoaded||(o=new Promise(c=>{u.onLoad=function(){try{r?.call(this)}finally{o=null,u.onLoad=r??null,c()}}}))},a=u=>{n!==u&&(n=u,i=u.onStart??null,r=u.onLoad??null,u.onStart=function(c,m,f){try{i?.call(this,c,m,f)}finally{l(u)}})};return{name:"three",discover:()=>{let u=s();u&&(a(u),l(u))},seek:u=>{e=Math.max(0,Number(u.time)||0),t=e,window.__hfThreeTime=e,gn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0},getReadyPromise:()=>{let u=s();return!u||u.itemsTotal<=u.itemsLoaded?null:(o||l(u),o)}}}function He(e){let t=null,n=new WeakSet;return{name:e.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=e.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:t||(t=Promise.allSettled(r.map(o=>e.waitFor(o).then(()=>{n.add(o)}))).then(()=>{t=null}),t)}}}function Xr(){return He({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMapbox;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function Qr(){return He({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfLeaflet;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>e.whenReady(t))})}function Zr(){return He({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfGoogleMaps;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{let n=e.addListener("tilesloaded",()=>{n.remove(),t()})})})}function eo(){return He({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMaplibre;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function to(){return He({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}function no(){let e=null,t=0;return{name:"typegpu",discover:()=>{},seek:n=>{e=Math.max(0,Number(n.time)||0),t=e,window.__hfTypegpuTime=e,gn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0}}}function io(e){let t=e.nextElementSibling;if(t instanceof HTMLImageElement&&t.classList.contains("__render_frame__")&&t.complete&&t.naturalWidth>0)return t;if(e.id){let n=document.getElementById(`__render_frame_${e.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function ro(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=io(n.source);if(o)return t.call(this,{...n,source:o},i,r)}return t.call(this,n,i,r)}}function oo(){let e=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],t=["texImage2D","texSubImage2D"];for(let n of e){let i=n?.prototype;if(i)for(let r of t){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...l){let a=l.length-1,u=l[a];if(u instanceof HTMLVideoElement){let c=io(u);c&&(l[a]=c)}return o.apply(this,l)};s.__hfVideoPatched=!0,i[r]=s}}}function so(){let e=!1,t=0,n=!1,i,r,o,s=new Set,l=new WeakMap,a=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},u=g=>{let A=Number(g.currentTime);return Number.isFinite(A)&&A>0?A:0},c=(g,A)=>A<=0?g:g>=A?Math.max(0,g-A):g,m=(g,A)=>{let _=l.get(g);if(_)return _;let N={compositionTimeMs:A,animationTimeMs:e?c(u(g),A):u(g)};return l.set(g,N),N},f=(g,A)=>{if(!s.has(g)){s.add(g);let _=()=>{s.delete(g)};try{g.addEventListener("finish",_,{once:!0}),g.addEventListener("cancel",_,{once:!0})}catch(N){L("runtime.adapters.waapi.site4",N)}}m(g,A)},x=(g,A)=>{for(let _ of g)f(_,A)},S=()=>{if(n||typeof Element>"u")return;let g=Element.prototype;if(typeof g.animate!="function"||g.__hfOriginalAnimate)return;let A=g.animate;try{Object.defineProperty(g,"__hfOriginalAnimate",{value:A,configurable:!0});let _=function(...N){let J=A.apply(this,N);return f(J,t),J};g.animate=_,i=g,r=A,o=_,n=!0}catch{}},b=g=>{let A=null;try{A=g.effect?.getComputedTiming?.()??null}catch(J){L("runtime.adapters.waapi.site4",J)}if(!A)return{};let _=Number(A.endTime);return Number.isFinite(_)?{endSeconds:(l.get(g)?.compositionTimeMs??0)/1e3+_/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{e=!0,S(),x(a(),t)},seek:g=>{let A=Math.max(0,(Number(g.time)||0)*1e3);t=A,(!e||s.size>0)&&x(a(),e?A:0);for(let _ of s){let N=e?m(_,A):m(_,0),J=N.animationTimeMs+Math.max(0,A-N.compositionTimeMs);try{_.currentTime=J}catch(B){L("runtime.adapters.waapi.site1",B)}try{_.pause()}catch(B){L("runtime.adapters.waapi.site2",B)}}},pause:()=>{e||x(a(),t);for(let g of s)try{g.pause()}catch(A){L("runtime.adapters.waapi.site3",A)}},revert:()=>{if(s.clear(),l=new WeakMap,e=!1,t=0,i&&r&&o&&i.animate===o)try{i.animate=r,i.__hfOriginalAnimate===r&&delete i.__hfOriginalAnimate}catch(g){L("runtime.adapters.waapi.site5",g)}i=void 0,r=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let A of a()){let _=b(A);_.endSeconds!=null&&(g=Math.max(g,_.endSeconds))}return g>0?g:null}}}function ao(e,t){if(e.length===0)return 1;let n=0;for(;n<e.length-2&&t>=e[n+1].time;)n+=1;let i=e[n],r=e[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(t-i.time)/o));return i.volume+(r.volume-i.volume)*s}function $l(e,t,n,i){let r=Number.parseFloat(e.dataset.start??"0")||0,o=Number.parseFloat(e.dataset.end??""),s=Number.parseFloat(e.dataset.duration??""),l=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(e.dataset.volume??""),u=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;e.volume=u;let c=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,l),x=[];for(let b=m;b<=f+1e-6;b+=c){let g=Math.min(f,b);t(g);let A=Number(e.volume);if(!Number.isFinite(A))continue;let _=Math.max(0,Math.min(1,A)),N=x.at(-1);if((!N||Math.abs(N.volume-_)>1e-4||g===f)&&x.push({time:Number(g.toFixed(6)),volume:Number(_.toFixed(6))}),g===f)break}return x.some(b=>Math.abs(b.volume-u)>1e-4)?x:null}function lo(e,t,n,i){if(!t||!(e instanceof HTMLAudioElement)&&!(e instanceof HTMLVideoElement)||n<=0)return;let r=l=>{try{typeof t.totalTime=="function"?t.totalTime(l,!0):typeof t.seek=="function"&&t.seek(l,!0)}catch{}},o=typeof t.totalTime=="function"?Number(t.totalTime()):typeof t.seek=="function"?Number(t.seek()):0,s=$l(e,r,n,60);Number.isFinite(o)&&r(o),s&&i.set(e,s)}function kt(e){let t=e.defaultPlaybackRate;return Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1}function uo(e){let t=Array.from(document.querySelectorAll("video, audio")),n=e?.shouldIncludeElement?t.filter(s=>e.shouldIncludeElement?.(s)):t.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let l=e?.resolveStartSeconds?e.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(l))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,u=kt(s),c=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=e?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/u));let x=Number.isFinite(f)&&f>0?l+f:Number.POSITIVE_INFINITY,S=Number.parseFloat(s.dataset.volume??""),b={el:s,start:l,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(S)?S:null,playbackRate:u,loop:c,sourceDuration:m};i.push(b),s.tagName==="VIDEO"&&r.push(b),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var hi=new WeakMap,Lt=new WeakMap,gi=new WeakSet,mt=new WeakSet;function Kl(e){if(mt.has(e))return;mt.add(e);let t=()=>mt.delete(e);e.addEventListener("playing",t,{once:!0}),e.addEventListener("pause",t,{once:!0}),e.addEventListener("error",t,{once:!0})}var Jl=3;function Yl(e){return e.error!=null||e.networkState===Jl}var xi=new WeakMap;function Rt(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function co(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(e.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(e.timeSeconds>=n.start&&e.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let T=n.sourceDuration-n.mediaStart;T>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%T)}let s=Rt(e.userVolume??1),l=Rt(n.volume??1),a=xi.get(i),u=Rt(i.volume),c;n.volumeKeyframes&&n.volumeKeyframes.length>0?c=Rt(ao(n.volumeKeyframes,r)):a===void 0||Math.abs(u-a)>1e-4?c=u:c=l;let m=Rt(c*s);i.volume=m,xi.set(i,m),e.onElementVolume?.(i,m),(t||e.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*e.playbackRate}catch(T){L("runtime.media.site1",T)}let f=.04,x=2,S=i.currentTime||0,b=Math.abs(S-r),g=r-S,A=hi.get(i);hi.set(i,g);let _=A===void 0,N=!_&&Math.abs(g-A)>.5,J=b>3,B=b>.5&&(_||N||J),M=i.tagName==="VIDEO"&&!i.paused,E=A!==void 0&&Math.abs(g-A)<.004,F=!1;if(!M&&!B&&!_&&E&&b>f){let T=(Lt.get(i)??0)+1;Lt.set(i,T),T>=x&&(F=!0,Lt.set(i,0))}else b<=f&&Lt.set(i,0);let v=!M&&e.forceSync&&b>.02;if(B||F||v){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(k){L("runtime.media.site2",k)}if(Math.abs(i.currentTime-r)>.5&&!gi.has(i)){gi.add(i),i.load();try{i.currentTime=r}catch(k){L("runtime.media.site3",k)}}}mt.delete(i)}e.playing&&i.paused&&!mt.has(i)&&!Yl(i)?(Kl(i),i.play().catch(T=>{mt.delete(i),(T&&typeof T=="object"&&"name"in T?String(T.name??""):"")==="NotAllowedError"&&e.onAutoplayBlocked?.()})):!e.playing&&!i.paused&&i.pause();continue}hi.delete(i),Lt.delete(i),gi.delete(i),xi.delete(i),i.paused||i.pause()}}var ze="data-color-grading",Dt="data-hf-color-grading-source-hidden",Sn="data-hf-authored-opacity",fo="__hf_color_grading_",Xl="rec709",xn={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},bn={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},yn={blur:0,pixelate:0},mo=Object.keys(xn),Ql=Object.keys(bn),po=Object.keys(yn);function Ae(e,t,n={},i={}){return{id:e,label:t,adjust:{...xn,...n},details:{...bn,...i},effects:{...yn}}}var Zl=[Ae("neutral","Neutral"),Ae("natural-lift","Natural Lift",{exposure:.04,contrast:.06,highlights:-.06,shadows:.08,saturation:.05}),Ae("fresh-pop","Fresh Pop",{exposure:.08,contrast:.12,whites:.06,shadows:.04,temperature:-.02,vibrance:.08,saturation:.16}),Ae("warm-daylight","Warm Daylight",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Ae("clean-studio","Clean Studio",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Ae("skin-soft","Skin Soft",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Ae("food-pop","Food Pop",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Ae("night-lift","Night Lift",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Ae("muted-editorial","Muted Editorial",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Ae("vintage-wash","Vintage Wash",{exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},{vignette:.18}),Ae("mono-clean","Mono Clean",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Ae("mono-fade","Mono Fade",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Ae("warm-clean","Warm Clean",{exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,vibrance:.04,saturation:.06}),Ae("cool-clean","Cool Clean",{contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}),Ae("soft-boost","Soft Boost",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Ae("bright-pop","Bright Pop",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Ae("deep-contrast","Deep Contrast",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06})],eu=new Map(Zl.map(e=>[e.id,e])),tu=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,nu={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},vibrance:{min:-1,max:1},saturation:{min:-1,max:1}},iu={vignette:{min:0,max:1},vignetteMidpoint:{min:0,max:1},vignetteRoundness:{min:-1,max:1},vignetteFeather:{min:0,max:1},grain:{min:0,max:1},grainSize:{min:0,max:1},grainRoughness:{min:0,max:1}},ru={blur:{min:0,max:1},pixelate:{min:0,max:1}};function ut(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ou(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function ho(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function bi(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?ou(n,t.min,t.max):0}function su(e){if(e==null)return null;let t=String(e).trim();return t||null}function au(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!ut(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:ho(e.intensity,1)}}function lu(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return ut(n)?n:null}catch{return null}return{preset:t,intensity:1}}return ut(e)?e:null}function uu(e,t){let n=e.trim().match(tu);if(!n)return e;let i=n[1]??n[2]??"";return i&&Object.hasOwn(t,i)?t[i]:e}function yi(e,t){if(typeof e=="string"){let i=uu(e,t);if(i!==e)return i;let r=e.trim();if(!r.startsWith("{"))return e;try{return yi(JSON.parse(r),t)}catch{return e}}if(!ut(e))return e;let n={};for(let[i,r]of Object.entries(e))n[i]=yi(r,t);return n}function cu(e){return e?eu.get(e)??null:null}function Si(e){let t=lu(e);if(!t||t.enabled===!1)return null;let n=su(t.preset),i=cu(n),r=i?.adjust??xn,o=i?.details??bn,s=i?.effects??yn,l=ut(t.adjust)?t.adjust:{},a=ut(t.details)?t.details:{},u=ut(t.effects)?t.effects:{},c=mo.reduce((x,S)=>(x[S]=bi(l[S]??r[S],nu[S]),x),{...xn}),m=Ql.reduce((x,S)=>(x[S]=bi(a[S]??o[S],iu[S]),x),{...bn}),f=po.reduce((x,S)=>(x[S]=bi(u[S]??s[S],ru[S]),x),{...yn});return{enabled:!0,preset:n,intensity:ho(t.intensity,1),adjust:c,details:m,effects:f,lut:au(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():Xl}}function go(e,t){return Si(yi(e,t))}function It(e){return!e?.enabled||e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:mo.some(t=>Math.abs(e.adjust[t])>1e-4)||Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||po.some(t=>Math.abs(e.effects[t])>1e-4)}var du=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),fu=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function xo(e){let t=!1,n=null,i=null,r=null,o=null;function s(E,F){try{window.dispatchEvent(new CustomEvent(E,{detail:F}))}catch(v){L("runtime.picker.site1",v)}}function l(E){r=E,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:t,timestamp:Date.now()})}function a(E){o=E,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function u(E){let F=E.ownerDocument.defaultView;if(!F)return!1;let v=E;for(;v&&v!==document.body&&v!==document.documentElement;){let T=F.getComputedStyle(v);if(T.display==="none"||T.visibility==="hidden"||T.pointerEvents==="none")return!0;let k=Number.parseFloat(T.opacity);if(Number.isFinite(k)&&k<=.01&&!v.hasAttribute(Dt))return!0;v=v.parentElement}return!1}function c(E){if(!E||E===document.body||E===document.documentElement)return!1;let F=E.tagName.toLowerCase();return!(F==="script"||F==="style"||F==="link"||F==="meta"||E.classList.contains("__hf-pick-highlight")||E.closest(du)||u(E))}function m(E){return!!E?.closest(fu)}function f(E){let F=E;if(F.id)return`#${F.id}`;let v=E.getAttribute("data-composition-id");if(v)return`[data-composition-id="${CSS.escape(v)}"]`;let T=E.getAttribute("data-composition-src");if(T)return`[data-composition-src="${CSS.escape(T)}"]`;let k=E.getAttribute("data-track-index");if(k)return`[data-track-index="${CSS.escape(k)}"]`;let W=E.tagName.toLowerCase(),j=E.parentElement;if(!j)return W;let re=j.querySelectorAll(`:scope > ${W}`);if(re.length===1)return W;for(let P=0;P<re.length;P+=1)if(re[P]===E)return`${W}:nth-of-type(${P+1})`;return W}function x(E){let F=E.tagName.toLowerCase(),v=(E.textContent??"").trim().replace(/\\s+/g," "),T=(k,W)=>k.length>W?`${k.slice(0,W-1)}\\u2026`:k;return F==="h1"||F==="h2"||F==="h3"?"Heading":F==="p"||F==="span"||F==="div"?v.length>0?T(v,56):"Text":F==="img"?"Image":F==="video"?"Video":F==="audio"?"Audio":F==="svg"?"Shape":E.getAttribute("data-composition-src")?"Composition":F==="section"?"Section":`${F.charAt(0).toUpperCase()}${F.slice(1)}`}function S(E,F,v){let T=typeof v=="number"&&v>0?v:8,k=[];if(document.elementsFromPoint)k=document.elementsFromPoint(E,F);else if(document.elementFromPoint){let re=document.elementFromPoint(E,F);k=re?[re]:[]}if(m(k[0]??null))return[];let W={},j=[];for(let re=0;re<k.length;re+=1){let P=k[re];if(!c(P))continue;let se=`${P.tagName}::${P.id||""}::${re}`;if(!W[se]&&(W[se]=!0,j.push(P),j.length>=T))break}return j}function b(E){let F=E.getBoundingClientRect(),v={};for(let k=0;k<E.attributes.length;k+=1){let W=E.attributes[k];W.name.startsWith("data-")&&(v[W.name]=W.value)}return{id:E.id||null,tagName:E.tagName.toLowerCase(),selector:f(E),label:x(E),boundingBox:{x:F.left,y:F.top,width:F.width,height:F.height},textContent:E.textContent?E.textContent.trim().slice(0,200):null,src:E.getAttribute("src")||E.getAttribute("data-composition-src")||null,dataAttributes:v}}function g(E,F,v){return S(E,F,v).map(b)}function A(E){if(!t)return;let v=S(E.clientX,E.clientY,1)[0]??(E.target instanceof Element?E.target:null);if(!c(v)||n===v)return;n&&n.classList.remove("__hf-pick-highlight"),n=v,v.classList.add("__hf-pick-highlight");let T=b(v);l(T),e.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:T})}function _(E){if(!t)return;E.preventDefault(),E.stopPropagation(),E.stopImmediatePropagation();let F=g(E.clientX,E.clientY,8);F.length!==0&&(l(F[0]??null),e.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:F,selectedIndex:0,point:{x:E.clientX,y:E.clientY}}))}function N(E){E.key==="Escape"&&(B(),e.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function J(){t||(t=!0,i=document.createElement("style"),i.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",A,!0),document.addEventListener("click",_,!0),document.addEventListener("keydown",N,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function B(){t&&(t=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",A,!0),document.removeEventListener("click",_,!0),document.removeEventListener("keydown",N,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function M(){window.__HF_PICKER_API={enable:J,disable:B,isActive:()=>t,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(E,F,v)=>Number.isFinite(E)&&Number.isFinite(F)?g(E,F,v):[],pickAtPoint:(E,F,v)=>{if(!Number.isFinite(E)||!Number.isFinite(F))return null;let T=g(E,F,8);if(!T.length)return null;let k=Math.max(0,Math.min(T.length-1,Number(v??0))),W=T[k]??null;return W?(a(W),e.postMessage({source:"hf-preview",type:"element-picked",elementInfo:W}),B(),W):null},pickManyAtPoint:(E,F,v)=>{if(!Number.isFinite(E)||!Number.isFinite(F))return[];let T=g(E,F,8);if(!T.length)return[];let k=[],W=Array.isArray(v)?v:[0];for(let j of W){let re=Math.max(0,Math.min(T.length-1,Math.floor(Number(j)))),P=T[re];if(!P)continue;k.some(Ee=>Ee.selector===P.selector&&Ee.tagName===P.tagName)||k.push(P)}return k.length?(a(k[0]??null),e.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:k}),B(),k):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:J,disablePickMode:B,installPickerApi:M}}var mu=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function pt(e,t){let n=Number.isFinite(t)&&t>0?t:30,i=Number.isFinite(e)&&e>0?e:0;return Math.floor(i*n+1e-9)/n}function bo(e,t,n=mu){for(let i of n){let r=t.getPropertyValue(i);r&&e.setProperty(i,r)}}function Pt(e,t,n){let i=e?.[t];return typeof i=="function"?Number(i.call(e))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&L("runtime.player.nonConformantNum",{prop:t,actual:typeof i}),n)}function ke(e,t){let n=e?.[t];if(typeof n=="function"){n.call(e);return}n!==void 0&&L("runtime.player.nonConformantVoid",{method:t,actual:typeof n})}function Ot(e,t,n){if(e){for(let i of Object.values(e))if(!(!i||i===t))try{n(i)}catch(r){L("runtime.player.site1",r)}}}function yo(e,t,n,i){let r=pt(t,n),o=i?.suppressEvents===!0;return ke(e,"pause"),typeof e.totalTime=="function"?e.totalTime(r,o):typeof e.seek=="function"&&e.seek(r,o),r}function pu(e,t,n,i,r){let o=[];Ot(e,t,s=>{ke(s,"play"),o.push(s)});try{return yo(t,n,i,r)}finally{for(let s of o)try{ke(s,"pause")}catch(l){L("runtime.player.site2",l)}}}function hu(e,t){Ot(e,t,n=>{ke(n,"play")})}function So(e){return{_timeline:null,play:()=>{let t=e.getTimeline();if(!t||e.getIsPlaying())return;let n=Math.max(0,Number(e.getSafeDuration?.()??Pt(t,"duration",0))||0);n>0&&Math.max(0,Pt(t,"time",0))>=n&&(ke(t,"pause"),typeof t.seek=="function"&&t.seek(0,!1),e.onDeterministicSeek(0),e.setIsPlaying(!1),e.onSyncMedia(0,!1),e.onRenderFrameSeek(0)),typeof t.timeScale=="function"&&t.timeScale(e.getPlaybackRate()),ke(t,"play"),Ot(e.getTimelineRegistry?.(),t,i=>{typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),ke(i,"play")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let t=e.getTimeline();if(!t)return;ke(t,"pause"),Ot(e.getTimelineRegistry?.(),t,i=>{ke(i,"pause")});let n=Math.max(0,Pt(t,"time",0));e.onDeterministicSeek(n),e.onDeterministicPause(),e.setIsPlaying(!1),e.onSyncMedia(n,!1),e.onRenderFrameSeek(n),e.onStatePost(!0)},seek:(t,n)=>{let i=e.getTimeline();if(!i)return;let r=Math.max(0,Number(t)||0),o=e.getIsPlaying(),s=pu(e.getTimelineRegistry?.(),i,r,e.getCanonicalFps());e.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),ke(i,"play"),Ot(e.getTimelineRegistry?.(),i,l=>{typeof l.timeScale=="function"&&l.timeScale(e.getPlaybackRate()),ke(l,"play")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(s,!0)):(e.setIsPlaying(!1),e.onSyncMedia(s,!1)),e.onRenderFrameSeek(s),e.onStatePost(!0)},renderSeek:(t,n)=>{let i=e.getTimeline(),r=e.getCanonicalFps(),o=i?(hu(e.getTimelineRegistry?.(),i),yo(i,t,r,n)):pt(Math.max(0,Number(t)||0),r);e.onDeterministicSeek(o,n),e.setIsPlaying(!1),e.onSyncMedia(o,!1),e.onRenderFrameSeek(o),e.onStatePost(!0)},getTime:()=>Pt(e.getTimeline(),"time",0),getDuration:()=>Pt(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:t=>e.setPlaybackRate(t),getPlaybackRate:()=>e.getPlaybackRate()}}function Eo(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var gu=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function Ai(e){return e.id||e.getAttribute("data-hf-id")||null}function Ei(e){if(e==null)return null;let t=Number(e);return Number.isFinite(t)?t:null}function xu(e,t){let n=e.getAttribute("data-composition-id");if(!n)return null;let i=Number(t[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function bu(e){if(!(e instanceof HTMLMediaElement)||!Number.isFinite(e.duration))return null;let t=Ei(e.getAttribute("data-playback-start"))??Ei(e.getAttribute("data-media-start"))??0;return e.duration>t?e.duration-t:null}function yu(e,t,n,i){let r=Ei(e.getAttribute("data-duration"));return r!=null&&r>0?r:xu(e,t)??bu(e)??Math.max(0,n-i)}function Su(e){for(let[t,n]of e){let i=t.parentElement;for(;i;){let r=e.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function Ao(e){let{startResolver:t,timelineRegistry:n,rootDuration:i}=e,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||gu.has(l.tagName))continue;let a=t.resolveStartForElement(l,0);if(yu(l,n,i,a)<=0)continue;let u={id:Ai(l)??`__clip-${s++}`,element:l,parentId:null,children:[]};r.set(l,u)}return Su(r),{roots:Array.from(r.values()).filter(l=>l.parentId===null)}}function Ke(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function wo(e){let t=(e??"").trim();if(!t)return null;let n=Ke(t);if(n!=null)return{kind:"absolute",value:n};let i=t.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",l=Number.parseFloat(s),a=Number.isFinite(l)?Math.max(0,l):0,u=o==="-"?-a:a;return{kind:"reference",refId:r,offset:u}}var Eu="data-hf-authored-duration",Au="data-hf-authored-end";function wu(e){return Ke(e.getAttribute("data-duration"))}function Cu(e){return Ke(e.getAttribute("data-end"))}function Fu(e){return Ke(e.getAttribute(Eu))}function _u(e){return Ke(e.getAttribute(Au))}function Je(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=c=>{let m=document.getElementById(c);return m||(document.querySelector(`[data-composition-id="${CSS.escape(c)}"]`)??null)},l=c=>{let m=r.get(c);if(m!==void 0)return m;let f=null,x=wu(c)??(n?Fu(c):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let S=Cu(c)??(n?_u(c):null);if(S!=null){let b=u(c,0),g=S-b;Number.isFinite(g)&&g>0&&(f=g)}}if((f==null||f<=0)&&c instanceof HTMLMediaElement){let S=Ke(c.getAttribute("data-playback-start"))??Ke(c.getAttribute("data-media-start"))??0;Number.isFinite(c.duration)&&c.duration>S&&(f=(c.duration-S)/kt(c))}if(f==null||f<=0){let S=c.getAttribute("data-composition-id");if(S){let b=t[S]??null;if(b&&typeof b.duration=="function")try{let g=Number(b.duration());Number.isFinite(g)&&g>0&&(f=g)}catch(g){L("runtime.startResolver.site1",g)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(c,f),f):(r.set(c,null),null)},a=(c,m)=>{if(c.hasAttribute("data-composition-id")){let x=c.parentElement?.closest("[data-composition-id]");return x?u(x,m):0}let f=c.closest("[data-composition-id]");return f?u(f,m):0},u=(c,m)=>{let f=i.get(c);if(f!==void 0)return f??m;if(o.has(c))return m;o.add(c);try{let x=wo(c.getAttribute("data-start"));if(!x){if(c.hasAttribute("data-composition-id")){let _=c.parentElement;if(_&&(_.hasAttribute("data-composition-src")||_.hasAttribute("data-composition-id")||_.hasAttribute("data-composition-file"))){let N=u(_,m);return i.set(c,N),N}}return i.set(c,m),m}if(x.kind==="absolute"){let _=Math.max(0,x.value),N=Math.max(0,a(c,m)+_);return i.set(c,N),N}let S=s(x.refId);if(!S)return i.set(c,m),m;let b=u(S,0),g=l(S);if(g==null||g<=0){let _=Math.max(0,b+x.offset);return i.set(c,_),_}let A=Math.max(0,b+g+x.offset);return i.set(c,A),A}finally{o.delete(c)}};return{resolveStartForElement:(c,m=0)=>u(c,Math.max(0,m)),resolveDurationForElement:c=>l(c)}}function wi(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}var vu="data-hf-authored-duration",Mu="data-hf-authored-end";function Fe(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function Ci(e){return Fe(e.getAttribute("data-duration"))??Fe(e.getAttribute(vu))}function Co(e){return Fe(e.getAttribute("data-end"))??Fe(e.getAttribute(Mu))}function Fi(e){try{let t=e.style?.zIndex;if(t&&t!=="auto"){let n=parseInt(t,10);if(Number.isFinite(n))return n}return 0}catch{return 0}}function _i(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}var Fo={composition:0,video:1,image:2,element:3,audio:4};function Tu(e){if(e.length===0)return;let t=new Map;for(let s of e){let l=t.get(s.track)??new Set;l.add(s.kind),t.set(s.track,l)}if(!Array.from(t.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...t.keys()].sort((s,l)=>s-l);for(let s of o){let l=t.get(s);if(l.size===1)r.set(`${s}:${[...l][0]}`,i++);else{let a=[...l].sort((u,c)=>(Fo[u]??99)-(Fo[c]??99));for(let u of a)r.set(`${s}:${u}`,i++)}}for(let s of e){let l=`${s.track}:${s.kind}`,a=r.get(l);a!=null&&(s.track=a)}}function Ht(e){let t=String(e??"").trim();if(!t)return null;let n=t.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(t,document.baseURI).toString()}catch{return t}}function _o(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return Ht(t);let n=e.getAttribute("data-composition-src");if(n)return Ht(n);let i=e.querySelector("img[src], video[src], audio[src], source[src]");return i?Ht(i.getAttribute("src")):null}function Nu(e){let t=e.className;return typeof t!="string"?null:t.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function Lu(e){if(!e)return null;try{return new URL(e,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return e.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function Ru(e){let t=e.textContent?.replace(/\\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function Bt(e){let t=e.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return t?t.replace(/\\b\\w/g,n=>n.toUpperCase()):e}function ku(e,t,n){let i=e.getAttribute("data-timeline-label")??e.getAttribute("data-label")??e.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=e.getAttribute("data-composition-id");if(r)return Bt(r);let o=e.id;if(o)return Bt(o);let s=Nu(e);if(s)return Bt(s);let l=Lu(_o(e));if(l)return Bt(l);let a=Ru(e);return a||`${Bt(t)} ${n+1}`}function vo(e){let n=window.__timelines??{},i=Je({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=O=>{if(!O)return null;let D=n[O]??null;if(!D||typeof D.duration!="function")return null;try{let G=Number(D.duration());return Number.isFinite(G)&&G>0?G:null}catch{return null}},o=O=>{let D=Fe(O.getAttribute("data-duration"));if(D!=null&&D>0)return D;let G=Fe(O.getAttribute("data-playback-start"))??Fe(O.getAttribute("data-media-start"))??0;return Number.isFinite(O.duration)&&O.duration>G?Math.max(0,(O.duration-G)/kt(O)):null},s=()=>{let O=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(O.length===0)return null;let D=0;for(let G of O){let Q=G.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(G,0):Math.max(0,Number(G.getAttribute("data-start")??0)||0);if(!Number.isFinite(Q))continue;let ae=o(G);ae==null||ae<=0||(D=Math.max(D,Math.max(0,Q)+ae))}return D>0?D:null},l=(O,D)=>{let G=[],Q=null,ae=null,$=null,z=O.parentElement;for(;z;){let Y=z.getAttribute("data-composition-id");Y&&(G.push(Y),!$&&z!==D&&($=Y),Q==null&&(Q=i.resolveStartForElement(z,0)),ae==null&&(ae=Fe(z.getAttribute("data-duration"))??r(Y)??null)),z=z.parentElement}return{parentCompositionId:$,compositionAncestors:G.reverse(),inheritedStart:Q,inheritedDuration:ae}},a=document.querySelector("[data-composition-id]"),u=Array.from(document.querySelectorAll("[data-composition-id]")),c=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,S=r(c),b=Ci(a??document.body),g=_i(...u.filter(O=>O!==a).map(O=>{let D=i.resolveStartForElement(O,0),G=i.resolveDurationForElement(O)??r(O.getAttribute("data-composition-id"))??null;return!Number.isFinite(D)||G==null||G<=0?null:Math.max(0,D)+G})),A=g!=null?Math.max(0,g-Math.max(0,m)):null,_=typeof S=="number"&&Number.isFinite(S)&&S>0?S:null,N=typeof b=="number"&&Number.isFinite(b)&&b>0?b:null,J=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,B=typeof A=="number"&&Number.isFinite(A)&&A>0?A:null,M=_i(J,B),E=_!=null&&M!=null&&_>M+1,v=N??(E?M:_i(_,J,B))??null,k=(v!=null?m+v:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),W=(O,D)=>!Number.isFinite(D)||D<=0?0:k==null||!Number.isFinite(k)?D:!Number.isFinite(O)||O>=k?0:Math.max(0,Math.min(D,k-O)),j=[],re=[],P=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),se=0;for(let O=0;O<P.length;O+=1){let D=P[O];if(D===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(D.tagName))continue;let G=l(D,a),Q=i.resolveStartForElement(D,G.inheritedStart??0),ae=D.getAttribute("data-composition-id"),$=Ci(D);if(($==null||$<=0)&&ae&&ae!==c&&($=r(ae)),($==null||$<=0)&&D instanceof HTMLMediaElement){let ve=Fe(D.getAttribute("data-playback-start"))??Fe(D.getAttribute("data-media-start"))??0;Number.isFinite(D.duration)&&D.duration>0&&($=Math.max(0,D.duration-ve))}if($==null||$<=0){let ve=G.inheritedDuration;if(ve!=null&&ve>0){let Ue=(G.inheritedStart??0)+ve;$=Math.max(0,Ue-Q)}}if($==null||$<=0||($=W(Q,$),$<=0))continue;let z=Q+$;se=Math.max(se,z);let Y=D.tagName.toLowerCase(),Oe=ae&&ae!==c?"composition":Y==="video"?"video":Y==="audio"?"audio":Y==="img"?"image":"element";j.push({id:Ai(D)??ae??null,label:ku(D,Oe,j.length),start:Q,duration:$,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,zIndex:Fi(D),stackingContextId:G.parentCompositionId??c,kind:Oe,tagName:Y,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:G.compositionAncestors,parentCompositionId:G.parentCompositionId,nodePath:null,compositionSrc:Ht(D.getAttribute("data-composition-src")),assetUrl:_o(D),timelineRole:D.getAttribute("data-timeline-role"),timelineLabel:D.getAttribute("data-timeline-label"),timelineGroup:D.getAttribute("data-timeline-group"),timelinePriority:Fe(D.getAttribute("data-timeline-priority"))})}let Ee=new Set(j.map(O=>O.id)),H=a?.getAttribute("data-composition-id")??null,U=H?n[H]??null:null;if(U&&a){let O=U;if(typeof O.getChildren=="function")try{let D=O.getChildren(!0,!0,!1)??[],G=new Map;for(let $ of a.children){let z=$;if(!z.id)continue;let Y=z.tagName.toLowerCase();Y==="script"||Y==="style"||Y==="link"||G.set(z,{id:z.id,start:1/0,end:-1/0})}let Q=$=>{let z=$;for(;z;){if(G.has(z))return z;if(z===a)return null;z=z.parentElement}return null};for(let $ of D){if(typeof $.targets!="function"||typeof $.startTime!="function"||typeof $.duration!="function")continue;let z=$.startTime(),Y=$.parent;for(;Y&&Y!==U&&typeof Y.startTime=="function";)z+=Y.startTime(),Y=Y.parent;let Oe=z+$.duration();if(!(!Number.isFinite(z)||!Number.isFinite(Oe)))for(let ve of $.targets()){if(!(ve instanceof Element))continue;let wt=Q(ve);if(!wt)continue;let Ue=G.get(wt);Ue&&(Ue.start=Math.min(Ue.start,z),Ue.end=Math.max(Ue.end,Oe))}}let ae=j.length>0?Math.max(...j.map($=>$.track))+1:0;for(let[$,z]of G){if(z.start===1/0||z.end===-1/0)continue;let Y=$;if(Ee.has(Y.id))continue;let Oe=Math.max(0,z.end-z.start);if(Oe<=0)continue;let ve=W(z.start,Oe);ve<=0||(se=Math.max(se,z.start+ve),j.push({id:Y.id,label:Y.getAttribute("data-timeline-label")??Y.getAttribute("data-label")??Y.getAttribute("aria-label")??Y.id,start:z.start,duration:ve,track:Number.parseInt(Y.getAttribute("data-track-index")??Y.getAttribute("data-track")??"",10)||ae,zIndex:Fi(Y),stackingContextId:H,kind:"element",tagName:Y.tagName.toLowerCase(),compositionId:Y.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Y.getAttribute("data-timeline-role"),timelineLabel:Y.getAttribute("data-timeline-label"),timelineGroup:Y.getAttribute("data-timeline-group"),timelinePriority:Fe(Y.getAttribute("data-timeline-priority"))}),Ee.add(Y.id))}}catch(D){L("runtime.timeline.site1",D)}}if(a&&v!=null&&v>0){let O=j.length>0?Math.max(...j.map(D=>D.track))+1:0;for(let D of a.children){let G=D;if(!G.id||Ee.has(G.id))continue;let Q=G.getAttribute("data-timeline-role");if(Q!=="overlay"&&Q!=="persistent-overlay")continue;let ae=G.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(G).display==="none")continue;let z=W(0,v);z<=0||(se=Math.max(se,z),j.push({id:G.id,label:G.getAttribute("data-timeline-label")??G.getAttribute("data-label")??G.getAttribute("aria-label")??G.id,start:0,duration:z,track:Number.parseInt(G.getAttribute("data-track-index")??G.getAttribute("data-track")??"",10)||O,zIndex:Fi(G),stackingContextId:H,kind:"element",tagName:ae,compositionId:G.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Q,timelineLabel:G.getAttribute("data-timeline-label"),timelineGroup:G.getAttribute("data-timeline-group"),timelinePriority:Fe(G.getAttribute("data-timeline-priority"))}),Ee.add(G.id))}}Tu(j);for(let O of u){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!wi(D))continue;let G=i.resolveStartForElement(O,0),Q=Ci(O);if((Q==null||Q<=0)&&Co(O)!=null){let Y=Co(O);Q=Math.max(0,Y-G)}let ae=r(D),$=Q&&Q>0?Q:ae;if($==null||$<=0)continue;let z=W(G,$);z<=0||re.push({id:D,label:O.getAttribute("data-label")??D,start:G,duration:z,thumbnailUrl:Ht(O.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,se||1,v??0);return{source:"hf-preview",type:"timeline",durationInFrames:E&&N==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,e.canonicalFps))),clips:j,scenes:re,compositionWidth:Fe(a?.getAttribute("data-width"))??1920,compositionHeight:Fe(a?.getAttribute("data-height"))??1080}}var ce=Gl(Qs(),1),Zs=ce.default,Gh=ce.default.stringify,Wh=ce.default.fromJSON,Uh=ce.default.plugin,Vh=ce.default.parse,zh=ce.default.list,jh=ce.default.document,qh=ce.default.comment,$h=ce.default.atRule,Kh=ce.default.rule,Jh=ce.default.decl,Yh=ce.default.root,Xh=ce.default.CssSyntaxError,Qh=ce.default.Declaration,Zh=ce.default.Container,e0=ce.default.Processor,t0=ce.default.Document,n0=ce.default.Comment,i0=ce.default.Warning,r0=ce.default.AtRule,o0=ce.default.Result,s0=ce.default.Input,a0=ce.default.Rule,l0=ce.default.Root,u0=ce.default.Node;var Qi="data-hf-authored-id",ea="data-hf-inner-root";function Zi(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function er(e){return e.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function td(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function na(e){let t=e.trim();return t?Array.from(new Set([t,td(t)])).filter(Boolean):[]}function nd(e){return!!e&&/[\\w-]/.test(e)}function id(e,t,n){let i=na(t).sort((l,a)=>a.length-l.length);if(i.length===0)return e;let r="",o=0,s=null;for(let l=0;l<e.length;l+=1){let a=e[l],u=l>0?e[l-1]:"";if(s){r+=a,a===s&&u!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let c=i.find(m=>e.startsWith(m,l+1));if(c){let m=e[l+1+c.length];if(!nd(m)){r+=n,l+=c.length;continue}}}r+=a}return r}function rd(e,t){let n=t?.trim();return n?id(e,n,`[${Qi}="${er(n)}"]`):e}function ta(e){return`${e}:not(:has([${ea}])), ${e} > [${ea}]`}function od(e,t,n,i,r,o){let s=rd(e,i),l=sd(s,t,n),a=l.trim();if(!a||a==="*")return e;if(/^(html|body|:root)$/i.test(a))return o?ta(t):e;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Zi(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(a))return a.replace(u,"").trim()===""?ta(t):l.replace(u,t);let c=l.match(/^\\s*/)?.[0]??"",m=l.match(/\\s*$/)?.[0]??"";if(r){let f=i?`[${Qi}="${er(i)}"]`:null;if(f&&a.startsWith(f)){let x=a.slice(f.length);return`${c}${t}${f}${x}${m}`}}return`${c}${t} ${a}${m}`}function sd(e,t,n){let i=Zi(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return e.replace(new RegExp(`${r}(?:${o})+`,"g"),t).replace(new RegExp(`(?:${o})+${r}`,"g"),t)}var ad=new Set(["keyframes","-webkit-keyframes","font-face"]);function ld(e){return e?.type==="atrule"}function ud(e){let t=e.parent;for(;t;){if(ld(t)&&ad.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function ia(e,t,n,i,r){let o=t.trim();if(!e||!o)return e;let s=n||`[data-composition-id="${er(o)}"]`,l=Zs.parse(e);return l.walkRules(a=>{ud(a)||(a.selectors=a.selectors.map(u=>od(u,s,o,i,r?.compoundAuthoredRoot,r?.scopeRootSelectors)))}),l.toResult({map:!1}).css}function ra(e,t,n="[HyperFrames] composition script error:",i,r=t,o){let s=JSON.stringify(t),l=JSON.stringify(r),a=JSON.stringify(n),u=Zi(t),c=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${u}"|\'${u}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),S=JSON.stringify(na(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${l};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${c};\n var __hfAuthoredRootAttr = ${JSON.stringify(Qi)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${S};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n // Inside a sub-composition, __hyperframes is passed as a bare script\n // param bound to the SCOPED variant (per-comp getVariables). But\n // authors routinely write the documented window.__hyperframes.\n // getVariables() form, which would otherwise fall through to the host\n // page\'s base __hyperframes and return the WRONG (or empty) variables\n // for this instance. Route it to the scoped variant too so both\n // spellings resolve to this composition\'s own variables.\n // (__hfScopedHyperframes is a hoisted var assigned below, before any\n // sub-comp script -- the only code that reads this -- runs.)\n if (prop === "__hyperframes") return __hfScopedHyperframes;\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${e.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}var cd=["data-composition-id","data-composition-file","data-start","data-duration","data-end","data-track-index","data-track","data-composition-src","data-hf-authored-duration","data-hf-authored-end"];function oa(e){let t=e.getAttribute("id")?.trim();for(let n of cd)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var dd=8e3,fd=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,md=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,pd=["src","href"];function hd(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function aa(e,t){if(!t)return e;let n=e.trim();if(hd(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function la(e,t){return!t||!e?e:e.replace(md,(n,i,r)=>{let o=aa(r||"",t);return o===r?n:`url(${i||""}${o}${i||""})`})}function gd(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let i of pd){let r=n.getAttribute(i);if(r==null)continue;let o=aa(r,t);o!==r&&n.setAttribute(i,o)}}function xd(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=la(i,t);r!==i&&n.setAttribute("style",r)}}function bd(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let i=n.textContent||"",r=la(i,t);r!==i&&(n.textContent=r)}}function ua(e,t){if(t){gd(e,t),xd(e,t),bd(e,t);for(let n of Array.from(e.querySelectorAll("template")))ua(n.content,t)}}function yd(e,t){return`${e}__hf${t}`}var Sd=e=>new Promise(t=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),t({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};e.addEventListener("load",()=>o("load"),{once:!0}),e.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),dd)});function tr(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function Ed(e){let t=document.importNode(e,!0);oa(t);let n=t.getAttribute("data-width"),i=t.getAttribute("data-height");return t.style.width=n?`${n}px`:"100%",t.style.height=i?`${i}px`:"100%",t}function sa(e,t){let n=e.trim();if(!n)return e;try{return fd.test(n)?new URL(n,document.baseURI).toString():t?new URL(n,t).toString():new URL(n,document.baseURI).toString()}catch{return e}}function Pn(e){let t=(e.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(e.getAttribute("data-hf-original-composition-id")||t||"").trim()||null,runtimeCompositionId:t}}function Ad(e){let t=new Map;for(let n of e){let i=Pn(n).authoredCompositionId||"";i&&t.set(i,(t.get(i)||0)+1)}return t}function ca(e){let t=Pn(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function wd(e){return!!e.querySelector(\'[data-hf-inner-root="true"]\')}function Cd(e){return e.hasAttribute("data-composition-src")?!0:ca(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:wd(e):!1}function ir(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:ca(t))}function da(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(ir().map(n=>Pn(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function fa(e,t=Ad(e)){let n=new Map,i=new Map;for(let r of e){let{authoredCompositionId:o,runtimeCompositionId:s}=Pn(r),l=Cd(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(t.get(o)||0)>1,u=s||o;if(l){let c=a?(n.get(o)||0)+1:0;a&&n.set(o,c),u=a?yd(o,c):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",u),s&&s!==u&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:u})}return i}async function nr(e){let t=null;e.authoredCompositionId&&(t=Array.from(e.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===e.authoredCompositionId)??null);let n=t??e.sourceNode,i=t?.getAttribute("data-composition-id")?.trim()||e.authoredCompositionId||null,r=e.runtimeCompositionId||i||null,o=t?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(e.headLinks)for(let f of e.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}let l=f=>{for(let x of f){let S=x.cloneNode(!0);S instanceof HTMLStyleElement&&(i&&(S.textContent=ia(S.textContent||"",i,s,o,{scopeRootSelectors:!0})),document.head.appendChild(S),e.injectedStyles.push(S))}};e.headStyles&&l(e.headStyles),l(Array.from(n.querySelectorAll("style")));let a=[];if(e.headScripts)for(let f of e.headScripts){let x=f.getAttribute("type")?.trim()??"",S=f.getAttribute("src")?.trim()??"";if(S){let b=sa(S,e.compositionUrl);a.push({kind:"external",src:b,type:x})}else{let b=f.textContent?.trim()??"";b&&a.push({kind:"inline",content:b,type:x,scopeCompositionId:i})}}let u=Array.from(n.querySelectorAll("script")),c=[...a];for(let f of u){let x=f.getAttribute("type")?.trim()??"",S=f.getAttribute("src")?.trim()??"";if(S){let b=sa(S,e.compositionUrl);c.push({kind:"external",src:b,type:x})}else{let b=f.textContent?.trim()??"";b&&c.push({kind:"inline",content:b,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(t){let f=t.getAttribute("data-width"),x=t.getAttribute("data-height"),S=e.parseDimensionPx(f),b=e.parseDimensionPx(x);f&&e.host.setAttribute("data-width",f),x&&e.host.setAttribute("data-height",x),S&&e.host instanceof HTMLElement&&(e.host.style.width=S),b&&e.host instanceof HTMLElement&&(e.host.style.height=b),t.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked",""),e.host.appendChild(Ed(t))}else e.hasTemplate?e.host.appendChild(document.importNode(n,!0)):e.host.innerHTML=e.fallbackBodyInnerHtml;r&&Fd(e,n,r);for(let f of c){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=ra(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),e.injectedScripts.push(x),f.kind==="external"){let S=await Sd(x);S.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:S.status,elapsedMs:S.elapsedMs}})}}}async function ma(e){let t=ir();if(da(),t.length===0)return;let n=fa(t),i=t.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let l=document.querySelector(`template#${CSS.escape(s)}-template`);tr(r),await nr({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic})}}async function pa(e){let t=ir();if(da(),t.length===0)return;let n=fa(t),i=t.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),l=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||l||null,u=null;try{u=new URL(o,document.baseURI)}catch{u=null}tr(r);try{let c=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(c){await nr({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),S=new DOMParser().parseFromString(f,"text/html");ua(S,u);let b=(l?S.querySelector(`template#${CSS.escape(l)}-template`):null)??S.querySelector("template"),g=b?b.content:S.body,A=b?void 0:Array.from(S.head.querySelectorAll("style")),_=b?void 0:Array.from(S.head.querySelectorAll("script")),N=b?void 0:Array.from(S.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await nr({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:g,hasTemplate:!!b,fallbackBodyInnerHtml:S.body.innerHTML,compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,headStyles:A,headScripts:_,headLinks:N,declaredVariableDefaults:Nt(S.documentElement),onDiagnostic:e.onDiagnostic})}catch(c){e.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:c instanceof Error?c.message:"unknown_error"}}),tr(r)}}))}function Fd(e,t,n){let r={...e.declaredVariableDefaults??(t instanceof Element?Nt(t):{}),...Vr(e.host)};Wr(e.host),Object.keys(r).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=r,di(e.host,{...r,...hn()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function _d(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function vd(){let e=[],t=document.querySelectorAll(".caption-group");for(let n of t)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&e.push(r)}return e}function Md(e){let t=e.parentElement;if(t?.dataset.captionWrapper==="true")return t;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",e.parentNode?.insertBefore(n,e),n.appendChild(e),n}function rr(){let e=window.gsap;e&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(t=>t.ok?t.json():null).then(t=>{if(!t||!Array.isArray(t)||t.length===0)return;let n=vd();for(let i of t){let r=null;if(i.wordId&&(r=_d(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=e.getTweensOf(r).filter(c=>c.vars.color!==void 0).sort((c,m)=>c.startTime()-m.startTime()),u=a.length>0?String(a[0].vars.color):"";for(let c of a)String(c.vars.color)===u?i.dimColor&&(c.vars.color=i.dimColor):i.activeColor&&(c.vars.color=i.activeColor);i.dimColor&&e.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&e.set(r,s),Object.keys(o).length>0){let l=Md(r);e.set(l,o)}}}).catch(()=>{})}var Ea="data-hf-edit-base-x",Aa="data-hf-edit-base-y",or="data-hf-edit-original-translate",On=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},Td=e=>{let t=[],n=0,i="";for(let r of e.trim())r==="("&&(n+=1),r===")"&&(n=Math.max(0,n-1)),/\\s/.test(r)&&n===0?(i&&t.push(i),i=""):i+=r;return i&&t.push(i),t},ha=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,sr=(e,t)=>ha.test(e)&&ha.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,Nd=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[i,r,o]=Td(e);if(i===void 0)return`${t} ${n}`;if(r===void 0)return`${sr(i,t)} ${n}`;let s=o===void 0?"":` ${o}`;return`${sr(i,t)} ${sr(r,n)}${s}`},Ld=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},Rd=e=>{let t=e.style.getPropertyValue("translate").trim();if(t)return t==="none"?"":t;try{let n=e.ownerDocument.defaultView,i=n?n.getComputedStyle(e).getPropertyValue("translate").trim():"";return i==="none"?"":i}catch{return""}},ga=new WeakMap;function kd(e,t){let n=ga.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue("translate")!==n){lt("position_edit_fold_skipped",{hfId:e.getAttribute("data-hf-id")});return}let i=On(e.getAttribute("data-x"))-On(e.getAttribute(Ea)),r=On(e.getAttribute("data-y"))-On(e.getAttribute(Aa));e.hasAttribute(or)||e.setAttribute(or,Rd(e)),n===void 0&&Ld(e);let o=e.getAttribute(or)??"",s=Nd(o,`${i}px`,`${r}px`);e.style.setProperty("translate",s),ga.set(e,e.style.getPropertyValue("translate"))}function Bn(e){let t=e.querySelectorAll(`[${Ea}], [${Aa}]`),n=e.defaultView?.HTMLElement,i=0;for(let r=0;r<t.length;r++){let o=t[r];(n?o instanceof n:typeof o.style?.setProperty=="function")&&(kd(o),i+=1)}return i}var xa="__hfPositionEditsSeekReapplyWrapped",ba=new WeakSet,ya=new WeakMap,Sa=new WeakMap;function wa(e){let t=e,n=()=>{try{Bn(t.document)}catch{}},i=m=>typeof m=="function"&&(ba.has(m)||!!m[xa]),r=m=>{ba.add(m);try{Object.defineProperty(m,xa,{value:!0})}catch{}},o=m=>{if(typeof m!="function"||i(m))return m;let f=function(...x){let S=m.apply(this,x);return n(),S};return r(f),f},s=(m,f)=>{let x=ya.get(m);if(x?.has(f))return!0;let S=Object.getOwnPropertyDescriptor(m,f);if(S?.configurable===!1){let A=m[f];return typeof A=="function"&&(m[f]=o(A),n()),!1}let b=m[f],g=S?.set;return Object.defineProperty(m,f,{configurable:!0,enumerable:S?.enumerable??!0,get:()=>b,set:A=>{b=o(A),g?.call(m,A)}}),b=o(b),x??(x=new Set),x.add(f),ya.set(m,x),n(),!0},l=(m,f)=>{let x=Sa.get(t),S=Object.getOwnPropertyDescriptor(t,m);if(!x?.has(m)){if(S?.configurable===!1){let A=t[m];return A?s(A,f):!1}let g=t[m];Object.defineProperty(t,m,{configurable:!0,enumerable:S?.enumerable??!0,get:()=>g,set:A=>{g=A,g&&s(g,f)}}),x??(x=new Set),x.add(m),Sa.set(t,x)}let b=t[m];return b?s(b,f):!1},a=()=>{let m=l("__hf","seek"),f=l("__player","renderSeek");return m&&f};if(a())return;let u=120,c=t.setInterval(()=>{if(a()){t.clearInterval(c);return}u-=1,u<=0&&t.clearInterval(c)},50)}function Hn(e){let t=window,i=e.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?t.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=t.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:t.__hfVariables??{}}function Gn(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var Ca=new Set(["img","video","audio","source"]);function Dd(e){if(typeof e=="string"&&e.length>0)return e;if(e!==null&&typeof e=="object"){let t=e.url;if(typeof t=="string"&&t.length>0)return t}return null}function Id(e){let t=e.replace(/[\\u0000-\\u0020]/g,""),n=/^([a-z][a-z0-9+.-]*):/i.exec(t);if(!n)return!0;let i=n[1].toLowerCase();return i==="https"||i==="http"||i==="blob"?!0:i==="data"?/^data:image\\//i.test(t):!1}function Pd(e){return e.replace(/[;{}<>\\r\\n]/g,"")}function Od(e){if(Gn(e))return String(e);if(e!==null&&typeof e=="object"){let t=e.name;if(typeof t=="string"&&t.length>0)return t}return null}function ar(e,t){let n=e.closest("[data-composition-id]"),i=t.get(n);if(i)return i;let r=Hn(e);return t.set(n,r),r}function Bd(e,t){if(e.childElementCount===0){e.textContent=t;return}let n=!1;for(let i of Array.from(e.childNodes))i.nodeType===Node.TEXT_NODE&&(i.nodeValue=n?"":t,n=!0);n||e.insertBefore(e.ownerDocument.createTextNode(t),e.firstChild)}function Hd(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function Gd(e,t){let n=new Set,i=Hd(e);i&&n.add(i);for(let r of Array.from(e.querySelectorAll("[data-composition-id]")))n.add(r);for(let r of n){let o=ar(r,t);for(let[s,l]of Object.entries(o)){let a=Od(l);a!==null&&r instanceof HTMLElement&&r.style.setProperty(`--${s}`,Pd(a))}}}function lr(e){let t=new Map;Gd(e,t);for(let n of Array.from(e.querySelectorAll("[data-var-src]"))){let i=n.getAttribute("data-var-src")?.trim();if(!i)continue;if(!Ca.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(Ca).join("/")}.`);continue}let r=Dd(ar(n,t)[i]);if(r!==null){if(!Id(r)){console.warn(`[hyperframes] Ignoring data-var-src="${i}": unsafe URL protocol.`);continue}n.setAttribute("src",r)}}for(let n of Array.from(e.querySelectorAll("[data-var-text]"))){let i=n.getAttribute("data-var-text")?.trim();if(!i)continue;let r=ar(n,t)[i];Gn(r)&&Bd(n,String(r))}}var Se=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);be(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},Wd=[0,0,0],Ud=[1,1,1],cr=64;function Vd(e){let t=!1;for(let n=0;n<e.length;n++){let i=e[n];if(i===\'"\'&&(t=!t),i==="#"&&!t)return e.slice(0,n)}return e}function et(e,t){let n=Number(e);if(!Number.isFinite(n))throw new Se(`Invalid number "${e}"`,t);return n}function Fa(e,t,n){if(e.length!==3)throw new Se(`${t} expects three numbers`,n);return[et(e[0],n),et(e[1],n),et(e[2],n)]}function _a(e,t,n){if(!e)throw new Se(`${t} expects a size`,n);let i=Number(e);if(!Number.isInteger(i)||i<2)throw new Se(`${t} must be an integer greater than 1`,n);return i}function zd(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new Se("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function jd(e){let t=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(e);if(t)return t[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(e);return n&&(n[1]??"").trim()||null}function qd(e){return/^[+-]?(?:\\d|\\.\\d)/.test(e)}function va(e,t={}){let n=t.maxSize??cr,i=null,r=Wd,o=Ud,s=null,l=null,a=[],u=e.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<u.length;m++){let f=m+1,x=Vd(u[m]??"").trim();if(!x)continue;let S=x.split(/\\s+/),b=(S[0]??"").toUpperCase(),g=S.slice(1);if(b==="TITLE"){i=jd(x);continue}if(b==="DOMAIN_MIN"){r=Fa(g,b,f);continue}if(b==="DOMAIN_MAX"){o=Fa(g,b,f);continue}if(b==="LUT_3D_INPUT_RANGE"){if(g.length!==2)throw new Se(`${b} expects two numbers`,f);let A=et(g[0],f),_=et(g[1],f);if(_<=A)throw new Se("LUT_3D_INPUT_RANGE max must exceed min",f);r=[A,A,A],o=[_,_,_];continue}if(b==="LUT_1D_SIZE"){s=_a(g[0],b,f);continue}if(b==="LUT_3D_SIZE"){if(l=_a(g[0],b,f),l>n)throw new Se(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!qd(b)){if(b.startsWith("LUT_"))throw new Se(`Unsupported cube keyword ${b}`,f);continue}if(!l)throw s?new Se("1D cube LUTs are not supported yet",f):new Se("LUT data appears before LUT_3D_SIZE",f);if(S.length!==3)throw new Se("LUT data rows must contain three numbers",f);a.push(et(S[0],f),et(S[1],f),et(S[2],f))}if(s&&l)throw new Se("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw s?new Se("1D cube LUTs are not supported yet"):new Se("Missing LUT_3D_SIZE");zd(r,o);let c=l*l*l;if(a.length!==c*3)throw new Se(`Expected ${c} LUT rows for size ${l}, found ${a.length/3}`);return{title:i,size:l,domainMin:r,domainMax:o,data:new Float32Array(a)}}function $d(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function ur(e){return Math.round($d(e)*255)}function Ma(e){let t=e.size,n=t*t,i=t,r=new Uint8Array(n*i*4);for(let o=0;o<t;o++)for(let s=0;s<t;s++)for(let l=0;l<t;l++){let a=((o*t+s)*t+l)*3,u=(s*n+o*t+l)*4;r[u]=ur(e.data[a]??0),r[u+1]=ur(e.data[a+1]??0),r[u+2]=ur(e.data[a+2]??0),r[u+3]=255}return{width:n,height:i,data:r}}var qe=new Map,Kd="data-hf-color-grading-canvas",Jd="__hf_color_grading_canvas__";function Ia(){if(typeof MutationObserver>"u"||typeof document>"u")return;let e=document.documentElement;if(!e)return;let t=i=>{i instanceof HTMLElement&&(i.hasAttribute(Sn)||i.setAttribute(Sn,i.style.opacity))},n=i=>{if(i instanceof Element){i.hasAttribute(ze)&&t(i);for(let r of i.querySelectorAll(`[${ze}]`))t(r)}};n(e),new MutationObserver(i=>{for(let r of i){for(let o of r.addedNodes)n(o);r.type==="attributes"&&r.target instanceof Element&&r.target.hasAttribute(ze)&&t(r.target)}}).observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[ze]})}var Yd=16,on={enabled:!1,position:.5,softness:0,lineWidth:2};function dr(e){let t=e.getAttribute(ze);return t==null?null:go(t,Hn(e))}var Xd=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),Qd=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_blurSource;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_vibrance;","uniform float u_saturation;","uniform float u_vignette;","uniform float u_vignetteMidpoint;","uniform float u_vignetteRoundness;","uniform float u_vignetteFeather;","uniform float u_grain;","uniform float u_grainSize;","uniform float u_grainRoughness;","uniform float u_grainSeed;","uniform float u_blur;","uniform float u_pixelate;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","float grainHash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); }","float colorSaturation(vec3 c){ return max(max(c.r, c.g), c.b) - min(min(c.r, c.g), c.b); }","vec2 clampUv(vec2 uv){ return clamp(uv, vec2(0.0), vec2(1.0)); }","vec4 sampleSource(vec2 uv){ return texture2D(u_source, clampUv(uv)); }","vec4 sampleBlur(vec2 uv){ return texture2D(u_blurSource, clampUv(uv)); }","vec4 sampleMedia(vec2 uv){"," float pixel = clamp(u_pixelate, 0.0, 1.0);"," vec2 sampleUv = uv;"," if (pixel > 0.0) {"," float blockSize = mix(1.0, 48.0, pixel);"," vec2 cells = max(u_resolution / blockSize, vec2(1.0));"," sampleUv = (floor(clamp(uv, vec2(0.0), vec2(0.999999)) * cells) + 0.5) / cells;"," }"," vec4 base = sampleSource(sampleUv);"," float blur = clamp(u_blur, 0.0, 1.0);"," if (blur > 0.0 && u_blurReady > 0.5) {"," base = mix(base, sampleBlur(sampleUv), blur);"," }"," return base;","}","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 originalSample = sampleSource(uv);"," vec4 sampleColor = sampleMedia(uv);"," vec3 original = originalSample.rgb;"," vec3 color = sampleColor.rgb * pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," float blackPoint = clamp(u_blacks * 0.18, -0.18, 0.18);"," float whitePoint = clamp(1.0 - u_whites * 0.18, 0.82, 1.18);"," color = (color - blackPoint) / max(whitePoint - blackPoint, 0.2);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," float currentSat = clamp(colorSaturation(color), 0.0, 1.0);"," float skinLike = smoothstep(0.02, 0.18, color.r - color.g) * smoothstep(0.0, 0.16, color.g - color.b) * smoothstep(0.18, 0.82, satLuma);"," float vibranceWeight = (1.0 - currentSat * 0.72) * mix(1.0, 0.55, skinLike);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_vibrance * vibranceWeight));"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec2 vignetteAspect = u_resolution.x > u_resolution.y"," ? vec2(u_resolution.x / max(u_resolution.y, 1.0), 1.0)"," : vec2(1.0, u_resolution.y / max(u_resolution.x, 1.0));"," vec2 vignetteUv = abs((v_uv - vec2(0.5)) * 2.0) * vignetteAspect;"," float vignettePower = mix(8.0, 1.8, clamp(u_vignetteRoundness * 0.5 + 0.5, 0.0, 1.0));"," float vignetteDistance = pow(pow(vignetteUv.x, vignettePower) + pow(vignetteUv.y, vignettePower), 1.0 / vignettePower);"," float vignetteMidpoint = mix(0.22, 1.08, clamp(u_vignetteMidpoint, 0.0, 1.0));"," float vignetteFeather = mix(0.08, 0.72, clamp(u_vignetteFeather, 0.0, 1.0));"," float vignetteMask = smoothstep(vignetteMidpoint, vignetteMidpoint + vignetteFeather, vignetteDistance);"," color *= 1.0 - vignetteMask * clamp(u_vignette, 0.0, 1.0) * 0.75;"," float grainAmount = clamp(u_grain, 0.0, 1.0);"," if (grainAmount > 0.0) {"," float grainPixelSize = mix(1.0, 6.0, clamp(u_grainSize, 0.0, 1.0));"," vec2 grainCoord = floor(gl_FragCoord.xy / grainPixelSize) + vec2(u_grainSeed, u_grainSeed * 1.37);"," float grainBase = grainHash(grainCoord) - grainHash(grainCoord + vec2(19.19, 73.31));"," float grainFine = grainHash(gl_FragCoord.xy + vec2(u_grainSeed * 2.11, u_grainSeed * 0.71)) - 0.5;"," float grain = mix(grainBase * 0.7, grainBase + grainFine * 0.35, clamp(u_grainRoughness, 0.0, 1.0));"," float grainLuma = lumaOf(color);"," float grainMask = smoothstep(0.02, 0.55, grainLuma) * (1.0 - smoothstep(0.88, 1.0, grainLuma));"," color += grain * grainAmount * mix(0.025, 0.08, grainMask);"," }"," color = clamp(color, 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`),Zd=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform vec2 u_resolution;","uniform vec2 u_direction;","uniform float u_radius;","vec4 readSource(vec2 uv){"," vec4 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0)));"," color.rgb *= color.a;"," return color;","}","void main(){"," vec2 stepUv = u_direction * max(u_radius, 0.0) / max(u_resolution, vec2(1.0)) / 12.0;"," vec4 color = readSource(v_uv) * 0.08077993;"," color += readSource(v_uv + stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv - stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv + stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv - stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv + stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv - stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv + stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv - stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv + stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv - stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv + stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv - stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv + stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv - stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv + stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv - stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv + stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv - stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv + stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv - stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv + stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv - stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv + stepUv * 12.0) * 0.00453456;"," color += readSource(v_uv - stepUv * 12.0) * 0.00453456;"," if (color.a > 0.0001) color.rgb /= color.a;"," gl_FragColor = color;","}"].join(`\n`);function ft(e){return e instanceof HTMLVideoElement||e instanceof HTMLImageElement}function Ta(e,t,n){let i=e.createShader(n);return i?(e.shaderSource(i,t),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(L("runtime.colorGrading.compileShader",e.getShaderInfoLog(i)),e.deleteShader(i),null)):null}function Pa(e,t=Qd){let n=Ta(e,Xd,e.VERTEX_SHADER),i=Ta(e,t,e.FRAGMENT_SHADER);if(!n||!i)return n&&e.deleteShader(n),i&&e.deleteShader(i),null;let r=e.createProgram();return r?(e.attachShader(r,n),e.attachShader(r,i),e.linkProgram(r),e.deleteShader(n),e.deleteShader(i),e.getProgramParameter(r,e.LINK_STATUS)?r:(L("runtime.colorGrading.linkProgram",e.getProgramInfoLog(r)),e.deleteProgram(r),null)):null}function mr(e,t=e.LINEAR){let n=e.createTexture();return n?(e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,null),n):null}function ef(e,t){let n=Pa(e,Zd);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),resolution:e.getUniformLocation(n,"u_resolution"),direction:e.getUniformLocation(n,"u_direction"),radius:e.getUniformLocation(n,"u_radius")}:null}function Na(e){let t=mr(e),n=e.createFramebuffer();if(!t||!n)return t&&e.deleteTexture(t),n&&e.deleteFramebuffer(n),null;e.bindFramebuffer(e.FRAMEBUFFER,n),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0);let i=e.checkFramebufferStatus(e.FRAMEBUFFER);return e.bindFramebuffer(e.FRAMEBUFFER,null),i!==e.FRAMEBUFFER_COMPLETE?(e.deleteTexture(t),e.deleteFramebuffer(n),null):{texture:t,framebuffer:n,width:1,height:1}}function La(e,t,n,i){t.width===n&&t.height===i||(t.width=n,t.height=i,e.bindTexture(e.TEXTURE_2D,t.texture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,i,0,e.RGBA,e.UNSIGNED_BYTE,null))}function Oa(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!t)return null;let n=Pa(t),i=mr(t),r=mr(t,t.NEAREST);if(!n||!i||!r)return n&&t.deleteProgram(n),i&&t.deleteTexture(i),r&&t.deleteTexture(r),null;let o=t.createBuffer();return o?(t.bindBuffer(t.ARRAY_BUFFER,o),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),t.STATIC_DRAW),{gl:t,program:{program:n,texture:i,lutTexture:r,quad:o,position:t.getAttribLocation(n,"a_pos"),source:t.getUniformLocation(n,"u_source"),blurSource:t.getUniformLocation(n,"u_blurSource"),lut:t.getUniformLocation(n,"u_lut"),resolution:t.getUniformLocation(n,"u_resolution"),uvScale:t.getUniformLocation(n,"u_uvScale"),uvOffset:t.getUniformLocation(n,"u_uvOffset"),blurReady:t.getUniformLocation(n,"u_blurReady"),lutEnabled:t.getUniformLocation(n,"u_lutEnabled"),lutSize:t.getUniformLocation(n,"u_lutSize"),lutTextureSize:t.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:t.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:t.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:t.getUniformLocation(n,"u_lutIntensity"),exposure:t.getUniformLocation(n,"u_exposure"),contrast:t.getUniformLocation(n,"u_contrast"),highlights:t.getUniformLocation(n,"u_highlights"),shadows:t.getUniformLocation(n,"u_shadows"),whites:t.getUniformLocation(n,"u_whites"),blacks:t.getUniformLocation(n,"u_blacks"),temperature:t.getUniformLocation(n,"u_temperature"),tint:t.getUniformLocation(n,"u_tint"),vibrance:t.getUniformLocation(n,"u_vibrance"),saturation:t.getUniformLocation(n,"u_saturation"),vignette:t.getUniformLocation(n,"u_vignette"),vignetteMidpoint:t.getUniformLocation(n,"u_vignetteMidpoint"),vignetteRoundness:t.getUniformLocation(n,"u_vignetteRoundness"),vignetteFeather:t.getUniformLocation(n,"u_vignetteFeather"),grain:t.getUniformLocation(n,"u_grain"),grainSize:t.getUniformLocation(n,"u_grainSize"),grainRoughness:t.getUniformLocation(n,"u_grainRoughness"),grainSeed:t.getUniformLocation(n,"u_grainSeed"),blur:t.getUniformLocation(n,"u_blur"),pixelate:t.getUniformLocation(n,"u_pixelate"),intensity:t.getUniformLocation(n,"u_intensity"),compareEnabled:t.getUniformLocation(n,"u_compareEnabled"),comparePosition:t.getUniformLocation(n,"u_comparePosition"),compareSoftness:t.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:t.getUniformLocation(n,"u_compareLineWidth")}}):(t.deleteProgram(n),t.deleteTexture(i),t.deleteTexture(r),null)}function tf(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function nf(e){if(!tf(e))return{...on};let t=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:e.enabled===!0,position:t(e.position,on.position,0,1),softness:t(e.softness,on.softness,0,.25),lineWidth:t(e.lineWidth,on.lineWidth,0,12)}}function Ba(e){try{let t=new URL(e,document.baseURI);return t.protocol==="data:"?{href:t.href}:t.protocol!=="http:"&&t.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:t.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:t.href}}catch{return{error:"Invalid LUT URL"}}}function hr(e){return e instanceof Error?e.message:"LUT failed to load"}function rf(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0)%1e4}function of(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return rf(t)}function sf(e){let t=Ba(e);if("error"in t)return{state:"error",message:t.error};let n=qe.get(t.href);if(n)return n;let i=fetch(t.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>va(o,{maxSize:cr})),r={state:"pending",promise:i};for(;qe.size>=Yd;){let o=qe.keys().next().value;if(!o)break;qe.delete(o)}return qe.set(t.href,r),i.then(o=>{qe.get(t.href)===r&&qe.set(t.href,{state:"ready",lut:o})},o=>{qe.get(t.href)===r&&qe.set(t.href,{state:"error",message:hr(o)})}),r}function Ra(e,t,n){if(e.lut?.src===t)return e.lut;let i=Ma(n),{gl:r,program:o}=e;try{return r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),e.lut={src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},e.lutError=null,e.lutLoadingSrc=null,e.lut}catch(s){return e.lut=null,e.lutError=hr(s),e.lutLoadingSrc=null,L("runtime.colorGrading.uploadLut",s),null}}function Wn(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function Ha(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Wn(e.gl,t.scratch),Wn(e.gl,t.blur),e.effectTargets=null)}function Ga(e){Ha(e),e.gl.deleteTexture(e.program.texture),e.gl.deleteTexture(e.program.lutTexture),e.gl.deleteBuffer(e.program.quad),e.gl.deleteProgram(e.program.program)}function af(e){let t=Oa(e.canvas);return t?(Ga(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function pr(e){if(!e.sourceHidden)return;e.element.removeAttribute(Dt);let t=e.element.style.getPropertyValue("opacity"),n=e.element.style.getPropertyPriority("opacity");t==="0"&&n==="important"&&(e.sourceInlineOpacity===null?e.element.style.removeProperty("opacity"):e.element.style.setProperty("opacity",e.sourceInlineOpacity,e.sourceInlineOpacityPriority)),e.sourceHidden=!1}function lf(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=ef(t,e.program.quad),i=Na(t),r=Na(t);return!n||!i||!r?(n&&t.deleteProgram(n.program),i&&Wn(t,i),r&&Wn(t,r),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:i,blur:r},e.effectTargets)}function uf(e,t,n,i,r){let o=Math.max(1,Math.ceil(i)),s=Math.max(1,Math.ceil(r));return La(e,t,o,s),La(e,n,o,s),{width:o,height:s}}function ka(e,t,n,i,r,o,s){e.bindFramebuffer(e.FRAMEBUFFER,i.framebuffer),e.viewport(0,0,r.width,r.height),e.useProgram(t.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t.source,0),e.uniform2f(t.resolution,r.width,r.height),e.uniform2f(t.direction,o.x,o.y),e.uniform1f(t.radius,s),e.bindBuffer(e.ARRAY_BUFFER,t.quad),e.enableVertexAttribArray(t.position),e.vertexAttribPointer(t.position,2,e.FLOAT,!1,0,0),e.drawArrays(e.TRIANGLE_STRIP,0,4)}function cf(e,t,n,i,r,o,s){let l=n;for(let a=0;a<Math.max(1,Math.floor(s));a++)ka(e,t.blurProgram,l,t.scratch,r,{x:1,y:0},o),ka(e,t.blurProgram,t.scratch.texture,i,r,{x:0,y:1},o),l=i.texture}function df(e){let t=e.grading.lut?.src.trim()??"",n=e.grading.lut?.intensity??1;if(!t||n<=0)return e.lut=null,e.lutLoadingSrc=null,e.lutError=null,null;let i=Ba(t);if("error"in i)return e.lut=null,e.lutLoadingSrc=null,e.lutError=i.error,null;if(e.lut?.src===i.href)return e.lut;e.lut=null;let r=sf(t);return r.state==="ready"?Ra(e,i.href,r.lut):r.state==="error"?(e.lutError=r.message,e.lutLoadingSrc=null,null):(e.lutLoadingSrc!==i.href&&(e.lutLoadingSrc=i.href,e.lutError=null,r.promise.then(o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(Ra(e,i.href,o),Ie(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=hr(o),e.lutLoadingSrc=null,Ie(e))})),null)}function fr(e){if(!e)return null;if(typeof e=="string"){let t=e.trim();if(!t)return null;let n=document.getElementById(t.replace(/^#/,""));if(n&&ft(n))return n;try{let i=document.querySelector(t);return i&&ft(i)?i:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id="${CSS.escape(e.hfId)}"]`);if(t&&ft(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&ft(t))return t}if(!e.selector)return null;try{let t=Array.from(document.querySelectorAll(e.selector)),n=Math.max(0,Math.floor(Number(e.selectorIndex??0)||0)),i=t[n]??null;return i&&ft(i)?i:null}catch{return null}}function ff(e){return e instanceof HTMLVideoElement?e.videoWidth>0&&e.videoHeight>0?{width:e.videoWidth,height:e.videoHeight}:null:e instanceof HTMLImageElement&&e.naturalWidth>0&&e.naturalHeight>0?{width:e.naturalWidth,height:e.naturalHeight}:null}function Wa(e){return e instanceof HTMLVideoElement?e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.videoWidth>0&&e.videoHeight>0:e instanceof HTMLImageElement?e.complete&&e.naturalWidth>0&&e.naturalHeight>0:!1}function mf(e){if(!e.id)return null;let t=document.getElementById(`__render_frame_${e.id}__`);return t instanceof HTMLImageElement&&Wa(t)?t:null}function pf(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function hf(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function gf(e){if(e instanceof HTMLVideoElement){let t=mf(e);if(t)return t}return Wa(e)?e:null}function Da(e,t){let n=e.toLowerCase();if(n==="center")return .5;if(t==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function xf(e){let t=e.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<t.length;r++){let o=t[r]??"",s=Da(o,"x"),l=Da(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=l;continue}}return{x:n,y:i}}function bf(e,t,n,i,r,o){if(e<=0||t<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",l=e,a=t;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(e/n,t/i):Math.min(e/n,t/i);l=n*f,a=i*f,s==="scale-down"&&l>n&&a>i&&(l=n,a=i)}else s==="none"&&(l=n,a=i);let u=xf(o||"center"),c=(e-l)*u.x/e,m=(t-a)*u.y/t;return{scaleX:l/e,scaleY:a/t,offsetX:c,offsetY:m}}function yf(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function Sf(e,t){let{element:n,canvas:i}=e,r=n.parentElement;r&&yf(e,r);let o=window.getComputedStyle(t);bo(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=e.sourceOpacityForCanvas,i.style.visibility=e.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),l=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return l<=0||a<=0?(i.style.display="none",null):(i.width!==l&&(i.width=l),i.height!==a&&(i.height=a),{width:l,height:a})}function Ef(e,t,n,i,r,o,s,l,a){e.uniform1i(t.source,0),e.uniform1i(t.blurSource,1),e.uniform1i(t.lut,2),e.uniform2f(t.resolution,s.width,s.height),e.uniform2f(t.uvScale,l.scaleX,l.scaleY),e.uniform2f(t.uvOffset,l.offsetX,l.offsetY),e.uniform1f(t.blurReady,r?1:0),e.uniform1f(t.lutEnabled,i?1:0),e.uniform1f(t.lutSize,i?.size??2),e.uniform2f(t.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),e.uniform3f(t.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),e.uniform3f(t.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),e.uniform1f(t.lutIntensity,n.lut?.intensity??0),e.uniform1f(t.exposure,n.adjust.exposure),e.uniform1f(t.contrast,n.adjust.contrast),e.uniform1f(t.highlights,n.adjust.highlights),e.uniform1f(t.shadows,n.adjust.shadows),e.uniform1f(t.whites,n.adjust.whites),e.uniform1f(t.blacks,n.adjust.blacks),e.uniform1f(t.temperature,n.adjust.temperature),e.uniform1f(t.tint,n.adjust.tint),e.uniform1f(t.vibrance,n.adjust.vibrance),e.uniform1f(t.saturation,n.adjust.saturation),e.uniform1f(t.vignette,n.details.vignette),e.uniform1f(t.vignetteMidpoint,n.details.vignetteMidpoint),e.uniform1f(t.vignetteRoundness,n.details.vignetteRoundness),e.uniform1f(t.vignetteFeather,n.details.vignetteFeather),e.uniform1f(t.grain,n.details.grain),e.uniform1f(t.grainSize,n.details.grainSize),e.uniform1f(t.grainRoughness,n.details.grainRoughness),e.uniform1f(t.grainSeed,a),e.uniform1f(t.blur,n.effects.blur),e.uniform1f(t.pixelate,n.effects.pixelate),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,o.enabled?1:0),e.uniform1f(t.comparePosition,o.position),e.uniform1f(t.compareSoftness,o.softness),e.uniform1f(t.compareLineWidth,o.lineWidth)}function Af(e){if(!e.sourceHidden){let t=e.element.getAttribute(Sn);t!==null?(e.sourceInlineOpacity=t===""?null:t,e.sourceInlineOpacityPriority=""):(e.sourceInlineOpacity=e.element.style.getPropertyValue("opacity")||null,e.sourceInlineOpacityPriority=e.element.style.getPropertyPriority("opacity"))}e.element.setAttribute(Dt,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function Ie(e){if(e.destroyed||e.contextLost)return!1;let t=gf(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=ff(t);if(!n)return!1;let i=t instanceof HTMLElement?t:e.element,r=e.element.style.getPropertyValue("opacity"),o=e.element.style.getPropertyPriority("opacity"),s=e.sourceHidden&&r==="0"&&o==="important",l=e.element.style.getPropertyValue("visibility"),a=pf(t);if(a&&hf(e,t),a||!s){let S=window.getComputedStyle(a?t:e.element);e.sourceOpacityForCanvas=S.opacity||"1",e.sourceVisibleForCanvas=(a||l!=="hidden")&&S.visibility!=="hidden"}let u=Sf(e,i);if(!u)return!1;let c=window.getComputedStyle(i),m=bf(u.width,u.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:f,program:x}=e;try{let S=df(e);f.activeTexture(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,x.texture),f.pixelStorei(f.UNPACK_FLIP_Y_WEBGL,!0),f.texImage2D(f.TEXTURE_2D,0,f.RGBA,f.RGBA,f.UNSIGNED_BYTE,t);let b=!1,g=Math.min(1,Math.max(0,e.grading.effects.blur));if(g>0){let _=lf(e);if(_){let N=uf(f,_.scratch,_.blur,u.width,u.height);cf(f,_,x.texture,_.blur,N,.75+Math.pow(g,1.35)*32,g>.55?3:2),b=!0}}else e.effectError=null,e.effectTargets&&Ha(e);f.bindFramebuffer(f.FRAMEBUFFER,null),f.viewport(0,0,u.width,u.height),f.useProgram(x.program),f.activeTexture(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,x.texture),f.activeTexture(f.TEXTURE1),f.bindTexture(f.TEXTURE_2D,e.effectTargets?.blur.texture??x.texture),f.activeTexture(f.TEXTURE2),f.bindTexture(f.TEXTURE_2D,x.lutTexture);let A=e.grainSeed+(e.element instanceof HTMLVideoElement?Math.floor(e.element.currentTime*60):0);return Ef(f,x,e.grading,S,b,e.compare,u,m,A),f.bindBuffer(f.ARRAY_BUFFER,x.quad),f.enableVertexAttribArray(x.position),f.vertexAttribPointer(x.position,2,f.FLOAT,!1,0,0),f.drawArrays(f.TRIANGLE_STRIP,0,4),Af(e),e.hasDrawn=!0,e.drawError=null,!0}catch(S){return e.drawError=S instanceof Error?S.message:"Shader draw failed",L("runtime.colorGrading.drawEntry",S),!1}}function We(e,t,n,i){t.addEventListener(n,i),e.cleanup.push(()=>t.removeEventListener(n,i))}function wf(e){e.animationFrame!==null&&(window.cancelAnimationFrame(e.animationFrame),e.animationFrame=null),e.videoFrameHandle!==null&&e.element instanceof HTMLVideoElement&&(e.element.cancelVideoFrameCallback?.(e.videoFrameHandle),e.videoFrameHandle=null)}function sn(e){if(e.destroyed||!(e.element instanceof HTMLVideoElement)||e.videoFrameHandle!==null||e.animationFrame!==null)return;let t=e.element,n=t;if(typeof n.requestVideoFrameCallback=="function"){e.videoFrameHandle=n.requestVideoFrameCallback(()=>{e.videoFrameHandle=null,Ie(e),!e.destroyed&&!t.paused&&!t.ended&&sn(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,Ie(e),!e.destroyed&&!t.paused&&!t.ended&&sn(e)})}function Cf(e){let t=()=>{Ie(e)};if(We(e,e.element,"load",t),We(e,e.element,"loadedmetadata",t),We(e,e.element,"loadeddata",t),We(e,e.element,"seeked",t),We(e,e.element,"timeupdate",t),We(e,window,"resize",t),e.element instanceof HTMLVideoElement&&(We(e,e.element,"play",()=>sn(e)),We(e,e.element,"pause",t)),We(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",pr(e)}),We(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!af(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",pr(e);return}e.drawError=null,Ie(e)}),typeof ResizeObserver<"u"&&(e.resizeObserver=new ResizeObserver(t),e.resizeObserver.observe(e.element)),typeof MutationObserver<"u"){let n=()=>{let s=e.element.style;return`${s.transform}|${s.translate}|${s.rotate}|${s.scale}|${s.left}|${s.top}|${s.width}|${s.height}`},i=n(),r=!1,o=new MutationObserver(()=>{r||n()!==i&&(r=!0,requestAnimationFrame(()=>{r=!1,i=n(),Ie(e)}))});o.observe(e.element,{attributes:!0,attributeFilter:["style"]}),e.cleanup.push(()=>o.disconnect())}}function Ff(e){if(!e.destroyed){e.destroyed=!0,wf(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();e.cleanup.length=0,e.canvas.remove(),Ga(e),pr(e),e.touchedParent&&(e.parentInlinePosition===null?e.touchedParent.style.removeProperty("position"):e.touchedParent.style.position=e.parentInlinePosition)}}function _f(e){let t=document.createElement("canvas");return e.id&&(t.id=`${fo}${e.id}`),t.className=Jd,t.setAttribute(Kd,"true"),t.setAttribute("data-hyperframes-ignore",""),t.setAttribute("data-hyperframes-picker-ignore",""),t.setAttribute("data-hf-ignore",""),t.setAttribute("aria-hidden","true"),t.style.pointerEvents="none",t.style.display="none",e.parentNode?.insertBefore(t,e.nextSibling),t}function Ua(){let e=new WeakMap,t=new Set,n=null,i=!1,r=(b,g,A)=>{let _=e.get(b);if(_)return _.grading=g,_.source=A,Ie(_),b instanceof HTMLVideoElement&&!b.paused&&sn(_),!0;let N=_f(b),J=Oa(N);if(!J)return N.remove(),!1;let B={element:b,canvas:N,gl:J.gl,program:J.program,grading:g,compare:{...on},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,effectError:null,source:A,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(b).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(b).visibility!=="hidden",hasDrawn:!1,contextLost:!1,grainSeed:of(b),destroyed:!1};return e.set(b,B),t.add(b),Cf(B),Ie(B),b instanceof HTMLVideoElement&&!b.paused&&sn(B),!0},o=(b,g)=>{if(i)return!1;let A=fr(b);if(!A)return!1;let _=e.get(A);if(!_){let N=dr(A);if(!It(N)||!r(A,N,"attribute"))return!1;_=e.get(A)}return _?(_.compare=nf(g),Ie(_),!0):!1},s=b=>{let g=e.get(b);g&&(Ff(g),e.delete(b),t.delete(b))},l=()=>{if(i)return 0;let b=new Set;document.querySelectorAll(`video[${ze}], img[${ze}]`).forEach(A=>{if(!ft(A))return;b.add(A);let _=dr(A);It(_)?r(A,_,"attribute"):s(A)});for(let A of Array.from(t)){let _=e.get(A);_&&(!A.isConnected||_.source==="attribute"&&!b.has(A))&&s(A)}return t.size},a=()=>{if(i)return 0;let b=0;for(let g of Array.from(t,A=>e.get(A)))g&&Ie(g)&&(b+=1);return b},u=(b,g)=>{if(i)return!1;let A=fr(b);if(!A)return!1;let _=Si(g);return It(_)?r(A,_,"live"):(s(A),!0)},c=(b,g)=>{if(!ft(b))return!1;let A=e.get(b);return A?(A.sourceVisibleForCanvas=g,!0):!1},m=b=>{let g=fr(b);if(!g)return{state:"missing",message:"Media not found"};let A=e.get(g);if(A)return A.effectError?{state:"unavailable",message:A.effectError}:A.drawError?{state:"unavailable",message:A.drawError}:A.lutError?{state:"unavailable",message:`LUT error: ${A.lutError}`}:A.grading.lut&&A.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:A.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:A.lut?"Shader + LUT active":"Shader active"};let _=dr(g);return It(_)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let b of Array.from(t))s(b)}};document.body&&(n=new MutationObserver(()=>l()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[ze]}));let x={refresh:l,redraw:a,setGrading:u,setCompare:o,setSourceVisibility:c,getStatus:m,destroy:f},S=window;return S.__hf=S.__hf||{},S.__hf.colorGrading=x,l(),x}var Un=class{constructor(t){be(this,"_baseTime",0);be(this,"_playStartMs",null);be(this,"_rate",1);be(this,"_duration",1/0);be(this,"_nowMs");be(this,"_audioSource",null);this._baseTime=t?.initialTime??0,this._rate=t?.rate??1,this._duration=t?.duration??1/0,this._nowMs=t?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let t=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+t*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(t){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(t,this._duration)):Math.max(0,t);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(t){let n=Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(t){this._duration=Number.isFinite(t)&&t>0?t:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(t){this._audioSource=t}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:t}=this._audioSource;if(!t.paused&&Number.isFinite(t.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function Va(e){return!Number.isFinite(e)||e<=0?1:e}function vf(e,t){t||e.paused||!pn().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function Mf(e,t){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=t,l=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let c=a-n;return l&&c<=0?!1:(l?e.start(0,n+i,c):e.start(0,n+i),!0)}let u=-n/o;return l?e.start(r+u,i,a):e.start(r+u,i),!0}var Vn=class{constructor(){be(this,"_ctx",null);be(this,"_bufferCache",new Map);be(this,"_failedSrcs",new Set);be(this,"_activeSources",[]);be(this,"_masterGain",null);be(this,"_rateAnchorCtx",0);be(this,"_rateAnchorComp",0);be(this,"_rate",1);be(this,"_paused",!0);be(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(t){let n=t.currentSrc||t.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return L("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return L("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),L("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(t,n,i,r,o,s,l,a=1,u=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||l!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),l!==this._playGeneration)return null;let c=Va(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=c;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,S=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=S,this._rateAnchorComp=o,!Mf(m,{elapsed:x,mediaStart:r,scheduledAt:S,safeRate:c,clipDuration:u}))return m.disconnect(),f.disconnect(),null;let b=t.muted;t.muted=!0,vf(t,b);let g={el:t,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:S,priorMuted:b,bounded:Number.isFinite(u)&&u>0};return this._activeSources.push(g),this._paused=!1,m.addEventListener("ended",()=>{let A=this._activeSources.indexOf(g);A!==-1&&(this._activeSources.splice(A,1),t.muted=b,this._activeSources.length===0&&(this._paused=!0))}),g}catch(c){return L("webAudioTransport.schedule",c),null}}setRate(t){let n=Va(t);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){L("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(t=>t.bounded)}stopAll(){for(let t of this._activeSources){try{t.sourceNode.stop(),t.sourceNode.disconnect(),t.gainNode.disconnect()}catch{}t.el.muted=t.priorMuted}this._activeSources=[],this._paused=!0}setVolume(t){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,t)))}setElementVolume(t,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===t)try{r.gainNode.gain.value=i}catch(o){L("webAudioTransport.setElementVolume",o)}}setMuted(t){this._masterGain&&(this._masterGain.gain.value=t?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var za="data-hf-studio-manual-edit-gesture";var gr="data-hf-authored-duration",xr="data-hf-authored-end";function Tf(){let e=window.__HF_EXPORT_RENDER_SEEK_CONFIG,t=e?.fps,n=e?.fpsSource,i=Number(t);return!e||t==null?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"missing"}:!Number.isFinite(i)||i<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"invalid"}:{fps:i,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:t,fallbackReason:e.fpsFallbackReason}}function ja(){let e=Eo();Bn(document),lr(document);let t=Tf();e.canonicalFps=t.fps??e.canonicalFps,window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:e.canonicalFps,source:t.source,rawFpsSource:t.rawFpsSource,rawFps:t.rawFps,fallbackReason:t.fallbackReason});let n=null,i=null,r=null,o=[],s=new Set,l=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){L("runtime.init.site1",d)}(()=>{let d=window.gsap,p=window;if(!(!d?.registerPlugin||p.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch{}})(),document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden");try{Ur(document)}catch(d){L("runtime.init.cssVariables",d)}window.__timelines=window.__timelines||{};let u=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,p=u()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[p]=d[0];else for(let y=0;y<d.length;y++)h[`tl-${y}`]=d[y];window.__timelines=h}let c=u();c&&!c.hasAttribute("data-start")&&c.setAttribute("data-start","0");let m=d=>{o.push(d)},f=(d,p,h)=>{let y=h??`${d}:${JSON.stringify(p)}`;s.has(y)||(s.add(y),Ce({source:"hf-preview",type:"diagnostic",code:d,details:p}))},x=d=>{let p={scale:1,focusX:960,focusY:540},h=[],y=[],w={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>y,getRenderState:()=>({...w,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},S=1/60,b=.75,g=2,A=.05,_=100,N=240,J=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},B=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},M=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},E=()=>u(),F=()=>{let d=E();if(!d)return;let p=M(d.getAttribute("data-width")),h=M(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},v=()=>{let d=E(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let y=h.getAttribute("data-duration"),w=h.getAttribute("data-end");y!=null&&!h.hasAttribute(gr)&&h.setAttribute(gr,y),w!=null&&!h.hasAttribute(xr)&&h.setAttribute(xr,w),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},T=()=>{let d=E();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=M(d.getAttribute("data-width")),h=M(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let y=Array.from(d.children);for(let w of y){let C=w.tagName.toLowerCase();if(C==="script"||C==="style"||C==="link"||C==="meta"||!w.hasAttribute("data-start")||w.hasAttribute("data-hf-autostamped"))continue;let R=(w.style.top==="0px"||w.style.top==="0")&&(w.style.left==="0px"||w.style.left==="0")&&w.style.width==="100%"&&w.style.height==="100%",q=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(w.style.transform);if(R&&q&&!w.hasAttribute("data-width")&&!w.hasAttribute("data-height")){let ye=w.style.top,at=w.style.left,we=w.style.width,Mt=w.style.height;w.style.top="",w.style.left="",w.style.width="",w.style.height="";let ie=window.getComputedStyle(w);ie.top!=="auto"||ie.bottom!=="auto"||ie.left!=="auto"||ie.right!=="auto"||ie.width!=="0px"||ie.height!=="0px"||(w.style.top=ye,w.style.left=at,w.style.width=we,w.style.height=Mt)}let K=window.getComputedStyle(w),ge=K.position;if(ge!=="absolute"&&ge!=="fixed"&&(w.style.position="absolute"),!!w.style.top||!!w.style.bottom||K.top!=="auto"||K.bottom!=="auto"||(w.style.top="0"),!!w.style.left||!!w.style.right||K.left!=="auto"||K.right!=="auto"||(w.style.left="0"),C!=="audio"){let ye=M(w.getAttribute("data-width")),at=M(w.getAttribute("data-height")),we=K.width!=="0px"&&K.width!=="auto",Mt=K.height!=="0px"&&K.height!=="auto";ye?!w.style.width&&!we&&(w.style.width=ye):!w.style.width&&K.width==="0px"&&(w.style.width="100%"),at?!w.style.height&&!Mt&&(w.style.height=at):!w.style.height&&K.height==="0px"&&(w.style.height="100%")}}},k=(d,p=0,h)=>Je({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),W=(d,p)=>Je({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),j=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0)+p:k(d,p),re=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let y=h==="video"||h==="audio"?j(d,0):k(d,0),w=W(d),C=d.getAttribute("data-composition-id");if(C){let q=(window.__timelines??{})[C],K=null;if(q&&typeof q.duration=="function"){let xe=Number(q.duration());Number.isFinite(xe)&&xe>0&&(K=xe)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(gr)||d.hasAttribute(xr))&&(w==null||w<=0)&&K!=null&&(w=K)}let R=w!=null&&w>0?y+w:Number.POSITIVE_INFINITY;return p>=y&&(Number.isFinite(R)?p<=R:!0)},P=!!document.querySelector("[data-composition-src]"),se=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){se=!0;break}}}let Ee=!P&&!se,H=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},U=d=>typeof d=="number"&&Number.isFinite(d)&&d>S,V=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),y=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>y?Math.max(0,d.duration-y):null},oe=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let y=j(h,0);if(!Number.isFinite(y))continue;let w=V(h);w==null||w<=S||(p=Math.max(p,Math.max(0,y)+w))}return p>S?p:null},_e=()=>{let d=E();if(!d)return null;let p=window.__timelines??{},h=Je({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),y=0,w=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(w)&&w>0&&(y=w);let C=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let R of C){if(!(R instanceof Element)||R.parentElement?.closest("[data-composition-id]")!==d)continue;let K=h.resolveStartForElement(R,0),ge=h.resolveDurationForElement(R);!Number.isFinite(K)||ge==null||ge<=0||(y=Math.max(y,Math.max(0,K)+ge))}return y>S?y:null},O=()=>{let d=oe();return typeof d!="number"||!Number.isFinite(d)||d<=S?null:d},D=d=>U(d)?Math.max(S,d*b):S,G=()=>{let d=0;for(let p of e.deterministicAdapters){let h=p.getInferredDurationSeconds;if(typeof h!="function")continue;let y=null;try{y=h()}catch(w){L("runtime.init.adapterDuration",w)}typeof y=="number"&&Number.isFinite(y)&&y>0&&(d=Math.max(d,y))}return d>S?d:null},Q=(d,p=0)=>{let h=H(d),y=O(),w=_e(),C=G(),R=Math.max(y??0,w??0,C??0),q=Number.isFinite(p)&&p>S?p:0,K=0;return U(h)?K=Math.max(h,R,q):U(R)?K=Math.max(R,q):K=q,K>0?Math.max(0,K):0},ae=()=>{let d=window.__timelines??{},p=ie=>{let ee=Object.entries(d).filter(he=>!!he[1]&&typeof he[1].play=="function"&&typeof he[1].pause=="function");if(ee.length!==1)return{timeline:null};let[fe,me]=ee[0];return{timeline:me,selectedTimelineIds:[fe],selectedDurationSeconds:H(me),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:ie,soleTimelineId:fe}}}},h=Je({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),y=O(),w=_e(),C=Math.max(y??0,w??0)||null,R=D(C),q=ie=>{let ee=document.querySelector(`[data-composition-id="${CSS.escape(ie)}"]`);return ee?h.resolveStartForElement(ee,0):0},K=ie=>{let ee=window.gsap;if(!ee||typeof ee.timeline!="function")return null;let fe=ee.timeline({paused:!0});for(let me of ie)fe.add(me.timeline,q(me.compositionId));return fe},ge=(ie,ee)=>{if(!U(ie))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let me=fe.timeline({paused:!0});if(ee)try{me.add(ee,0)}catch(ue){L("runtime.init.site2",ue)}let he=me;if(typeof he.to=="function")try{he.to({},{duration:ie})}catch(ue){L("runtime.init.site3",ue)}return me},xe=(ie,ee)=>{let fe=ie;if(typeof fe.getChildren!="function")return[];try{let me=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(me))return[];let he=[];for(let ue of ee)if(!me.some(Re=>Re===ue.timeline))try{let Re=q(ue.compositionId);ie.add(ue.timeline,Re),he.push(ue.compositionId)}catch(Re){L("runtime.init.site4",Re)}return he}catch{return[]}},ne=E(),Z=ne?.getAttribute("data-composition-id")??null;if(!Z)return p("root_missing_composition_id");let ye=d[Z]??null,we=(()=>{if(!ne)return[];let ie=new Set,ee=Array.from(ne.querySelectorAll("[data-composition-id]")),fe=[];for(let me of ee){let he=me.getAttribute("data-composition-id");if(!he||he===Z||ie.has(he))continue;ie.add(he);let ue=d[he]??null;if(!ue||typeof ue.play!="function"||typeof ue.pause!="function")continue;let Me=H(ue);fe.push({compositionId:he,timeline:ue,durationSeconds:Me??0})}return fe})(),Mt=ie=>{for(let ee of ie){let fe=ee.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(me){L("runtime.init.site5",me)}}};if(we.length>0&&Mt(we),ye){let ie=we.length>0?xe(ye,we):[];if((we.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+Z+"\'])"))&&($=!0),ie.length>0)try{let ue=ye.time();ye.seek(ue,!1)}catch{}let ee=H(ye);if(!U(ee)&&we.length>0){let ue=we.map(Rl=>Rl.compositionId),Me=K(we),Re=H(Me);if(Me&&U(Re))return{timeline:Me,selectedTimelineIds:ue,selectedDurationSeconds:Re,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:R,selectedDurationSeconds:Re,mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedTimelineIds:ue,autoNestedChildren:ie}}};let oi=ge(C??0,ye),si=H(oi);if(oi&&U(si))return{timeline:oi,selectedTimelineIds:[Z],selectedDurationSeconds:si,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:si,selectedTimelineIds:[Z],autoNestedChildren:ie}}}}if(!U(ee)&&we.length===0){let ue=ge(C??0,ye),Me=H(ue);if(ue&&U(Me))return{timeline:ue,selectedTimelineIds:[Z],selectedDurationSeconds:Me,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:Me,selectedTimelineIds:[Z]}}}}let fe=ne?.getAttribute("data-duration"),me=fe?parseFloat(fe):null,he=Math.max(U(me)?me:0,w??0);if(he>0&&U(he)&&U(ee)&&he>=ee+.5){let ue=ye;if(typeof ue.to=="function")try{ue.to({},{duration:0},he)}catch(Re){L("runtime.init.site6",Re)}let Me=H(ye);if(U(Me))return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:Me,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:Z,rootDurationSeconds:ee,rootDeclaredDur:me,authoredCompositionDurationFloorSeconds:w,newDur:Me}}}}return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:ee,mediaDurationFloorSeconds:y,diagnostics:ie.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:Z,selectedDurationSeconds:ee,autoNestedChildren:ie}}:void 0}}if(we.length>0){let ie=we.map(me=>me.compositionId),ee=K(we),fe=H(ee);if(ee)return{timeline:ee,selectedTimelineIds:ie,selectedDurationSeconds:fe,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:R,selectedDurationSeconds:fe,mediaDurationFloorSeconds:y,selectedTimelineIds:ie}}}}return p("root_composition_id_unmatched_in_registry")},$=!1,z=()=>{if(!Ee)return!1;let d=e.capturedTimeline,p=H(d),h=U(p);if(d&&h&&$)return!1;let y=ae();if(!y.timeline)return!1;if(d&&d===y.timeline)return typeof d.timeScale=="function"&&d.timeScale(e.playbackRate),!1;e.capturedTimeline=y.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let w=Q(e.capturedTimeline,0);if(w<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),e.capturedTimeline.pause()),w>0){try{I.setDuration(w)}catch{}if(typeof e.capturedTimeline.totalTime=="function"){typeof e.capturedTimeline.progress=="function"&&e.capturedTimeline.progress(1e-4,!0);let R=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(R,!1),e.capturedTimeline.pause()}let C=window.__hfStudioManualEditsApply;typeof C=="function"&&C(),Bn(document)}if(y.diagnostics&&Ce({source:"hf-preview",type:"diagnostic",code:y.diagnostics.code,details:y.diagnostics.details}),Ce({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:y.selectedTimelineIds??[],selectedDurationSeconds:y.selectedDurationSeconds??null,mediaDurationFloorSeconds:y.mediaDurationFloorSeconds??null}}),window.parent!==window){let C=E(),R=w>0?w:0,q=String(R>0?R:1),K=new Set,ge=new Set(document.querySelectorAll("[data-start]")),xe=ne=>{let Z=ne.parentElement;for(;Z&&Z!==C;){if(ge.has(Z))return!0;Z=Z.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let ne of e.capturedTimeline.getChildren(!0))if(typeof ne.targets=="function")for(let Z of ne.targets())Z instanceof HTMLElement&&Z!==C&&(Z.hasAttribute("data-start")||xe(Z)||K.has(Z)||(K.add(Z),Z.setAttribute("data-start","0"),Z.setAttribute("data-duration",q),Z.setAttribute("data-hf-autostamped","1")))}catch{}if(C instanceof HTMLElement)for(let ne of C.querySelectorAll("[id]"))ne instanceof HTMLElement&&ne!==C&&(ne.hasAttribute("data-start")||xe(ne)||K.has(ne)||ne.tagName==="SCRIPT"||ne.tagName==="STYLE"||ne.tagName==="LINK"||(K.add(ne),ne.setAttribute("data-start","0"),ne.setAttribute("data-duration",q),ne.setAttribute("data-hf-autostamped","1")))}for(let C of Ct)un.delete(C),vr(C);return!0};window.__hfForceTimelineRebind=()=>{$=!1,z()};let Y=()=>{let d=E();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),y=Number(d.getAttribute("data-height")),w=window.getComputedStyle(d),C=Number.isFinite(h)&&h>0&&Number.isFinite(y)&&y>0,R=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!C||!R||f("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:y,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:w.display,visibility:w.visibility,overflow:w.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Oe=()=>{e.tornDown||(l!=null&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{l=null,Y()}))},ve=()=>{i=d=>{let p=J(d.error??d.message).slice(0,N);if(!p)return;let h=B(p);Ce({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},r=d=>{let p=J(d.reason).slice(0,N);if(!p)return;let h=B(p);Ce({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",r)},wt=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let y=()=>{if(!(h instanceof Element))return;let w=h.tagName.toLowerCase(),C=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,R=w==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";f(R,{tagName:w,assetUrl:C,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${R}:${w}:${C??"unknown"}`)};h.addEventListener("error",y),m(()=>{h.removeEventListener("error",y)})}let p=document.fonts;p&&p.ready.then(()=>{if(e.tornDown)return;let h=Array.from(p).filter(y=>y.status==="error").map(y=>y.family).filter(y=>!!y).slice(0,10);h.length!==0&&f("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},Ue=(d,p)=>{if(!d.timeline)return!1;let h=e.capturedTimeline;if(h&&h===d.timeline)return!1;let y=Math.max(0,e.currentTime||0),w=e.isPlaying;e.capturedTimeline=d.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);try{e.capturedTimeline.pause(),e.capturedTimeline.seek(y,!1),w&&e.capturedTimeline.play()}catch(C){L("runtime.init.site7",C)}return Ce({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:y,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},it=null,_r=!1,Ct=new Set,un=new WeakMap,cn=()=>{e.tornDown||(it!=null&&window.clearTimeout(it),it=window.setTimeout(()=>{if(e.tornDown)return;it=null;let d=ae();if(!d.timeline||!U(d.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){z()&&(rt(),Te(!0));return}if(_r)return;let h=H(e.capturedTimeline),y=d.selectedDurationSeconds??H(d.timeline);U(y)&&(!U(h)||y>=h+A)&&Ue(d,"manual")&&(_r=!0,Ce({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:y??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),rt(),Te(!0))},_))},bl=()=>{for(let d of Ct)d.removeEventListener("loadedmetadata",cn),d.removeEventListener("durationchange",cn);Ct.clear()},Jn=()=>{if(e.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(Ct.has(p))continue;Ct.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",cn),p.addEventListener("durationchange",cn),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),vr(p)}},vr=d=>{un.has(d)||lo(d,e.capturedTimeline,Q(e.capturedTimeline,0),un)},Yn=new WeakMap,Mr=d=>{let p=Yn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,y=h==="static"||h==="relative"||h==="sticky";return Yn.set(d,y),y},Xn=new WeakMap,yl=d=>{let p=Xn.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return Xn.set(d,h),h},Sl=()=>{Yn=new WeakMap,Xn=new WeakMap},Qn=new WeakMap,dn=new WeakSet,Le=()=>{let d=C=>{let R=C.closest("[data-composition-id]"),q=R?k(R,0):null,K=R?W(R,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:R,inheritedStart:q,inheritedDuration:K}},p=uo({shouldIncludeElement:C=>C.hasAttribute("data-start")||!!d(C).compositionRoot,resolveStartSeconds:C=>{let R=d(C);return j(C,R.inheritedStart??0)},resolveDurationSeconds:C=>{let R=d(C),q=j(C,R.inheritedStart??0),K=Number.parseFloat(C.dataset.playbackStart??C.dataset.mediaStart??"0")||0,ge=R.inheritedStart!=null&&R.inheritedDuration!=null&&R.inheritedDuration>0?Math.max(0,R.inheritedStart+R.inheritedDuration-q):null,xe=Number.isFinite(C.duration)&&C.duration>K?Math.max(0,C.duration-K):null,ne=Number.parseFloat(C.dataset.duration??""),Z=Number.isFinite(ne)&&ne>0?ne:null,ye=[xe,ge,Z].filter(at=>at!=null);return ye.length>0?Math.min(...ye):null}});for(let C of p.mediaClips){let R=un.get(C.el);R&&(C.volumeKeyframes=R)}let h=e.mediaForceSyncNextTick;h&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||co({clips:p.mediaClips,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted||!e.webAudioMediaDisabled&&!e.nativeMediaSyncDisabled&&de.isActive(),userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:h,onElementVolume:(C,R)=>de.setElementVolume(C,R),isWebAudioOwned:C=>de.ownsElement(C),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,Ce({source:"hf-preview",type:"media-autoplay-blocked"}))}});let y=Array.from(document.querySelectorAll("[data-start]")),w=E();for(let C of y){if(!(C instanceof HTMLElement))continue;if(C.hasAttribute("data-hidden")){dn.has(C)||(Qn.set(C,C.style.getPropertyValue("display")),dn.add(C)),C.style.display="none",(C instanceof HTMLVideoElement||C instanceof HTMLImageElement)&&n?.setSourceVisibility(C,!1);continue}if(dn.has(C)){let q=Qn.get(C);q?C.style.display=q:C.style.removeProperty("display"),Qn.delete(C),dn.delete(C)}let R=re(C,e.currentTime);if(R){let q=C.parentElement;for(;q&&q!==w;){if(q instanceof HTMLElement&&q.hasAttribute("data-start")&&!re(q,e.currentTime)){R=!1;break}q=q.parentElement}}C.style.visibility=R?"visible":"hidden",(C instanceof HTMLVideoElement||C instanceof HTMLImageElement)&&n?.setSourceVisibility(C,R),R?Mr(C)&&C.style.removeProperty("display"):Mr(C)&&yl(C)&&(C.style.display="none")}},Te=d=>{let p=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),h=Date.now();(d||p!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||h-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=p,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=h,Ce({source:"hf-preview",type:"state",frame:p,isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},Zn="",Tr=0,El=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},rt=()=>{v(),F(),T();let d=E();if(d){let y=M(d.getAttribute("data-width")),w=M(d.getAttribute("data-height")),C=y?parseInt(y,10):0,R=w?parseInt(w,10):0;C>0&&R>0&&Ce({source:"hf-preview",type:"stage-size",width:C,height:R})}z();let p=vo({canonicalFps:e.canonicalFps});window.__clipManifest=p;let h=El();if(Zn!==h&&Sl(),!window.__clipTree||Zn!==h){let y=window;window.__clipTree=Ao({startResolver:Je({timelineRegistry:y.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:y.__timelines??{},rootDuration:p.durationInFrames/e.canonicalFps}),Zn=h}Ce(p),Oe()},ei=d=>Number.isFinite(d)&&d>0?d:0,Al=d=>{let p=ei(Number(d));if(p<=0)return;let h=E(),y=ei(Number.parseFloat(h?.getAttribute("data-duration")??"")),w=Math.max(Tr,ei(I.getDuration()),y);p<=w||(Tr=p,h?.setAttribute("data-duration",String(p)),I.setDuration(p),rt(),Te(!0))},Be=(d,p=0)=>{for(let h of e.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(y){L("runtime.init.site8",y)}if(d==="discover")try{h.seek({time:p,suppressEvents:!0})}catch(y){L("runtime.init.site9",y)}}},ot=()=>{window.__renderReady=!1},Ft=null,_t=!0,wl=()=>{let d=[];for(let p of e.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let y=h();y&&d.push(y)}catch(y){L("runtime.init.adapterReady",y)}}return d},Cl=()=>{let d=wl();if(d.length===0)return Ft=null,_t=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==Ft&&(Ft=p,_t=!1,Promise.resolve(p).then(()=>{Ft===p&&(_t=!0,ot())},h=>{Ft===p&&(_t=!0,L("runtime.init.adapterReady",h),ot())})),_t};if(Ee)rr();else{let d={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,parseDimensionPx:M,onDiagnostic:({code:p,details:h})=>{Ce({source:"hf-preview",type:"diagnostic",code:p,details:h})}};pa(d).then(()=>ma(d)).finally(()=>{Ee=!0,Jn(),wt(),rr(),lr(document),ot()})}let fn=xo({postMessage:d=>Ce(d)});fn.installPickerApi();let Ve=Ua();n=Ve,m(()=>{Ve.destroy(),n=null});let ti=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,p)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let h=document.querySelectorAll("video, audio");for(let y of h)if(y instanceof HTMLMediaElement)try{y.playbackRate=e.playbackRate}catch(w){L("runtime.init.site10",w)}},pe=So({getTimeline:()=>e.capturedTimeline,setTimeline:d=>{e.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>e.isPlaying,setIsPlaying:d=>{e.isPlaying!==d&&(e.mediaForceSyncNextTick=!0),e.isPlaying=d},getPlaybackRate:()=>e.playbackRate,setPlaybackRate:ti,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(d,p)=>{e.currentTime=Math.max(0,Number(d)||0),e.isPlaying!==p&&(e.mediaForceSyncNextTick=!0),e.isPlaying=p,Le()},onStatePost:Te,onDeterministicSeek:(d,p)=>{for(let h of e.deterministicAdapters)if(!(h.name==="gsap"&&e.capturedTimeline))try{h.seek({time:Number(d)||0,suppressEvents:p?.suppressEvents})}catch(y){L("runtime.init.site11",y)}},onDeterministicPause:()=>Be("pause"),onDeterministicPlay:()=>Be("play"),onRenderFrameSeek:()=>{Ve.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Q(e.capturedTimeline,0)});window.__player=x(pe),window.__playerReady=!0,Br(Ce),lt("composition_loaded",{duration:pe.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.controlBridgeHandler=Or({onPlay:()=>{pe.play(),lt("composition_played",{time:pe.getTime()})},onPause:()=>{pe.pause(),lt("composition_paused",{time:pe.getTime()})},onStopMedia:()=>{de.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/e.canonicalFps;pe.seek(h),lt("composition_seeked",{time:h})},onSetMuted:d=>{e.bridgeMuted=d;let p=d||e.mediaOutputMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let y of h)y instanceof HTMLMediaElement&&(y.muted=p||y.defaultMuted)},onSetVolume:d=>{e.bridgeVolume=d,de.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let y=parseFloat(h.dataset.volume??""),w=Number.isFinite(y)?y:1;h.volume=w*d}},onSetMediaOutputMuted:d=>{e.mediaOutputMuted=d;let p=d||e.bridgeMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let y of h)y instanceof HTMLMediaElement&&(y.muted=p||y.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{e.nativeMediaSyncDisabled!==d&&(e.nativeMediaSyncDisabled=d,e.mediaForceSyncNextTick=!0,d?(de.stopAll(),I.detachAudioSource()):Le())},onSetWebAudioMediaDisabled:d=>{e.webAudioMediaDisabled!==d&&(e.webAudioMediaDisabled=d,e.mediaForceSyncNextTick=!0,d&&(de.stopAll(),I.detachAudioSource()),Le())},onSetPlaybackRate:d=>{ti(d),e.transportClock&&e.transportClock.setRate(e.playbackRate),Ir()},onSetRootDuration:Al,onSetColorGrading:(d,p)=>{Ve.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{Ve.setCompare(d,p)},onTick:()=>{if(e.tornDown||!I.isPlaying())return;let d=I.now();if(e.currentTime=d,st(d),I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),e.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),e.currentTime=p,st(p)),Be("pause"),Le(),Te(!0)}},onEnablePickMode:()=>fn.enablePickMode(),onDisablePickMode:()=>fn.disablePickMode()}),e.deterministicAdapters=[so(),zr({resolveStartSeconds:d=>k(d,0)}),qr(),Kr(),Yr(),Xr(),Qr(),Zr(),eo(),to(),no(),jr({getTimeline:()=>e.capturedTimeline})],ro(),oo(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,Jr(p)},ve(),Jn(),Be("discover");let I=new Un;e.transportClock=I;let de=new Vn,ni=!1;de.init().then(d=>{ni=d});let Fl=()=>{let d=e.capturedTimeline,p=z();e.capturedTimeline&&(p||e.capturedTimeline!==d||!pe._timeline)&&(pe._timeline=e.capturedTimeline);let h=Q(e.capturedTimeline,0);if(h>0&&I.setDuration(h),Be("discover",e.currentTime),!e.capturedTimeline){let y=window.__timelines??{},w=Object.keys(y).filter(C=>y[C]);if(w.length>0){let R=E()?.getAttribute("data-composition-id")??null;f("root_timeline_unbound_registry_present",{reason:R?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:R,registeredTimelineKeys:w},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(R?`Root data-composition-id is "${R}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${w.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${R??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,rt(),Te(!0)};if(ot=()=>{if(!Ee||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Be("discover",e.currentTime),!Cl()){window.__renderReady=!1;return}Fl()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),ot()};window.addEventListener("hf-timelines-built",d)}ot(),Ee&&setTimeout(()=>{ot()},0);let mn=0,ii=!1,_l=(d,p,h,y)=>{try{let w=y?.suppressEvents===!0;d.pause(),typeof d.totalTime=="function"?d.totalTime(p,w):d.seek(p,w)}catch(w){L(h,w)}},vl=(d,p)=>{let h=window.__timelines??{},y=E()?.getAttribute("data-composition-id")??null;for(let[w,C]of Object.entries(h)){if(!C||w===y)continue;let R=document.querySelector(`[data-composition-id="${CSS.escape(w)}"]`);if(!R)continue;let q=k(R,0);if(!Number.isFinite(q))continue;let K=W(R,{includeAuthoredTimingAttrs:!0}),ge=H(C),xe=K!=null&&K>0?K:ge,ne=Math.max(0,xe!=null&&xe>0?Math.min(xe,d-q):d-q);_l(C,ne,"runtime.init.transport.childTimeline",p)}},Ml=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(y){L("runtime.init.activateSiblings",y)}},Nr=d=>typeof d=="object"&&d!==null,vt=new WeakMap,Tl=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],Lr=(d,p)=>{let h=d[p];if(typeof h!="function")return null;try{let y=Number(h.call(d));return Number.isFinite(y)?y:null}catch(y){return L("runtime.init.gsapCallbackDuration",y),null}},Nl=d=>{let p=vt.get(d);if(p!=null)return p;if(!("getChildren"in d)||typeof d.getChildren!="function")return!1;let h;try{h=d.getChildren(!0,!0,!0)}catch(y){return L("runtime.init.gsapCallbackChildren",y),vt.set(d,!1),!1}if(!Array.isArray(h))return vt.set(d,!1),!1;for(let y of h){if(!Nr(y)||!Nr(y.vars)||!Tl.some(q=>typeof y.vars[q]=="function"))continue;let R=Lr(y,"totalDuration")??Lr(y,"duration");if(R!=null&&R<=1e-6)return vt.set(d,!0),!0}return vt.set(d,!1),!1},st=(d,p)=>{let h=e.capturedTimeline,y=p?.suppressEvents===!0;if(h){p?.activateChildren&&Ml(h);let w=h,C=d;if(typeof w.totalDuration=="function")try{let R=Number(w.totalDuration());Number.isFinite(R)&&R>0&&d>R&&(C=R)}catch(R){L("runtime.init.transport.clampDuration",R)}try{typeof h.totalTime=="function"?(h.totalTime(C,y),!y&&!Nl(h)&&(h.totalTime(C+.001,!0),h.totalTime(C,!0))):h.seek(C,y)}catch(R){L("runtime.init.transport.seek",R)}}else vl(d,p);for(let w of e.deterministicAdapters)if(!(w.name==="gsap"&&h))try{w.seek({time:d,suppressEvents:y})}catch(C){L("runtime.init.transport.adapter",C)}},Ll=()=>{try{return document.querySelector(`[${za}]`)!=null}catch{return!1}},Rr=()=>{if(!(e.tornDown||ii)){ii=!0;try{if(e.transportRafId=window.requestAnimationFrame(Rr),mn+=1,mn%60===0&&!(I.isPlaying()&&e.capturedTimeline!=null&&I.now()<g)){let h=e.capturedTimeline;if(z()){e.capturedTimeline&&!pe._timeline&&(pe._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==h&&e.capturedTimeline.pause();let y=Q(e.capturedTimeline,0);y>0&&I.setDuration(y),rt()}}if(mn%20===0&&rt(),mn%30===0&&Jn(),e.capturedTimeline){let p=Q(e.capturedTimeline,0);p>0&&(!I.isPlaying()||p>=I.getDuration())&&I.setDuration(p)}if(I.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&de.isActive()&&de.context){let p=de.getTime();p>=0&&I.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let y of p){if(!(y instanceof HTMLMediaElement)||!y.isConnected)continue;let w=Number.parseFloat(y.dataset.start??""),C=Number.parseFloat(y.dataset.duration??""),R=Number.isFinite(C)&&C>0?w+C:1/0,q=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0;if(Number.isFinite(w)&&e.currentTime>=w&&e.currentTime<=R){y.paused?!y.error&&y.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(I.attachAudioSource({currentTimeSeconds:e.currentTime}),h=!0):(I.attachAudioSource({el:y,compositionStart:w,mediaStart:q}),h=!0);break}}!h&&I.hasAudioSource()&&I.detachAudioSource()}else I.hasAudioSource()&&I.detachAudioSource();let d=I.now();if(e.currentTime=d,(I.isPlaying()||!Ll())&&st(d),I.isPlaying()&&I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),e.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),e.currentTime=p,st(p)),Be("pause"),Le(),Te(!0);return}I.isPlaying()&&Le(),Te(!1)}finally{ii=!1}}},kr=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let y=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(y))continue;let w=Number.parseFloat(h.dataset.duration??""),C=Number.isFinite(w)&&w>0?y+w:1/0;if(d<y||d>=C)continue;let R=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,q=d-y+R;if(q>=0)try{h.currentTime=q}catch{}}},Dr=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let d=de.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let y=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(y))continue;let w=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,C=Number.parseFloat(h.dataset.volume??""),R=Number.isFinite(C)?C:1,q=Number.parseFloat(h.dataset.duration??""),K=Number.isFinite(q)&&q>0?q:Number.POSITIVE_INFINITY,ge=h.closest("[data-composition-id]");if(ge){let xe=k(ge,0),ne=W(ge,{includeAuthoredTimingAttrs:!0});ne!=null&&ne>0&&(K=Math.min(K,Math.max(0,xe+ne-y)))}de.decodeAudioElement(h).then(xe=>{!xe||!I.isPlaying()||de.schedulePlayback(h,xe,y,w,I.now(),R*e.bridgeVolume,d,e.playbackRate,K)})}},Ir=()=>{de.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&ni&&I.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),Dr())};if(pe.play=()=>{let d=e.capturedTimeline;if(I.isPlaying())return;let p=Q(d,0);if(p>0)I.setDuration(p),I.reachedEnd()&&(I.seek(0),e.currentTime=0,st(0));else{let h=E(),y=Number(h?.getAttribute("data-duration")??0);y>0&&I.setDuration(y)}d&&d.pause(),I.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,kr(I.now()),ni&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&Dr(),Be("play"),Le(),Ve.redraw(),Te(!0))},pe.pause=()=>{if(!I.isPlaying())return;de.stopAll(),I.detachAudioSource(),I.pause(),e.isPlaying=!1,e.currentTime=I.now(),e.mediaForceSyncNextTick=!0,kr(e.currentTime);let d=e.capturedTimeline;d&&d.pause(),Be("pause"),Le(),Ve.redraw(),Te(!0)},pe.seek=d=>{let p=pt(Math.max(0,Number(d)||0),e.canonicalFps);de.stopAll(),I.detachAudioSource(),I.isPlaying()&&I.pause(),I.seek(p),e.currentTime=I.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let y=e.capturedTimeline;y&&y.pause(),st(e.currentTime),Be("pause"),Le(),Ve.redraw(),Te(!0)},pe.renderSeek=(d,p)=>{let h=pt(Math.max(0,Number(d)||0),e.canonicalFps);I.isPlaying()&&I.pause(),I.seek(h),e.currentTime=I.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0,st(e.currentTime,{activateChildren:!0,suppressEvents:p?.suppressEvents}),Le(),Ve.redraw(),Te(!0)},pe.getTime=()=>I.now(),pe.getDuration=()=>{let d=I.getDuration();return Number.isFinite(d)?d:0},pe.isPlaying=()=>I.isPlaying(),pe.setPlaybackRate=d=>{ti(d),I.setRate(e.playbackRate),Ir()},e.capturedTimeline){let d=Q(e.capturedTimeline,0);d>0&&I.setDuration(d),e.capturedTimeline.pause()}let Pr=window.__player;if(Pr){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(Pr,p,{get:()=>pe[p],set:h=>{pe[p]=h},configurable:!0})}wa(window),e.transportRafId=window.requestAnimationFrame(Rr),rt(),Te(!0);let ri=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),e.transportClock=null,de.destroy(),it!=null&&(window.clearTimeout(it),it=null),l!=null&&(window.cancelAnimationFrame(l),l=null),bl(),e.controlBridgeHandler&&(window.removeEventListener("message",e.controlBridgeHandler),e.controlBridgeHandler=null),i&&(window.removeEventListener("error",i),i=null),r&&(window.removeEventListener("unhandledrejection",r),r=null),e.beforeUnloadHandler&&(window.removeEventListener("beforeunload",e.beforeUnloadHandler),e.beforeUnloadHandler=null),fn.disablePickMode();for(let d of e.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){L("runtime.init.site12",p)}e.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(p){L("runtime.init.site13",p)}for(let d of e.injectedCompStyles)try{d.remove()}catch(p){L("runtime.init.site14",p)}e.injectedCompStyles=[];for(let d of e.injectedCompScripts)try{d.remove()}catch(p){L("runtime.init.site15",p)}e.injectedCompScripts=[],e.capturedTimeline=null,window.__hfRuntimeTeardown===ri&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=ri,e.beforeUnloadHandler=ri,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var qa=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],br=[[697,698,"ON"],[706,719,"ON"],[722,735,"ON"],[741,749,"ON"],[751,767,"ON"],[768,879,"NSM"],[884,885,"ON"],[894,894,"ON"],[900,901,"ON"],[903,903,"ON"],[1014,1014,"ON"],[1155,1161,"NSM"],[1418,1418,"ON"],[1421,1422,"ON"],[1423,1423,"ET"],[1424,1424,"R"],[1425,1469,"NSM"],[1470,1470,"R"],[1471,1471,"NSM"],[1472,1472,"R"],[1473,1474,"NSM"],[1475,1475,"R"],[1476,1477,"NSM"],[1478,1478,"R"],[1479,1479,"NSM"],[1480,1535,"R"],[1536,1541,"AN"],[1542,1543,"ON"],[1544,1544,"AL"],[1545,1546,"ET"],[1547,1547,"AL"],[1548,1548,"CS"],[1549,1549,"AL"],[1550,1551,"ON"],[1552,1562,"NSM"],[1563,1610,"AL"],[1611,1631,"NSM"],[1632,1641,"AN"],[1642,1642,"ET"],[1643,1644,"AN"],[1645,1647,"AL"],[1648,1648,"NSM"],[1649,1749,"AL"],[1750,1756,"NSM"],[1757,1757,"AN"],[1758,1758,"ON"],[1759,1764,"NSM"],[1765,1766,"AL"],[1767,1768,"NSM"],[1769,1769,"ON"],[1770,1773,"NSM"],[1774,1775,"AL"],[1776,1785,"EN"],[1786,1808,"AL"],[1809,1809,"NSM"],[1810,1839,"AL"],[1840,1866,"NSM"],[1867,1957,"AL"],[1958,1968,"NSM"],[1969,1983,"AL"],[1984,2026,"R"],[2027,2035,"NSM"],[2036,2037,"R"],[2038,2041,"ON"],[2042,2044,"R"],[2045,2045,"NSM"],[2046,2069,"R"],[2070,2073,"NSM"],[2074,2074,"R"],[2075,2083,"NSM"],[2084,2084,"R"],[2085,2087,"NSM"],[2088,2088,"R"],[2089,2093,"NSM"],[2094,2136,"R"],[2137,2139,"NSM"],[2140,2143,"R"],[2144,2191,"AL"],[2192,2193,"AN"],[2194,2198,"AL"],[2199,2207,"NSM"],[2208,2249,"AL"],[2250,2273,"NSM"],[2274,2274,"AN"],[2275,2306,"NSM"],[2362,2362,"NSM"],[2364,2364,"NSM"],[2369,2376,"NSM"],[2381,2381,"NSM"],[2385,2391,"NSM"],[2402,2403,"NSM"],[2433,2433,"NSM"],[2492,2492,"NSM"],[2497,2500,"NSM"],[2509,2509,"NSM"],[2530,2531,"NSM"],[2546,2547,"ET"],[2555,2555,"ET"],[2558,2558,"NSM"],[2561,2562,"NSM"],[2620,2620,"NSM"],[2625,2626,"NSM"],[2631,2632,"NSM"],[2635,2637,"NSM"],[2641,2641,"NSM"],[2672,2673,"NSM"],[2677,2677,"NSM"],[2689,2690,"NSM"],[2748,2748,"NSM"],[2753,2757,"NSM"],[2759,2760,"NSM"],[2765,2765,"NSM"],[2786,2787,"NSM"],[2801,2801,"ET"],[2810,2815,"NSM"],[2817,2817,"NSM"],[2876,2876,"NSM"],[2879,2879,"NSM"],[2881,2884,"NSM"],[2893,2893,"NSM"],[2901,2902,"NSM"],[2914,2915,"NSM"],[2946,2946,"NSM"],[3008,3008,"NSM"],[3021,3021,"NSM"],[3059,3064,"ON"],[3065,3065,"ET"],[3066,3066,"ON"],[3072,3072,"NSM"],[3076,3076,"NSM"],[3132,3132,"NSM"],[3134,3136,"NSM"],[3142,3144,"NSM"],[3146,3149,"NSM"],[3157,3158,"NSM"],[3170,3171,"NSM"],[3192,3198,"ON"],[3201,3201,"NSM"],[3260,3260,"NSM"],[3276,3277,"NSM"],[3298,3299,"NSM"],[3328,3329,"NSM"],[3387,3388,"NSM"],[3393,3396,"NSM"],[3405,3405,"NSM"],[3426,3427,"NSM"],[3457,3457,"NSM"],[3530,3530,"NSM"],[3538,3540,"NSM"],[3542,3542,"NSM"],[3633,3633,"NSM"],[3636,3642,"NSM"],[3647,3647,"ET"],[3655,3662,"NSM"],[3761,3761,"NSM"],[3764,3772,"NSM"],[3784,3790,"NSM"],[3864,3865,"NSM"],[3893,3893,"NSM"],[3895,3895,"NSM"],[3897,3897,"NSM"],[3898,3901,"ON"],[3953,3966,"NSM"],[3968,3972,"NSM"],[3974,3975,"NSM"],[3981,3991,"NSM"],[3993,4028,"NSM"],[4038,4038,"NSM"],[4141,4144,"NSM"],[4146,4151,"NSM"],[4153,4154,"NSM"],[4157,4158,"NSM"],[4184,4185,"NSM"],[4190,4192,"NSM"],[4209,4212,"NSM"],[4226,4226,"NSM"],[4229,4230,"NSM"],[4237,4237,"NSM"],[4253,4253,"NSM"],[4957,4959,"NSM"],[5008,5017,"ON"],[5120,5120,"ON"],[5760,5760,"WS"],[5787,5788,"ON"],[5906,5908,"NSM"],[5938,5939,"NSM"],[5970,5971,"NSM"],[6002,6003,"NSM"],[6068,6069,"NSM"],[6071,6077,"NSM"],[6086,6086,"NSM"],[6089,6099,"NSM"],[6107,6107,"ET"],[6109,6109,"NSM"],[6128,6137,"ON"],[6144,6154,"ON"],[6155,6157,"NSM"],[6158,6158,"BN"],[6159,6159,"NSM"],[6277,6278,"NSM"],[6313,6313,"NSM"],[6432,6434,"NSM"],[6439,6440,"NSM"],[6450,6450,"NSM"],[6457,6459,"NSM"],[6464,6464,"ON"],[6468,6469,"ON"],[6622,6655,"ON"],[6679,6680,"NSM"],[6683,6683,"NSM"],[6742,6742,"NSM"],[6744,6750,"NSM"],[6752,6752,"NSM"],[6754,6754,"NSM"],[6757,6764,"NSM"],[6771,6780,"NSM"],[6783,6783,"NSM"],[6832,6877,"NSM"],[6880,6891,"NSM"],[6912,6915,"NSM"],[6964,6964,"NSM"],[6966,6970,"NSM"],[6972,6972,"NSM"],[6978,6978,"NSM"],[7019,7027,"NSM"],[7040,7041,"NSM"],[7074,7077,"NSM"],[7080,7081,"NSM"],[7083,7085,"NSM"],[7142,7142,"NSM"],[7144,7145,"NSM"],[7149,7149,"NSM"],[7151,7153,"NSM"],[7212,7219,"NSM"],[7222,7223,"NSM"],[7376,7378,"NSM"],[7380,7392,"NSM"],[7394,7400,"NSM"],[7405,7405,"NSM"],[7412,7412,"NSM"],[7416,7417,"NSM"],[7616,7679,"NSM"],[8125,8125,"ON"],[8127,8129,"ON"],[8141,8143,"ON"],[8157,8159,"ON"],[8173,8175,"ON"],[8189,8190,"ON"],[8192,8202,"WS"],[8203,8205,"BN"],[8207,8207,"R"],[8208,8231,"ON"],[8232,8232,"WS"],[8233,8233,"B"],[8234,8238,"BN"],[8239,8239,"CS"],[8240,8244,"ET"],[8245,8259,"ON"],[8260,8260,"CS"],[8261,8286,"ON"],[8287,8287,"WS"],[8288,8303,"BN"],[8304,8304,"EN"],[8308,8313,"EN"],[8314,8315,"ES"],[8316,8318,"ON"],[8320,8329,"EN"],[8330,8331,"ES"],[8332,8334,"ON"],[8352,8399,"ET"],[8400,8432,"NSM"],[8448,8449,"ON"],[8451,8454,"ON"],[8456,8457,"ON"],[8468,8468,"ON"],[8470,8472,"ON"],[8478,8483,"ON"],[8485,8485,"ON"],[8487,8487,"ON"],[8489,8489,"ON"],[8494,8494,"ET"],[8506,8507,"ON"],[8512,8516,"ON"],[8522,8525,"ON"],[8528,8543,"ON"],[8585,8587,"ON"],[8592,8721,"ON"],[8722,8722,"ES"],[8723,8723,"ET"],[8724,9013,"ON"],[9083,9108,"ON"],[9110,9257,"ON"],[9280,9290,"ON"],[9312,9351,"ON"],[9352,9371,"EN"],[9450,9899,"ON"],[9901,10239,"ON"],[10496,11123,"ON"],[11126,11263,"ON"],[11493,11498,"ON"],[11503,11505,"NSM"],[11513,11519,"ON"],[11647,11647,"NSM"],[11744,11775,"NSM"],[11776,11869,"ON"],[11904,11929,"ON"],[11931,12019,"ON"],[12032,12245,"ON"],[12272,12287,"ON"],[12288,12288,"WS"],[12289,12292,"ON"],[12296,12320,"ON"],[12330,12333,"NSM"],[12336,12336,"ON"],[12342,12343,"ON"],[12349,12351,"ON"],[12441,12442,"NSM"],[12443,12444,"ON"],[12448,12448,"ON"],[12539,12539,"ON"],[12736,12773,"ON"],[12783,12783,"ON"],[12829,12830,"ON"],[12880,12895,"ON"],[12924,12926,"ON"],[12977,12991,"ON"],[13004,13007,"ON"],[13175,13178,"ON"],[13278,13279,"ON"],[13311,13311,"ON"],[19904,19967,"ON"],[42128,42182,"ON"],[42509,42511,"ON"],[42607,42610,"NSM"],[42611,42611,"ON"],[42612,42621,"NSM"],[42622,42623,"ON"],[42654,42655,"NSM"],[42736,42737,"NSM"],[42752,42785,"ON"],[42888,42888,"ON"],[43010,43010,"NSM"],[43014,43014,"NSM"],[43019,43019,"NSM"],[43045,43046,"NSM"],[43048,43051,"ON"],[43052,43052,"NSM"],[43064,43065,"ET"],[43124,43127,"ON"],[43204,43205,"NSM"],[43232,43249,"NSM"],[43263,43263,"NSM"],[43302,43309,"NSM"],[43335,43345,"NSM"],[43392,43394,"NSM"],[43443,43443,"NSM"],[43446,43449,"NSM"],[43452,43453,"NSM"],[43493,43493,"NSM"],[43561,43566,"NSM"],[43569,43570,"NSM"],[43573,43574,"NSM"],[43587,43587,"NSM"],[43596,43596,"NSM"],[43644,43644,"NSM"],[43696,43696,"NSM"],[43698,43700,"NSM"],[43703,43704,"NSM"],[43710,43711,"NSM"],[43713,43713,"NSM"],[43756,43757,"NSM"],[43766,43766,"NSM"],[43882,43883,"ON"],[44005,44005,"NSM"],[44008,44008,"NSM"],[44013,44013,"NSM"],[64285,64285,"R"],[64286,64286,"NSM"],[64287,64296,"R"],[64297,64297,"ES"],[64298,64335,"R"],[64336,64450,"AL"],[64451,64466,"ON"],[64467,64829,"AL"],[64830,64847,"ON"],[64848,64911,"AL"],[64912,64913,"ON"],[64914,64967,"AL"],[64968,64975,"ON"],[64976,65007,"BN"],[65008,65020,"AL"],[65021,65023,"ON"],[65024,65039,"NSM"],[65040,65049,"ON"],[65056,65071,"NSM"],[65072,65103,"ON"],[65104,65104,"CS"],[65105,65105,"ON"],[65106,65106,"CS"],[65108,65108,"ON"],[65109,65109,"CS"],[65110,65118,"ON"],[65119,65119,"ET"],[65120,65121,"ON"],[65122,65123,"ES"],[65124,65126,"ON"],[65128,65128,"ON"],[65129,65130,"ET"],[65131,65131,"ON"],[65136,65278,"AL"],[65279,65279,"BN"],[65281,65282,"ON"],[65283,65285,"ET"],[65286,65290,"ON"],[65291,65291,"ES"],[65292,65292,"CS"],[65293,65293,"ES"],[65294,65295,"CS"],[65296,65305,"EN"],[65306,65306,"CS"],[65307,65312,"ON"],[65339,65344,"ON"],[65371,65381,"ON"],[65504,65505,"ET"],[65506,65508,"ON"],[65509,65510,"ET"],[65512,65518,"ON"],[65520,65528,"BN"],[65529,65533,"ON"],[65534,65535,"BN"],[65793,65793,"ON"],[65856,65932,"ON"],[65936,65948,"ON"],[65952,65952,"ON"],[66045,66045,"NSM"],[66272,66272,"NSM"],[66273,66299,"EN"],[66422,66426,"NSM"],[67584,67870,"R"],[67871,67871,"ON"],[67872,68096,"R"],[68097,68099,"NSM"],[68100,68100,"R"],[68101,68102,"NSM"],[68103,68107,"R"],[68108,68111,"NSM"],[68112,68151,"R"],[68152,68154,"NSM"],[68155,68158,"R"],[68159,68159,"NSM"],[68160,68324,"R"],[68325,68326,"NSM"],[68327,68408,"R"],[68409,68415,"ON"],[68416,68863,"R"],[68864,68899,"AL"],[68900,68903,"NSM"],[68904,68911,"AL"],[68912,68921,"AN"],[68922,68927,"AL"],[68928,68937,"AN"],[68938,68968,"R"],[68969,68973,"NSM"],[68974,68974,"ON"],[68975,69215,"R"],[69216,69246,"AN"],[69247,69290,"R"],[69291,69292,"NSM"],[69293,69311,"R"],[69312,69327,"AL"],[69328,69336,"ON"],[69337,69369,"AL"],[69370,69375,"NSM"],[69376,69423,"R"],[69424,69445,"AL"],[69446,69456,"NSM"],[69457,69487,"AL"],[69488,69505,"R"],[69506,69509,"NSM"],[69510,69631,"R"],[69633,69633,"NSM"],[69688,69702,"NSM"],[69714,69733,"ON"],[69744,69744,"NSM"],[69747,69748,"NSM"],[69759,69761,"NSM"],[69811,69814,"NSM"],[69817,69818,"NSM"],[69826,69826,"NSM"],[69888,69890,"NSM"],[69927,69931,"NSM"],[69933,69940,"NSM"],[70003,70003,"NSM"],[70016,70017,"NSM"],[70070,70078,"NSM"],[70089,70092,"NSM"],[70095,70095,"NSM"],[70191,70193,"NSM"],[70196,70196,"NSM"],[70198,70199,"NSM"],[70206,70206,"NSM"],[70209,70209,"NSM"],[70367,70367,"NSM"],[70371,70378,"NSM"],[70400,70401,"NSM"],[70459,70460,"NSM"],[70464,70464,"NSM"],[70502,70508,"NSM"],[70512,70516,"NSM"],[70587,70592,"NSM"],[70606,70606,"NSM"],[70608,70608,"NSM"],[70610,70610,"NSM"],[70625,70626,"NSM"],[70712,70719,"NSM"],[70722,70724,"NSM"],[70726,70726,"NSM"],[70750,70750,"NSM"],[70835,70840,"NSM"],[70842,70842,"NSM"],[70847,70848,"NSM"],[70850,70851,"NSM"],[71090,71093,"NSM"],[71100,71101,"NSM"],[71103,71104,"NSM"],[71132,71133,"NSM"],[71219,71226,"NSM"],[71229,71229,"NSM"],[71231,71232,"NSM"],[71264,71276,"ON"],[71339,71339,"NSM"],[71341,71341,"NSM"],[71344,71349,"NSM"],[71351,71351,"NSM"],[71453,71453,"NSM"],[71455,71455,"NSM"],[71458,71461,"NSM"],[71463,71467,"NSM"],[71727,71735,"NSM"],[71737,71738,"NSM"],[71995,71996,"NSM"],[71998,71998,"NSM"],[72003,72003,"NSM"],[72148,72151,"NSM"],[72154,72155,"NSM"],[72160,72160,"NSM"],[72193,72198,"NSM"],[72201,72202,"NSM"],[72243,72248,"NSM"],[72251,72254,"NSM"],[72263,72263,"NSM"],[72273,72278,"NSM"],[72281,72283,"NSM"],[72330,72342,"NSM"],[72344,72345,"NSM"],[72544,72544,"NSM"],[72546,72548,"NSM"],[72550,72550,"NSM"],[72752,72758,"NSM"],[72760,72765,"NSM"],[72850,72871,"NSM"],[72874,72880,"NSM"],[72882,72883,"NSM"],[72885,72886,"NSM"],[73009,73014,"NSM"],[73018,73018,"NSM"],[73020,73021,"NSM"],[73023,73029,"NSM"],[73031,73031,"NSM"],[73104,73105,"NSM"],[73109,73109,"NSM"],[73111,73111,"NSM"],[73459,73460,"NSM"],[73472,73473,"NSM"],[73526,73530,"NSM"],[73536,73536,"NSM"],[73538,73538,"NSM"],[73562,73562,"NSM"],[73685,73692,"ON"],[73693,73696,"ET"],[73697,73713,"ON"],[78912,78912,"NSM"],[78919,78933,"NSM"],[90398,90409,"NSM"],[90413,90415,"NSM"],[92912,92916,"NSM"],[92976,92982,"NSM"],[94031,94031,"NSM"],[94095,94098,"NSM"],[94178,94178,"ON"],[94180,94180,"NSM"],[113821,113822,"NSM"],[113824,113827,"BN"],[117760,117973,"ON"],[118e3,118009,"EN"],[118010,118012,"ON"],[118016,118451,"ON"],[118458,118480,"ON"],[118496,118512,"ON"],[118528,118573,"NSM"],[118576,118598,"NSM"],[119143,119145,"NSM"],[119155,119162,"BN"],[119163,119170,"NSM"],[119173,119179,"NSM"],[119210,119213,"NSM"],[119273,119274,"ON"],[119296,119361,"ON"],[119362,119364,"NSM"],[119365,119365,"ON"],[119552,119638,"ON"],[120513,120513,"ON"],[120539,120539,"ON"],[120571,120571,"ON"],[120597,120597,"ON"],[120629,120629,"ON"],[120655,120655,"ON"],[120687,120687,"ON"],[120713,120713,"ON"],[120745,120745,"ON"],[120771,120771,"ON"],[120782,120831,"EN"],[121344,121398,"NSM"],[121403,121452,"NSM"],[121461,121461,"NSM"],[121476,121476,"NSM"],[121499,121503,"NSM"],[121505,121519,"NSM"],[122880,122886,"NSM"],[122888,122904,"NSM"],[122907,122913,"NSM"],[122915,122916,"NSM"],[122918,122922,"NSM"],[123023,123023,"NSM"],[123184,123190,"NSM"],[123566,123566,"NSM"],[123628,123631,"NSM"],[123647,123647,"ET"],[124140,124143,"NSM"],[124398,124399,"NSM"],[124643,124643,"NSM"],[124646,124646,"NSM"],[124654,124655,"NSM"],[124661,124661,"NSM"],[124928,125135,"R"],[125136,125142,"NSM"],[125143,125251,"R"],[125252,125258,"NSM"],[125259,126063,"R"],[126064,126143,"AL"],[126144,126207,"R"],[126208,126287,"AL"],[126288,126463,"R"],[126464,126703,"AL"],[126704,126705,"ON"],[126706,126719,"AL"],[126720,126975,"R"],[126976,127019,"ON"],[127024,127123,"ON"],[127136,127150,"ON"],[127153,127167,"ON"],[127169,127183,"ON"],[127185,127221,"ON"],[127232,127242,"EN"],[127243,127247,"ON"],[127279,127279,"ON"],[127338,127343,"ON"],[127405,127405,"ON"],[127584,127589,"ON"],[127744,128728,"ON"],[128732,128748,"ON"],[128752,128764,"ON"],[128768,128985,"ON"],[128992,129003,"ON"],[129008,129008,"ON"],[129024,129035,"ON"],[129040,129095,"ON"],[129104,129113,"ON"],[129120,129159,"ON"],[129168,129197,"ON"],[129200,129211,"ON"],[129216,129217,"ON"],[129232,129240,"ON"],[129280,129623,"ON"],[129632,129645,"ON"],[129648,129660,"ON"],[129664,129674,"ON"],[129678,129734,"ON"],[129736,129736,"ON"],[129741,129756,"ON"],[129759,129770,"ON"],[129775,129784,"ON"],[129792,129938,"ON"],[129940,130031,"ON"],[130032,130041,"EN"],[130042,130042,"ON"],[131070,131071,"BN"],[196606,196607,"BN"],[262142,262143,"BN"],[327678,327679,"BN"],[393214,393215,"BN"],[458750,458751,"BN"],[524286,524287,"BN"],[589822,589823,"BN"],[655358,655359,"BN"],[720894,720895,"BN"],[786430,786431,"BN"],[851966,851967,"BN"],[917502,917759,"BN"],[917760,917999,"NSM"],[918e3,921599,"BN"],[983038,983039,"BN"],[1048574,1048575,"BN"],[1114110,1114111,"BN"]];function Nf(e){if(e<=255)return qa[e];let t=0,n=br.length-1;for(;t<=n;){let i=t+n>>1,r=br[i];if(e<r[0]){n=i-1;continue}if(e>r[1]){t=i+1;continue}return r[2]}return"L"}function Lf(e){let t=e.length;if(t===0)return null;let n=new Array(t),i=!1;for(let u=0;u<t;){let c=e.charCodeAt(u),m=c,f=1;if(c>=55296&&c<=56319&&u+1<t){let S=e.charCodeAt(u+1);S>=56320&&S<=57343&&(m=(c-55296<<10)+(S-56320)+65536,f=2)}let x=Nf(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let S=0;S<f;S++)n[u+S]=x;u+=f}if(!i)return null;let r=0;for(let u=0;u<t;u++){let c=n[u];if(c==="L"){r=0;break}if(c==="R"||c==="AL"){r=1;break}}let o=new Int8Array(t);for(let u=0;u<t;u++)o[u]=r;let s=r&1?"R":"L",l=s,a=l;for(let u=0;u<t;u++)n[u]==="NSM"?n[u]=a:a=n[u];a=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=a==="AL"?"AN":"EN":(c==="R"||c==="L"||c==="AL")&&(a=c)}for(let u=0;u<t;u++)n[u]==="AL"&&(n[u]="R");for(let u=1;u<t-1;u++)n[u]==="ES"&&n[u-1]==="EN"&&n[u+1]==="EN"&&(n[u]="EN"),n[u]==="CS"&&(n[u-1]==="EN"||n[u-1]==="AN")&&n[u+1]===n[u-1]&&(n[u]=n[u-1]);for(let u=0;u<t;u++){if(n[u]!=="EN")continue;let c;for(c=u-1;c>=0&&n[c]==="ET";c--)n[c]="EN";for(c=u+1;c<t&&n[c]==="ET";c++)n[c]="EN"}for(let u=0;u<t;u++){let c=n[u];(c==="WS"||c==="ES"||c==="ET"||c==="CS")&&(n[u]="ON")}a=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=a==="L"?"L":"EN":(c==="R"||c==="L")&&(a=c)}for(let u=0;u<t;u++){if(n[u]!=="ON")continue;let c=u+1;for(;c<t&&n[c]==="ON";)c++;let m=u>0?n[u-1]:l,f=c<t?n[c]:l,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let b=u;b<c;b++)n[b]=x;u=c-1}for(let u=0;u<t;u++)n[u]==="ON"&&(n[u]=s);for(let u=0;u<t;u++){let c=n[u];(o[u]&1)===0?c==="R"?o[u]++:(c==="AN"||c==="EN")&&(o[u]+=2):(c==="L"||c==="AN"||c==="EN")&&o[u]++}return o}function $a(e,t){let n=Lf(e);if(n===null)return null;let i=new Int8Array(t.length);for(let r=0;r<t.length;r++)i[r]=n[t[r]];return i}var Rf=/[ \\t\\n\\r\\f]+/g,kf=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Df(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function If(e){if(!kf.test(e))return e;let t=e.replace(Rf," ");return t.charCodeAt(0)===32&&(t=t.slice(1)),t.length>0&&t.charCodeAt(t.length-1)===32&&(t=t.slice(0,-1)),t}function Pf(e){return/[\\r\\f]/.test(e)?e.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):e.replace(/\\r\\n/g,`\n`)}var yr=null,Of;function Bf(){return yr===null&&(yr=new Intl.Segmenter(Of,{granularity:"word"})),yr}var Hf=/\\p{Script=Arabic}/u,zn=/\\p{M}/u,tl=/\\p{Nd}/u;function Ka(e){return Hf.test(e)}function Ja(e){return e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=183984&&e<=191471||e>=191472&&e<=192093||e>=194560&&e<=195103||e>=196608&&e<=201551||e>=201552&&e<=205743||e>=205744&&e<=210041||e>=63744&&e<=64255||e>=12288&&e<=12351||e>=12352&&e<=12447||e>=12448&&e<=12543||e>=44032&&e<=55215||e>=65280&&e<=65519}function Pe(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(!(n<12288)){if(n>=55296&&n<=56319&&t+1<e.length){let i=e.charCodeAt(t+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(Ja(r))return!0;t++;continue}}if(Ja(n))return!0}}return!1}function Gf(e){let t=$n(e);return t!==null&&(qn.has(t)||tt.has(t))}var Wf=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Uf(e){return Pe(e)}function Vf(e){let t=$n(e);return t!==null&&Wf.has(t)}function jn(e){return!Gf(e)&&!Vf(e)}var qn=new Set(["\\uFF0C","\\uFF0E","\\uFF01","\\uFF1A","\\uFF1B","\\uFF1F","\\u3001","\\u3002","\\u30FB","\\uFF09","\\u3015","\\u3009","\\u300B","\\u300D","\\u300F","\\u3011","\\u3017","\\u3019","\\u301B","\\u30FC","\\u3005","\\u303B","\\u309D","\\u309E","\\u30FD","\\u30FE"]),ln=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Er=new Set(["\'","\\u2019"]),tt=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),zf=new Set([":",".","\\u060C","\\u061B"]),jf=new Set(["\\u104F"]),qf=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function $f(e){if(Ar(e))return!0;let t=!1;for(let n of e){if(tt.has(n)){t=!0;continue}if(!(t&&zn.test(n)))return!1}return t}function Kf(e){for(let t of e)if(!qn.has(t)&&!tt.has(t))return!1;return e.length>0}function Jf(e){if(Ar(e))return!0;for(let t of e)if(!ln.has(t)&&!Er.has(t)&&!zn.test(t))return!1;return e.length>0}function Ar(e){let t=!1;for(let n of e)if(!(n==="\\\\"||zn.test(n))){if(ln.has(n)||tt.has(n)||Er.has(n)){t=!0;continue}return!1}return t}function nl(e,t){let n=t-1;if(n<=0)return Math.max(n,0);let i=e.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=e.charCodeAt(r);return o>=55296&&o<=56319?r:n}function $n(e){if(e.length===0)return null;let t=nl(e,e.length);return e.slice(t)}function Yf(e){let t=Array.from(e),n=t.length;for(;n>0;){let i=t[n-1];if(zn.test(i)){n--;continue}if(ln.has(i)||Er.has(i)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(""),tail:t.slice(n).join("")}}function Xf(e,t,n){return n==="text"&&!t&&e.length===1&&e!=="-"&&e!=="\\u2014"?e:null}function Ya(e,t,n,i){let r=t[i],o=e[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let l=r.repeat(s);return e[i]=l,l}function Xa(e,t){return e&&t!==null&&zf.has(t)}function Qf(e){let t=$n(e);return t!==null&&jf.has(t)}function Zf(e){if(e.length<2||e[0]!==" ")return null;let t=e.slice(1);return/^\\p{M}+$/u.test(t)?{space:" ",marks:t}:null}function Kn(e){let t=e.length;for(;t>0;){let n=nl(e,t),i=e.slice(n,t);if(qf.has(i))return!0;if(!tt.has(i))return!1;t=n}return!1}function em(e,t){if(t.preserveOrdinarySpaces||t.preserveHardBreaks){if(e===" ")return"preserved-space";if(e===" ")return"tab";if(t.preserveHardBreaks&&e===`\n`)return"hard-break"}return e===" "?"space":e==="\\xA0"||e==="\\u202F"||e==="\\u2060"||e==="\\uFEFF"?"glue":e==="\\u200B"?"zero-width-break":e==="\\xAD"?"soft-hyphen":"text"}var tm=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Ne(e){return e.length===1?e[0]:e.join("")}function nm(e,t){let n=[];for(let i=e.length-1;i>=0;i--)n.push(e[i]);return n.push(t),Ne(n)}function im(e,t,n,i){if(!tm.test(e))return[{text:e,isWordLike:t,kind:"text",start:n}];let r=[],o=null,s=[],l=n,a=!1,u=0;for(let c of e){let m=em(c,i),f=m==="text"&&t;if(o!==null&&m===o&&f===a){s.push(c),u+=c.length;continue}o!==null&&r.push({text:Ne(s),isWordLike:a,kind:o,start:l}),o=m,s=[c],l=n+u,a=f,u+=c.length}return o!==null&&r.push({text:Ne(s),isWordLike:a,kind:o,start:l}),r}function Sr(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var rm=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function om(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:rm.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function sm(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function am(e){let t=e.texts.slice(),n=e.isWordLike.slice(),i=e.kinds.slice(),r=e.starts.slice();for(let s=0;s<e.len;s++){if(i[s]!=="text"||!om(e,s))continue;let l=[t[s]],a=s+1;for(;a<e.len&&!Sr(i[a]);){l.push(t[a]),n[s]=!0;let u=t[a].includes("?");if(i[a]="text",t[a]="",a++,u)break}t[s]=Ne(l)}let o=0;for(let s=0;s<t.length;s++){let l=t[s];l.length!==0&&(o!==s&&(t[o]=l,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return t.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:t,isWordLike:n,kinds:i,starts:r}}function lm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o];if(t.push(s),n.push(e.isWordLike[o]),i.push(e.kinds[o]),r.push(e.starts[o]),!sm(s))continue;let l=o+1;if(l>=e.len||Sr(e.kinds[l]))continue;let a=[],u=e.starts[l],c=l;for(;c<e.len&&!Sr(e.kinds[c]);)a.push(e.texts[c]),c++;a.length>0&&(t.push(Ne(a)),n.push(!0),i.push("text"),r.push(u),o=c-1)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}var um=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),Qa=/^[A-Za-z0-9_]+[,:;]*$/,Za=/[,:;]+$/;function il(e){for(let t of e)if(tl.test(t))return!0;return!1}function an(e){if(e.length===0)return!1;for(let t of e)if(!(tl.test(t)||um.has(t)))return!1;return!0}function cm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o],l=e.kinds[o];if(l==="text"&&an(s)&&il(s)){let a=[s],u=o+1;for(;u<e.len&&e.kinds[u]==="text"&&an(e.texts[u]);)a.push(e.texts[u]),u++;t.push(Ne(a)),n.push(!0),i.push("text"),r.push(e.starts[o]),o=u-1;continue}t.push(s),n.push(e.isWordLike[o]),i.push(l),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function dm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o],l=e.kinds[o],a=e.isWordLike[o];if(l==="text"&&a&&Qa.test(s)){let u=[s],c=Za.test(s),m=o+1;for(;c&&m<e.len&&e.kinds[m]==="text"&&e.isWordLike[m]&&Qa.test(e.texts[m]);){let f=e.texts[m];u.push(f),c=Za.test(f),m++}t.push(Ne(u)),n.push(!0),i.push("text"),r.push(e.starts[o]),o=m-1;continue}t.push(s),n.push(a),i.push(l),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function fm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o];if(e.kinds[o]==="text"&&s.includes("-")){let l=s.split("-"),a=l.length>1;for(let u=0;u<l.length;u++){let c=l[u];if(!a)break;(c.length===0||!il(c)||!an(c))&&(a=!1)}if(a){let u=0;for(let c=0;c<l.length;c++){let m=l[c],f=c<l.length-1?`${m}-`:m;t.push(f),n.push(!0),i.push("text"),r.push(e.starts[o]+u),u+=f.length}continue}}t.push(s),n.push(e.isWordLike[o]),i.push(e.kinds[o]),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function mm(e){let t=[],n=[],i=[],r=[],o=0;for(;o<e.len;){let s=[e.texts[o]],l=e.isWordLike[o],a=e.kinds[o],u=e.starts[o];if(a==="glue"){let c=[s[0]],m=u;for(o++;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let f=Ne(c);if(o<e.len&&e.kinds[o]==="text")s[0]=f,s.push(e.texts[o]),l=e.isWordLike[o],a="text",u=m,o++;else{t.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<e.len&&e.kinds[o]==="glue";){let c=[];for(;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let m=Ne(c);if(o<e.len&&e.kinds[o]==="text"){s.push(m,e.texts[o]),l=l||e.isWordLike[o],o++;continue}s.push(m)}t.push(Ne(s)),n.push(l),i.push(a),r.push(u)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function pm(e){let t=e.texts.slice(),n=e.isWordLike.slice(),i=e.kinds.slice(),r=e.starts.slice();for(let o=0;o<t.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!Pe(t[o])||!Pe(t[o+1]))continue;let s=Yf(t[o]);s!==null&&(t[o]=s.head,t[o+1]=s.tail+t[o+1],r[o+1]=r[o]+s.head.length)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function el(e,t,n){let i=Bf(),r=0,o=[],s=[],l=[],a=[],u=[],c=[],m=[],f=[],x=[],S=[],b=[],g=[];for(let M of i.segment(e))for(let E of im(M.segment,M.isWordLike??!1,M.index,n)){let se=function(){c[P]!==null&&(s[P]=[Ya(o,c,m,P)],c[P]=null),s[P].push(E.text),l[P]=l[P]||E.isWordLike,f[P]=f[P]||T,x[P]=x[P]||k,S[P]=j,b[P]=re,g[P]=Xa(x[P],W)},F=E.kind==="text",v=Xf(E.text,E.isWordLike,E.kind),T=Pe(E.text),k=Ka(E.text),W=$n(E.text),j=Kn(E.text),re=Qf(E.text),P=r-1;t.carryCJKAfterClosingQuote&&F&&r>0&&a[P]==="text"&&T&&f[P]&&S[P]||F&&r>0&&a[P]==="text"&&Kf(E.text)&&f[P]||F&&r>0&&a[P]==="text"&&b[P]?se():F&&r>0&&a[P]==="text"&&E.isWordLike&&k&&g[P]?(se(),l[P]=!0):v!==null&&r>0&&a[P]==="text"&&c[P]===v?m[P]=(m[P]??1)+1:F&&!E.isWordLike&&r>0&&a[P]==="text"&&($f(E.text)||E.text==="-"&&l[P])?se():(o[r]=E.text,s[r]=[E.text],l[r]=E.isWordLike,a[r]=E.kind,u[r]=E.start,c[r]=v,m[r]=v===null?0:1,f[r]=T,x[r]=k,S[r]=j,b[r]=re,g[r]=Xa(k,W),r++)}for(let M=0;M<r;M++){if(c[M]!==null){o[M]=Ya(o,c,m,M);continue}o[M]=Ne(s[M])}for(let M=1;M<r;M++)a[M]==="text"&&!l[M]&&Ar(o[M])&&a[M-1]==="text"&&(o[M-1]+=o[M],l[M-1]=l[M-1]||l[M],o[M]="");let A=Array.from({length:r},()=>null),_=-1;for(let M=r-1;M>=0;M--){let E=o[M];if(E.length!==0){if(a[M]==="text"&&!l[M]&&Jf(E)&&_>=0&&a[_]==="text"){let F=A[_]??[];F.push(E),A[_]=F,u[_]=u[M],o[M]="";continue}_=M}}for(let M=0;M<r;M++){let E=A[M];E!=null&&(o[M]=nm(E,o[M]))}let N=0;for(let M=0;M<r;M++){let E=o[M];E.length!==0&&(N!==M&&(o[N]=E,l[N]=l[M],a[N]=a[M],u[N]=u[M]),N++)}o.length=N,l.length=N,a.length=N,u.length=N;let J=mm({len:N,texts:o,isWordLike:l,kinds:a,starts:u}),B=pm(dm(fm(cm(lm(am(J))))));for(let M=0;M<B.len-1;M++){let E=Zf(B.texts[M]);E!==null&&(B.kinds[M]!=="space"&&B.kinds[M]!=="preserved-space"||B.kinds[M+1]!=="text"||!Ka(B.texts[M+1])||(B.texts[M]=E.space,B.isWordLike[M]=!1,B.kinds[M]=B.kinds[M]==="preserved-space"?"preserved-space":"space",B.texts[M+1]=E.marks+B.texts[M+1],B.starts[M+1]=B.starts[M]+E.space.length))}return B}function hm(e,t){if(e.len===0)return[];if(!t.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}];let n=[],i=0;for(let r=0;r<e.len;r++)e.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<e.len&&n.push({startSegmentIndex:i,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}),n}function gm(e){if(e.len<=1)return e;let t=[],n=[],i=[],r=[],o=null,s=!1,l=0,a=!1,u=!1;function c(){o!==null&&(t.push(Ne(o)),n.push(s),i.push("text"),r.push(l),o=null)}for(let m=0;m<e.len;m++){let f=e.texts[m],x=e.kinds[m],S=e.isWordLike[m],b=e.starts[m];if(x==="text"){let g=Uf(f),A=jn(f);if(o!==null&&a&&u){o.push(f),s=s||S,a=a||g,u=A;continue}c(),o=[f],s=S,l=b,a=g,u=A;continue}c(),t.push(f),n.push(S),i.push(x),r.push(b)}return c(),{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function rl(e,t,n="normal",i="normal"){let r=Df(n),o=r.mode==="pre-wrap"?Pf(e):If(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?gm(el(o,t,r)):el(o,t,r);return{normalized:o,chunks:hm(s,r),...s}}var St=null,ol=new Map,Et=null,xm=96,bm=/\\p{Emoji_Presentation}/u,ym=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,wr=null,sl=new Map;function Cr(){if(St!==null)return St;if(typeof OffscreenCanvas<"u")return St=new OffscreenCanvas(1,1).getContext("2d"),St;if(typeof document<"u")return St=document.createElement("canvas").getContext("2d"),St;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function Sm(e){let t=ol.get(e);return t||(t=new Map,ol.set(e,t)),t}function $e(e,t){let n=t.get(e);return n===void 0&&(n={width:Cr().measureText(e).width,containsCJK:Pe(e)},t.set(e,n)),n}function At(){if(Et!==null)return Et;if(typeof navigator>"u")return Et={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},Et;let e=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&e.includes("Safari/")&&!e.includes("Chrome/")&&!e.includes("Chromium/")&&!e.includes("CriOS/")&&!e.includes("FxiOS/")&&!e.includes("EdgiOS/"),i=e.includes("Chrome/")||e.includes("Chromium/")||e.includes("CriOS/")||e.includes("Edg/");return Et={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},Et}function Em(e){let t=e.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return t?parseFloat(t[1]):16}function al(){return wr===null&&(wr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),wr}function Am(e){return bm.test(e)||e.includes("\\uFE0F")}function ll(e){return ym.test(e)}function wm(e,t){let n=sl.get(e);if(n!==void 0)return n;let i=Cr();i.font=e;let r=i.measureText("\\u{1F600}").width;if(n=0,r>t+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=e,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return sl.set(e,n),n}function Cm(e){let t=0,n=al();for(let i of n.segment(e))Am(i.segment)&&t++;return t}function Fm(e,t){return t.emojiCount===void 0&&(t.emojiCount=Cm(e)),t.emojiCount}function nt(e,t,n){return n===0?t.width:t.width-Fm(e,t)*n}function ul(e,t,n,i,r){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=al(),s=[];for(let c of o.segment(e))s.push(c.segment);if(s.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(r==="sum-graphemes"){let c=[];for(let m of s){let f=$e(m,n);c.push(nt(m,f,i))}return t.breakableFitAdvances=c,t.breakableFitAdvances}if(r==="pair-context"||s.length>xm){let c=[],m=null,f=0;for(let x of s){let S=$e(x,n),b=nt(x,S,i);if(m===null)c.push(b);else{let g=m+x,A=$e(g,n);c.push(nt(g,A,i)-f)}m=x,f=b}return t.breakableFitAdvances=c,t.breakableFitAdvances}let l=[],a="",u=0;for(let c of s){a+=c;let m=$e(a,n),f=nt(a,m,i);l.push(f-u),u=f}return t.breakableFitAdvances=l,t.breakableFitAdvances}function cl(e,t){let n=Cr();n.font=e;let i=Sm(e),r=Em(e),o=t?wm(e,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function _m(e,t){for(;t<e.widths.length;){let n=e.kinds[t];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;t++}return t}function vm(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function Mm(e,t,n,i,r){let o=0,s=t;for(;o<e.length;){let l=s+e[o];if((o+1<e.length?l+r:l)>n+i)break;s=l,o++}return{fitCount:o,fittedWidth:s}}function dl(e,t){return e.simpleLineWalkFastPath?fl(e,t):ml(e,t)}function fl(e,t,n){let{widths:i,kinds:r,breakableFitAdvances:o}=e;if(i.length===0)return 0;let l=At().lineFitEpsilon,a=t+l,u=0,c=0,m=!1,f=0,x=0,S=0,b=0,g=-1,A=0;function _(){g=-1,A=0}function N(v=S,T=b,k=c){u++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:v,endGraphemeIndex:T,width:k}),c=0,m=!1,_()}function J(v,T){m=!0,f=v,x=0,S=v+1,b=0,c=T}function B(v,T,k){m=!0,f=v,x=T,S=v,b=T+1,c=k}function M(v,T){if(!m){J(v,T);return}c+=T,S=v+1,b=0}function E(v,T){let k=o[v];for(let W=T;W<k.length;W++){let j=k[W];m?c+j>a?(N(),B(v,W,j)):(c+=j,S=v,b=W+1):B(v,W,j)}m&&S===v&&b===k.length&&(S=v+1,b=0)}let F=0;for(;F<i.length&&!(!m&&(F=_m(e,F),F>=i.length));){let v=i[F],T=r[F],k=T==="space"||T==="preserved-space"||T==="tab"||T==="zero-width-break"||T==="soft-hyphen";if(!m){v>t&&o[F]!==null?E(F,0):J(F,v),k&&(g=F+1,A=c-v),F++;continue}if(c+v>a){if(k){M(F,v),N(F+1,0,c-v),F++;continue}if(g>=0){if(S>g||S===g&&b>0){N();continue}N(g,0,A);continue}if(v>t&&o[F]!==null){N(),E(F,0),F++;continue}N();continue}M(F,v),k&&(g=F+1,A=c-v),F++}return m&&N(),u}function ml(e,t,n){if(e.simpleLineWalkFastPath)return fl(e,t,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:l,discretionaryHyphenWidth:a,tabStopAdvance:u,chunks:c}=e;if(i.length===0||c.length===0)return 0;let m=At(),f=m.lineFitEpsilon,x=t+f,S=0,b=0,g=!1,A=0,_=0,N=0,J=0,B=-1,M=0,E=0,F=null;function v(){B=-1,M=0,E=0,F=null}function T(H=N,U=J,V=b){S++,n?.({startSegmentIndex:A,startGraphemeIndex:_,endSegmentIndex:H,endGraphemeIndex:U,width:V}),b=0,g=!1,v()}function k(H,U){g=!0,A=H,_=0,N=H+1,J=0,b=U}function W(H,U,V){g=!0,A=H,_=U,N=H,J=U+1,b=V}function j(H,U){if(!g){k(H,U);return}b+=U,N=H+1,J=0}function re(H,U,V,oe){if(!U)return;let _e=H==="tab"?0:r[V],O=H==="tab"?oe:o[V];B=V+1,M=b-oe+_e,E=b-oe+O,F=H}function P(H,U){let V=l[H];for(let oe=U;oe<V.length;oe++){let _e=V[oe];g?b+_e>x?(T(),W(H,oe,_e)):(b+=_e,N=H,J=oe+1):W(H,oe,_e)}g&&N===H&&J===V.length&&(N=H+1,J=0)}function se(H){if(F!=="soft-hyphen")return!1;let U=l[H];if(U==null)return!1;let{fitCount:V,fittedWidth:oe}=Mm(U,b,t,f,a);return V===0?!1:(b=oe,N=H,J=V,v(),V===U.length?(N=H+1,J=0,!0):(T(H,V,oe+a),P(H,V),!0))}function Ee(H){S++,n?.({startSegmentIndex:H.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:H.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),v()}for(let H=0;H<c.length;H++){let U=c[H];if(U.startSegmentIndex===U.endSegmentIndex){Ee(U);continue}g=!1,b=0,A=U.startSegmentIndex,_=0,N=U.startSegmentIndex,J=0,v();let V=U.startSegmentIndex;for(;V<U.endSegmentIndex;){let oe=s[V],_e=oe==="space"||oe==="preserved-space"||oe==="tab"||oe==="zero-width-break"||oe==="soft-hyphen",O=oe==="tab"?vm(b,u):i[V];if(oe==="soft-hyphen"){g&&(N=V+1,J=0,B=V+1,M=b+a,E=b+a,F=oe),V++;continue}if(!g){O>t&&l[V]!==null?P(V,0):k(V,O),re(oe,_e,V,O),V++;continue}if(b+O>x){let G=b+(oe==="tab"?0:r[V]),Q=b+(oe==="tab"?O:o[V]);if(F==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&M<=x){T(B,0,E);continue}if(F==="soft-hyphen"&&se(V)){V++;continue}if(_e&&G<=x){j(V,O),T(V+1,0,Q),V++;continue}if(B>=0&&M<=x){if(N>B||N===B&&J>0){T();continue}let ae=B;T(ae,0,E),V=ae;continue}if(O>t&&l[V]!==null){T(),P(V,0),V++;continue}T();continue}j(V,O),re(oe,_e,V,O),V++}if(g){let oe=B===U.consumedEndSegmentIndex?E:b;T(U.consumedEndSegmentIndex,0,oe)}}return S}var Fr=null;function Tm(){return Fr===null&&(Fr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Fr}function Nm(e){return e?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function Lm(e,t){let n=[],i=[],r=0,o=!1,s=!1,l=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,l=!1)}function u(m,f,x){i=[m],r=f,o=x,s=Kn(m),l=ln.has(m)}function c(m,f){i.push(m),o=o||f;let x=Kn(m);m.length===1&&tt.has(m)?s=s||x:s=x,l=!1}for(let m of Tm().segment(e)){let f=m.segment,x=Pe(f);if(i.length===0){u(f,m.index,x);continue}if(l||qn.has(f)||tt.has(f)||t.carryCJKAfterClosingQuote&&x&&s){c(f,x);continue}if(!o&&!x){c(f,x);continue}a(),u(f,m.index,x)}return a(),n}function Rm(e){if(e.length<=1)return e;let t=[],n=[e[0].text],i=e[0].start,r=Pe(e[0].text),o=jn(e[0].text);function s(){t.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let l=1;l<e.length;l++){let a=e[l],u=Pe(a.text),c=jn(a.text);if(r&&o){n.push(a.text),r=r||u,o=c;continue}s(),n=[a.text],i=a.start,r=u,o=c}return s(),t}function km(e,t,n,i){let r=At(),{cache:o,emojiCorrection:s}=cl(t,ll(e.normalized)),l=nt("-",$e("-",o),s),u=nt(" ",$e(" ",o),s)*8;if(e.len===0)return Nm(n);let c=[],m=[],f=[],x=[],S=e.chunks.length<=1,b=n?[]:null,g=[],A=n?[]:null,_=Array.from({length:e.len});function N(E,F,v,T,k,W,j){k!=="text"&&k!=="space"&&k!=="zero-width-break"&&(S=!1),c.push(F),m.push(v),f.push(T),x.push(k),b?.push(W),g.push(j),A!==null&&A.push(E)}function J(E,F,v,T,k){let W=$e(E,o),j=nt(E,W,s),re=F==="space"||F==="preserved-space"||F==="zero-width-break"?0:j,P=F==="space"||F==="zero-width-break"?0:j;if(k&&T&&E.length>1){let se="sum-graphemes";an(E)?se="pair-context":r.preferPrefixWidthsForBreakableRuns&&(se="segment-prefixes");let Ee=ul(E,W,o,s,se);N(E,j,re,P,F,v,Ee);return}N(E,j,re,P,F,v,null)}for(let E=0;E<e.len;E++){_[E]=c.length;let F=e.texts[E],v=e.isWordLike[E],T=e.kinds[E],k=e.starts[E];if(T==="soft-hyphen"){N(F,0,l,l,T,k,null);continue}if(T==="hard-break"){N(F,0,0,0,T,k,null);continue}if(T==="tab"){N(F,0,0,0,T,k,null);continue}let W=$e(F,o);if(T==="text"&&W.containsCJK){let j=Lm(F,r),re=i==="keep-all"?Rm(j):j;for(let P=0;P<re.length;P++){let se=re[P];J(se.text,"text",k+se.start,v,i==="keep-all"||!Pe(se.text))}continue}J(F,T,k,v,!0)}let B=Dm(e.chunks,_,c.length),M=b===null?null:$a(e.normalized,b);return A!==null?{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:S,segLevels:M,breakableFitAdvances:g,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:B,segments:A}:{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:S,segLevels:M,breakableFitAdvances:g,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:B}}function Dm(e,t,n){let i=[];for(let r=0;r<e.length;r++){let o=e[r],s=o.startSegmentIndex<t.length?t[o.startSegmentIndex]:n,l=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:l,consumedEndSegmentIndex:a})}return i}function Im(e,t,n,i){let r=i?.wordBreak??"normal",o=rl(e,At(),i?.whiteSpace,r);return km(o,t,n,r)}function pl(e,t,n){return Im(e,t,!1,n)}function hl(e,t,n){let i=dl(e,t);return{lineCount:i,height:i*n}}var Pm={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function gl(e,t){let n={...Pm,...t},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=pl(e,o),{lineCount:l}=hl(s,n.maxWidth,r*i);if(l<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};Ia();window.__hyperframes={fitTextFontSize:gl,getVariables:Gr};function xl(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,ja())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",xl,{once:!0}):xl();})();\n';
56527
+ RUNTIME_IIFE = '"use strict";(()=>{var kl=Object.create;var si=Object.defineProperty;var Dl=Object.getOwnPropertyDescriptor;var Il=Object.getOwnPropertyNames;var Pl=Object.getPrototypeOf,Ol=Object.prototype.hasOwnProperty;var Bl=(e,t,n)=>t in e?si(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Hl=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Il(t))!Ol.call(e,r)&&r!==n&&si(e,r,{get:()=>t[r],enumerable:!(i=Dl(t,r))||i.enumerable});return e};var Gl=(e,t,n)=>(n=e!=null?kl(Pl(e)):{},Hl(t||!e||!e.__esModule?si(n,"default",{value:e,enumerable:!0}):n,e));var ye=(e,t,n)=>Bl(e,typeof t!="symbol"?t+"":t,n);var Mo=Z((Zp,_i)=>{var Y=String,vo=function(){return{isColorSupported:!1,reset:Y,bold:Y,dim:Y,italic:Y,underline:Y,inverse:Y,hidden:Y,strikethrough:Y,black:Y,red:Y,green:Y,yellow:Y,blue:Y,magenta:Y,cyan:Y,white:Y,gray:Y,bgBlack:Y,bgRed:Y,bgGreen:Y,bgYellow:Y,bgBlue:Y,bgMagenta:Y,bgCyan:Y,bgWhite:Y,blackBright:Y,redBright:Y,greenBright:Y,yellowBright:Y,blueBright:Y,magentaBright:Y,cyanBright:Y,whiteBright:Y,bgBlackBright:Y,bgRedBright:Y,bgGreenBright:Y,bgYellowBright:Y,bgBlueBright:Y,bgMagentaBright:Y,bgCyanBright:Y,bgWhiteBright:Y}};_i.exports=vo();_i.exports.createColors=vo});var vi=Z(()=>{});var Sn=Z((nh,Lo)=>{"use strict";var To=Mo(),No=vi(),Ht=class e extends Error{constructor(t,n,i,r,o,s){super(t),this.name="CssSyntaxError",this.reason=t,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(t){if(!this.source)return"";let n=this.source;t==null&&(t=To.isColorSupported);let i=c=>c,r=c=>c,o=c=>c;if(t){let{bold:c,gray:m,red:f}=To.createColors(!0);r=x=>c(f(x)),i=x=>m(x),No&&(o=x=>No(x))}let s=n.split(/\\r?\\n/),l=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),u=String(a).length;return s.slice(l,a).map((c,m)=>{let f=l+1+m,x=" "+(" "+f).slice(-u)+" | ";if(f===this.line){if(c.length>160){let b=20,g=Math.max(0,this.column-b),E=Math.max(this.column+b,this.endColumn+b),_=c.slice(g,E),N=i(x.replace(/\\d/g," "))+c.slice(0,Math.min(this.column-1,b-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(_)+`\n `+N+r("^")}let S=i(x.replace(/\\d/g," "))+c.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(c)+`\n `+S+r("^")}return" "+i(x)+o(c)}).join(`\n`)}toString(){let t=this.showSourceCode();return t&&(t=`\n\n`+t+`\n`),this.name+": "+this.message+t}};Lo.exports=Ht;Ht.default=Ht});var Mi=Z((ih,ko)=>{"use strict";var Du=/(<)(\\/?style\\b)/gi,Iu=/(<)(!--)/g;function Ye(e){return typeof e!="string"||!e.includes("<")?e:e.replace(Du,"\\\\3c $2").replace(Iu,"\\\\3c $2")}var Ro={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Pu(e){return e[0].toUpperCase()+e.slice(1)}var Gt=class{constructor(t){this.builder=t}atrule(t,n){let i=t.raws,r="@"+t.name,o=t.params?this.rawValue(t,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),t.nodes)this.block(t,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(Ye(r+o+s),t)}}beforeAfter(t,n){let i;t.type==="decl"?i=this.raw(t,null,"beforeDecl"):t.type==="comment"?i=this.raw(t,null,"beforeComment"):n==="before"?i=this.raw(t,null,"beforeRule"):i=this.raw(t,null,"beforeClose");let r=t.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(t,null,"indent");if(s.length)for(let l=0;l<o;l++)i+=s}return i}block(t,n){let i=this.raw(t,"between","beforeOpen");this.builder(Ye(n+i)+"{",t,"start");let r;t.nodes&&t.nodes.length?(this.body(t),r=this.raw(t,"after")):r=this.raw(t,"after","emptyBody"),r&&this.builder(Ye(r)),this.builder("}",t,"end")}body(t){let n=t.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(t,"semicolon"),o=t.type==="document";for(let s=0;s<n.length;s++){let l=n[s],a=this.raw(l,"before");a&&this.builder(o?a:Ye(a)),this.stringify(l,i!==s||r)}}comment(t){let n=this.raw(t,"left","commentLeft"),i=this.raw(t,"right","commentRight");this.builder(Ye("/*"+n+t.text+i+"*/"),t)}decl(t,n){let i=t.raws,r=this.raw(t,"between","colon"),o=t.prop+r+this.rawValue(t,"value");t.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(Ye(o),t)}document(t){this.body(t)}raw(t,n,i){let r;if(i||(i=n),n&&(r=t.raws[n],typeof r<"u"))return r;let o=t.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return Ro[i];let s=t.root(),l=s.rawCache||(s.rawCache={});if(typeof l[i]<"u")return l[i];if(i==="before"||i==="after")return this.beforeAfter(t,i);{let a="raw"+Pu(i);this[a]?r=this[a](s,t):s.walk(u=>{if(r=u.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Ro[i]),l[i]=r,r}rawBeforeClose(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(t,n){let i;return t.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(t,n){let i;return t.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(t){let n;return t.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(t){let n;return t.walk(i=>{if(i.nodes&&(i.parent!==t||t.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(t){let n;return t.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(t){if(t.raws.indent)return t.raws.indent;let n;return t.walk(i=>{let r=i.parent;if(r&&r!==t&&r.parent&&r.parent===t&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(t){let n;return t.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(t,n){let i=t[n],r=t.raws[n];return r&&r.value===i?r.raw:i}root(t){if(this.body(t),t.raws.after){let n=t.raws.after,i=t.parent&&t.parent.type==="document";this.builder(i?n:Ye(n))}}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(Ye(t.raws.ownSemicolon),t,"end")}stringify(t,n){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,n)}};ko.exports=Gt;Gt.default=Gt});var Wt=Z((rh,Do)=>{"use strict";var Ou=Mi();function Ti(e,t){new Ou(t).stringify(e)}Do.exports=Ti;Ti.default=Ti});var En=Z((oh,Ni)=>{"use strict";Ni.exports.isClean=Symbol("isClean");Ni.exports.my=Symbol("my")});var zt=Z((sh,Io)=>{"use strict";var Bu=Sn(),Hu=Mi(),Gu=Wt(),{isClean:Ut,my:Wu}=En();function Li(e,t){let n=new e.constructor;for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i)||i==="proxyCache")continue;let r=e[i],o=typeof r;i==="parent"&&o==="object"?t&&(n[i]=t):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>Li(s,n)):(o==="object"&&r!==null&&(r=Li(r)),n[i]=r)}return n}function je(e,t){if(t&&typeof t.offset<"u")return t.offset;let n=1,i=1,r=0;for(let o=0;o<e.length;o++){if(i===t.line&&n===t.column){r=o;break}e[o]===`\n`?(n=1,i+=1):n+=1}return r}var Vt=class{get proxyOf(){return this}constructor(t={}){this.raws={},this[Ut]=!1,this[Wu]=!0;for(let n in t)if(n==="nodes"){this.nodes=[];for(let i of t[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=t[n]}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\\n\\s{4}at /.test(t.stack)){let n=this.source;t.stack=t.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return t}after(t){return this.parent.insertAfter(this,t),this}assign(t={}){for(let n in t)this[n]=t[n];return this}before(t){return this.parent.insertBefore(this,t),this}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}clone(t={}){let n=Li(this);for(let i in t)n[i]=t[i];return n}cloneAfter(t={}){let n=this.clone(t);return this.parent.insertAfter(this,n),n}cloneBefore(t={}){let n=this.clone(t);return this.parent.insertBefore(this,n),n}error(t,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(t,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new Bu(t)}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:n==="root"?()=>t.root().toProxy():t[n]},set(t,n,i){return t[n]===i||(t[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&t.markDirty()),!0}}}markClean(){this[Ut]=!0}markDirty(){if(this[Ut]){this[Ut]=!1;let t=this;for(;t=t.parent;)t[Ut]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(t={}){let n=this.source.start;if(t.index)n=this.positionInside(t.index);else if(t.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(je(i,this.source.start),je(i,this.source.end)).indexOf(t.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(t){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=je(r,this.source.start),s=o+t;for(let l=o;l<s;l++)r[l]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}rangeBy(t={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:je(n,this.source.start)},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:je(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(t.word){let s=n.slice(je(n,this.source.start),je(n,this.source.end)).indexOf(t.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+t.word.length))}else t.start?i={column:t.start.column,line:t.start.line,offset:je(n,t.start)}:t.index&&(i=this.positionInside(t.index)),t.end?r={column:t.end.column,line:t.end.line,offset:je(n,t.end)}:typeof t.endIndex=="number"?r=this.positionInside(t.endIndex):t.index&&(r=this.positionInside(t.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(t,n){return new Hu().raw(this,t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let n=this,i=!1;for(let r of t)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let l=this[s];if(Array.isArray(l))i[s]=l.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof l=="object"&&l.toJSON)i[s]=l.toJSON(null,n);else if(s==="source"){if(l==null)continue;let a=n.get(l.input);a==null&&(a=o,n.set(l.input,o),o++),i[s]={end:l.end,inputId:a,start:l.start}}else i[s]=l}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=Gu){t.stringify&&(t=t.stringify);let n="";return t(this,i=>{n+=i}),n}warn(t,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return t.warn(n,r)}};Io.exports=Vt;Vt.default=Vt});var qt=Z((ah,Po)=>{"use strict";var Uu=zt(),jt=class extends Uu{constructor(t){super(t),this.type="comment"}};Po.exports=jt;jt.default=jt});var Kt=Z((lh,Oo)=>{"use strict";var Vu=zt(),$t=class extends Vu{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(t){t&&typeof t.value<"u"&&typeof t.value!="string"&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}};Oo.exports=$t;$t.default=$t});var Xe=Z((uh,qo)=>{"use strict";var Bo=qt(),Ho=Kt(),zu=zt(),{isClean:Go,my:Wo}=En(),Ri,Uo,Vo,ki;function zo(e){return e.map(t=>(t.nodes&&(t.nodes=zo(t.nodes)),delete t.source,t))}function jo(e){if(e[Go]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)jo(t)}var Ie=class e extends zu{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...t){for(let n of t){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let n of this.nodes)n.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=t(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:t[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>t[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>t[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>t.root().toProxy():n==="nodes"?t.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?t[n].toProxy():t[n]:t[n]},set(t,n,i){return t[n]===i||(t[n]=i,(n==="name"||n==="params"||n==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,n){let i=this.index(t),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(t);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(t,n){let i=this.index(t),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(t);for(let l of o)this.proxyOf.nodes.splice(i,0,l);let s;for(let l in this.indexes)s=this.indexes[l],i<=s&&(this.indexes[l]=s+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t=="string")t=zo(Uo(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let r of t)r.parent&&r.parent.removeChild(r,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let r of t)r.parent&&r.parent.removeChild(r,"ignore")}else if(t.type)t=[t];else if(t.prop){if(typeof t.value>"u")throw new Error("Value field is missed in node creation");typeof t.value!="string"&&(t.value=String(t.value)),t=[new Ho(t)]}else if(t.selector||t.selectors)t=[new ki(t)];else if(t.name)t=[new Ri(t)];else if(t.text)t=[new Bo(t)];else throw new Error("Unknown node type in node creation");return t.map(r=>(r[Wo]||e.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[Go]&&jo(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...t){t=t.reverse();for(let n of t){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=t&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(t,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(t,i))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((n,i)=>{let r;try{r=t(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(t)),r})}walkAtRules(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&t.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(t){return this.walk((n,i)=>{if(n.type==="comment")return t(n,i)})}walkDecls(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&t.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(t,n){return n?t instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&t.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===t)return n(i,r)}):(n=t,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};Ie.registerParse=e=>{Uo=e};Ie.registerRule=e=>{ki=e};Ie.registerAtRule=e=>{Ri=e};Ie.registerRoot=e=>{Vo=e};qo.exports=Ie;Ie.default=Ie;Ie.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,Ri.prototype):e.type==="rule"?Object.setPrototypeOf(e,ki.prototype):e.type==="decl"?Object.setPrototypeOf(e,Ho.prototype):e.type==="comment"?Object.setPrototypeOf(e,Bo.prototype):e.type==="root"&&Object.setPrototypeOf(e,Vo.prototype),e[Wo]=!0,e.nodes&&e.nodes.forEach(t=>{Ie.rebuild(t)})}});var An=Z((ch,Ko)=>{"use strict";var $o=Xe(),pt=class extends $o{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}};Ko.exports=pt;pt.default=pt;$o.registerAtRule(pt)});var wn=Z((dh,Xo)=>{"use strict";var ju=Xe(),Jo,Yo,ut=class extends ju{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new Jo(new Yo,this,t).stringify()}};ut.registerLazyResult=e=>{Jo=e};ut.registerProcessor=e=>{Yo=e};Xo.exports=ut;ut.default=ut});var Zo=Z((fh,Qo)=>{var qu="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",$u=(e,t=21)=>(n=t)=>{let i="",r=n|0;for(;r--;)i+=e[Math.random()*e.length|0];return i},Ku=(e=21)=>{let t="",n=e|0;for(;n--;)t+=qu[Math.random()*64|0];return t};Qo.exports={nanoid:Ku,customAlphabet:$u}});var Cn=Z(()=>{});var Fn=Z(()=>{});var Di=Z(()=>{});var es=Z(()=>{});var Pi=Z((Eh,is)=>{"use strict";var{existsSync:Ju,readFileSync:Yu}=es(),{dirname:Ii,join:Xu}=Cn(),{SourceMapConsumer:ts,SourceMapGenerator:ns}=Fn();function Qu(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var Jt=class{constructor(t,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=Ii(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new ts(this.json||this.text)),this.consumerCache}decodeInline(t){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=t.match(r)||t.match(o);if(s)return decodeURIComponent(t.substr(s[0].length));let l=t.match(n)||t.match(i);if(l)return Qu(t.substr(l[0].length));let a=t.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(t){return t.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let n=t.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=t.lastIndexOf(n.pop()),r=t.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(t.substring(i,r)))}loadFile(t,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(t))&&(this.root=Ii(t),Ju(t)))return this.mapFile=t,Yu(t,"utf-8").toString().trim()}loadMap(t,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(t);if(i){let r=this.loadFile(i,t,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof ts)return ns.fromSourceMap(n).toString();if(n instanceof ns)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let i=this.annotation;t&&(i=Xu(Ii(t),i));let r=this.loadFile(i,t,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(t,n){return t?t.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};is.exports=Jt;Jt.default=Jt});var Yt=Z((Ah,ls)=>{"use strict";var{nanoid:Zu}=Zo(),{isAbsolute:Hi,resolve:Gi}=Cn(),{SourceMapConsumer:ec,SourceMapGenerator:tc}=Fn(),{fileURLToPath:rs,pathToFileURL:_n}=Di(),os=Sn(),nc=Pi(),Oi=vi(),Bi=Symbol("lineToIndexCache"),ic=!!(ec&&tc),ss=!!(Gi&&Hi);function as(e){if(e[Bi])return e[Bi];let t=e.css.split(`\n`),n=new Array(t.length),i=0;for(let r=0,o=t.length;r<o;r++)n[r]=i,i+=t[r].length+1;return e[Bi]=n,n}var ht=class{get from(){return this.file||this.id}constructor(t,n={}){if(t===null||typeof t>"u"||typeof t=="object"&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.toString(),this.css[0]==="\\uFEFF"||this.css[0]==="\\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!ss||/^\\w+:\\/\\//.test(n.from)||Hi(n.from)?this.file=n.from:this.file=Gi(n.from)),ss&&ic){let i=new nc(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Zu(6)+">"),this.map&&(this.map.file=this.from)}error(t,n,i,r={}){let o,s,l,a,u;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){l=f.offset;let x=this.fromOffset(l);s=x.line,o=x.col}else s=f.line,o=f.column,l=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let c=this.origin(n,i,s,o);return c?u=new os(t,c.endLine===void 0?c.line:{column:c.column,line:c.line},c.endLine===void 0?c.column:{column:c.endColumn,line:c.endLine},c.source,c.file,r.plugin):u=new os(t,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),u.input={column:i,endColumn:o,endLine:s,endOffset:l,line:n,offset:a,source:this.css},this.file&&(_n&&(u.input.url=_n(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(t,n){return as(this)[t-1]+n-1}fromOffset(t){let n=as(this),i=n[n.length-1],r=0;if(t>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),t<n[s])o=s-1;else if(t>=n[s+1])r=s+1;else{r=s;break}}return{col:t-n[r]+1,line:r+1}}mapResolve(t){return/^\\w+:\\/\\//.test(t)?t:Gi(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:t});if(!s.source)return!1;let l;typeof i=="number"&&(l=o.originalPositionFor({column:r,line:i}));let a;Hi(s.source)?a=_n(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||_n(this.map.mapFile));let u={column:s.column,endColumn:l&&l.column,endLine:l&&l.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(rs)u.file=rs(a);else throw new Error("file: protocol is not available in this PostCSS build");let c=o.sourceContentFor(s.source);return c&&(u.source=c),u}toJSON(){let t={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(t[n]=this[n]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}};ls.exports=ht;ht.default=ht;Oi&&Oi.registerInput&&Oi.registerInput(ht)});var gt=Z((wh,fs)=>{"use strict";var us=Xe(),cs,ds,Qe=class extends us{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,n,i){let r=super.normalize(t);if(n){if(i==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of r)o.raws.before=n.raws.before}return r}removeChild(t,n){let i=this.index(t);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(t)}toResult(t={}){return new cs(new ds,this,t).stringify()}};Qe.registerLazyResult=e=>{cs=e};Qe.registerProcessor=e=>{ds=e};fs.exports=Qe;Qe.default=Qe;us.registerRoot(Qe)});var Wi=Z((Ch,ms)=>{"use strict";var Xt={comma(e){return Xt.split(e,[","],!0)},space(e){let t=[" ",`\n`," "];return Xt.split(e,t)},split(e,t,n){let i=[],r="",o=!1,s=0,l=!1,a="",u=!1;for(let c of e)u?u=!1:c==="\\\\"?u=!0:l?c===a&&(l=!1):c===\'"\'||c==="\'"?(l=!0,a=c):c==="("?s+=1:c===")"?s>0&&(s-=1):s===0&&t.includes(c)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=c;return(n||r!=="")&&i.push(r.trim()),i}};ms.exports=Xt;Xt.default=Xt});var vn=Z((Fh,hs)=>{"use strict";var ps=Xe(),rc=Wi(),xt=class extends ps{get selectors(){return rc.comma(this.selector)}set selectors(t){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=t.join(i)}constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}};hs.exports=xt;xt.default=xt;ps.registerRule(xt)});var xs=Z((_h,gs)=>{"use strict";var oc=An(),sc=qt(),ac=Kt(),lc=Yt(),uc=Pi(),cc=gt(),dc=vn();function Qt(e,t){if(Array.isArray(e))return e.map(r=>Qt(r));let{inputs:n,...i}=e;if(n){t=[];for(let r of n){let o={...r,__proto__:lc.prototype};o.map&&(o.map={...o.map,__proto__:uc.prototype}),t.push(o)}}if(i.nodes&&(i.nodes=e.nodes.map(r=>Qt(r,t))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=t[r])}if(i.type==="root")return new cc(i);if(i.type==="decl")return new ac(i);if(i.type==="rule")return new dc(i);if(i.type==="comment")return new sc(i);if(i.type==="atrule")return new oc(i);throw new Error("Unknown node type: "+e.type)}gs.exports=Qt;Qt.default=Qt});var Vi=Z((vh,ws)=>{"use strict";var{dirname:Mn,relative:ys,resolve:Ss,sep:Es}=Cn(),{SourceMapConsumer:As,SourceMapGenerator:Tn}=Fn(),{pathToFileURL:bs}=Di(),fc=Yt(),mc=!!(As&&Tn),pc=!!(Mn&&Ss&&ys&&Es),Ui=class{constructor(t,n,i,r){this.stringify=t,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let t;this.isInline()?t="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?t=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?t=this.mapOpts.annotation(this.opts.to,this.root):t=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let n=this.toUrl(this.path(t.file)),i=t.root||Mn(t.file),r;this.mapOpts.sourcesContent===!1?(r=new As(t.text),r.sourcesContent&&(r.sourcesContent=null)):r=t.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let t;for(let n=this.root.nodes.length-1;n>=0;n--)t=this.root.nodes[n],t.type==="comment"&&t.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let t;for(;(t=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",t+3);if(n===-1)break;for(;t>0&&this.css[t-1]===`\n`;)t--;this.css=this.css.slice(0,t)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),pc&&mc&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,n=>{t+=n}),[t]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=Tn.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new Tn({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new Tn({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(l,a,u)=>{if(this.css+=l,a&&u!=="end"&&(r.generated.line=t,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=l.match(/\\n/g),s?(t+=s.length,o=l.lastIndexOf(`\n`),n=l.length-o):n+=l.length,a&&u!=="start"){let c=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==c.last||c.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=t,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=t,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\\w+:\\/\\//.test(t))return t;let n=this.memoizedPaths.get(t);if(n)return n;let i=this.opts.to?Mn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=Mn(Ss(i,this.mapOpts.annotation)));let r=ys(i,t);return this.memoizedPaths.set(t,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(t=>{if(t.source&&t.source.input.map){let n=t.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let t=new fc(this.originalCSS,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}setSourcesContent(){let t={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!t[i]){t[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}toFileUrl(t){let n=this.memoizedFileURLs.get(t);if(n)return n;if(bs){let i=bs(t).toString();return this.memoizedFileURLs.set(t,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(t){let n=this.memoizedURLs.get(t);if(n)return n;Es==="\\\\"&&(t=t.replace(/\\\\/g,"/"));let i=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,i),i}};ws.exports=Ui});var _s=Z((Mh,Fs)=>{"use strict";var Nn=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,Ln=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,hc=/.[\\r\\n"\'(/\\\\]/,Cs=/[\\da-f]/i;Fs.exports=function(t,n={}){let i=t.css.valueOf(),r=n.ignoreErrors,o,s,l,a,u,c,m,f,x,S,b=i.length,g=0,E=[],_=[],N=-1;function q(){return g}function D(v){throw t.error("Unclosed "+v,g)}function M(){return _.length===0&&g>=b}function A(v){if(_.length)return _.pop();if(g>=b)return;let T=v?v.ignoreUnclosed:!1;switch(o=i.charCodeAt(g),o){case 10:case 32:case 9:case 13:case 12:{a=g;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);c=["space",i.slice(g,a)],g=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let k=String.fromCharCode(o);c=[k,k,g];break}case 40:{if(S=E.length?E.pop()[1]:"",x=i.charCodeAt(g+1),S==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=g;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||T){a=g;break}else D("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["brackets",i.slice(g,a+1),g,a],g=a}else g<=N?c=["(","(",g]:(a=i.indexOf(")",g+1),s=i.slice(g,a+1),a===-1||hc.test(s)?(N=a===-1?b:a,c=["(","(",g]):(c=["brackets",s,g,a],g=a));break}case 39:case 34:{u=o===39?"\'":\'"\',a=g;do{if(m=!1,a=i.indexOf(u,a+1),a===-1)if(r||T){a=g+1;break}else D("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["string",i.slice(g,a+1),g,a],g=a;break}case 64:{Nn.lastIndex=g+1,Nn.test(i),Nn.lastIndex===0?a=i.length-1:a=Nn.lastIndex-2,c=["at-word",i.slice(g,a+1),g,a],g=a;break}case 92:{for(a=g,l=!0;i.charCodeAt(a+1)===92;)a+=1,l=!l;if(o=i.charCodeAt(a+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Cs.test(i.charAt(a)))){for(;Cs.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}c=["word",i.slice(g,a+1),g,a],g=a;break}default:{o===47&&i.charCodeAt(g+1)===42?(a=i.indexOf("*/",g+2)+1,a===0&&(r||T?a=i.length:D("comment")),c=["comment",i.slice(g,a+1),g,a],g=a):(Ln.lastIndex=g+1,Ln.test(i),Ln.lastIndex===0?a=i.length-1:a=Ln.lastIndex-2,c=["word",i.slice(g,a+1),g,a],E.push(c),g=a);break}}return g++,c}function F(v){_.push(v)}return{back:F,endOfFile:M,nextToken:A,position:q}}});var Ns=Z((Th,Ts)=>{"use strict";var gc=An(),xc=qt(),bc=Kt(),yc=gt(),vs=vn(),Sc=_s(),Ms={empty:!0,space:!0};function Ec(e){for(let t=e.length-1;t>=0;t--){let n=e[t],i=n[3]||n[2];if(i)return i}}var zi=class{constructor(t){this.input=t,this.root=new yc,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{column:1,line:1,offset:0}}}atrule(t){let n=new gc;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2]);let i,r,o,s=!1,l=!1,a=[],u=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),i=t[0],i==="("||i==="["?u.push(i==="("?")":"]"):i==="{"&&u.length>0?u.push("}"):i===u[u.length-1]&&u.pop(),u.length===0)if(i===";"){n.source.end=this.getPosition(t[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){l=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(t);break}else a.push(t);else a.push(t);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(t=a[a.length-1],n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),l&&(n.nodes=[],this.current=n)}checkMissedSemicolon(t){let n=this.colon(t);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=t[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(t){let n=0,i,r,o;for(let[s,l]of t.entries()){if(r=l,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(t){let n=new xc;this.init(n,t[2]),n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++;let i=t[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=Sc(this.input)}decl(t,n){let i=new bc;this.init(i,t[0][2]);let r=t[t.length-1];for(r[0]===";"&&(this.semicolon=!0,t.pop()),i.source.end=this.getPosition(r[3]||r[2]||Ec(t)),i.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),i.raws.before+=t.shift()[1];for(i.source.start=this.getPosition(t[0][2]),i.prop="";t.length;){let u=t[0][0];if(u===":"||u==="space"||u==="comment")break;i.prop+=t.shift()[1]}i.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],l;for(;t.length&&(l=t[0][0],!(l!=="space"&&l!=="comment"));)s.push(t.shift());this.precheckMissedSemicolon(t);for(let u=t.length-1;u>=0;u--){if(o=t[u],o[1].toLowerCase()==="!important"){i.important=!0;let c=this.stringFrom(t,u);c=this.spacesFromEnd(t)+c,c!==" !important"&&(i.raws.important=c);break}else if(o[1].toLowerCase()==="important"){let c=t.slice(0),m="";for(let f=u;f>0;f--){let x=c[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=c.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,t=c)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(u=>u[0]!=="space"&&u[0]!=="comment")&&(i.raws.between+=s.map(u=>u[1]).join(""),s=[]),this.raw(i,"value",s.concat(t),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let n=new vs;this.init(n,t[2]),n.selector="",n.raws.between="",this.current=n}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(t[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(t){let n=this.input.fromOffset(t);return{column:n.col,line:n.line,offset:t}}init(t,n){this.current.push(t),t.source={input:this.input,start:this.getPosition(n)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let n=!1,i=null,r=!1,o=null,s=[],l=t[1].startsWith("--"),a=[],u=t;for(;u;){if(i=u[0],a.push(u),i==="("||i==="[")o||(o=u),s.push(i==="("?")":"]");else if(l&&r&&i==="{")o||(o=u),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,l);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!l)for(;a.length&&(u=a[a.length-1][0],!(u!=="space"&&u!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,l)}else this.unknownWord(a)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,n,i,r){let o,s,l=i.length,a="",u=!0,c,m;for(let f=0;f<l;f+=1)o=i[f],s=o[0],s==="space"&&f===l-1&&!r?u=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",c=i[f+1]?i[f+1][0]:"empty",!Ms[m]&&!Ms[c]?a.slice(-1)===","?u=!1:a+=o[1]:u=!1):a+=o[1];if(!u){let f=i.reduce((x,S)=>x+S[1],"");t.raws[n]={raw:f,value:a}}t[n]=a}rule(t){t.pop();let n=new vs;this.init(n,t[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(n,"selector",t),this.current=n}spacesAndCommentsFromEnd(t){let n,i="";for(;t.length&&(n=t[t.length-1][0],!(n!=="space"&&n!=="comment"));)i=t.pop()[1]+i;return i}spacesAndCommentsFromStart(t){let n,i="";for(;t.length&&(n=t[0][0],!(n!=="space"&&n!=="comment"));)i+=t.shift()[1];return i}spacesFromEnd(t){let n,i="";for(;t.length&&(n=t[t.length-1][0],n==="space");)i=t.pop()[1]+i;return i}stringFrom(t,n){let i="";for(let r=n;r<t.length;r++)i+=t[r][1];return t.splice(n,t.length-n),i}unclosedBlock(){let t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)}unclosedBracket(t){throw this.input.error("Unclosed bracket",{offset:t[2]},{offset:t[2]+1})}unexpectedClose(t){throw this.input.error("Unexpected }",{offset:t[2]},{offset:t[2]+1})}unknownWord(t){throw this.input.error("Unknown word "+t[0][1],{offset:t[0][2]},{offset:t[0][2]+t[0][1].length})}unnamedAtrule(t,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};Ts.exports=zi});var kn=Z((Nh,Ls)=>{"use strict";var Ac=Xe(),wc=Yt(),Cc=Ns();function Rn(e,t){let n=new wc(e,t),i=new Cc(n);try{i.parse()}catch(r){throw r}return i.root}Ls.exports=Rn;Rn.default=Rn;Ac.registerParse(Rn)});var ji=Z((Lh,Rs)=>{"use strict";var Zt=class{constructor(t,n={}){if(this.type="warning",this.text=t,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Rs.exports=Zt;Zt.default=Zt});var Dn=Z((Rh,ks)=>{"use strict";var Fc=ji(),en=class{get content(){return this.css}constructor(t,n,i){this.processor=t,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(t,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new Fc(t,n);return this.messages.push(i),i}warnings(){return this.messages.filter(t=>t.type==="warning")}};ks.exports=en;en.default=en});var qi=Z((kh,Is)=>{"use strict";var Ds={};Is.exports=function(t){Ds[t]||(Ds[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var Ji=Z((Ih,Hs)=>{"use strict";var _c=Xe(),vc=wn(),Mc=Vi(),Tc=kn(),Ps=Dn(),Nc=gt(),Lc=Wt(),{isClean:We,my:Rc}=En(),Dh=qi(),kc={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Dc={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Ic={Once:!0,postcssPlugin:!0,prepare:!0},bt=0;function tn(e){return typeof e=="object"&&typeof e.then=="function"}function Bs(e){let t=!1,n=kc[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+"-"+t,bt,n+"Exit",n+"Exit-"+t]:t?[n,n+"-"+t,n+"Exit",n+"Exit-"+t]:e.append?[n,bt,n+"Exit"]:[n,n+"Exit"]}function Os(e){let t;return e.type==="document"?t=["Document",bt,"DocumentExit"]:e.type==="root"?t=["Root",bt,"RootExit"]:t=Bs(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function $i(e){return e[We]=!1,e.nodes&&e.nodes.forEach(t=>$i(t)),e}var Ki={},Ze=class e{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(t,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=$i(n);else if(n instanceof e||n instanceof Ps)r=$i(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=Tc;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[Rc]&&_c.rebuild(r)}this.result=new Ps(t,r,i),this.helpers={...Ki,postcss:Ki,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,n){let i=this.result.lastPlugin;try{n&&n.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin?(t.plugin=i.postcssPlugin,t.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return t}prepareVisitors(){this.listeners={};let t=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!Dc[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Ic[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?t(n,i,n[i][r]):t(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&t(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t<this.plugins.length;t++){let n=this.plugins[t],i=this.runOnRoot(n);if(tn(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[We];){t[We]=!0;let n=[Os(t)];for(;n.length>0;){let i=this.visitTick(n);if(tn(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(t.type==="document"){let r=t.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(t,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(t){this.result.lastPlugin=t;try{if(typeof t=="object"&&t.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>t.Once(i,this.helpers));return tn(n[0])?Promise.all(n):n}return t.Once(this.result.root,this.helpers)}else if(typeof t=="function")return t(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let t=this.result.opts,n=Lc;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(t.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,l=>{s+=l}),this.result.css=s,this.result}let o=new Mc(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let t of this.plugins){let n=this.runOnRoot(t);if(tn(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[We];)t[We]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let n of t.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,n){return this.async().then(t,n)}toString(){return this.css}visitSync(t,n){for(let[i,r]of t){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(tn(o))throw this.getAsyncError()}}visitTick(t){let n=t[t.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){t.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,l]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return l(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,l;for(;l=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!l[We]){l[We]=!0,t.push(Os(l));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===bt){i.nodes&&i.nodes.length&&(i[We]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}t.pop()}walkSync(t){t[We]=!0;let n=Bs(t);for(let i of n)if(i===bt)t.nodes&&t.each(r=>{r[We]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,t.toProxy()))return}}warnings(){return this.sync().warnings()}};Ze.registerPostcss=e=>{Ki=e};Hs.exports=Ze;Ze.default=Ze;Nc.registerLazyResult(Ze);vc.registerLazyResult(Ze)});var Ws=Z((Oh,Gs)=>{"use strict";var Pc=Vi(),Oc=kn(),Bc=Dn(),Hc=Wt(),Ph=qi(),nn=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let t,n=Oc;try{t=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(t,n,i){n=n.toString(),this.stringified=!1,this._processor=t,this._css=n,this._opts=i,this._map=void 0;let r=Hc;this.result=new Bc(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new Pc(r,void 0,this._opts,n);if(s.isMap()){let[l,a]=s.generate();l&&(this.result.css=l),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,n){return this.async().then(t,n)}toString(){return this._css}warnings(){return[]}};Gs.exports=nn;nn.default=nn});var Vs=Z((Bh,Us)=>{"use strict";var Gc=wn(),Wc=Ji(),Uc=Ws(),Vc=gt(),ct=class{constructor(t=[]){this.version="8.5.14",this.plugins=this.normalize(t)}normalize(t){let n=[];for(let i of t)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(t,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new Uc(this,t,n):new Wc(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};Us.exports=ct;ct.default=ct;Vc.registerProcessor(ct);Gc.registerProcessor(ct)});var Xs=Z((Hh,Ys)=>{"use strict";var zs=An(),js=qt(),zc=Xe(),jc=Sn(),qs=Kt(),$s=wn(),qc=xs(),$c=Yt(),Kc=Ji(),Jc=Wi(),Yc=zt(),Xc=kn(),Yi=Vs(),Qc=Dn(),Ks=gt(),Js=vn(),Zc=Wt(),ed=ji();function le(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new Yi(e)}le.plugin=function(t,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(t+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(t+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let l=n(...s);return l.postcssPlugin=t,l.postcssVersion=new Yi().version,l}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,l,a){return le([r(a)]).process(s,l)},r};le.stringify=Zc;le.parse=Xc;le.fromJSON=qc;le.list=Jc;le.comment=e=>new js(e);le.atRule=e=>new zs(e);le.decl=e=>new qs(e);le.rule=e=>new Js(e);le.root=e=>new Ks(e);le.document=e=>new $s(e);le.CssSyntaxError=jc;le.Declaration=qs;le.Container=zc;le.Processor=Yi;le.Document=$s;le.Comment=js;le.Warning=ed;le.AtRule=zs;le.Result=Qc;le.Input=$c;le.Rule=Js;le.Root=Ks;le.Node=Yc;Kc.registerPostcss(le);Ys.exports=le;le.default=le});function mn(){return globalThis}function L(e,t){if(typeof window>"u")return;let n=mn(),i=n.__hf?.onSwallowed;if(i)try{i({label:e,error:t})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${e} swallowed:`,t)}function Ce(e){try{window.parent.postMessage(e,"*")}catch(t){L("bridge.postMessage",t)}}var Wl={play:(e,t)=>t.onPlay(),pause:(e,t)=>t.onPause(),"stop-media":(e,t)=>t.onStopMedia(),seek:(e,t)=>t.onSeek(Number(e.frame??0),e.seekMode??"commit"),tick:(e,t)=>t.onTick(),"set-muted":(e,t)=>t.onSetMuted(!!e.muted),"set-volume":(e,t)=>t.onSetVolume(Math.max(0,Math.min(1,Number(e.volume??1)))),"set-media-output-muted":(e,t)=>t.onSetMediaOutputMuted(!!e.muted),"set-native-media-sync-disabled":(e,t)=>t.onSetNativeMediaSyncDisabled(!!e.disabled),"set-web-audio-media-disabled":(e,t)=>t.onSetWebAudioMediaDisabled(!!e.disabled),"set-playback-rate":(e,t)=>t.onSetPlaybackRate(Number(e.playbackRate??1)),"set-root-duration":(e,t)=>t.onSetRootDuration(Number(e.durationSeconds??0)),"set-color-grading":(e,t)=>t.onSetColorGrading(e.target??null,e.grading??null),"set-color-grading-compare":(e,t)=>t.onSetColorGradingCompare(e.target??null,e.compare??null),"enable-pick-mode":(e,t)=>t.onEnablePickMode(),"disable-pick-mode":(e,t)=>t.onDisablePickMode(),"flash-elements":e=>Ul(e)};function Ul(e){let t=e.selectors,n=e.duration||800;t&&Vl(t,n)}function Pr(e){let t=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=Wl[r];o&&o(i,e)};return window.addEventListener("message",t),Ce({source:"hf-preview",type:"ready"}),t}function Vl(e,t){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${t}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of e)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),t)})}catch(i){L("bridge.flashElements.querySelector",i)}}var ai=null;function Or(e){ai=e}function at(e,t){if(ai)try{ai({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){L("runtime.analytics.site1",n)}}function zl(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-"),n=0,i=t.length;for(;n<i&&t[n]==="-";)n++;for(;i>n&&t[i-1]==="-";)i--;let r=t.slice(n,i);return r.length>0?r:"node"}function Mt(e){return`--${zl(e)}`}function Br(e){let t=new Map;for(let n of e){let i=Mt(n),r=t.get(i);r?r.includes(n)||r.push(n):t.set(i,[n])}return[...t.values()].filter(n=>n.length>1)}function Hr(){if(typeof document>"u")return{};let e=new Set;document.documentElement?.hasAttribute("data-composition-variables")&&e.add(document.documentElement);for(let i of Array.from(document.querySelectorAll("[data-composition-variables]")))e.add(i);let t={};for(let i of e)Object.assign(t,Tt(i));let n=pn();return{...t,...n}}function Tt(e){if(!e)return{};let t=e.getAttribute("data-composition-variables");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}var li="data-hf-css-vars";function ui(e){return"style"in e&&typeof e.style?.setProperty=="function"}function ci(e,t){if(!ui(e))return;let n=[];for(let[i,r]of Object.entries(t))if(typeof r=="string"&&r!==""||typeof r=="number"){let o=Mt(i);e.style.setProperty(o,String(r)),n.push(o)}n.length>0&&e.setAttribute(li,n.join(" "))}function Gr(e){if(!ui(e))return;let t=e.getAttribute(li);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(li)}}function Wr(e){let t=new Set;e.documentElement?.hasAttribute("data-composition-variables")&&t.add(e.documentElement);for(let r of Array.from(e.querySelectorAll("[data-composition-variables]")))t.add(r);let n=pn(),i=[];for(let r of t)i.push(...jl(r,n,e.defaultView));for(let r of Br(i))console.warn(`composition variables ${r.join(", ")} collapse to the same CSS property ${Mt(r[0]??"")} \\u2014 rename one to avoid cross-talk`)}function jl(e,t,n){if(!ui(e))return[];let i=Tt(e),r={};for(let[o,s]of Object.entries(i)){if(o in t)continue;let l=Mt(o);(e.style.getPropertyValue(l)||(n?n.getComputedStyle(e).getPropertyValue(l):"")).trim()===""&&(r[o]=s)}for(let[o,s]of Object.entries(t))o in i&&(r[o]=s);return ci(e,r),Object.keys(i)}function Ur(e){let t=e.getAttribute("data-variable-values");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function pn(){if(typeof window>"u")return{};let e=window.__hfVariables;return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Vr(e){let t=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},i=u=>e?.resolveStartSeconds?e.resolveStartSeconds(u):Number.parseFloat(u.getAttribute("data-start")??"0")||0,r=(u,c)=>{let m=null;try{m=u.effect?.getComputedTiming?.()??null}catch(x){L("runtime.adapters.css.site5",x)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:c+f/1e3}:{unbounded:!0}},o=(u,c)=>{for(let m of u){try{m.currentTime=c}catch(f){L("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){L("runtime.adapters.css.site2",f)}}},s=u=>{for(let c of u)try{c.play()}catch(m){L("runtime.adapters.css.site3",m)}},l=u=>{for(let c of u)try{c.pause()}catch(m){L("runtime.adapters.css.site4",m)}},a=u=>{u.baseDelay?u.el.style.animationDelay=u.baseDelay:u.el.style.removeProperty("animation-delay"),u.basePlayState?u.el.style.animationPlayState=u.basePlayState:u.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{t=[];let u=document.querySelectorAll("*");for(let c of u){if(!(c instanceof HTMLElement))continue;let m=window.getComputedStyle(c);!m.animationName||m.animationName==="none"||t.push({el:c,baseDelay:c.style.animationDelay||"",basePlayState:c.style.animationPlayState||"",animations:n(c)})}},getInferredDurationSeconds:()=>{let u=0;for(let c of t){if(!c.el.isConnected)continue;let m=i(c.el);for(let f of n(c.el)){let x=r(f,m);x.endSeconds!=null&&(u=Math.max(u,x.endSeconds))}}return u>0?u:null},seek:u=>{let c=Number(u.time)||0;for(let m of t){if(!m.el.isConnected)continue;let f=i(m.el),x=Math.max(0,c-f)*1e3,S=m.animations;if(S.length>0){o(S,x);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let u of t){if(!u.el.isConnected)continue;let c=u.animations;c.length>0&&l(c),a(u)}},play:()=>{for(let u of t)u.el.isConnected&&(a(u),s(u.animations))},revert:()=>{t=[]}}}function zr(e){return{name:"gsap",discover:()=>{},seek:t=>{let n=e.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(t.time)||0),r=t.suppressEvents===!0;typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,r)):n.seek(i,r)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function jr(){return{name:"animejs",discover:()=>{try{let e=window.anime;if(!e||typeof e.running>"u")return;let t=e.running;if(!Array.isArray(t)||t.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of t)i.has(r)||n.push(r);window.__hfAnime=n}catch(e){L("runtime.adapters.animejs.site1",e)}},seek:e=>{let t=Math.max(0,(Number(e.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(t)}catch(r){L("runtime.adapters.animejs.site2",r)}},pause:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.pause=="function"&&t.pause()}catch(n){L("runtime.adapters.animejs.site3",n)}},play:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.play=="function"&&t.play()}catch(n){L("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function $r(){return{name:"lottie",discover:()=>{try{let e=window.lottie;if(e&&typeof e.getRegisteredAnimations=="function"){let t=e.getRegisteredAnimations();if(Array.isArray(t)&&t.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of t)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(e){L("runtime.adapters.lottie.site1",e)}},seek:e=>{let t=Math.max(0,Number(e.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if(di(i))i.goToAndStop(t*1e3,!1);else if(fi(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=t*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,t/r*100);i.seek(o)}}}catch(r){L("runtime.adapters.lottie.site2",r)}},pause:()=>{let e=window.__hfLottie;if(!(!e||e.length===0))for(let t of e)try{(di(t)||fi(t))&&t.pause()}catch(n){L("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let e=window.__hfLottie;if(!e||e.length===0)return null;let t=0,n=!1;for(let i of e){let r=null;try{r=ql(i)}catch(o){L("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,t=Math.max(t,r))}return n?t:null}}}function qr(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function ql(e){return di(e)?qr(e.totalFrames,e.frameRate):fi(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:qr(e.totalFrames,e.frameRate):null}function di(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function fi(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var mi=-1;function hn(e){if(e!==mi){mi=e;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:e}}))}catch(t){L("runtime.adapters.seek-dispatch.site1",t)}}}function Kr(e){mi=e;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:e}}))}catch(t){L("runtime.adapters.seek-dispatch.force",t)}}function Jr(){let e=null,t=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let c=window.THREE?.DefaultLoadingManager;return!c||typeof c!="object"||typeof c.itemsLoaded!="number"||typeof c.itemsTotal!="number"?null:c},l=u=>{o||u.itemsTotal<=u.itemsLoaded||(o=new Promise(c=>{u.onLoad=function(){try{r?.call(this)}finally{o=null,u.onLoad=r??null,c()}}}))},a=u=>{n!==u&&(n=u,i=u.onStart??null,r=u.onLoad??null,u.onStart=function(c,m,f){try{i?.call(this,c,m,f)}finally{l(u)}})};return{name:"three",discover:()=>{let u=s();u&&(a(u),l(u))},seek:u=>{e=Math.max(0,Number(u.time)||0),t=e,window.__hfThreeTime=e,hn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0},getReadyPromise:()=>{let u=s();return!u||u.itemsTotal<=u.itemsLoaded?null:(o||l(u),o)}}}function Ge(e){let t=null,n=new WeakSet;return{name:e.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=e.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:t||(t=Promise.allSettled(r.map(o=>e.waitFor(o).then(()=>{n.add(o)}))).then(()=>{t=null}),t)}}}function Yr(){return Ge({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMapbox;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function Xr(){return Ge({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfLeaflet;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>e.whenReady(t))})}function Qr(){return Ge({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfGoogleMaps;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{let n=e.addListener("tilesloaded",()=>{n.remove(),t()})})})}function Zr(){return Ge({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMaplibre;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function eo(){return Ge({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}function to(){let e=null,t=0;return{name:"typegpu",discover:()=>{},seek:n=>{e=Math.max(0,Number(n.time)||0),t=e,window.__hfTypegpuTime=e,hn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0}}}function no(e){let t=e.nextElementSibling;if(t instanceof HTMLImageElement&&t.classList.contains("__render_frame__")&&t.complete&&t.naturalWidth>0)return t;if(e.id){let n=document.getElementById(`__render_frame_${e.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function io(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=no(n.source);if(o)return t.call(this,{...n,source:o},i,r)}return t.call(this,n,i,r)}}function ro(){let e=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],t=["texImage2D","texSubImage2D"];for(let n of e){let i=n?.prototype;if(i)for(let r of t){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...l){let a=l.length-1,u=l[a];if(u instanceof HTMLVideoElement){let c=no(u);c&&(l[a]=c)}return o.apply(this,l)};s.__hfVideoPatched=!0,i[r]=s}}}function oo(){let e=!1,t=0,n=!1,i,r,o,s=new Set,l=new WeakMap,a=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},u=g=>{let E=Number(g.currentTime);return Number.isFinite(E)&&E>0?E:0},c=(g,E)=>E<=0?g:g>=E?Math.max(0,g-E):g,m=(g,E)=>{let _=l.get(g);if(_)return _;let N={compositionTimeMs:E,animationTimeMs:e?c(u(g),E):u(g)};return l.set(g,N),N},f=(g,E)=>{if(!s.has(g)){s.add(g);let _=()=>{s.delete(g)};try{g.addEventListener("finish",_,{once:!0}),g.addEventListener("cancel",_,{once:!0})}catch(N){L("runtime.adapters.waapi.site4",N)}}m(g,E)},x=(g,E)=>{for(let _ of g)f(_,E)},S=()=>{if(n||typeof Element>"u")return;let g=Element.prototype;if(typeof g.animate!="function"||g.__hfOriginalAnimate)return;let E=g.animate;try{Object.defineProperty(g,"__hfOriginalAnimate",{value:E,configurable:!0});let _=function(...N){let q=E.apply(this,N);return f(q,t),q};g.animate=_,i=g,r=E,o=_,n=!0}catch{}},b=g=>{let E=null;try{E=g.effect?.getComputedTiming?.()??null}catch(q){L("runtime.adapters.waapi.site4",q)}if(!E)return{};let _=Number(E.endTime);return Number.isFinite(_)?{endSeconds:(l.get(g)?.compositionTimeMs??0)/1e3+_/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{e=!0,S(),x(a(),t)},seek:g=>{let E=Math.max(0,(Number(g.time)||0)*1e3);t=E,(!e||s.size>0)&&x(a(),e?E:0);for(let _ of s){let N=e?m(_,E):m(_,0),q=N.animationTimeMs+Math.max(0,E-N.compositionTimeMs);try{_.currentTime=q}catch(D){L("runtime.adapters.waapi.site1",D)}try{_.pause()}catch(D){L("runtime.adapters.waapi.site2",D)}}},pause:()=>{e||x(a(),t);for(let g of s)try{g.pause()}catch(E){L("runtime.adapters.waapi.site3",E)}},revert:()=>{if(s.clear(),l=new WeakMap,e=!1,t=0,i&&r&&o&&i.animate===o)try{i.animate=r,i.__hfOriginalAnimate===r&&delete i.__hfOriginalAnimate}catch(g){L("runtime.adapters.waapi.site5",g)}i=void 0,r=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let E of a()){let _=b(E);_.endSeconds!=null&&(g=Math.max(g,_.endSeconds))}return g>0?g:null}}}function so(e,t){if(e.length===0)return 1;let n=0;for(;n<e.length-2&&t>=e[n+1].time;)n+=1;let i=e[n],r=e[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(t-i.time)/o));return i.volume+(r.volume-i.volume)*s}function $l(e,t,n,i){let r=Number.parseFloat(e.dataset.start??"0")||0,o=Number.parseFloat(e.dataset.end??""),s=Number.parseFloat(e.dataset.duration??""),l=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(e.dataset.volume??""),u=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;e.volume=u;let c=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,l),x=[];for(let b=m;b<=f+1e-6;b+=c){let g=Math.min(f,b);t(g);let E=Number(e.volume);if(!Number.isFinite(E))continue;let _=Math.max(0,Math.min(1,E)),N=x.at(-1);if((!N||Math.abs(N.volume-_)>1e-4||g===f)&&x.push({time:Number(g.toFixed(6)),volume:Number(_.toFixed(6))}),g===f)break}return x.some(b=>Math.abs(b.volume-u)>1e-4)?x:null}function ao(e,t,n,i){if(!t||!(e instanceof HTMLAudioElement)&&!(e instanceof HTMLVideoElement)||n<=0)return;let r=l=>{try{typeof t.totalTime=="function"?t.totalTime(l,!0):typeof t.seek=="function"&&t.seek(l,!0)}catch{}},o=typeof t.totalTime=="function"?Number(t.totalTime()):typeof t.seek=="function"?Number(t.seek()):0,s=$l(e,r,n,60);Number.isFinite(o)&&r(o),s&&i.set(e,s)}function Rt(e){let t=e.defaultPlaybackRate;return Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1}function lo(e){let t=Array.from(document.querySelectorAll("video, audio")),n=e?.shouldIncludeElement?t.filter(s=>e.shouldIncludeElement?.(s)):t.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let l=e?.resolveStartSeconds?e.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(l))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,u=Rt(s),c=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=e?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/u));let x=Number.isFinite(f)&&f>0?l+f:Number.POSITIVE_INFINITY,S=Number.parseFloat(s.dataset.volume??""),b={el:s,start:l,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(S)?S:null,playbackRate:u,loop:c,sourceDuration:m};i.push(b),s.tagName==="VIDEO"&&r.push(b),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var pi=new WeakMap,Nt=new WeakMap,hi=new WeakSet,ft=new WeakSet;function Kl(e){if(ft.has(e))return;ft.add(e);let t=()=>ft.delete(e);e.addEventListener("playing",t,{once:!0}),e.addEventListener("pause",t,{once:!0}),e.addEventListener("error",t,{once:!0})}var Jl=3;function Yl(e){return e.error!=null||e.networkState===Jl}var gi=new WeakMap;function Lt(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function uo(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(e.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(e.timeSeconds>=n.start&&e.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let T=n.sourceDuration-n.mediaStart;T>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%T)}let s=Lt(e.userVolume??1),l=Lt(n.volume??1),a=gi.get(i),u=Lt(i.volume),c;n.volumeKeyframes&&n.volumeKeyframes.length>0?c=Lt(so(n.volumeKeyframes,r)):a===void 0||Math.abs(u-a)>1e-4?c=u:c=l;let m=Lt(c*s);i.volume=m,gi.set(i,m),e.onElementVolume?.(i,m),(t||e.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*e.playbackRate}catch(T){L("runtime.media.site1",T)}let f=.04,x=2,S=i.currentTime||0,b=Math.abs(S-r),g=r-S,E=pi.get(i);pi.set(i,g);let _=E===void 0,N=!_&&Math.abs(g-E)>.5,q=b>3,D=b>.5&&(_||N||q),M=i.tagName==="VIDEO"&&!i.paused,A=E!==void 0&&Math.abs(g-E)<.004,F=!1;if(!M&&!D&&!_&&A&&b>f){let T=(Nt.get(i)??0)+1;Nt.set(i,T),T>=x&&(F=!0,Nt.set(i,0))}else b<=f&&Nt.set(i,0);let v=!M&&e.forceSync&&b>.02;if(D||F||v){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(k){L("runtime.media.site2",k)}if(Math.abs(i.currentTime-r)>.5&&!hi.has(i)){hi.add(i),i.load();try{i.currentTime=r}catch(k){L("runtime.media.site3",k)}}}ft.delete(i)}e.playing&&i.paused&&!ft.has(i)&&!Yl(i)?(Kl(i),i.play().catch(T=>{ft.delete(i),(T&&typeof T=="object"&&"name"in T?String(T.name??""):"")==="NotAllowedError"&&e.onAutoplayBlocked?.()})):!e.playing&&!i.paused&&i.pause();continue}pi.delete(i),Nt.delete(i),hi.delete(i),gi.delete(i),i.paused||i.pause()}}var ze="data-color-grading",kt="data-hf-color-grading-source-hidden",yn="data-hf-authored-opacity",co="__hf_color_grading_",Xl="rec709",gn={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},xn={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},bn={blur:0,pixelate:0},fo=Object.keys(gn),Ql=Object.keys(xn),mo=Object.keys(bn);function Ae(e,t,n={},i={}){return{id:e,label:t,adjust:{...gn,...n},details:{...xn,...i},effects:{...bn}}}var Zl=[Ae("neutral","Neutral"),Ae("natural-lift","Natural Lift",{exposure:.04,contrast:.06,highlights:-.06,shadows:.08,saturation:.05}),Ae("fresh-pop","Fresh Pop",{exposure:.08,contrast:.12,whites:.06,shadows:.04,temperature:-.02,vibrance:.08,saturation:.16}),Ae("warm-daylight","Warm Daylight",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Ae("clean-studio","Clean Studio",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Ae("skin-soft","Skin Soft",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Ae("food-pop","Food Pop",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Ae("night-lift","Night Lift",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Ae("muted-editorial","Muted Editorial",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Ae("vintage-wash","Vintage Wash",{exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},{vignette:.18}),Ae("mono-clean","Mono Clean",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Ae("mono-fade","Mono Fade",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Ae("warm-clean","Warm Clean",{exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,vibrance:.04,saturation:.06}),Ae("cool-clean","Cool Clean",{contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}),Ae("soft-boost","Soft Boost",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Ae("bright-pop","Bright Pop",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Ae("deep-contrast","Deep Contrast",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06})],eu=new Map(Zl.map(e=>[e.id,e])),tu=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,nu={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},vibrance:{min:-1,max:1},saturation:{min:-1,max:1}},iu={vignette:{min:0,max:1},vignetteMidpoint:{min:0,max:1},vignetteRoundness:{min:-1,max:1},vignetteFeather:{min:0,max:1},grain:{min:0,max:1},grainSize:{min:0,max:1},grainRoughness:{min:0,max:1}},ru={blur:{min:0,max:1},pixelate:{min:0,max:1}};function lt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ou(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function po(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function xi(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?ou(n,t.min,t.max):0}function su(e){if(e==null)return null;let t=String(e).trim();return t||null}function au(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!lt(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:po(e.intensity,1)}}function lu(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return lt(n)?n:null}catch{return null}return{preset:t,intensity:1}}return lt(e)?e:null}function uu(e,t){let n=e.trim().match(tu);if(!n)return e;let i=n[1]??n[2]??"";return i&&Object.hasOwn(t,i)?t[i]:e}function bi(e,t){if(typeof e=="string"){let i=uu(e,t);if(i!==e)return i;let r=e.trim();if(!r.startsWith("{"))return e;try{return bi(JSON.parse(r),t)}catch{return e}}if(!lt(e))return e;let n={};for(let[i,r]of Object.entries(e))n[i]=bi(r,t);return n}function cu(e){return e?eu.get(e)??null:null}function yi(e){let t=lu(e);if(!t||t.enabled===!1)return null;let n=su(t.preset),i=cu(n),r=i?.adjust??gn,o=i?.details??xn,s=i?.effects??bn,l=lt(t.adjust)?t.adjust:{},a=lt(t.details)?t.details:{},u=lt(t.effects)?t.effects:{},c=fo.reduce((x,S)=>(x[S]=xi(l[S]??r[S],nu[S]),x),{...gn}),m=Ql.reduce((x,S)=>(x[S]=xi(a[S]??o[S],iu[S]),x),{...xn}),f=mo.reduce((x,S)=>(x[S]=xi(u[S]??s[S],ru[S]),x),{...bn});return{enabled:!0,preset:n,intensity:po(t.intensity,1),adjust:c,details:m,effects:f,lut:au(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():Xl}}function ho(e,t){return yi(bi(e,t))}function Dt(e){return!e?.enabled||e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:fo.some(t=>Math.abs(e.adjust[t])>1e-4)||Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||mo.some(t=>Math.abs(e.effects[t])>1e-4)}var du=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),fu=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function go(e){let t=!1,n=null,i=null,r=null,o=null;function s(A,F){try{window.dispatchEvent(new CustomEvent(A,{detail:F}))}catch(v){L("runtime.picker.site1",v)}}function l(A){r=A,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:t,timestamp:Date.now()})}function a(A){o=A,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function u(A){let F=A.ownerDocument.defaultView;if(!F)return!1;let v=A;for(;v&&v!==document.body&&v!==document.documentElement;){let T=F.getComputedStyle(v);if(T.display==="none"||T.visibility==="hidden"||T.pointerEvents==="none")return!0;let k=Number.parseFloat(T.opacity);if(Number.isFinite(k)&&k<=.01&&!v.hasAttribute(kt))return!0;v=v.parentElement}return!1}function c(A){if(!A||A===document.body||A===document.documentElement)return!1;let F=A.tagName.toLowerCase();return!(F==="script"||F==="style"||F==="link"||F==="meta"||A.classList.contains("__hf-pick-highlight")||A.closest(du)||u(A))}function m(A){return!!A?.closest(fu)}function f(A){let F=A;if(F.id)return`#${F.id}`;let v=A.getAttribute("data-composition-id");if(v)return`[data-composition-id="${CSS.escape(v)}"]`;let T=A.getAttribute("data-composition-src");if(T)return`[data-composition-src="${CSS.escape(T)}"]`;let k=A.getAttribute("data-track-index");if(k)return`[data-track-index="${CSS.escape(k)}"]`;let W=A.tagName.toLowerCase(),$=A.parentElement;if(!$)return W;let ue=$.querySelectorAll(`:scope > ${W}`);if(ue.length===1)return W;for(let H=0;H<ue.length;H+=1)if(ue[H]===A)return`${W}:nth-of-type(${H+1})`;return W}function x(A){let F=A.tagName.toLowerCase(),v=(A.textContent??"").trim().replace(/\\s+/g," "),T=(k,W)=>k.length>W?`${k.slice(0,W-1)}\\u2026`:k;return F==="h1"||F==="h2"||F==="h3"?"Heading":F==="p"||F==="span"||F==="div"?v.length>0?T(v,56):"Text":F==="img"?"Image":F==="video"?"Video":F==="audio"?"Audio":F==="svg"?"Shape":A.getAttribute("data-composition-src")?"Composition":F==="section"?"Section":`${F.charAt(0).toUpperCase()}${F.slice(1)}`}function S(A,F,v){let T=typeof v=="number"&&v>0?v:8,k=[];if(document.elementsFromPoint)k=document.elementsFromPoint(A,F);else if(document.elementFromPoint){let ue=document.elementFromPoint(A,F);k=ue?[ue]:[]}if(m(k[0]??null))return[];let W={},$=[];for(let[ue,H]of k.entries()){if(!c(H))continue;let ee=`${H.tagName}::${H.id||""}::${ue}`;if(!W[ee]&&(W[ee]=!0,$.push(H),$.length>=T))break}return $}function b(A){let F=A.getBoundingClientRect(),v={};for(let k of Array.from(A.attributes))k.name.startsWith("data-")&&(v[k.name]=k.value);return{id:A.id||null,tagName:A.tagName.toLowerCase(),selector:f(A),label:x(A),boundingBox:{x:F.left,y:F.top,width:F.width,height:F.height},textContent:A.textContent?A.textContent.trim().slice(0,200):null,src:A.getAttribute("src")||A.getAttribute("data-composition-src")||null,dataAttributes:v}}function g(A,F,v){return S(A,F,v).map(b)}function E(A){if(!t)return;let v=S(A.clientX,A.clientY,1)[0]??(A.target instanceof Element?A.target:null);if(!c(v)||n===v)return;n&&n.classList.remove("__hf-pick-highlight"),n=v,v.classList.add("__hf-pick-highlight");let T=b(v);l(T),e.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:T})}function _(A){if(!t)return;A.preventDefault(),A.stopPropagation(),A.stopImmediatePropagation();let F=g(A.clientX,A.clientY,8);F.length!==0&&(l(F[0]??null),e.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:F,selectedIndex:0,point:{x:A.clientX,y:A.clientY}}))}function N(A){A.key==="Escape"&&(D(),e.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function q(){t||(t=!0,i=document.createElement("style"),i.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",E,!0),document.addEventListener("click",_,!0),document.addEventListener("keydown",N,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function D(){t&&(t=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",E,!0),document.removeEventListener("click",_,!0),document.removeEventListener("keydown",N,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function M(){window.__HF_PICKER_API={enable:q,disable:D,isActive:()=>t,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(A,F,v)=>Number.isFinite(A)&&Number.isFinite(F)?g(A,F,v):[],pickAtPoint:(A,F,v)=>{if(!Number.isFinite(A)||!Number.isFinite(F))return null;let T=g(A,F,8);if(!T.length)return null;let k=Math.max(0,Math.min(T.length-1,Number(v??0))),W=T[k]??null;return W?(a(W),e.postMessage({source:"hf-preview",type:"element-picked",elementInfo:W}),D(),W):null},pickManyAtPoint:(A,F,v)=>{if(!Number.isFinite(A)||!Number.isFinite(F))return[];let T=g(A,F,8);if(!T.length)return[];let k=[],W=Array.isArray(v)?v:[0];for(let $ of W){let ue=Math.max(0,Math.min(T.length-1,Math.floor(Number($)))),H=T[ue];if(!H)continue;k.some(de=>de.selector===H.selector&&de.tagName===H.tagName)||k.push(H)}return k.length?(a(k[0]??null),e.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:k}),D(),k):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:q,disablePickMode:D,installPickerApi:M}}var mu=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function mt(e,t){let n=Number.isFinite(t)&&t>0?t:30,i=Number.isFinite(e)&&e>0?e:0;return Math.floor(i*n+1e-9)/n}function xo(e,t,n=mu){for(let i of n){let r=t.getPropertyValue(i);r&&e.setProperty(i,r)}}function It(e,t,n){let i=e?.[t];return typeof i=="function"?Number(i.call(e))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&L("runtime.player.nonConformantNum",{prop:t,actual:typeof i}),n)}function De(e,t){let n=e?.[t];if(typeof n=="function"){n.call(e);return}n!==void 0&&L("runtime.player.nonConformantVoid",{method:t,actual:typeof n})}function Pt(e,t,n){if(e){for(let i of Object.values(e))if(!(!i||i===t))try{n(i)}catch(r){L("runtime.player.site1",r)}}}function bo(e,t,n,i){let r=mt(t,n),o=i?.suppressEvents===!0;return De(e,"pause"),typeof e.totalTime=="function"?e.totalTime(r,o):typeof e.seek=="function"&&e.seek(r,o),r}function pu(e,t,n,i,r){let o=[];Pt(e,t,s=>{De(s,"play"),o.push(s)});try{return bo(t,n,i,r)}finally{for(let s of o)try{De(s,"pause")}catch(l){L("runtime.player.site2",l)}}}function hu(e,t){Pt(e,t,n=>{De(n,"play")})}function yo(e){return{_timeline:null,play:()=>{let t=e.getTimeline();if(!t||e.getIsPlaying())return;let n=Math.max(0,Number(e.getSafeDuration?.()??It(t,"duration",0))||0);n>0&&Math.max(0,It(t,"time",0))>=n&&(De(t,"pause"),typeof t.seek=="function"&&t.seek(0,!1),e.onDeterministicSeek(0),e.setIsPlaying(!1),e.onSyncMedia(0,!1),e.onRenderFrameSeek(0)),typeof t.timeScale=="function"&&t.timeScale(e.getPlaybackRate()),De(t,"play"),Pt(e.getTimelineRegistry?.(),t,i=>{typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),De(i,"play")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let t=e.getTimeline();if(!t)return;De(t,"pause"),Pt(e.getTimelineRegistry?.(),t,i=>{De(i,"pause")});let n=Math.max(0,It(t,"time",0));e.onDeterministicSeek(n),e.onDeterministicPause(),e.setIsPlaying(!1),e.onSyncMedia(n,!1),e.onRenderFrameSeek(n),e.onStatePost(!0)},seek:(t,n)=>{let i=e.getTimeline();if(!i)return;let r=Math.max(0,Number(t)||0),o=e.getIsPlaying(),s=pu(e.getTimelineRegistry?.(),i,r,e.getCanonicalFps());e.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),De(i,"play"),Pt(e.getTimelineRegistry?.(),i,l=>{typeof l.timeScale=="function"&&l.timeScale(e.getPlaybackRate()),De(l,"play")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(s,!0)):(e.setIsPlaying(!1),e.onSyncMedia(s,!1)),e.onRenderFrameSeek(s),e.onStatePost(!0)},renderSeek:(t,n)=>{let i=e.getTimeline(),r=e.getCanonicalFps(),o=i?(hu(e.getTimelineRegistry?.(),i),bo(i,t,r,n)):mt(Math.max(0,Number(t)||0),r);e.onDeterministicSeek(o,n),e.setIsPlaying(!1),e.onSyncMedia(o,!1),e.onRenderFrameSeek(o),e.onStatePost(!0)},getTime:()=>It(e.getTimeline(),"time",0),getDuration:()=>It(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:t=>e.setPlaybackRate(t),getPlaybackRate:()=>e.getPlaybackRate()}}function So(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var gu=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function Ei(e){return e.id||e.getAttribute("data-hf-id")||null}function Si(e){if(e==null)return null;let t=Number(e);return Number.isFinite(t)?t:null}function xu(e,t){let n=e.getAttribute("data-composition-id");if(!n)return null;let i=Number(t[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function bu(e){if(!(e instanceof HTMLMediaElement)||!Number.isFinite(e.duration))return null;let t=Si(e.getAttribute("data-playback-start"))??Si(e.getAttribute("data-media-start"))??0;return e.duration>t?e.duration-t:null}function yu(e,t,n,i){let r=Si(e.getAttribute("data-duration"));return r!=null&&r>0?r:xu(e,t)??bu(e)??Math.max(0,n-i)}function Su(e){for(let[t,n]of e){let i=t.parentElement;for(;i;){let r=e.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function Eo(e){let{startResolver:t,timelineRegistry:n,rootDuration:i}=e,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||gu.has(l.tagName))continue;let a=t.resolveStartForElement(l,0);if(yu(l,n,i,a)<=0)continue;let u={id:Ei(l)??`__clip-${s++}`,element:l,parentId:null,children:[]};r.set(l,u)}return Su(r),{roots:Array.from(r.values()).filter(l=>l.parentId===null)}}function Ke(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function Ao(e){let t=(e??"").trim();if(!t)return null;let n=Ke(t);if(n!=null)return{kind:"absolute",value:n};let i=t.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",l=Number.parseFloat(s),a=Number.isFinite(l)?Math.max(0,l):0,u=o==="-"?-a:a;return{kind:"reference",refId:r,offset:u}}var Eu="data-hf-authored-duration",Au="data-hf-authored-end";function wu(e){return Ke(e.getAttribute("data-duration"))}function Cu(e){return Ke(e.getAttribute("data-end"))}function Fu(e){return Ke(e.getAttribute(Eu))}function _u(e){return Ke(e.getAttribute(Au))}function Je(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=c=>{let m=document.getElementById(c);return m||(document.querySelector(`[data-composition-id="${CSS.escape(c)}"]`)??null)},l=c=>{let m=r.get(c);if(m!==void 0)return m;let f=null,x=wu(c)??(n?Fu(c):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let S=Cu(c)??(n?_u(c):null);if(S!=null){let b=u(c,0),g=S-b;Number.isFinite(g)&&g>0&&(f=g)}}if((f==null||f<=0)&&c instanceof HTMLMediaElement){let S=Ke(c.getAttribute("data-playback-start"))??Ke(c.getAttribute("data-media-start"))??0;Number.isFinite(c.duration)&&c.duration>S&&(f=(c.duration-S)/Rt(c))}if(f==null||f<=0){let S=c.getAttribute("data-composition-id");if(S){let b=t[S]??null;if(b&&typeof b.duration=="function")try{let g=Number(b.duration());Number.isFinite(g)&&g>0&&(f=g)}catch(g){L("runtime.startResolver.site1",g)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(c,f),f):(r.set(c,null),null)},a=(c,m)=>{if(c.hasAttribute("data-composition-id")){let x=c.parentElement?.closest("[data-composition-id]");return x?u(x,m):0}let f=c.closest("[data-composition-id]");return f?u(f,m):0},u=(c,m)=>{let f=i.get(c);if(f!==void 0)return f??m;if(o.has(c))return m;o.add(c);try{let x=Ao(c.getAttribute("data-start"));if(!x){if(c.hasAttribute("data-composition-id")){let _=c.parentElement;if(_&&(_.hasAttribute("data-composition-src")||_.hasAttribute("data-composition-id")||_.hasAttribute("data-composition-file"))){let N=u(_,m);return i.set(c,N),N}}return i.set(c,m),m}if(x.kind==="absolute"){let _=Math.max(0,x.value),N=Math.max(0,a(c,m)+_);return i.set(c,N),N}let S=s(x.refId);if(!S)return i.set(c,m),m;let b=u(S,0),g=l(S);if(g==null||g<=0){let _=Math.max(0,b+x.offset);return i.set(c,_),_}let E=Math.max(0,b+g+x.offset);return i.set(c,E),E}finally{o.delete(c)}};return{resolveStartForElement:(c,m=0)=>u(c,Math.max(0,m)),resolveDurationForElement:c=>l(c)}}function Ai(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}var vu="data-hf-authored-duration",Mu="data-hf-authored-end";function _e(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function wi(e){return _e(e.getAttribute("data-duration"))??_e(e.getAttribute(vu))}function wo(e){return _e(e.getAttribute("data-end"))??_e(e.getAttribute(Mu))}function Ci(e){try{let t=e.style?.zIndex;if(t&&t!=="auto"){let n=parseInt(t,10);if(Number.isFinite(n))return n}return 0}catch{return 0}}function Fi(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}var Co={composition:0,video:1,image:2,element:3,audio:4};function Tu(e){if(e.length===0)return;let t=new Map;for(let s of e){let l=t.get(s.track)??new Set;l.add(s.kind),t.set(s.track,l)}if(!Array.from(t.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...t.keys()].sort((s,l)=>s-l);for(let s of o){let l=t.get(s);if(l.size===1)r.set(`${s}:${[...l][0]}`,i++);else{let a=[...l].sort((u,c)=>(Co[u]??99)-(Co[c]??99));for(let u of a)r.set(`${s}:${u}`,i++)}}for(let s of e){let l=`${s.track}:${s.kind}`,a=r.get(l);a!=null&&(s.track=a)}}function Bt(e){let t=String(e??"").trim();if(!t)return null;let n=t.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(t,document.baseURI).toString()}catch{return t}}function Fo(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return Bt(t);let n=e.getAttribute("data-composition-src");if(n)return Bt(n);let i=e.querySelector("img[src], video[src], audio[src], source[src]");return i?Bt(i.getAttribute("src")):null}function Nu(e){let t=e.className;return typeof t!="string"?null:t.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function Lu(e){if(!e)return null;try{return new URL(e,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return e.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function Ru(e){let t=e.textContent?.replace(/\\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function Ot(e){let t=e.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return t?t.replace(/\\b\\w/g,n=>n.toUpperCase()):e}function ku(e,t,n){let i=e.getAttribute("data-timeline-label")??e.getAttribute("data-label")??e.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=e.getAttribute("data-composition-id");if(r)return Ot(r);let o=e.id;if(o)return Ot(o);let s=Nu(e);if(s)return Ot(s);let l=Lu(Fo(e));if(l)return Ot(l);let a=Ru(e);return a||`${Ot(t)} ${n+1}`}function _o(e){let n=window.__timelines??{},i=Je({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=G=>{if(!G)return null;let I=n[G]??null;if(!I||typeof I.duration!="function")return null;try{let O=Number(I.duration());return Number.isFinite(O)&&O>0?O:null}catch{return null}},o=G=>{let I=_e(G.getAttribute("data-duration"));if(I!=null&&I>0)return I;let O=_e(G.getAttribute("data-playback-start"))??_e(G.getAttribute("data-media-start"))??0;return Number.isFinite(G.duration)&&G.duration>O?Math.max(0,(G.duration-O)/Rt(G)):null},s=()=>{let G=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(G.length===0)return null;let I=0;for(let O of G){let ae=O.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(O,0):Math.max(0,Number(O.getAttribute("data-start")??0)||0);if(!Number.isFinite(ae))continue;let oe=o(O);oe==null||oe<=0||(I=Math.max(I,Math.max(0,ae)+oe))}return I>0?I:null},l=(G,I)=>{let O=[],ae=null,oe=null,V=null,K=G.parentElement;for(;K;){let J=K.getAttribute("data-composition-id");J&&(O.push(J),!V&&K!==I&&(V=J),ae==null&&(ae=i.resolveStartForElement(K,0)),oe==null&&(oe=_e(K.getAttribute("data-duration"))??r(J)??null)),K=K.parentElement}return{parentCompositionId:V,compositionAncestors:O.reverse(),inheritedStart:ae,inheritedDuration:oe}},a=document.querySelector("[data-composition-id]"),u=Array.from(document.querySelectorAll("[data-composition-id]")),c=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,S=r(c),b=wi(a??document.body),g=Fi(...u.filter(G=>G!==a).map(G=>{let I=i.resolveStartForElement(G,0),O=i.resolveDurationForElement(G)??r(G.getAttribute("data-composition-id"))??null;return!Number.isFinite(I)||O==null||O<=0?null:Math.max(0,I)+O})),E=g!=null?Math.max(0,g-Math.max(0,m)):null,_=typeof S=="number"&&Number.isFinite(S)&&S>0?S:null,N=typeof b=="number"&&Number.isFinite(b)&&b>0?b:null,q=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,D=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,M=Fi(q,D),A=_!=null&&M!=null&&_>M+1,v=N??(A?M:Fi(_,q,D))??null,k=(v!=null?m+v:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),W=(G,I)=>!Number.isFinite(I)||I<=0?0:k==null||!Number.isFinite(k)?I:!Number.isFinite(G)||G>=k?0:Math.max(0,Math.min(I,k-G)),$=[],ue=[],H=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),ee=0;for(let[G,I]of H.entries()){if(I===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(I.tagName))continue;let O=l(I,a),ae=i.resolveStartForElement(I,O.inheritedStart??0),oe=I.getAttribute("data-composition-id"),V=wi(I);if((V==null||V<=0)&&oe&&oe!==c&&(V=r(oe)),(V==null||V<=0)&&I instanceof HTMLMediaElement){let Me=_e(I.getAttribute("data-playback-start"))??_e(I.getAttribute("data-media-start"))??0;Number.isFinite(I.duration)&&I.duration>0&&(V=Math.max(0,I.duration-Me))}if(V==null||V<=0){let Me=O.inheritedDuration;if(Me!=null&&Me>0){let Fe=(O.inheritedStart??0)+Me;V=Math.max(0,Fe-ae)}}if(V==null||V<=0||(V=W(ae,V),V<=0))continue;let K=ae+V;ee=Math.max(ee,K);let J=I.tagName.toLowerCase(),Be=oe&&oe!==c?"composition":J==="video"?"video":J==="audio"?"audio":J==="img"?"image":"element";$.push({id:Ei(I)??oe??null,label:ku(I,Be,$.length),start:ae,duration:V,track:Number.parseInt(I.getAttribute("data-track-index")??I.getAttribute("data-track")??String(G),10)||0,zIndex:Ci(I),stackingContextId:O.parentCompositionId??c,kind:Be,tagName:J,compositionId:I.getAttribute("data-composition-id"),compositionAncestors:O.compositionAncestors,parentCompositionId:O.parentCompositionId,nodePath:null,compositionSrc:Bt(I.getAttribute("data-composition-src")),assetUrl:Fo(I),timelineRole:I.getAttribute("data-timeline-role"),timelineLabel:I.getAttribute("data-timeline-label"),timelineGroup:I.getAttribute("data-timeline-group"),timelinePriority:_e(I.getAttribute("data-timeline-priority"))})}let de=new Set($.map(G=>G.id)),B=a?.getAttribute("data-composition-id")??null,te=B?n[B]??null:null;if(te&&a){let G=te;if(typeof G.getChildren=="function")try{let I=G.getChildren(!0,!0,!1)??[],O=new Map;for(let V of a.children){let K=V;if(!K.id)continue;let J=K.tagName.toLowerCase();J==="script"||J==="style"||J==="link"||O.set(K,{id:K.id,start:1/0,end:-1/0})}let ae=V=>{let K=V;for(;K;){if(O.has(K))return K;if(K===a)return null;K=K.parentElement}return null};for(let V of I){if(typeof V.targets!="function"||typeof V.startTime!="function"||typeof V.duration!="function")continue;let K=V.startTime(),J=V.parent;for(;J&&J!==te&&typeof J.startTime=="function";)K+=J.startTime(),J=J.parent;let Be=K+V.duration();if(!(!Number.isFinite(K)||!Number.isFinite(Be)))for(let Me of V.targets()){if(!(Me instanceof Element))continue;let At=ae(Me);if(!At)continue;let Fe=O.get(At);Fe&&(Fe.start=Math.min(Fe.start,K),Fe.end=Math.max(Fe.end,Be))}}let oe=$.length>0?Math.max(...$.map(V=>V.track))+1:0;for(let[V,K]of O){if(K.start===1/0||K.end===-1/0)continue;let J=V;if(de.has(J.id))continue;let Be=Math.max(0,K.end-K.start);if(Be<=0)continue;let Me=W(K.start,Be);Me<=0||(ee=Math.max(ee,K.start+Me),$.push({id:J.id,label:J.getAttribute("data-timeline-label")??J.getAttribute("data-label")??J.getAttribute("aria-label")??J.id,start:K.start,duration:Me,track:Number.parseInt(J.getAttribute("data-track-index")??J.getAttribute("data-track")??"",10)||oe,zIndex:Ci(J),stackingContextId:B,kind:"element",tagName:J.tagName.toLowerCase(),compositionId:J.getAttribute("data-composition-id"),compositionAncestors:B?[B]:[],parentCompositionId:B,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:J.getAttribute("data-timeline-role"),timelineLabel:J.getAttribute("data-timeline-label"),timelineGroup:J.getAttribute("data-timeline-group"),timelinePriority:_e(J.getAttribute("data-timeline-priority"))}),de.add(J.id))}}catch(I){L("runtime.timeline.site1",I)}}if(a&&v!=null&&v>0){let G=$.length>0?Math.max(...$.map(I=>I.track))+1:0;for(let I of a.children){let O=I;if(!O.id||de.has(O.id))continue;let ae=O.getAttribute("data-timeline-role");if(ae!=="overlay"&&ae!=="persistent-overlay")continue;let oe=O.tagName.toLowerCase();if(oe==="script"||oe==="style"||oe==="link"||oe==="meta"||window.getComputedStyle(O).display==="none")continue;let K=W(0,v);K<=0||(ee=Math.max(ee,K),$.push({id:O.id,label:O.getAttribute("data-timeline-label")??O.getAttribute("data-label")??O.getAttribute("aria-label")??O.id,start:0,duration:K,track:Number.parseInt(O.getAttribute("data-track-index")??O.getAttribute("data-track")??"",10)||G,zIndex:Ci(O),stackingContextId:B,kind:"element",tagName:oe,compositionId:O.getAttribute("data-composition-id"),compositionAncestors:B?[B]:[],parentCompositionId:B,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:ae,timelineLabel:O.getAttribute("data-timeline-label"),timelineGroup:O.getAttribute("data-timeline-group"),timelinePriority:_e(O.getAttribute("data-timeline-priority"))}),de.add(O.id))}}Tu($);for(let G of u){if(G===a)continue;let I=G.getAttribute("data-composition-id");if(!I||!Ai(I))continue;let O=i.resolveStartForElement(G,0),ae=wi(G);if((ae==null||ae<=0)&&wo(G)!=null){let J=wo(G);ae=Math.max(0,J-O)}let oe=r(I),V=ae&&ae>0?ae:oe;if(V==null||V<=0)continue;let K=W(O,V);K<=0||ue.push({id:I,label:G.getAttribute("data-label")??I,start:O,duration:K,thumbnailUrl:Bt(G.getAttribute("data-thumbnail-url")),avatarName:null})}let U=Math.max(1,ee||1,v??0);return{source:"hf-preview",type:"timeline",durationInFrames:A&&N==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(U*Math.max(1,e.canonicalFps))),clips:$,scenes:ue,compositionWidth:_e(a?.getAttribute("data-width"))??1920,compositionHeight:_e(a?.getAttribute("data-height"))??1080}}var ce=Gl(Xs(),1),Qs=ce.default,Gh=ce.default.stringify,Wh=ce.default.fromJSON,Uh=ce.default.plugin,Vh=ce.default.parse,zh=ce.default.list,jh=ce.default.document,qh=ce.default.comment,$h=ce.default.atRule,Kh=ce.default.rule,Jh=ce.default.decl,Yh=ce.default.root,Xh=ce.default.CssSyntaxError,Qh=ce.default.Declaration,Zh=ce.default.Container,e0=ce.default.Processor,t0=ce.default.Document,n0=ce.default.Comment,i0=ce.default.Warning,r0=ce.default.AtRule,o0=ce.default.Result,s0=ce.default.Input,a0=ce.default.Rule,l0=ce.default.Root,u0=ce.default.Node;var Xi="data-hf-authored-id",Zs="data-hf-inner-root";function Qi(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function Zi(e){return e.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function td(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ta(e){let t=e.trim();return t?Array.from(new Set([t,td(t)])).filter(Boolean):[]}function nd(e){return!!e&&/[\\w-]/.test(e)}function id(e,t,n){let i=ta(t).sort((l,a)=>a.length-l.length);if(i.length===0)return e;let r="",o=0,s=null;for(let l=0;l<e.length;l+=1){let a=e[l],u=l>0?e[l-1]:"";if(s){r+=a,a===s&&u!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let c=i.find(m=>e.startsWith(m,l+1));if(c){let m=e[l+1+c.length];if(!nd(m)){r+=n,l+=c.length;continue}}}r+=a}return r}function rd(e,t){let n=t?.trim();return n?id(e,n,`[${Xi}="${Zi(n)}"]`):e}function ea(e){return`${e}:not(:has([${Zs}])), ${e} > [${Zs}]`}function od(e,t,n,i,r,o){let s=rd(e,i),l=sd(s,t,n),a=l.trim();if(!a||a==="*")return e;if(/^(html|body|:root)$/i.test(a))return o?ea(t):e;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Qi(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(a))return a.replace(u,"").trim()===""?ea(t):l.replace(u,t);let c=l.match(/^\\s*/)?.[0]??"",m=l.match(/\\s*$/)?.[0]??"";if(r){let f=i?`[${Xi}="${Zi(i)}"]`:null;if(f&&a.startsWith(f)){let x=a.slice(f.length);return`${c}${t}${f}${x}${m}`}}return`${c}${t} ${a}${m}`}function sd(e,t,n){let i=Qi(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return e.replace(new RegExp(`${r}(?:${o})+`,"g"),t).replace(new RegExp(`(?:${o})+${r}`,"g"),t)}var ad=new Set(["keyframes","-webkit-keyframes","font-face"]);function ld(e){return e?.type==="atrule"}function ud(e){let t=e.parent;for(;t;){if(ld(t)&&ad.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function na(e,t,n,i,r){let o=t.trim();if(!e||!o)return e;let s=n||`[data-composition-id="${Zi(o)}"]`,l=Qs.parse(e);return l.walkRules(a=>{ud(a)||(a.selectors=a.selectors.map(u=>od(u,s,o,i,r?.compoundAuthoredRoot,r?.scopeRootSelectors)))}),l.toResult({map:!1}).css}function ia(e,t,n="[HyperFrames] composition script error:",i,r=t,o){let s=JSON.stringify(t),l=JSON.stringify(r),a=JSON.stringify(n),u=Qi(t),c=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${u}"|\'${u}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),S=JSON.stringify(ta(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${l};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${c};\n var __hfAuthoredRootAttr = ${JSON.stringify(Xi)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${S};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n // Inside a sub-composition, __hyperframes is passed as a bare script\n // param bound to the SCOPED variant (per-comp getVariables). But\n // authors routinely write the documented window.__hyperframes.\n // getVariables() form, which would otherwise fall through to the host\n // page\'s base __hyperframes and return the WRONG (or empty) variables\n // for this instance. Route it to the scoped variant too so both\n // spellings resolve to this composition\'s own variables.\n // (__hfScopedHyperframes is a hoisted var assigned below, before any\n // sub-comp script -- the only code that reads this -- runs.)\n if (prop === "__hyperframes") return __hfScopedHyperframes;\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${e.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}var cd=["data-composition-id","data-composition-file","data-start","data-duration","data-end","data-track-index","data-track","data-composition-src","data-hf-authored-duration","data-hf-authored-end"];function ra(e){let t=e.getAttribute("id")?.trim();for(let n of cd)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var dd=8e3,fd=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,md=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,pd=["src","href"];function hd(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function sa(e,t){if(!t)return e;let n=e.trim();if(hd(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function aa(e,t){return!t||!e?e:e.replace(md,(n,i,r)=>{let o=sa(r||"",t);return o===r?n:`url(${i||""}${o}${i||""})`})}function gd(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let i of pd){let r=n.getAttribute(i);if(r==null)continue;let o=sa(r,t);o!==r&&n.setAttribute(i,o)}}function xd(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=aa(i,t);r!==i&&n.setAttribute("style",r)}}function bd(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let i=n.textContent||"",r=aa(i,t);r!==i&&(n.textContent=r)}}function la(e,t){if(t){gd(e,t),xd(e,t),bd(e,t);for(let n of Array.from(e.querySelectorAll("template")))la(n.content,t)}}function yd(e,t){return`${e}__hf${t}`}var Sd=e=>new Promise(t=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),t({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};e.addEventListener("load",()=>o("load"),{once:!0}),e.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),dd)});function er(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function Ed(e){let t=document.importNode(e,!0);ra(t);let n=t.getAttribute("data-width"),i=t.getAttribute("data-height");return t.style.width=n?`${n}px`:"100%",t.style.height=i?`${i}px`:"100%",t}function oa(e,t){let n=e.trim();if(!n)return e;try{return fd.test(n)?new URL(n,document.baseURI).toString():t?new URL(n,t).toString():new URL(n,document.baseURI).toString()}catch{return e}}function In(e){let t=(e.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(e.getAttribute("data-hf-original-composition-id")||t||"").trim()||null,runtimeCompositionId:t}}function Ad(e){let t=new Map;for(let n of e){let i=In(n).authoredCompositionId||"";i&&t.set(i,(t.get(i)||0)+1)}return t}function ua(e){let t=In(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function wd(e){return!!e.querySelector(\'[data-hf-inner-root="true"]\')}function Cd(e){return e.hasAttribute("data-composition-src")?!0:ua(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:wd(e):!1}function nr(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:ua(t))}function ca(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(nr().map(n=>In(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function da(e,t=Ad(e)){let n=new Map,i=new Map;for(let r of e){let{authoredCompositionId:o,runtimeCompositionId:s}=In(r),l=Cd(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(t.get(o)||0)>1,u=s||o;if(l){let c=a?(n.get(o)||0)+1:0;a&&n.set(o,c),u=a?yd(o,c):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",u),s&&s!==u&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:u})}return i}async function tr(e){let t=null;e.authoredCompositionId&&(t=Array.from(e.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x instanceof HTMLElement&&x.getAttribute("data-composition-id")===e.authoredCompositionId)??null);let n=t??e.sourceNode,i=t?.getAttribute("data-composition-id")?.trim()||e.authoredCompositionId||null,r=e.runtimeCompositionId||i||null,o=t?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(e.headLinks)for(let f of e.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}let l=f=>{for(let x of f){let S=x.cloneNode(!0);S instanceof HTMLStyleElement&&(i&&(S.textContent=na(S.textContent||"",i,s,o,{scopeRootSelectors:!0})),document.head.appendChild(S),e.injectedStyles.push(S))}};e.headStyles&&l(e.headStyles),l(Array.from(n.querySelectorAll("style")));let a=[];if(e.headScripts)for(let f of e.headScripts){let x=f.getAttribute("type")?.trim()??"",S=f.getAttribute("src")?.trim()??"";if(S){let b=oa(S,e.compositionUrl);a.push({kind:"external",src:b,type:x})}else{let b=f.textContent?.trim()??"";b&&a.push({kind:"inline",content:b,type:x,scopeCompositionId:i})}}let u=Array.from(n.querySelectorAll("script")),c=[...a];for(let f of u){let x=f.getAttribute("type")?.trim()??"",S=f.getAttribute("src")?.trim()??"";if(S){let b=oa(S,e.compositionUrl);c.push({kind:"external",src:b,type:x})}else{let b=f.textContent?.trim()??"";b&&c.push({kind:"inline",content:b,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(t){let f=t.getAttribute("data-width"),x=t.getAttribute("data-height"),S=e.parseDimensionPx(f),b=e.parseDimensionPx(x);f&&e.host.setAttribute("data-width",f),x&&e.host.setAttribute("data-height",x),S&&e.host instanceof HTMLElement&&(e.host.style.width=S),b&&e.host instanceof HTMLElement&&(e.host.style.height=b),t.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked",""),e.host.appendChild(Ed(t))}else e.hasTemplate?e.host.appendChild(document.importNode(n,!0)):e.host.innerHTML=e.fallbackBodyInnerHtml;r&&Fd(e,n,r);for(let f of c){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=ia(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),e.injectedScripts.push(x),f.kind==="external"){let S=await Sd(x);S.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:S.status,elapsedMs:S.elapsedMs}})}}}async function fa(e){let t=nr();if(ca(),t.length===0)return;let n=da(t),i=t.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let l=document.querySelector(`template#${CSS.escape(s)}-template`);er(r),await tr({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic})}}async function ma(e){let t=nr();if(ca(),t.length===0)return;let n=da(t),i=t.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),l=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||l||null,u=null;try{u=new URL(o,document.baseURI)}catch{u=null}er(r);try{let c=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(c){await tr({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),S=new DOMParser().parseFromString(f,"text/html");la(S,u);let b=(l?S.querySelector(`template#${CSS.escape(l)}-template`):null)??S.querySelector("template"),g=b?b.content:S.body,E=b?void 0:Array.from(S.head.querySelectorAll("style")),_=b?void 0:Array.from(S.head.querySelectorAll("script")),N=b?void 0:Array.from(S.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await tr({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:g,hasTemplate:!!b,fallbackBodyInnerHtml:S.body.innerHTML,compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,parseDimensionPx:e.parseDimensionPx,headStyles:E,headScripts:_,headLinks:N,declaredVariableDefaults:Tt(S.documentElement),onDiagnostic:e.onDiagnostic})}catch(c){e.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:c instanceof Error?c.message:"unknown_error"}}),er(r)}}))}function Fd(e,t,n){let r={...e.declaredVariableDefaults??(t instanceof Element?Tt(t):{}),...Ur(e.host)};Gr(e.host),Object.keys(r).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=r,ci(e.host,{...r,...pn()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function _d(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function vd(){let e=[],t=document.querySelectorAll(".caption-group");for(let n of t)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&e.push(r)}return e}function Md(e){let t=e.parentElement;if(t?.dataset.captionWrapper==="true")return t;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",e.parentNode?.insertBefore(n,e),n.appendChild(e),n}function ir(){let e=window.gsap;e&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(t=>t.ok?t.json():null).then(t=>{if(!t||!Array.isArray(t)||t.length===0)return;let n=vd();for(let i of t){let r=null;if(i.wordId&&(r=_d(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=e.getTweensOf(r).filter(c=>c.vars.color!==void 0).sort((c,m)=>c.startTime()-m.startTime()),u=a[0]?String(a[0].vars.color):"";for(let c of a)String(c.vars.color)===u?i.dimColor&&(c.vars.color=i.dimColor):i.activeColor&&(c.vars.color=i.activeColor);i.dimColor&&e.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&e.set(r,s),Object.keys(o).length>0){let l=Md(r);e.set(l,o)}}}).catch(()=>{})}var Sa="data-hf-edit-base-x",Ea="data-hf-edit-base-y",rr="data-hf-edit-original-translate",Pn=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},Td=e=>{let t=[],n=0,i="";for(let r of e.trim())r==="("&&(n+=1),r===")"&&(n=Math.max(0,n-1)),/\\s/.test(r)&&n===0?(i&&t.push(i),i=""):i+=r;return i&&t.push(i),t},pa=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,or=(e,t)=>pa.test(e)&&pa.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,Nd=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[i,r,o]=Td(e);if(i===void 0)return`${t} ${n}`;if(r===void 0)return`${or(i,t)} ${n}`;let s=o===void 0?"":` ${o}`;return`${or(i,t)} ${or(r,n)}${s}`},Ld=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},Rd=e=>{let t=e.style.getPropertyValue("translate").trim();if(t)return t==="none"?"":t;try{let n=e.ownerDocument.defaultView,i=n?n.getComputedStyle(e).getPropertyValue("translate").trim():"";return i==="none"?"":i}catch{return""}},ha=new WeakMap;function kd(e,t){let n=ha.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue("translate")!==n){at("position_edit_fold_skipped",{hfId:e.getAttribute("data-hf-id")});return}let i=Pn(e.getAttribute("data-x"))-Pn(e.getAttribute(Sa)),r=Pn(e.getAttribute("data-y"))-Pn(e.getAttribute(Ea));e.hasAttribute(rr)||e.setAttribute(rr,Rd(e)),n===void 0&&Ld(e);let o=e.getAttribute(rr)??"",s=Nd(o,`${i}px`,`${r}px`);e.style.setProperty("translate",s),ha.set(e,e.style.getPropertyValue("translate"))}function On(e){let t=e.querySelectorAll(`[${Sa}], [${Ea}]`),n=e.defaultView?.HTMLElement,i=0;for(let r=0;r<t.length;r++){let o=t[r];(n?o instanceof n:typeof o.style?.setProperty=="function")&&(kd(o),i+=1)}return i}var ga="__hfPositionEditsSeekReapplyWrapped",xa=new WeakSet,ba=new WeakMap,ya=new WeakMap;function Aa(e){let t=e,n=()=>{try{On(t.document)}catch{}},i=m=>typeof m=="function"&&(xa.has(m)||!!m[ga]),r=m=>{xa.add(m);try{Object.defineProperty(m,ga,{value:!0})}catch{}},o=m=>{if(typeof m!="function"||i(m))return m;let f=function(...x){let S=m.apply(this,x);return n(),S};return r(f),f},s=(m,f)=>{let x=ba.get(m);if(x?.has(f))return!0;let S=Object.getOwnPropertyDescriptor(m,f);if(S?.configurable===!1){let E=m[f];return typeof E=="function"&&(m[f]=o(E),n()),!1}let b=m[f],g=S?.set;return Object.defineProperty(m,f,{configurable:!0,enumerable:S?.enumerable??!0,get:()=>b,set:E=>{b=o(E),g?.call(m,E)}}),b=o(b),x??(x=new Set),x.add(f),ba.set(m,x),n(),!0},l=(m,f)=>{let x=ya.get(t),S=Object.getOwnPropertyDescriptor(t,m);if(!x?.has(m)){if(S?.configurable===!1){let E=t[m];return E?s(E,f):!1}let g=t[m];Object.defineProperty(t,m,{configurable:!0,enumerable:S?.enumerable??!0,get:()=>g,set:E=>{g=E,g&&s(g,f)}}),x??(x=new Set),x.add(m),ya.set(t,x)}let b=t[m];return b?s(b,f):!1},a=()=>{let m=l("__hf","seek"),f=l("__player","renderSeek");return m&&f};if(a())return;let u=120,c=t.setInterval(()=>{if(a()){t.clearInterval(c);return}u-=1,u<=0&&t.clearInterval(c)},50)}function Bn(e){let t=window,i=e.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?t.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=t.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:t.__hfVariables??{}}function Hn(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var wa=new Set(["img","video","audio","source"]);function Dd(e){if(typeof e=="string"&&e.length>0)return e;if(e!==null&&typeof e=="object"){let t=e.url;if(typeof t=="string"&&t.length>0)return t}return null}function Id(e){let t=e.replace(/[\\u0000-\\u0020]/g,""),n=/^([a-z][a-z0-9+.-]*):/i.exec(t);if(!n)return!0;let i=n[1]?.toLowerCase();return i?i==="https"||i==="http"||i==="blob"?!0:i==="data"?/^data:image\\//i.test(t):!1:!1}function Pd(e){return e.replace(/[;{}<>\\r\\n]/g,"")}function Od(e){if(Hn(e))return String(e);if(e!==null&&typeof e=="object"){let t=e.name;if(typeof t=="string"&&t.length>0)return t}return null}function sr(e,t){let n=e.closest("[data-composition-id]"),i=t.get(n);if(i)return i;let r=Bn(e);return t.set(n,r),r}function Bd(e,t){if(e.childElementCount===0){e.textContent=t;return}let n=!1;for(let i of Array.from(e.childNodes))i.nodeType===Node.TEXT_NODE&&(i.nodeValue=n?"":t,n=!0);n||e.insertBefore(e.ownerDocument.createTextNode(t),e.firstChild)}function Hd(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function Gd(e,t){let n=new Set,i=Hd(e);i&&n.add(i);for(let r of Array.from(e.querySelectorAll("[data-composition-id]")))n.add(r);for(let r of n){let o=sr(r,t);for(let[s,l]of Object.entries(o)){let a=Od(l);a!==null&&r instanceof HTMLElement&&r.style.setProperty(`--${s}`,Pd(a))}}}function ar(e){let t=new Map;Gd(e,t);for(let n of Array.from(e.querySelectorAll("[data-var-src]"))){let i=n.getAttribute("data-var-src")?.trim();if(!i)continue;if(!wa.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(wa).join("/")}.`);continue}let r=Dd(sr(n,t)[i]);if(r!==null){if(!Id(r)){console.warn(`[hyperframes] Ignoring data-var-src="${i}": unsafe URL protocol.`);continue}n.setAttribute("src",r)}}for(let n of Array.from(e.querySelectorAll("[data-var-text]"))){let i=n.getAttribute("data-var-text")?.trim();if(!i)continue;let r=sr(n,t)[i];Hn(r)&&Bd(n,String(r))}}var Ee=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);ye(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},Wd=[0,0,0],Ud=[1,1,1],ur=64;function Vd(e){let t=!1;for(let n=0;n<e.length;n++){let i=e[n];if(i===\'"\'&&(t=!t),i==="#"&&!t)return e.slice(0,n)}return e}function et(e,t){let n=Number(e);if(!Number.isFinite(n))throw new Ee(`Invalid number "${e}"`,t);return n}function Ca(e,t,n){if(e.length!==3)throw new Ee(`${t} expects three numbers`,n);return[et(e[0],n),et(e[1],n),et(e[2],n)]}function Fa(e,t,n){if(!e)throw new Ee(`${t} expects a size`,n);let i=Number(e);if(!Number.isInteger(i)||i<2)throw new Ee(`${t} must be an integer greater than 1`,n);return i}function zd(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new Ee("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function jd(e){let t=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(e);if(t)return t[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(e);return n&&(n[1]??"").trim()||null}function qd(e){return/^[+-]?(?:\\d|\\.\\d)/.test(e)}function _a(e,t={}){let n=t.maxSize??ur,i=null,r=Wd,o=Ud,s=null,l=null,a=[],u=e.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<u.length;m++){let f=m+1,x=Vd(u[m]??"").trim();if(!x)continue;let S=x.split(/\\s+/),b=(S[0]??"").toUpperCase(),g=S.slice(1);if(b==="TITLE"){i=jd(x);continue}if(b==="DOMAIN_MIN"){r=Ca(g,b,f);continue}if(b==="DOMAIN_MAX"){o=Ca(g,b,f);continue}if(b==="LUT_3D_INPUT_RANGE"){if(g.length!==2)throw new Ee(`${b} expects two numbers`,f);let E=et(g[0],f),_=et(g[1],f);if(_<=E)throw new Ee("LUT_3D_INPUT_RANGE max must exceed min",f);r=[E,E,E],o=[_,_,_];continue}if(b==="LUT_1D_SIZE"){s=Fa(g[0],b,f);continue}if(b==="LUT_3D_SIZE"){if(l=Fa(g[0],b,f),l>n)throw new Ee(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!qd(b)){if(b.startsWith("LUT_"))throw new Ee(`Unsupported cube keyword ${b}`,f);continue}if(!l)throw s?new Ee("1D cube LUTs are not supported yet",f):new Ee("LUT data appears before LUT_3D_SIZE",f);if(S.length!==3)throw new Ee("LUT data rows must contain three numbers",f);a.push(et(S[0],f),et(S[1],f),et(S[2],f))}if(s&&l)throw new Ee("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw s?new Ee("1D cube LUTs are not supported yet"):new Ee("Missing LUT_3D_SIZE");zd(r,o);let c=l*l*l;if(a.length!==c*3)throw new Ee(`Expected ${c} LUT rows for size ${l}, found ${a.length/3}`);return{title:i,size:l,domainMin:r,domainMax:o,data:new Float32Array(a)}}function $d(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function lr(e){return Math.round($d(e)*255)}function va(e){let t=e.size,n=t*t,i=t,r=new Uint8Array(n*i*4);for(let o=0;o<t;o++)for(let s=0;s<t;s++)for(let l=0;l<t;l++){let a=((o*t+s)*t+l)*3,u=(s*n+o*t+l)*4;r[u]=lr(e.data[a]??0),r[u+1]=lr(e.data[a+1]??0),r[u+2]=lr(e.data[a+2]??0),r[u+3]=255}return{width:n,height:i,data:r}}var qe=new Map,Kd="data-hf-color-grading-canvas",Jd="__hf_color_grading_canvas__";function Da(){if(typeof MutationObserver>"u"||typeof document>"u")return;let e=document.documentElement;if(!e)return;let t=i=>{i instanceof HTMLElement&&(i.hasAttribute(yn)||i.setAttribute(yn,i.style.opacity))},n=i=>{if(i instanceof Element){i.hasAttribute(ze)&&t(i);for(let r of i.querySelectorAll(`[${ze}]`))t(r)}};n(e),new MutationObserver(i=>{for(let r of i){for(let o of r.addedNodes)n(o);r.type==="attributes"&&r.target instanceof Element&&r.target.hasAttribute(ze)&&t(r.target)}}).observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[ze]})}var Yd=16,rn={enabled:!1,position:.5,softness:0,lineWidth:2};function cr(e){let t=e.getAttribute(ze);return t==null?null:ho(t,Bn(e))}var Xd=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),Qd=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_blurSource;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_vibrance;","uniform float u_saturation;","uniform float u_vignette;","uniform float u_vignetteMidpoint;","uniform float u_vignetteRoundness;","uniform float u_vignetteFeather;","uniform float u_grain;","uniform float u_grainSize;","uniform float u_grainRoughness;","uniform float u_grainSeed;","uniform float u_blur;","uniform float u_pixelate;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","float grainHash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); }","float colorSaturation(vec3 c){ return max(max(c.r, c.g), c.b) - min(min(c.r, c.g), c.b); }","vec2 clampUv(vec2 uv){ return clamp(uv, vec2(0.0), vec2(1.0)); }","vec4 sampleSource(vec2 uv){ return texture2D(u_source, clampUv(uv)); }","vec4 sampleBlur(vec2 uv){ return texture2D(u_blurSource, clampUv(uv)); }","vec4 sampleMedia(vec2 uv){"," float pixel = clamp(u_pixelate, 0.0, 1.0);"," vec2 sampleUv = uv;"," if (pixel > 0.0) {"," float blockSize = mix(1.0, 48.0, pixel);"," vec2 cells = max(u_resolution / blockSize, vec2(1.0));"," sampleUv = (floor(clamp(uv, vec2(0.0), vec2(0.999999)) * cells) + 0.5) / cells;"," }"," vec4 base = sampleSource(sampleUv);"," float blur = clamp(u_blur, 0.0, 1.0);"," if (blur > 0.0 && u_blurReady > 0.5) {"," base = mix(base, sampleBlur(sampleUv), blur);"," }"," return base;","}","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 originalSample = sampleSource(uv);"," vec4 sampleColor = sampleMedia(uv);"," vec3 original = originalSample.rgb;"," vec3 color = sampleColor.rgb * pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," float blackPoint = clamp(u_blacks * 0.18, -0.18, 0.18);"," float whitePoint = clamp(1.0 - u_whites * 0.18, 0.82, 1.18);"," color = (color - blackPoint) / max(whitePoint - blackPoint, 0.2);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," float currentSat = clamp(colorSaturation(color), 0.0, 1.0);"," float skinLike = smoothstep(0.02, 0.18, color.r - color.g) * smoothstep(0.0, 0.16, color.g - color.b) * smoothstep(0.18, 0.82, satLuma);"," float vibranceWeight = (1.0 - currentSat * 0.72) * mix(1.0, 0.55, skinLike);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_vibrance * vibranceWeight));"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec2 vignetteAspect = u_resolution.x > u_resolution.y"," ? vec2(u_resolution.x / max(u_resolution.y, 1.0), 1.0)"," : vec2(1.0, u_resolution.y / max(u_resolution.x, 1.0));"," vec2 vignetteUv = abs((v_uv - vec2(0.5)) * 2.0) * vignetteAspect;"," float vignettePower = mix(8.0, 1.8, clamp(u_vignetteRoundness * 0.5 + 0.5, 0.0, 1.0));"," float vignetteDistance = pow(pow(vignetteUv.x, vignettePower) + pow(vignetteUv.y, vignettePower), 1.0 / vignettePower);"," float vignetteMidpoint = mix(0.22, 1.08, clamp(u_vignetteMidpoint, 0.0, 1.0));"," float vignetteFeather = mix(0.08, 0.72, clamp(u_vignetteFeather, 0.0, 1.0));"," float vignetteMask = smoothstep(vignetteMidpoint, vignetteMidpoint + vignetteFeather, vignetteDistance);"," color *= 1.0 - vignetteMask * clamp(u_vignette, 0.0, 1.0) * 0.75;"," float grainAmount = clamp(u_grain, 0.0, 1.0);"," if (grainAmount > 0.0) {"," float grainPixelSize = mix(1.0, 6.0, clamp(u_grainSize, 0.0, 1.0));"," vec2 grainCoord = floor(gl_FragCoord.xy / grainPixelSize) + vec2(u_grainSeed, u_grainSeed * 1.37);"," float grainBase = grainHash(grainCoord) - grainHash(grainCoord + vec2(19.19, 73.31));"," float grainFine = grainHash(gl_FragCoord.xy + vec2(u_grainSeed * 2.11, u_grainSeed * 0.71)) - 0.5;"," float grain = mix(grainBase * 0.7, grainBase + grainFine * 0.35, clamp(u_grainRoughness, 0.0, 1.0));"," float grainLuma = lumaOf(color);"," float grainMask = smoothstep(0.02, 0.55, grainLuma) * (1.0 - smoothstep(0.88, 1.0, grainLuma));"," color += grain * grainAmount * mix(0.025, 0.08, grainMask);"," }"," color = clamp(color, 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`),Zd=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform vec2 u_resolution;","uniform vec2 u_direction;","uniform float u_radius;","vec4 readSource(vec2 uv){"," vec4 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0)));"," color.rgb *= color.a;"," return color;","}","void main(){"," vec2 stepUv = u_direction * max(u_radius, 0.0) / max(u_resolution, vec2(1.0)) / 12.0;"," vec4 color = readSource(v_uv) * 0.08077993;"," color += readSource(v_uv + stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv - stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv + stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv - stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv + stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv - stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv + stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv - stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv + stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv - stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv + stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv - stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv + stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv - stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv + stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv - stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv + stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv - stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv + stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv - stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv + stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv - stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv + stepUv * 12.0) * 0.00453456;"," color += readSource(v_uv - stepUv * 12.0) * 0.00453456;"," if (color.a > 0.0001) color.rgb /= color.a;"," gl_FragColor = color;","}"].join(`\n`);function dt(e){return e instanceof HTMLVideoElement||e instanceof HTMLImageElement}function Ma(e,t,n){let i=e.createShader(n);return i?(e.shaderSource(i,t),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(L("runtime.colorGrading.compileShader",e.getShaderInfoLog(i)),e.deleteShader(i),null)):null}function Ia(e,t=Qd){let n=Ma(e,Xd,e.VERTEX_SHADER),i=Ma(e,t,e.FRAGMENT_SHADER);if(!n||!i)return n&&e.deleteShader(n),i&&e.deleteShader(i),null;let r=e.createProgram();return r?(e.attachShader(r,n),e.attachShader(r,i),e.linkProgram(r),e.deleteShader(n),e.deleteShader(i),e.getProgramParameter(r,e.LINK_STATUS)?r:(L("runtime.colorGrading.linkProgram",e.getProgramInfoLog(r)),e.deleteProgram(r),null)):null}function fr(e,t=e.LINEAR){let n=e.createTexture();return n?(e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,null),n):null}function ef(e,t){let n=Ia(e,Zd);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),resolution:e.getUniformLocation(n,"u_resolution"),direction:e.getUniformLocation(n,"u_direction"),radius:e.getUniformLocation(n,"u_radius")}:null}function Ta(e){let t=fr(e),n=e.createFramebuffer();if(!t||!n)return t&&e.deleteTexture(t),n&&e.deleteFramebuffer(n),null;e.bindFramebuffer(e.FRAMEBUFFER,n),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0);let i=e.checkFramebufferStatus(e.FRAMEBUFFER);return e.bindFramebuffer(e.FRAMEBUFFER,null),i!==e.FRAMEBUFFER_COMPLETE?(e.deleteTexture(t),e.deleteFramebuffer(n),null):{texture:t,framebuffer:n,width:1,height:1}}function Na(e,t,n,i){t.width===n&&t.height===i||(t.width=n,t.height=i,e.bindTexture(e.TEXTURE_2D,t.texture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,i,0,e.RGBA,e.UNSIGNED_BYTE,null))}function Pa(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!t)return null;let n=Ia(t),i=fr(t),r=fr(t,t.NEAREST);if(!n||!i||!r)return n&&t.deleteProgram(n),i&&t.deleteTexture(i),r&&t.deleteTexture(r),null;let o=t.createBuffer();return o?(t.bindBuffer(t.ARRAY_BUFFER,o),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),t.STATIC_DRAW),{gl:t,program:{program:n,texture:i,lutTexture:r,quad:o,position:t.getAttribLocation(n,"a_pos"),source:t.getUniformLocation(n,"u_source"),blurSource:t.getUniformLocation(n,"u_blurSource"),lut:t.getUniformLocation(n,"u_lut"),resolution:t.getUniformLocation(n,"u_resolution"),uvScale:t.getUniformLocation(n,"u_uvScale"),uvOffset:t.getUniformLocation(n,"u_uvOffset"),blurReady:t.getUniformLocation(n,"u_blurReady"),lutEnabled:t.getUniformLocation(n,"u_lutEnabled"),lutSize:t.getUniformLocation(n,"u_lutSize"),lutTextureSize:t.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:t.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:t.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:t.getUniformLocation(n,"u_lutIntensity"),exposure:t.getUniformLocation(n,"u_exposure"),contrast:t.getUniformLocation(n,"u_contrast"),highlights:t.getUniformLocation(n,"u_highlights"),shadows:t.getUniformLocation(n,"u_shadows"),whites:t.getUniformLocation(n,"u_whites"),blacks:t.getUniformLocation(n,"u_blacks"),temperature:t.getUniformLocation(n,"u_temperature"),tint:t.getUniformLocation(n,"u_tint"),vibrance:t.getUniformLocation(n,"u_vibrance"),saturation:t.getUniformLocation(n,"u_saturation"),vignette:t.getUniformLocation(n,"u_vignette"),vignetteMidpoint:t.getUniformLocation(n,"u_vignetteMidpoint"),vignetteRoundness:t.getUniformLocation(n,"u_vignetteRoundness"),vignetteFeather:t.getUniformLocation(n,"u_vignetteFeather"),grain:t.getUniformLocation(n,"u_grain"),grainSize:t.getUniformLocation(n,"u_grainSize"),grainRoughness:t.getUniformLocation(n,"u_grainRoughness"),grainSeed:t.getUniformLocation(n,"u_grainSeed"),blur:t.getUniformLocation(n,"u_blur"),pixelate:t.getUniformLocation(n,"u_pixelate"),intensity:t.getUniformLocation(n,"u_intensity"),compareEnabled:t.getUniformLocation(n,"u_compareEnabled"),comparePosition:t.getUniformLocation(n,"u_comparePosition"),compareSoftness:t.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:t.getUniformLocation(n,"u_compareLineWidth")}}):(t.deleteProgram(n),t.deleteTexture(i),t.deleteTexture(r),null)}function tf(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function nf(e){if(!tf(e))return{...rn};let t=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:e.enabled===!0,position:t(e.position,rn.position,0,1),softness:t(e.softness,rn.softness,0,.25),lineWidth:t(e.lineWidth,rn.lineWidth,0,12)}}function Oa(e){try{let t=new URL(e,document.baseURI);return t.protocol==="data:"?{href:t.href}:t.protocol!=="http:"&&t.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:t.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:t.href}}catch{return{error:"Invalid LUT URL"}}}function pr(e){return e instanceof Error?e.message:"LUT failed to load"}function rf(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0)%1e4}function of(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return rf(t)}function sf(e){let t=Oa(e);if("error"in t)return{state:"error",message:t.error};let n=qe.get(t.href);if(n)return n;let i=fetch(t.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>_a(o,{maxSize:ur})),r={state:"pending",promise:i};for(;qe.size>=Yd;){let o=qe.keys().next().value;if(!o)break;qe.delete(o)}return qe.set(t.href,r),i.then(o=>{qe.get(t.href)===r&&qe.set(t.href,{state:"ready",lut:o})},o=>{qe.get(t.href)===r&&qe.set(t.href,{state:"error",message:pr(o)})}),r}function La(e,t,n){if(e.lut?.src===t)return e.lut;let i=va(n),{gl:r,program:o}=e;try{return r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),e.lut={src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},e.lutError=null,e.lutLoadingSrc=null,e.lut}catch(s){return e.lut=null,e.lutError=pr(s),e.lutLoadingSrc=null,L("runtime.colorGrading.uploadLut",s),null}}function Gn(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function Ba(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Gn(e.gl,t.scratch),Gn(e.gl,t.blur),e.effectTargets=null)}function Ha(e){Ba(e),e.gl.deleteTexture(e.program.texture),e.gl.deleteTexture(e.program.lutTexture),e.gl.deleteBuffer(e.program.quad),e.gl.deleteProgram(e.program.program)}function af(e){let t=Pa(e.canvas);return t?(Ha(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function mr(e){if(!e.sourceHidden)return;e.element.removeAttribute(kt);let t=e.element.style.getPropertyValue("opacity"),n=e.element.style.getPropertyPriority("opacity");t==="0"&&n==="important"&&(e.sourceInlineOpacity===null?e.element.style.removeProperty("opacity"):e.element.style.setProperty("opacity",e.sourceInlineOpacity,e.sourceInlineOpacityPriority)),e.sourceHidden=!1}function lf(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=ef(t,e.program.quad),i=Ta(t),r=Ta(t);return!n||!i||!r?(n&&t.deleteProgram(n.program),i&&Gn(t,i),r&&Gn(t,r),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:i,blur:r},e.effectTargets)}function uf(e,t,n,i,r){let o=Math.max(1,Math.ceil(i)),s=Math.max(1,Math.ceil(r));return Na(e,t,o,s),Na(e,n,o,s),{width:o,height:s}}function Ra(e,t,n,i,r,o,s){e.bindFramebuffer(e.FRAMEBUFFER,i.framebuffer),e.viewport(0,0,r.width,r.height),e.useProgram(t.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t.source,0),e.uniform2f(t.resolution,r.width,r.height),e.uniform2f(t.direction,o.x,o.y),e.uniform1f(t.radius,s),e.bindBuffer(e.ARRAY_BUFFER,t.quad),e.enableVertexAttribArray(t.position),e.vertexAttribPointer(t.position,2,e.FLOAT,!1,0,0),e.drawArrays(e.TRIANGLE_STRIP,0,4)}function cf(e,t,n,i,r,o,s){let l=n;for(let a=0;a<Math.max(1,Math.floor(s));a++)Ra(e,t.blurProgram,l,t.scratch,r,{x:1,y:0},o),Ra(e,t.blurProgram,t.scratch.texture,i,r,{x:0,y:1},o),l=i.texture}function df(e){let t=e.grading.lut?.src.trim()??"",n=e.grading.lut?.intensity??1;if(!t||n<=0)return e.lut=null,e.lutLoadingSrc=null,e.lutError=null,null;let i=Oa(t);if("error"in i)return e.lut=null,e.lutLoadingSrc=null,e.lutError=i.error,null;if(e.lut?.src===i.href)return e.lut;e.lut=null;let r=sf(t);return r.state==="ready"?La(e,i.href,r.lut):r.state==="error"?(e.lutError=r.message,e.lutLoadingSrc=null,null):(e.lutLoadingSrc!==i.href&&(e.lutLoadingSrc=i.href,e.lutError=null,r.promise.then(o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(La(e,i.href,o),Pe(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=pr(o),e.lutLoadingSrc=null,Pe(e))})),null)}function dr(e){if(!e)return null;if(typeof e=="string"){let t=e.trim();if(!t)return null;let n=document.getElementById(t.replace(/^#/,""));if(n&&dt(n))return n;try{let i=document.querySelector(t);return i&&dt(i)?i:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id="${CSS.escape(e.hfId)}"]`);if(t&&dt(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&dt(t))return t}if(!e.selector)return null;try{let t=Array.from(document.querySelectorAll(e.selector)),n=Math.max(0,Math.floor(Number(e.selectorIndex??0)||0)),i=t[n]??null;return i&&dt(i)?i:null}catch{return null}}function ff(e){return e instanceof HTMLVideoElement?e.videoWidth>0&&e.videoHeight>0?{width:e.videoWidth,height:e.videoHeight}:null:e instanceof HTMLImageElement&&e.naturalWidth>0&&e.naturalHeight>0?{width:e.naturalWidth,height:e.naturalHeight}:null}function Ga(e){return e instanceof HTMLVideoElement?e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.videoWidth>0&&e.videoHeight>0:e instanceof HTMLImageElement?e.complete&&e.naturalWidth>0&&e.naturalHeight>0:!1}function mf(e){if(!e.id)return null;let t=document.getElementById(`__render_frame_${e.id}__`);return t instanceof HTMLImageElement&&Ga(t)?t:null}function pf(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function hf(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function gf(e){if(e instanceof HTMLVideoElement){let t=mf(e);if(t)return t}return Ga(e)?e:null}function ka(e,t){let n=e.toLowerCase();if(n==="center")return .5;if(t==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function xf(e){let t=e.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<t.length;r++){let o=t[r]??"",s=ka(o,"x"),l=ka(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=l;continue}}return{x:n,y:i}}function bf(e,t,n,i,r,o){if(e<=0||t<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",l=e,a=t;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(e/n,t/i):Math.min(e/n,t/i);l=n*f,a=i*f,s==="scale-down"&&l>n&&a>i&&(l=n,a=i)}else s==="none"&&(l=n,a=i);let u=xf(o||"center"),c=(e-l)*u.x/e,m=(t-a)*u.y/t;return{scaleX:l/e,scaleY:a/t,offsetX:c,offsetY:m}}function yf(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function Sf(e,t){let{element:n,canvas:i}=e,r=n.parentElement;r&&yf(e,r);let o=window.getComputedStyle(t);xo(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=e.sourceOpacityForCanvas,i.style.visibility=e.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),l=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return l<=0||a<=0?(i.style.display="none",null):(i.width!==l&&(i.width=l),i.height!==a&&(i.height=a),{width:l,height:a})}function Ef(e,t,n,i,r,o,s,l,a){e.uniform1i(t.source,0),e.uniform1i(t.blurSource,1),e.uniform1i(t.lut,2),e.uniform2f(t.resolution,s.width,s.height),e.uniform2f(t.uvScale,l.scaleX,l.scaleY),e.uniform2f(t.uvOffset,l.offsetX,l.offsetY),e.uniform1f(t.blurReady,r?1:0),e.uniform1f(t.lutEnabled,i?1:0),e.uniform1f(t.lutSize,i?.size??2),e.uniform2f(t.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),e.uniform3f(t.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),e.uniform3f(t.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),e.uniform1f(t.lutIntensity,n.lut?.intensity??0),e.uniform1f(t.exposure,n.adjust.exposure),e.uniform1f(t.contrast,n.adjust.contrast),e.uniform1f(t.highlights,n.adjust.highlights),e.uniform1f(t.shadows,n.adjust.shadows),e.uniform1f(t.whites,n.adjust.whites),e.uniform1f(t.blacks,n.adjust.blacks),e.uniform1f(t.temperature,n.adjust.temperature),e.uniform1f(t.tint,n.adjust.tint),e.uniform1f(t.vibrance,n.adjust.vibrance),e.uniform1f(t.saturation,n.adjust.saturation),e.uniform1f(t.vignette,n.details.vignette),e.uniform1f(t.vignetteMidpoint,n.details.vignetteMidpoint),e.uniform1f(t.vignetteRoundness,n.details.vignetteRoundness),e.uniform1f(t.vignetteFeather,n.details.vignetteFeather),e.uniform1f(t.grain,n.details.grain),e.uniform1f(t.grainSize,n.details.grainSize),e.uniform1f(t.grainRoughness,n.details.grainRoughness),e.uniform1f(t.grainSeed,a),e.uniform1f(t.blur,n.effects.blur),e.uniform1f(t.pixelate,n.effects.pixelate),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,o.enabled?1:0),e.uniform1f(t.comparePosition,o.position),e.uniform1f(t.compareSoftness,o.softness),e.uniform1f(t.compareLineWidth,o.lineWidth)}function Af(e){if(!e.sourceHidden){let t=e.element.getAttribute(yn);t!==null?(e.sourceInlineOpacity=t===""?null:t,e.sourceInlineOpacityPriority=""):(e.sourceInlineOpacity=e.element.style.getPropertyValue("opacity")||null,e.sourceInlineOpacityPriority=e.element.style.getPropertyPriority("opacity"))}e.element.setAttribute(kt,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function Pe(e){if(e.destroyed||e.contextLost)return!1;let t=gf(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=ff(t);if(!n)return!1;let i=t instanceof HTMLElement?t:e.element,r=e.element.style.getPropertyValue("opacity"),o=e.element.style.getPropertyPriority("opacity"),s=e.sourceHidden&&r==="0"&&o==="important",l=e.element.style.getPropertyValue("visibility"),a=pf(t);if(a&&hf(e,t),a||!s){let S=window.getComputedStyle(a?t:e.element);e.sourceOpacityForCanvas=S.opacity||"1",e.sourceVisibleForCanvas=(a||l!=="hidden")&&S.visibility!=="hidden"}let u=Sf(e,i);if(!u)return!1;let c=window.getComputedStyle(i),m=bf(u.width,u.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:f,program:x}=e;try{let S=df(e);f.activeTexture(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,x.texture),f.pixelStorei(f.UNPACK_FLIP_Y_WEBGL,!0),f.texImage2D(f.TEXTURE_2D,0,f.RGBA,f.RGBA,f.UNSIGNED_BYTE,t);let b=!1,g=Math.min(1,Math.max(0,e.grading.effects.blur));if(g>0){let _=lf(e);if(_){let N=uf(f,_.scratch,_.blur,u.width,u.height);cf(f,_,x.texture,_.blur,N,.75+Math.pow(g,1.35)*32,g>.55?3:2),b=!0}}else e.effectError=null,e.effectTargets&&Ba(e);f.bindFramebuffer(f.FRAMEBUFFER,null),f.viewport(0,0,u.width,u.height),f.useProgram(x.program),f.activeTexture(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,x.texture),f.activeTexture(f.TEXTURE1),f.bindTexture(f.TEXTURE_2D,e.effectTargets?.blur.texture??x.texture),f.activeTexture(f.TEXTURE2),f.bindTexture(f.TEXTURE_2D,x.lutTexture);let E=e.grainSeed+(e.element instanceof HTMLVideoElement?Math.floor(e.element.currentTime*60):0);return Ef(f,x,e.grading,S,b,e.compare,u,m,E),f.bindBuffer(f.ARRAY_BUFFER,x.quad),f.enableVertexAttribArray(x.position),f.vertexAttribPointer(x.position,2,f.FLOAT,!1,0,0),f.drawArrays(f.TRIANGLE_STRIP,0,4),Af(e),e.hasDrawn=!0,e.drawError=null,!0}catch(S){return e.drawError=S instanceof Error?S.message:"Shader draw failed",L("runtime.colorGrading.drawEntry",S),!1}}function Ue(e,t,n,i){t.addEventListener(n,i),e.cleanup.push(()=>t.removeEventListener(n,i))}function wf(e){e.animationFrame!==null&&(window.cancelAnimationFrame(e.animationFrame),e.animationFrame=null),e.videoFrameHandle!==null&&e.element instanceof HTMLVideoElement&&(e.element.cancelVideoFrameCallback?.(e.videoFrameHandle),e.videoFrameHandle=null)}function on(e){if(e.destroyed||!(e.element instanceof HTMLVideoElement)||e.videoFrameHandle!==null||e.animationFrame!==null)return;let t=e.element,n=t;if(typeof n.requestVideoFrameCallback=="function"){e.videoFrameHandle=n.requestVideoFrameCallback(()=>{e.videoFrameHandle=null,Pe(e),!e.destroyed&&!t.paused&&!t.ended&&on(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,Pe(e),!e.destroyed&&!t.paused&&!t.ended&&on(e)})}function Cf(e){let t=()=>{Pe(e)};if(Ue(e,e.element,"load",t),Ue(e,e.element,"loadedmetadata",t),Ue(e,e.element,"loadeddata",t),Ue(e,e.element,"seeked",t),Ue(e,e.element,"timeupdate",t),Ue(e,window,"resize",t),e.element instanceof HTMLVideoElement&&(Ue(e,e.element,"play",()=>on(e)),Ue(e,e.element,"pause",t)),Ue(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",mr(e)}),Ue(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!af(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",mr(e);return}e.drawError=null,Pe(e)}),typeof ResizeObserver<"u"&&(e.resizeObserver=new ResizeObserver(t),e.resizeObserver.observe(e.element)),typeof MutationObserver<"u"){let n=()=>{let s=e.element.style;return`${s.transform}|${s.translate}|${s.rotate}|${s.scale}|${s.left}|${s.top}|${s.width}|${s.height}`},i=n(),r=!1,o=new MutationObserver(()=>{r||n()!==i&&(r=!0,requestAnimationFrame(()=>{r=!1,i=n(),Pe(e)}))});o.observe(e.element,{attributes:!0,attributeFilter:["style"]}),e.cleanup.push(()=>o.disconnect())}}function Ff(e){if(!e.destroyed){e.destroyed=!0,wf(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();e.cleanup.length=0,e.canvas.remove(),Ha(e),mr(e),e.touchedParent&&(e.parentInlinePosition===null?e.touchedParent.style.removeProperty("position"):e.touchedParent.style.position=e.parentInlinePosition)}}function _f(e){let t=document.createElement("canvas");return e.id&&(t.id=`${co}${e.id}`),t.className=Jd,t.setAttribute(Kd,"true"),t.setAttribute("data-hyperframes-ignore",""),t.setAttribute("data-hyperframes-picker-ignore",""),t.setAttribute("data-hf-ignore",""),t.setAttribute("aria-hidden","true"),t.style.pointerEvents="none",t.style.display="none",e.parentNode?.insertBefore(t,e.nextSibling),t}function Wa(){let e=new WeakMap,t=new Set,n=null,i=!1,r=(b,g,E)=>{let _=e.get(b);if(_)return _.grading=g,_.source=E,Pe(_),b instanceof HTMLVideoElement&&!b.paused&&on(_),!0;let N=_f(b),q=Pa(N);if(!q)return N.remove(),!1;let D={element:b,canvas:N,gl:q.gl,program:q.program,grading:g,compare:{...rn},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,effectError:null,source:E,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(b).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(b).visibility!=="hidden",hasDrawn:!1,contextLost:!1,grainSeed:of(b),destroyed:!1};return e.set(b,D),t.add(b),Cf(D),Pe(D),b instanceof HTMLVideoElement&&!b.paused&&on(D),!0},o=(b,g)=>{if(i)return!1;let E=dr(b);if(!E)return!1;let _=e.get(E);if(!_){let N=cr(E);if(!Dt(N)||!r(E,N,"attribute"))return!1;_=e.get(E)}return _?(_.compare=nf(g),Pe(_),!0):!1},s=b=>{let g=e.get(b);g&&(Ff(g),e.delete(b),t.delete(b))},l=()=>{if(i)return 0;let b=new Set;document.querySelectorAll(`video[${ze}], img[${ze}]`).forEach(E=>{if(!dt(E))return;b.add(E);let _=cr(E);Dt(_)?r(E,_,"attribute"):s(E)});for(let E of Array.from(t)){let _=e.get(E);_&&(!E.isConnected||_.source==="attribute"&&!b.has(E))&&s(E)}return t.size},a=()=>{if(i)return 0;let b=0;for(let g of Array.from(t,E=>e.get(E)))g&&Pe(g)&&(b+=1);return b},u=(b,g)=>{if(i)return!1;let E=dr(b);if(!E)return!1;let _=yi(g);return Dt(_)?r(E,_,"live"):(s(E),!0)},c=(b,g)=>{if(!dt(b))return!1;let E=e.get(b);return E?(E.sourceVisibleForCanvas=g,!0):!1},m=b=>{let g=dr(b);if(!g)return{state:"missing",message:"Media not found"};let E=e.get(g);if(E)return E.effectError?{state:"unavailable",message:E.effectError}:E.drawError?{state:"unavailable",message:E.drawError}:E.lutError?{state:"unavailable",message:`LUT error: ${E.lutError}`}:E.grading.lut&&E.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:E.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:E.lut?"Shader + LUT active":"Shader active"};let _=cr(g);return Dt(_)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let b of Array.from(t))s(b)}};document.body&&(n=new MutationObserver(()=>l()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[ze]}));let x={refresh:l,redraw:a,setGrading:u,setCompare:o,setSourceVisibility:c,getStatus:m,destroy:f},S=window;return S.__hf=S.__hf||{},S.__hf.colorGrading=x,l(),x}var Wn=class{constructor(t){ye(this,"_baseTime",0);ye(this,"_playStartMs",null);ye(this,"_rate",1);ye(this,"_duration",1/0);ye(this,"_nowMs");ye(this,"_audioSource",null);this._baseTime=t?.initialTime??0,this._rate=t?.rate??1,this._duration=t?.duration??1/0,this._nowMs=t?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let t=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+t*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(t){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(t,this._duration)):Math.max(0,t);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(t){let n=Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(t){this._duration=Number.isFinite(t)&&t>0?t:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(t){this._audioSource=t}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:t}=this._audioSource;if(!t.paused&&Number.isFinite(t.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function Ua(e){return!Number.isFinite(e)||e<=0?1:e}function vf(e,t){t||e.paused||!mn().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function Mf(e,t){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=t,l=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let c=a-n;return l&&c<=0?!1:(l?e.start(0,n+i,c):e.start(0,n+i),!0)}let u=-n/o;return l?e.start(r+u,i,a):e.start(r+u,i),!0}var Un=class{constructor(){ye(this,"_ctx",null);ye(this,"_bufferCache",new Map);ye(this,"_failedSrcs",new Set);ye(this,"_activeSources",[]);ye(this,"_masterGain",null);ye(this,"_rateAnchorCtx",0);ye(this,"_rateAnchorComp",0);ye(this,"_rate",1);ye(this,"_paused",!0);ye(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(t){let n=t.currentSrc||t.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return L("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return L("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),L("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(t,n,i,r,o,s,l,a=1,u=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||l!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),l!==this._playGeneration)return null;let c=Ua(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=c;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,S=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=S,this._rateAnchorComp=o,!Mf(m,{elapsed:x,mediaStart:r,scheduledAt:S,safeRate:c,clipDuration:u}))return m.disconnect(),f.disconnect(),null;let b=t.muted;t.muted=!0,vf(t,b);let g={el:t,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:S,priorMuted:b,bounded:Number.isFinite(u)&&u>0};return this._activeSources.push(g),this._paused=!1,m.addEventListener("ended",()=>{let E=this._activeSources.indexOf(g);E!==-1&&(this._activeSources.splice(E,1),t.muted=b,this._activeSources.length===0&&(this._paused=!0))}),g}catch(c){return L("webAudioTransport.schedule",c),null}}setRate(t){let n=Ua(t);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){L("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(t=>t.bounded)}stopAll(){for(let t of this._activeSources){try{t.sourceNode.stop(),t.sourceNode.disconnect(),t.gainNode.disconnect()}catch{}t.el.muted=t.priorMuted}this._activeSources=[],this._paused=!0}setVolume(t){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,t)))}setElementVolume(t,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===t)try{r.gainNode.gain.value=i}catch(o){L("webAudioTransport.setElementVolume",o)}}setMuted(t){this._masterGain&&(this._masterGain.gain.value=t?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var Va="data-hf-studio-manual-edit-gesture";function za(e){return!Number.isInteger(e.tick)||e.tick<=0||e.tick%60!==0?!1:!(e.isPlaying&&e.hasCapturedTimeline&&e.currentTimeSeconds<2)}var hr="data-hf-authored-duration",gr="data-hf-authored-end";function Tf(){let e=window.__HF_EXPORT_RENDER_SEEK_CONFIG,t=e?.fps,n=e?.fpsSource,i=Number(t);return!e||t==null?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"missing"}:!Number.isFinite(i)||i<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"invalid"}:{fps:i,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:t,fallbackReason:e.fpsFallbackReason}}function ja(){let e=So();On(document),ar(document);let t=Tf();e.canonicalFps=t.fps??e.canonicalFps,window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:e.canonicalFps,source:t.source,rawFpsSource:t.rawFpsSource,rawFps:t.rawFps,fallbackReason:t.fallbackReason});let n=null,i=null,r=null,o=[],s=new Set,l=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){L("runtime.init.site1",d)}(()=>{let d=window.gsap,p=window;if(!(!d?.registerPlugin||p.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch{}})(),document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden");try{Wr(document)}catch(d){L("runtime.init.cssVariables",d)}window.__timelines=window.__timelines||{};let u=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,p=u()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[p]=d[0];else for(let y=0;y<d.length;y++)h[`tl-${y}`]=d[y];window.__timelines=h}let c=u();c&&!c.hasAttribute("data-start")&&c.setAttribute("data-start","0");let m=d=>{o.push(d)},f=(d,p,h)=>{let y=h??`${d}:${JSON.stringify(p)}`;s.has(y)||(s.add(y),Ce({source:"hf-preview",type:"diagnostic",code:d,details:p}))},x=d=>{let p={scale:1,focusX:960,focusY:540},h=[],y=[],w={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>y,getRenderState:()=>({...w,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},S=1/60,b=.75,g=.05,E=100,_=240,N=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},q=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},D=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},M=()=>u(),A=()=>{let d=M();if(!d)return;let p=D(d.getAttribute("data-width")),h=D(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},F=()=>{let d=M(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let y=h.getAttribute("data-duration"),w=h.getAttribute("data-end");y!=null&&!h.hasAttribute(hr)&&h.setAttribute(hr,y),w!=null&&!h.hasAttribute(gr)&&h.setAttribute(gr,w),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},v=()=>{let d=M();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=D(d.getAttribute("data-width")),h=D(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let y=Array.from(d.children);for(let w of y){let C=w.tagName.toLowerCase();if(C==="script"||C==="style"||C==="link"||C==="meta"||!w.hasAttribute("data-start")||w.hasAttribute("data-hf-autostamped"))continue;let R=(w.style.top==="0px"||w.style.top==="0")&&(w.style.left==="0px"||w.style.left==="0")&&w.style.width==="100%"&&w.style.height==="100%",z=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(w.style.transform);if(R&&z&&!w.hasAttribute("data-width")&&!w.hasAttribute("data-height")){let Se=w.style.top,st=w.style.left,we=w.style.width,vt=w.style.height;w.style.top="",w.style.left="",w.style.width="",w.style.height="";let re=window.getComputedStyle(w);re.top!=="auto"||re.bottom!=="auto"||re.left!=="auto"||re.right!=="auto"||re.width!=="0px"||re.height!=="0px"||(w.style.top=Se,w.style.left=st,w.style.width=we,w.style.height=vt)}let j=window.getComputedStyle(w),ge=j.position;if(ge!=="absolute"&&ge!=="fixed"&&(w.style.position="absolute"),!!w.style.top||!!w.style.bottom||j.top!=="auto"||j.bottom!=="auto"||(w.style.top="0"),!!w.style.left||!!w.style.right||j.left!=="auto"||j.right!=="auto"||(w.style.left="0"),C!=="audio"){let Se=D(w.getAttribute("data-width")),st=D(w.getAttribute("data-height")),we=j.width!=="0px"&&j.width!=="auto",vt=j.height!=="0px"&&j.height!=="auto";Se?!w.style.width&&!we&&(w.style.width=Se):!w.style.width&&j.width==="0px"&&(w.style.width="100%"),st?!w.style.height&&!vt&&(w.style.height=st):!w.style.height&&j.height==="0px"&&(w.style.height="100%")}}},T=(d,p=0,h)=>Je({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),k=(d,p)=>Je({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),W=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0)+p:T(d,p),$=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let y=h==="video"||h==="audio"?W(d,0):T(d,0),w=k(d),C=d.getAttribute("data-composition-id");if(C){let z=(window.__timelines??{})[C],j=null;if(z&&typeof z.duration=="function"){let xe=Number(z.duration());Number.isFinite(xe)&&xe>0&&(j=xe)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(hr)||d.hasAttribute(gr))&&(w==null||w<=0)&&j!=null&&(w=j)}let R=w!=null&&w>0?y+w:Number.POSITIVE_INFINITY;return p>=y&&(Number.isFinite(R)?p<=R:!0)},ue=!!document.querySelector("[data-composition-src]"),H=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){H=!0;break}}}let ee=!ue&&!H,de=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},B=d=>typeof d=="number"&&Number.isFinite(d)&&d>S,te=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),y=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>y?Math.max(0,d.duration-y):null},U=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let y=W(h,0);if(!Number.isFinite(y))continue;let w=te(h);w==null||w<=S||(p=Math.max(p,Math.max(0,y)+w))}return p>S?p:null},ie=()=>{let d=M();if(!d)return null;let p=window.__timelines??{},h=Je({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),y=0,w=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(w)&&w>0&&(y=w);let C=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let R of C){if(!(R instanceof Element)||R.parentElement?.closest("[data-composition-id]")!==d)continue;let j=h.resolveStartForElement(R,0),ge=h.resolveDurationForElement(R);!Number.isFinite(j)||ge==null||ge<=0||(y=Math.max(y,Math.max(0,j)+ge))}return y>S?y:null},ve=()=>{let d=U();return typeof d!="number"||!Number.isFinite(d)||d<=S?null:d},G=d=>B(d)?Math.max(S,d*b):S,I=()=>{let d=0;for(let p of e.deterministicAdapters){let h=p.getInferredDurationSeconds;if(typeof h!="function")continue;let y=null;try{y=h()}catch(w){L("runtime.init.adapterDuration",w)}typeof y=="number"&&Number.isFinite(y)&&y>0&&(d=Math.max(d,y))}return d>S?d:null},O=(d,p=0)=>{let h=de(d),y=ve(),w=ie(),C=I(),R=Math.max(y??0,w??0,C??0),z=Number.isFinite(p)&&p>S?p:0,j=0;return B(h)?j=Math.max(h,R,z):B(R)?j=Math.max(R,z):j=z,j>0?Math.max(0,j):0},ae=()=>{let d=window.__timelines??{},p=re=>{let Q=Object.entries(d).filter(se=>!!se[1]&&typeof se[1].play=="function"&&typeof se[1].pause=="function");if(Q.length!==1)return{timeline:null};let me=Q[0];if(!me)return{timeline:null};let[pe,be]=me;return{timeline:be,selectedTimelineIds:[pe],selectedDurationSeconds:de(be),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:re,soleTimelineId:pe}}}},h=Je({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),y=ve(),w=ie(),C=Math.max(y??0,w??0)||null,R=G(C),z=re=>{let Q=document.querySelector(`[data-composition-id="${CSS.escape(re)}"]`);return Q?h.resolveStartForElement(Q,0):0},j=re=>{let Q=window.gsap;if(!Q||typeof Q.timeline!="function")return null;let me=Q.timeline({paused:!0});for(let pe of re)me.add(pe.timeline,z(pe.compositionId));return me},ge=(re,Q)=>{if(!B(re))return null;let me=window.gsap;if(!me||typeof me.timeline!="function")return null;let pe=me.timeline({paused:!0});if(Q)try{pe.add(Q,0)}catch(se){L("runtime.init.site2",se)}let be=pe;if(typeof be.to=="function")try{be.to({},{duration:re})}catch(se){L("runtime.init.site3",se)}return pe},xe=(re,Q)=>{let me=re;if(typeof me.getChildren!="function")return[];try{let pe=me.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let be=[];for(let se of Q)if(!pe.some(ke=>ke===se.timeline))try{let ke=z(se.compositionId);re.add(se.timeline,ke),be.push(se.compositionId)}catch(ke){L("runtime.init.site4",ke)}return be}catch{return[]}},ne=M(),X=ne?.getAttribute("data-composition-id")??null;if(!X)return p("root_missing_composition_id");let Se=d[X]??null,we=(()=>{if(!ne)return[];let re=new Set,Q=Array.from(ne.querySelectorAll("[data-composition-id]")),me=[];for(let pe of Q){let be=pe.getAttribute("data-composition-id");if(!be||be===X||re.has(be))continue;re.add(be);let se=d[be]??null;if(!se||typeof se.play!="function"||typeof se.pause!="function")continue;let Te=de(se);me.push({compositionId:be,timeline:se,durationSeconds:Te??0})}return me})(),vt=re=>{for(let Q of re){let me=Q.timeline;if(typeof me.paused=="function")try{me.paused(!1)}catch(pe){L("runtime.init.site5",pe)}}};if(we.length>0&&vt(we),Se){let re=we.length>0?xe(Se,we):[];if((we.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+X+"\'])"))&&(oe=!0),re.length>0)try{let se=Se.time();Se.seek(se,!1)}catch{}let Q=de(Se);if(!B(Q)&&we.length>0){let se=we.map(Rl=>Rl.compositionId),Te=j(we),ke=de(Te);if(Te&&B(ke))return{timeline:Te,selectedTimelineIds:se,selectedDurationSeconds:ke,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:X,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:R,selectedDurationSeconds:ke,mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedTimelineIds:se,autoNestedChildren:re}}};let ri=ge(C??0,Se),oi=de(ri);if(ri&&B(oi))return{timeline:ri,selectedTimelineIds:[X],selectedDurationSeconds:oi,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:X,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:oi,selectedTimelineIds:[X],autoNestedChildren:re}}}}if(!B(Q)&&we.length===0){let se=ge(C??0,Se),Te=de(se);if(se&&B(Te))return{timeline:se,selectedTimelineIds:[X],selectedDurationSeconds:Te,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:X,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:Te,selectedTimelineIds:[X]}}}}let me=ne?.getAttribute("data-duration"),pe=me?parseFloat(me):null,be=Math.max(B(pe)?pe:0,w??0);if(be>0&&B(be)&&B(Q)&&be>=Q+.5){let se=Se;if(typeof se.to=="function")try{se.to({},{duration:0},be)}catch(ke){L("runtime.init.site6",ke)}let Te=de(Se);if(B(Te))return{timeline:Se,selectedTimelineIds:[X],selectedDurationSeconds:Te,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:X,rootDurationSeconds:Q,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:w,newDur:Te}}}}return{timeline:Se,selectedTimelineIds:[X],selectedDurationSeconds:Q,mediaDurationFloorSeconds:y,diagnostics:re.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:X,selectedDurationSeconds:Q,autoNestedChildren:re}}:void 0}}if(we.length>0){let re=we.map(pe=>pe.compositionId),Q=j(we),me=de(Q);if(Q)return{timeline:Q,selectedTimelineIds:re,selectedDurationSeconds:me,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:X,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:R,selectedDurationSeconds:me,mediaDurationFloorSeconds:y,selectedTimelineIds:re}}}}return p("root_composition_id_unmatched_in_registry")},oe=!1,V=()=>{if(!ee)return!1;let d=e.capturedTimeline,p=de(d),h=B(p);if(d&&h&&oe)return!1;let y=ae();if(!y.timeline)return!1;if(d&&d===y.timeline)return typeof d.timeScale=="function"&&d.timeScale(e.playbackRate),!1;e.capturedTimeline=y.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let w=O(e.capturedTimeline,0);if(w<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),e.capturedTimeline.pause()),w>0){try{P.setDuration(w)}catch{}if(typeof e.capturedTimeline.totalTime=="function"){typeof e.capturedTimeline.progress=="function"&&e.capturedTimeline.progress(1e-4,!0);let R=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(R,!1),e.capturedTimeline.pause()}let C=window.__hfStudioManualEditsApply;typeof C=="function"&&C(),On(document)}if(y.diagnostics&&Ce({source:"hf-preview",type:"diagnostic",code:y.diagnostics.code,details:y.diagnostics.details}),Ce({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:y.selectedTimelineIds??[],selectedDurationSeconds:y.selectedDurationSeconds??null,mediaDurationFloorSeconds:y.mediaDurationFloorSeconds??null}}),window.parent!==window){let C=M(),R=w>0?w:0,z=String(R>0?R:1),j=new Set,ge=new Set(document.querySelectorAll("[data-start]")),xe=ne=>{let X=ne.parentElement;for(;X&&X!==C;){if(ge.has(X))return!0;X=X.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let ne of e.capturedTimeline.getChildren(!0))if(typeof ne.targets=="function")for(let X of ne.targets())X instanceof HTMLElement&&X!==C&&(X.hasAttribute("data-start")||xe(X)||j.has(X)||(j.add(X),X.setAttribute("data-start","0"),X.setAttribute("data-duration",z),X.setAttribute("data-hf-autostamped","1")))}catch{}if(C instanceof HTMLElement)for(let ne of C.querySelectorAll("[id]"))ne instanceof HTMLElement&&ne!==C&&(ne.hasAttribute("data-start")||xe(ne)||j.has(ne)||ne.tagName==="SCRIPT"||ne.tagName==="STYLE"||ne.tagName==="LINK"||(j.add(ne),ne.setAttribute("data-start","0"),ne.setAttribute("data-duration",z),ne.setAttribute("data-hf-autostamped","1")))}for(let C of wt)ln.delete(C),_r(C);return!0};window.__hfForceTimelineRebind=()=>{oe=!1,V()};let K=()=>{let d=M();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),y=Number(d.getAttribute("data-height")),w=window.getComputedStyle(d),C=Number.isFinite(h)&&h>0&&Number.isFinite(y)&&y>0,R=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!C||!R||f("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:y,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:w.display,visibility:w.visibility,overflow:w.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},J=()=>{e.tornDown||(l!=null&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{l=null,K()}))},Be=()=>{i=d=>{let p=N(d.error??d.message).slice(0,_);if(!p)return;let h=q(p);Ce({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},r=d=>{let p=N(d.reason).slice(0,_);if(!p)return;let h=q(p);Ce({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",r)},Me=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let y=()=>{if(!(h instanceof Element))return;let w=h.tagName.toLowerCase(),C=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,R=w==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";f(R,{tagName:w,assetUrl:C,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${R}:${w}:${C??"unknown"}`)};h.addEventListener("error",y),m(()=>{h.removeEventListener("error",y)})}let p=document.fonts;p&&p.ready.then(()=>{if(e.tornDown)return;let h=Array.from(p).filter(y=>y.status==="error").map(y=>y.family).filter(y=>!!y).slice(0,10);h.length!==0&&f("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},At=(d,p)=>{if(!d.timeline)return!1;let h=e.capturedTimeline;if(h&&h===d.timeline)return!1;let y=Math.max(0,e.currentTime||0),w=e.isPlaying;e.capturedTimeline=d.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);try{e.capturedTimeline.pause(),e.capturedTimeline.seek(y,!1),w&&e.capturedTimeline.play()}catch(C){L("runtime.init.site7",C)}return Ce({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:y,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},Fe=null,Fr=!1,wt=new Set,ln=new WeakMap,un=()=>{e.tornDown||(Fe!=null&&window.clearTimeout(Fe),Fe=window.setTimeout(()=>{if(e.tornDown)return;Fe=null;let d=ae();if(!d.timeline||!B(d.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){V()&&(it(),Ne(!0));return}if(Fr)return;let h=de(e.capturedTimeline),y=d.selectedDurationSeconds??de(d.timeline);B(y)&&(!B(h)||y>=h+g)&&At(d,"manual")&&(Fr=!0,Ce({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:y??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),it(),Ne(!0))},E))},bl=()=>{for(let d of wt)d.removeEventListener("loadedmetadata",un),d.removeEventListener("durationchange",un);wt.clear()},Kn=()=>{if(e.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(wt.has(p))continue;wt.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",un),p.addEventListener("durationchange",un),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),_r(p)}},_r=d=>{ln.has(d)||ao(d,e.capturedTimeline,O(e.capturedTimeline,0),ln)},Jn=new WeakMap,vr=d=>{let p=Jn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,y=h==="static"||h==="relative"||h==="sticky";return Jn.set(d,y),y},Yn=new WeakMap,yl=d=>{let p=Yn.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return Yn.set(d,h),h},Sl=()=>{Jn=new WeakMap,Yn=new WeakMap},Xn=new WeakMap,cn=new WeakSet,Re=()=>{let d=C=>{let R=C.closest("[data-composition-id]"),z=R?T(R,0):null,j=R?k(R,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:R,inheritedStart:z,inheritedDuration:j}},p=lo({shouldIncludeElement:C=>C.hasAttribute("data-start")||!!d(C).compositionRoot,resolveStartSeconds:C=>{let R=d(C);return W(C,R.inheritedStart??0)},resolveDurationSeconds:C=>{let R=d(C),z=W(C,R.inheritedStart??0),j=Number.parseFloat(C.dataset.playbackStart??C.dataset.mediaStart??"0")||0,ge=R.inheritedStart!=null&&R.inheritedDuration!=null&&R.inheritedDuration>0?Math.max(0,R.inheritedStart+R.inheritedDuration-z):null,xe=Number.isFinite(C.duration)&&C.duration>j?Math.max(0,C.duration-j):null,ne=Number.parseFloat(C.dataset.duration??""),X=Number.isFinite(ne)&&ne>0?ne:null,Se=[xe,ge,X].filter(st=>st!=null);return Se.length>0?Math.min(...Se):null}});for(let C of p.mediaClips){let R=ln.get(C.el);R&&(C.volumeKeyframes=R)}let h=e.mediaForceSyncNextTick;h&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||uo({clips:p.mediaClips,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted||!e.webAudioMediaDisabled&&!e.nativeMediaSyncDisabled&&fe.isActive(),userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:h,onElementVolume:(C,R)=>fe.setElementVolume(C,R),isWebAudioOwned:C=>fe.ownsElement(C),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,Ce({source:"hf-preview",type:"media-autoplay-blocked"}))}});let y=Array.from(document.querySelectorAll("[data-start]")),w=M();for(let C of y){if(!(C instanceof HTMLElement))continue;if(C.hasAttribute("data-hidden")){cn.has(C)||(Xn.set(C,C.style.getPropertyValue("display")),cn.add(C)),C.style.display="none",(C instanceof HTMLVideoElement||C instanceof HTMLImageElement)&&n?.setSourceVisibility(C,!1);continue}if(cn.has(C)){let z=Xn.get(C);z?C.style.display=z:C.style.removeProperty("display"),Xn.delete(C),cn.delete(C)}let R=$(C,e.currentTime);if(R){let z=C.parentElement;for(;z&&z!==w;){if(z instanceof HTMLElement&&z.hasAttribute("data-start")&&!$(z,e.currentTime)){R=!1;break}z=z.parentElement}}C.style.visibility=R?"visible":"hidden",(C instanceof HTMLVideoElement||C instanceof HTMLImageElement)&&n?.setSourceVisibility(C,R),R?vr(C)&&C.style.removeProperty("display"):vr(C)&&yl(C)&&(C.style.display="none")}},Ne=d=>{let p=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),h=Date.now();(d||p!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||h-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=p,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=h,Ce({source:"hf-preview",type:"state",frame:p,isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},Qn="",Mr=0,El=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},it=()=>{F(),A(),v();let d=M();if(d){let y=D(d.getAttribute("data-width")),w=D(d.getAttribute("data-height")),C=y?parseInt(y,10):0,R=w?parseInt(w,10):0;C>0&&R>0&&Ce({source:"hf-preview",type:"stage-size",width:C,height:R})}V();let p=_o({canonicalFps:e.canonicalFps});window.__clipManifest=p;let h=El();if(Qn!==h&&Sl(),!window.__clipTree||Qn!==h){let y=window;window.__clipTree=Eo({startResolver:Je({timelineRegistry:y.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:y.__timelines??{},rootDuration:p.durationInFrames/e.canonicalFps}),Qn=h}Ce(p),J()},Zn=d=>Number.isFinite(d)&&d>0?d:0,Al=d=>{let p=Zn(Number(d));if(p<=0)return;let h=M(),y=Zn(Number.parseFloat(h?.getAttribute("data-duration")??"")),w=Math.max(Mr,Zn(P.getDuration()),y);p<=w||(Mr=p,h?.setAttribute("data-duration",String(p)),P.setDuration(p),it(),Ne(!0))},He=(d,p=0)=>{for(let h of e.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(y){L("runtime.init.site8",y)}if(d==="discover")try{h.seek({time:p,suppressEvents:!0})}catch(y){L("runtime.init.site9",y)}}},rt=()=>{window.__renderReady=!1},Ct=null,Ft=!0,wl=()=>{let d=[];for(let p of e.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let y=h();y&&d.push(y)}catch(y){L("runtime.init.adapterReady",y)}}return d},Cl=()=>{let d=wl();if(d.length===0)return Ct=null,Ft=!0,!0;let p=d[0];if(!p)return!0;let h=d.length===1?p:Promise.all(d);return h!==Ct&&(Ct=h,Ft=!1,Promise.resolve(h).then(()=>{Ct===h&&(Ft=!0,rt())},y=>{Ct===h&&(Ft=!0,L("runtime.init.adapterReady",y),rt())})),Ft};if(ee)ir();else{let d={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,parseDimensionPx:D,onDiagnostic:({code:p,details:h})=>{Ce({source:"hf-preview",type:"diagnostic",code:p,details:h})}};ma(d).then(()=>fa(d)).finally(()=>{ee=!0,Kn(),Me(),ir(),ar(document),rt()})}let dn=go({postMessage:d=>Ce(d)});dn.installPickerApi();let Ve=Wa();n=Ve,m(()=>{Ve.destroy(),n=null});let ei=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,p)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let h=document.querySelectorAll("video, audio");for(let y of h)if(y instanceof HTMLMediaElement)try{y.playbackRate=e.playbackRate}catch(w){L("runtime.init.site10",w)}},he=yo({getTimeline:()=>e.capturedTimeline,setTimeline:d=>{e.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>e.isPlaying,setIsPlaying:d=>{e.isPlaying!==d&&(e.mediaForceSyncNextTick=!0),e.isPlaying=d},getPlaybackRate:()=>e.playbackRate,setPlaybackRate:ei,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(d,p)=>{e.currentTime=Math.max(0,Number(d)||0),e.isPlaying!==p&&(e.mediaForceSyncNextTick=!0),e.isPlaying=p,Re()},onStatePost:Ne,onDeterministicSeek:(d,p)=>{for(let h of e.deterministicAdapters)if(!(h.name==="gsap"&&e.capturedTimeline))try{h.seek({time:Number(d)||0,suppressEvents:p?.suppressEvents})}catch(y){L("runtime.init.site11",y)}},onDeterministicPause:()=>He("pause"),onDeterministicPlay:()=>He("play"),onRenderFrameSeek:()=>{Ve.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>O(e.capturedTimeline,0)});window.__player=x(he),window.__playerReady=!0,Or(Ce),at("composition_loaded",{duration:he.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.controlBridgeHandler=Pr({onPlay:()=>{he.play(),at("composition_played",{time:he.getTime()})},onPause:()=>{he.pause(),at("composition_paused",{time:he.getTime()})},onStopMedia:()=>{fe.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/e.canonicalFps;he.seek(h),at("composition_seeked",{time:h})},onSetMuted:d=>{e.bridgeMuted=d;let p=d||e.mediaOutputMuted;fe.setMuted(p);let h=document.querySelectorAll("video, audio");for(let y of h)y instanceof HTMLMediaElement&&(y.muted=p||y.defaultMuted)},onSetVolume:d=>{e.bridgeVolume=d,fe.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let y=parseFloat(h.dataset.volume??""),w=Number.isFinite(y)?y:1;h.volume=w*d}},onSetMediaOutputMuted:d=>{e.mediaOutputMuted=d;let p=d||e.bridgeMuted;fe.setMuted(p);let h=document.querySelectorAll("video, audio");for(let y of h)y instanceof HTMLMediaElement&&(y.muted=p||y.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{e.nativeMediaSyncDisabled!==d&&(e.nativeMediaSyncDisabled=d,e.mediaForceSyncNextTick=!0,d?(fe.stopAll(),P.detachAudioSource()):Re())},onSetWebAudioMediaDisabled:d=>{e.webAudioMediaDisabled!==d&&(e.webAudioMediaDisabled=d,e.mediaForceSyncNextTick=!0,d&&(fe.stopAll(),P.detachAudioSource()),Re())},onSetPlaybackRate:d=>{ei(d),e.transportClock&&e.transportClock.setRate(e.playbackRate),Dr()},onSetRootDuration:Al,onSetColorGrading:(d,p)=>{Ve.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{Ve.setCompare(d,p)},onTick:()=>{if(e.tornDown||!P.isPlaying())return;let d=P.now();if(e.currentTime=d,ot(d),P.reachedEnd()){fe.stopAll(),P.detachAudioSource(),P.pause(),e.isPlaying=!1;let p=P.getDuration();Number.isFinite(p)&&(P.seek(p),e.currentTime=p,ot(p)),He("pause"),Re(),Ne(!0)}},onEnablePickMode:()=>dn.enablePickMode(),onDisablePickMode:()=>dn.disablePickMode()}),e.deterministicAdapters=[oo(),Vr({resolveStartSeconds:d=>T(d,0)}),jr(),$r(),Jr(),Yr(),Xr(),Qr(),Zr(),eo(),to(),zr({getTimeline:()=>e.capturedTimeline})],io(),ro(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,Kr(p)},Be(),Kn(),He("discover");let P=new Wn;e.transportClock=P;let fe=new Un,ti=!1;fe.init().then(d=>{ti=d});let Fl=()=>{let d=e.capturedTimeline,p=V();e.capturedTimeline&&(p||e.capturedTimeline!==d||!he._timeline)&&(he._timeline=e.capturedTimeline);let h=O(e.capturedTimeline,0);if(h>0&&P.setDuration(h),He("discover",e.currentTime),!e.capturedTimeline){let y=window.__timelines??{},w=Object.keys(y).filter(C=>y[C]);if(w.length>0){let R=M()?.getAttribute("data-composition-id")??null;f("root_timeline_unbound_registry_present",{reason:R?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:R,registeredTimelineKeys:w},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(R?`Root data-composition-id is "${R}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${w.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${R??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,it(),Ne(!0)};if(rt=()=>{if(!ee||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(He("discover",e.currentTime),!Cl()){window.__renderReady=!1;return}Fl()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),rt()};window.addEventListener("hf-timelines-built",d)}rt(),ee&&setTimeout(()=>{rt()},0);let fn=0,ni=!1,_l=(d,p,h,y)=>{try{let w=y?.suppressEvents===!0;d.pause(),typeof d.totalTime=="function"?d.totalTime(p,w):d.seek(p,w)}catch(w){L(h,w)}},vl=(d,p)=>{let h=window.__timelines??{},y=M()?.getAttribute("data-composition-id")??null;for(let[w,C]of Object.entries(h)){if(!C||w===y)continue;let R=document.querySelector(`[data-composition-id="${CSS.escape(w)}"]`);if(!R)continue;let z=T(R,0);if(!Number.isFinite(z))continue;let j=k(R,{includeAuthoredTimingAttrs:!0}),ge=de(C),xe=j!=null&&j>0?j:ge,ne=Math.max(0,xe!=null&&xe>0?Math.min(xe,d-z):d-z);_l(C,ne,"runtime.init.transport.childTimeline",p)}},Ml=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(y){L("runtime.init.activateSiblings",y)}},Tr=d=>typeof d=="object"&&d!==null,_t=new WeakMap,Tl=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],Nr=(d,p)=>{let h=d[p];if(typeof h!="function")return null;try{let y=Number(h.call(d));return Number.isFinite(y)?y:null}catch(y){return L("runtime.init.gsapCallbackDuration",y),null}},Nl=d=>{let p=_t.get(d);if(p!=null)return p;if(!("getChildren"in d)||typeof d.getChildren!="function")return!1;let h;try{h=d.getChildren(!0,!0,!0)}catch(y){return L("runtime.init.gsapCallbackChildren",y),_t.set(d,!1),!1}if(!Array.isArray(h))return _t.set(d,!1),!1;for(let y of h){if(!Tr(y))continue;let w=y.vars;if(!Tr(w)||!Tl.some(j=>typeof w[j]=="function"))continue;let z=Nr(y,"totalDuration")??Nr(y,"duration");if(z!=null&&z<=1e-6)return _t.set(d,!0),!0}return _t.set(d,!1),!1},ot=(d,p)=>{let h=e.capturedTimeline,y=p?.suppressEvents===!0;if(h){p?.activateChildren&&Ml(h);let w=h,C=d;if(typeof w.totalDuration=="function")try{let R=Number(w.totalDuration());Number.isFinite(R)&&R>0&&d>R&&(C=R)}catch(R){L("runtime.init.transport.clampDuration",R)}try{typeof h.totalTime=="function"?(h.totalTime(C,y),!y&&!Nl(h)&&(h.totalTime(C+.001,!0),h.totalTime(C,!0))):h.seek(C,y)}catch(R){L("runtime.init.transport.seek",R)}}else vl(d,p);for(let w of e.deterministicAdapters)if(!(w.name==="gsap"&&h))try{w.seek({time:d,suppressEvents:y})}catch(C){L("runtime.init.transport.adapter",C)}},Ll=()=>{try{return document.querySelector(`[${Va}]`)!=null}catch{return!1}},Lr=()=>{if(!(e.tornDown||ni)){ni=!0;try{if(e.transportRafId=window.requestAnimationFrame(Lr),fn+=1,za({tick:fn,isPlaying:P.isPlaying(),hasCapturedTimeline:e.capturedTimeline!=null,currentTimeSeconds:P.now()})){let p=e.capturedTimeline;if(V()){e.capturedTimeline&&!he._timeline&&(he._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==p&&e.capturedTimeline.pause();let h=O(e.capturedTimeline,0);h>0&&P.setDuration(h),it()}}if(fn%20===0&&it(),fn%30===0&&Kn(),e.capturedTimeline){let p=O(e.capturedTimeline,0);p>0&&(!P.isPlaying()||p>=P.getDuration())&&P.setDuration(p)}if(P.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&fe.isActive()&&fe.context){let p=fe.getTime();p>=0&&P.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let y of p){if(!(y instanceof HTMLMediaElement)||!y.isConnected)continue;let w=Number.parseFloat(y.dataset.start??""),C=Number.parseFloat(y.dataset.duration??""),R=Number.isFinite(C)&&C>0?w+C:1/0,z=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0;if(Number.isFinite(w)&&e.currentTime>=w&&e.currentTime<=R){y.paused?!y.error&&y.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(P.attachAudioSource({currentTimeSeconds:e.currentTime}),h=!0):(P.attachAudioSource({el:y,compositionStart:w,mediaStart:z}),h=!0);break}}!h&&P.hasAudioSource()&&P.detachAudioSource()}else P.hasAudioSource()&&P.detachAudioSource();let d=P.now();if(e.currentTime=d,(P.isPlaying()||!Ll())&&ot(d),P.isPlaying()&&P.reachedEnd()){fe.stopAll(),P.detachAudioSource(),P.pause(),e.isPlaying=!1;let p=P.getDuration();Number.isFinite(p)&&(P.seek(p),e.currentTime=p,ot(p)),He("pause"),Re(),Ne(!0);return}P.isPlaying()&&Re(),Ne(!1)}finally{ni=!1}}},Rr=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let y=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(y))continue;let w=Number.parseFloat(h.dataset.duration??""),C=Number.isFinite(w)&&w>0?y+w:1/0;if(d<y||d>=C)continue;let R=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,z=d-y+R;if(z>=0)try{h.currentTime=z}catch{}}},kr=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let d=fe.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let y=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(y))continue;let w=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,C=Number.parseFloat(h.dataset.volume??""),R=Number.isFinite(C)?C:1,z=Number.parseFloat(h.dataset.duration??""),j=Number.isFinite(z)&&z>0?z:Number.POSITIVE_INFINITY,ge=h.closest("[data-composition-id]");if(ge){let xe=T(ge,0),ne=k(ge,{includeAuthoredTimingAttrs:!0});ne!=null&&ne>0&&(j=Math.min(j,Math.max(0,xe+ne-y)))}fe.decodeAudioElement(h).then(xe=>{!xe||!P.isPlaying()||fe.schedulePlayback(h,xe,y,w,P.now(),R*e.bridgeVolume,d,e.playbackRate,j)})}},Dr=()=>{fe.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&ti&&P.isPlaying()&&fe.hasBoundedActiveSources()&&(fe.stopAll(),kr())};if(he.play=()=>{let d=e.capturedTimeline;if(P.isPlaying())return;let p=O(d,0);if(p>0)P.setDuration(p),P.reachedEnd()&&(P.seek(0),e.currentTime=0,ot(0));else{let h=M(),y=Number(h?.getAttribute("data-duration")??0);y>0&&P.setDuration(y)}d&&d.pause(),P.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,Rr(P.now()),ti&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&kr(),He("play"),Re(),Ve.redraw(),Ne(!0))},he.pause=()=>{if(!P.isPlaying())return;fe.stopAll(),P.detachAudioSource(),P.pause(),e.isPlaying=!1,e.currentTime=P.now(),e.mediaForceSyncNextTick=!0,Rr(e.currentTime);let d=e.capturedTimeline;d&&d.pause(),He("pause"),Re(),Ve.redraw(),Ne(!0)},he.seek=d=>{let p=mt(Math.max(0,Number(d)||0),e.canonicalFps);fe.stopAll(),P.detachAudioSource(),P.isPlaying()&&P.pause(),P.seek(p),e.currentTime=P.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let y=e.capturedTimeline;y&&y.pause(),ot(e.currentTime),He("pause"),Re(),Ve.redraw(),Ne(!0)},he.renderSeek=(d,p)=>{let h=mt(Math.max(0,Number(d)||0),e.canonicalFps);P.isPlaying()&&P.pause(),P.seek(h),e.currentTime=P.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0,ot(e.currentTime,{activateChildren:!0,suppressEvents:p?.suppressEvents}),Re(),Ve.redraw(),Ne(!0)},he.getTime=()=>P.now(),he.getDuration=()=>{let d=P.getDuration();return Number.isFinite(d)?d:0},he.isPlaying=()=>P.isPlaying(),he.setPlaybackRate=d=>{ei(d),P.setRate(e.playbackRate),Dr()},e.capturedTimeline){let d=O(e.capturedTimeline,0);d>0&&P.setDuration(d),e.capturedTimeline.pause()}let Ir=window.__player;if(Ir){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(Ir,p,{get:()=>he[p],set:h=>{he[p]=h},configurable:!0})}Aa(window),e.transportRafId=window.requestAnimationFrame(Lr),it(),Ne(!0);let ii=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),e.transportClock=null,fe.destroy(),Fe!=null&&(window.clearTimeout(Fe),Fe=null),l!=null&&(window.cancelAnimationFrame(l),l=null),bl(),e.controlBridgeHandler&&(window.removeEventListener("message",e.controlBridgeHandler),e.controlBridgeHandler=null),i&&(window.removeEventListener("error",i),i=null),r&&(window.removeEventListener("unhandledrejection",r),r=null),e.beforeUnloadHandler&&(window.removeEventListener("beforeunload",e.beforeUnloadHandler),e.beforeUnloadHandler=null),dn.disablePickMode();for(let d of e.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){L("runtime.init.site12",p)}e.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(p){L("runtime.init.site13",p)}for(let d of e.injectedCompStyles)try{d.remove()}catch(p){L("runtime.init.site14",p)}e.injectedCompStyles=[];for(let d of e.injectedCompScripts)try{d.remove()}catch(p){L("runtime.init.site15",p)}e.injectedCompScripts=[],e.capturedTimeline=null,window.__hfRuntimeTeardown===ii&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=ii,e.beforeUnloadHandler=ii,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var qa=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],xr=[[697,698,"ON"],[706,719,"ON"],[722,735,"ON"],[741,749,"ON"],[751,767,"ON"],[768,879,"NSM"],[884,885,"ON"],[894,894,"ON"],[900,901,"ON"],[903,903,"ON"],[1014,1014,"ON"],[1155,1161,"NSM"],[1418,1418,"ON"],[1421,1422,"ON"],[1423,1423,"ET"],[1424,1424,"R"],[1425,1469,"NSM"],[1470,1470,"R"],[1471,1471,"NSM"],[1472,1472,"R"],[1473,1474,"NSM"],[1475,1475,"R"],[1476,1477,"NSM"],[1478,1478,"R"],[1479,1479,"NSM"],[1480,1535,"R"],[1536,1541,"AN"],[1542,1543,"ON"],[1544,1544,"AL"],[1545,1546,"ET"],[1547,1547,"AL"],[1548,1548,"CS"],[1549,1549,"AL"],[1550,1551,"ON"],[1552,1562,"NSM"],[1563,1610,"AL"],[1611,1631,"NSM"],[1632,1641,"AN"],[1642,1642,"ET"],[1643,1644,"AN"],[1645,1647,"AL"],[1648,1648,"NSM"],[1649,1749,"AL"],[1750,1756,"NSM"],[1757,1757,"AN"],[1758,1758,"ON"],[1759,1764,"NSM"],[1765,1766,"AL"],[1767,1768,"NSM"],[1769,1769,"ON"],[1770,1773,"NSM"],[1774,1775,"AL"],[1776,1785,"EN"],[1786,1808,"AL"],[1809,1809,"NSM"],[1810,1839,"AL"],[1840,1866,"NSM"],[1867,1957,"AL"],[1958,1968,"NSM"],[1969,1983,"AL"],[1984,2026,"R"],[2027,2035,"NSM"],[2036,2037,"R"],[2038,2041,"ON"],[2042,2044,"R"],[2045,2045,"NSM"],[2046,2069,"R"],[2070,2073,"NSM"],[2074,2074,"R"],[2075,2083,"NSM"],[2084,2084,"R"],[2085,2087,"NSM"],[2088,2088,"R"],[2089,2093,"NSM"],[2094,2136,"R"],[2137,2139,"NSM"],[2140,2143,"R"],[2144,2191,"AL"],[2192,2193,"AN"],[2194,2198,"AL"],[2199,2207,"NSM"],[2208,2249,"AL"],[2250,2273,"NSM"],[2274,2274,"AN"],[2275,2306,"NSM"],[2362,2362,"NSM"],[2364,2364,"NSM"],[2369,2376,"NSM"],[2381,2381,"NSM"],[2385,2391,"NSM"],[2402,2403,"NSM"],[2433,2433,"NSM"],[2492,2492,"NSM"],[2497,2500,"NSM"],[2509,2509,"NSM"],[2530,2531,"NSM"],[2546,2547,"ET"],[2555,2555,"ET"],[2558,2558,"NSM"],[2561,2562,"NSM"],[2620,2620,"NSM"],[2625,2626,"NSM"],[2631,2632,"NSM"],[2635,2637,"NSM"],[2641,2641,"NSM"],[2672,2673,"NSM"],[2677,2677,"NSM"],[2689,2690,"NSM"],[2748,2748,"NSM"],[2753,2757,"NSM"],[2759,2760,"NSM"],[2765,2765,"NSM"],[2786,2787,"NSM"],[2801,2801,"ET"],[2810,2815,"NSM"],[2817,2817,"NSM"],[2876,2876,"NSM"],[2879,2879,"NSM"],[2881,2884,"NSM"],[2893,2893,"NSM"],[2901,2902,"NSM"],[2914,2915,"NSM"],[2946,2946,"NSM"],[3008,3008,"NSM"],[3021,3021,"NSM"],[3059,3064,"ON"],[3065,3065,"ET"],[3066,3066,"ON"],[3072,3072,"NSM"],[3076,3076,"NSM"],[3132,3132,"NSM"],[3134,3136,"NSM"],[3142,3144,"NSM"],[3146,3149,"NSM"],[3157,3158,"NSM"],[3170,3171,"NSM"],[3192,3198,"ON"],[3201,3201,"NSM"],[3260,3260,"NSM"],[3276,3277,"NSM"],[3298,3299,"NSM"],[3328,3329,"NSM"],[3387,3388,"NSM"],[3393,3396,"NSM"],[3405,3405,"NSM"],[3426,3427,"NSM"],[3457,3457,"NSM"],[3530,3530,"NSM"],[3538,3540,"NSM"],[3542,3542,"NSM"],[3633,3633,"NSM"],[3636,3642,"NSM"],[3647,3647,"ET"],[3655,3662,"NSM"],[3761,3761,"NSM"],[3764,3772,"NSM"],[3784,3790,"NSM"],[3864,3865,"NSM"],[3893,3893,"NSM"],[3895,3895,"NSM"],[3897,3897,"NSM"],[3898,3901,"ON"],[3953,3966,"NSM"],[3968,3972,"NSM"],[3974,3975,"NSM"],[3981,3991,"NSM"],[3993,4028,"NSM"],[4038,4038,"NSM"],[4141,4144,"NSM"],[4146,4151,"NSM"],[4153,4154,"NSM"],[4157,4158,"NSM"],[4184,4185,"NSM"],[4190,4192,"NSM"],[4209,4212,"NSM"],[4226,4226,"NSM"],[4229,4230,"NSM"],[4237,4237,"NSM"],[4253,4253,"NSM"],[4957,4959,"NSM"],[5008,5017,"ON"],[5120,5120,"ON"],[5760,5760,"WS"],[5787,5788,"ON"],[5906,5908,"NSM"],[5938,5939,"NSM"],[5970,5971,"NSM"],[6002,6003,"NSM"],[6068,6069,"NSM"],[6071,6077,"NSM"],[6086,6086,"NSM"],[6089,6099,"NSM"],[6107,6107,"ET"],[6109,6109,"NSM"],[6128,6137,"ON"],[6144,6154,"ON"],[6155,6157,"NSM"],[6158,6158,"BN"],[6159,6159,"NSM"],[6277,6278,"NSM"],[6313,6313,"NSM"],[6432,6434,"NSM"],[6439,6440,"NSM"],[6450,6450,"NSM"],[6457,6459,"NSM"],[6464,6464,"ON"],[6468,6469,"ON"],[6622,6655,"ON"],[6679,6680,"NSM"],[6683,6683,"NSM"],[6742,6742,"NSM"],[6744,6750,"NSM"],[6752,6752,"NSM"],[6754,6754,"NSM"],[6757,6764,"NSM"],[6771,6780,"NSM"],[6783,6783,"NSM"],[6832,6877,"NSM"],[6880,6891,"NSM"],[6912,6915,"NSM"],[6964,6964,"NSM"],[6966,6970,"NSM"],[6972,6972,"NSM"],[6978,6978,"NSM"],[7019,7027,"NSM"],[7040,7041,"NSM"],[7074,7077,"NSM"],[7080,7081,"NSM"],[7083,7085,"NSM"],[7142,7142,"NSM"],[7144,7145,"NSM"],[7149,7149,"NSM"],[7151,7153,"NSM"],[7212,7219,"NSM"],[7222,7223,"NSM"],[7376,7378,"NSM"],[7380,7392,"NSM"],[7394,7400,"NSM"],[7405,7405,"NSM"],[7412,7412,"NSM"],[7416,7417,"NSM"],[7616,7679,"NSM"],[8125,8125,"ON"],[8127,8129,"ON"],[8141,8143,"ON"],[8157,8159,"ON"],[8173,8175,"ON"],[8189,8190,"ON"],[8192,8202,"WS"],[8203,8205,"BN"],[8207,8207,"R"],[8208,8231,"ON"],[8232,8232,"WS"],[8233,8233,"B"],[8234,8238,"BN"],[8239,8239,"CS"],[8240,8244,"ET"],[8245,8259,"ON"],[8260,8260,"CS"],[8261,8286,"ON"],[8287,8287,"WS"],[8288,8303,"BN"],[8304,8304,"EN"],[8308,8313,"EN"],[8314,8315,"ES"],[8316,8318,"ON"],[8320,8329,"EN"],[8330,8331,"ES"],[8332,8334,"ON"],[8352,8399,"ET"],[8400,8432,"NSM"],[8448,8449,"ON"],[8451,8454,"ON"],[8456,8457,"ON"],[8468,8468,"ON"],[8470,8472,"ON"],[8478,8483,"ON"],[8485,8485,"ON"],[8487,8487,"ON"],[8489,8489,"ON"],[8494,8494,"ET"],[8506,8507,"ON"],[8512,8516,"ON"],[8522,8525,"ON"],[8528,8543,"ON"],[8585,8587,"ON"],[8592,8721,"ON"],[8722,8722,"ES"],[8723,8723,"ET"],[8724,9013,"ON"],[9083,9108,"ON"],[9110,9257,"ON"],[9280,9290,"ON"],[9312,9351,"ON"],[9352,9371,"EN"],[9450,9899,"ON"],[9901,10239,"ON"],[10496,11123,"ON"],[11126,11263,"ON"],[11493,11498,"ON"],[11503,11505,"NSM"],[11513,11519,"ON"],[11647,11647,"NSM"],[11744,11775,"NSM"],[11776,11869,"ON"],[11904,11929,"ON"],[11931,12019,"ON"],[12032,12245,"ON"],[12272,12287,"ON"],[12288,12288,"WS"],[12289,12292,"ON"],[12296,12320,"ON"],[12330,12333,"NSM"],[12336,12336,"ON"],[12342,12343,"ON"],[12349,12351,"ON"],[12441,12442,"NSM"],[12443,12444,"ON"],[12448,12448,"ON"],[12539,12539,"ON"],[12736,12773,"ON"],[12783,12783,"ON"],[12829,12830,"ON"],[12880,12895,"ON"],[12924,12926,"ON"],[12977,12991,"ON"],[13004,13007,"ON"],[13175,13178,"ON"],[13278,13279,"ON"],[13311,13311,"ON"],[19904,19967,"ON"],[42128,42182,"ON"],[42509,42511,"ON"],[42607,42610,"NSM"],[42611,42611,"ON"],[42612,42621,"NSM"],[42622,42623,"ON"],[42654,42655,"NSM"],[42736,42737,"NSM"],[42752,42785,"ON"],[42888,42888,"ON"],[43010,43010,"NSM"],[43014,43014,"NSM"],[43019,43019,"NSM"],[43045,43046,"NSM"],[43048,43051,"ON"],[43052,43052,"NSM"],[43064,43065,"ET"],[43124,43127,"ON"],[43204,43205,"NSM"],[43232,43249,"NSM"],[43263,43263,"NSM"],[43302,43309,"NSM"],[43335,43345,"NSM"],[43392,43394,"NSM"],[43443,43443,"NSM"],[43446,43449,"NSM"],[43452,43453,"NSM"],[43493,43493,"NSM"],[43561,43566,"NSM"],[43569,43570,"NSM"],[43573,43574,"NSM"],[43587,43587,"NSM"],[43596,43596,"NSM"],[43644,43644,"NSM"],[43696,43696,"NSM"],[43698,43700,"NSM"],[43703,43704,"NSM"],[43710,43711,"NSM"],[43713,43713,"NSM"],[43756,43757,"NSM"],[43766,43766,"NSM"],[43882,43883,"ON"],[44005,44005,"NSM"],[44008,44008,"NSM"],[44013,44013,"NSM"],[64285,64285,"R"],[64286,64286,"NSM"],[64287,64296,"R"],[64297,64297,"ES"],[64298,64335,"R"],[64336,64450,"AL"],[64451,64466,"ON"],[64467,64829,"AL"],[64830,64847,"ON"],[64848,64911,"AL"],[64912,64913,"ON"],[64914,64967,"AL"],[64968,64975,"ON"],[64976,65007,"BN"],[65008,65020,"AL"],[65021,65023,"ON"],[65024,65039,"NSM"],[65040,65049,"ON"],[65056,65071,"NSM"],[65072,65103,"ON"],[65104,65104,"CS"],[65105,65105,"ON"],[65106,65106,"CS"],[65108,65108,"ON"],[65109,65109,"CS"],[65110,65118,"ON"],[65119,65119,"ET"],[65120,65121,"ON"],[65122,65123,"ES"],[65124,65126,"ON"],[65128,65128,"ON"],[65129,65130,"ET"],[65131,65131,"ON"],[65136,65278,"AL"],[65279,65279,"BN"],[65281,65282,"ON"],[65283,65285,"ET"],[65286,65290,"ON"],[65291,65291,"ES"],[65292,65292,"CS"],[65293,65293,"ES"],[65294,65295,"CS"],[65296,65305,"EN"],[65306,65306,"CS"],[65307,65312,"ON"],[65339,65344,"ON"],[65371,65381,"ON"],[65504,65505,"ET"],[65506,65508,"ON"],[65509,65510,"ET"],[65512,65518,"ON"],[65520,65528,"BN"],[65529,65533,"ON"],[65534,65535,"BN"],[65793,65793,"ON"],[65856,65932,"ON"],[65936,65948,"ON"],[65952,65952,"ON"],[66045,66045,"NSM"],[66272,66272,"NSM"],[66273,66299,"EN"],[66422,66426,"NSM"],[67584,67870,"R"],[67871,67871,"ON"],[67872,68096,"R"],[68097,68099,"NSM"],[68100,68100,"R"],[68101,68102,"NSM"],[68103,68107,"R"],[68108,68111,"NSM"],[68112,68151,"R"],[68152,68154,"NSM"],[68155,68158,"R"],[68159,68159,"NSM"],[68160,68324,"R"],[68325,68326,"NSM"],[68327,68408,"R"],[68409,68415,"ON"],[68416,68863,"R"],[68864,68899,"AL"],[68900,68903,"NSM"],[68904,68911,"AL"],[68912,68921,"AN"],[68922,68927,"AL"],[68928,68937,"AN"],[68938,68968,"R"],[68969,68973,"NSM"],[68974,68974,"ON"],[68975,69215,"R"],[69216,69246,"AN"],[69247,69290,"R"],[69291,69292,"NSM"],[69293,69311,"R"],[69312,69327,"AL"],[69328,69336,"ON"],[69337,69369,"AL"],[69370,69375,"NSM"],[69376,69423,"R"],[69424,69445,"AL"],[69446,69456,"NSM"],[69457,69487,"AL"],[69488,69505,"R"],[69506,69509,"NSM"],[69510,69631,"R"],[69633,69633,"NSM"],[69688,69702,"NSM"],[69714,69733,"ON"],[69744,69744,"NSM"],[69747,69748,"NSM"],[69759,69761,"NSM"],[69811,69814,"NSM"],[69817,69818,"NSM"],[69826,69826,"NSM"],[69888,69890,"NSM"],[69927,69931,"NSM"],[69933,69940,"NSM"],[70003,70003,"NSM"],[70016,70017,"NSM"],[70070,70078,"NSM"],[70089,70092,"NSM"],[70095,70095,"NSM"],[70191,70193,"NSM"],[70196,70196,"NSM"],[70198,70199,"NSM"],[70206,70206,"NSM"],[70209,70209,"NSM"],[70367,70367,"NSM"],[70371,70378,"NSM"],[70400,70401,"NSM"],[70459,70460,"NSM"],[70464,70464,"NSM"],[70502,70508,"NSM"],[70512,70516,"NSM"],[70587,70592,"NSM"],[70606,70606,"NSM"],[70608,70608,"NSM"],[70610,70610,"NSM"],[70625,70626,"NSM"],[70712,70719,"NSM"],[70722,70724,"NSM"],[70726,70726,"NSM"],[70750,70750,"NSM"],[70835,70840,"NSM"],[70842,70842,"NSM"],[70847,70848,"NSM"],[70850,70851,"NSM"],[71090,71093,"NSM"],[71100,71101,"NSM"],[71103,71104,"NSM"],[71132,71133,"NSM"],[71219,71226,"NSM"],[71229,71229,"NSM"],[71231,71232,"NSM"],[71264,71276,"ON"],[71339,71339,"NSM"],[71341,71341,"NSM"],[71344,71349,"NSM"],[71351,71351,"NSM"],[71453,71453,"NSM"],[71455,71455,"NSM"],[71458,71461,"NSM"],[71463,71467,"NSM"],[71727,71735,"NSM"],[71737,71738,"NSM"],[71995,71996,"NSM"],[71998,71998,"NSM"],[72003,72003,"NSM"],[72148,72151,"NSM"],[72154,72155,"NSM"],[72160,72160,"NSM"],[72193,72198,"NSM"],[72201,72202,"NSM"],[72243,72248,"NSM"],[72251,72254,"NSM"],[72263,72263,"NSM"],[72273,72278,"NSM"],[72281,72283,"NSM"],[72330,72342,"NSM"],[72344,72345,"NSM"],[72544,72544,"NSM"],[72546,72548,"NSM"],[72550,72550,"NSM"],[72752,72758,"NSM"],[72760,72765,"NSM"],[72850,72871,"NSM"],[72874,72880,"NSM"],[72882,72883,"NSM"],[72885,72886,"NSM"],[73009,73014,"NSM"],[73018,73018,"NSM"],[73020,73021,"NSM"],[73023,73029,"NSM"],[73031,73031,"NSM"],[73104,73105,"NSM"],[73109,73109,"NSM"],[73111,73111,"NSM"],[73459,73460,"NSM"],[73472,73473,"NSM"],[73526,73530,"NSM"],[73536,73536,"NSM"],[73538,73538,"NSM"],[73562,73562,"NSM"],[73685,73692,"ON"],[73693,73696,"ET"],[73697,73713,"ON"],[78912,78912,"NSM"],[78919,78933,"NSM"],[90398,90409,"NSM"],[90413,90415,"NSM"],[92912,92916,"NSM"],[92976,92982,"NSM"],[94031,94031,"NSM"],[94095,94098,"NSM"],[94178,94178,"ON"],[94180,94180,"NSM"],[113821,113822,"NSM"],[113824,113827,"BN"],[117760,117973,"ON"],[118e3,118009,"EN"],[118010,118012,"ON"],[118016,118451,"ON"],[118458,118480,"ON"],[118496,118512,"ON"],[118528,118573,"NSM"],[118576,118598,"NSM"],[119143,119145,"NSM"],[119155,119162,"BN"],[119163,119170,"NSM"],[119173,119179,"NSM"],[119210,119213,"NSM"],[119273,119274,"ON"],[119296,119361,"ON"],[119362,119364,"NSM"],[119365,119365,"ON"],[119552,119638,"ON"],[120513,120513,"ON"],[120539,120539,"ON"],[120571,120571,"ON"],[120597,120597,"ON"],[120629,120629,"ON"],[120655,120655,"ON"],[120687,120687,"ON"],[120713,120713,"ON"],[120745,120745,"ON"],[120771,120771,"ON"],[120782,120831,"EN"],[121344,121398,"NSM"],[121403,121452,"NSM"],[121461,121461,"NSM"],[121476,121476,"NSM"],[121499,121503,"NSM"],[121505,121519,"NSM"],[122880,122886,"NSM"],[122888,122904,"NSM"],[122907,122913,"NSM"],[122915,122916,"NSM"],[122918,122922,"NSM"],[123023,123023,"NSM"],[123184,123190,"NSM"],[123566,123566,"NSM"],[123628,123631,"NSM"],[123647,123647,"ET"],[124140,124143,"NSM"],[124398,124399,"NSM"],[124643,124643,"NSM"],[124646,124646,"NSM"],[124654,124655,"NSM"],[124661,124661,"NSM"],[124928,125135,"R"],[125136,125142,"NSM"],[125143,125251,"R"],[125252,125258,"NSM"],[125259,126063,"R"],[126064,126143,"AL"],[126144,126207,"R"],[126208,126287,"AL"],[126288,126463,"R"],[126464,126703,"AL"],[126704,126705,"ON"],[126706,126719,"AL"],[126720,126975,"R"],[126976,127019,"ON"],[127024,127123,"ON"],[127136,127150,"ON"],[127153,127167,"ON"],[127169,127183,"ON"],[127185,127221,"ON"],[127232,127242,"EN"],[127243,127247,"ON"],[127279,127279,"ON"],[127338,127343,"ON"],[127405,127405,"ON"],[127584,127589,"ON"],[127744,128728,"ON"],[128732,128748,"ON"],[128752,128764,"ON"],[128768,128985,"ON"],[128992,129003,"ON"],[129008,129008,"ON"],[129024,129035,"ON"],[129040,129095,"ON"],[129104,129113,"ON"],[129120,129159,"ON"],[129168,129197,"ON"],[129200,129211,"ON"],[129216,129217,"ON"],[129232,129240,"ON"],[129280,129623,"ON"],[129632,129645,"ON"],[129648,129660,"ON"],[129664,129674,"ON"],[129678,129734,"ON"],[129736,129736,"ON"],[129741,129756,"ON"],[129759,129770,"ON"],[129775,129784,"ON"],[129792,129938,"ON"],[129940,130031,"ON"],[130032,130041,"EN"],[130042,130042,"ON"],[131070,131071,"BN"],[196606,196607,"BN"],[262142,262143,"BN"],[327678,327679,"BN"],[393214,393215,"BN"],[458750,458751,"BN"],[524286,524287,"BN"],[589822,589823,"BN"],[655358,655359,"BN"],[720894,720895,"BN"],[786430,786431,"BN"],[851966,851967,"BN"],[917502,917759,"BN"],[917760,917999,"NSM"],[918e3,921599,"BN"],[983038,983039,"BN"],[1048574,1048575,"BN"],[1114110,1114111,"BN"]];function Nf(e){if(e<=255)return qa[e];let t=0,n=xr.length-1;for(;t<=n;){let i=t+n>>1,r=xr[i];if(e<r[0]){n=i-1;continue}if(e>r[1]){t=i+1;continue}return r[2]}return"L"}function Lf(e){let t=e.length;if(t===0)return null;let n=new Array(t),i=!1;for(let u=0;u<t;){let c=e.charCodeAt(u),m=c,f=1;if(c>=55296&&c<=56319&&u+1<t){let S=e.charCodeAt(u+1);S>=56320&&S<=57343&&(m=(c-55296<<10)+(S-56320)+65536,f=2)}let x=Nf(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let S=0;S<f;S++)n[u+S]=x;u+=f}if(!i)return null;let r=0;for(let u=0;u<t;u++){let c=n[u];if(c==="L"){r=0;break}if(c==="R"||c==="AL"){r=1;break}}let o=new Int8Array(t);for(let u=0;u<t;u++)o[u]=r;let s=r&1?"R":"L",l=s,a=l;for(let u=0;u<t;u++)n[u]==="NSM"?n[u]=a:a=n[u];a=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=a==="AL"?"AN":"EN":(c==="R"||c==="L"||c==="AL")&&(a=c)}for(let u=0;u<t;u++)n[u]==="AL"&&(n[u]="R");for(let u=1;u<t-1;u++)n[u]==="ES"&&n[u-1]==="EN"&&n[u+1]==="EN"&&(n[u]="EN"),n[u]==="CS"&&(n[u-1]==="EN"||n[u-1]==="AN")&&n[u+1]===n[u-1]&&(n[u]=n[u-1]);for(let u=0;u<t;u++){if(n[u]!=="EN")continue;let c;for(c=u-1;c>=0&&n[c]==="ET";c--)n[c]="EN";for(c=u+1;c<t&&n[c]==="ET";c++)n[c]="EN"}for(let u=0;u<t;u++){let c=n[u];(c==="WS"||c==="ES"||c==="ET"||c==="CS")&&(n[u]="ON")}a=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=a==="L"?"L":"EN":(c==="R"||c==="L")&&(a=c)}for(let u=0;u<t;u++){if(n[u]!=="ON")continue;let c=u+1;for(;c<t&&n[c]==="ON";)c++;let m=u>0?n[u-1]:l,f=c<t?n[c]:l,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let b=u;b<c;b++)n[b]=x;u=c-1}for(let u=0;u<t;u++)n[u]==="ON"&&(n[u]=s);for(let u=0;u<t;u++){let c=n[u];(o[u]&1)===0?c==="R"?o[u]++:(c==="AN"||c==="EN")&&(o[u]+=2):(c==="L"||c==="AN"||c==="EN")&&o[u]++}return o}function $a(e,t){let n=Lf(e);if(n===null)return null;let i=new Int8Array(t.length);for(let r=0;r<t.length;r++)i[r]=n[t[r]];return i}var Rf=/[ \\t\\n\\r\\f]+/g,kf=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Df(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function If(e){if(!kf.test(e))return e;let t=e.replace(Rf," ");return t.charCodeAt(0)===32&&(t=t.slice(1)),t.length>0&&t.charCodeAt(t.length-1)===32&&(t=t.slice(0,-1)),t}function Pf(e){return/[\\r\\f]/.test(e)?e.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):e.replace(/\\r\\n/g,`\n`)}var br=null,Of;function Bf(){return br===null&&(br=new Intl.Segmenter(Of,{granularity:"word"})),br}var Hf=/\\p{Script=Arabic}/u,Vn=/\\p{M}/u,tl=/\\p{Nd}/u;function Ka(e){return Hf.test(e)}function Ja(e){return e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=183984&&e<=191471||e>=191472&&e<=192093||e>=194560&&e<=195103||e>=196608&&e<=201551||e>=201552&&e<=205743||e>=205744&&e<=210041||e>=63744&&e<=64255||e>=12288&&e<=12351||e>=12352&&e<=12447||e>=12448&&e<=12543||e>=44032&&e<=55215||e>=65280&&e<=65519}function Oe(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(!(n<12288)){if(n>=55296&&n<=56319&&t+1<e.length){let i=e.charCodeAt(t+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(Ja(r))return!0;t++;continue}}if(Ja(n))return!0}}return!1}function Gf(e){let t=qn(e);return t!==null&&(jn.has(t)||tt.has(t))}var Wf=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Uf(e){return Oe(e)}function Vf(e){let t=qn(e);return t!==null&&Wf.has(t)}function zn(e){return!Gf(e)&&!Vf(e)}var jn=new Set(["\\uFF0C","\\uFF0E","\\uFF01","\\uFF1A","\\uFF1B","\\uFF1F","\\u3001","\\u3002","\\u30FB","\\uFF09","\\u3015","\\u3009","\\u300B","\\u300D","\\u300F","\\u3011","\\u3017","\\u3019","\\u301B","\\u30FC","\\u3005","\\u303B","\\u309D","\\u309E","\\u30FD","\\u30FE"]),an=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Sr=new Set(["\'","\\u2019"]),tt=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),zf=new Set([":",".","\\u060C","\\u061B"]),jf=new Set(["\\u104F"]),qf=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function $f(e){if(Er(e))return!0;let t=!1;for(let n of e){if(tt.has(n)){t=!0;continue}if(!(t&&Vn.test(n)))return!1}return t}function Kf(e){for(let t of e)if(!jn.has(t)&&!tt.has(t))return!1;return e.length>0}function Jf(e){if(Er(e))return!0;for(let t of e)if(!an.has(t)&&!Sr.has(t)&&!Vn.test(t))return!1;return e.length>0}function Er(e){let t=!1;for(let n of e)if(!(n==="\\\\"||Vn.test(n))){if(an.has(n)||tt.has(n)||Sr.has(n)){t=!0;continue}return!1}return t}function nl(e,t){let n=t-1;if(n<=0)return Math.max(n,0);let i=e.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=e.charCodeAt(r);return o>=55296&&o<=56319?r:n}function qn(e){if(e.length===0)return null;let t=nl(e,e.length);return e.slice(t)}function Yf(e){let t=Array.from(e),n=t.length;for(;n>0;){let i=t[n-1];if(Vn.test(i)){n--;continue}if(an.has(i)||Sr.has(i)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(""),tail:t.slice(n).join("")}}function Xf(e,t,n){return n==="text"&&!t&&e.length===1&&e!=="-"&&e!=="\\u2014"?e:null}function Ya(e,t,n,i){let r=t[i],o=e[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let l=r.repeat(s);return e[i]=l,l}function Xa(e,t){return e&&t!==null&&zf.has(t)}function Qf(e){let t=qn(e);return t!==null&&jf.has(t)}function Zf(e){if(e.length<2||e[0]!==" ")return null;let t=e.slice(1);return/^\\p{M}+$/u.test(t)?{space:" ",marks:t}:null}function $n(e){let t=e.length;for(;t>0;){let n=nl(e,t),i=e.slice(n,t);if(qf.has(i))return!0;if(!tt.has(i))return!1;t=n}return!1}function em(e,t){if(t.preserveOrdinarySpaces||t.preserveHardBreaks){if(e===" ")return"preserved-space";if(e===" ")return"tab";if(t.preserveHardBreaks&&e===`\n`)return"hard-break"}return e===" "?"space":e==="\\xA0"||e==="\\u202F"||e==="\\u2060"||e==="\\uFEFF"?"glue":e==="\\u200B"?"zero-width-break":e==="\\xAD"?"soft-hyphen":"text"}var tm=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Le(e){return e.length===1?e[0]:e.join("")}function nm(e,t){let n=[];for(let i=e.length-1;i>=0;i--)n.push(e[i]);return n.push(t),Le(n)}function im(e,t,n,i){if(!tm.test(e))return[{text:e,isWordLike:t,kind:"text",start:n}];let r=[],o=null,s=[],l=n,a=!1,u=0;for(let c of e){let m=em(c,i),f=m==="text"&&t;if(o!==null&&m===o&&f===a){s.push(c),u+=c.length;continue}o!==null&&r.push({text:Le(s),isWordLike:a,kind:o,start:l}),o=m,s=[c],l=n+u,a=f,u+=c.length}return o!==null&&r.push({text:Le(s),isWordLike:a,kind:o,start:l}),r}function yr(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var rm=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function om(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:rm.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function sm(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function am(e){let t=e.texts.slice(),n=e.isWordLike.slice(),i=e.kinds.slice(),r=e.starts.slice();for(let s=0;s<e.len;s++){if(i[s]!=="text"||!om(e,s))continue;let l=[t[s]],a=s+1;for(;a<e.len&&!yr(i[a]);){l.push(t[a]),n[s]=!0;let u=t[a].includes("?");if(i[a]="text",t[a]="",a++,u)break}t[s]=Le(l)}let o=0;for(let s=0;s<t.length;s++){let l=t[s];l.length!==0&&(o!==s&&(t[o]=l,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return t.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:t,isWordLike:n,kinds:i,starts:r}}function lm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o];if(t.push(s),n.push(e.isWordLike[o]),i.push(e.kinds[o]),r.push(e.starts[o]),!sm(s))continue;let l=o+1;if(l>=e.len||yr(e.kinds[l]))continue;let a=[],u=e.starts[l],c=l;for(;c<e.len&&!yr(e.kinds[c]);)a.push(e.texts[c]),c++;a.length>0&&(t.push(Le(a)),n.push(!0),i.push("text"),r.push(u),o=c-1)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}var um=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),Qa=/^[A-Za-z0-9_]+[,:;]*$/,Za=/[,:;]+$/;function il(e){for(let t of e)if(tl.test(t))return!0;return!1}function sn(e){if(e.length===0)return!1;for(let t of e)if(!(tl.test(t)||um.has(t)))return!1;return!0}function cm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o],l=e.kinds[o];if(l==="text"&&sn(s)&&il(s)){let a=[s],u=o+1;for(;u<e.len&&e.kinds[u]==="text"&&sn(e.texts[u]);)a.push(e.texts[u]),u++;t.push(Le(a)),n.push(!0),i.push("text"),r.push(e.starts[o]),o=u-1;continue}t.push(s),n.push(e.isWordLike[o]),i.push(l),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function dm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o],l=e.kinds[o],a=e.isWordLike[o];if(l==="text"&&a&&Qa.test(s)){let u=[s],c=Za.test(s),m=o+1;for(;c&&m<e.len&&e.kinds[m]==="text"&&e.isWordLike[m]&&Qa.test(e.texts[m]);){let f=e.texts[m];u.push(f),c=Za.test(f),m++}t.push(Le(u)),n.push(!0),i.push("text"),r.push(e.starts[o]),o=m-1;continue}t.push(s),n.push(a),i.push(l),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function fm(e){let t=[],n=[],i=[],r=[];for(let o=0;o<e.len;o++){let s=e.texts[o];if(e.kinds[o]==="text"&&s.includes("-")){let l=s.split("-"),a=l.length>1;for(let u=0;u<l.length;u++){let c=l[u];if(!a)break;(c.length===0||!il(c)||!sn(c))&&(a=!1)}if(a){let u=0;for(let c=0;c<l.length;c++){let m=l[c],f=c<l.length-1?`${m}-`:m;t.push(f),n.push(!0),i.push("text"),r.push(e.starts[o]+u),u+=f.length}continue}}t.push(s),n.push(e.isWordLike[o]),i.push(e.kinds[o]),r.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function mm(e){let t=[],n=[],i=[],r=[],o=0;for(;o<e.len;){let s=[e.texts[o]],l=e.isWordLike[o],a=e.kinds[o],u=e.starts[o];if(a==="glue"){let c=[s[0]],m=u;for(o++;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let f=Le(c);if(o<e.len&&e.kinds[o]==="text")s[0]=f,s.push(e.texts[o]),l=e.isWordLike[o],a="text",u=m,o++;else{t.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<e.len&&e.kinds[o]==="glue";){let c=[];for(;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let m=Le(c);if(o<e.len&&e.kinds[o]==="text"){s.push(m,e.texts[o]),l=l||e.isWordLike[o],o++;continue}s.push(m)}t.push(Le(s)),n.push(l),i.push(a),r.push(u)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function pm(e){let t=e.texts.slice(),n=e.isWordLike.slice(),i=e.kinds.slice(),r=e.starts.slice();for(let o=0;o<t.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!Oe(t[o])||!Oe(t[o+1]))continue;let s=Yf(t[o]);s!==null&&(t[o]=s.head,t[o+1]=s.tail+t[o+1],r[o+1]=r[o]+s.head.length)}return{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function el(e,t,n){let i=Bf(),r=0,o=[],s=[],l=[],a=[],u=[],c=[],m=[],f=[],x=[],S=[],b=[],g=[];for(let M of i.segment(e))for(let A of im(M.segment,M.isWordLike??!1,M.index,n)){let ee=function(){c[H]!==null&&(s[H]=[Ya(o,c,m,H)],c[H]=null),s[H].push(A.text),l[H]=l[H]||A.isWordLike,f[H]=f[H]||T,x[H]=x[H]||k,S[H]=$,b[H]=ue,g[H]=Xa(x[H],W)},F=A.kind==="text",v=Xf(A.text,A.isWordLike,A.kind),T=Oe(A.text),k=Ka(A.text),W=qn(A.text),$=$n(A.text),ue=Qf(A.text),H=r-1;t.carryCJKAfterClosingQuote&&F&&r>0&&a[H]==="text"&&T&&f[H]&&S[H]||F&&r>0&&a[H]==="text"&&Kf(A.text)&&f[H]||F&&r>0&&a[H]==="text"&&b[H]?ee():F&&r>0&&a[H]==="text"&&A.isWordLike&&k&&g[H]?(ee(),l[H]=!0):v!==null&&r>0&&a[H]==="text"&&c[H]===v?m[H]=(m[H]??1)+1:F&&!A.isWordLike&&r>0&&a[H]==="text"&&($f(A.text)||A.text==="-"&&l[H])?ee():(o[r]=A.text,s[r]=[A.text],l[r]=A.isWordLike,a[r]=A.kind,u[r]=A.start,c[r]=v,m[r]=v===null?0:1,f[r]=T,x[r]=k,S[r]=$,b[r]=ue,g[r]=Xa(k,W),r++)}for(let M=0;M<r;M++){if(c[M]!==null){o[M]=Ya(o,c,m,M);continue}o[M]=Le(s[M])}for(let M=1;M<r;M++)a[M]==="text"&&!l[M]&&Er(o[M])&&a[M-1]==="text"&&(o[M-1]+=o[M],l[M-1]=l[M-1]||l[M],o[M]="");let E=Array.from({length:r},()=>null),_=-1;for(let M=r-1;M>=0;M--){let A=o[M];if(A.length!==0){if(a[M]==="text"&&!l[M]&&Jf(A)&&_>=0&&a[_]==="text"){let F=E[_]??[];F.push(A),E[_]=F,u[_]=u[M],o[M]="";continue}_=M}}for(let M=0;M<r;M++){let A=E[M];A!=null&&(o[M]=nm(A,o[M]))}let N=0;for(let M=0;M<r;M++){let A=o[M];A.length!==0&&(N!==M&&(o[N]=A,l[N]=l[M],a[N]=a[M],u[N]=u[M]),N++)}o.length=N,l.length=N,a.length=N,u.length=N;let q=mm({len:N,texts:o,isWordLike:l,kinds:a,starts:u}),D=pm(dm(fm(cm(lm(am(q))))));for(let M=0;M<D.len-1;M++){let A=Zf(D.texts[M]);A!==null&&(D.kinds[M]!=="space"&&D.kinds[M]!=="preserved-space"||D.kinds[M+1]!=="text"||!Ka(D.texts[M+1])||(D.texts[M]=A.space,D.isWordLike[M]=!1,D.kinds[M]=D.kinds[M]==="preserved-space"?"preserved-space":"space",D.texts[M+1]=A.marks+D.texts[M+1],D.starts[M+1]=D.starts[M]+A.space.length))}return D}function hm(e,t){if(e.len===0)return[];if(!t.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}];let n=[],i=0;for(let r=0;r<e.len;r++)e.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<e.len&&n.push({startSegmentIndex:i,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}),n}function gm(e){if(e.len<=1)return e;let t=[],n=[],i=[],r=[],o=null,s=!1,l=0,a=!1,u=!1;function c(){o!==null&&(t.push(Le(o)),n.push(s),i.push("text"),r.push(l),o=null)}for(let m=0;m<e.len;m++){let f=e.texts[m],x=e.kinds[m],S=e.isWordLike[m],b=e.starts[m];if(x==="text"){let g=Uf(f),E=zn(f);if(o!==null&&a&&u){o.push(f),s=s||S,a=a||g,u=E;continue}c(),o=[f],s=S,l=b,a=g,u=E;continue}c(),t.push(f),n.push(S),i.push(x),r.push(b)}return c(),{len:t.length,texts:t,isWordLike:n,kinds:i,starts:r}}function rl(e,t,n="normal",i="normal"){let r=Df(n),o=r.mode==="pre-wrap"?Pf(e):If(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?gm(el(o,t,r)):el(o,t,r);return{normalized:o,chunks:hm(s,r),...s}}var yt=null,ol=new Map,St=null,xm=96,bm=/\\p{Emoji_Presentation}/u,ym=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,Ar=null,sl=new Map;function wr(){if(yt!==null)return yt;if(typeof OffscreenCanvas<"u")return yt=new OffscreenCanvas(1,1).getContext("2d"),yt;if(typeof document<"u")return yt=document.createElement("canvas").getContext("2d"),yt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function Sm(e){let t=ol.get(e);return t||(t=new Map,ol.set(e,t)),t}function $e(e,t){let n=t.get(e);return n===void 0&&(n={width:wr().measureText(e).width,containsCJK:Oe(e)},t.set(e,n)),n}function Et(){if(St!==null)return St;if(typeof navigator>"u")return St={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},St;let e=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&e.includes("Safari/")&&!e.includes("Chrome/")&&!e.includes("Chromium/")&&!e.includes("CriOS/")&&!e.includes("FxiOS/")&&!e.includes("EdgiOS/"),i=e.includes("Chrome/")||e.includes("Chromium/")||e.includes("CriOS/")||e.includes("Edg/");return St={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},St}function Em(e){let t=e.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return t?parseFloat(t[1]):16}function al(){return Ar===null&&(Ar=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Ar}function Am(e){return bm.test(e)||e.includes("\\uFE0F")}function ll(e){return ym.test(e)}function wm(e,t){let n=sl.get(e);if(n!==void 0)return n;let i=wr();i.font=e;let r=i.measureText("\\u{1F600}").width;if(n=0,r>t+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=e,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return sl.set(e,n),n}function Cm(e){let t=0,n=al();for(let i of n.segment(e))Am(i.segment)&&t++;return t}function Fm(e,t){return t.emojiCount===void 0&&(t.emojiCount=Cm(e)),t.emojiCount}function nt(e,t,n){return n===0?t.width:t.width-Fm(e,t)*n}function ul(e,t,n,i,r){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=al(),s=[];for(let c of o.segment(e))s.push(c.segment);if(s.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(r==="sum-graphemes"){let c=[];for(let m of s){let f=$e(m,n);c.push(nt(m,f,i))}return t.breakableFitAdvances=c,t.breakableFitAdvances}if(r==="pair-context"||s.length>xm){let c=[],m=null,f=0;for(let x of s){let S=$e(x,n),b=nt(x,S,i);if(m===null)c.push(b);else{let g=m+x,E=$e(g,n);c.push(nt(g,E,i)-f)}m=x,f=b}return t.breakableFitAdvances=c,t.breakableFitAdvances}let l=[],a="",u=0;for(let c of s){a+=c;let m=$e(a,n),f=nt(a,m,i);l.push(f-u),u=f}return t.breakableFitAdvances=l,t.breakableFitAdvances}function cl(e,t){let n=wr();n.font=e;let i=Sm(e),r=Em(e),o=t?wm(e,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function _m(e,t){for(;t<e.widths.length;){let n=e.kinds[t];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;t++}return t}function vm(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function Mm(e,t,n,i,r){let o=0,s=t;for(;o<e.length;){let l=s+e[o];if((o+1<e.length?l+r:l)>n+i)break;s=l,o++}return{fitCount:o,fittedWidth:s}}function dl(e,t){return e.simpleLineWalkFastPath?fl(e,t):ml(e,t)}function fl(e,t,n){let{widths:i,kinds:r,breakableFitAdvances:o}=e;if(i.length===0)return 0;let l=Et().lineFitEpsilon,a=t+l,u=0,c=0,m=!1,f=0,x=0,S=0,b=0,g=-1,E=0;function _(){g=-1,E=0}function N(v=S,T=b,k=c){u++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:v,endGraphemeIndex:T,width:k}),c=0,m=!1,_()}function q(v,T){m=!0,f=v,x=0,S=v+1,b=0,c=T}function D(v,T,k){m=!0,f=v,x=T,S=v,b=T+1,c=k}function M(v,T){if(!m){q(v,T);return}c+=T,S=v+1,b=0}function A(v,T){let k=o[v];for(let W=T;W<k.length;W++){let $=k[W];m?c+$>a?(N(),D(v,W,$)):(c+=$,S=v,b=W+1):D(v,W,$)}m&&S===v&&b===k.length&&(S=v+1,b=0)}let F=0;for(;F<i.length&&!(!m&&(F=_m(e,F),F>=i.length));){let v=i[F],T=r[F],k=T==="space"||T==="preserved-space"||T==="tab"||T==="zero-width-break"||T==="soft-hyphen";if(!m){v>t&&o[F]!==null?A(F,0):q(F,v),k&&(g=F+1,E=c-v),F++;continue}if(c+v>a){if(k){M(F,v),N(F+1,0,c-v),F++;continue}if(g>=0){if(S>g||S===g&&b>0){N();continue}N(g,0,E);continue}if(v>t&&o[F]!==null){N(),A(F,0),F++;continue}N();continue}M(F,v),k&&(g=F+1,E=c-v),F++}return m&&N(),u}function ml(e,t,n){if(e.simpleLineWalkFastPath)return fl(e,t,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:l,discretionaryHyphenWidth:a,tabStopAdvance:u,chunks:c}=e;if(i.length===0||c.length===0)return 0;let m=Et(),f=m.lineFitEpsilon,x=t+f,S=0,b=0,g=!1,E=0,_=0,N=0,q=0,D=-1,M=0,A=0,F=null;function v(){D=-1,M=0,A=0,F=null}function T(B=N,te=q,U=b){S++,n?.({startSegmentIndex:E,startGraphemeIndex:_,endSegmentIndex:B,endGraphemeIndex:te,width:U}),b=0,g=!1,v()}function k(B,te){g=!0,E=B,_=0,N=B+1,q=0,b=te}function W(B,te,U){g=!0,E=B,_=te,N=B,q=te+1,b=U}function $(B,te){if(!g){k(B,te);return}b+=te,N=B+1,q=0}function ue(B,te,U,ie){if(!te)return;let ve=B==="tab"?0:r[U],G=B==="tab"?ie:o[U];D=U+1,M=b-ie+ve,A=b-ie+G,F=B}function H(B,te){let U=l[B];for(let ie=te;ie<U.length;ie++){let ve=U[ie];g?b+ve>x?(T(),W(B,ie,ve)):(b+=ve,N=B,q=ie+1):W(B,ie,ve)}g&&N===B&&q===U.length&&(N=B+1,q=0)}function ee(B){if(F!=="soft-hyphen")return!1;let te=l[B];if(te==null)return!1;let{fitCount:U,fittedWidth:ie}=Mm(te,b,t,f,a);return U===0?!1:(b=ie,N=B,q=U,v(),U===te.length?(N=B+1,q=0,!0):(T(B,U,ie+a),H(B,U),!0))}function de(B){S++,n?.({startSegmentIndex:B.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:B.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),v()}for(let B=0;B<c.length;B++){let te=c[B];if(te.startSegmentIndex===te.endSegmentIndex){de(te);continue}g=!1,b=0,E=te.startSegmentIndex,_=0,N=te.startSegmentIndex,q=0,v();let U=te.startSegmentIndex;for(;U<te.endSegmentIndex;){let ie=s[U],ve=ie==="space"||ie==="preserved-space"||ie==="tab"||ie==="zero-width-break"||ie==="soft-hyphen",G=ie==="tab"?vm(b,u):i[U];if(ie==="soft-hyphen"){g&&(N=U+1,q=0,D=U+1,M=b+a,A=b+a,F=ie),U++;continue}if(!g){G>t&&l[U]!==null?H(U,0):k(U,G),ue(ie,ve,U,G),U++;continue}if(b+G>x){let O=b+(ie==="tab"?0:r[U]),ae=b+(ie==="tab"?G:o[U]);if(F==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&M<=x){T(D,0,A);continue}if(F==="soft-hyphen"&&ee(U)){U++;continue}if(ve&&O<=x){$(U,G),T(U+1,0,ae),U++;continue}if(D>=0&&M<=x){if(N>D||N===D&&q>0){T();continue}let oe=D;T(oe,0,A),U=oe;continue}if(G>t&&l[U]!==null){T(),H(U,0),U++;continue}T();continue}$(U,G),ue(ie,ve,U,G),U++}if(g){let ie=D===te.consumedEndSegmentIndex?A:b;T(te.consumedEndSegmentIndex,0,ie)}}return S}var Cr=null;function Tm(){return Cr===null&&(Cr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Cr}function Nm(e){return e?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function Lm(e,t){let n=[],i=[],r=0,o=!1,s=!1,l=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,l=!1)}function u(m,f,x){i=[m],r=f,o=x,s=$n(m),l=an.has(m)}function c(m,f){i.push(m),o=o||f;let x=$n(m);m.length===1&&tt.has(m)?s=s||x:s=x,l=!1}for(let m of Tm().segment(e)){let f=m.segment,x=Oe(f);if(i.length===0){u(f,m.index,x);continue}if(l||jn.has(f)||tt.has(f)||t.carryCJKAfterClosingQuote&&x&&s){c(f,x);continue}if(!o&&!x){c(f,x);continue}a(),u(f,m.index,x)}return a(),n}function Rm(e){if(e.length<=1)return e;let t=[],n=[e[0].text],i=e[0].start,r=Oe(e[0].text),o=zn(e[0].text);function s(){t.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let l=1;l<e.length;l++){let a=e[l],u=Oe(a.text),c=zn(a.text);if(r&&o){n.push(a.text),r=r||u,o=c;continue}s(),n=[a.text],i=a.start,r=u,o=c}return s(),t}function km(e,t,n,i){let r=Et(),{cache:o,emojiCorrection:s}=cl(t,ll(e.normalized)),l=nt("-",$e("-",o),s),u=nt(" ",$e(" ",o),s)*8;if(e.len===0)return Nm(n);let c=[],m=[],f=[],x=[],S=e.chunks.length<=1,b=n?[]:null,g=[],E=n?[]:null,_=Array.from({length:e.len});function N(A,F,v,T,k,W,$){k!=="text"&&k!=="space"&&k!=="zero-width-break"&&(S=!1),c.push(F),m.push(v),f.push(T),x.push(k),b?.push(W),g.push($),E!==null&&E.push(A)}function q(A,F,v,T,k){let W=$e(A,o),$=nt(A,W,s),ue=F==="space"||F==="preserved-space"||F==="zero-width-break"?0:$,H=F==="space"||F==="zero-width-break"?0:$;if(k&&T&&A.length>1){let ee="sum-graphemes";sn(A)?ee="pair-context":r.preferPrefixWidthsForBreakableRuns&&(ee="segment-prefixes");let de=ul(A,W,o,s,ee);N(A,$,ue,H,F,v,de);return}N(A,$,ue,H,F,v,null)}for(let A=0;A<e.len;A++){_[A]=c.length;let F=e.texts[A],v=e.isWordLike[A],T=e.kinds[A],k=e.starts[A];if(T==="soft-hyphen"){N(F,0,l,l,T,k,null);continue}if(T==="hard-break"){N(F,0,0,0,T,k,null);continue}if(T==="tab"){N(F,0,0,0,T,k,null);continue}let W=$e(F,o);if(T==="text"&&W.containsCJK){let $=Lm(F,r),ue=i==="keep-all"?Rm($):$;for(let H=0;H<ue.length;H++){let ee=ue[H];q(ee.text,"text",k+ee.start,v,i==="keep-all"||!Oe(ee.text))}continue}q(F,T,k,v,!0)}let D=Dm(e.chunks,_,c.length),M=b===null?null:$a(e.normalized,b);return E!==null?{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:S,segLevels:M,breakableFitAdvances:g,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:D,segments:E}:{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:S,segLevels:M,breakableFitAdvances:g,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:D}}function Dm(e,t,n){let i=[];for(let r=0;r<e.length;r++){let o=e[r],s=o.startSegmentIndex<t.length?t[o.startSegmentIndex]:n,l=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:l,consumedEndSegmentIndex:a})}return i}function Im(e,t,n,i){let r=i?.wordBreak??"normal",o=rl(e,Et(),i?.whiteSpace,r);return km(o,t,n,r)}function pl(e,t,n){return Im(e,t,!1,n)}function hl(e,t,n){let i=dl(e,t);return{lineCount:i,height:i*n}}var Pm={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function gl(e,t){let n={...Pm,...t},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=pl(e,o),{lineCount:l}=hl(s,n.maxWidth,r*i);if(l<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};Da();window.__hyperframes={fitTextFontSize:gl,getVariables:Hr};function xl(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,ja())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",xl,{once:!0}):xl();})();\n';
56528
56528
  }
56529
56529
  });
56530
56530
 
@@ -64600,8 +64600,13 @@ async function getCompositionDuration(session) {
64600
64600
  return window.__hf?.duration ?? 0;
64601
64601
  });
64602
64602
  }
64603
+ function computeDeVerifySampleFractions(k2) {
64604
+ if (k2 <= 0) return [];
64605
+ if (k2 === 1) return [0.95];
64606
+ return [...Array.from({ length: k2 - 1 }, (_, i2) => (i2 + 1) / k2), 0.95];
64607
+ }
64603
64608
  async function captureDeVerificationFrames(session, page, logInitPhase) {
64604
- const kRaw = Number(process.env.HF_DE_VERIFY ?? "4");
64609
+ const kRaw = Number(process.env.HF_DE_VERIFY ?? session.options.deVerifySamples ?? "4");
64605
64610
  const k2 = Number.isFinite(kRaw) ? Math.max(0, Math.min(8, Math.floor(kRaw))) : 4;
64606
64611
  if (k2 === 0 || process.env.HF_FORCE_DRAWELEMENT === "1") return;
64607
64612
  if (session.options.format === "png") return;
@@ -64623,7 +64628,7 @@ async function captureDeVerificationFrames(session, page, logInitPhase) {
64623
64628
  }
64624
64629
  }
64625
64630
  const boundary = await computeClipBoundaryFrames(page, fps);
64626
- const fractions = Array.from({ length: k2 }, (_, i2) => (i2 + 1) / (k2 + 1));
64631
+ const fractions = computeDeVerifySampleFractions(k2);
64627
64632
  const seekTo = async (t2) => {
64628
64633
  await page.evaluate((tt3) => {
64629
64634
  const hf = window.__hf;
@@ -64672,6 +64677,8 @@ function getCapturePerfSummary(session) {
64672
64677
  staticDedupArmed: (session.staticFrames?.size ?? 0) > 0,
64673
64678
  staticDedupPredicted: session.staticFrames?.size ?? 0,
64674
64679
  staticDedupSkipReason: session.staticDedupSkipReason,
64680
+ beginFrameNoDamage: session.beginFrameNoDamageCount,
64681
+ beginFrameHasDamage: session.beginFrameHasDamageCount,
64675
64682
  captureMode: session.captureMode,
64676
64683
  deGateReason: session.deGateReason,
64677
64684
  deWorkerEncode: session.workerEncodeEnabled ?? false,
@@ -70849,10 +70856,11 @@ var init_dist4 = __esm({
70849
70856
  ];
70850
70857
  },
70851
70858
  // missing_timeline_registry + timeline_registry_missing_init
70852
- ({ source, rawSource, options }) => {
70859
+ ({ source, rawSource, rootTag, options }) => {
70853
70860
  if (options.isSubComposition || rawSource.trimStart().toLowerCase().startsWith("<template")) {
70854
70861
  return [];
70855
70862
  }
70863
+ if (/(?:^|\s)data-no-timeline(?=[\s=/]|$)/i.test(rootTag?.attrs || "")) return [];
70856
70864
  const findings = [];
70857
70865
  if (!TIMELINE_REGISTRY_INIT_PATTERN.test(source) && !TIMELINE_REGISTRY_ASSIGN_PATTERN.test(source) && !TIMELINE_REGISTRY_OBJECT_LITERAL_PATTERN.test(source)) {
70858
70866
  findings.push({
@@ -76850,6 +76858,11 @@ async function executeWorkerTask(task, serverUrl, captureOptions, createBeforeCa
76850
76858
  });
76851
76859
  }
76852
76860
  }
76861
+ function resolveParallelDeVerifySamples(callerValue, workerCount) {
76862
+ if (callerValue !== void 0) return callerValue;
76863
+ if (workerCount <= 1) return void 0;
76864
+ return Math.min(8, 4 + 2 * (workerCount - 1));
76865
+ }
76853
76866
  async function executeParallelCapture(serverUrl, workDir, tasks, captureOptions, createBeforeCaptureHook, signal, onProgress, onFrameBuffer, config) {
76854
76867
  const totalFrames = tasks.reduce(
76855
76868
  (sum, t2) => sum + Math.ceil((t2.endFrame - t2.startFrame) / (t2.frameStride ?? 1)),
@@ -76871,12 +76884,17 @@ async function executeParallelCapture(serverUrl, workDir, tasks, captureOptions,
76871
76884
  }
76872
76885
  };
76873
76886
  const parallel = tasks.length > 1;
76887
+ const deVerifySamples = resolveParallelDeVerifySamples(
76888
+ captureOptions.deVerifySamples,
76889
+ tasks.length
76890
+ );
76891
+ const workerCaptureOptions = deVerifySamples === captureOptions.deVerifySamples ? captureOptions : { ...captureOptions, deVerifySamples };
76874
76892
  const results = await Promise.all(
76875
76893
  tasks.map(
76876
76894
  (task) => executeWorkerTask(
76877
76895
  task,
76878
76896
  serverUrl,
76879
- captureOptions,
76897
+ workerCaptureOptions,
76880
76898
  createBeforeCaptureHook,
76881
76899
  signal,
76882
76900
  onFrameCaptured,
@@ -79067,6 +79085,8 @@ var init_system = __esm({
79067
79085
  });
79068
79086
 
79069
79087
  // src/telemetry/client.ts
79088
+ import { spawn as spawn7 } from "child_process";
79089
+ import { randomUUID as randomUUID3 } from "crypto";
79070
79090
  function shouldTrack() {
79071
79091
  if (telemetryEnabled !== null) return telemetryEnabled;
79072
79092
  if (process.env["HYPERFRAMES_NO_TELEMETRY"] === "1" || process.env["DO_NOT_TRACK"] === "1") {
@@ -79089,6 +79109,7 @@ function trackEvent(event, properties = {}, distinctId) {
79089
79109
  if (!shouldTrack()) return;
79090
79110
  const sys = getSystemMeta();
79091
79111
  eventQueue.push({
79112
+ uuid: randomUUID3(),
79092
79113
  event,
79093
79114
  distinctId,
79094
79115
  properties: {
@@ -79117,20 +79138,21 @@ function trackEvent(event, properties = {}, distinctId) {
79117
79138
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
79118
79139
  });
79119
79140
  }
79120
- function drainQueueToPayload() {
79121
- if (eventQueue.length === 0) return null;
79141
+ function buildPayload(events) {
79142
+ if (events.length === 0) return null;
79122
79143
  const config = readConfig();
79123
- const batch = eventQueue.map((e3) => ({
79144
+ const batch = events.map((e3) => ({
79145
+ uuid: e3.uuid,
79124
79146
  event: e3.event,
79125
79147
  properties: { ...e3.properties, $ip: null },
79126
79148
  distinct_id: e3.distinctId ?? config.anonymousId,
79127
79149
  timestamp: e3.timestamp
79128
79150
  }));
79129
- eventQueue = [];
79130
79151
  return JSON.stringify({ api_key: POSTHOG_API_KEY, batch });
79131
79152
  }
79132
79153
  async function flush() {
79133
- const payload = drainQueueToPayload();
79154
+ const snapshot = eventQueue.slice();
79155
+ const payload = buildPayload(snapshot);
79134
79156
  if (payload == null) return;
79135
79157
  const controller = new AbortController();
79136
79158
  const timeout = setTimeout(() => controller.abort(), FLUSH_TIMEOUT_MS);
@@ -79141,17 +79163,19 @@ async function flush() {
79141
79163
  body: payload,
79142
79164
  signal: controller.signal
79143
79165
  });
79166
+ const sent = new Set(snapshot);
79167
+ eventQueue = eventQueue.filter((e3) => !sent.has(e3));
79144
79168
  } catch {
79145
79169
  } finally {
79146
79170
  clearTimeout(timeout);
79147
79171
  }
79148
79172
  }
79149
79173
  function flushSync() {
79150
- const payload = drainQueueToPayload();
79174
+ const payload = buildPayload(eventQueue);
79151
79175
  if (payload == null) return;
79176
+ eventQueue = [];
79152
79177
  try {
79153
- const { spawn: spawn18 } = __require("child_process");
79154
- const child = spawn18(
79178
+ const child = spawn7(
79155
79179
  process.execPath,
79156
79180
  [
79157
79181
  "-e",
@@ -79261,6 +79285,7 @@ function renderObservabilityEventProperties(props) {
79261
79285
  de_pre_router_workers: props.captureDePreRouterWorkers,
79262
79286
  de_self_verify_fallback: props.captureDeSelfVerifyFallback,
79263
79287
  de_fallback_reason: props.captureDeFallbackReason,
79288
+ capture_parallel_stream: props.captureParallelStream,
79264
79289
  observability_extract_video_count: props.observabilityExtractVideoCount,
79265
79290
  observability_extracted_video_count: props.observabilityExtractedVideoCount,
79266
79291
  observability_extract_total_frames: props.observabilityExtractTotalFrames,
@@ -79305,6 +79330,8 @@ function trackRenderComplete(props) {
79305
79330
  static_dedup_skip_reason: props.staticDedupSkipReason,
79306
79331
  static_dedup_predicted_frames: props.staticDedupPredictedFrames,
79307
79332
  static_dedup_reused_frames: props.staticDedupReusedFrames,
79333
+ begin_frame_no_damage_frames: props.beginFrameNoDamageFrames,
79334
+ begin_frame_has_damage_frames: props.beginFrameHasDamageFrames,
79308
79335
  de_capture_mode: props.deCaptureMode,
79309
79336
  de_compile_gate: props.deCompileGate,
79310
79337
  de_clamp_reason: props.deClampReason,
@@ -79359,6 +79386,7 @@ function trackRenderComplete(props) {
79359
79386
  },
79360
79387
  props.distinctId
79361
79388
  );
79389
+ void flush();
79362
79390
  }
79363
79391
  function trackRenderError(props) {
79364
79392
  trackEvent(
@@ -79380,6 +79408,7 @@ function trackRenderError(props) {
79380
79408
  },
79381
79409
  props.distinctId
79382
79410
  );
79411
+ void flush();
79383
79412
  }
79384
79413
  function trackRenderObservation(props) {
79385
79414
  trackEvent("render_observation", {
@@ -83716,7 +83745,7 @@ __export(skills_exports, {
83716
83745
  examples: () => examples,
83717
83746
  updateSkills: () => updateSkills
83718
83747
  });
83719
- import { execFileSync as execFileSync4, spawn as spawn7 } from "child_process";
83748
+ import { execFileSync as execFileSync4, spawn as spawn8 } from "child_process";
83720
83749
  function hasNpx() {
83721
83750
  const npx = buildNpxCommand(["--version"]);
83722
83751
  try {
@@ -83737,7 +83766,7 @@ function hasGit2() {
83737
83766
  function spawnNpx(args, opts = {}) {
83738
83767
  const npx = buildNpxCommand(args);
83739
83768
  return new Promise((resolve64, reject) => {
83740
- const child = spawn7(npx.command, npx.args, {
83769
+ const child = spawn8(npx.command, npx.args, {
83741
83770
  stdio: "inherit",
83742
83771
  // We install with --full-depth (a full `git clone` of the repo, the only
83743
83772
  // path that bypasses the laggy skills.sh blob — see GLOBAL_INSTALL_ARGS_TAIL),
@@ -84167,7 +84196,7 @@ import { execFileSync as execFileSync5 } from "child_process";
84167
84196
  import { existsSync as existsSync25, readFileSync as readFileSync17, mkdirSync as mkdirSync13, unlinkSync as unlinkSync2 } from "fs";
84168
84197
  import { join as join24, extname as extname7 } from "path";
84169
84198
  import { tmpdir as tmpdir2 } from "os";
84170
- import { randomUUID as randomUUID3 } from "crypto";
84199
+ import { randomUUID as randomUUID4 } from "crypto";
84171
84200
  function detectLanguage(whisperPath, modelPath2, wavPath) {
84172
84201
  try {
84173
84202
  const output = execFileSync5(whisperPath, ["--model", modelPath2, "--detect-language", wavPath], {
@@ -84245,7 +84274,7 @@ function isVideoFile(filePath) {
84245
84274
  return VIDEO_EXTENSIONS.has(extname7(filePath).toLowerCase());
84246
84275
  }
84247
84276
  function tempWavPath() {
84248
- return join24(tmpdir2(), `hyperframes-audio-${process.pid}-${randomUUID3()}.wav`);
84277
+ return join24(tmpdir2(), `hyperframes-audio-${process.pid}-${randomUUID4()}.wav`);
84249
84278
  }
84250
84279
  function extractAudio(videoPath) {
84251
84280
  const ffmpegPath = findFFmpeg();
@@ -84422,7 +84451,7 @@ var init_errorMessage = __esm({
84422
84451
  });
84423
84452
 
84424
84453
  // src/utils/openBrowser.ts
84425
- import { spawn as spawn8 } from "child_process";
84454
+ import { spawn as spawn9 } from "child_process";
84426
84455
  function parseRemoteDebuggingPort(value) {
84427
84456
  if (value === void 0 || value === "") return void 0;
84428
84457
  if (!/^\d+$/.test(value)) {
@@ -84448,13 +84477,16 @@ function buildBrowserArgs(url, options) {
84448
84477
  if (options.remoteDebuggingPort !== void 0 && options.userDataDir) {
84449
84478
  args.push(`--remote-debugging-port=${options.remoteDebuggingPort}`);
84450
84479
  }
84480
+ if (options.disableGpu) {
84481
+ args.push("--disable-gpu");
84482
+ }
84451
84483
  args.push(url);
84452
84484
  return args;
84453
84485
  }
84454
84486
  function openBrowser(url, options = {}) {
84455
84487
  if (options.browserPath) {
84456
84488
  const args = buildBrowserArgs(url, options);
84457
- const child = spawn8(options.browserPath, args, {
84489
+ const child = spawn9(options.browserPath, args, {
84458
84490
  detached: true,
84459
84491
  stdio: "ignore"
84460
84492
  });
@@ -85312,6 +85344,7 @@ function renderObservabilityTelemetryPayload(observability) {
85312
85344
  captureDePreRouterWorkers: capture2.dePreRouterWorkers,
85313
85345
  captureDeSelfVerifyFallback: capture2.deSelfVerifyFallback,
85314
85346
  captureDeFallbackReason: capture2.deFallbackReason,
85347
+ captureParallelStream: capture2.captureParallelStream,
85315
85348
  observabilityExtractVideoCount: extraction?.videoCount,
85316
85349
  observabilityExtractedVideoCount: extraction?.extractedVideoCount,
85317
85350
  observabilityExtractTotalFrames: extraction?.totalFramesExtracted,
@@ -95044,7 +95077,7 @@ import {
95044
95077
  readdirSync as readdirSync32
95045
95078
  } from "fs";
95046
95079
  import { resolve as resolve22, dirname as dirname12, join as join62 } from "path";
95047
- import { spawn as spawn9 } from "child_process";
95080
+ import { spawn as spawn10 } from "child_process";
95048
95081
  import { existsSync as existsSync210, writeFileSync as writeFileSync12, mkdirSync as mkdirSync14 } from "fs";
95049
95082
  import { join as join32, resolve as resolve19 } from "path";
95050
95083
  import { spawnSync } from "child_process";
@@ -95233,7 +95266,7 @@ function ffmpegBinary() {
95233
95266
  }
95234
95267
  function decodeAudioPeaks(audioPath) {
95235
95268
  return new Promise((resolvePromise, reject) => {
95236
- const proc = spawn9(
95269
+ const proc = spawn10(
95237
95270
  ffmpegBinary(),
95238
95271
  [
95239
95272
  "-i",
@@ -96373,6 +96406,14 @@ function executeGsapMutationAcorn(body, block, respond2) {
96373
96406
  if (!targetSelector || !Number.isFinite(delta) || delta === 0) return block.scriptText;
96374
96407
  return shiftPositionsInScript(block.scriptText, targetSelector, delta);
96375
96408
  }
96409
+ case "shift-positions-batch": {
96410
+ let script = block.scriptText;
96411
+ for (const s2 of body.shifts) {
96412
+ if (!s2.targetSelector || !Number.isFinite(s2.delta) || s2.delta === 0) continue;
96413
+ script = shiftPositionsInScript(script, s2.targetSelector, s2.delta);
96414
+ }
96415
+ return script;
96416
+ }
96376
96417
  case "scale-positions": {
96377
96418
  const { targetSelector, oldStart, oldDuration, newStart, newDuration } = body;
96378
96419
  if (!targetSelector || !Number.isFinite(oldStart) || !Number.isFinite(oldDuration) || !Number.isFinite(newStart) || !Number.isFinite(newDuration) || oldDuration <= 0 || newDuration <= 0)
@@ -96695,6 +96736,15 @@ async function executeGsapMutationRecast(body, block, respond2) {
96695
96736
  const { shiftPositionsInScript: shiftPositionsInScript22 } = parser;
96696
96737
  return shiftPositionsInScript22(block.scriptText, targetSelector, delta);
96697
96738
  }
96739
+ case "shift-positions-batch": {
96740
+ const { shiftPositionsInScript: shiftPositionsInScript22 } = parser;
96741
+ let script = block.scriptText;
96742
+ for (const s2 of body.shifts) {
96743
+ if (!s2.targetSelector || !Number.isFinite(s2.delta) || s2.delta === 0) continue;
96744
+ script = shiftPositionsInScript22(script, s2.targetSelector, s2.delta);
96745
+ }
96746
+ return script;
96747
+ }
96698
96748
  case "scale-positions": {
96699
96749
  const { targetSelector, oldStart, oldDuration, newStart, newDuration } = body;
96700
96750
  if (!targetSelector || !Number.isFinite(oldStart) || !Number.isFinite(oldDuration) || !Number.isFinite(newStart) || !Number.isFinite(newDuration) || oldDuration <= 0 || newDuration <= 0)
@@ -97104,6 +97154,9 @@ function registerFileRoutes(api, adapter2) {
97104
97154
  if (unsafeFields.length > 0) {
97105
97155
  return rejectUnsafeMutationValues(c3, unsafeFields);
97106
97156
  }
97157
+ if (body.type === "shift-positions-batch" && !Array.isArray(body.shifts)) {
97158
+ return c3.json({ error: "shift-positions-batch requires a `shifts` array" }, 400);
97159
+ }
97107
97160
  let html = readFileSync32(res.absPath, "utf-8");
97108
97161
  let block = extractGsapScriptBlock(html);
97109
97162
  if (!block && (body.type === "add" || body.type === "add-with-keyframes")) {
@@ -97127,7 +97180,7 @@ ${bootstrap}`;
97127
97180
  }
97128
97181
  block = extractGsapScriptBlock(html);
97129
97182
  }
97130
- if (!block && (body.type === "shift-positions" || body.type === "scale-positions")) {
97183
+ if (!block && (body.type === "shift-positions" || body.type === "scale-positions" || body.type === "shift-positions-batch")) {
97131
97184
  return c3.json({
97132
97185
  ok: true,
97133
97186
  changed: false,
@@ -99641,6 +99694,7 @@ var init_dist9 = __esm({
99641
99694
  // Time-shift / time-scale tweens, which can move a keyframed position tween's start
99642
99695
  // across t=0, flipping hold need; stale holds are not repositioned by these ops.
99643
99696
  "shift-positions",
99697
+ "shift-positions-batch",
99644
99698
  "scale-positions",
99645
99699
  // Retargets keyframed position tweens to a cloned element's selector; the old hold is
99646
99700
  // keyed to the prior selector, so holds must be rebuilt for the new target.
@@ -101069,6 +101123,12 @@ function aggregateDedup(perfs) {
101069
101123
  skipReason: skipReasons.length > 0 ? skipReasons.join("|") : void 0
101070
101124
  };
101071
101125
  }
101126
+ function aggregateBeginFrameReuse(perfs) {
101127
+ const noDamageFrames = perfs.reduce((sum, p2) => sum + (p2.beginFrameNoDamage ?? 0), 0);
101128
+ const hasDamageFrames = perfs.reduce((sum, p2) => sum + (p2.beginFrameHasDamage ?? 0), 0);
101129
+ if (noDamageFrames + hasDamageFrames === 0) return void 0;
101130
+ return { noDamageFrames, hasDamageFrames };
101131
+ }
101072
101132
  function buildRenderPerfSummary(input2) {
101073
101133
  return {
101074
101134
  renderId: input2.job.id,
@@ -101112,6 +101172,7 @@ function buildRenderPerfSummary(input2) {
101112
101172
  peakRssMb: Math.round(input2.peakRssBytes / (1024 * 1024)),
101113
101173
  peakHeapUsedMb: Math.round(input2.peakHeapUsedBytes / (1024 * 1024)),
101114
101174
  staticDedup: aggregateDedup(input2.dedupPerfs),
101175
+ beginFrameReuse: aggregateBeginFrameReuse(input2.dedupPerfs),
101115
101176
  drawElement: aggregateDrawElement(
101116
101177
  input2.dedupPerfs,
101117
101178
  input2.drawElement ?? { selfVerifyFallback: false }
@@ -101157,9 +101218,9 @@ var init_captureStageError = __esm({
101157
101218
  });
101158
101219
 
101159
101220
  // ../producer/src/services/render/captureBeyondViewport.ts
101160
- function resolveVideoCaptureBeyondViewport(videoCount, browserGpuMode) {
101221
+ function resolveVideoCaptureBeyondViewport(videoCount) {
101161
101222
  if (videoCount <= 0) return void 0;
101162
- return browserGpuMode === "hardware";
101223
+ return true;
101163
101224
  }
101164
101225
  var init_captureBeyondViewport = __esm({
101165
101226
  "../producer/src/services/render/captureBeyondViewport.ts"() {
@@ -105571,7 +105632,7 @@ __export(animatedGifPrep_exports, {
105571
105632
  prepareAnimatedGifInputs: () => prepareAnimatedGifInputs
105572
105633
  });
105573
105634
  import { createHash as createHash9 } from "crypto";
105574
- import { spawn as spawn10 } from "child_process";
105635
+ import { spawn as spawn11 } from "child_process";
105575
105636
  import {
105576
105637
  copyFileSync as copyFileSync4,
105577
105638
  existsSync as existsSync36,
@@ -105716,7 +105777,7 @@ function buildAnimatedGifTranscodeArgs(input2) {
105716
105777
  }
105717
105778
  async function runAnimatedGifTranscode(request) {
105718
105779
  await new Promise((resolvePromise, reject) => {
105719
- const proc = spawn10(getFfmpegBinary(), request.args);
105780
+ const proc = spawn11(getFfmpegBinary(), request.args);
105720
105781
  let stderr = "";
105721
105782
  const timeout = request.timeoutMs ?? 3e5;
105722
105783
  const timer = setTimeout(() => {
@@ -106318,6 +106379,39 @@ function detectThreeDTransformUsage(html) {
106318
106379
  function detectMixBlendModeUsage(html) {
106319
106380
  return MIX_BLEND_MODE_PATTERN.test(html);
106320
106381
  }
106382
+ function detectAncestorBackgroundImage(html) {
106383
+ const { document: document2 } = parseHTML(html);
106384
+ const root = document2.querySelector("[data-composition-id]");
106385
+ if (!root) return false;
106386
+ const ancestors = [];
106387
+ for (let el = root.parentElement; el; el = el.parentElement) ancestors.push(el);
106388
+ if (document2.documentElement && !ancestors.includes(document2.documentElement)) {
106389
+ ancestors.push(document2.documentElement);
106390
+ }
106391
+ for (const el of ancestors) {
106392
+ const style = el.getAttribute("style");
106393
+ if (style && BACKGROUND_IMAGE_DECL_PATTERN.test(`{${style}}`)) return true;
106394
+ }
106395
+ for (const styleEl of document2.querySelectorAll("style")) {
106396
+ const css = styleEl.textContent ?? "";
106397
+ for (const rule of css.matchAll(/([^{}]+)\{([^}]*)\}/g)) {
106398
+ const [, selectorList = "", declarations = ""] = rule;
106399
+ if (!BACKGROUND_IMAGE_DECL_PATTERN.test(`{${declarations}}`)) continue;
106400
+ for (const selector of selectorList.split(",")) {
106401
+ const sel = selector.trim();
106402
+ if (!sel || sel.startsWith("@")) continue;
106403
+ if (/^(?:html|:root)$/i.test(sel)) return true;
106404
+ try {
106405
+ for (const matched of document2.querySelectorAll(sel)) {
106406
+ if (ancestors.includes(matched)) return true;
106407
+ }
106408
+ } catch {
106409
+ }
106410
+ }
106411
+ }
106412
+ }
106413
+ return false;
106414
+ }
106321
106415
  function detectShaderTransitionUsage(html) {
106322
106416
  let scriptMatch;
106323
106417
  const scriptPattern = new RegExp(INLINE_SCRIPT_PATTERN.source, INLINE_SCRIPT_PATTERN.flags);
@@ -107150,6 +107244,7 @@ async function compileForRender(projectDir, htmlPath, downloadDir, options = {})
107150
107244
  const hasShaderTransitions = detectShaderTransitionUsage(sanitizedHtml);
107151
107245
  const usesThreeDTransforms = detectThreeDTransformUsage(sanitizedHtml);
107152
107246
  const usesMixBlendMode = detectMixBlendModeUsage(sanitizedHtml);
107247
+ const hasAncestorBackgroundImage = detectAncestorBackgroundImage(sanitizedHtml);
107153
107248
  const normalizedFontHtml = normalizeSystemFontPrimaryFamilies(
107154
107249
  injectTextRenderingRule2(
107155
107250
  coalesceHeadStylesAndBodyScripts2(promoteCssImportsToLinkTags(sanitizedHtml))
@@ -107256,7 +107351,8 @@ async function compileForRender(projectDir, htmlPath, downloadDir, options = {})
107256
107351
  renderModeHints,
107257
107352
  hasShaderTransitions,
107258
107353
  usesThreeDTransforms,
107259
- usesMixBlendMode
107354
+ usesMixBlendMode,
107355
+ hasAncestorBackgroundImage
107260
107356
  };
107261
107357
  }
107262
107358
  async function discoverMediaFromBrowser(page) {
@@ -107495,7 +107591,7 @@ async function recompileWithResolutions(compiled, resolutions, projectDir, downl
107495
107591
  hasShaderTransitions: compiled.hasShaderTransitions
107496
107592
  };
107497
107593
  }
107498
- var EmptyCompositionError, INLINE_SCRIPT_PATTERN, COMPILER_MOUNT_BLOCK_START, COMPILER_MOUNT_BLOCK_END, THREE_D_CONTEXT_PATTERN, MIX_BLEND_MODE_PATTERN, SHADER_TRANSITION_USAGE_PATTERN, REMOTE_MEDIA_SUBDIR, REMOTE_MEDIA_TAG_RE, REMOTE_IMG_TAG_RE, REMOTE_BG_URL_RE, REMOTE_FONTFACE_URL_RE, MAX_STYLESHEET_BYTES, LOCAL_FONTFACE_URL_RE, GSAP_CDN_BASE;
107594
+ var EmptyCompositionError, INLINE_SCRIPT_PATTERN, COMPILER_MOUNT_BLOCK_START, COMPILER_MOUNT_BLOCK_END, THREE_D_CONTEXT_PATTERN, MIX_BLEND_MODE_PATTERN, BACKGROUND_IMAGE_DECL_PATTERN, SHADER_TRANSITION_USAGE_PATTERN, REMOTE_MEDIA_SUBDIR, REMOTE_MEDIA_TAG_RE, REMOTE_IMG_TAG_RE, REMOTE_BG_URL_RE, REMOTE_FONTFACE_URL_RE, MAX_STYLESHEET_BYTES, LOCAL_FONTFACE_URL_RE, GSAP_CDN_BASE;
107499
107595
  var init_htmlCompiler2 = __esm({
107500
107596
  "../producer/src/services/htmlCompiler.ts"() {
107501
107597
  "use strict";
@@ -107532,6 +107628,7 @@ Check that each file referenced by data-composition-src contains valid HTML with
107532
107628
  COMPILER_MOUNT_BLOCK_END = "/* __HF_COMPILER_MOUNT_END__ */";
107533
107629
  THREE_D_CONTEXT_PATTERN = /transform-style\s*:\s*preserve-3d|backface-visibility\s*:|perspective\s*:\s*[0-9]|perspective\s*\(|matrix3d\s*\(|rotate3d\s*\(|\btransformPerspective\b/i;
107534
107630
  MIX_BLEND_MODE_PATTERN = /mix-blend-mode\s*:/i;
107631
+ BACKGROUND_IMAGE_DECL_PATTERN = /(?:^|;|\{)\s*background(?:-image)?\s*:[^;}]*(?:\bgradient\s*\(|url\s*\()/i;
107535
107632
  SHADER_TRANSITION_USAGE_PATTERN = /\b(?:(?:window|globalThis)\s*\.\s*)?HyperShader\s*\.\s*init\s*\(|\b__hf\s*\.\s*transitions\s*=/;
107536
107633
  REMOTE_MEDIA_SUBDIR = "_remote_media";
107537
107634
  REMOTE_MEDIA_TAG_RE = /<(?:video|audio)\b[^>]*?\bsrc\s*=\s*["'](https?:\/\/[^"']+)["'][^>]*>/gi;
@@ -107586,6 +107683,13 @@ async function runCompileStage(input2) {
107586
107683
  "[Render] Fast capture: composition uses mix-blend-mode \u2014 disabling drawElementImage for this render. Capture uses the platform's baseline route."
107587
107684
  );
107588
107685
  }
107686
+ if (cfg.useDrawElement && process.env.HF_FAST_CAPTURE_ANCESTOR_BG !== "true" && compiled.hasAncestorBackgroundImage) {
107687
+ cfg.useDrawElement = false;
107688
+ deCompileGate = "ancestor_background_image";
107689
+ log2.info(
107690
+ "[Render] Fast capture: composition root's ancestors (body/html/wrapper) carry a background-image \u2014 disabling drawElementImage for this render. Capture uses the platform's baseline route."
107691
+ );
107692
+ }
107589
107693
  if (cfg.useDrawElement && process.env.PRODUCER_EXPERIMENTAL_FAST_CAPTURE !== "true" && compiled.hasShaderTransitions) {
107590
107694
  cfg.useDrawElement = false;
107591
107695
  deCompileGate = "shader_transitions";
@@ -109124,6 +109228,11 @@ import { mkdtemp, rm, writeFile } from "fs/promises";
109124
109228
  import { tmpdir as tmpdir5 } from "os";
109125
109229
  import { join as join41 } from "path";
109126
109230
  import { promisify as promisify3 } from "util";
109231
+ function resolveParallelStallTimeoutMs() {
109232
+ const raw = process.env.HF_DE_PARALLEL_STALL_MS;
109233
+ const parsed = raw ? Number(raw) : Number.NaN;
109234
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_DE_PARALLEL_STALL_MS;
109235
+ }
109127
109236
  async function psnrDb(a, b2) {
109128
109237
  const dir = await mkdtemp(join41(tmpdir5(), "hf-de-verify-"));
109129
109238
  try {
@@ -109402,6 +109511,28 @@ async function runCaptureStreamingStage(input2) {
109402
109511
  throw e3;
109403
109512
  }
109404
109513
  };
109514
+ const stallController = new AbortController();
109515
+ const forwardParentAbort = () => stallController.abort();
109516
+ if (abortSignal) {
109517
+ if (abortSignal.aborted) stallController.abort();
109518
+ else abortSignal.addEventListener("abort", forwardParentAbort, { once: true });
109519
+ }
109520
+ const stallTimeoutMs = resolveParallelStallTimeoutMs();
109521
+ let lastCapturedFrames = 0;
109522
+ let lastProgressAt = Date.now();
109523
+ let stalled = false;
109524
+ const stallTimer = setInterval(
109525
+ () => {
109526
+ if (Date.now() - lastProgressAt <= stallTimeoutMs) return;
109527
+ stalled = true;
109528
+ const stallErr = new Error(
109529
+ `[Render] Parallel drawElement capture stalled: no frame progress for ${stallTimeoutMs}ms (stuck at ${lastCapturedFrames}/${totalFrames}).`
109530
+ );
109531
+ reorderBuffer.abort(stallErr);
109532
+ stallController.abort();
109533
+ },
109534
+ Math.min(stallTimeoutMs, DE_PARALLEL_STALL_POLL_MS)
109535
+ );
109405
109536
  let workerResults;
109406
109537
  try {
109407
109538
  workerResults = await executeParallelCapture(
@@ -109410,8 +109541,12 @@ async function runCaptureStreamingStage(input2) {
109410
109541
  tasks,
109411
109542
  buildCaptureOptions(),
109412
109543
  createRenderVideoFrameInjector,
109413
- abortSignal,
109544
+ stallController.signal,
109414
109545
  (progress) => {
109546
+ if (progress.capturedFrames > lastCapturedFrames) {
109547
+ lastCapturedFrames = progress.capturedFrames;
109548
+ lastProgressAt = Date.now();
109549
+ }
109415
109550
  job.framesRendered = progress.capturedFrames;
109416
109551
  const frameProgress = progress.capturedFrames / progress.totalFrames;
109417
109552
  const progressPct = 25 + frameProgress * 55;
@@ -109437,7 +109572,15 @@ async function runCaptureStreamingStage(input2) {
109437
109572
  );
109438
109573
  } catch (err) {
109439
109574
  if (parallelDrainError) throw parallelDrainError;
109575
+ if (stalled && abortSignal?.aborted !== true) {
109576
+ throw new Error(
109577
+ `[Render] Parallel drawElement capture stalled after ${stallTimeoutMs}ms with no frame progress (last frame ${lastCapturedFrames}/${totalFrames}); falling back to screenshot.`
109578
+ );
109579
+ }
109440
109580
  throw err;
109581
+ } finally {
109582
+ clearInterval(stallTimer);
109583
+ abortSignal?.removeEventListener("abort", forwardParentAbort);
109441
109584
  }
109442
109585
  if (parallelDrainError) throw parallelDrainError;
109443
109586
  pushWorkerDedupPerfs(workerResults, dedupPerfs);
@@ -109545,7 +109688,7 @@ async function runCaptureStreamingStage(input2) {
109545
109688
  }
109546
109689
  }
109547
109690
  }
109548
- var execFileP;
109691
+ var DEFAULT_DE_PARALLEL_STALL_MS, DE_PARALLEL_STALL_POLL_MS, execFileP;
109549
109692
  var init_captureStreamingStage = __esm({
109550
109693
  "../producer/src/services/render/stages/captureStreamingStage.ts"() {
109551
109694
  "use strict";
@@ -109554,6 +109697,8 @@ var init_captureStreamingStage = __esm({
109554
109697
  init_perfSummary();
109555
109698
  init_captureHdrFrameShared();
109556
109699
  init_shared();
109700
+ DEFAULT_DE_PARALLEL_STALL_MS = 6e4;
109701
+ DE_PARALLEL_STALL_POLL_MS = 5e3;
109557
109702
  execFileP = promisify3(execFile3);
109558
109703
  }
109559
109704
  });
@@ -109632,7 +109777,8 @@ import {
109632
109777
  mkdirSync as mkdirSync19,
109633
109778
  mkdtempSync as mkdtempSync3,
109634
109779
  openSync as openSync3,
109635
- readFileSync as readFileSync25
109780
+ readFileSync as readFileSync25,
109781
+ statfsSync as statfsSync2
109636
109782
  } from "fs";
109637
109783
  import { join as join43 } from "path";
109638
109784
  function tempDirSafePrefix(id) {
@@ -109715,9 +109861,52 @@ async function probeHdrExtractionDims(args) {
109715
109861
  }
109716
109862
  }
109717
109863
  }
109864
+ function estimateHdrExtractionBytes(videos, fps) {
109865
+ let total = 0;
109866
+ for (const v2 of videos) {
109867
+ const frames = Math.ceil(Math.max(0, v2.durationSeconds) * fps);
109868
+ total += frames * v2.width * v2.height * 6;
109869
+ }
109870
+ return total;
109871
+ }
109872
+ function assertHdrExtractionDiskHeadroom(framesDir, plannedVideos, fps, log2) {
109873
+ const estimatedBytes = estimateHdrExtractionBytes(plannedVideos, fps);
109874
+ let freeBytes;
109875
+ try {
109876
+ const stat3 = statfsSync2(framesDir);
109877
+ freeBytes = stat3.bavail * stat3.bsize;
109878
+ } catch {
109879
+ return;
109880
+ }
109881
+ const estimatedGb = (estimatedBytes / 1e9).toFixed(1);
109882
+ if (estimatedBytes > freeBytes * HDR_EXTRACTION_HEADROOM_FRACTION) {
109883
+ throw new Error(
109884
+ `HDR pre-extraction needs ~${estimatedGb} GB of raw 16-bit frames but only ${(freeBytes / 1e9).toFixed(1)} GB is free at ${framesDir}. If the composition doesn't need HDR output, re-run with --sdr; otherwise free up disk space and retry.`
109885
+ );
109886
+ }
109887
+ if (estimatedBytes > HDR_EXTRACTION_WARN_BYTES) {
109888
+ log2.warn(
109889
+ `HDR pre-extraction will write ~${estimatedGb} GB of raw 16-bit frames (pass --sdr to skip if HDR output isn't needed)`,
109890
+ { estimatedBytes, freeBytes }
109891
+ );
109892
+ }
109893
+ }
109718
109894
  async function extractHdrVideoFrames(args) {
109719
109895
  const { job, log: log2, framesDir, composition, prep, width, height, abortSignal, hdrDiagnostics } = args;
109720
109896
  const out = /* @__PURE__ */ new Map();
109897
+ mkdirSync19(framesDir, { recursive: true });
109898
+ const plannedVideos = [];
109899
+ for (const [videoId] of prep.hdrVideoSrcPaths) {
109900
+ const video = composition.videos.find((v2) => v2.id === videoId);
109901
+ if (!video) continue;
109902
+ const dims = prep.hdrExtractionDims.get(videoId) ?? { width, height };
109903
+ plannedVideos.push({
109904
+ durationSeconds: video.end - video.start,
109905
+ width: dims.width,
109906
+ height: dims.height
109907
+ });
109908
+ }
109909
+ assertHdrExtractionDiskHeadroom(framesDir, plannedVideos, fpsToNumber(job.config.fps), log2);
109721
109910
  for (const [videoId, srcPath] of prep.hdrVideoSrcPaths) {
109722
109911
  const video = composition.videos.find((v2) => v2.id === videoId);
109723
109912
  if (!video) continue;
@@ -109825,13 +110014,15 @@ function decodeHdrImageBuffers(args) {
109825
110014
  }
109826
110015
  return out;
109827
110016
  }
109828
- var NO_FOLLOW_FLAG;
110017
+ var NO_FOLLOW_FLAG, HDR_EXTRACTION_HEADROOM_FRACTION, HDR_EXTRACTION_WARN_BYTES;
109829
110018
  var init_captureHdrResources = __esm({
109830
110019
  "../producer/src/services/render/stages/captureHdrResources.ts"() {
109831
110020
  "use strict";
109832
110021
  init_src();
109833
110022
  init_dist3();
109834
110023
  NO_FOLLOW_FLAG = constants3.O_NOFOLLOW ?? 0;
110024
+ HDR_EXTRACTION_HEADROOM_FRACTION = 0.9;
110025
+ HDR_EXTRACTION_WARN_BYTES = 1e10;
109835
110026
  }
109836
110027
  });
109837
110028
 
@@ -110940,6 +111131,8 @@ async function runEncodeStage(input2) {
110940
111131
  return { encodeMs: Date.now() - stage5Start };
110941
111132
  }
110942
111133
  updateJobStatus(job, "encoding", "Encoding video", 75, onProgress);
111134
+ const scaledEncodeTimeout = Math.ceil((job.duration ?? 0) * 4e3);
111135
+ const videoEngineCfg = scaledEncodeTimeout > engineCfg.ffmpegEncodeTimeout ? { ...engineCfg, ffmpegEncodeTimeout: scaledEncodeTimeout } : engineCfg;
110943
111136
  const frameExt = needsAlpha ? "png" : "jpg";
110944
111137
  const framePattern = `frame_%06d.${frameExt}`;
110945
111138
  const encoderOpts = {
@@ -110967,14 +111160,14 @@ async function runEncodeStage(input2) {
110967
111160
  encoderOpts,
110968
111161
  chunkedEncodeSize,
110969
111162
  abortSignal,
110970
- engineCfg
111163
+ videoEngineCfg
110971
111164
  ) : await encodeFramesFromDir(
110972
111165
  framesDir,
110973
111166
  framePattern,
110974
111167
  videoOnlyPath,
110975
111168
  encoderOpts,
110976
111169
  abortSignal,
110977
- engineCfg
111170
+ videoEngineCfg
110978
111171
  );
110979
111172
  assertNotAborted();
110980
111173
  if (!encodeResult.success) {
@@ -111056,7 +111249,8 @@ import {
111056
111249
  appendFileSync
111057
111250
  } from "fs";
111058
111251
  import { join as join50, dirname as dirname19, resolve as resolve26 } from "path";
111059
- import { randomUUID as randomUUID4 } from "crypto";
111252
+ import { totalmem as totalmem2 } from "os";
111253
+ import { randomUUID as randomUUID5 } from "crypto";
111060
111254
  import { fileURLToPath as fileURLToPath5 } from "url";
111061
111255
  function sampleDirectoryBytes(dir) {
111062
111256
  let total = 0;
@@ -111369,7 +111563,7 @@ async function executeDiskCaptureWithAdaptiveRetry(options) {
111369
111563
  }
111370
111564
  function createRenderJob(config) {
111371
111565
  return {
111372
- id: randomUUID4(),
111566
+ id: randomUUID5(),
111373
111567
  config: { ...config, fps: toFps(config.fps) },
111374
111568
  status: "queued",
111375
111569
  progress: 0,
@@ -111380,11 +111574,24 @@ function createRenderJob(config) {
111380
111574
  function normalizeCompositionSrcPath(srcPath) {
111381
111575
  return srcPath.replace(/\\/g, "/").replace(/^\.\//, "");
111382
111576
  }
111383
- function createStandaloneEntryRenderClone(root, host) {
111577
+ function readSceneRootDuration(entryHtml) {
111578
+ if (!entryHtml) return null;
111579
+ const { document: document2 } = parseHTML(entryHtml);
111580
+ const template = document2.querySelector("template");
111581
+ const scope = template ? parseHTML(template.innerHTML).document : document2;
111582
+ const root = scope.querySelector("[data-composition-id]");
111583
+ return root?.getAttribute("data-duration") ?? null;
111584
+ }
111585
+ function createStandaloneEntryRenderClone(root, host, sceneDuration) {
111384
111586
  const hostClone = host.cloneNode(true);
111385
111587
  hostClone.setAttribute("data-start", "0");
111386
111588
  if (root === host) return hostClone;
111387
111589
  const rootClone = root.cloneNode(false);
111590
+ if (sceneDuration != null) {
111591
+ rootClone.setAttribute("data-duration", sceneDuration);
111592
+ } else {
111593
+ rootClone.removeAttribute("data-duration");
111594
+ }
111388
111595
  rootClone.appendChild(hostClone);
111389
111596
  return rootClone;
111390
111597
  }
@@ -111421,7 +111628,13 @@ function resolveInversionRetryPlan(args) {
111421
111628
  };
111422
111629
  }
111423
111630
  function shouldPreferParallelDrawElement(args) {
111424
- return args.routerEnabled && args.workerCount > 1 && typeof args.requestedWorkers !== "number" && args.useDrawElement && !args.deCompileGate && !args.forceScreenshot && args.outputFormat === "mp4" && args.minFrames > 0 && args.totalFrames >= args.minFrames && !args.layeredOrEffectRoute && !args.supersampling && !args.probeDeGated && !args.experimentalParallelDeOptIn;
111631
+ return args.routerEnabled && args.workerCount > 1 && typeof args.requestedWorkers !== "number" && args.useDrawElement && !args.deCompileGate && !args.forceScreenshot && args.outputFormat === "mp4" && args.minFrames > 0 && args.totalFrames >= args.minFrames && !args.layeredOrEffectRoute && !args.supersampling && !args.probeDeGated && !args.experimentalParallelDeOptIn && // RAM floor: routed parallel DE runs 3 concurrent hardware-GPU Chrome
111632
+ // instances. On a 16 GB machine that produced vertical black slabs in the
111633
+ // final MP4 (wild report, CLI 0.7.52) — compositor tiles evicted under
111634
+ // GPU/memory pressure, and sampled self-verify can miss partial-frame
111635
+ // damage. Single-worker DE (the inversion) stays available below the
111636
+ // floor; only the parallel bet is withheld.
111637
+ (args.minMemoryMb <= 0 || args.totalMemoryMb >= args.minMemoryMb);
111425
111638
  }
111426
111639
  function resolveParallelRouterRetryPlan(args) {
111427
111640
  if (args.deParallelRouter !== "routed") return null;
@@ -111442,13 +111655,16 @@ function shouldRetryViaPinnedFallback(args) {
111442
111655
  if (args.isVerifyError) return true;
111443
111656
  return args.deWorkerInversion === "inverted" || args.deParallelRouter === "routed";
111444
111657
  }
111658
+ function shouldStreamParallelCapture(args) {
111659
+ return args.routerEnabled && args.workerCount > 1 && !args.useDrawElement && args.outputFormat === "mp4" && args.streamingOk && !args.layeredOrEffectRoute;
111660
+ }
111445
111661
  function resolveCaptureForceScreenshotForPageSideCompositing(args) {
111446
111662
  return args.usePageSideCompositing ? true : args.forceScreenshot;
111447
111663
  }
111448
111664
  function shouldDiscardProbeSessionForPageSideCompositing(args) {
111449
111665
  return args.hasProbeSession && args.usePageSideCompositing;
111450
111666
  }
111451
- function extractStandaloneEntryFromIndex(indexHtml, entryFile) {
111667
+ function extractStandaloneEntryFromIndex(indexHtml, entryFile, entryHtml) {
111452
111668
  const normalizedEntryFile = normalizeCompositionSrcPath(entryFile);
111453
111669
  const { document: document2 } = parseHTML(indexHtml);
111454
111670
  const body = document2.querySelector("body");
@@ -111462,7 +111678,8 @@ function extractStandaloneEntryFromIndex(indexHtml, entryFile) {
111462
111678
  (candidate) => candidate.hasAttribute("data-composition-id")
111463
111679
  ) ?? null;
111464
111680
  if (!root) return null;
111465
- const renderClone = createStandaloneEntryRenderClone(root, host);
111681
+ const sceneDuration = readSceneRootDuration(entryHtml) ?? host.getAttribute("data-duration");
111682
+ const renderClone = createStandaloneEntryRenderClone(root, host, sceneDuration);
111466
111683
  replaceBodyWithRenderClone(body, renderClone);
111467
111684
  return document2.toString();
111468
111685
  }
@@ -111582,7 +111799,8 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
111582
111799
  }
111583
111800
  const standaloneHtml = extractStandaloneEntryFromIndex(
111584
111801
  readFileSync26(projectIndexPath, "utf-8"),
111585
- entryFile
111802
+ entryFile,
111803
+ rawEntry
111586
111804
  );
111587
111805
  if (!standaloneHtml) {
111588
111806
  throw new Error(
@@ -111627,6 +111845,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
111627
111845
  let deClampReason;
111628
111846
  let deWorkerInversion;
111629
111847
  let deParallelStreamForced = false;
111848
+ let captureParallelStreamForced = false;
111630
111849
  let deSelfVerifyFallback = false;
111631
111850
  let deFallbackReason;
111632
111851
  let deDrainStats;
@@ -111822,10 +112041,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
111822
112041
  browserTimeout: cfg.browserTimeout
111823
112042
  });
111824
112043
  updateCaptureObservability({ browserGpuMode: resolvedBrowserGpuMode });
111825
- const videoCaptureBeyondViewport = resolveVideoCaptureBeyondViewport(
111826
- composition.videos.length,
111827
- resolvedBrowserGpuMode
111828
- );
112044
+ const videoCaptureBeyondViewport = resolveVideoCaptureBeyondViewport(composition.videos.length);
111829
112045
  const captureOptions = {
111830
112046
  width,
111831
112047
  height,
@@ -111882,6 +112098,9 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
111882
112098
  const deParallelMinFramesRaw = process.env.HF_DE_PARALLEL_MIN_FRAMES;
111883
112099
  const deParallelMinFramesNum = deParallelMinFramesRaw === void 0 || deParallelMinFramesRaw.trim() === "" ? 2e3 : Number(deParallelMinFramesRaw);
111884
112100
  const deParallelMinFrames = Number.isFinite(deParallelMinFramesNum) ? deParallelMinFramesNum : 2e3;
112101
+ const deParallelMinMemRaw = process.env.HF_DE_PARALLEL_MIN_MEM_MB;
112102
+ const deParallelMinMemNum = deParallelMinMemRaw === void 0 || deParallelMinMemRaw.trim() === "" ? 24576 : Number(deParallelMinMemRaw);
112103
+ const deParallelMinMemoryMb = Number.isFinite(deParallelMinMemNum) ? deParallelMinMemNum : 24576;
111885
112104
  const deParallelRouterEligible = shouldPreferParallelDrawElement({
111886
112105
  workerCount: WOULD_RESOLVE_MULTI_WORKER,
111887
112106
  requestedWorkers: job.config.workers,
@@ -111895,7 +112114,9 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
111895
112114
  supersampling: deviceScaleFactor > 1,
111896
112115
  probeDeGated: probeSession !== null && probeSession.captureMode !== "drawelement" && !probeSession.deInitDeferred,
111897
112116
  experimentalParallelDeOptIn: process.env.PRODUCER_EXPERIMENTAL_FAST_CAPTURE === "true" || process.env.HF_DE_PARALLEL_STREAM === "true",
111898
- routerEnabled: deParallelRouterEnabled
112117
+ routerEnabled: deParallelRouterEnabled,
112118
+ totalMemoryMb: Math.round(totalmem2() / (1024 * 1024)),
112119
+ minMemoryMb: deParallelMinMemoryMb
111899
112120
  });
111900
112121
  let workerCount;
111901
112122
  const captureStageObservationData = (extra = {}) => ({
@@ -112005,6 +112226,32 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
112005
112226
  deWorkerInversion: deWorkerInversion ?? "none",
112006
112227
  deParallelRouter: deParallelRouter ?? "none"
112007
112228
  });
112229
+ const captureParallelStreamRouterEnabled = process.env.HF_CAPTURE_PARALLEL_STREAM === "true";
112230
+ const captureParallelStreamArgs = {
112231
+ workerCount,
112232
+ useDrawElement: cfg.useDrawElement,
112233
+ outputFormat,
112234
+ streamingOk: shouldUseStreamingEncode(cfg, outputFormat, 1, job.duration),
112235
+ layeredOrEffectRoute: hasHdrContent || compiled.hasShaderTransitions
112236
+ };
112237
+ const captureParallelStreamEligible = shouldStreamParallelCapture({
112238
+ routerEnabled: captureParallelStreamRouterEnabled,
112239
+ ...captureParallelStreamArgs
112240
+ });
112241
+ if (captureParallelStreamEligible) {
112242
+ captureParallelStreamForced = true;
112243
+ const captureParallelStream = process.platform === "linux" && !captureForceScreenshot ? "beginframe" : "screenshot";
112244
+ log2.info(
112245
+ `[Render] Parallel ${captureParallelStream} capture will stream to the encoder (interleaved, ${workerCount} workers) instead of the disk path. Set HF_CAPTURE_PARALLEL_STREAM=false to disable.`
112246
+ );
112247
+ updateCaptureObservability({ captureParallelStream });
112248
+ observability.checkpoint(
112249
+ "worker_resolution",
112250
+ `parallel ${captureParallelStream} capture routed to streaming`
112251
+ );
112252
+ } else if (shouldStreamParallelCapture({ routerEnabled: true, ...captureParallelStreamArgs })) {
112253
+ updateCaptureObservability({ captureParallelStream: "eligible_off" });
112254
+ }
112008
112255
  if (workerCount > 1 && probeSession) {
112009
112256
  lastBrowserConsole = probeSession.browserConsoleBuffer;
112010
112257
  await closeCaptureSession(probeSession);
@@ -112015,7 +112262,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
112015
112262
  outputFormat,
112016
112263
  workerCount,
112017
112264
  job.duration,
112018
- deParallelStreamForced
112265
+ deParallelStreamForced || captureParallelStreamForced
112019
112266
  );
112020
112267
  log2.info("streaming-encode gate", {
112021
112268
  enabled: useStreamingEncode,
@@ -112172,7 +112419,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
112172
112419
  workerCount,
112173
112420
  probeSession,
112174
112421
  outputFormat,
112175
- forceParallelStream: deParallelStreamForced,
112422
+ forceParallelStream: deParallelStreamForced || captureParallelStreamForced,
112176
112423
  streamingEncoderOptions: {
112177
112424
  fps: job.config.fps,
112178
112425
  width,
@@ -114442,8 +114689,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
114442
114689
  )
114443
114690
  ) : null;
114444
114691
  const videoCaptureBeyondViewport = resolveVideoCaptureBeyondViewport(
114445
- planVideos?.videos.length ?? 0,
114446
- "software"
114692
+ planVideos?.videos.length ?? 0
114447
114693
  );
114448
114694
  const workDir = `${outputChunkPath}.work.${process.pid}.${randomBytes2(4).toString("hex")}`;
114449
114695
  mkdirSync27(workDir, { recursive: true });
@@ -114665,7 +114911,7 @@ var init_renderChunk = __esm({
114665
114911
  });
114666
114912
 
114667
114913
  // ../producer/src/services/render/audioPadTrim.ts
114668
- import { spawn as spawn11 } from "child_process";
114914
+ import { spawn as spawn12 } from "child_process";
114669
114915
  import { rmSync as rmSync16 } from "fs";
114670
114916
  import { pathToFileURL as pathToFileURL2 } from "url";
114671
114917
  function buildPadTrimAudioPlan(audioPath, outputPath, sourceDurationSeconds, targetDurationSeconds, audioInfo = {}) {
@@ -114901,7 +115147,7 @@ async function defaultRunFfmpeg(args, options) {
114901
115147
  }
114902
115148
  async function runFfmpegWithStdin(args, stdin) {
114903
115149
  return new Promise((resolve64) => {
114904
- const proc = spawn11(getFfmpegBinary(), args);
115150
+ const proc = spawn12(getFfmpegBinary(), args);
114905
115151
  let stderr = "";
114906
115152
  proc.stderr.on("data", (data2) => {
114907
115153
  stderr += data2.toString();
@@ -114927,7 +115173,7 @@ async function runFfmpegWithStdin(args, stdin) {
114927
115173
  }
114928
115174
  function runFfprobeJson(args) {
114929
115175
  return new Promise((resolve64, reject) => {
114930
- const proc = spawn11(getFfprobeBinary(), args);
115176
+ const proc = spawn12(getFfprobeBinary(), args);
114931
115177
  let stdout2 = "";
114932
115178
  let stderr = "";
114933
115179
  proc.stdout.on("data", (data2) => {
@@ -115270,6 +115516,7 @@ __export(src_exports2, {
115270
115516
  getCapturePerfSummary: () => getCapturePerfSummary,
115271
115517
  getCompositionDuration: () => getCompositionDuration,
115272
115518
  initializeSession: () => initializeSession,
115519
+ injectDeterministicFontFaces: () => injectDeterministicFontFaces,
115273
115520
  localizeRemoteFontFaces: () => localizeRemoteFontFaces,
115274
115521
  localizeRemoteImageSources: () => localizeRemoteImageSources,
115275
115522
  localizeRemoteMediaSources: () => localizeRemoteMediaSources,
@@ -115296,6 +115543,7 @@ var init_src2 = __esm({
115296
115543
  init_logger();
115297
115544
  init_server();
115298
115545
  init_errorMessage2();
115546
+ init_deterministicFonts();
115299
115547
  init_parityContract2();
115300
115548
  init_paths();
115301
115549
  init_hyperframeLint();
@@ -115983,7 +116231,7 @@ __export(pipeline_exports, {
115983
116231
  resolveRenderTargets: () => resolveRenderTargets,
115984
116232
  waitForExit: () => waitForExit
115985
116233
  });
115986
- import { spawn as spawn12 } from "child_process";
116234
+ import { spawn as spawn13 } from "child_process";
115987
116235
  import { extname as extname11 } from "path";
115988
116236
  function inferOutputFormat(outputPath) {
115989
116237
  const ext = extname11(outputPath).toLowerCase();
@@ -116170,7 +116418,7 @@ async function render2(options) {
116170
116418
  }
116171
116419
  }
116172
116420
  function spawnFfmpeg(ffmpegPath, args, label2, stdio) {
116173
- const proc = spawn12(ffmpegPath, args, { stdio });
116421
+ const proc = spawn13(ffmpegPath, args, { stdio });
116174
116422
  let stderrBuf = "";
116175
116423
  proc.stderr?.on("data", (d2) => {
116176
116424
  stderrBuf += d2.toString();
@@ -116914,7 +117162,7 @@ __export(preview_exports, {
116914
117162
  default: () => preview_default,
116915
117163
  examples: () => examples2
116916
117164
  });
116917
- import { spawn as spawn13 } from "child_process";
117165
+ import { spawn as spawn14 } from "child_process";
116918
117166
  import { existsSync as existsSync56, lstatSync as lstatSync4, symlinkSync as symlinkSync3, unlinkSync as unlinkSync5, readlinkSync, mkdirSync as mkdirSync31 } from "fs";
116919
117167
  import { resolve as resolve31, dirname as dirname25, basename as basename9, join as join65 } from "path";
116920
117168
  import { fileURLToPath as fileURLToPath8 } from "url";
@@ -117206,7 +117454,8 @@ function openStudioBrowser(url, projectName, options) {
117206
117454
  openBrowser(`${url}#project/${projectName}`, {
117207
117455
  browserPath: options?.browserPath,
117208
117456
  userDataDir: options?.userDataDir,
117209
- remoteDebuggingPort: options?.remoteDebuggingPort
117457
+ remoteDebuggingPort: options?.remoteDebuggingPort,
117458
+ disableGpu: options?.browserNoGpu
117210
117459
  });
117211
117460
  }
117212
117461
  function printStudioSummary(projectName, url, opts = {}) {
@@ -117292,7 +117541,7 @@ async function runDevMode(dir, options) {
117292
117541
  const s2 = ft();
117293
117542
  s2.start("Starting studio...");
117294
117543
  const studioPkgDir = join65(repoRoot2, "packages", "studio");
117295
- const child = spawn13("bun", ["run", "dev"], {
117544
+ const child = spawn14("bun", ["run", "dev"], {
117296
117545
  cwd: studioPkgDir,
117297
117546
  stdio: ["ignore", "pipe", "pipe"]
117298
117547
  });
@@ -117320,7 +117569,7 @@ async function runLocalStudioMode(dir, options) {
117320
117569
  const s2 = ft();
117321
117570
  s2.start("Starting studio...");
117322
117571
  const viteCommand = buildNpxCommand(["vite"]);
117323
- const child = spawn13(viteCommand.command, viteCommand.args, {
117572
+ const child = spawn14(viteCommand.command, viteCommand.args, {
117324
117573
  cwd: studioPkgPath,
117325
117574
  stdio: ["ignore", "pipe", "pipe"]
117326
117575
  });
@@ -117528,6 +117777,11 @@ var init_preview = __esm({
117528
117777
  "remote-debugging-port": {
117529
117778
  type: "string",
117530
117779
  description: "Chromium remote debugging port (requires --browser-path and --user-data-dir)"
117780
+ },
117781
+ "browser-no-gpu": {
117782
+ type: "boolean",
117783
+ default: false,
117784
+ description: "Launch the opened browser with --disable-gpu (requires --browser-path). For hosts where hardware acceleration crashes the graphics driver (e.g. NVIDIA Xid resets); with the system default browser use --no-open instead."
117531
117785
  }
117532
117786
  },
117533
117787
  async run({ args }) {
@@ -117617,6 +117871,14 @@ var init_preview = __esm({
117617
117871
  }
117618
117872
  const noOpen = !args.open;
117619
117873
  const browserPath = args["browser-path"];
117874
+ const browserNoGpu = !!args["browser-no-gpu"];
117875
+ if (browserNoGpu && !browserPath) {
117876
+ R2.error(
117877
+ "--browser-no-gpu requires --browser-path (the system default browser cannot receive Chromium flags \u2014 use --no-open on GPU-unstable hosts)"
117878
+ );
117879
+ process.exitCode = 1;
117880
+ return;
117881
+ }
117620
117882
  const userDataDir = args["user-data-dir"];
117621
117883
  let remoteDebuggingPort;
117622
117884
  try {
@@ -117634,7 +117896,8 @@ var init_preview = __esm({
117634
117896
  noOpen,
117635
117897
  browserPath,
117636
117898
  userDataDir,
117637
- remoteDebuggingPort
117899
+ remoteDebuggingPort,
117900
+ browserNoGpu
117638
117901
  });
117639
117902
  }
117640
117903
  if (hasLocalStudio(dir)) {
@@ -117643,7 +117906,8 @@ var init_preview = __esm({
117643
117906
  noOpen,
117644
117907
  browserPath,
117645
117908
  userDataDir,
117646
- remoteDebuggingPort
117909
+ remoteDebuggingPort,
117910
+ browserNoGpu
117647
117911
  });
117648
117912
  }
117649
117913
  const forceNew = !!args["force-new"];
@@ -117653,7 +117917,8 @@ var init_preview = __esm({
117653
117917
  noOpen,
117654
117918
  browserPath,
117655
117919
  userDataDir,
117656
- remoteDebuggingPort
117920
+ remoteDebuggingPort,
117921
+ browserNoGpu
117657
117922
  });
117658
117923
  }
117659
117924
  });
@@ -117679,7 +117944,7 @@ import {
117679
117944
  } from "fs";
117680
117945
  import { resolve as resolve33, basename as basename10, join as join66, dirname as dirname26 } from "path";
117681
117946
  import { fileURLToPath as fileURLToPath9 } from "url";
117682
- import { execFileSync as execFileSync7, spawn as spawn14 } from "child_process";
117947
+ import { execFileSync as execFileSync7, spawn as spawn15 } from "child_process";
117683
117948
  function probeVideo(filePath) {
117684
117949
  try {
117685
117950
  const ffprobePath = findFFprobe();
@@ -117728,7 +117993,7 @@ function transcodeToMp4(inputPath, outputPath) {
117728
117993
  resolvePromise(false);
117729
117994
  return;
117730
117995
  }
117731
- const child = spawn14(
117996
+ const child = spawn15(
117732
117997
  ffmpegPath,
117733
117998
  [
117734
117999
  "-i",
@@ -121181,7 +121446,7 @@ __export(render_exports, {
121181
121446
  import { mkdirSync as mkdirSync35, readdirSync as readdirSync24, readFileSync as readFileSync44, statSync as statSync20, writeFileSync as writeFileSync25, rmSync as rmSync19 } from "fs";
121182
121447
  import { cpus as cpus4, freemem as freemem5, tmpdir as tmpdir7 } from "os";
121183
121448
  import { resolve as resolve44, dirname as dirname30, join as join71, basename as basename12 } from "path";
121184
- import { execFileSync as execFileSync10, spawn as spawn15 } from "child_process";
121449
+ import { execFileSync as execFileSync10, spawn as spawn16 } from "child_process";
121185
121450
  function formatFpsParseError(input2, reason) {
121186
121451
  switch (reason) {
121187
121452
  case "empty":
@@ -121381,7 +121646,7 @@ async function renderDocker(projectDir, outputPath, options) {
121381
121646
  }
121382
121647
  try {
121383
121648
  await new Promise((resolvePromise, reject) => {
121384
- const child = spawn15("docker", dockerArgs, {
121649
+ const child = spawn16("docker", dockerArgs, {
121385
121650
  // When quiet, still show stderr so container errors surface
121386
121651
  stdio: options.quiet ? ["pipe", "pipe", "inherit"] : "inherit"
121387
121652
  });
@@ -121735,6 +122000,8 @@ function trackRenderMetrics(job, elapsedMs, options, docker) {
121735
122000
  staticDedupSkipReason: perf?.staticDedup?.skipReason,
121736
122001
  staticDedupPredictedFrames: perf?.staticDedup?.predictedFrames,
121737
122002
  staticDedupReusedFrames: perf?.staticDedup?.reusedFrames,
122003
+ beginFrameNoDamageFrames: perf?.beginFrameReuse?.noDamageFrames,
122004
+ beginFrameHasDamageFrames: perf?.beginFrameReuse?.hasDamageFrames,
121738
122005
  deCaptureMode: perf?.drawElement?.mode,
121739
122006
  deCompileGate: perf?.drawElement?.compileGate,
121740
122007
  deClampReason: perf?.drawElement?.clampReason,
@@ -123280,7 +123547,7 @@ var init_compositionViewport = __esm({
123280
123547
  });
123281
123548
 
123282
123549
  // src/capture/captureCompositionFrame.ts
123283
- import { spawn as spawn16 } from "child_process";
123550
+ import { spawn as spawn17 } from "child_process";
123284
123551
  function resolveCliChromeGpuMode(envMode = process.env.PRODUCER_BROWSER_GPU_MODE) {
123285
123552
  return envMode === "software" ? "software" : "hardware";
123286
123553
  }
@@ -123419,8 +123686,9 @@ async function seekCompositionTimeline(page, timeSeconds, options = {}) {
123419
123686
  )
123420
123687
  );
123421
123688
  }
123422
- if (options.waitForFontsMs !== void 0) {
123423
- await waitForCompositionFonts(page, options.waitForFontsMs);
123689
+ const waitForFontsMs = options.waitForFontsMs ?? DEFAULT_POST_SEEK_FONT_WAIT_MS;
123690
+ if (waitForFontsMs > 0) {
123691
+ await waitForCompositionFonts(page, waitForFontsMs);
123424
123692
  }
123425
123693
  if (options.settleMs !== void 0) {
123426
123694
  const settleMs = Math.max(0, options.settleMs);
@@ -123447,12 +123715,23 @@ async function waitForCompositionFonts(page, timeoutMs) {
123447
123715
  await page.evaluate((ms) => {
123448
123716
  const fonts = Reflect.get(document, "fonts");
123449
123717
  if (typeof fonts !== "object" || fonts === null) return Promise.resolve();
123450
- const ready = Reflect.get(fonts, "ready");
123451
- if (!ready) return Promise.resolve();
123452
- return Promise.race([
123453
- Promise.resolve(ready).then(() => void 0),
123454
- new Promise((resolve64) => setTimeout(resolve64, ms))
123455
- ]);
123718
+ void document.body?.offsetHeight;
123719
+ return new Promise((resolveWait) => {
123720
+ const deadline = setTimeout(resolveWait, ms);
123721
+ requestAnimationFrame(() => {
123722
+ const status = Reflect.get(fonts, "status");
123723
+ const ready = Reflect.get(fonts, "ready");
123724
+ if (status !== "loading" || !ready) {
123725
+ clearTimeout(deadline);
123726
+ resolveWait();
123727
+ return;
123728
+ }
123729
+ Promise.resolve(ready).then(() => {
123730
+ clearTimeout(deadline);
123731
+ resolveWait();
123732
+ });
123733
+ });
123734
+ });
123456
123735
  }, timeoutMs).catch(() => {
123457
123736
  });
123458
123737
  }
@@ -123507,7 +123786,7 @@ async function captureRegionCrop(page, region, scale) {
123507
123786
  }
123508
123787
  async function runFfmpegOnce(ffmpegPath, args, timeoutMs) {
123509
123788
  return await new Promise((resolvePromise) => {
123510
- const ff = spawn16(ffmpegPath, args);
123789
+ const ff = spawn17(ffmpegPath, args);
123511
123790
  let stderr = "";
123512
123791
  let timedOut = false;
123513
123792
  const timer = setTimeout(() => {
@@ -123527,7 +123806,7 @@ async function runFfmpegOnce(ffmpegPath, args, timeoutMs) {
123527
123806
  });
123528
123807
  });
123529
123808
  }
123530
- var SHADER_TRANSITIONS_TIMEOUT_MS, CAPTURE_SETTLE_MS, PREFERRED_SEEK_TARGET_WAIT_MS, AUDIT_SEEK_OPTIONS, ZOOM_REGION_PATTERN, DEFAULT_ZOOM_PADDING_PX, DEFAULT_ZOOM_SCALE, MIN_CROP_REGION_PX;
123809
+ var SHADER_TRANSITIONS_TIMEOUT_MS, CAPTURE_SETTLE_MS, PREFERRED_SEEK_TARGET_WAIT_MS, DEFAULT_POST_SEEK_FONT_WAIT_MS, AUDIT_SEEK_OPTIONS, ZOOM_REGION_PATTERN, DEFAULT_ZOOM_PADDING_PX, DEFAULT_ZOOM_SCALE, MIN_CROP_REGION_PX;
123531
123810
  var init_captureCompositionFrame = __esm({
123532
123811
  "src/capture/captureCompositionFrame.ts"() {
123533
123812
  "use strict";
@@ -123536,6 +123815,7 @@ var init_captureCompositionFrame = __esm({
123536
123815
  SHADER_TRANSITIONS_TIMEOUT_MS = 9e4;
123537
123816
  CAPTURE_SETTLE_MS = 1500;
123538
123817
  PREFERRED_SEEK_TARGET_WAIT_MS = 500;
123818
+ DEFAULT_POST_SEEK_FONT_WAIT_MS = 500;
123539
123819
  AUDIT_SEEK_OPTIONS = {
123540
123820
  fallbackToBridgeAndTimelines: true,
123541
123821
  animationFrameSettle: "double",
@@ -124512,6 +124792,57 @@ Examples:
124512
124792
  }
124513
124793
  });
124514
124794
 
124795
+ // src/utils/bundleWithLocalizedFonts.ts
124796
+ var bundleWithLocalizedFonts_exports = {};
124797
+ __export(bundleWithLocalizedFonts_exports, {
124798
+ __resetFontLocalizationWarningsForTests: () => __resetFontLocalizationWarningsForTests,
124799
+ bundleWithLocalizedFonts: () => bundleWithLocalizedFonts,
124800
+ localizeWithProducer: () => localizeWithProducer
124801
+ });
124802
+ async function bundleWithLocalizedFonts(projectDir, localizeFonts = localizeWithProducer) {
124803
+ const { bundleToSingleHtml: bundleToSingleHtml2 } = await Promise.resolve().then(() => (init_compiler(), compiler_exports));
124804
+ const html = await bundleToSingleHtml2(projectDir);
124805
+ return localizeFonts(html);
124806
+ }
124807
+ async function loadFontInjector() {
124808
+ try {
124809
+ const producerSpecifier = "@hyperframes/producer";
124810
+ const mod = await import(
124811
+ /* @vite-ignore */
124812
+ producerSpecifier
124813
+ );
124814
+ return mod.injectDeterministicFontFaces ?? null;
124815
+ } catch {
124816
+ return null;
124817
+ }
124818
+ }
124819
+ function __resetFontLocalizationWarningsForTests() {
124820
+ warnedFontLocalizationFailures.clear();
124821
+ }
124822
+ async function localizeWithProducer(html, loadInjector = loadFontInjector, warn = (m2) => console.warn(` ${c.warn("\u26A0")} ${m2}`)) {
124823
+ const inject = await loadInjector();
124824
+ if (!inject) return html;
124825
+ try {
124826
+ return await inject(html);
124827
+ } catch (err) {
124828
+ const message = `Font localization failed; capturing with remote/fallback fonts instead: ${normalizeErrorMessage(err)}`;
124829
+ if (!warnedFontLocalizationFailures.has(message)) {
124830
+ warnedFontLocalizationFailures.add(message);
124831
+ warn(message);
124832
+ }
124833
+ return html;
124834
+ }
124835
+ }
124836
+ var warnedFontLocalizationFailures;
124837
+ var init_bundleWithLocalizedFonts = __esm({
124838
+ "src/utils/bundleWithLocalizedFonts.ts"() {
124839
+ "use strict";
124840
+ init_errorMessage();
124841
+ init_colors();
124842
+ warnedFontLocalizationFailures = /* @__PURE__ */ new Set();
124843
+ }
124844
+ });
124845
+
124515
124846
  // src/utils/checkBrowser.ts
124516
124847
  var checkBrowser_exports = {};
124517
124848
  __export(checkBrowser_exports, {
@@ -124522,8 +124853,8 @@ __export(checkBrowser_exports, {
124522
124853
  import { mkdirSync as mkdirSync36, writeFileSync as writeFileSync26 } from "fs";
124523
124854
  import { join as join76 } from "path";
124524
124855
  async function runBrowserCheck(project, options, motion, runGrid) {
124525
- const { bundleToSingleHtml: bundleToSingleHtml2 } = await Promise.resolve().then(() => (init_compiler(), compiler_exports));
124526
- const html = await bundleToSingleHtml2(project.dir);
124856
+ const { bundleWithLocalizedFonts: bundleWithLocalizedFonts2 } = await Promise.resolve().then(() => (init_bundleWithLocalizedFonts(), bundleWithLocalizedFonts_exports));
124857
+ const html = await bundleWithLocalizedFonts2(project.dir);
124527
124858
  const server = await serveStaticProjectHtml(project.dir, html, "Failed to bind check server");
124528
124859
  const drafts = [];
124529
124860
  let currentTime = 0;
@@ -124561,8 +124892,8 @@ async function runBrowserCheck(project, options, motion, runGrid) {
124561
124892
  }
124562
124893
  async function captureFindingCrops(project, options, requests) {
124563
124894
  if (requests.length === 0) return [];
124564
- const { bundleToSingleHtml: bundleToSingleHtml2 } = await Promise.resolve().then(() => (init_compiler(), compiler_exports));
124565
- const html = await bundleToSingleHtml2(project.dir);
124895
+ const { bundleWithLocalizedFonts: bundleWithLocalizedFonts2 } = await Promise.resolve().then(() => (init_bundleWithLocalizedFonts(), bundleWithLocalizedFonts_exports));
124896
+ const html = await bundleWithLocalizedFonts2(project.dir);
124566
124897
  const server = await serveStaticProjectHtml(project.dir, html, "Failed to bind check server");
124567
124898
  let chromeBrowser;
124568
124899
  const written = [];
@@ -125245,6 +125576,7 @@ var init_checkBrowser = __esm({
125245
125576
  "container_overflow",
125246
125577
  "content_overlap",
125247
125578
  "text_occluded",
125579
+ "text_not_painted",
125248
125580
  "caption_zone_collision",
125249
125581
  "frame_out_of_frame",
125250
125582
  "motion_appears_late",
@@ -140193,7 +140525,7 @@ var require_gaxios = __commonJS({
140193
140525
  var retry_js_1 = require_retry3();
140194
140526
  var stream_1 = __require("stream");
140195
140527
  var interceptor_js_1 = require_interceptor();
140196
- var randomUUID5 = async () => globalThis.crypto?.randomUUID() || (await import("crypto")).randomUUID();
140528
+ var randomUUID6 = async () => globalThis.crypto?.randomUUID() || (await import("crypto")).randomUUID();
140197
140529
  var HTTP_STATUS_NO_CONTENT = 204;
140198
140530
  var Gaxios = class {
140199
140531
  agentCache = /* @__PURE__ */ new Map();
@@ -140466,7 +140798,7 @@ var require_gaxios = __commonJS({
140466
140798
  */
140467
140799
  ["Blob", "File", "FormData"].includes(opts.data?.constructor?.name || "");
140468
140800
  if (opts.multipart?.length) {
140469
- const boundary = await randomUUID5();
140801
+ const boundary = await randomUUID6();
140470
140802
  preparedHeaders.set("content-type", `multipart/related; boundary=${boundary}`);
140471
140803
  opts.body = stream_1.Readable.from(this.getMultipartRequest(opts.multipart, boundary));
140472
140804
  } else if (shouldDirectlyPassData) {
@@ -172136,9 +172468,9 @@ function computeSnapshotTimes(duration, opts) {
172136
172468
  return { times: times.map(round5), appendedTail: false };
172137
172469
  }
172138
172470
  async function captureSnapshots(projectDir, opts) {
172139
- const { bundleToSingleHtml: bundleToSingleHtml2 } = await Promise.resolve().then(() => (init_compiler(), compiler_exports));
172471
+ const { bundleWithLocalizedFonts: bundleWithLocalizedFonts2 } = await Promise.resolve().then(() => (init_bundleWithLocalizedFonts(), bundleWithLocalizedFonts_exports));
172140
172472
  const numFrames = opts.frames ?? 5;
172141
- const html = await bundleToSingleHtml2(projectDir);
172473
+ const html = await bundleWithLocalizedFonts2(projectDir);
172142
172474
  const server = await serveStaticProjectHtml(projectDir, html);
172143
172475
  const savedPaths = [];
172144
172476
  try {
@@ -172213,6 +172545,9 @@ async function captureSnapshots(projectDir, opts) {
172213
172545
  syncVideoFrameVisibility2 = engine.syncVideoFrameVisibility;
172214
172546
  extractMediaMetadata2 = engine.extractMediaMetadata;
172215
172547
  } catch {
172548
+ console.warn(
172549
+ ` ${c.warn("\u26A0")} @hyperframes/engine unavailable \u2014 <video> elements will appear black in snapshots. Verify media via a draft render's extracted frames instead.`
172550
+ );
172216
172551
  }
172217
172552
  const alphaDecoderCache = /* @__PURE__ */ new Map();
172218
172553
  const shouldUseVp9AlphaDecoder = (filePath) => {
@@ -172285,6 +172620,12 @@ async function captureSnapshots(projectDir, opts) {
172285
172620
  dataUri: `data:image/png;base64,${png.toString("base64")}`
172286
172621
  });
172287
172622
  }
172623
+ if (active.length > 0 && updates.length < active.length) {
172624
+ const missed = active.length - updates.length;
172625
+ console.warn(
172626
+ ` ${c.warn("\u26A0")} ${missed}/${active.length} active <video> frame(s) could not be extracted at ${time.toFixed(1)}s \u2014 those videos will appear black/stale in this snapshot`
172627
+ );
172628
+ }
172288
172629
  try {
172289
172630
  if (updates.length > 0) {
172290
172631
  await injectVideoFramesBatch2(page, updates);
@@ -172294,6 +172635,9 @@ async function captureSnapshots(projectDir, opts) {
172294
172635
  active.map((a) => a.id)
172295
172636
  );
172296
172637
  } catch {
172638
+ console.warn(
172639
+ ` ${c.warn("\u26A0")} video frame injection failed at ${time.toFixed(1)}s \u2014 <video> elements will appear black/stale in this snapshot`
172640
+ );
172297
172641
  }
172298
172642
  }
172299
172643
  const timeLabel = `${time.toFixed(1)}s`;
@@ -177771,7 +178115,13 @@ function samDeploy(opts) {
177771
178115
  const samDir = join105(opts.repoRoot, "examples", "aws-lambda");
177772
178116
  const result = spawnSync5("sam", args, { cwd: samDir, stdio: opts.stdio ?? "inherit" });
177773
178117
  if (result.status !== 0) {
177774
- throw new Error(`[lambda] sam deploy exited with code ${result.status ?? "unknown"}`);
178118
+ throw new Error(
178119
+ `[lambda] sam deploy exited with code ${result.status ?? "unknown"}
178120
+ If a prior attempt left a stack in ROLLBACK_COMPLETE, CloudFormation can't reuse it. Delete it before retrying:
178121
+ aws cloudformation delete-stack --stack-name aws-sam-cli-managed-default --region ${opts.region}
178122
+ aws cloudformation delete-stack --stack-name ${opts.stackName} --region ${opts.region}
178123
+ (the first is SAM's managed artifacts stack from --resolve-s3; the second is the render stack).`
178124
+ );
177775
178125
  }
177776
178126
  }
177777
178127
  function samDelete(opts) {
@@ -178758,12 +179108,18 @@ var init_policies = __esm({
178758
179108
  "s3:GetBucketPolicy",
178759
179109
  "s3:GetBucketTagging",
178760
179110
  "s3:GetBucketVersioning",
179111
+ // SAM's `--resolve-s3` managed bucket (aws-sam-cli-managed-default) sets
179112
+ // default SSE encryption; CloudFormation reads it on update/drift. Without
179113
+ // Get/PutEncryptionConfiguration the first `lambda deploy` 403s creating
179114
+ // that bucket and the managed stack rolls back.
179115
+ "s3:GetEncryptionConfiguration",
178761
179116
  "s3:GetLifecycleConfiguration",
178762
179117
  "s3:ListAllMyBuckets",
178763
179118
  "s3:ListBucket",
178764
179119
  "s3:PutBucketPolicy",
178765
179120
  "s3:PutBucketTagging",
178766
179121
  "s3:PutBucketVersioning",
179122
+ "s3:PutEncryptionConfiguration",
178767
179123
  "s3:PutLifecycleConfiguration",
178768
179124
  "s3:PutPublicAccessBlock"
178769
179125
  ],
@@ -184860,7 +185216,7 @@ __export(autoUpdate_exports, {
184860
185216
  reportCompletedUpdate: () => reportCompletedUpdate,
184861
185217
  scheduleBackgroundInstall: () => scheduleBackgroundInstall
184862
185218
  });
184863
- import { spawn as spawn17 } from "child_process";
185219
+ import { spawn as spawn18 } from "child_process";
184864
185220
  import { appendFileSync as appendFileSync4, mkdirSync as mkdirSync59, openSync as openSync4 } from "fs";
184865
185221
  import { homedir as homedir18 } from "os";
184866
185222
  import { join as join119 } from "path";
@@ -184912,7 +185268,7 @@ function launchDetachedInstall(invocation, displayCommand, version2) {
184912
185268
  });
184913
185269
  `;
184914
185270
  const out = openSync4(LOG_FILE, "a", 384);
184915
- const child = spawn17(process.execPath, ["-e", nodeScript], {
185271
+ const child = spawn18(process.execPath, ["-e", nodeScript], {
184916
185272
  detached: true,
184917
185273
  stdio: ["ignore", out, out],
184918
185274
  windowsHide: true,